@maka/maka-cli 4.5.16 → 4.5.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/bundle/obf/package.json +1 -1
  2. package/bundle/obf/src/command.js +1 -1
  3. package/bundle/obf/src/commands/_index.js +1 -1
  4. package/bundle/obf/src/commands/aws/_index.js +1 -1
  5. package/bundle/obf/src/commands/aws/aws.command.js +1 -1
  6. package/bundle/obf/src/commands/aws/ci.sub.cmd.js +1 -1
  7. package/bundle/obf/src/commands/aws/ckp.sub.cmd.js +1 -1
  8. package/bundle/obf/src/commands/aws/csg.sub.cmd.js +1 -1
  9. package/bundle/obf/src/commands/aws/di.sub.cmd.js +1 -1
  10. package/bundle/obf/src/commands/aws/dkp.sub.cmd.js +1 -1
  11. package/bundle/obf/src/commands/aws/dsg.sub.cmd.js +1 -1
  12. package/bundle/obf/src/commands/aws/rbi.sub.cmd.js +1 -1
  13. package/bundle/obf/src/commands/aws/rkp.sub.cmd.js +1 -1
  14. package/bundle/obf/src/commands/aws/sth.sub.cmd.js +1 -1
  15. package/bundle/obf/src/commands/aws/ti.sub.cmd.js +1 -1
  16. package/bundle/obf/src/commands/build/_index.js +1 -1
  17. package/bundle/obf/src/commands/build/build.js +1 -1
  18. package/bundle/obf/src/commands/build/docker.sub.cmd.js +1 -1
  19. package/bundle/obf/src/commands/create.js +1 -1
  20. package/bundle/obf/src/commands/debug.js +1 -1
  21. package/bundle/obf/src/commands/deploy.js +1 -1
  22. package/bundle/obf/src/commands/game/_index.js +1 -1
  23. package/bundle/obf/src/commands/game/battleship.sub.cmd.js +1 -1
  24. package/bundle/obf/src/commands/game/play.command.js +1 -1
  25. package/bundle/obf/src/commands/game/pong.sub.cmd.js +1 -1
  26. package/bundle/obf/src/commands/game/sideQuest/commands.js +1 -1
  27. package/bundle/obf/src/commands/game/sideQuest/door.js +1 -1
  28. package/bundle/obf/src/commands/game/sideQuest/game.js +1 -1
  29. package/bundle/obf/src/commands/game/sideQuest/inventory.js +1 -0
  30. package/bundle/obf/src/commands/game/sideQuest/items.js +1 -1
  31. package/bundle/obf/src/commands/game/sideQuest/player.js +1 -1
  32. package/bundle/obf/src/commands/game/sideQuest/puzzles.js +1 -1
  33. package/bundle/obf/src/commands/game/sideQuest/room.js +1 -1
  34. package/bundle/obf/src/commands/game/sideQuest/rooms.js +1 -1
  35. package/bundle/obf/src/commands/game/sideQuest/types.js +1 -1
  36. package/bundle/obf/src/commands/game/sideQuest/ui.js +1 -1
  37. package/bundle/obf/src/commands/game/sideQuest/utilities/eventBus.js +1 -1
  38. package/bundle/obf/src/commands/game/sideQuest/utilities/logger.js +1 -1
  39. package/bundle/obf/src/commands/game/sideQuest.sub.cmd.js +1 -1
  40. package/bundle/obf/src/commands/game/snake.sub.cmd.js +1 -1
  41. package/bundle/obf/src/commands/game/tetris.sub.cmd.js +1 -1
  42. package/bundle/obf/src/commands/generate.js +1 -1
  43. package/bundle/obf/src/commands/get/_index.js +1 -1
  44. package/bundle/obf/src/commands/get/get.command.js +1 -1
  45. package/bundle/obf/src/commands/get/global.sub.cmd.js +1 -1
  46. package/bundle/obf/src/commands/get/local.sub.cmd.js +1 -1
  47. package/bundle/obf/src/commands/get/whoami.sub.cmd.js +1 -1
  48. package/bundle/obf/src/commands/help.js +1 -1
  49. package/bundle/obf/src/commands/jsdoc.js +1 -1
  50. package/bundle/obf/src/commands/lint.js +1 -1
  51. package/bundle/obf/src/commands/login.js +1 -1
  52. package/bundle/obf/src/commands/logout.js +1 -1
  53. package/bundle/obf/src/commands/logs.js +1 -1
  54. package/bundle/obf/src/commands/maka.cmd.js +1 -1
  55. package/bundle/obf/src/commands/murder.js +1 -1
  56. package/bundle/obf/src/commands/proxy.js +1 -1
  57. package/bundle/obf/src/commands/reconfig.js +1 -1
  58. package/bundle/obf/src/commands/run/_index.js +1 -1
  59. package/bundle/obf/src/commands/run/docker.sub.cmd.js +1 -1
  60. package/bundle/obf/src/commands/run/run.command.js +1 -1
  61. package/bundle/obf/src/commands/set/_index.js +1 -1
  62. package/bundle/obf/src/commands/set/global.sub.cmd.js +1 -1
  63. package/bundle/obf/src/commands/set/local.sub.cmd.js +1 -1
  64. package/bundle/obf/src/commands/set/set.command.js +1 -1
  65. package/bundle/obf/src/commands/ssh.js +1 -1
  66. package/bundle/obf/src/commands/ssl.js +1 -1
  67. package/bundle/obf/src/commands/test.js +1 -1
  68. package/bundle/obf/src/commands/version.js +1 -1
  69. package/bundle/obf/src/error.js +1 -1
  70. package/bundle/obf/src/generator.js +1 -1
  71. package/bundle/obf/src/generators/_index.js +1 -1
  72. package/bundle/obf/src/generators/api.js +1 -1
  73. package/bundle/obf/src/generators/collection.js +1 -1
  74. package/bundle/obf/src/generators/component.js +1 -1
  75. package/bundle/obf/src/generators/config.js +1 -1
  76. package/bundle/obf/src/generators/dbc.js +1 -1
  77. package/bundle/obf/src/generators/dockerfile.js +1 -1
  78. package/bundle/obf/src/generators/hook.js +1 -1
  79. package/bundle/obf/src/generators/kit.js +1 -1
  80. package/bundle/obf/src/generators/layout.js +1 -1
  81. package/bundle/obf/src/generators/maka.gen.js +1 -1
  82. package/bundle/obf/src/generators/methods.js +1 -1
  83. package/bundle/obf/src/generators/package.js +1 -1
  84. package/bundle/obf/src/generators/page.js +1 -1
  85. package/bundle/obf/src/generators/publish.js +1 -1
  86. package/bundle/obf/src/generators/route.js +1 -1
  87. package/bundle/obf/src/generators/service.js +1 -1
  88. package/bundle/obf/src/generators/services/_index.js +1 -1
  89. package/bundle/obf/src/generators/services/openssl.js +1 -1
  90. package/bundle/obf/src/generators/services/translation.js +1 -1
  91. package/bundle/obf/src/maka.js +1 -1
  92. package/bundle/obf/src/tool.js +1 -1
  93. package/bundle/obf/src/tools/actions/actions.class.js +1 -1
  94. package/bundle/obf/src/tools/aws/aws.class.js +1 -1
  95. package/bundle/obf/src/tools/aws/aws.interfaces.js +1 -1
  96. package/bundle/obf/src/tools/docker/docker.class.js +1 -1
  97. package/bundle/obf/src/tools/docker/docker.interfaces.js +1 -1
  98. package/bundle/obf/src/tools/fsi/fsi.class.js +1 -1
  99. package/bundle/obf/src/tools/fsi/fsi.interfaces.js +1 -1
  100. package/bundle/obf/src/tools/https/https.class.js +1 -1
  101. package/bundle/obf/src/tools/https/https.interface.js +1 -1
  102. package/bundle/obf/src/tools/log/log.class.js +1 -1
  103. package/bundle/obf/src/tools/log/log.interfaces.js +1 -1
  104. package/bundle/obf/src/tools/spawn-async/spawn-async.class.js +1 -1
  105. package/bundle/obf/src/tools/spawn-async/spawn-async.interfaces.js +1 -1
  106. package/bundle/obf/src/tools/ssh/ssh.class.js +1 -1
  107. package/bundle/obf/src/tools/ssh/ssh.interfaces.js +1 -1
  108. package/bundle/obf/src/tools/ssl/ssl.class.js +1 -1
  109. package/package.json +1 -1
@@ -1 +1 @@
1
- const a17X=a17d;(function(a,b){const U=a17d,c=a();while(!![]){try{const d=parseInt(U(0x251))/0x1*(parseInt(U(0x1e7))/0x2)+-parseInt(U(0x206))/0x3*(parseInt(U(0x241))/0x4)+-parseInt(U(0x214))/0x5*(parseInt(U(0x23d))/0x6)+-parseInt(U(0x22c))/0x7+-parseInt(U(0x219))/0x8*(parseInt(U(0x22b))/0x9)+-parseInt(U(0x28a))/0xa*(parseInt(U(0x257))/0xb)+parseInt(U(0x20c))/0xc;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a17c,0x41a93));const a17b=(function(){let a=!![];return function(b,c){const d=a?function(){const V=a17d;if(c){const e=c[V(0x23b)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a17a=a17b(this,function(){const W=a17d;return a17a[W(0x233)]()[W(0x1ec)](W(0x28e))['toString']()[W(0x255)](a17a)[W(0x1ec)]('(((.+)+)+)+$');});a17a();import a17e from'path';import a17f from'fs';import{execSync}from'child_process';import a17g from'cli-color';import a17h from'../generators/maka.gen.js';function a17d(a,b){const c=a17c();return a17d=function(d,e){d=d-0x1ce;let f=c[d];return f;},a17d(a,b);}import{Command}from'../command.js';import{Log}from'../tools/log/log.class.js';function a17c(){const a0=['es6','initNpm','git\x20-C\x20','toLowerCase','saveInit','create','skip-css','Test\x20with\x20Jasmine\x20or\x20Mocha','react-router@3.2.4\x20prop-types\x20@emotion/react','/app/public/sw.js.tsx','copyTemplateDirectory','scss','material','3896890qTvbjR','invoke','greenBright','app/meteor.d.ts','(((.+)+)+)+$','/app/imports/ui/test-helpers.js','true','hooks','less','skip-template-js','apiAnswers','mquandalle:jade','\x20\x20Open\x20an\x20administrative\x20PowerShell\x20terminal,\x20then\x20run:\x20','join','\x20commit\x20-m\x20\x22Maka-CLI\x20init\x20@\x20','meteor-node-stubs\x20@testing-library/react','ssr','server-render','Mocha','SSR\x20with\x20GraphQL\x20is\x20not\x20supported.','skip-testing','@mui/icons-material\x20@mui/material\x20@emotion/styled\x20@mui/system\x20@mui/lab','css','length','jade','CSS','\x20add\x20.\x20&&\x20git\x20-C\x20','withHooks','Project\x20already\x20exists.','checkbox','theme','blaze','workspace','maka\x20create\x20testable-app\x20--test=mocha','apollo','skip-html','gitignore','/app/imports/startup/client/template.js','app','143870lyUahl','layout','Javascript','Components','installNpmPackage','search','Enable\x20server-side\x20rendering\x20(ssr)','typescript','\x0a\x20\x20Create\x20a\x20new\x20maka\x20meteor\x20project.\x0a\x0a\x20\x20Without\x20any\x20arguments,\x20you\x20will\x20be\x20prompted\x20for\x20project\x20settings\x20such\x20as\x0a\x20\x20including\x20GraphQL,\x20preferring\x20React\x20Hooks\x20or\x20Components,\x0a\x20\x20Typescript\x20or\x20Javascript,\x20and\x20a\x20few\x20others.\x0a\x20\x20','/app/imports/ui/test-helpers.js.jsx','blaze-html-templates\x20tracker','false','/app/imports/startup/client/routes.js.tsx','warn','options','project','@apollo/link-context\x20@apollo/react-hooks\x20@apollo/client\x20graphql-type-json@0.2.4','template','maka\x20create\x20ssr-app\x20--ssr','win32','config.json','Created\x20','maka\x20create\x20my-app','nightmare\x20phantomjs-prebuilt\x20chai\x20meteor-node-stubs','Please\x20review\x20choices,\x20ready\x20to\x20scaffold\x20','.maka','react-router-dom@5.3.0\x20styled-components\x20history@3.3.0','Hooks','@emotion/server','blaze-html-templates','coffee','1890nuVmoB','\x20in\x20workspace\x20','build','For\x20improved\x20performance,\x20consider\x20whitelisting\x20the\x20following\x20from\x20windows\x20defender.','fsi','rest','14709888yQuBpV','none','skip-js','list','reflux','testAnswer','crypto','Create\x20a\x20new\x20Maka\x20Meteor\x20project','15lvOdGP','vanilla','static-html','success','react\x20react-dom\x20react-test-renderer','8aCdWkF','notice','graphql\x20graphql-type-json@0.2.4\x20isomorphic-fetch','config','app.tar.gz','page','hasOwnProperty','html','not-found','skip-tests','client','Cannot\x20init\x20git,\x20do\x20you\x20have\x20git\x20installed?','Aborted','jasmine','None','@types/meteor','mongo','\x20\x20\x20\x20Add-MpPreference\x20-ExclusionPath\x20\x22','3156444UvmZLI','965216snbUcl','kadira:flow-router\x20kadira:blaze-layout','i18next\x20i18next-browser-languagedetector\x20react-i18next','renameSync','.gitignore','test','/app/public/sw.js.jsx','toString','self-test','toUTCString','error','/app/imports/startup/lib/templates.js.tsx','/app/imports/startup/lib/templates.js.jsx','mocha','/app/public/sw.js.ts','apply','graphql','207798jvlsKY','Running\x20post\x20creation\x20tasks','jquery\x20meteortesting:mocha\x20meteortesting:mocha\x20xolvio:cleaner\x20hwillson:stub-collections\x20practicalmeteor:chai\x20dburles:factory\x20velocity:meteor-stubs\x20practicalmeteor:sinon','reactAnswer','296uKFPQu','jsx','cssAnswer','start','removeMeteorPackage','autoupdate','getGlobalConfig','confirm','SCSS','express\x20@apollo/server\x20@apollo/server-plugin-landing-page-graphql-playground','cwd','features','maka\x20create\x20gql-service\x20--graphql=apollo','engines','ignore','themeAnswer','1BTcvaK','@types/mocha','skip-generator-comments','/app/imports/startup/client/routes.js.jsx','constructor','Project\x20scaffolded,\x20running\x20generators\x20in\x20project\x20directory...','11JaapKR','@apollo/react-testing','route','sep','ask','/app/imports/startup/lib/routes.js.jsx','/app/public/sw.js','react-meteor-data','push','master-layout','GraphQL','findGenerator','CSS\x20Style','skip-route-template','meteor-node-stubs\x20ramda','cert','tsx','@babel/runtime@latest','api','skip-template-html','Preparing\x20Meteor\x20Project','withTranslations','react','typescriptAnswer','Creating\x20project\x20in\x20workspace:\x20','maka\x20create\x20<name>','Typescript','isDirectory','git\x20init\x20','App\x20Name:','@types/react-dom','Use\x20i18n\x20Translations','https://github.com/apollographql/meteor-integration/issues/133','exit','isFile','/app/imports/ui/test-helpers.js.tsx','static-html\x20jquery','rpc'];a17c=function(){return a0;};return a17c();}import{Actions}from'../tools/actions/actions.class.js';Command[a17X(0x282)]({'name':a17X(0x282),'aliases':['c'],'minArgLength':0x0,'maxArgLength':0x2,'usage':a17X(0x270),'shortDesc':a17X(0x213),'validOpts':[a17X(0x220),'js',a17X(0x1d6),a17X(0x269),a17X(0x223),a17X(0x231),'graphql',a17X(0x1de),a17X(0x1d0),a17X(0x1db),a17X(0x26c),'rpc'],'description':a17X(0x1ef),'mustBeInMakaProject':![],'examples':[a17X(0x1fd),'maka\x20create\x20material-app\x20--theme=material',a17X(0x24d),a17X(0x1f9),a17X(0x1e1)]},async function(a,b){const Y=a17X;try{let c=a[0x0];(!c||c[Y(0x1d7)]===0x0)&&(c=await Actions[Y(0x25b)](Y(0x274)));if(this[Y(0x20a)][Y(0x272)](c))throw Log['error'](Y(0x1dc));if(!b['js']){const B={'type':Y(0x20f),'name':Y(0x26e),'message':'Use\x20Typescript\x20or\x20Javascript','choices':[Y(0x1e9),Y(0x271)]},{typescriptAnswer:C}=await Actions[Y(0x1f5)](B);C[Y(0x280)]()==='typescript'&&(b['js']='ts');}if(!b[Y(0x1db)]){const D={'type':Y(0x20f),'name':Y(0x240),'message':'React\x20Components\x20or\x20Hooks','choices':[Y(0x1ea),Y(0x202)]},{reactAnswer:E}=await Actions[Y(0x1f5)](D);E[Y(0x280)]()===Y(0x291)&&(b[Y(0x1db)]=!![]);}if(!b[Y(0x231)]){const F={'type':Y(0x20f),'name':Y(0x211),'message':Y(0x284),'choices':[{'name':'Jasmine','value':'jasmine'},{'name':Y(0x1d2),'value':'mocha'},{'name':Y(0x227),'value':Y(0x20d)}]},{testAnswer:G}=await Actions[Y(0x1f5)](F);G&&(b[Y(0x231)]=G);}if(!b[Y(0x1de)]){const H={'type':Y(0x20f),'name':Y(0x250),'message':'UI\x20Theming','choices':[{'name':'Material-UI','value':Y(0x289)},{'name':Y(0x227),'value':Y(0x20d)}]},{themeAnswer:I}=await Actions['options'](H);I&&(b[Y(0x1de)]=I);if(I===Y(0x227)&&!b['css']){const J={'type':Y(0x20f),'name':Y(0x243),'message':Y(0x263),'choices':[{'name':Y(0x1d9),'value':Y(0x1d6)},{'name':Y(0x249),'value':Y(0x288)}]},{cssAnswer:K}=await Actions[Y(0x1f5)](J);K&&(b[Y(0x1d6)]=K);}}if(!b['withTranslations']){const L=await Actions['confirm'](Y(0x276),![]);L&&(b['withTranslations']=!![]);}const d=[];!b[Y(0x23c)]&&d['push']({'name':Y(0x261),'value':Y(0x1e2)});!b[Y(0x269)]&&d[Y(0x25f)]({'name':'REST','value':Y(0x20b)});if(d['length']>0x0){const M={'type':Y(0x1dd),'name':Y(0x294),'message':'API','pageSize':0x64,'default':0x0,'choices':d},{apiAnswers:N}=await Actions['options'](M);N['forEach'](O=>{const Z=Y;O===Z(0x1e2)&&(b[Z(0x23c)]=O),O===Z(0x20b)&&(b[Z(0x269)]=O),O===Z(0x27c)&&(b[Z(0x27c)]=O);});if(!b['graphql']){const O=await Actions[Y(0x248)](Y(0x1ed));O&&(b[Y(0x1d0)]=Y(0x290));}}const f=await Actions['confirm'](Y(0x1ff)+a17g[Y(0x28c)](c),!![]);if(!f)throw Log[Y(0x236)](Y(0x225));const g=await this[Y(0x20a)][Y(0x247)](),h=g[Y(0x1e0)];h&&(Log[Y(0x21a)](Y(0x26f)+h),c=a17e[Y(0x297)](h,c));const i=c,j=c,k=b[Y(0x21f)](Y(0x234)),l={'appName':i,'engines':{'html':b[Y(0x220)]||Y(0x220),'js':b['js']||'js','css':b[Y(0x1d6)]||Y(0x1d6),'api':b[Y(0x269)]||Y(0x20d),'client':b[Y(0x223)]||Y(0x26d),'test':b[Y(0x231)]||Y(0x20d),'graphql':b[Y(0x23c)]||Y(0x20d),'theme':b[Y(0x1de)]||Y(0x20d),'ssr':b[Y(0x1d0)]?Y(0x290):Y(0x1f2)},'features':{'withHooks':b['withHooks']||![],'withTranslations':b['withTranslations']||![]},'template':{'html':!b['hasOwnProperty'](Y(0x26a))&&!b[Y(0x21f)](Y(0x1e3)),'js':!b['hasOwnProperty'](Y(0x293))&&!b['hasOwnProperty'](Y(0x20e)),'css':!b[Y(0x21f)]('skip-template-css')&&!b['hasOwnProperty'](Y(0x283)),'test':!b['hasOwnProperty'](Y(0x1d4))&&!b[Y(0x21f)](Y(0x222))},'route':{'template':!b['hasOwnProperty'](Y(0x264))},'generator':{'comments':!b[Y(0x21f)](Y(0x253))}};l[Y(0x24e)][Y(0x23c)]!==Y(0x20d)&&(l[Y(0x24e)][Y(0x23c)]='apollo');l['engines'][Y(0x223)]===Y(0x26d)||l['engines'][Y(0x223)]===Y(0x210)?(l[Y(0x24e)]['js']==='ts'&&(l[Y(0x24e)]['js']=Y(0x267)),l[Y(0x24e)]['js']==='js'&&(l[Y(0x24e)]['js']=Y(0x242)),l[Y(0x1f8)][Y(0x220)]=![]):(l['engines']['js']===Y(0x267)&&(l['engines']['js']='ts'),l[Y(0x24e)]['js']===Y(0x242)&&(l[Y(0x24e)]['js']='js'));l['engines'][Y(0x223)]==='vanilla'&&(l[Y(0x24e)]['js']='js',l[Y(0x24e)][Y(0x23c)]=Y(0x20d),l[Y(0x24e)][Y(0x1de)]=Y(0x20d),l[Y(0x24e)][Y(0x1d0)]=Y(0x1f2),l[Y(0x259)][Y(0x1f8)]=![],l[Y(0x1f8)][Y(0x220)]=![]);l['engines'][Y(0x1d0)]===Y(0x290)&&(l[Y(0x24e)][Y(0x223)]!==Y(0x26d)&&l['engines']['client']!==Y(0x210)&&(Log['error']('SSR\x20is\x20not\x20supported\x20on\x20any\x20other\x20client\x20than\x20react\x20or\x20reflux'),l[Y(0x24e)]['ssr']='false'),(l[Y(0x24e)][Y(0x269)]===Y(0x23c)||l[Y(0x24e)][Y(0x23c)]==='apollo')&&(Log[Y(0x236)](Y(0x1d3)),Log[Y(0x236)](Y(0x277)),l[Y(0x24e)][Y(0x1d0)]=Y(0x1f2)));l['engines'][Y(0x1de)]===Y(0x289)&&(l[Y(0x1f8)][Y(0x1d6)]=![]);l[Y(0x24e)]['ssr']===Y(0x290)&&(l[Y(0x1f8)][Y(0x1d6)]=![]);const m={'app':i,'config':l,'appPath':a17e[Y(0x297)](j,Y(0x1e6)),'bundlePath':a17e[Y(0x297)](j,Y(0x208),Y(0x21d)),'useCert':this[Y(0x20a)][Y(0x279)](g[Y(0x266)])};let n=[];l['engines'][Y(0x1d0)]==='true'?n=['/app/imports/startup/client/templates.js.jsx',Y(0x254),'/app/imports/startup/client/templates.js.tsx',Y(0x1f3)]:n=[Y(0x238),Y(0x25c),Y(0x237),'/app/imports/startup/lib/routes.js.tsx'];l[Y(0x24e)]['js']!==Y(0x1df)&&n[Y(0x25f)](Y(0x28f));l['engines']['js']!=='ts'&&l[Y(0x24e)]['js']!=='tsx'&&(n[Y(0x25f)](Y(0x28d)),n[Y(0x25f)]('app/maka.d.ts'),n['push']('app/tsconfig.json'));l['engines']['client']===Y(0x215)&&n[Y(0x25f)](Y(0x1e5));const o=[];o[Y(0x25f)](Y(0x25d)),n[Y(0x25f)](Y(0x232)),n[Y(0x25f)](Y(0x286)),n['push'](Y(0x23a)),n['push'](Y(0x1f0)),n[Y(0x25f)](Y(0x27a));const p=[],q=[],r=[],s=[],t=a17e[Y(0x297)](j,Y(0x1e6)),u=Log['withSpinner']();this[Y(0x20a)][Y(0x287)]({'srcPath':Y(0x1f6),'destPath':j,'context':m,'ignore':n,'config':l}),a17f[Y(0x22f)](j+a17e[Y(0x25a)]+Y(0x1e4),j+a17e[Y(0x25a)]+Y(0x230)),u[Y(0x244)](Y(0x26b)),await this[Y(0x20a)]['createEmptyMeteorProject']('app',{'cwd':j,...b}),u['success'](),this[Y(0x20a)][Y(0x287)]({'srcPath':'app','destPath':t,'context':m,'ignore':n,'keep':o,'config':l}),this[Y(0x20a)][Y(0x281)](l,a17e[Y(0x297)](j,Y(0x200),Y(0x1fb)));const v=l[Y(0x24e)][Y(0x223)]==='react'?Y(0x1e8):Y(0x1f8);Log[Y(0x21a)](Y(0x256));const w=a17h[Y(0x262)](v);w&&(await w[Y(0x28b)]([Y(0x260)],{'cwd':j,'root':!![],'config':l}),await w[Y(0x28b)](['private-layout'],{'cwd':j,'root':!![],'config':l}));const x=a17h[Y(0x262)](Y(0x259));x&&await x['invoke'](['home','/'],{'cwd':j,'root':!![],'config':l});const y=a17h[Y(0x262)](Y(0x21e));y&&(await y['invoke'](['home'],{'cwd':j,'root':!![],'config':l}),await y['invoke']([Y(0x221)],{'cwd':j,'root':!![],'config':l}));const z=a17h['findGenerator']('config');z&&await z[Y(0x28b)](['development'],{'cwd':j,'root':!![],'config':l});if(l[Y(0x24c)]['withTranslations']){const P=a17h[Y(0x262)]('translation');P&&await P[Y(0x28b)]([],{'cwd':j,'root':!![],'config':l}),p[Y(0x25f)](Y(0x22e));}!b[Y(0x21f)]('skip-flow-router')&&m[Y(0x21c)]['engines'][Y(0x223)]===Y(0x1df)&&r[Y(0x25f)](Y(0x22d));p[Y(0x25f)](Y(0x212)),p[Y(0x25f)]('helmet'),r[Y(0x25f)](Y(0x246));if(l[Y(0x24e)][Y(0x223)]==='react'||l[Y(0x24e)][Y(0x223)]===Y(0x210)){if(l[Y(0x24e)]['test']===Y(0x226))r[Y(0x25f)]('sanjo:jasmine\x20maka:html-reporter\x20velocity:console-reporter\x20dburles:factory'),q[Y(0x25f)]('meteor-node-stubs\x20@testing-library/react'),l[Y(0x24e)]['graphql']===Y(0x1e2)&&q[Y(0x25f)]('@apollo/react-testing');else l['engines'][Y(0x231)]===Y(0x239)&&(r[Y(0x25f)](Y(0x23f)),q[Y(0x25f)](Y(0x1cf)),l[Y(0x24e)]['graphql']==='apollo'&&q[Y(0x25f)](Y(0x258)));}else{if(l['engines'][Y(0x231)]===Y(0x226))r[Y(0x25f)]('sanjo:jasmine\x20maka:html-reporter\x20velocity:console-reporter\x20dburles:factory'),q[Y(0x25f)]('meteor-node-stubs');else l[Y(0x24e)][Y(0x231)]===Y(0x239)&&(r['push'](Y(0x23f)),q[Y(0x25f)](Y(0x1fe)));}l[Y(0x24e)][Y(0x269)]!==Y(0x20d)&&(l[Y(0x24e)]['api']===Y(0x23c)&&(l[Y(0x24e)][Y(0x23c)]=Y(0x1e2)));if(l[Y(0x1f8)][Y(0x1d6)]){if(l[Y(0x24e)][Y(0x1d6)]==Y(0x292))r[Y(0x25f)](Y(0x292));}if(l[Y(0x1f8)]['js']){if(l[Y(0x24e)]['js']==Y(0x205))r['push']('coffeescript');}if(l[Y(0x1f8)][Y(0x220)]){if(l['engines']['html']===Y(0x1d8))r[Y(0x25f)](Y(0x295));}(l['engines']['js']==='ts'||l[Y(0x24e)]['js']==='tsx')&&(r[Y(0x25f)](Y(0x1ee)),q[Y(0x25f)](Y(0x228)),q[Y(0x25f)](Y(0x252)),q[Y(0x25f)]('@types/ramda'),q[Y(0x25f)](Y(0x275)),l['engines']['test']!=='none'&&q['push']('@types/testing-library__react'));p['push'](Y(0x265));'js'in b&&b['js']?.[Y(0x280)]()===Y(0x27d)&&r[Y(0x25f)]('grigio:babel');p[Y(0x25f)](Y(0x268));(l[Y(0x24e)][Y(0x223)]===Y(0x26d)||l[Y(0x24e)]['client']===Y(0x210))&&(r[Y(0x25f)](Y(0x25e)),l[Y(0x24e)]['test']!==Y(0x20d)?p[Y(0x25f)](Y(0x218)):p['push']('react\x20react-dom'),p[Y(0x25f)](Y(0x285)));l[Y(0x24e)][Y(0x223)]===Y(0x210)&&p[Y(0x25f)](Y(0x210));l[Y(0x24e)][Y(0x23c)]===Y(0x1e2)&&(p[Y(0x25f)](Y(0x21b)),p[Y(0x25f)](Y(0x1f7)),p[Y(0x25f)](Y(0x24a)),r[Y(0x25f)](Y(0x1e2)));l[Y(0x24e)]['theme']==='material'&&p[Y(0x25f)](Y(0x1d5));l[Y(0x24e)][Y(0x1d0)]&&p[Y(0x25f)](Y(0x203));l['engines']['ssr']==='true'&&(p[Y(0x25f)](Y(0x201)),r[Y(0x25f)](Y(0x1d1)));(l[Y(0x24e)][Y(0x231)]===Y(0x226)||l[Y(0x24e)][Y(0x1d0)]===Y(0x290)||l[Y(0x24e)]['client']===Y(0x26d)||l[Y(0x24e)]['client']===Y(0x210))&&(l['engines'][Y(0x223)]!==Y(0x1df)&&r['push'](Y(0x216)));l[Y(0x24e)][Y(0x1d0)]==='true'&&l[Y(0x24e)]['graphql']===Y(0x1e2)&&p[Y(0x25f)]('isomorphic-fetch');l[Y(0x24e)][Y(0x223)]===Y(0x215)&&(s[Y(0x25f)](Y(0x1f1)),r[Y(0x25f)](Y(0x27b)));l[Y(0x24e)]['client']===Y(0x1df)&&(r['push'](Y(0x204)),s[Y(0x25f)](Y(0x216)));r['push'](Y(0x229)),Log[Y(0x21a)](Y(0x23e));r['length']>0x0&&await this[Y(0x20a)]['installMeteorPackage'](r['join']('\x20'),{'cwd':t,'isSelfTest':k});s['length']>0x0&&await this['fsi'][Y(0x245)](s[Y(0x297)]('\x20'),{'cwd':t,'isSelfTest':k});await this[Y(0x20a)][Y(0x27e)]({'cwd':t,'isSelfTest':k}),await this[Y(0x20a)][Y(0x1eb)](p[Y(0x297)]('\x20'),{'cwd':t,'isSelfTest':k}),await this['fsi'][Y(0x1eb)](q[Y(0x297)]('\x20'),{'cwd':t,'isSelfTest':k,'dev':!![]});try{const Q=new Date(),R=a17e[Y(0x297)](j);execSync(Y(0x273)+R,{'stdio':Y(0x24f)}),execSync(Y(0x27f)+R+Y(0x1da)+R+Y(0x1ce)+Q[Y(0x235)]()+'\x22',{'stdio':Y(0x24f)});}catch(S){Log[Y(0x1f4)](Y(0x224));}Log['success'](Y(0x1fc)+i);h&&h!==process[Y(0x24b)]()&&Log[Y(0x217)](Y(0x207)+h);const A=process['platform']===Y(0x1fa);A&&(Log[Y(0x21a)](Y(0x209)),Log[Y(0x21a)](Y(0x296)),Log[Y(0x21a)](Y(0x22a)+a17e['join'](j)+'\x22'));}catch(T){console[Y(0x236)](T),process[Y(0x278)](0x0);}});
1
+ const a17X=a17d;(function(a,b){const U=a17d,c=a();while(!![]){try{const d=parseInt(U(0xf9))/0x1+parseInt(U(0x15b))/0x2+-parseInt(U(0x15f))/0x3*(parseInt(U(0x10b))/0x4)+-parseInt(U(0x124))/0x5*(parseInt(U(0x110))/0x6)+-parseInt(U(0xce))/0x7*(parseInt(U(0x15a))/0x8)+-parseInt(U(0x111))/0x9*(-parseInt(U(0x125))/0xa)+parseInt(U(0xc5))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a17c,0x4a695));const a17b=(function(){let a=!![];return function(b,c){const d=a?function(){const V=a17d;if(c){const e=c[V(0x102)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a17a=a17b(this,function(){const W=a17d;return a17a[W(0x14d)]()['search']('(((.+)+)+)+$')[W(0x14d)]()[W(0xcc)](a17a)[W(0x155)](W(0x171));});a17a();function a17d(a,b){const c=a17c();return a17d=function(d,e){d=d-0xc0;let f=c[d];return f;},a17d(a,b);}import a17e from'path';function a17c(){const a0=['Javascript','push','withHooks','cssAnswer','project','reactAnswer','blaze-html-templates\x20tracker','@types/react-dom','\x20in\x20workspace\x20','7042739YJSaIC','maka\x20create\x20<name>','maka\x20create\x20ssr-app\x20--ssr','api','workspace','skip-flow-router','jquery\x20meteortesting:mocha\x20meteortesting:mocha\x20xolvio:cleaner\x20hwillson:stub-collections\x20practicalmeteor:chai\x20dburles:factory\x20velocity:meteor-stubs\x20practicalmeteor:sinon','constructor','toLowerCase','4089421edtXkB','REST','mquandalle:jade','i18next\x20i18next-browser-languagedetector\x20react-i18next','Created\x20','maka\x20create\x20material-app\x20--theme=material','exit','typescript','Running\x20post\x20creation\x20tasks','Hooks','maka\x20create\x20testable-app\x20--test=mocha','helmet','GraphQL','Enable\x20server-side\x20rendering\x20(ssr)','route','coffee','skip-testing','apollo','/app/imports/startup/client/routes.js.tsx','graphql\x20graphql-type-json@0.2.4\x20isomorphic-fetch','build','Cannot\x20init\x20git,\x20do\x20you\x20have\x20git\x20installed?','/app/public/sw.js.tsx','warn','Typescript','static-html\x20jquery','app','blaze-html-templates','skip-route-template','rest','renameSync','@types/meteor','installMeteorPackage','Use\x20Typescript\x20or\x20Javascript','withSpinner','@types/testing-library__react','tsx','options','material','not-found','meteor-node-stubs','client','isDirectory','110785yQCndQ','Material-UI','@apollo/react-testing','error','coffeescript','app.tar.gz','CSS','API','apiAnswers','apply','css','SSR\x20with\x20GraphQL\x20is\x20not\x20supported.','test','/app/imports/startup/lib/templates.js.tsx','theme','cert','\x20commit\x20-m\x20\x22Maka-CLI\x20init\x20@\x20','@mui/icons-material\x20@mui/material\x20@emotion/styled\x20@mui/system\x20@mui/lab','483388ejPlXA','/app/imports/startup/client/routes.js.jsx','rpc','/app/imports/startup/client/templates.js.jsx','meteor-node-stubs\x20ramda','6fAofom','8487ioVhAO','translation','engines','/app/imports/startup/lib/routes.js.jsx','vanilla','testAnswer','withTranslations','None','@apollo/link-context\x20@apollo/react-hooks\x20@apollo/client\x20graphql-type-json@0.2.4','/app/imports/startup/client/templates.js.tsx','react\x20react-dom','initNpm','blaze','sanjo:jasmine\x20maka:html-reporter\x20velocity:console-reporter\x20dburles:factory','home','/app/public/sw.js','SSR\x20is\x20not\x20supported\x20on\x20any\x20other\x20client\x20than\x20react\x20or\x20reflux','\x20\x20\x20\x20Add-MpPreference\x20-ExclusionPath\x20\x22','\x20add\x20.\x20&&\x20git\x20-C\x20','2554320ONZsIi','4420tepPlF','react\x20react-dom\x20react-test-renderer','Please\x20review\x20choices,\x20ready\x20to\x20scaffold\x20','length','none','fsi','jsx','react-router@3.2.4\x20prop-types\x20@emotion/react','graphql','saveInit','skip-html','Components','server-render','@types/mocha','invoke','join','mongo','list','Mocha','Jasmine','autoupdate','skip-template-css','master-layout','toUTCString','success','removeMeteorPackage','/app/imports/startup/client/template.js','win32','gitignore','/app/public/sw.js.ts','reflux','ssr','platform','static-html','ignore','@types/ramda','getGlobalConfig','/app/imports/ui/test-helpers.js.jsx','@emotion/server','confirm','toString','template','For\x20improved\x20performance,\x20consider\x20whitelisting\x20the\x20following\x20from\x20windows\x20defender.','nightmare\x20phantomjs-prebuilt\x20chai\x20meteor-node-stubs','/app/imports/ui/test-helpers.js','/app/public/sw.js.jsx','react-meteor-data','createEmptyMeteorProject','search','skip-js','jade','page','maka\x20create\x20my-app','8xxkEKp','705726QbGNmL','start','mocha','React\x20Components\x20or\x20Hooks','3Lgmykj','es6','maka\x20create\x20gql-service\x20--graphql=apollo','skip-template-js','private-layout','typescriptAnswer','installNpmPackage','hasOwnProperty','config.json','react','checkbox','sep','findGenerator','meteor-node-stubs\x20@testing-library/react','Use\x20i18n\x20Translations','notice','true','jasmine','(((.+)+)+)+$','less','copyTemplateDirectory','html','Project\x20already\x20exists.','skip-css','false','create','kadira:flow-router\x20kadira:blaze-layout'];a17c=function(){return a0;};return a17c();}import a17f from'fs';import{execSync}from'child_process';import a17g from'cli-color';import a17h from'../generators/maka.gen.js';import{Command}from'../command.js';import{Log}from'../tools/log/log.class.js';import{Actions}from'../tools/actions/actions.class.js';Command['create']({'name':a17X(0x178),'aliases':['c'],'minArgLength':0x0,'maxArgLength':0x2,'usage':a17X(0xc6),'shortDesc':'Create\x20a\x20new\x20Maka\x20Meteor\x20project','validOpts':[a17X(0x174),'js',a17X(0x103),'api',a17X(0xf7),a17X(0x105),a17X(0x12d),'theme',a17X(0x144),a17X(0x17c),'withTranslations','rpc'],'description':'\x0a\x20\x20Create\x20a\x20new\x20maka\x20meteor\x20project.\x0a\x0a\x20\x20Without\x20any\x20arguments,\x20you\x20will\x20be\x20prompted\x20for\x20project\x20settings\x20such\x20as\x0a\x20\x20including\x20GraphQL,\x20preferring\x20React\x20Hooks\x20or\x20Components,\x0a\x20\x20Typescript\x20or\x20Javascript,\x20and\x20a\x20few\x20others.\x0a\x20\x20','mustBeInMakaProject':![],'examples':[a17X(0x159),a17X(0xd3),a17X(0x161),a17X(0xc7),a17X(0xd8)]},async function(a,b){const Y=a17X;try{let c=a[0x0];(!c||c[Y(0x128)]===0x0)&&(c=await Actions['ask']('App\x20Name:'));if(this[Y(0x12a)][Y(0xf8)](c))throw Log[Y(0xfc)](Y(0x175));if(!b['js']){const B={'type':Y(0x136),'name':Y(0x164),'message':Y(0xef),'choices':[Y(0x17a),Y(0xe6)]},{typescriptAnswer:C}=await Actions['options'](B);C[Y(0xcd)]()===Y(0xd5)&&(b['js']='ts');}if(!b[Y(0x17c)]){const D={'type':Y(0x136),'name':Y(0xc1),'message':Y(0x15e),'choices':[Y(0x130),Y(0xd7)]},{reactAnswer:E}=await Actions['options'](D);E[Y(0xcd)]()==='hooks'&&(b['withHooks']=!![]);}if(!b[Y(0x105)]){const F={'type':Y(0x136),'name':Y(0x116),'message':'Test\x20with\x20Jasmine\x20or\x20Mocha','choices':[{'name':Y(0x138),'value':Y(0x170)},{'name':Y(0x137),'value':'mocha'},{'name':'None','value':Y(0x129)}]},{testAnswer:G}=await Actions[Y(0xf3)](F);G&&(b[Y(0x105)]=G);}if(!b[Y(0x107)]){const H={'type':Y(0x136),'name':'themeAnswer','message':'UI\x20Theming','choices':[{'name':Y(0xfa),'value':Y(0xf4)},{'name':Y(0x118),'value':Y(0x129)}]},{themeAnswer:I}=await Actions['options'](H);I&&(b[Y(0x107)]=I);if(I===Y(0x118)&&!b[Y(0x103)]){const J={'type':'list','name':Y(0x17d),'message':'CSS\x20Style','choices':[{'name':Y(0xff),'value':Y(0x103)},{'name':'SCSS','value':'scss'}]},{cssAnswer:K}=await Actions[Y(0xf3)](J);K&&(b[Y(0x103)]=K);}}if(!b[Y(0x117)]){const L=await Actions[Y(0x14c)](Y(0x16d),![]);L&&(b[Y(0x117)]=!![]);}const d=[];!b[Y(0x12d)]&&d['push']({'name':Y(0xda),'value':Y(0xdf)});!b[Y(0xc8)]&&d[Y(0x17b)]({'name':Y(0xcf),'value':Y(0xeb)});if(d['length']>0x0){const M={'type':Y(0x169),'name':Y(0x101),'message':Y(0x100),'pageSize':0x64,'default':0x0,'choices':d},{apiAnswers:N}=await Actions[Y(0xf3)](M);N['forEach'](O=>{const Z=Y;O==='apollo'&&(b[Z(0x12d)]=O),O===Z(0xeb)&&(b[Z(0xc8)]=O),O==='rpc'&&(b[Z(0x10d)]=O);});if(!b['graphql']){const O=await Actions['confirm'](Y(0xdb));O&&(b[Y(0x144)]=Y(0x16f));}}const f=await Actions[Y(0x14c)](Y(0x127)+a17g['greenBright'](c),!![]);if(!f)throw Log[Y(0xfc)]('Aborted');const g=await this['fsi'][Y(0x149)](),h=g[Y(0xc9)];h&&(Log[Y(0x16e)]('Creating\x20project\x20in\x20workspace:\x20'+h),c=a17e[Y(0x134)](h,c));const i=c,j=c,k=b[Y(0x166)]('self-test'),l={'appName':i,'engines':{'html':b['html']||Y(0x174),'js':b['js']||'js','css':b[Y(0x103)]||Y(0x103),'api':b[Y(0xc8)]||'none','client':b[Y(0xf7)]||Y(0x168),'test':b['test']||Y(0x129),'graphql':b[Y(0x12d)]||Y(0x129),'theme':b[Y(0x107)]||Y(0x129),'ssr':b[Y(0x144)]?Y(0x16f):Y(0x177)},'features':{'withHooks':b['withHooks']||![],'withTranslations':b['withTranslations']||![]},'template':{'html':!b[Y(0x166)]('skip-template-html')&&!b[Y(0x166)](Y(0x12f)),'js':!b[Y(0x166)](Y(0x162))&&!b[Y(0x166)](Y(0x156)),'css':!b[Y(0x166)](Y(0x13a))&&!b[Y(0x166)](Y(0x176)),'test':!b[Y(0x166)](Y(0xde))&&!b['hasOwnProperty']('skip-tests')},'route':{'template':!b[Y(0x166)](Y(0xea))},'generator':{'comments':!b[Y(0x166)]('skip-generator-comments')}};l['engines'][Y(0x12d)]!==Y(0x129)&&(l[Y(0x113)][Y(0x12d)]=Y(0xdf));l[Y(0x113)]['client']===Y(0x168)||l[Y(0x113)][Y(0xf7)]===Y(0x143)?(l[Y(0x113)]['js']==='ts'&&(l['engines']['js']=Y(0xf2)),l[Y(0x113)]['js']==='js'&&(l[Y(0x113)]['js']=Y(0x12b)),l[Y(0x14e)][Y(0x174)]=![]):(l[Y(0x113)]['js']===Y(0xf2)&&(l[Y(0x113)]['js']='ts'),l['engines']['js']===Y(0x12b)&&(l[Y(0x113)]['js']='js'));l[Y(0x113)][Y(0xf7)]===Y(0x115)&&(l[Y(0x113)]['js']='js',l[Y(0x113)][Y(0x12d)]=Y(0x129),l[Y(0x113)]['theme']=Y(0x129),l[Y(0x113)][Y(0x144)]=Y(0x177),l['route'][Y(0x14e)]=![],l[Y(0x14e)][Y(0x174)]=![]);l[Y(0x113)][Y(0x144)]===Y(0x16f)&&(l[Y(0x113)][Y(0xf7)]!==Y(0x168)&&l[Y(0x113)]['client']!==Y(0x143)&&(Log[Y(0xfc)](Y(0x121)),l[Y(0x113)][Y(0x144)]='false'),(l[Y(0x113)][Y(0xc8)]===Y(0x12d)||l[Y(0x113)]['graphql']===Y(0xdf))&&(Log[Y(0xfc)](Y(0x104)),Log[Y(0xfc)]('https://github.com/apollographql/meteor-integration/issues/133'),l[Y(0x113)][Y(0x144)]=Y(0x177)));l[Y(0x113)][Y(0x107)]===Y(0xf4)&&(l[Y(0x14e)][Y(0x103)]=![]);l[Y(0x113)][Y(0x144)]==='true'&&(l[Y(0x14e)][Y(0x103)]=![]);const m={'app':i,'config':l,'appPath':a17e[Y(0x134)](j,'app'),'bundlePath':a17e[Y(0x134)](j,Y(0xe2),Y(0xfe)),'useCert':this[Y(0x12a)]['isFile'](g[Y(0x108)])};let n=[];l[Y(0x113)][Y(0x144)]===Y(0x16f)?n=[Y(0x10e),Y(0x10c),Y(0x11a),Y(0xe0)]:n=['/app/imports/startup/lib/templates.js.jsx',Y(0x114),Y(0x106),'/app/imports/startup/lib/routes.js.tsx'];l[Y(0x113)]['js']!==Y(0x11d)&&n[Y(0x17b)](Y(0x151));l[Y(0x113)]['js']!=='ts'&&l[Y(0x113)]['js']!==Y(0xf2)&&(n[Y(0x17b)]('app/meteor.d.ts'),n[Y(0x17b)]('app/maka.d.ts'),n[Y(0x17b)]('app/tsconfig.json'));l[Y(0x113)]['client']===Y(0x115)&&n[Y(0x17b)](Y(0x13f));const o=[];o[Y(0x17b)](Y(0x120)),n[Y(0x17b)](Y(0x152)),n[Y(0x17b)](Y(0xe4)),n['push'](Y(0x142)),n[Y(0x17b)](Y(0x14a)),n[Y(0x17b)]('/app/imports/ui/test-helpers.js.tsx');const p=[],q=[],r=[],s=[],t=a17e[Y(0x134)](j,Y(0xe8)),u=Log[Y(0xf0)]();this[Y(0x12a)][Y(0x173)]({'srcPath':Y(0xc0),'destPath':j,'context':m,'ignore':n,'config':l}),a17f[Y(0xec)](j+a17e[Y(0x16a)]+Y(0x141),j+a17e[Y(0x16a)]+'.gitignore'),u[Y(0x15c)]('Preparing\x20Meteor\x20Project'),await this[Y(0x12a)][Y(0x154)](Y(0xe8),{'cwd':j,...b}),u[Y(0x13d)](),this[Y(0x12a)][Y(0x173)]({'srcPath':Y(0xe8),'destPath':t,'context':m,'ignore':n,'keep':o,'config':l}),this[Y(0x12a)][Y(0x12e)](l,a17e[Y(0x134)](j,'.maka',Y(0x167)));const v=l[Y(0x113)]['client']==='react'?'layout':Y(0x14e);Log[Y(0x16e)]('Project\x20scaffolded,\x20running\x20generators\x20in\x20project\x20directory...');const w=a17h[Y(0x16b)](v);w&&(await w[Y(0x133)]([Y(0x13b)],{'cwd':j,'root':!![],'config':l}),await w[Y(0x133)]([Y(0x163)],{'cwd':j,'root':!![],'config':l}));const x=a17h[Y(0x16b)](Y(0xdc));x&&await x['invoke'](['home','/'],{'cwd':j,'root':!![],'config':l});const y=a17h['findGenerator'](Y(0x158));y&&(await y[Y(0x133)]([Y(0x11f)],{'cwd':j,'root':!![],'config':l}),await y['invoke']([Y(0xf5)],{'cwd':j,'root':!![],'config':l}));const z=a17h[Y(0x16b)]('config');z&&await z[Y(0x133)](['development'],{'cwd':j,'root':!![],'config':l});if(l['features'][Y(0x117)]){const P=a17h[Y(0x16b)](Y(0x112));P&&await P[Y(0x133)]([],{'cwd':j,'root':!![],'config':l}),p[Y(0x17b)](Y(0xd1));}!b['hasOwnProperty'](Y(0xca))&&m['config'][Y(0x113)]['client']===Y(0x11d)&&r[Y(0x17b)](Y(0x179));p[Y(0x17b)]('crypto'),p[Y(0x17b)](Y(0xd9)),r[Y(0x17b)](Y(0x139));if(l[Y(0x113)]['client']===Y(0x168)||l['engines'][Y(0xf7)]===Y(0x143)){if(l[Y(0x113)]['test']===Y(0x170))r[Y(0x17b)](Y(0x11e)),q[Y(0x17b)](Y(0x16c)),l[Y(0x113)][Y(0x12d)]===Y(0xdf)&&q['push'](Y(0xfb));else l[Y(0x113)][Y(0x105)]===Y(0x15d)&&(r['push'](Y(0xcb)),q['push'](Y(0x16c)),l[Y(0x113)][Y(0x12d)]==='apollo'&&q['push'](Y(0xfb)));}else{if(l['engines']['test']==='jasmine')r[Y(0x17b)](Y(0x11e)),q[Y(0x17b)](Y(0xf6));else l['engines'][Y(0x105)]===Y(0x15d)&&(r[Y(0x17b)](Y(0xcb)),q[Y(0x17b)](Y(0x150)));}l[Y(0x113)][Y(0xc8)]!=='none'&&(l[Y(0x113)]['api']===Y(0x12d)&&(l[Y(0x113)][Y(0x12d)]=Y(0xdf)));if(l[Y(0x14e)][Y(0x103)]){if(l[Y(0x113)]['css']==Y(0x172))r['push'](Y(0x172));}if(l[Y(0x14e)]['js']){if(l[Y(0x113)]['js']==Y(0xdd))r[Y(0x17b)](Y(0xfd));}if(l[Y(0x14e)][Y(0x174)]){if(l[Y(0x113)][Y(0x174)]===Y(0x157))r[Y(0x17b)](Y(0xd0));}(l[Y(0x113)]['js']==='ts'||l[Y(0x113)]['js']===Y(0xf2))&&(r[Y(0x17b)](Y(0xd5)),q[Y(0x17b)](Y(0xed)),q[Y(0x17b)](Y(0x132)),q[Y(0x17b)](Y(0x148)),q[Y(0x17b)](Y(0xc3)),l[Y(0x113)][Y(0x105)]!==Y(0x129)&&q[Y(0x17b)](Y(0xf1)));p[Y(0x17b)](Y(0x10f));'js'in b&&b['js']?.[Y(0xcd)]()===Y(0x160)&&r[Y(0x17b)]('grigio:babel');p['push']('@babel/runtime@latest');(l['engines'][Y(0xf7)]===Y(0x168)||l[Y(0x113)][Y(0xf7)]===Y(0x143))&&(r[Y(0x17b)](Y(0x153)),l[Y(0x113)][Y(0x105)]!==Y(0x129)?p[Y(0x17b)](Y(0x126)):p['push'](Y(0x11b)),p[Y(0x17b)](Y(0x12c)));l[Y(0x113)]['client']===Y(0x143)&&p[Y(0x17b)](Y(0x143));l[Y(0x113)][Y(0x12d)]===Y(0xdf)&&(p['push'](Y(0xe1)),p[Y(0x17b)](Y(0x119)),p['push']('express\x20@apollo/server\x20@apollo/server-plugin-landing-page-graphql-playground'),r['push'](Y(0xdf)));l[Y(0x113)][Y(0x107)]===Y(0xf4)&&p['push'](Y(0x10a));l[Y(0x113)][Y(0x144)]&&p[Y(0x17b)](Y(0x14b));l[Y(0x113)][Y(0x144)]==='true'&&(p[Y(0x17b)]('react-router-dom@5.3.0\x20styled-components\x20history@3.3.0'),r[Y(0x17b)](Y(0x131)));(l[Y(0x113)][Y(0x105)]===Y(0x170)||l[Y(0x113)][Y(0x144)]===Y(0x16f)||l['engines'][Y(0xf7)]===Y(0x168)||l['engines']['client']===Y(0x143))&&(l[Y(0x113)][Y(0xf7)]!==Y(0x11d)&&r[Y(0x17b)]('static-html'));l[Y(0x113)][Y(0x144)]===Y(0x16f)&&l[Y(0x113)][Y(0x12d)]===Y(0xdf)&&p[Y(0x17b)]('isomorphic-fetch');l[Y(0x113)][Y(0xf7)]===Y(0x115)&&(s[Y(0x17b)](Y(0xc2)),r['push'](Y(0xe7)));l[Y(0x113)][Y(0xf7)]===Y(0x11d)&&(r[Y(0x17b)](Y(0xe9)),s[Y(0x17b)](Y(0x146)));r[Y(0x17b)](Y(0x135)),Log['notice'](Y(0xd6));r[Y(0x128)]>0x0&&await this[Y(0x12a)][Y(0xee)](r[Y(0x134)]('\x20'),{'cwd':t,'isSelfTest':k});s[Y(0x128)]>0x0&&await this[Y(0x12a)][Y(0x13e)](s[Y(0x134)]('\x20'),{'cwd':t,'isSelfTest':k});await this['fsi'][Y(0x11c)]({'cwd':t,'isSelfTest':k}),await this[Y(0x12a)][Y(0x165)](p[Y(0x134)]('\x20'),{'cwd':t,'isSelfTest':k}),await this[Y(0x12a)]['installNpmPackage'](q[Y(0x134)]('\x20'),{'cwd':t,'isSelfTest':k,'dev':!![]});try{const Q=new Date(),R=a17e['join'](j);execSync('git\x20init\x20'+R,{'stdio':'ignore'}),execSync('git\x20-C\x20'+R+Y(0x123)+R+Y(0x109)+Q[Y(0x13c)]()+'\x22',{'stdio':Y(0x147)});}catch(S){Log[Y(0xe5)](Y(0xe3));}Log[Y(0x13d)](Y(0xd2)+i);h&&h!==process['cwd']()&&Log[Y(0x13d)](Y(0xc4)+h);const A=process[Y(0x145)]===Y(0x140);A&&(Log[Y(0x16e)](Y(0x14f)),Log[Y(0x16e)]('\x20\x20Open\x20an\x20administrative\x20PowerShell\x20terminal,\x20then\x20run:\x20'),Log[Y(0x16e)](Y(0x122)+a17e[Y(0x134)](j)+'\x22'));}catch(T){console[Y(0xfc)](T),process[Y(0xd4)](0x0);}});
@@ -1 +1 @@
1
- const a18m=a18d;(function(a,b){const j=a18d,c=a();while(!![]){try{const d=parseInt(j(0x95))/0x1+parseInt(j(0xb6))/0x2*(-parseInt(j(0x9f))/0x3)+-parseInt(j(0x94))/0x4+-parseInt(j(0xae))/0x5*(-parseInt(j(0x97))/0x6)+parseInt(j(0x99))/0x7+-parseInt(j(0x91))/0x8*(parseInt(j(0x92))/0x9)+-parseInt(j(0xb9))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a18c,0x9937c));const a18b=(function(){let a=!![];return function(b,c){const d=a?function(){const k=a18d;if(c){const e=c[k(0x98)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a18a=a18b(this,function(){const l=a18d;return a18a[l(0xbb)]()['search'](l(0xbe))[l(0xbb)]()[l(0xb1)](a18a)[l(0x9c)](l(0xbe));});function a18d(a,b){const c=a18c();return a18d=function(d,e){d=d-0x90;let f=c[d];return f;},a18d(a,b);}a18a();import a18e from'path';import a18f from'fs';import a18g from'dotenv';import{Command}from'../command.js';import{Log}from'../tools/log/log.class.js';const syncSource=function(a){a18f['openSync'](a,'r'),a18g['config']({'path':a});};Command[a18m(0xb7)]({'name':a18m(0xb5),'usage':a18m(0xb8),'validOpts':['env',a18m(0xaf),a18m(0xab),a18m(0xba)],'maxArgLength':0x1,'shortDesc':a18m(0xa6),'mustBeInMakaProject':!![],'examples':[a18m(0x9d),a18m(0xa9),'maka\x20debug\x20--raw-logs',a18m(0xac),a18m(0xa0)]},function(a,b){const n=a18m;try{let c=this[n(0xa3)][n(0xaa)](n(0xb0));b[n(0x9a)]&&(c=this['getConfigPath'](b[n(0x9a)]));const d=a18e['join'](c,'process.env'),f=a18e[n(0xa4)](c,n(0x96));this[n(0xa3)][n(0xb4)](f)?(Log[n(0xa8)](n(0xbd)+f),a=a['concat'](['--settings',f])):Log[n(0xad)](n(0xb3)+f);this[n(0xa3)][n(0xb4)](d)?(Log['notice'](n(0xa1)+d),syncSource(d)):Log[n(0xad)](n(0xbc)+d);const g=process['argv']['slice'](0x2)[n(0x9e)](h=>h!==n(0xb5))[n(0x9e)](h=>h!==a[0x0]);g[n(0x9b)]((h,i)=>{const o=n;h===o(0xa7)&&g[o(0xa5)](i,0x2),h===o(0xa2)&&g[o(0xa5)](i,0x1);}),Log[n(0xad)]('Running\x20in\x20Debug'),this[n(0xa3)]['invokeMeteorCommand'](n(0xb5),a[n(0xb2)](g));}catch(h){console[n(0x93)](h),process[n(0x90)](0x0);}});function a18c(){const p=['forEach','search','maka\x20debug\x20--env\x20prod','filter','1971IxlnoK','maka\x20debug\x20--inspect','Node\x20Env\x20Config:\x20','--packages','fsi','join','splice','Debug\x20your\x20app\x20for\x20a\x20given\x20environment.','--env','notice','maka\x20debug\x20--env\x20dev','getConfigPath','port','maka\x20debug\x20--port\x204000','warn','1316545hmXZEV','rawLogs','development','constructor','concat','Cannot\x20find\x20Meteor\x20Settings\x20File:\x20','isFile','debug','1676KAwJOe','create','maka\x20debug','209420qYFFBV','inspect','toString','Cannot\x20find\x20Node\x20Environment\x20File:\x20','Meteor\x20Settings:\x20','(((.+)+)+)+$','exit','1093912biMkZe','27XTCDbC','error','4361496YcWeiu','1104237wuGxaR','settings.json','12tOrqhq','apply','7481768WtXkLY','env'];a18c=function(){return p;};return a18c();}
1
+ const a18m=a18d;(function(a,b){const j=a18d,c=a();while(!![]){try{const d=-parseInt(j(0xe5))/0x1+parseInt(j(0xde))/0x2+-parseInt(j(0xfa))/0x3+-parseInt(j(0xfb))/0x4*(-parseInt(j(0xf9))/0x5)+parseInt(j(0xcb))/0x6*(-parseInt(j(0xdb))/0x7)+-parseInt(j(0xf0))/0x8+parseInt(j(0xf2))/0x9;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a18c,0x80888));function a18c(){const p=['create','forEach','notice','(((.+)+)+)+$','process.env','3017tCrajf','maka\x20debug\x20--port\x204000','constructor','1072974dnqIhR','getConfigPath','invokeMeteorCommand','Node\x20Env\x20Config:\x20','--env','slice','filter','609092SDzjJc','error','maka\x20debug\x20--env\x20prod','env','concat','search','maka\x20debug\x20--raw-logs','maka\x20debug\x20--env\x20dev','config','warn','Cannot\x20find\x20Node\x20Environment\x20File:\x20','3355032cAqbHH','openSync','21327804ZCypkG','isFile','--packages','Debug\x20your\x20app\x20for\x20a\x20given\x20environment.','debug','toString','maka\x20debug\x20--inspect','2211245fZRfyY','2499843IabGAl','4zGyLpG','--settings','Meteor\x20Settings:\x20','13368qAVcxC','settings.json','splice','join','inspect','port','development','maka\x20debug','fsi','Cannot\x20find\x20Meteor\x20Settings\x20File:\x20','rawLogs'];a18c=function(){return p;};return a18c();}function a18d(a,b){const c=a18c();return a18d=function(d,e){d=d-0xcb;let f=c[d];return f;},a18d(a,b);}const a18b=(function(){let a=!![];return function(b,c){const d=a?function(){if(c){const e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a18a=a18b(this,function(){const k=a18d;return a18a[k(0xf7)]()[k(0xea)](k(0xd9))[k(0xf7)]()[k(0xdd)](a18a)[k(0xea)](k(0xd9));});a18a();import a18e from'path';import a18f from'fs';import a18g from'dotenv';import{Command}from'../command.js';import{Log}from'../tools/log/log.class.js';const syncSource=function(a){const l=a18d;a18f[l(0xf1)](a,'r'),a18g[l(0xed)]({'path':a});};Command[a18m(0xd6)]({'name':'debug','usage':a18m(0xd2),'validOpts':[a18m(0xe8),a18m(0xd5),a18m(0xd0),a18m(0xcf)],'maxArgLength':0x1,'shortDesc':a18m(0xf5),'mustBeInMakaProject':!![],'examples':[a18m(0xe7),a18m(0xec),a18m(0xeb),a18m(0xdc),a18m(0xf8)]},function(a,b){const n=a18m;try{let c=this[n(0xd3)][n(0xdf)](n(0xd1));b[n(0xe8)]&&(c=this[n(0xdf)](b['env']));const d=a18e[n(0xce)](c,n(0xda)),f=a18e[n(0xce)](c,n(0xcc));this['fsi'][n(0xf3)](f)?(Log[n(0xd8)](n(0xfd)+f),a=a[n(0xe9)]([n(0xfc),f])):Log[n(0xee)](n(0xd4)+f);this[n(0xd3)][n(0xf3)](d)?(Log[n(0xd8)](n(0xe1)+d),syncSource(d)):Log['warn'](n(0xef)+d);const g=process['argv'][n(0xe3)](0x2)[n(0xe4)](h=>h!==n(0xf6))[n(0xe4)](h=>h!==a[0x0]);g[n(0xd7)]((h,i)=>{const o=n;h===o(0xe2)&&g[o(0xcd)](i,0x2),h===o(0xf4)&&g[o(0xcd)](i,0x1);}),Log[n(0xee)]('Running\x20in\x20Debug'),this[n(0xd3)][n(0xe0)](n(0xf6),a[n(0xe9)](g));}catch(h){console[n(0xe6)](h),process['exit'](0x0);}});
@@ -1 +1 @@
1
- const a19am=a19d;(function(a,b){const aj=a19d,c=a();while(!![]){try{const d=parseInt(aj(0x18a))/0x1*(-parseInt(aj(0x162))/0x2)+-parseInt(aj(0x1be))/0x3*(-parseInt(aj(0x197))/0x4)+-parseInt(aj(0x16e))/0x5+parseInt(aj(0x21a))/0x6+parseInt(aj(0x20c))/0x7*(parseInt(aj(0x179))/0x8)+-parseInt(aj(0x1ae))/0x9+-parseInt(aj(0x1d9))/0xa*(-parseInt(aj(0x1d6))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a19c,0xdc267));const a19b=(function(){let a=!![];return function(b,c){const d=a?function(){const ak=a19d;if(c){const e=c[ak(0x13c)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a19a=a19b(this,function(){const al=a19d;return a19a['toString']()[al(0x20a)](al(0x214))['toString']()['constructor'](a19a)['search'](al(0x214));});a19a();function a19d(a,b){const c=a19c();return a19d=function(d,e){d=d-0x11f;let f=c[d];return f;},a19d(a,b);}import a19e from'path';import a19f from'fs';import{execSync}from'child_process';import a19g from'semver';import{Command}from'../command.js';import{Log}from'../tools/log/log.class.js';function a19c(){const at=['filter','ssh.json','includes','Attempting\x20to\x20setup\x20SSL\x20using\x20LetsEncrypt','\x20\x20cp\x20app.tar.gz.bk\x20app.tar.gz\x0a','.meteor','Warning:\x20','127.0.0.1','\x09ssl_ciphers\x20\x22ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:kEDH+','delete','\x20--email\x20','parse','npm\x20install\x20-g\x20pm2@latest\x0a','2RqhbDR','pm2\x20start\x20~/pm2.config.js\x0a','sudo\x20mkdir\x20-p\x20/etc/nginx/ssl/\x0a','\x09\x09alias\x20/home/','\x09location\x20=\x20/favicon.ico\x20{\x0a','echo\x20\x22test\x20-f\x20~/.bashrc\x20&&\x20.\x20~/.bashrc\x22\x20>\x20~/.bash_profile\x0a','--settings','\x09\x09proxy_http_version\x201.1;\x0a','\x09server_name\x20','This\x20project\x27s\x20meteor\x20version\x20(','_keys','join','3372140bFvkna','\x09root\x20/usr/share/nginx/html;\x0a','ses.json','echo\x20\x22\x22\x20&&\x20sudo\x20systemctl\x20status\x20nginx\x20|\x20grep\x20Active\x20&&\x20echo\x20\x22\x22','pm2\x20update\x0a','\x09ssl\x20on;\x0a','touch\x20~/.bash_profile\x20~/.bashrc\x0a','\x09\x09rewrite\x20\x20\x20\x20\x20^\x20https://$server_name$request_uri?\x20permanent;\x0a','existsSync','\x09\x09if\x20($uri\x20!=\x20\x27/\x27)\x20{\x0a','\x09\x09proxy_set_header\x20Host\x20$host;\x0a','3429016BhbZig','Deployment\x20complete','exit','maka\x20deploy\x20ubuntu\x20--env\x20prod','scp','wget\x20-qO\x20-\x20https://www.mongodb.org/static/pgp/server-4.2.asc\x20|\x20sudo\x20apt-key\x20add\x20-\x0a','Verifying\x20PM2','getProjectConfig','~/pm2.config.js','config.json','Found\x20existing\x20bundle,\x20would\x20you\x20like\x20to\x20rebuild\x20it?','echo\x20\x22Attempting\x20to\x20decompress\x20the\x20bundle\x22\x0a','.crt;\x0a','error','ssh','--server=','readFileSync','767297kLZlWZ','noRebuild','pathFromProject','\x09ssl_prefer_server_ciphers\x20on;\x0a','Mobile\x20server\x20port:\x20','\x09ssl_protocols\x20TLSv1\x20TLSv1.1\x20TLSv1.2;\x0a','plan','\x09ssl_certificate_key\x20/etc/nginx/ssl/','confirm','cd\x20~\x0a','win32','I\x20could\x20not\x20find\x20a\x20valid\x20CRT\x20file,\x20please\x20provide\x20the\x20name\x20of\x20the\x20CRT\x20file\x20in\x20the\x20_keys/\x20directory:','build','4vFuusa','template','serverPort','\x20settings.json.\x20\x20See\x20https://cloud-guide.meteor.com/environment-variables.html\x20for\x20info','fsi','exit\x200','pm2.config.js','echo\x20\x22deb\x20[\x20arch=amd64\x20]\x20https://repo.mongodb.org/apt/ubuntu\x20bionic/mongodb-org/4.2\x20multiverse\x22\x20|\x20sudo\x20tee\x20/etc/apt/sources.list.d/mongodb-org-4.2.list\x0a','\x09\x27\x27\x20\x20\x20\x20\x20\x20close;\x0a','sudo\x20cp\x20override.conf\x20/etc/systemd/system/nginx.service.d/override.conf\x0a','ping','setProjectConfig','\x20or\x20','app.tar.gz','Please\x20specify\x20which\x20galaxy\x20pricing\x20plan\x20(e.g.,\x20--free).','end','basic','[\x20-d\x20/etc/systemd/system/nginx.service.d\x20]\x20&&\x20echo\x20\x22nginx.service.d\x20exists\x22\x20||\x20sudo\x20mkdir\x20/etc/systemd/system/nginx.service.d\x0a','meteor','#\x20backup\x20tar\x20bundle\x0a','server\x20{\x0a','\x09\x09return\x20303\x20https://browser-update.org/update.html;\x0a','0.0.0.0','14570730pBRrSA','grep','https','\x20\x20echo\x20\x22No\x20bundle\x20found,\x20using\x20backup\x22\x0a','\x09\x09\x09expires\x2030d;\x0a','invokeMeteorCommand','open','settings.json','http','app','maka\x20deploy\x20galaxy\x20--env\x20prod\x20--free','maka\x20deploy\x20galaxy\x20-e\x20p\x20--plan=professional\x20|\x20essentials','#\x20bring\x20back\x20up\x20nginx\x0a','#\x20rm\x20-f\x20~/app.tar.gz.bk\x0a','email','.key;\x0a','4648827uvQhLY','sslAnswer','concat','sudo\x20apt-get\x20update\x0a',').\x20Continue?','Could\x20not\x20connect\x20to\x20remote\x20host.\x20Please\x20check\x20your\x20ssh.json\x20config\x20file.','mv\x20~/app.tar.gz\x20~/app.tar.gz.bk\x0a','ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-','notice','findProjectDirectory','.crt','#\x20Nginx\x20will\x20be\x20restarted\x20just\x20before\x20completing\x20the\x20deployment.\x0a','none','No\x20🤔','Run\x20\x22maka\x20deploy\x20help\x22\x20for\x20examples.',')\x20is\x20behind\x20your\x20installed\x20meteor\x20version\x20(','source\x20~/.bashrc\x0a','cd\x20bundle/programs/server\x0a','meteor.bat','host','sudo\x20nginx\x20-s\x20stop\x0a','sudo\x20env\x20PATH=$PATH:$(which\x20npm)\x20$(which\x20pm2)\x20startup\x20systemd\x20-u\x20','nginx.conf','#\x20Decompress\x20the\x20bundle\x0a','594gYLMDx','Verifying\x20Nginx','getConfigPath','8070fDxGYl','getProjectsMeteorNodeVersion','sudo\x20','serverName','Deploy\x20your\x20application','mongo','pm2\x20delete\x20all\x0a','AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:','env','galaxy','sudo\x20ln\x20-s\x20/snap/bin/certbot\x20/usr/bin/certbot','\x09location\x20/\x20{\x0a','options','port','force','Domains\x20to\x20register\x20(comma\x20separated):\x20','Please\x20provide\x20a\x20deployment\x20platform:\x20','\x09index\x20index.html\x20index.htm;\x0a','toString','/bundle/programs/web.browser/app;\x0a','\x09\x09proxy_set_header\x20Upgrade\x20$http_upgrade;\x0a','rm\x20-rf\x20~/.bash_profile\x20~/.bashrc\x0a','nvm\x20alias\x20default\x20','Pushing\x20up\x20deploy\x20scripts\x20...','map\x20$http_upgrade\x20$connection_upgrade\x20{\x0a','finish','rm\x20-rf\x20~/maka-env/nvm-install\x0a','\x20\x20echo\x20\x22Bundle\x20found,\x20decompressing\x22\x0a','warn','letsencrypt.json','splice','Checking\x20remote\x20host\x20availability\x20using\x20','nvm\x20install\x20','#\x20install\x20git\x20and\x20nginx\x0a','\x20--hp\x20/home/','\x09listen\x20[::]:80\x20default_server\x20ipv6only=on;\x0a','config/pm2.config.js','sudo\x20mv\x20~/','appName','trim','SHA384:ECDHE-RSA-RC4-SHA:ECDHE-ECDSA-RC4-SHA:RC4-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK\x22;\x0a','if\x20[\x20-f\x20app.tar.gz\x20];\x20then\x0a','domains','443','getProjectMeteorVersion','\x09add_header\x20Strict-Transport-Security\x20\x22max-age=31536000;\x22;\x0a','settings','\x09listen\x20443\x20ssl;\x0a','\x09\x09proxy_set_header\x20Connection\x20\x22upgrade\x22;\x0a','search','Running\x20deployment\x20scripts\x20on\x20remote\x20server','14dMLLdA','sudo\x20certbot\x20--nginx\x20--agree-tos\x20--expand\x20-n\x20--domains\x20','getConfigFromShorthand','letsencrypt','user','#\x20remove\x20backup\x20tar,\x20if\x20any\x0a','write','debug','(((.+)+)+)+$','#\x20Reset\x20pm2\x20\x0a','\x09\x09}\x0a','server_tokens\x20off;\x0a','~/settings.json','\x20\x20exit\x201\x0a','9071934bFprOZ','platform','\x09ssl_certificate\x20/etc/nginx/ssl/','\x09ssl_certificate\x20;\x0a','~/deploy.sh','.key','Building\x20deployment\x20script\x20...','ask','Supplied\x20SSL\x20/\x20CRT\x20file','Would\x20you\x20like\x20to\x20save\x20the\x20server\x20config\x20in\x20your\x20.maka/config.json\x20file?\x20[yn]','amazon','deploy','://','\x20\x20echo\x20\x22Could\x20not\x20find\x20app.tar.gz,\x20exiting!\x22\x0a','ubuntu','domainNames','\x09index\x20index.html;\x0a','\x09\x09proxy_pass\x20http://0.0.0.0:3000;\x0a','Meteor\x20Settings:\x20','createWriteStream','writeFileSync','pm2\x20startup\x0a','Are\x20you\x20ready\x20to\x20deploy?','fi\x0a','slice','#\x20Configure\x20pm2\x20to\x20start\x20on\x20boot\x0a','#\x20updating\x20PM2\x20to\x20latest\x0a','Aborted','source\x20~/.bashrc\x20&&\x20echo\x20\x22\x22\x20&&\x20pm2\x20status\x20&&\x20echo\x20\x22\x22','readFileLines','list','\x09listen\x2080\x20default_server;\x0a','sudo\x20systemctl\x20enable\x20mongod.service\x0a','~/nginx.conf','forEach','Pushing\x20up\x20bundle\x20...','Email\x20to\x20use\x20for\x20auto-updates:\x20','\x09\x09proxy_set_header\x20X-Forwarded-For\x20$remote_addr;\x0a','stringify','Run\x20\x22maka\x20deploy\x20--help\x22\x20for\x20examples.','\x20/etc/nginx/ssl/','sshSync','#\x20Bring\x20up\x20pm2\x20with\x20environment\x0a','PM2\x20has\x20MONGO_URL\x20pointing\x20to\x20localhost;\x20deployment\x20will\x20install\x20a\x20local\x20mongo\x20instance.','pm2\x20save\x0a','Error\x20in\x20deployment:','maka\x20deploy\x20<server-type>','deploy.sh','maka\x20deploy\x20galaxy\x20-e\x20p\x20--delete','sudo\x20apt-get\x20install\x20-y\x20mongodb-org\x0a','apply','~/app.tar.gz','inherit','sudo\x20snap\x20install\x20--classic\x20certbot','Deployed\x20to:\x20','length','apt','verbose','--architecture=os.linux.x86_64','[!]\x20Server\x20name\x20or\x20port\x20number\x20are\x20not\x20long\x20enough!','\x09if\x20($http_user_agent\x20~\x20\x22MSIE\x22\x20)\x20{\x0a','\x20\x20tar\x20-xf\x20app.tar.gz\x0a','create','else\x0a','\x09ssl_session_timeout\x205m;\x0a','isFile','\x09}\x0a','ssl','Consider\x20updating\x20with\x20\x22maka\x20update\x20--release\x20','sudo\x20systemctl\x20daemon-reload\x20&&\x20sudo\x20systemctl\x20start\x20nginx\x0a','chmod\x20+x\x20~/deploy.sh\x20&&\x20./deploy.sh','success','Setting\x20up\x20letsencrypt','elif\x20[\x20-f\x20app.tar.gz.bk\x20];\x20then\x0a','platforms'];a19c=function(){return at;};return a19c();}import{SSH}from'../tools/ssh/ssh.class.js';import{Actions}from'../tools/actions/actions.class.js';Command[a19am(0x148)]({'name':a19am(0x225),'usage':a19am(0x138),'validOpts':[a19am(0x213),'env','ssl','domains',a19am(0x1de),'force',a19am(0x1bc),a19am(0x143),'v',a19am(0x18b),'free',a19am(0x190),a19am(0x15e),'letsencrypt'],'mustBeInMakaProject':!![],'requiredOpts':[a19am(0x1e1)],'shortDesc':a19am(0x1dd),'description':'\x0a\x20\x20Deploy\x20your\x20app\x20to\x20an\x20Ubuntu\x20server\x20running\x20in\x20AWS,\x20On\x20Prem,\x0a\x20\x20or\x20even\x20ARM,\x20or\x20to\x20Meteor\x20Galaxy\x20hosted\x20platform.','examples':[a19am(0x17c),a19am(0x1b8),a19am(0x1b9),a19am(0x13a),'maka\x20deploy\x20ubuntu\x20-e\x20p\x20--mongo\x20--ssl=letsencrypt\x20--domains=www.maka-cli.com\x20--email=admin@maka-cli.com']},async function(a,b){const an=a19am;try{const c=b['verbose']||b['v']?!![]:![],d=process[an(0x21b)]===an(0x194)?an(0x1d0):an(0x1a9),f=this[an(0x19b)][an(0x180)](),g=await this[an(0x19b)][an(0x1da)]();let h='';const i=['ubuntu','galaxy'];if(i[an(0x157)](a[0x0]))switch(a[0x1]){case an(0x228):h=an(0x142);break;case an(0x224):h='yum';break;default:h=an(0x142);}else{Log[an(0x186)](an(0x1e9)+i[an(0x16d)](an(0x1a3))),Log[an(0x186)](an(0x1cc));return;}const j=b[an(0x1e7)];try{const k=this[an(0x19b)][an(0x1d8)](b[an(0x1e1)]),l=this[an(0x19b)][an(0x20e)](b[an(0x1e1)]);if(a[an(0x157)](an(0x1e2))){if(!b[an(0x15e)]){if(!b[an(0x190)]&&!b['free']){Log[an(0x186)](an(0x1a5)),Log[an(0x186)](an(0x131));return;}}let w=process['argv'][an(0x122)](0x2)[an(0x155)](z=>z!==an(0x225))[an(0x155)](z=>z!==a[0x0]);w[an(0x12c)]((z,A)=>{const ao=an;z==='--env'&&w['splice'](A,0x2),z==='-e'&&w[ao(0x1f7)](A,0x2);});let x=a19e[an(0x16d)](k,an(0x1b5));b['settings']&&(x=b[an(0x207)]);if(this[an(0x19b)][an(0x14b)](x)){Log[an(0x1c6)](an(0x22c)+x),w=w[an(0x1c0)]([an(0x168),x]);const z=a19f[an(0x189)](x),A=JSON[an(0x160)](z['toString']());!A['galaxy.meteor.com']&&Log[an(0x1f5)]('No\x20\x22galaxy.meteor.com\x22\x20settings\x20found\x20in\x20'+l+an(0x19a));}else Log[an(0x1f5)]('Cannot\x20find\x20Meteor\x20Settings\x20File:\x20'+x);const y=[f[an(0x1ff)]+'-'+l];return this[an(0x19b)][an(0x1b3)](an(0x225),y[an(0x1c0)](w));}const m=a19e['join'](k,an(0x19d));!this[an(0x19b)]['isFile'](m)&&await this[an(0x19b)][an(0x198)]({'srcPath':an(0x1fd),'destPath':m,'context':{'app':f[an(0x1ff)],'isDocker':![]},'config':f});const n=a19e[an(0x16d)](k,an(0x156));!this[an(0x19b)][an(0x14b)](n)&&await this['fsi'][an(0x198)]({'srcPath':'config/ssh.json','destPath':n,'context':{'app':f[an(0x1ff)]},'config':f});const o=JSON['parse'](a19f[an(0x189)](n)[an(0x1eb)]()),p={'env':k,'user':o[an(0x210)],'host':o['host'],'port':o[an(0x1e6)],'pem':o['pem']};let q=b[an(0x203)],r=b[an(0x1bc)];try{a19f[an(0x189)](a19e[an(0x16d)](k,'letsencrypt.json')),Log['notice']('Using\x20letsencrypt.json'),b[an(0x20f)]=!![];}catch(B){b['letsencrypt']&&Log[an(0x1f5)]('No\x20letsencrypt.json\x20file\x20found.\x20You\x20will\x20be\x20prompted\x20at\x20the\x20end\x20of\x20deployment\x20for\x20configuration.');const C={'type':an(0x128),'name':an(0x1bf),'message':'Configure\x20SSL','choices':[{'name':'Free\x20SSL\x20with\x20Letsencrypt','value':an(0x20f)},{'name':an(0x222),'value':an(0x1a7)},{'name':an(0x1cb),'value':an(0x1ca)}]},{sslAnswer:D}=await Actions[an(0x1e5)](C);if(D===an(0x20f)){b[an(0x20f)]=!![],b['ssl']=![],q=q?q:await Actions[an(0x221)](an(0x1e8)),r=r?r:await Actions[an(0x221)](an(0x12e));const E={'domainNames':q,'emailUpdate':r},F=JSON[an(0x130)](E,null,0x2);a19f[an(0x22e)](a19e[an(0x16d)](k,an(0x1f6)),F);}else D===an(0x1a7)&&(b[an(0x20f)]=![],b[an(0x14d)]=!![]);}let s='',t='';if(b[an(0x14d)]&&!b[an(0x20f)]){s=f[an(0x1ff)]+an(0x21f);!a19f[an(0x176)](a19e[an(0x16d)](k,an(0x16c),s))&&(s=await Actions['ask']('I\x20could\x20not\x20find\x20a\x20valid\x20SSL\x20file,\x20please\x20provide\x20the\x20name\x20of\x20the\x20SSL\x20file\x20in\x20the\x20_keys/\x20directory:'));if(!a19f[an(0x176)](a19e['join'](k,'_keys',s)))throw'You\x20do\x20not\x20have\x20a\x20valid\x20SSL\x20file:\x20'+a19e[an(0x16d)](k,an(0x16c),s);t=f[an(0x1ff)]+an(0x1c8);!a19f[an(0x176)](a19e[an(0x16d)](k,an(0x16c),t))&&(t=await Actions[an(0x221)](an(0x195)));if(!a19f['existsSync'](a19e[an(0x16d)](k,an(0x16c),t)))throw'You\x20do\x20not\x20have\x20a\x20valid\x20ssl\x20crt.\x20\x20Looking\x20for:\x20'+a19e[an(0x16d)](k,'_keys',t);}Log['notice'](an(0x1f8)+n);try{const G=SSH[an(0x1a1)]('uname\x20-a',p,{'verbose':!![]});if(!G)throw an(0x1c3);if(G)Log[an(0x151)]('Remote\x20host\x20connection\x20successful');}catch(H){Log[an(0x186)](H);return;}Log[an(0x1c6)](an(0x220));const u=a19f['readFileSync'](a19e[an(0x16d)](k,an(0x19d))),v=this['fsi'][an(0x1af)](u[an(0x1eb)](),'MONGO_URL');(v[0x0]['trim']()[an(0x157)]('localhost')||v[0x0]['trim']()['includes'](an(0x15c))||v[0x0][an(0x200)]()[an(0x157)](an(0x1ad)))&&(b[an(0x1de)]=!![],Log['notice'](an(0x135)),Log['notice']('->\x20'+v[0x0][an(0x200)]()));try{const I=a19f[an(0x22d)](a19e[an(0x16d)](k,an(0x1d4)),{'flags':'w'});I['on']('open',function(){const ap=an;b[ap(0x14d)]&&!b['letsencrypt']?(I['write'](ap(0x217)),I[ap(0x212)](ap(0x1f1)),I[ap(0x212)]('\x09default\x20upgrade;\x0a'),I[ap(0x212)]('\x09\x27\x27\x20\x20\x20\x20\x20\x20close;\x0a'),I['write']('}\x0a'),I[ap(0x212)]('\x0a'),I[ap(0x212)]('server\x20{\x0a'),I[ap(0x212)](ap(0x129)),I['write'](ap(0x1fc)),I[ap(0x212)](ap(0x16a)+f[ap(0x1ff)]+';\x0a'),I['write'](ap(0x16f)),I['write'](ap(0x1ea)),I[ap(0x212)](ap(0x1e4)),I[ap(0x212)](ap(0x175)),I['write']('\x09}\x0a'),I[ap(0x212)]('}'),I[ap(0x212)]('\x0a'),I[ap(0x212)]('\x0a'),I[ap(0x212)]('server\x20{\x0a'),I['write'](ap(0x208)),I['write']('\x09server_name\x20'+f[ap(0x1ff)]+';\x0a'),I['write']('\x09root\x20html;\x0a'),I[ap(0x212)](ap(0x22a)),I[ap(0x212)](ap(0x173)),I[ap(0x212)](ap(0x21c)+f[ap(0x1ff)]+ap(0x185)),I[ap(0x212)](ap(0x191)+f['appName']+ap(0x1bd)),I[ap(0x212)](ap(0x21d)),I[ap(0x212)]('\x09ssl_certificate_key\x20;\x0a'),I[ap(0x212)]('\x09ssl_session_cache\x20shared:SSL:10m;\x0a'),I['write'](ap(0x14a)),I[ap(0x212)]('\x09\x0a'),I[ap(0x212)](ap(0x18d)),I[ap(0x212)](ap(0x18f)),I[ap(0x212)](ap(0x15d)+ap(0x1e0)+ap(0x1c5)+ap(0x201)),I[ap(0x212)](ap(0x206)),I[ap(0x212)]('\x09\x0a'),I[ap(0x212)](ap(0x146)),I[ap(0x212)](ap(0x1ac)),I[ap(0x212)]('\x09}\x0a'),I[ap(0x212)](ap(0x166)),I[ap(0x212)]('\x09\x09alias\x20/home/'+o[ap(0x210)]+ap(0x1ec)),I['write']('\x09}\x0a'),I[ap(0x212)]('\x09\x0a'),I[ap(0x212)]('\x09location\x20/\x20{\x0a'),I[ap(0x212)](ap(0x22b)),I[ap(0x212)](ap(0x169)),I[ap(0x212)](ap(0x1ed)),I[ap(0x212)](ap(0x209)),I[ap(0x212)]('\x09\x09proxy_set_header\x20X-Forwarded-For\x20$remote_addr;\x0a'),I[ap(0x212)](ap(0x178)),I['write'](ap(0x177)),I[ap(0x212)](ap(0x1b2)),I[ap(0x212)](ap(0x216)),I['write'](ap(0x14c)),I[ap(0x212)]('}')):(I[ap(0x212)](ap(0x217)),I[ap(0x212)](ap(0x1f1)),I[ap(0x212)]('\x09default\x20upgrade;\x0a'),I[ap(0x212)](ap(0x19f)),I[ap(0x212)]('}\x0a'),I[ap(0x212)]('\x0a'),I[ap(0x212)](ap(0x1ab)),I[ap(0x212)](ap(0x129)),I[ap(0x212)](ap(0x1fc)),I[ap(0x212)]('\x09if\x20($http_user_agent\x20~\x20\x22MSIE\x22\x20)\x20{\x0a'),I[ap(0x212)](ap(0x1ac)),I['write'](ap(0x14c)),I[ap(0x212)]('\x09location\x20=\x20/favicon.ico\x20{\x0a'),I['write'](ap(0x165)+o[ap(0x210)]+ap(0x1ec)),I[ap(0x212)](ap(0x14c)),I[ap(0x212)]('\x09\x0a'),I['write']('\x09location\x20/\x20{\x0a'),I[ap(0x212)]('\x09\x09proxy_pass\x20http://0.0.0.0:3000;\x0a'),I[ap(0x212)]('\x09\x09proxy_http_version\x201.1;\x0a'),I[ap(0x212)]('\x09\x09proxy_set_header\x20Upgrade\x20$http_upgrade;\x0a'),I[ap(0x212)](ap(0x209)),I[ap(0x212)](ap(0x12f)),I['write'](ap(0x178)),I[ap(0x212)](ap(0x177)),I['write'](ap(0x1b2)),I[ap(0x212)](ap(0x216)),I[ap(0x212)](ap(0x14c)),I[ap(0x212)]('}'));}),I['on'](an(0x1f2),function(){const aq=an;I[aq(0x1a6)]();});const J=a19f[an(0x22d)](a19e[an(0x16d)](k,an(0x139)),{'flags':'w'});J['on'](an(0x1b4),function(){const ar=an;J[ar(0x212)]('sudo\x20apt-get\x20update\x0a'),J['write'](ar(0x1fa)),J[ar(0x212)](ar(0x1db)+h+'\x20install\x20build-essential\x20git\x20nginx\x20-y\x0a'),b['mongo']===!![]&&(J[ar(0x212)]('#\x20install\x20and\x20configure\x20local\x20mongo\x0a'),J[ar(0x212)](ar(0x17e)),J[ar(0x212)](ar(0x19e)),J[ar(0x212)](ar(0x1c1)),J[ar(0x212)](ar(0x13b)),J['write']('sudo\x20service\x20mongod\x20start\x0a'),J[ar(0x212)](ar(0x12a))),J[ar(0x212)]('#\x20setup\x20node\x20and\x20npm\x20with\x20the\x20proper\x20node\x20version\x20using\x20nvm\x0a'),J[ar(0x212)]('git\x20clone\x20https://gist.github.com/c427ccd6f4377b39299b9d402f5d51fe.git\x20~/maka-env/nvm-install\x0a'),J[ar(0x212)](ar(0x1ee)),J['write'](ar(0x174)),J[ar(0x212)](ar(0x167)),J['write']('chmod\x20+x\x20~/maka-env/nvm-install/nvm-install.sh\x20&&\x20~/maka-env/nvm-install/nvm-install.sh\x0a'),J[ar(0x212)](ar(0x1ce)),J['write'](ar(0x1f9)+g+'\x0a'),J[ar(0x212)](ar(0x1ef)+g+'\x0a'),J[ar(0x212)](ar(0x161)),J['write'](ar(0x1f3)),J[ar(0x212)]('#\x20Prepare\x20nginx\x0a'),J[ar(0x212)](ar(0x1a8)),J['write']('printf\x20\x22[Service]\x5cnExecStartPost=/bin/sleep\x200.1\x5cn\x22\x20>\x20override.conf\x0a'),J['write'](ar(0x1a0)),J['write']('sudo\x20systemctl\x20daemon-reload\x20||\x20null\x0a'),J[ar(0x212)]('sudo\x20systemctl\x20stop\x20nginx\x0a'),J[ar(0x212)](ar(0x1d2)),J[ar(0x212)](ar(0x1c9)),J[ar(0x212)]('sudo\x20cp\x20~/nginx.conf\x20/etc/nginx/sites-enabled/default\x0a'),b['ssl']&&!b[ar(0x20f)]&&(J[ar(0x212)](ar(0x164)),J[ar(0x212)]('sudo\x20mv\x20~/'+s+ar(0x132)+s+'\x0a'),J[ar(0x212)](ar(0x1fe)+t+ar(0x132)+t+'\x0a')),J[ar(0x212)](ar(0x1d5)),J[ar(0x212)](ar(0x184)),J[ar(0x212)](ar(0x202)),J[ar(0x212)](ar(0x1f4)),J['write'](ar(0x147)),J[ar(0x212)](ar(0x153)),J[ar(0x212)](ar(0x1b1)),J[ar(0x212)](ar(0x159)),J[ar(0x212)]('\x20\x20tar\x20-xf\x20app.tar.gz\x0a'),J[ar(0x212)](ar(0x149)),J['write'](ar(0x227)),J['write'](ar(0x219)),J[ar(0x212)](ar(0x121)),J['write'](ar(0x1cf)),J[ar(0x212)]('npm\x20install\x0a'),J['write']('npm\x20audit\x20fix\x20--force\x0a'),J[ar(0x212)](ar(0x193)),J[ar(0x212)](ar(0x215)),J[ar(0x212)](ar(0x1df)),J[ar(0x212)](ar(0x124)),J[ar(0x212)](ar(0x172)),J['write'](ar(0x134)),J[ar(0x212)](ar(0x163)),J[ar(0x212)](ar(0x123)),J[ar(0x212)](ar(0x11f)),J[ar(0x212)](ar(0x1d3)+o[ar(0x210)]+ar(0x1fb)+o[ar(0x210)]+'\x0a'),J[ar(0x212)](ar(0x136)),J[ar(0x212)](ar(0x1ba)),J[ar(0x212)](ar(0x14f)),J[ar(0x212)](ar(0x211)),J['write'](ar(0x1bb)),J[ar(0x212)](ar(0x1aa)),J[ar(0x212)](ar(0x1c4)),J['write'](ar(0x19c));}),J['on']('finish',function(){const as=an;J[as(0x1a6)]();}),Log['success']('Deployment\x20script\x20written\x20to:\x20'+a19e[an(0x16d)](k,an(0x139)));if(!j){const a1=await Actions['confirm'](an(0x120));if(!a1)throw'Aborted\x20deployment!';}const K=[an(0x196),a19e[an(0x16d)](this['fsi'][an(0x1c7)](),an(0x196)),an(0x144)];try{const a2=this[an(0x19b)][an(0x127)](a19e[an(0x16d)](this[an(0x19b)][an(0x18c)]({}),an(0x1b7),an(0x15a),an(0x154))),a3=a2[an(0x141)]>0x2?!![]:![];if(a3){const a4=f[an(0x1dc)]?f[an(0x1dc)]:await Actions[an(0x221)]('Mobile\x20server\x20IP\x20or\x20fully\x20qualified\x20domain\x20name\x20(FQDN):\x20'),a5=f[an(0x199)]?f[an(0x199)]:await Actions['ask'](an(0x18e));if(a4['length']==0x0||a5[an(0x141)]==0x0)throw an(0x145);const a6=a5==an(0x204)?an(0x1b0):an(0x1b6);K['push'](an(0x188)+a6+an(0x226)+a4+':'+a5);if(!f[an(0x1dc)]&&!f[an(0x199)]){const a7=await Actions['ask'](an(0x223));a7&&(this[an(0x19b)]['setProjectConfig'](an(0x1dc),a4),this['fsi'][an(0x1a2)](an(0x199),a5),Log['notice']('Stored\x20server\x20config\x20to\x20'+a19e[an(0x16d)]('.maka',an(0x182))));}}}catch(a8){Log['error'](a8);return;}const L=a19e[an(0x16d)](this[an(0x19b)][an(0x18c)]({}),an(0x196),an(0x1a4)),M=this[an(0x19b)]['getGlobalMeteorVersion'](),N=this[an(0x19b)][an(0x205)](),O=a19g['gt'](M,N);if(O&&!j){const a9=await Actions['confirm'](an(0x16b)+N+an(0x1cd)+M+an(0x1c2),![]);if(!a9){Log[an(0x186)](an(0x125)),Log[an(0x1c6)](an(0x14e)+M+'\x22');return;}}let P=!![];a19f[an(0x176)](L)&&!j&&(P=await Actions[an(0x192)](an(0x183)));P&&(execSync(d+'\x20npm\x20install\x20--save',{'cwd':this[an(0x19b)]['findAppDirectory'](),'stdio':'ignore'}),execSync(d+'\x20'+K[an(0x16d)]('\x20'),{'cwd':this[an(0x19b)]['findAppDirectory'](),'stdio':an(0x13e)}));Log[an(0x1c6)](an(0x12d));const Q={'source':L,'dest':an(0x13d),'verbose':!![]};SSH[an(0x17d)](Q,p),Log[an(0x1c6)](an(0x1f0));const R=a19e[an(0x16d)](k,an(0x139)),S={'source':R,'dest':an(0x21e),'verbose':!![]};SSH['scp'](S,p);const T=a19e[an(0x16d)](k,an(0x1d4)),U={'source':T,'dest':an(0x12b),'verbose':!![]};SSH[an(0x17d)](U,p);const V=a19e[an(0x16d)](k,'pm2.config.js'),W={'source':V,'dest':an(0x181),'verbose':!![]};SSH[an(0x17d)](W,p);const X=a19e[an(0x16d)](k,an(0x1b5)),Y={'source':X,'dest':an(0x218),'verbose':!![]};SSH[an(0x17d)](Y,p);if(b['ssl']&&!b['letsencrypt']){s=a19e['join'](k,'_keys',s);const aa={'source':s,'dest':s};SSH[an(0x17d)](aa,p),t=a19e['join'](k,'_keys',t);const ab={'source':t,'dest':t};SSH[an(0x17d)](ab,p);}const Z=a19e['join'](k,an(0x16c),an(0x170));if(a19f[an(0x176)](Z)){const ac={'source':Z,'dest':'~/ses.json','verbose':!![]};SSH[an(0x17d)](ac,p);}const a0=an(0x20b);await SSH[an(0x187)](an(0x150),p,{'verbose':c,'message':a0}),Log[an(0x1c6)](an(0x1d7)),SSH[an(0x133)](an(0x171),p,{'tty':!![],'verbose':!![]}),Log[an(0x1c6)](an(0x17f)),SSH['sshSync'](an(0x126),p,{'tty':!![],'verbose':!![]}),Log['success'](an(0x140)+o[an(0x1d1)]);if(b[an(0x20f)]){Log[an(0x1c6)](an(0x158));try{const ad=a19f[an(0x189)](a19e['join'](k,an(0x1f6))),ae=JSON[an(0x160)](ad[an(0x1eb)]());q=b['domains']?b[an(0x203)]:ae[an(0x229)],r=b[an(0x1bc)]?b[an(0x1bc)]:ae['emailUpdate'],(!b[an(0x1bc)]||!b[an(0x203)])&&Log['notice']('Using\x20saved\x20letsencrypt\x20config');}catch(af){Log[an(0x1f5)](an(0x15b)+af);}Log[an(0x1c6)](an(0x152)),SSH[an(0x187)]('sudo\x20snap\x20install\x20core;\x20sudo\x20snap\x20refresh\x20core',p),SSH[an(0x187)](an(0x13f),p),SSH['ssh'](an(0x1e3),p),SSH[an(0x187)](an(0x20d)+q+an(0x15f)+r,p);}Log[an(0x151)](an(0x17a));}catch(ag){Log['error']('Error\x20in\x20deployment:'),Log[an(0x186)](ag);}}catch(ah){Log[an(0x186)](an(0x137)),Log[an(0x186)](ah);}}catch(ai){console[an(0x186)](ai),process[an(0x17b)](0x0);}});
1
+ function a19d(a,b){const c=a19c();return a19d=function(d,e){d=d-0x171;let f=c[d];return f;},a19d(a,b);}const a19am=a19d;(function(a,b){const aj=a19d,c=a();while(!![]){try{const d=parseInt(aj(0x1f7))/0x1+-parseInt(aj(0x245))/0x2+parseInt(aj(0x1e4))/0x3*(-parseInt(aj(0x202))/0x4)+-parseInt(aj(0x1b4))/0x5+parseInt(aj(0x207))/0x6*(-parseInt(aj(0x197))/0x7)+-parseInt(aj(0x217))/0x8+-parseInt(aj(0x17e))/0x9*(-parseInt(aj(0x1ae))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a19c,0x284e6));const a19b=(function(){let a=!![];return function(b,c){const d=a?function(){const ak=a19d;if(c){const e=c[ak(0x19c)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a19a=a19b(this,function(){const al=a19d;return a19a[al(0x176)]()['search']('(((.+)+)+)+$')[al(0x176)]()[al(0x21c)](a19a)[al(0x22e)](al(0x24f));});a19a();import a19e from'path';import a19f from'fs';function a19c(){const at=['touch\x20~/.bash_profile\x20~/.bashrc\x0a','git\x20clone\x20https://gist.github.com/c427ccd6f4377b39299b9d402f5d51fe.git\x20~/maka-env/nvm-install\x0a','echo\x20\x22Attempting\x20to\x20decompress\x20the\x20bundle\x22\x0a','fsi','Running\x20deployment\x20scripts\x20on\x20remote\x20server','push','Meteor\x20Settings:\x20','getProjectsMeteorNodeVersion','I\x20could\x20not\x20find\x20a\x20valid\x20SSL\x20file,\x20please\x20provide\x20the\x20name\x20of\x20the\x20SSL\x20file\x20in\x20the\x20_keys/\x20directory:','config/pm2.config.js','\x20--email\x20','ssh.json','\x09\x09\x09expires\x2030d;\x0a','notice','isFile','\x09listen\x2080\x20default_server;\x0a','sudo\x20nginx\x20-s\x20stop\x0a','invokeMeteorCommand','13461XOuARD','sudo\x20mv\x20~/','deploy.sh','sudo\x20mkdir\x20-p\x20/etc/nginx/ssl/\x0a','_keys','\x20settings.json.\x20\x20See\x20https://cloud-guide.meteor.com/environment-variables.html\x20for\x20info','pathFromProject','This\x20project\x27s\x20meteor\x20version\x20(','No\x20🤔','\x20/etc/nginx/ssl/','setProjectConfig','pm2\x20update\x0a','\x09ssl_prefer_server_ciphers\x20on;\x0a','sudo\x20cp\x20override.conf\x20/etc/systemd/system/nginx.service.d/override.conf\x0a','galaxy','sudo\x20cp\x20~/nginx.conf\x20/etc/nginx/sites-enabled/default\x0a','Pushing\x20up\x20deploy\x20scripts\x20...','ignore','env','259203GKITdm','\x20install\x20build-essential\x20git\x20nginx\x20-y\x0a','\x20\x20exit\x201\x0a','#\x20remove\x20backup\x20tar,\x20if\x20any\x0a','finish',').\x20Continue?','npm\x20audit\x20fix\x20--force\x0a','Error\x20in\x20deployment:','Remote\x20host\x20connection\x20successful','fi\x0a','server_tokens\x20off;\x0a','176slOGxP','galaxy.meteor.com','~/nginx.conf','pm2\x20save\x0a','Verifying\x20PM2','72ojqmIZ','\x09add_header\x20Strict-Transport-Security\x20\x22max-age=31536000;\x22;\x0a','error','serverPort','maka\x20deploy\x20galaxy\x20--env\x20prod\x20--free','\x09ssl_ciphers\x20\x22ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:kEDH+','meteor.bat','\x09root\x20html;\x0a','letsencrypt','#\x20Reset\x20pm2\x20\x0a','echo\x20\x22test\x20-f\x20~/.bashrc\x20&&\x20.\x20~/.bashrc\x22\x20>\x20~/.bash_profile\x0a','settings.json','\x09server_name\x20','#\x20updating\x20PM2\x20to\x20latest\x0a','config.json','printf\x20\x22[Service]\x5cnExecStartPost=/bin/sleep\x200.1\x5cn\x22\x20>\x20override.conf\x0a','861344APxNaV','letsencrypt.json','~/deploy.sh','sudo\x20service\x20mongod\x20start\x0a','sudo\x20apt-get\x20update\x0a','constructor','elif\x20[\x20-f\x20app.tar.gz.bk\x20];\x20then\x0a','maka\x20deploy\x20galaxy\x20-e\x20p\x20--plan=professional\x20|\x20essentials','sslAnswer','serverName','ses.json','build','\x09}\x0a','warn','~/pm2.config.js','Attempting\x20to\x20setup\x20SSL\x20using\x20LetsEncrypt','You\x20do\x20not\x20have\x20a\x20valid\x20SSL\x20file:\x20','Aborted\x20deployment!','settings','sudo\x20systemctl\x20enable\x20mongod.service\x0a','\x09index\x20index.html;\x0a','\x09location\x20=\x20/favicon.ico\x20{\x0a','sudo\x20snap\x20install\x20--classic\x20certbot','search','.maka','#\x20Prepare\x20nginx\x0a','\x09ssl\x20on;\x0a','deploy','findAppDirectory','\x09ssl_session_cache\x20shared:SSL:10m;\x0a','appName','pem','domainNames','forEach','sudo\x20apt-get\x20install\x20-y\x20mongodb-org\x0a','mongo','\x09\x09}\x0a','sshSync','[!]\x20Server\x20name\x20or\x20port\x20number\x20are\x20not\x20long\x20enough!','getConfigFromShorthand','sudo\x20systemctl\x20daemon-reload\x20||\x20null\x0a','--server=','ssl','readFileSync','/bundle/programs/web.browser/app;\x0a','SHA384:ECDHE-RSA-RC4-SHA:ECDHE-ECDSA-RC4-SHA:RC4-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK\x22;\x0a','96992DrRznf','\x09location\x20/\x20{\x0a','map\x20$http_upgrade\x20$connection_upgrade\x20{\x0a','MONGO_URL','\x20\x20echo\x20\x22Could\x20not\x20find\x20app.tar.gz,\x20exiting!\x22\x0a','write','\x20\x20echo\x20\x22Bundle\x20found,\x20decompressing\x22\x0a','\x09ssl_protocols\x20TLSv1\x20TLSv1.1\x20TLSv1.2;\x0a','success','uname\x20-a','(((.+)+)+)+$','Could\x20not\x20connect\x20to\x20remote\x20host.\x20Please\x20check\x20your\x20ssh.json\x20config\x20file.','app','platform','nvm\x20install\x20','sudo\x20certbot\x20--nginx\x20--agree-tos\x20--expand\x20-n\x20--domains\x20','Deploy\x20your\x20application','includes','Verifying\x20Nginx','ping','server\x20{\x0a','source\x20~/.bashrc\x0a','\x09\x09proxy_set_header\x20Host\x20$host;\x0a','filter','existsSync','concat','\x09\x09proxy_set_header\x20X-Forwarded-For\x20$remote_addr;\x0a','\x20\x20cp\x20app.tar.gz.bk\x20app.tar.gz\x0a','Free\x20SSL\x20with\x20Letsencrypt','length','scp','\x09listen\x20443\x20ssl;\x0a','platforms','force','emailUpdate','argv','Warning:\x20','\x09\x09proxy_http_version\x201.1;\x0a','echo\x20\x22deb\x20[\x20arch=amd64\x20]\x20https://repo.mongodb.org/apt/ubuntu\x20bionic/mongodb-org/4.2\x20multiverse\x22\x20|\x20sudo\x20tee\x20/etc/apt/sources.list.d/mongodb-org-4.2.list\x0a','ssh','template','Checking\x20remote\x20host\x20availability\x20using\x20','domains','\x09\x09proxy_set_header\x20Upgrade\x20$http_upgrade;\x0a','pm2\x20delete\x20all\x0a','amazon','yum','toString','I\x20could\x20not\x20find\x20a\x20valid\x20CRT\x20file,\x20please\x20provide\x20the\x20name\x20of\x20the\x20CRT\x20file\x20in\x20the\x20_keys/\x20directory:','\x09\x09alias\x20/home/','Mobile\x20server\x20IP\x20or\x20fully\x20qualified\x20domain\x20name\x20(FQDN):\x20','\x09root\x20/usr/share/nginx/html;\x0a','\x09ssl_certificate\x20;\x0a','Supplied\x20SSL\x20/\x20CRT\x20file','\x09\x09proxy_pass\x20http://0.0.0.0:3000;\x0a','810918zbpGGx','sudo\x20','Using\x20saved\x20letsencrypt\x20config','sudo\x20snap\x20install\x20core;\x20sudo\x20snap\x20refresh\x20core','app.tar.gz','email','Are\x20you\x20ready\x20to\x20deploy?','Using\x20letsencrypt.json','verbose','maka\x20deploy\x20ubuntu\x20-e\x20p\x20--mongo\x20--ssl=letsencrypt\x20--domains=www.maka-cli.com\x20--email=admin@maka-cli.com','AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:','grep','\x09index\x20index.html\x20index.htm;\x0a','\x09listen\x20[::]:80\x20default_server\x20ipv6only=on;\x0a','rm\x20-rf\x20~/.bash_profile\x20~/.bashrc\x0a','meteor','--settings','#\x20setup\x20node\x20and\x20npm\x20with\x20the\x20proper\x20node\x20version\x20using\x20nvm\x0a','\x09\x09return\x20303\x20https://browser-update.org/update.html;\x0a',')\x20is\x20behind\x20your\x20installed\x20meteor\x20version\x20(','getProjectConfig','end','--architecture=os.linux.x86_64','pm2\x20startup\x0a','#\x20rm\x20-f\x20~/app.tar.gz.bk\x0a','103054sNPEtE','source\x20~/.bashrc\x20&&\x20echo\x20\x22\x22\x20&&\x20pm2\x20status\x20&&\x20echo\x20\x22\x22','exit','\x09if\x20($http_user_agent\x20~\x20\x22MSIE\x22\x20)\x20{\x0a','pm2.config.js','apply','~/settings.json','\x09ssl_certificate_key\x20/etc/nginx/ssl/','.crt;\x0a','open','Cannot\x20find\x20Meteor\x20Settings\x20File:\x20','\x09\x09if\x20($uri\x20!=\x20\x27/\x27)\x20{\x0a','Consider\x20updating\x20with\x20\x22maka\x20update\x20--release\x20','free','\x0a\x20\x20Deploy\x20your\x20app\x20to\x20an\x20Ubuntu\x20server\x20running\x20in\x20AWS,\x20On\x20Prem,\x0a\x20\x20or\x20even\x20ARM,\x20or\x20to\x20Meteor\x20Galaxy\x20hosted\x20platform.','trim','createWriteStream','Would\x20you\x20like\x20to\x20save\x20the\x20server\x20config\x20in\x20your\x20.maka/config.json\x20file?\x20[yn]','sudo\x20env\x20PATH=$PATH:$(which\x20npm)\x20$(which\x20pm2)\x20startup\x20systemd\x20-u\x20','stringify','maka\x20deploy\x20galaxy\x20-e\x20p\x20--delete','none','splice','70yRJMBp','delete','chmod\x20+x\x20~/maka-env/nvm-install/nvm-install.sh\x20&&\x20~/maka-env/nvm-install/nvm-install.sh\x0a','npm\x20install\x0a','wget\x20-qO\x20-\x20https://www.mongodb.org/static/pgp/server-4.2.asc\x20|\x20sudo\x20apt-key\x20add\x20-\x0a','maka\x20deploy\x20<server-type>','972835GkEbFb','join','\x09\x27\x27\x20\x20\x20\x20\x20\x20close;\x0a','confirm','host','Run\x20\x22maka\x20deploy\x20help\x22\x20for\x20examples.','ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-','parse','slice','--env','basic','cd\x20~\x0a','sudo\x20ln\x20-s\x20/snap/bin/certbot\x20/usr/bin/certbot','\x20or\x20','localhost','Stored\x20server\x20config\x20to\x20','\x09\x09proxy_set_header\x20Connection\x20\x22upgrade\x22;\x0a','127.0.0.1','user','.crt','\x20\x20tar\x20-xf\x20app.tar.gz\x0a','~/ses.json','Aborted','ask','Run\x20\x22maka\x20deploy\x20--help\x22\x20for\x20examples.','plan','sudo\x20systemctl\x20daemon-reload\x20&&\x20sudo\x20systemctl\x20start\x20nginx\x0a','443','list','maka\x20deploy\x20ubuntu\x20--env\x20prod'];a19c=function(){return at;};return a19c();}import{execSync}from'child_process';import a19g from'semver';import{Command}from'../command.js';import{Log}from'../tools/log/log.class.js';import{SSH}from'../tools/ssh/ssh.class.js';import{Actions}from'../tools/actions/actions.class.js';Command['create']({'name':'deploy','usage':a19am(0x1b3),'validOpts':['debug',a19am(0x1f6),a19am(0x241),a19am(0x171),a19am(0x23a),a19am(0x266),'email','verbose','v','noRebuild',a19am(0x1a4),a19am(0x1cd),a19am(0x1af),'letsencrypt'],'mustBeInMakaProject':!![],'requiredOpts':['env'],'shortDesc':a19am(0x255),'description':a19am(0x1a5),'examples':[a19am(0x1d1),a19am(0x20b),a19am(0x21e),a19am(0x1ab),a19am(0x187)]},async function(a,b){const an=a19am;try{const c=b[an(0x186)]||b['v']?!![]:![],d=process[an(0x252)]==='win32'?an(0x20d):an(0x18d),f=this['fsi'][an(0x192)](),g=await this[an(0x1d5)][an(0x1d9)]();let h='';const i=['ubuntu',an(0x1f2)];if(i[an(0x256)](a[0x0]))switch(a[0x1]){case'ubuntu':h='apt';break;case an(0x174):h=an(0x175);break;default:h='apt';}else{Log[an(0x209)]('Please\x20provide\x20a\x20deployment\x20platform:\x20'+i[an(0x1b5)](an(0x1c1))),Log[an(0x209)](an(0x1b9));return;}const j=b[an(0x266)];try{const k=this[an(0x1d5)]['getConfigPath'](b[an(0x1f6)]),l=this['fsi'][an(0x23e)](b['env']);if(a['includes'](an(0x1f2))){if(!b[an(0x1af)]){if(!b[an(0x1cd)]&&!b[an(0x1a4)]){Log[an(0x209)]('Please\x20specify\x20which\x20galaxy\x20pricing\x20plan\x20(e.g.,\x20--free).'),Log[an(0x209)](an(0x1cc));return;}}let w=process[an(0x268)][an(0x1bc)](0x2)[an(0x25c)](z=>z!==an(0x232))[an(0x25c)](z=>z!==a[0x0]);w[an(0x238)]((z,A)=>{const ao=an;z===ao(0x1bd)&&w[ao(0x1ad)](A,0x2),z==='-e'&&w['splice'](A,0x2);});let x=a19e[an(0x1b5)](k,an(0x212));b[an(0x229)]&&(x=b['settings']);if(this[an(0x1d5)][an(0x1e0)](x)){Log[an(0x1df)](an(0x1d8)+x),w=w[an(0x25e)]([an(0x18e),x]);const z=a19f[an(0x242)](x),A=JSON['parse'](z[an(0x176)]());!A[an(0x203)]&&Log[an(0x224)]('No\x20\x22galaxy.meteor.com\x22\x20settings\x20found\x20in\x20'+l+an(0x1e9));}else Log[an(0x224)](an(0x1a1)+x);const y=[f[an(0x235)]+'-'+l];return this['fsi'][an(0x1e3)](an(0x232),y['concat'](w));}const m=a19e['join'](k,'pm2.config.js');!this[an(0x1d5)]['isFile'](m)&&await this[an(0x1d5)]['template']({'srcPath':an(0x1db),'destPath':m,'context':{'app':f['appName'],'isDocker':![]},'config':f});const n=a19e['join'](k,an(0x1dd));!this[an(0x1d5)][an(0x1e0)](n)&&await this[an(0x1d5)][an(0x26d)]({'srcPath':'config/ssh.json','destPath':n,'context':{'app':f[an(0x235)]},'config':f});const o=JSON[an(0x1bb)](a19f[an(0x242)](n)['toString']()),p={'env':k,'user':o['user'],'host':o[an(0x1b8)],'port':o['port'],'pem':o[an(0x236)]};let q=b[an(0x171)],r=b['email'];try{a19f[an(0x242)](a19e[an(0x1b5)](k,an(0x218))),Log[an(0x1df)](an(0x185)),b[an(0x20f)]=!![];}catch(B){b[an(0x20f)]&&Log['warn']('No\x20letsencrypt.json\x20file\x20found.\x20You\x20will\x20be\x20prompted\x20at\x20the\x20end\x20of\x20deployment\x20for\x20configuration.');const C={'type':an(0x1d0),'name':an(0x21f),'message':'Configure\x20SSL','choices':[{'name':an(0x261),'value':an(0x20f)},{'name':an(0x17c),'value':an(0x1be)},{'name':an(0x1ec),'value':an(0x1ac)}]},{sslAnswer:D}=await Actions['options'](C);if(D===an(0x20f)){b[an(0x20f)]=!![],b[an(0x241)]=![],q=q?q:await Actions[an(0x1cb)]('Domains\x20to\x20register\x20(comma\x20separated):\x20'),r=r?r:await Actions[an(0x1cb)]('Email\x20to\x20use\x20for\x20auto-updates:\x20');const E={'domainNames':q,'emailUpdate':r},F=JSON[an(0x1aa)](E,null,0x2);a19f['writeFileSync'](a19e[an(0x1b5)](k,an(0x218)),F);}else D===an(0x1be)&&(b[an(0x20f)]=![],b[an(0x241)]=!![]);}let s='',t='';if(b[an(0x241)]&&!b['letsencrypt']){s=f['appName']+'.key';!a19f[an(0x25d)](a19e['join'](k,an(0x1e8),s))&&(s=await Actions[an(0x1cb)](an(0x1da)));if(!a19f[an(0x25d)](a19e[an(0x1b5)](k,'_keys',s)))throw an(0x227)+a19e[an(0x1b5)](k,'_keys',s);t=f[an(0x235)]+an(0x1c7);!a19f[an(0x25d)](a19e['join'](k,'_keys',t))&&(t=await Actions['ask'](an(0x177)));if(!a19f[an(0x25d)](a19e[an(0x1b5)](k,an(0x1e8),t)))throw'You\x20do\x20not\x20have\x20a\x20valid\x20ssl\x20crt.\x20\x20Looking\x20for:\x20'+a19e[an(0x1b5)](k,'_keys',t);}Log['notice'](an(0x26e)+n);try{const G=SSH[an(0x258)](an(0x24e),p,{'verbose':!![]});if(!G)throw an(0x250);if(G)Log[an(0x24d)](an(0x1ff));}catch(H){Log[an(0x209)](H);return;}Log[an(0x1df)]('Building\x20deployment\x20script\x20...');const u=a19f[an(0x242)](a19e[an(0x1b5)](k,'pm2.config.js')),v=this[an(0x1d5)][an(0x189)](u[an(0x176)](),an(0x248));(v[0x0][an(0x1a6)]()[an(0x256)](an(0x1c2))||v[0x0][an(0x1a6)]()[an(0x256)](an(0x1c5))||v[0x0][an(0x1a6)]()[an(0x256)]('0.0.0.0'))&&(b['mongo']=!![],Log[an(0x1df)]('PM2\x20has\x20MONGO_URL\x20pointing\x20to\x20localhost;\x20deployment\x20will\x20install\x20a\x20local\x20mongo\x20instance.'),Log[an(0x1df)]('->\x20'+v[0x0][an(0x1a6)]()));try{const I=a19f[an(0x1a7)](a19e[an(0x1b5)](k,'nginx.conf'),{'flags':'w'});I['on'](an(0x1a0),function(){const ap=an;b[ap(0x241)]&&!b[ap(0x20f)]?(I[ap(0x24a)]('server_tokens\x20off;\x0a'),I[ap(0x24a)](ap(0x247)),I['write']('\x09default\x20upgrade;\x0a'),I[ap(0x24a)](ap(0x1b6)),I[ap(0x24a)]('}\x0a'),I[ap(0x24a)]('\x0a'),I['write'](ap(0x259)),I['write'](ap(0x1e1)),I[ap(0x24a)]('\x09listen\x20[::]:80\x20default_server\x20ipv6only=on;\x0a'),I[ap(0x24a)]('\x09server_name\x20'+f[ap(0x235)]+';\x0a'),I[ap(0x24a)](ap(0x17a)),I[ap(0x24a)](ap(0x18a)),I[ap(0x24a)]('\x09location\x20/\x20{\x0a'),I[ap(0x24a)]('\x09\x09rewrite\x20\x20\x20\x20\x20^\x20https://$server_name$request_uri?\x20permanent;\x0a'),I[ap(0x24a)]('\x09}\x0a'),I[ap(0x24a)]('}'),I[ap(0x24a)]('\x0a'),I[ap(0x24a)]('\x0a'),I[ap(0x24a)](ap(0x259)),I[ap(0x24a)](ap(0x264)),I[ap(0x24a)](ap(0x213)+f['appName']+';\x0a'),I[ap(0x24a)](ap(0x20e)),I[ap(0x24a)](ap(0x22b)),I[ap(0x24a)](ap(0x231)),I['write']('\x09ssl_certificate\x20/etc/nginx/ssl/'+f['appName']+ap(0x19f)),I[ap(0x24a)](ap(0x19e)+f[ap(0x235)]+'.key;\x0a'),I[ap(0x24a)](ap(0x17b)),I[ap(0x24a)]('\x09ssl_certificate_key\x20;\x0a'),I[ap(0x24a)](ap(0x234)),I[ap(0x24a)]('\x09ssl_session_timeout\x205m;\x0a'),I[ap(0x24a)]('\x09\x0a'),I[ap(0x24a)](ap(0x1f0)),I['write'](ap(0x24c)),I[ap(0x24a)](ap(0x20c)+ap(0x188)+ap(0x1ba)+ap(0x244)),I['write'](ap(0x208)),I[ap(0x24a)]('\x09\x0a'),I[ap(0x24a)]('\x09if\x20($http_user_agent\x20~\x20\x22MSIE\x22\x20)\x20{\x0a'),I[ap(0x24a)]('\x09\x09return\x20303\x20https://browser-update.org/update.html;\x0a'),I[ap(0x24a)](ap(0x223)),I['write']('\x09location\x20=\x20/favicon.ico\x20{\x0a'),I['write'](ap(0x178)+o['user']+ap(0x243)),I[ap(0x24a)](ap(0x223)),I[ap(0x24a)]('\x09\x0a'),I[ap(0x24a)]('\x09location\x20/\x20{\x0a'),I['write'](ap(0x17d)),I['write'](ap(0x26a)),I[ap(0x24a)](ap(0x172)),I['write'](ap(0x1c4)),I['write'](ap(0x25f)),I[ap(0x24a)](ap(0x25b)),I['write'](ap(0x1a2)),I[ap(0x24a)]('\x09\x09\x09expires\x2030d;\x0a'),I[ap(0x24a)](ap(0x23b)),I['write']('\x09}\x0a'),I[ap(0x24a)]('}')):(I[ap(0x24a)](ap(0x201)),I[ap(0x24a)](ap(0x247)),I['write']('\x09default\x20upgrade;\x0a'),I[ap(0x24a)](ap(0x1b6)),I[ap(0x24a)]('}\x0a'),I[ap(0x24a)]('\x0a'),I[ap(0x24a)](ap(0x259)),I[ap(0x24a)](ap(0x1e1)),I['write'](ap(0x18b)),I[ap(0x24a)](ap(0x19a)),I[ap(0x24a)](ap(0x190)),I[ap(0x24a)](ap(0x223)),I['write'](ap(0x22c)),I[ap(0x24a)](ap(0x178)+o['user']+ap(0x243)),I[ap(0x24a)]('\x09}\x0a'),I['write']('\x09\x0a'),I['write'](ap(0x246)),I[ap(0x24a)](ap(0x17d)),I['write'](ap(0x26a)),I['write'](ap(0x172)),I['write']('\x09\x09proxy_set_header\x20Connection\x20\x22upgrade\x22;\x0a'),I[ap(0x24a)](ap(0x25f)),I[ap(0x24a)]('\x09\x09proxy_set_header\x20Host\x20$host;\x0a'),I[ap(0x24a)](ap(0x1a2)),I[ap(0x24a)](ap(0x1de)),I['write'](ap(0x23b)),I[ap(0x24a)]('\x09}\x0a'),I[ap(0x24a)]('}'));}),I['on'](an(0x1fb),function(){const aq=an;I[aq(0x193)]();});const J=a19f['createWriteStream'](a19e['join'](k,'deploy.sh'),{'flags':'w'});J['on']('open',function(){const ar=an;J[ar(0x24a)](ar(0x21b)),J[ar(0x24a)]('#\x20install\x20git\x20and\x20nginx\x0a'),J['write'](ar(0x17f)+h+ar(0x1f8)),b[ar(0x23a)]===!![]&&(J['write']('#\x20install\x20and\x20configure\x20local\x20mongo\x0a'),J[ar(0x24a)](ar(0x1b2)),J[ar(0x24a)](ar(0x26b)),J[ar(0x24a)](ar(0x21b)),J[ar(0x24a)](ar(0x239)),J[ar(0x24a)](ar(0x21a)),J[ar(0x24a)](ar(0x22a))),J[ar(0x24a)](ar(0x18f)),J['write'](ar(0x1d3)),J[ar(0x24a)](ar(0x18c)),J['write'](ar(0x1d2)),J['write'](ar(0x211)),J[ar(0x24a)](ar(0x1b0)),J['write'](ar(0x25a)),J[ar(0x24a)](ar(0x253)+g+'\x0a'),J[ar(0x24a)]('nvm\x20alias\x20default\x20'+g+'\x0a'),J[ar(0x24a)]('npm\x20install\x20-g\x20pm2@latest\x0a'),J[ar(0x24a)]('rm\x20-rf\x20~/maka-env/nvm-install\x0a'),J[ar(0x24a)](ar(0x230)),J[ar(0x24a)]('[\x20-d\x20/etc/systemd/system/nginx.service.d\x20]\x20&&\x20echo\x20\x22nginx.service.d\x20exists\x22\x20||\x20sudo\x20mkdir\x20/etc/systemd/system/nginx.service.d\x0a'),J['write'](ar(0x216)),J[ar(0x24a)](ar(0x1f1)),J[ar(0x24a)](ar(0x23f)),J[ar(0x24a)]('sudo\x20systemctl\x20stop\x20nginx\x0a'),J['write'](ar(0x1e2)),J[ar(0x24a)]('#\x20Nginx\x20will\x20be\x20restarted\x20just\x20before\x20completing\x20the\x20deployment.\x0a'),J[ar(0x24a)](ar(0x1f3)),b[ar(0x241)]&&!b[ar(0x20f)]&&(J['write'](ar(0x1e7)),J[ar(0x24a)](ar(0x1e5)+s+ar(0x1ed)+s+'\x0a'),J['write']('sudo\x20mv\x20~/'+t+ar(0x1ed)+t+'\x0a')),J['write']('#\x20Decompress\x20the\x20bundle\x0a'),J[ar(0x24a)](ar(0x1d4)),J[ar(0x24a)]('if\x20[\x20-f\x20app.tar.gz\x20];\x20then\x0a'),J[ar(0x24a)](ar(0x24b)),J[ar(0x24a)]('\x20\x20tar\x20-xf\x20app.tar.gz\x0a'),J[ar(0x24a)](ar(0x21d)),J[ar(0x24a)]('\x20\x20echo\x20\x22No\x20bundle\x20found,\x20using\x20backup\x22\x0a'),J[ar(0x24a)](ar(0x260)),J[ar(0x24a)](ar(0x1c8)),J['write']('else\x0a'),J[ar(0x24a)](ar(0x249)),J[ar(0x24a)](ar(0x1f9)),J[ar(0x24a)](ar(0x200)),J['write']('cd\x20bundle/programs/server\x0a'),J[ar(0x24a)](ar(0x1b1)),J[ar(0x24a)](ar(0x1fd)),J[ar(0x24a)](ar(0x1bf)),J['write'](ar(0x210)),J[ar(0x24a)](ar(0x173)),J[ar(0x24a)](ar(0x214)),J[ar(0x24a)](ar(0x1ef)),J[ar(0x24a)]('#\x20Bring\x20up\x20pm2\x20with\x20environment\x0a'),J[ar(0x24a)]('pm2\x20start\x20~/pm2.config.js\x0a'),J[ar(0x24a)]('#\x20Configure\x20pm2\x20to\x20start\x20on\x20boot\x0a'),J[ar(0x24a)](ar(0x195)),J[ar(0x24a)](ar(0x1a9)+o[ar(0x1c6)]+'\x20--hp\x20/home/'+o[ar(0x1c6)]+'\x0a'),J[ar(0x24a)](ar(0x205)),J[ar(0x24a)]('#\x20bring\x20back\x20up\x20nginx\x0a'),J[ar(0x24a)](ar(0x1ce)),J[ar(0x24a)](ar(0x1fa)),J['write'](ar(0x196)),J[ar(0x24a)]('#\x20backup\x20tar\x20bundle\x0a'),J[ar(0x24a)]('mv\x20~/app.tar.gz\x20~/app.tar.gz.bk\x0a'),J['write']('exit\x200');}),J['on'](an(0x1fb),function(){const as=an;J[as(0x193)]();}),Log[an(0x24d)]('Deployment\x20script\x20written\x20to:\x20'+a19e[an(0x1b5)](k,an(0x1e6)));if(!j){const a1=await Actions[an(0x1b7)](an(0x184));if(!a1)throw an(0x228);}const K=['build',a19e[an(0x1b5)](this[an(0x1d5)]['findProjectDirectory'](),an(0x222)),an(0x194)];try{const a2=this[an(0x1d5)]['readFileLines'](a19e[an(0x1b5)](this[an(0x1d5)][an(0x1ea)]({}),an(0x251),'.meteor',an(0x265))),a3=a2['length']>0x2?!![]:![];if(a3){const a4=f[an(0x220)]?f['serverName']:await Actions[an(0x1cb)](an(0x179)),a5=f['serverPort']?f[an(0x20a)]:await Actions[an(0x1cb)]('Mobile\x20server\x20port:\x20');if(a4[an(0x262)]==0x0||a5['length']==0x0)throw an(0x23d);const a6=a5==an(0x1cf)?'https':'http';K[an(0x1d7)](an(0x240)+a6+'://'+a4+':'+a5);if(!f[an(0x220)]&&!f['serverPort']){const a7=await Actions['ask'](an(0x1a8));a7&&(this[an(0x1d5)]['setProjectConfig'](an(0x220),a4),this[an(0x1d5)][an(0x1ee)](an(0x20a),a5),Log[an(0x1df)](an(0x1c3)+a19e[an(0x1b5)](an(0x22f),an(0x215))));}}}catch(a8){Log[an(0x209)](a8);return;}const L=a19e[an(0x1b5)](this['fsi'][an(0x1ea)]({}),an(0x222),an(0x182)),M=this['fsi']['getGlobalMeteorVersion'](),N=this[an(0x1d5)]['getProjectMeteorVersion'](),O=a19g['gt'](M,N);if(O&&!j){const a9=await Actions[an(0x1b7)](an(0x1eb)+N+an(0x191)+M+an(0x1fc),![]);if(!a9){Log[an(0x209)](an(0x1ca)),Log[an(0x1df)](an(0x1a3)+M+'\x22');return;}}let P=!![];a19f[an(0x25d)](L)&&!j&&(P=await Actions[an(0x1b7)]('Found\x20existing\x20bundle,\x20would\x20you\x20like\x20to\x20rebuild\x20it?'));P&&(execSync(d+'\x20npm\x20install\x20--save',{'cwd':this[an(0x1d5)][an(0x233)](),'stdio':an(0x1f5)}),execSync(d+'\x20'+K[an(0x1b5)]('\x20'),{'cwd':this['fsi']['findAppDirectory'](),'stdio':'inherit'}));Log[an(0x1df)]('Pushing\x20up\x20bundle\x20...');const Q={'source':L,'dest':'~/app.tar.gz','verbose':!![]};SSH[an(0x263)](Q,p),Log[an(0x1df)](an(0x1f4));const R=a19e['join'](k,an(0x1e6)),S={'source':R,'dest':an(0x219),'verbose':!![]};SSH[an(0x263)](S,p);const T=a19e[an(0x1b5)](k,'nginx.conf'),U={'source':T,'dest':an(0x204),'verbose':!![]};SSH[an(0x263)](U,p);const V=a19e[an(0x1b5)](k,an(0x19b)),W={'source':V,'dest':an(0x225),'verbose':!![]};SSH['scp'](W,p);const X=a19e[an(0x1b5)](k,an(0x212)),Y={'source':X,'dest':an(0x19d),'verbose':!![]};SSH['scp'](Y,p);if(b[an(0x241)]&&!b[an(0x20f)]){s=a19e[an(0x1b5)](k,'_keys',s);const aa={'source':s,'dest':s};SSH[an(0x263)](aa,p),t=a19e[an(0x1b5)](k,an(0x1e8),t);const ab={'source':t,'dest':t};SSH[an(0x263)](ab,p);}const Z=a19e[an(0x1b5)](k,an(0x1e8),an(0x221));if(a19f[an(0x25d)](Z)){const ac={'source':Z,'dest':an(0x1c9),'verbose':!![]};SSH[an(0x263)](ac,p);}const a0=an(0x1d6);await SSH[an(0x26c)]('chmod\x20+x\x20~/deploy.sh\x20&&\x20./deploy.sh',p,{'verbose':c,'message':a0}),Log['notice'](an(0x257)),SSH[an(0x23c)]('echo\x20\x22\x22\x20&&\x20sudo\x20systemctl\x20status\x20nginx\x20|\x20grep\x20Active\x20&&\x20echo\x20\x22\x22',p,{'tty':!![],'verbose':!![]}),Log[an(0x1df)](an(0x206)),SSH[an(0x23c)](an(0x198),p,{'tty':!![],'verbose':!![]}),Log[an(0x24d)]('Deployed\x20to:\x20'+o[an(0x1b8)]);if(b[an(0x20f)]){Log[an(0x1df)](an(0x226));try{const ad=a19f[an(0x242)](a19e[an(0x1b5)](k,an(0x218))),ae=JSON[an(0x1bb)](ad[an(0x176)]());q=b[an(0x171)]?b['domains']:ae[an(0x237)],r=b[an(0x183)]?b[an(0x183)]:ae[an(0x267)],(!b['email']||!b[an(0x171)])&&Log[an(0x1df)](an(0x180));}catch(af){Log['warn'](an(0x269)+af);}Log[an(0x1df)]('Setting\x20up\x20letsencrypt'),SSH[an(0x26c)](an(0x181),p),SSH[an(0x26c)](an(0x22d),p),SSH['ssh'](an(0x1c0),p),SSH['ssh'](an(0x254)+q+an(0x1dc)+r,p);}Log[an(0x24d)]('Deployment\x20complete');}catch(ag){Log[an(0x209)](an(0x1fe)),Log[an(0x209)](ag);}}catch(ah){Log[an(0x209)](an(0x1fe)),Log[an(0x209)](ah);}}catch(ai){console[an(0x209)](ai),process[an(0x199)](0x0);}});
@@ -1 +1 @@
1
- (function(a,b){var f=a20d,c=a();while(!![]){try{var d=-parseInt(f(0x18f))/0x1*(-parseInt(f(0x192))/0x2)+-parseInt(f(0x18c))/0x3+parseInt(f(0x18a))/0x4*(-parseInt(f(0x190))/0x5)+-parseInt(f(0x18d))/0x6*(parseInt(f(0x191))/0x7)+-parseInt(f(0x196))/0x8+-parseInt(f(0x18e))/0x9*(-parseInt(f(0x18b))/0xa)+parseInt(f(0x193))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a20c,0xe0dce));var a20b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a20d;if(c){var e=c[g(0x189)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a20a=a20b(this,function(){var h=a20d;return a20a[h(0x195)]()[h(0x194)]('(((.+)+)+)+$')[h(0x195)]()[h(0x188)](a20a)[h(0x194)](h(0x187));});function a20c(){var i=['search','toString','206824ZMJHKV','(((.+)+)+)+$','constructor','apply','32QYVwqP','1910UFXAln','565998KxenDj','454236xPXFbF','9288IEqlcv','83InrlCV','437995MWARBd','49TUjnTg','346vWeAnD','23703020zFXRXP'];a20c=function(){return i;};return a20c();}a20a();import'./play.command.js';import'./pong.sub.cmd.js';function a20d(a,b){var c=a20c();return a20d=function(d,e){d=d-0x187;var f=c[d];return f;},a20d(a,b);}import'./snake.sub.cmd.js';import'./battleship.sub.cmd.js';import'./sideQuest.sub.cmd.js';
1
+ (function(a,b){var f=a20d,c=a();while(!![]){try{var d=-parseInt(f(0x12e))/0x1+parseInt(f(0x12f))/0x2+-parseInt(f(0x127))/0x3+parseInt(f(0x130))/0x4+-parseInt(f(0x126))/0x5*(parseInt(f(0x128))/0x6)+parseInt(f(0x12c))/0x7*(-parseInt(f(0x125))/0x8)+parseInt(f(0x131))/0x9;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a20c,0x2bc5b));var a20b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a20d;if(c){var e=c[g(0x12d)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a20a=a20b(this,function(){var h=a20d;return a20a['toString']()[h(0x129)]('(((.+)+)+)+$')[h(0x12a)]()[h(0x12b)](a20a)['search'](h(0x132));});a20a();function a20d(a,b){var c=a20c();return a20d=function(d,e){d=d-0x125;var f=c[d];return f;},a20d(a,b);}function a20c(){var i=['863372LPGrtN','5145687JVgifM','(((.+)+)+)+$','63328HTFnEj','228520vLSShE','937758iimeIs','24StrmDj','search','toString','constructor','203NmFKhM','apply','109178oGaxHy','451698TNmntp'];a20c=function(){return i;};return a20c();}import'./play.command.js';import'./pong.sub.cmd.js';import'./snake.sub.cmd.js';import'./battleship.sub.cmd.js';import'./sideQuest.sub.cmd.js';
@@ -1 +1 @@
1
- var a21i=a21d;function a21c(){var k=['228954LexRvj','create','339342AlcJvY','10XoUMYn','constructor','battleship','230728VVoesK','npx\x20battleship-game','228844hIjnYF','search','540IHatdt','9LcZGMn','(((.+)+)+)+$','apply','maka\x20game:battleship','2zGHyyj','66147bWmNMH','2586048tHhMap','3228208zFPEaR'];a21c=function(){return k;};return a21c();}(function(a,b){var f=a21d,c=a();while(!![]){try{var d=parseInt(f(0x128))/0x1*(parseInt(f(0x122))/0x2)+parseInt(f(0x123))/0x3+-parseInt(f(0x119))/0x4*(-parseInt(f(0x129))/0x5)+parseInt(f(0x124))/0x6+parseInt(f(0x11b))/0x7+parseInt(f(0x125))/0x8*(parseInt(f(0x11e))/0x9)+-parseInt(f(0x11d))/0xa*(parseInt(f(0x126))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a21c,0x35b79));var a21b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a21d;if(c){var e=c[g(0x120)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a21a=a21b(this,function(){var h=a21d;return a21a['toString']()[h(0x11c)]('(((.+)+)+)+$')['toString']()[h(0x117)](a21a)['search'](h(0x11f));});a21a();import a21e from'./play.command.js';import{Command}from'../../command.js';import{execSync}from'child_process';function a21d(a,b){var c=a21c();return a21d=function(d,e){d=d-0x117;var f=c[d];return f;},a21d(a,b);}Command[a21i(0x127)]({'name':a21i(0x118),'usage':a21i(0x121),'shortDesc':'Play\x20Battlehsip:\x20https://www.npmjs.com/package/battleship-game','validOpts':[]},async function(){var j=a21i;execSync(j(0x11a),{'stdio':'inherit'});},a21e);
1
+ var a21i=a21d;(function(a,b){var f=a21d,c=a();while(!![]){try{var d=-parseInt(f(0x1f7))/0x1*(-parseInt(f(0x1f4))/0x2)+-parseInt(f(0x1fc))/0x3*(parseInt(f(0x1f2))/0x4)+-parseInt(f(0x200))/0x5+-parseInt(f(0x201))/0x6*(parseInt(f(0x1fa))/0x7)+-parseInt(f(0x1f1))/0x8+parseInt(f(0x1ff))/0x9+parseInt(f(0x1fd))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a21c,0x43092));function a21d(a,b){var c=a21c();return a21d=function(d,e){d=d-0x1f0;var f=c[d];return f;},a21d(a,b);}var a21b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a21d;if(c){var e=c[g(0x1f5)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a21a=a21b(this,function(){var h=a21d;return a21a[h(0x1f0)]()['search'](h(0x1f8))[h(0x1f0)]()['constructor'](a21a)[h(0x1f9)](h(0x1f8));});a21a();import a21e from'./play.command.js';import{Command}from'../../command.js';import{execSync}from'child_process';function a21c(){var k=['7VqEYKX','create','493989zCVRGj','6188870JehKrU','Play\x20Battlehsip:\x20https://www.npmjs.com/package/battleship-game','3269682TgZyqf','793255yFBZdy','2696826YVbqcY','maka\x20game:battleship','toString','2111616KQpYea','8XjGViK','npx\x20battleship-game','2WtGgeo','apply','battleship','493793nASAdj','(((.+)+)+)+$','search'];a21c=function(){return k;};return a21c();}Command[a21i(0x1fb)]({'name':a21i(0x1f6),'usage':a21i(0x202),'shortDesc':a21i(0x1fe),'validOpts':[]},async function(){var j=a21i;execSync(j(0x1f3),{'stdio':'inherit'});},a21e);
@@ -1 +1 @@
1
- const a22j=a22d;function a22c(){const l=['Ok...only\x20for\x20a\x20few\x20minutes\x20;)','apply','3TcQzRs','search','toString','2180610UXToit','play','maka\x20play:snake','maka\x20play:tetris','63GZwYSl','4352940wULVEI','8884570OuuPsI','6eneBmK','create','error','81272SoklLz','358672VJcnKW','runSubCommand','constructor','454504brfoGN','maka\x20play:battleship','(((.+)+)+)+$','maka\x20play:pong','1608368EumNOd'];a22c=function(){return l;};return a22c();}(function(a,b){const g=a22d,c=a();while(!![]){try{const d=-parseInt(g(0xf7))/0x1+parseInt(g(0xfa))/0x2+parseInt(g(0x101))/0x3*(-parseInt(g(0xfe))/0x4)+-parseInt(g(0x104))/0x5*(parseInt(g(0xf3))/0x6)+parseInt(g(0x108))/0x7*(-parseInt(g(0xf6))/0x8)+parseInt(g(0x109))/0x9+parseInt(g(0xf2))/0xa;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a22c,0x4bf0c));const a22b=(function(){let a=!![];return function(b,c){const d=a?function(){const h=a22d;if(c){const e=c[h(0x100)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a22a=a22b(this,function(){const i=a22d;return a22a[i(0x103)]()[i(0x102)](i(0xfc))['toString']()[i(0xf9)](a22a)[i(0x102)](i(0xfc));});a22a();import{Command}from'../../command.js';const PlayCommand=Command[a22j(0xf4)]({'name':a22j(0x105),'usage':'maka\x20play:<game>','minArgLength':0x1,'shortDesc':a22j(0xff),'validOpts':[],'examples':[a22j(0xfb),a22j(0xfd),a22j(0x106),a22j(0x107)]},async function(a,b){const k=a22j;try{const c=a[0x0],d=this['findSubCommand'](c);d&&this[k(0xf8)](c,a,b);}catch(f){console[k(0xf5)](f),process['exit'](0x0);}});function a22d(a,b){const c=a22c();return a22d=function(d,e){d=d-0xf2;let f=c[d];return f;},a22d(a,b);}export default PlayCommand;
1
+ const a22j=a22d;(function(a,b){const g=a22d,c=a();while(!![]){try{const d=-parseInt(g(0x196))/0x1*(parseInt(g(0x197))/0x2)+-parseInt(g(0x198))/0x3*(parseInt(g(0x189))/0x4)+-parseInt(g(0x188))/0x5+-parseInt(g(0x19a))/0x6+-parseInt(g(0x194))/0x7+parseInt(g(0x195))/0x8+parseInt(g(0x18c))/0x9*(parseInt(g(0x18e))/0xa);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a22c,0x5ff50));const a22b=(function(){let a=!![];return function(b,c){const d=a?function(){const h=a22d;if(c){const e=c[h(0x190)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a22a=a22b(this,function(){const i=a22d;return a22a['toString']()[i(0x199)]('(((.+)+)+)+$')[i(0x191)]()['constructor'](a22a)['search']('(((.+)+)+)+$');});a22a();function a22d(a,b){const c=a22c();return a22d=function(d,e){d=d-0x185;let f=c[d];return f;},a22d(a,b);}import{Command}from'../../command.js';const PlayCommand=Command['create']({'name':'play','usage':a22j(0x18f),'minArgLength':0x1,'shortDesc':a22j(0x187),'validOpts':[],'examples':[a22j(0x185),a22j(0x18d),a22j(0x186),a22j(0x192)]},async function(a,b){const k=a22j;try{const c=a[0x0],d=this[k(0x193)](c);d&&this[k(0x18b)](c,a,b);}catch(f){console[k(0x18a)](f),process['exit'](0x0);}});export default PlayCommand;function a22c(){const l=['maka\x20play:snake','Ok...only\x20for\x20a\x20few\x20minutes\x20;)','1719665wwHaqg','4ywdwla','error','runSubCommand','7187985LCkiZC','maka\x20play:pong','20VwbbPZ','maka\x20play:<game>','apply','toString','maka\x20play:tetris','findSubCommand','4678380PJWGbX','5648520zlXvfU','5fWkguf','80814mLXybM','21963aVDzTX','search','4132356CsvjIr','maka\x20play:battleship'];a22c=function(){return l;};return a22c();}
@@ -1 +1 @@
1
- var a23h=a23d;(function(a,b){var f=a23d,c=a();while(!![]){try{var d=-parseInt(f(0x14f))/0x1+parseInt(f(0x154))/0x2*(parseInt(f(0x152))/0x3)+-parseInt(f(0x14b))/0x4+-parseInt(f(0x149))/0x5+-parseInt(f(0x153))/0x6*(-parseInt(f(0x150))/0x7)+parseInt(f(0x15a))/0x8+-parseInt(f(0x158))/0x9;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a23c,0x3bbb9));var a23b=(function(){var a=!![];return function(b,c){var d=a?function(){if(c){var e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a23a=a23b(this,function(){var g=a23d;return a23a[g(0x155)]()['search'](g(0x157))[g(0x155)]()[g(0x151)](a23a)[g(0x156)](g(0x157));});function a23d(a,b){var c=a23c();return a23d=function(d,e){d=d-0x149;var f=c[d];return f;},a23d(a,b);}a23a();function a23c(){var j=['toString','search','(((.+)+)+)+$','947034vceQSH','pong','1105048MwdMXt','maka\x20game:pong','639925FQeVlZ','npx\x20command-line-pong\x20--no-install','1607140QYBqMf','inherit','create','Play\x20Pong:\x20https://github.com/liambloom/node-pong','164706kDQJuA','3421061aMiPyg','constructor','1252539LmBaYu','6wLfhXj','2olgqTG'];a23c=function(){return j;};return a23c();}import a23e from'./play.command.js';import{Command}from'../../command.js';import{execSync}from'child_process';Command[a23h(0x14d)]({'name':a23h(0x159),'usage':a23h(0x15b),'shortDesc':a23h(0x14e),'validOpts':[]},async function(){var i=a23h;execSync(i(0x14a),{'stdio':i(0x14c)});},a23e);
1
+ var a23i=a23d;(function(a,b){var f=a23d,c=a();while(!![]){try{var d=parseInt(f(0x125))/0x1+parseInt(f(0x118))/0x2*(parseInt(f(0x127))/0x3)+-parseInt(f(0x12a))/0x4*(parseInt(f(0x121))/0x5)+parseInt(f(0x117))/0x6+-parseInt(f(0x12b))/0x7*(-parseInt(f(0x11d))/0x8)+-parseInt(f(0x11c))/0x9*(parseInt(f(0x119))/0xa)+parseInt(f(0x126))/0xb;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a23c,0x734ea));var a23b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a23d;if(c){var e=c[g(0x11a)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a23a=a23b(this,function(){var h=a23d;return a23a[h(0x123)]()[h(0x128)](h(0x11e))[h(0x123)]()['constructor'](a23a)[h(0x128)](h(0x11e));});function a23d(a,b){var c=a23c();return a23d=function(d,e){d=d-0x117;var f=c[d];return f;},a23d(a,b);}a23a();import a23e from'./play.command.js';import{Command}from'../../command.js';function a23c(){var k=['216310xNGYDV','apply','inherit','153BaUYTU','1110376mUaIQB','(((.+)+)+)+$','npx\x20command-line-pong\x20--no-install','Play\x20Pong:\x20https://github.com/liambloom/node-pong','10VcXjBB','pong','toString','create','27380VfHSAH','6262399OimPLc','69mbYeMe','search','maka\x20game:pong','1375328cOQBoN','21RtJNEq','1486164GazAcQ','23210tEeuiH'];a23c=function(){return k;};return a23c();}import{execSync}from'child_process';Command[a23i(0x124)]({'name':a23i(0x122),'usage':a23i(0x129),'shortDesc':a23i(0x120),'validOpts':[]},async function(){var j=a23i;execSync(j(0x11f),{'stdio':j(0x11b)});},a23e);
@@ -1 +1 @@
1
- const a24k=a24d;(function(a,b){const h=a24d,c=a();while(!![]){try{const d=-parseInt(h(0x117))/0x1*(-parseInt(h(0x148))/0x2)+parseInt(h(0x10c))/0x3*(parseInt(h(0xd1))/0x4)+-parseInt(h(0x12e))/0x5+parseInt(h(0xcf))/0x6*(parseInt(h(0x112))/0x7)+parseInt(h(0xe7))/0x8+parseInt(h(0x118))/0x9*(parseInt(h(0x111))/0xa)+-parseInt(h(0xc9))/0xb*(parseInt(h(0x132))/0xc);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a24c,0x35848));const a24b=(function(){let a=!![];return function(b,c){const d=a?function(){const i=a24d;if(c){const e=c[i(0xff)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a24a=a24b(this,function(){const j=a24d;return a24a['toString']()['search'](j(0x140))['toString']()[j(0xda)](a24a)[j(0x10a)](j(0x140));});a24a();function a24d(a,b){const c=a24c();return a24d=function(d,e){d=d-0xc6;let f=c[d];return f;},a24d(a,b);}import a24e from'./game.js';import{Door}from'./door.js';import a24f from'./utilities/logger.js';const logger=a24f['getInstance']();export class Command{[a24k(0x100)];[a24k(0x123)];constructor(a){const l=a24k;this[l(0x100)]=a;}}import{RoomType}from'./types.js';export class LookCommand extends Command{[a24k(0x123)]=a24k(0x110);[a24k(0x109)];constructor(a){const m=a24k;super(a),this[m(0x109)]=a24f[m(0x11b)]();}[a24k(0x12d)](a=[]){const n=a24k;this[n(0x109)]['write'](n(0xf2));const b=a[0x0];return b?this[n(0xd8)](b):this[n(0x110)]();}[a24k(0x110)](){const o=a24k,a=this[o(0x100)]['player'][o(0xd5)];if(!a)return this[o(0x109)][o(0x13d)](o(0x11c)),o(0x10e);let b=a[o(0xfe)];return a[o(0x116)]&&a[o(0x116)][o(0x122)]>0x0&&(b+='\x0aYou\x20see\x20the\x20following\x20items:',a[o(0x116)]['forEach'](c=>{const p=o;b+='\x0a-\x20'+c[p(0x105)]+':\x20'+c[p(0xfe)];})),a[o(0x102)]&&(b+='\x0a'+a[o(0x102)][o(0x114)]),b;}[a24k(0xd8)](a){const q=a24k,b=this[q(0x100)]['player'][q(0xd5)];if(!b)return this[q(0x109)][q(0x13d)](q(0x11c)),q(0x10e);const c=b[q(0x136)][q(0x144)](a);if(!c)return q(0xd0)+a+'\x22.';let d;const e=a24e[q(0x11b)](this[q(0x100)][q(0x143)],this['game'][q(0x139)]);if(c instanceof Door)d=c[q(0x135)](b);else{if(typeof c===q(0x104)){d=e[q(0x139)][c];if(!d)return'There\x27s\x20an\x20error\x20with\x20the\x20room\x20in\x20the\x20direction\x20\x22'+a+'\x22.';}else return q(0x103)+a+'\x22.';}if(d[q(0x14b)]===RoomType[q(0x131)]){if(a==='up')return q(0x12c)+d[q(0xfe)];else return a===q(0x130)?q(0xf7)+d['description']:q(0x126)+a+q(0xd9)+d[q(0xfe)];}else return'You\x20cannot\x20see\x20through';}}export class TakeCommand extends Command{[a24k(0x123)]=a24k(0x149);[a24k(0x12d)](a){const r=a24k;return logger['write']('Attempting\x20\x27Take\x27\x20command\x20with\x20item:\x20'+a[r(0xd2)]('\x20')),this['take'](a);}[a24k(0x149)](a){const s=a24k,b=a[s(0xd2)]('\x20')['toLowerCase'](),c=this[s(0x100)][s(0x143)]['currentLocation'];if(!c[s(0x116)]||c[s(0x116)][s(0x122)]===0x0)return logger[s(0x13d)]('No\x20items\x20found\x20in\x20the\x20room\x20during\x20\x27Take\x27\x20command.'),s(0x150);const d=c[s(0x116)]?.[s(0xf0)](f=>f[s(0x105)][s(0x107)]()===b||f['category'][s(0x107)]()===b);if(d===-0x1)return logger[s(0x13d)](s(0x125)+b+s(0x12b)),s(0x119)+b+s(0xde);const e=c[s(0x116)][d];try{return this[s(0x100)][s(0x143)][s(0x108)](e),logger[s(0x13d)]('Successfully\x20added\x20\x22'+b+s(0xf3)),c['items'][s(0x147)](d,0x1),logger[s(0x13d)](s(0xdc)+b+s(0x13b)),s(0x121)+b+'.';}catch(f){return logger[s(0x13d)]('Error\x20during\x20\x27Take\x27\x20command:\x20'+f['message']),s(0xdd)+b+s(0x101);}}}export class DropCommand extends Command{[a24k(0x123)]=a24k(0x113);[a24k(0x12d)](a){const t=a24k;return logger[t(0x13d)](t(0x14a)+a[t(0xd2)]('\x20')),this[t(0x113)](a);}[a24k(0x113)](a){const u=a24k,b=a['join']('\x20')[u(0x107)](),c=this[u(0x100)]['player'][u(0xee)][u(0xfa)](d=>d[u(0x105)][u(0x107)]()===b);if(!c)return logger[u(0x13d)](u(0x125)+b+'\x22\x20not\x20found\x20in\x20player\x27s\x20inventory\x20during\x20\x27Drop\x27\x20command.'),'You\x20don\x27t\x20have\x20'+b+u(0xef);return this[u(0x100)][u(0x143)][u(0x12f)](c),this['game'][u(0x143)][u(0xd5)][u(0x116)][u(0x10d)](c),logger[u(0x13d)]('Successfully\x20dropped\x20\x22'+b+u(0x11d)),'You\x20dropped\x20'+b+'.';}}export class ListInventoryCommand extends Command{[a24k(0x123)]=a24k(0xec);[a24k(0x12d)](){const v=a24k;logger[v(0x13d)](v(0xd7));if(this[v(0x100)]['player'][v(0xee)]['length']===0x0)return v(0xe8);const a=this[v(0x100)][v(0x143)][v(0xee)][v(0xf8)](b=>b['name'])[v(0xd2)](',\x20');return logger[v(0x13d)]('Player\x27s\x20current\x20inventory\x20during\x20\x27ListInventory\x27\x20command:\x20'+a),v(0xfc)+a;}}export class GoCommand extends Command{['verb']='go';['execute'](a){const w=a24k;return logger['write'](w(0x145)+a['join']('\x20')),this['go'](a);}['go'](a){const x=a24k;if(a[x(0x122)]===0x0)return logger['write'](x(0xc7)),'Please\x20specify\x20a\x20direction\x20to\x20go.';const b=a[0x0]['toLowerCase'](),c=this['game'][x(0x143)][x(0xd5)];if(!c)return logger[x(0xdb)](x(0xe1)),x(0xe4);const d=c[x(0x146)](b);if(!d)return logger[x(0x13d)](x(0xf4)+b+x(0xc8)),x(0x134);if(d instanceof Door){if(d[x(0xe0)]())return'The\x20door\x20in\x20the\x20direction\x20\x22'+b+x(0x124);const f=d[x(0x135)](c);if(!f)return logger['error'](x(0x128)),x(0x13c);this[x(0x100)]['player'][x(0xd5)]=f;}else{const g=this['game'][x(0x139)][d];if(!g)return logger['error'](x(0x120)+d+x(0xf5)),x(0xfb);this[x(0x100)]['player']['currentLocation']=g;}logger[x(0x13d)](x(0xf1)+(this[x(0x100)][x(0x143)][x(0xd5)]['name']||x(0xe6))+'.');const e=new LookCommand(this[x(0x100)]);return e[x(0x12d)]();}}function a24c(){const N=['Player\x20moved\x20to\x20room:\x20','Executing\x20\x27Look\x27\x20command.','\x22\x20to\x20player\x27s\x20inventory\x20during\x20\x27Take\x27\x20command.','\x27Go\x27\x20command\x20failed:\x20Specified\x20direction\x20\x22','\x22\x20not\x20found.','You\x20don\x27t\x20have\x20the\x20','Below\x20you,\x20','map','UseCommand:\x20','find','There\x20seems\x20to\x20be\x20an\x20error\x20with\x20the\x20room\x20you\x27re\x20trying\x20to\x20go\x20to.','You\x20have:\x20','\x20to\x20use.','description','apply','game','\x22\x20is\x20too\x20heavy\x20to\x20carry.','puzzle','Unexpected\x20error\x20occurred\x20while\x20looking\x20at\x20the\x20room\x20in\x20the\x20direction\x20\x22','string','name','\x20is\x20not\x20a\x20valid\x20exit\x20in\x20this\x20room.','toLowerCase','addInventory','logger','search','rewardItem','27CzpCRG','push','You\x27re\x20not\x20in\x20a\x20valid\x20room.','\x20doesn\x27t\x20have\x20a\x20use\x20method.','look','20QicVfx','402269dQJZKo','drop','riddle','unequip','items','1TKQlBi','1076994Shfzrv','There\x20is\x20no\x20item\x20\x22','LockCommand:\x20Player\x20does\x20not\x20have\x20the\x20necessary\x20key\x20for\x20','getInstance','Error:\x20Player\x20is\x20not\x20in\x20a\x20valid\x20room\x20during\x20\x27Look\x27\x20command\x20execution.','\x22\x20from\x20inventory\x20to\x20room\x20during\x20\x27Drop\x27\x20command.','You\x20don\x27t\x20have\x20the\x20key\x20to\x20lock\x20this\x20door.','use','\x27Go\x27\x20command\x20failed:\x20Room\x20\x22','You\x20have\x20taken\x20the\x20','length','verb','\x22\x20is\x20locked.','Item\x20\x22','To\x20the\x20','message','\x27Go\x27\x20command\x20failed:\x20Unable\x20to\x20determine\x20the\x20other\x20side\x20of\x20the\x20door.','\x20taken\x20from\x20room\x20and\x20added\x20to\x20inventory.','You\x20locked\x20the\x20door\x20named\x20\x22','\x22\x20not\x20found\x20in\x20room\x20during\x20\x27Take\x27\x20command.','Above\x20you,\x20','execute','1458445LzdIqx','removeInventory','down','OUTSIDE','1900908FkBXNV','EquipCommand:\x20','You\x20can\x27t\x20go\x20that\x20way.','getOtherSide','exits','lock','SolveCommand:\x20Attempt\x20to\x20solve\x20a\x20riddle\x20in\x20a\x20room\x20with\x20no\x20puzzle.','rooms','You\x20don\x27t\x20have\x20the\x20key\x20to\x20unlock\x20this\x20door.','\x22\x20from\x20room\x20items\x20during\x20\x27Take\x27\x20command.','There\x20seems\x20to\x20be\x20an\x20error\x20with\x20the\x20door\x20you\x27re\x20trying\x20to\x20go\x20through.','write','\x22\x20is\x20already\x20locked.','Please\x20specify\x20which\x20door\x20you\x20want\x20to\x20unlock.','(((.+)+)+)+$','unlock','solve','player','get','Attempting\x20\x27Go\x27\x20command\x20with\x20direction:\x20','getExit','splice','491858cEqrXv','take','Attempting\x20\x27Drop\x27\x20command\x20with\x20item:\x20','roomType','attemptUnlockExit','The\x20door\x20named\x20\x22','You\x20can\x27t\x20use\x20the\x20','has','There\x20are\x20no\x20items\x20in\x20this\x20room.','indexOf','\x27Go\x27\x20command\x20failed:\x20No\x20direction\x20specified.','\x22\x20does\x20not\x20exist\x20in\x20current\x20room\x27s\x20exits.','44mfdLDG','LockCommand:\x20No\x20target\x20specified.','SolveCommand:\x20','There\x27s\x20no\x20door\x20named\x20\x22','UnlockCommand:\x20Player\x20does\x20not\x20have\x20the\x20necessary\x20key\x20for\x20','unlockItemOrSolution','30nkFSNu','There\x27s\x20no\x20exit\x20in\x20the\x20direction\x20\x22','70852bLhkxW','join','Please\x20specify\x20which\x20door\x20you\x20want\x20to\x20lock.',',\x20which\x20is\x20not\x20in\x20their\x20inventory.','currentLocation','.\x20Result:\x20','Attempting\x20\x27ListInventory\x27\x20command.','lookOutside',',\x20you\x20see\x20','constructor','error','Successfully\x20removed\x20\x22','The\x20item\x20\x22','\x22\x20in\x20this\x20room.','\x20door.','checkIfLocked','\x27Go\x27\x20command\x20failed:\x20Current\x20room\x20is\x20undefined\x20or\x20null.\x20This\x20is\x20a\x20bug.','UnlockCommand:\x20Attempted\x20to\x20unlock\x20','There\x20doesn\x27t\x20seem\x20to\x20be\x20a\x20riddle\x20here\x20to\x20solve.','You\x20seem\x20to\x20be\x20nowhere.\x20This\x20is\x20a\x20bug.','UseCommand:\x20Player\x20used\x20','Unnamed\x20room','1700160mprMIi','Your\x20inventory\x20is\x20empty.','function','\x20not\x20found\x20in\x20inventory\x20or\x20room.','equip','listInventory','\x22\x20here.','inventory','\x20in\x20your\x20inventory.','findIndex'];a24c=function(){return N;};return a24c();}export class UseCommand extends Command{[a24k(0x123)]=a24k(0x11f);[a24k(0x109)];constructor(a){const y=a24k;super(a),this[y(0x109)]=a24f['getInstance']();}['execute'](a){return this['use'](a);}[a24k(0x11f)](a){const z=a24k,b=a[z(0xd2)]('\x20')['toLowerCase'](),c=this[z(0x100)][z(0x143)][z(0xee)][z(0xfa)](d=>d[z(0x105)][z(0x107)]()===b);if(!c)return this[z(0x109)]['write']('UseCommand:\x20Player\x20attempted\x20to\x20use\x20'+b+z(0xd4)),z(0xf6)+b+z(0xfd);if(typeof c[z(0x11f)]===z(0xe9)){const d=c[z(0x11f)]();return this[z(0x109)]['write'](z(0xe5)+b+'.'),d;}else return this[z(0x109)][z(0x13d)](z(0xf9)+b+z(0x10f)),z(0x14e)+b+'\x20in\x20this\x20way.';}}export class UnlockCommand extends Command{[a24k(0x123)]=a24k(0x141);[a24k(0x109)];constructor(a){const A=a24k;super(a),this[A(0x109)]=a24f[A(0x11b)]();}[a24k(0x12d)](a){const B=a24k;return this[B(0x141)](a);}[a24k(0x141)](a){const C=a24k;if(a[C(0x122)]===0x0)return this[C(0x109)]['error']('UnlockCommand:\x20No\x20target\x20specified.'),C(0x13f);const b=a[0x0][C(0x107)](),c=this[C(0x100)][C(0x143)]['currentLocation'];if(c[C(0x136)][C(0x14f)](b)){const d=c[C(0x136)][C(0x144)](b),e=this[C(0x100)][C(0x143)][C(0xee)][C(0xfa)](f=>f[C(0x105)][C(0x107)]()===d[C(0xce)]?.[C(0x107)]());if(e){const f=c[C(0x14c)](b,e['name']);return this[C(0x109)][C(0x13d)](C(0xe2)+b+C(0xd6)+f),f;}else return this[C(0x109)][C(0x13d)](C(0xcd)+b+'.'),C(0x13a);}else return this['logger'][C(0x13d)]('UnlockCommand:\x20'+b+C(0x106)),C(0xcc)+b+'\x22\x20here.';}}export class LockCommand extends Command{[a24k(0x123)]=a24k(0x137);['logger'];constructor(a){const D=a24k;super(a),this[D(0x109)]=a24f[D(0x11b)]();}[a24k(0x12d)](a){const E=a24k;return this[E(0x137)](a);}[a24k(0x137)](a){const F=a24k;if(a[F(0x122)]===0x0)return this[F(0x109)][F(0xdb)](F(0xca)),F(0xd3);const b=a[0x0]['toLowerCase'](),c=this['game'][F(0x143)][F(0xd5)];if(c[F(0x136)][F(0x14f)](b)){const d=c['exits'][F(0x144)](b);if(d['isLocked'])return F(0x14d)+b+F(0x13e);const e=this[F(0x100)][F(0x143)][F(0xee)]['find'](f=>f['name'][F(0x107)]()===d[F(0xce)]?.['toLowerCase']());return e?(d['isLocked']=!![],this[F(0x109)]['write']('LockCommand:\x20Locked\x20the\x20'+b+F(0xdf)),F(0x12a)+b+'\x22.'):(this['logger'][F(0x13d)](F(0x11a)+b+'.'),F(0x11e));}else return this[F(0x109)][F(0x13d)]('LockCommand:\x20'+b+F(0x106)),F(0xcc)+b+F(0xed);}}export class EquipCommand extends Command{['verb']=a24k(0xeb);[a24k(0x109)];constructor(a){const G=a24k;super(a),this[G(0x109)]=a24f[G(0x11b)]();}[a24k(0x12d)](a){const H=a24k;return this[H(0xeb)](a);}['equip'](a){const I=a24k,b=a['join']('\x20')['toLowerCase']();let c=this[I(0x100)][I(0x143)][I(0xee)]['find'](e=>e[I(0x105)][I(0x107)]()===b);if(!c){const e=this[I(0x100)][I(0x143)]['currentLocation'];c=e['items']['find'](f=>f[I(0x105)]['toLowerCase']()===b);if(c){this['game'][I(0x143)][I(0x108)](c);const f=e[I(0x116)][I(0xc6)](c);e[I(0x116)]['splice'](f,0x1),this['logger'][I(0x13d)]('EquipCommand:\x20'+b+I(0x129));}else return this['logger']['error'](I(0x133)+b+I(0xea)),'You\x20don\x27t\x20have\x20'+b+'\x20in\x20your\x20inventory,\x20and\x20it\x27s\x20not\x20in\x20this\x20room.';}const d=this[I(0x100)][I(0x143)][I(0xeb)](c);return this[I(0x109)]['write']('EquipCommand:\x20'+d),d;}}export class UnequipCommand extends Command{['logger'];constructor(a){const J=a24k;super(a),this[J(0x123)]=J(0x115),this[J(0x109)]=a24f[J(0x11b)]();}[a24k(0x12d)](a){const K=a24k,b=a[K(0xd2)]('\x20')['toLowerCase'](),c=this[K(0x100)][K(0x143)][K(0x115)](b);return this[K(0x109)]['write']('UnequipCommand:\x20'+c),c;}}export class SolveCommand extends Command{[a24k(0x123)]=a24k(0x142);[a24k(0x109)];constructor(a){const L=a24k;super(a),this[L(0x109)]=a24f[L(0x11b)]();}[a24k(0x12d)](a){const M=a24k,b=a[M(0xd2)]('\x20')[M(0x107)](),c=this[M(0x100)][M(0x143)][M(0xd5)];if(!c||!c[M(0x102)])return this[M(0x109)][M(0x13d)](M(0x138)),M(0xe3);const d=c[M(0x102)][M(0x142)](b,this[M(0x100)]['player']['inventory']);return d['success']&&c['puzzle'][M(0x10b)]&&this['game'][M(0x143)][M(0x108)](c['puzzle'][M(0x10b)]),this['logger']['write'](M(0xcb)+d[M(0x127)]),d['message'];}}
1
+ const a24k=a24d;function a24d(a,b){const c=a24c();return a24d=function(d,e){d=d-0x1f2;let f=c[d];return f;},a24d(a,b);}(function(a,b){const h=a24d,c=a();while(!![]){try{const d=-parseInt(h(0x257))/0x1*(parseInt(h(0x216))/0x2)+-parseInt(h(0x227))/0x3+-parseInt(h(0x26d))/0x4*(-parseInt(h(0x250))/0x5)+-parseInt(h(0x1f3))/0x6*(-parseInt(h(0x218))/0x7)+parseInt(h(0x21f))/0x8*(-parseInt(h(0x231))/0x9)+-parseInt(h(0x26e))/0xa*(-parseInt(h(0x234))/0xb)+-parseInt(h(0x1fa))/0xc*(parseInt(h(0x252))/0xd);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a24c,0x4a2ff));const a24b=(function(){let a=!![];return function(b,c){const d=a?function(){const i=a24d;if(c){const e=c[i(0x263)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a24a=a24b(this,function(){const j=a24d;return a24a[j(0x1f7)]()[j(0x277)]('(((.+)+)+)+$')[j(0x1f7)]()[j(0x24c)](a24a)[j(0x277)]('(((.+)+)+)+$');});a24a();import a24e from'./game.js';import{Door}from'./door.js';import a24f from'./utilities/logger.js';const logger=a24f[a24k(0x24a)]();export class Command{[a24k(0x255)];[a24k(0x26a)];constructor(a){const l=a24k;this[l(0x255)]=a;}}function a24c(){const N=['drop','description','84432CmmPAH','down','exits','There\x20seems\x20to\x20be\x20an\x20error\x20with\x20the\x20room\x20you\x27re\x20trying\x20to\x20go\x20to.','\x20doesn\x27t\x20have\x20a\x20use\x20method.','Attempting\x20\x27Go\x27\x20command\x20with\x20direction:\x20','Unnamed\x20room','unequip','hasItem','You\x20locked\x20the\x20door\x20named\x20\x22','243HQuGqR','inventory','The\x20item\x20\x22','6521933OVLtcR','player','Successfully\x20dropped\x20\x22','puzzle','unlock','rewardItem','\x20is\x20not\x20a\x20valid\x20exit\x20in\x20this\x20room.','Above\x20you,\x20','\x22\x20from\x20room\x27s\x20inventory\x20during\x20\x27Take\x27\x20command.','Executing\x20\x27Look\x27\x20command.','Error:\x20Player\x20is\x20not\x20in\x20a\x20valid\x20room\x20during\x20\x27Look\x27\x20command\x20execution.','You\x20search\x20the\x20area\x20and\x20find:\x20','currentLocation','equip','LockCommand:\x20Locked\x20the\x20','UnlockCommand:\x20','EquipCommand:\x20','\x27Go\x27\x20command\x20failed:\x20No\x20direction\x20specified.','UseCommand:\x20','You\x20don\x27t\x20see\x20any\x20','lock','UnequipCommand:\x20','getInstance','UseCommand:\x20Player\x20attempted\x20to\x20use\x20','constructor','You\x20search\x20the\x20area\x20thoroughly,\x20but\x20don\x27t\x20find\x20anything\x20of\x20interest.','name','\x22\x20to\x20player\x27s\x20inventory\x20during\x20\x27Take\x27\x20command.','5oDcBwp',',\x20which\x20is\x20not\x20in\x20their\x20inventory.','5784441kXjvws','\x27Go\x27\x20command\x20failed:\x20Room\x20\x22','\x22\x20in\x20this\x20room.','game','\x27Go\x27\x20command\x20failed:\x20Specified\x20direction\x20\x22','2loPVcO','UseCommand:\x20Player\x20used\x20','You\x27re\x20not\x20in\x20a\x20valid\x20room.',',\x20you\x20see\x20','You\x20can\x27t\x20use\x20the\x20','There\x20seems\x20to\x20be\x20an\x20error\x20with\x20the\x20door\x20you\x27re\x20trying\x20to\x20go\x20through.','\x22\x20not\x20found\x20in\x20player\x27s\x20inventory\x20during\x20\x27Drop\x27\x20command.','rooms','You\x20can\x27t\x20go\x20that\x20way.','take','addItem','You\x20dropped\x20','apply','You\x20don\x27t\x20have\x20','Player\x20moved\x20to\x20room:\x20','\x20in\x20your\x20inventory,\x20and\x20it\x27s\x20not\x20in\x20this\x20room.','Please\x20specify\x20which\x20door\x20you\x20want\x20to\x20lock.','function','Item\x20\x22','verb','get','\x20in\x20this\x20way.','1851352pkzVXe','10VJsHqZ','use','\x22\x20not\x20retrieved\x20from\x20room\x27s\x20inventory\x20during\x20\x27Take\x27\x20command.','toLowerCase','UnlockCommand:\x20Attempted\x20to\x20unlock\x20','There\x27s\x20no\x20exit\x20in\x20the\x20direction\x20\x22','Unexpected\x20error\x20occurred\x20while\x20looking\x20at\x20the\x20room\x20in\x20the\x20direction\x20\x22','Please\x20specify\x20which\x20door\x20you\x20want\x20to\x20unlock.','\x22\x20is\x20too\x20heavy\x20to\x20carry.','search','solve','67668exTjQE','\x22\x20from\x20inventory\x20to\x20room\x20during\x20\x27Drop\x27\x20command.','\x22\x20here.','unlockItemOrSolution','toString','removeItem','getOtherSide','12VHvUWG','\x27\x20in\x20player\x20inventory.','SearchCommand:\x20Player\x20','isLocked','has','You\x20cannot\x20see\x20through','logger','\x20to\x20use.','Successfully\x20removed\x20\x22','write','\x22\x20does\x20not\x20exist\x20in\x20current\x20room\x27s\x20exits.','inspectItem','join','error','SolveCommand:\x20','getItem','Looking\x20around\x20the\x20current\x20room.','UnlockCommand:\x20Player\x20does\x20not\x20have\x20the\x20necessary\x20key\x20for\x20','You\x20don\x27t\x20have\x20the\x20key\x20to\x20lock\x20this\x20door.','There\x27s\x20an\x20error\x20with\x20the\x20room\x20in\x20the\x20direction\x20\x22','look','Below\x20you,\x20','execute','Error\x20during\x20\x27Take\x27\x20command:\x20','\x20taken\x20from\x20room\x20and\x20added\x20to\x20inventory.','Attempting\x20\x27Take\x27\x20command\x20with\x20item:\x20','attemptUnlockExit','length','305332CakZjV','There\x27s\x20no\x20door\x20named\x20\x22','28HAEzXu','message','UnlockCommand:\x20No\x20target\x20specified.','\x22\x20is\x20already\x20locked.','listItems','string','There\x20doesn\x27t\x20seem\x20to\x20be\x20a\x20riddle\x20here\x20to\x20solve.','5496aKQZTc','You\x20have\x20taken\x20the\x20','.\x20Result:\x20','There\x20is\x20no\x20item\x20\x22','\x22\x20not\x20found\x20in\x20room\x20during\x20\x27Take\x27\x20command.','\x20searched\x20the\x20room\x20but\x20found\x20nothing.'];a24c=function(){return N;};return a24c();}import{RoomType}from'./types.js';export class LookCommand extends Command{[a24k(0x26a)]=a24k(0x20e);['logger'];constructor(a){const m=a24k;super(a),this[m(0x200)]=a24f[m(0x24a)]();}['execute'](a=[]){const n=a24k;this[n(0x200)][n(0x203)](n(0x23d));const b=a[n(0x206)]('\x20');if(b){if(this['game'][n(0x235)]['inventory'][n(0x22f)](b))return this['logger'][n(0x203)]('Looking\x20at\x20item\x20\x27'+b+n(0x1fb)),this[n(0x205)](b,this[n(0x255)][n(0x235)]['inventory']);else return this['game'][n(0x235)]['currentLocation'][n(0x232)][n(0x22f)](b)?(this['logger'][n(0x203)]('Looking\x20at\x20item\x20\x27'+b+'\x27\x20in\x20current\x20room\x20inventory.'),this['inspectItem'](b,this[n(0x255)][n(0x235)]['currentLocation']['inventory'])):(this['logger'][n(0x203)]('Attempting\x20to\x20look\x20outside\x20in\x20direction\x20\x27'+b+'\x27.'),this['lookOutside'](b));}else return this[n(0x200)][n(0x203)](n(0x20a)),this[n(0x20e)]();}[a24k(0x20e)](){const o=a24k,a=this['game']['player'][o(0x240)];if(!a)return this['logger'][o(0x203)]('Error:\x20Player\x20is\x20not\x20in\x20a\x20valid\x20room\x20during\x20\x27Look\x27\x20command\x20execution.'),o(0x259);let b=a[o(0x226)];return a[o(0x237)]&&(b+='\x0a'+a[o(0x237)]['riddle']),b;}['lookOutside'](a){const p=a24k,b=this[p(0x255)][p(0x235)][p(0x240)];if(!b)return this[p(0x200)][p(0x203)](p(0x23e)),'You\x27re\x20not\x20in\x20a\x20valid\x20room.';const c=b[p(0x229)][p(0x26b)](a);if(!c)return p(0x273)+a+'\x22.';let d;const e=a24e['getInstance'](this[p(0x255)][p(0x235)],this[p(0x255)][p(0x25e)]);if(c instanceof Door)d=c['getOtherSide'](b);else{if(typeof c===p(0x21d)){d=e[p(0x25e)][c];if(!d)return p(0x20d)+a+'\x22.';}else return p(0x274)+a+'\x22.';}if(d['roomType']===RoomType['OUTSIDE']){if(a==='up')return p(0x23b)+d['description'];else return a===p(0x228)?p(0x20f)+d[p(0x226)]:'To\x20the\x20'+a+p(0x25a)+d[p(0x226)];}else return p(0x1ff);}[a24k(0x205)](a,b){const q=a24k,c=b[q(0x209)](a);if(!c)return q(0x247)+a+'\x20here.';return c[q(0x226)]||'It\x27s\x20just\x20a\x20regular\x20'+a+'.';}}export class TakeCommand extends Command{[a24k(0x26a)]='take';[a24k(0x210)](a){const r=a24k;return logger['write'](r(0x213)+a[r(0x206)]('\x20')),this[r(0x260)](a);}[a24k(0x260)](a){const s=a24k,b=a[s(0x206)]('\x20')['toLowerCase'](),c=this[s(0x255)][s(0x235)][s(0x240)];if(!c[s(0x232)][s(0x22f)](b))return logger[s(0x203)](s(0x269)+b+s(0x223)),'There\x20is\x20no\x20item\x20\x22'+b+s(0x254);const d=c[s(0x232)][s(0x209)](b);if(!d)return logger[s(0x203)]('Item\x20\x22'+b+s(0x270)),s(0x222)+b+s(0x254);try{return this['game'][s(0x235)]['addInventory'](d),logger['write']('Successfully\x20added\x20\x22'+b+s(0x24f)),c[s(0x232)][s(0x1f8)](b),logger[s(0x203)](s(0x202)+b+s(0x23c)),s(0x220)+b+'.';}catch(e){return logger[s(0x203)](s(0x211)+e['message']),s(0x233)+b+s(0x276);}}}export class DropCommand extends Command{[a24k(0x26a)]='drop';[a24k(0x210)](a){const t=a24k;return logger[t(0x203)]('Attempting\x20\x27Drop\x27\x20command\x20with\x20item:\x20'+a[t(0x206)]('\x20')),this[t(0x225)](a);}[a24k(0x225)](a){const u=a24k,b=a[u(0x206)]('\x20')[u(0x271)]();if(!this[u(0x255)][u(0x235)][u(0x232)][u(0x22f)](b))return logger['write'](u(0x269)+b+u(0x25d)),u(0x264)+b+'\x20in\x20your\x20inventory.';const c=this[u(0x255)][u(0x235)][u(0x232)][u(0x209)](b);if(!c)return logger[u(0x203)](u(0x269)+b+'\x22\x20not\x20retrieved\x20from\x20player\x27s\x20inventory\x20during\x20\x27Drop\x27\x20command.'),u(0x264)+b+'\x20in\x20your\x20inventory.';return this['game']['player']['inventory'][u(0x1f8)](b),this[u(0x255)][u(0x235)][u(0x240)]['inventory'][u(0x261)](c),logger['write'](u(0x236)+b+u(0x1f4)),u(0x262)+b+'.';}}export class GoCommand extends Command{['verb']='go';[a24k(0x210)](a){const v=a24k;return logger[v(0x203)](v(0x22c)+a['join']('\x20')),this['go'](a);}['go'](a){const w=a24k;if(a[w(0x215)]===0x0)return logger[w(0x203)](w(0x245)),'Please\x20specify\x20a\x20direction\x20to\x20go.';const b=a[0x0][w(0x271)](),c=this[w(0x255)][w(0x235)]['currentLocation'];if(!c)return logger['error']('\x27Go\x27\x20command\x20failed:\x20Current\x20room\x20is\x20undefined\x20or\x20null.\x20This\x20is\x20a\x20bug.'),'You\x20seem\x20to\x20be\x20nowhere.\x20This\x20is\x20a\x20bug.';const d=c['getExit'](b);if(!d)return logger['write'](w(0x256)+b+w(0x204)),w(0x25f);if(d instanceof Door){if(d['checkIfLocked']())return'The\x20door\x20in\x20the\x20direction\x20\x22'+b+'\x22\x20is\x20locked.';const f=d[w(0x1f9)](c);if(!f)return logger[w(0x207)]('\x27Go\x27\x20command\x20failed:\x20Unable\x20to\x20determine\x20the\x20other\x20side\x20of\x20the\x20door.'),w(0x25c);this[w(0x255)][w(0x235)][w(0x240)]=f;}else{const g=this[w(0x255)][w(0x25e)][d];if(!g)return logger[w(0x207)](w(0x253)+d+'\x22\x20not\x20found.'),w(0x22a);this['game'][w(0x235)]['currentLocation']=g;}logger[w(0x203)](w(0x265)+(this[w(0x255)]['player'][w(0x240)]['name']||w(0x22d))+'.');const e=new LookCommand(this[w(0x255)]);return e[w(0x210)]();}}export class UseCommand extends Command{[a24k(0x26a)]=a24k(0x26f);[a24k(0x200)];constructor(a){const x=a24k;super(a),this['logger']=a24f[x(0x24a)]();}['execute'](a){const y=a24k;return this[y(0x26f)](a);}['use'](a){const z=a24k,b=a['join']('\x20')['toLowerCase']();if(!this['game']['player']['inventory'][z(0x22f)](b))return this[z(0x200)]['write'](z(0x24b)+b+z(0x251)),'You\x20don\x27t\x20have\x20the\x20'+b+z(0x201);const c=this[z(0x255)][z(0x235)][z(0x232)][z(0x209)](b);if(!c)return this[z(0x200)][z(0x203)](z(0x246)+b+'\x20not\x20retrieved\x20from\x20player\x27s\x20inventory.'),'You\x20don\x27t\x20have\x20the\x20'+b+z(0x201);if(typeof c[z(0x26f)]===z(0x268)){const d=c[z(0x26f)]();return this['logger'][z(0x203)](z(0x258)+b+'.'),d;}else return this[z(0x200)][z(0x203)](z(0x246)+b+z(0x22b)),z(0x25b)+b+z(0x26c);}}export class UnlockCommand extends Command{[a24k(0x26a)]='unlock';[a24k(0x200)];constructor(a){const A=a24k;super(a),this[A(0x200)]=a24f[A(0x24a)]();}['execute'](a){const B=a24k;return this[B(0x238)](a);}[a24k(0x238)](a){const C=a24k;if(a[C(0x215)]===0x0)return this[C(0x200)]['error'](C(0x21a)),C(0x275);const b=a[0x0][C(0x271)](),c=this[C(0x255)][C(0x235)][C(0x240)];if(c['exits'][C(0x1fe)](b)){const d=c[C(0x229)]['get'](b);if(d instanceof Door){const e=d[C(0x1f6)]?.['toLowerCase']();if(e&&this[C(0x255)]['player']['inventory']['hasItem'](e)){const f=this['game'][C(0x235)][C(0x232)][C(0x209)](e);if(f){const g=c[C(0x214)](b,f[C(0x24e)]);return this[C(0x200)][C(0x203)](C(0x272)+b+C(0x221)+g),g;}}return this[C(0x200)][C(0x203)](C(0x20b)+b+'.'),'You\x20don\x27t\x20have\x20the\x20key\x20or\x20solution\x20to\x20unlock\x20this\x20door.';}else return this[C(0x200)][C(0x203)](C(0x243)+b+C(0x23a)),'There\x27s\x20no\x20door\x20named\x20\x22'+b+C(0x1f5);}else return this['logger'][C(0x203)](C(0x243)+b+'\x20is\x20not\x20a\x20valid\x20exit\x20in\x20this\x20room.'),C(0x217)+b+C(0x1f5);}}export class LockCommand extends Command{[a24k(0x26a)]=a24k(0x248);[a24k(0x200)];constructor(a){super(a),this['logger']=a24f['getInstance']();}[a24k(0x210)](a){return this['lock'](a);}['lock'](a){const D=a24k;if(a[D(0x215)]===0x0)return this['logger'][D(0x207)]('LockCommand:\x20No\x20target\x20specified.'),D(0x267);const b=a[0x0][D(0x271)](),c=this['game']['player']['currentLocation'];if(c[D(0x229)][D(0x1fe)](b)){const d=c[D(0x229)][D(0x26b)](b);if(d[D(0x1fd)])return'The\x20door\x20named\x20\x22'+b+D(0x21b);const e=d[D(0x1f6)]?.[D(0x271)]();return e&&this[D(0x255)][D(0x235)]['inventory'][D(0x22f)](e)?(d[D(0x1fd)]=!![],this[D(0x200)][D(0x203)](D(0x242)+b+'\x20door.'),D(0x230)+b+'\x22.'):(this[D(0x200)][D(0x203)]('LockCommand:\x20Player\x20does\x20not\x20have\x20the\x20necessary\x20key\x20for\x20'+b+'.'),D(0x20c));}else return this[D(0x200)][D(0x203)]('LockCommand:\x20'+b+D(0x23a)),'There\x27s\x20no\x20door\x20named\x20\x22'+b+'\x22\x20here.';}}export class EquipCommand extends Command{['verb']='equip';['logger'];constructor(a){const E=a24k;super(a),this[E(0x200)]=a24f['getInstance']();}['execute'](a){const F=a24k;return this[F(0x241)](a);}[a24k(0x241)](a){const G=a24k,b=a['join']('\x20')[G(0x271)]();let c=this[G(0x255)]['player']['inventory'][G(0x209)](b);if(!c){const e=this['game']['player'][G(0x240)];c=e['inventory']['getItem'](b);if(c)this[G(0x255)]['player']['inventory'][G(0x261)](c),e[G(0x232)][G(0x1f8)](b),this[G(0x200)][G(0x203)](G(0x244)+b+G(0x212));else return this['logger'][G(0x207)](G(0x244)+b+'\x20not\x20found\x20in\x20inventory\x20or\x20room.'),G(0x264)+b+G(0x266);}const d=this[G(0x255)][G(0x235)][G(0x241)](c);return this[G(0x200)][G(0x203)](G(0x244)+d),d;}}export class UnequipCommand extends Command{['logger'];constructor(a){const H=a24k;super(a),this['verb']='unequip',this[H(0x200)]=a24f['getInstance']();}['execute'](a){const I=a24k,b=a['join']('\x20')[I(0x271)](),c=this[I(0x255)][I(0x235)][I(0x22e)](b);return this[I(0x200)][I(0x203)](I(0x249)+c),c;}}export class SolveCommand extends Command{[a24k(0x26a)]=a24k(0x1f2);[a24k(0x200)];constructor(a){const J=a24k;super(a),this[J(0x200)]=a24f['getInstance']();}['execute'](a){const K=a24k,b=a[K(0x206)]('\x20')[K(0x271)](),c=this['game'][K(0x235)][K(0x240)];if(!c||!c[K(0x237)])return this[K(0x200)]['write']('SolveCommand:\x20Attempt\x20to\x20solve\x20a\x20riddle\x20in\x20a\x20room\x20with\x20no\x20puzzle.'),K(0x21e);const d=c[K(0x237)]['solve'](b,this[K(0x255)][K(0x235)][K(0x232)]);return d['success']&&c[K(0x237)][K(0x239)]&&this[K(0x255)][K(0x235)][K(0x232)][K(0x261)](c['puzzle'][K(0x239)]),this['logger'][K(0x203)](K(0x208)+d[K(0x219)]),d[K(0x219)];}}export class SearchCommand extends Command{[a24k(0x26a)]='search';[a24k(0x200)];constructor(a){const L=a24k;super(a),this['logger']=a24f[L(0x24a)]();}[a24k(0x210)](){const M=a24k,a=this[M(0x255)][M(0x235)]['currentLocation'][M(0x232)][M(0x21c)]();if(a[M(0x215)]===0x0)return this[M(0x200)][M(0x203)](M(0x1fc)+this[M(0x255)]['player'][M(0x24e)]+M(0x224)),M(0x24d);const b=a[M(0x206)](',\x20');return this[M(0x200)][M(0x203)](M(0x1fc)+this['game'][M(0x235)][M(0x24e)]+'\x20found\x20the\x20following\x20items:\x20'+b),M(0x23f)+b;}}
@@ -1 +1 @@
1
- function a25c(){var n=['logger','1890EYmyoE','isLockable','write','952841MvOAwH','11CfxFNX','.\x20Used:\x20','150qlkzsl','unlockItemOrSolution','isLocked','attemptUnlock','name','1637638JwDoYP','Door','getInstance','.\x20Is\x20Locked:\x20','6208dTpFcR','Failed\x20to\x20unlock\x20door:\x20','(((.+)+)+)+$','6269031asXLvj','checkIfLocked','3793292DWIrUb','toString','127614azwTvm','getOtherSide','3oxoVBw','\x20and\x20','roomA','roomB','9811790ddAWxg','search','constructor','Door\x20unlocked:\x20'];a25c=function(){return n;};return a25c();}var a25h=a25d;(function(a,b){var f=a25d,c=a();while(!![]){try{var d=parseInt(f(0x1fa))/0x1+parseInt(f(0x202))/0x2+-parseInt(f(0x1ee))/0x3*(-parseInt(f(0x20b))/0x4)+parseInt(f(0x1fd))/0x5*(-parseInt(f(0x20d))/0x6)+-parseInt(f(0x1f7))/0x7*(-parseInt(f(0x206))/0x8)+-parseInt(f(0x209))/0x9+-parseInt(f(0x1f2))/0xa*(parseInt(f(0x1fb))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a25c,0x95d3f));function a25d(a,b){var c=a25c();return a25d=function(d,e){d=d-0x1ee;var f=c[d];return f;},a25d(a,b);}var a25b=(function(){var a=!![];return function(b,c){var d=a?function(){if(c){var e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a25a=a25b(this,function(){var g=a25d;return a25a[g(0x20c)]()[g(0x1f3)](g(0x208))[g(0x20c)]()[g(0x1f4)](a25a)[g(0x1f3)](g(0x208));});a25a();import{capitalCase}from'change-case';import a25e from'./utilities/logger.js';export class Door{[a25h(0x1f0)];[a25h(0x1f1)];['isLocked'];[a25h(0x1fe)];['name'];['logger'];['isLockable'];constructor(a,b,c=![],d,e){var i=a25h;this['roomA']=a,this['roomB']=b,this[i(0x1ff)]=c,this[i(0x1fe)]=d,this['name']=e?capitalCase(e):i(0x203),this[i(0x1f6)]=a25e[i(0x204)](),this[i(0x1f8)]=!!d,this[i(0x1f6)][i(0x1f9)]('Door\x20created\x20between\x20'+this[i(0x1f0)][i(0x201)]+i(0x1ef)+this[i(0x1f1)][i(0x201)]+i(0x205)+this[i(0x1ff)]);}[a25h(0x20e)](a){var j=a25h;return this[j(0x1f0)]===a?this[j(0x1f1)]:this[j(0x1f0)];}[a25h(0x200)](a){var k=a25h;if(this[k(0x1ff)]&&this['unlockItemOrSolution']&&this[k(0x1fe)]===a)return this[k(0x1ff)]=![],this['logger'][k(0x1f9)](k(0x1f5)+this[k(0x201)]+k(0x1fc)+a),!![];return this[k(0x1f6)]['write'](k(0x207)+this[k(0x201)]+k(0x1fc)+a),![];}[a25h(0x20a)](){var l=a25h;return this[l(0x1ff)];}['checkIfLockable'](){var m=a25h;return this[m(0x1f8)];}}
1
+ function a25d(a,b){var c=a25c();return a25d=function(d,e){d=d-0x1d0;var f=c[d];return f;},a25d(a,b);}var a25i=a25d;(function(a,b){var f=a25d,c=a();while(!![]){try{var d=parseInt(f(0x1e8))/0x1*(-parseInt(f(0x1dd))/0x2)+parseInt(f(0x1e4))/0x3*(parseInt(f(0x1d4))/0x4)+parseInt(f(0x1e1))/0x5+-parseInt(f(0x1df))/0x6*(-parseInt(f(0x1d8))/0x7)+parseInt(f(0x1ea))/0x8*(parseInt(f(0x1d9))/0x9)+parseInt(f(0x1ef))/0xa*(parseInt(f(0x1d7))/0xb)+-parseInt(f(0x1e2))/0xc*(parseInt(f(0x1d0))/0xd);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a25c,0x220b0));var a25b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a25d;if(c){var e=c[g(0x1d6)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a25a=a25b(this,function(){var h=a25d;return a25a[h(0x1ec)]()['search'](h(0x1dc))[h(0x1ec)]()['constructor'](a25a)[h(0x1ee)](h(0x1dc));});a25a();import{capitalCase}from'change-case';import a25e from'./utilities/logger.js';export class Door{['roomA'];[a25i(0x1e7)];[a25i(0x1da)];[a25i(0x1e3)];[a25i(0x1d2)];[a25i(0x1eb)];[a25i(0x1e0)];constructor(a,b,c=![],d,e){var j=a25i;this[j(0x1d3)]=a,this[j(0x1e7)]=b,this[j(0x1da)]=c,this[j(0x1e3)]=d,this[j(0x1d2)]=e?capitalCase(e):j(0x1ed),this[j(0x1eb)]=a25e[j(0x1e5)](),this[j(0x1e0)]=!!d,this['logger'][j(0x1e6)](j(0x1d5)+this[j(0x1d3)][j(0x1d2)]+j(0x1db)+this[j(0x1e7)][j(0x1d2)]+'.\x20Is\x20Locked:\x20'+this[j(0x1da)]);}[a25i(0x1d1)](a){var k=a25i;return this[k(0x1d3)]===a?this[k(0x1e7)]:this[k(0x1d3)];}['attemptUnlock'](a){var l=a25i;if(this[l(0x1da)]&&this['unlockItemOrSolution']&&this['unlockItemOrSolution']===a)return this[l(0x1da)]=![],this['logger'][l(0x1e6)]('Door\x20unlocked:\x20'+this['name']+l(0x1e9)+a),!![];return this[l(0x1eb)][l(0x1e6)]('Failed\x20to\x20unlock\x20door:\x20'+this[l(0x1d2)]+l(0x1e9)+a),![];}['checkIfLocked'](){return this['isLocked'];}[a25i(0x1de)](){var m=a25i;return this[m(0x1e0)];}}function a25c(){var n=['1688coLEvF','logger','toString','Door','search','10GhKYwQ','52WAdlcw','getOtherSide','name','roomA','140LkOGIQ','Door\x20created\x20between\x20','apply','909942Fqyirv','266HoejIP','11007UBodPm','isLocked','\x20and\x20','(((.+)+)+)+$','14UvZSlb','checkIfLockable','15468mfZaxv','isLockable','1088020PwwVyj','1205028IFdudz','unlockItemOrSolution','9327wShYbN','getInstance','write','roomB','32006RapwBB','.\x20Used:\x20'];a25c=function(){return n;};return a25c();}
@@ -1 +1 @@
1
- function a26c(){const o=['getInstance','description','split','You\x20are\x20still\x20in\x20the\x20game,\x20type\x20\x22quit\x22\x20to\x20exit','keys','3138jTbkQe','140gjNiFg','listinventory','maka','3214504LQxfBK','110099eXaCru','includes','solve','take','toString','clear','215sGbYzC','toLowerCase','unequip','player','1044eKhJMj','14gAQaGl','108470nnTeca','630qzgLZJ','inventory','getWelcomeMessage','24cHJnZH','157959KVuKZZ','(((.+)+)+)+$','No\x20rooms\x20have\x20been\x20defined\x20in\x20the\x20game.','execute','rooms','4WwZdCE','currentRoom','2005016sXjsHd','currentLocation','Welcome\x20to\x20Dunnet\x20Adventure\x20Game!','hasOwnProperty','instance','use','handleInput','quit','trim','constructor','search','44886IpxbEC','equip'];a26c=function(){return o;};return a26c();}const a26i=a26d;(function(a,b){const g=a26d,c=a();while(!![]){try{const d=parseInt(g(0x91))/0x1*(parseInt(g(0x9b))/0x2)+parseInt(g(0xaf))/0x3*(parseInt(g(0x8f))/0x4)+-parseInt(g(0xba))/0x5*(parseInt(g(0xa8))/0x6)+-parseInt(g(0x90))/0x7*(-parseInt(g(0xb3))/0x8)+parseInt(g(0x96))/0x9*(parseInt(g(0x92))/0xa)+parseInt(g(0xb4))/0xb*(parseInt(g(0x95))/0xc)+parseInt(g(0x9d))/0xd*(-parseInt(g(0xb0))/0xe);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a26c,0x87924));const a26b=(function(){let a=!![];return function(b,c){const d=a?function(){if(c){const e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a26a=a26b(this,function(){const h=a26d;return a26a[h(0xb8)]()[h(0xa7)](h(0x97))[h(0xb8)]()[h(0xa6)](a26a)[h(0xa7)]('(((.+)+)+)+$');});function a26d(a,b){const c=a26c();return a26d=function(d,e){d=d-0x8f;let f=c[d];return f;},a26d(a,b);}a26a();import{GoCommand,LookCommand,ListInventoryCommand,TakeCommand,UseCommand,EquipCommand,UnequipCommand,SolveCommand,DropCommand,UnlockCommand,LockCommand}from'./commands.js';export default class Game{static [a26i(0xa1)];[a26i(0xbd)];[a26i(0x9c)];[a26i(0x9a)];constructor(a,b){const j=a26i;this['player']=a,this[j(0x9a)]=b,this[j(0xbd)][j(0x9e)]=this['determineStartRoom']();}['determineStartRoom'](){const k=a26i;for(const b in this['rooms']){if(this['rooms'][k(0xa0)](b)){const c=this['rooms'][b];if(c[k(0xab)][k(0xb5)]('[START]'))return c;}}const a=Object[k(0xae)](this[k(0x9a)]);if(a['length']===0x0)throw new Error(k(0x98));return console['warn']('No\x20starting\x20room\x20designated.\x20Defaulting\x20to\x20the\x20first\x20room.'),this[k(0x9a)][a[0x0]];}[a26i(0x94)](){const l=a26i;return l(0x9f);}static[a26i(0xaa)](a,b){const m=a26i;return!Game[m(0xa1)]&&(Game[m(0xa1)]=new Game(a,b)),Game[m(0xa1)];}[a26i(0xa3)](a){const n=a26i,b=a[n(0xa5)]()[n(0xac)]('\x20'),c=b[0x0][n(0xbb)](),d=b['slice'](0x1);if(c===n(0xa4))return null;if(c===n(0xb2))return n(0xad);if(c===n(0xb9))return'';let e=null;switch(c){case'look':e=new LookCommand(this);break;case n(0xb1):case n(0x93):e=new ListInventoryCommand(this);break;case'go':e=new GoCommand(this);break;case n(0xb7):e=new TakeCommand(this);break;case'drop':e=new DropCommand(this);break;case n(0xa2):e=new UseCommand(this);break;case n(0xa9):e=new EquipCommand(this);break;case n(0xbc):e=new UnequipCommand(this);break;case n(0xb6):e=new SolveCommand(this);break;case'unlock':e=new UnlockCommand(this);break;case'lock':e=new LockCommand(this);break;default:return'I\x20don\x27t\x20understand\x20the\x20command\x20\x22'+c+'\x22.';}const f=e[n(0x99)](d);return f;}}
1
+ const a26i=a26d;(function(a,b){const g=a26d,c=a();while(!![]){try{const d=-parseInt(g(0x1c6))/0x1*(parseInt(g(0x1b3))/0x2)+parseInt(g(0x1c4))/0x3*(-parseInt(g(0x1ce))/0x4)+parseInt(g(0x1cc))/0x5+-parseInt(g(0x1b8))/0x6+parseInt(g(0x1ca))/0x7*(-parseInt(g(0x1cb))/0x8)+parseInt(g(0x1af))/0x9*(-parseInt(g(0x1ab))/0xa)+parseInt(g(0x1c8))/0xb*(parseInt(g(0x1a4))/0xc);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a26c,0x5a7f0));const a26b=(function(){let a=!![];return function(b,c){const d=a?function(){if(c){const e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a26a=a26b(this,function(){const h=a26d;return a26a[h(0x1b4)]()[h(0x1b0)](h(0x1bf))[h(0x1b4)]()[h(0x1b2)](a26a)[h(0x1b0)](h(0x1bf));});a26a();function a26d(a,b){const c=a26c();return a26d=function(d,e){d=d-0x1a3;let f=c[d];return f;},a26d(a,b);}import{GoCommand,LookCommand,TakeCommand,UseCommand,EquipCommand,UnequipCommand,SolveCommand,DropCommand,UnlockCommand,LockCommand,SearchCommand}from'./commands.js';export default class Game{static ['instance'];[a26i(0x1ad)];[a26i(0x1a5)];['rooms'];constructor(a,b){const j=a26i;this['player']=a,this[j(0x1d2)]=b,this[j(0x1ad)]['currentLocation']=this[j(0x1d1)]();}[a26i(0x1d1)](){const k=a26i;for(const b in this[k(0x1d2)]){if(this['rooms'][k(0x1b7)](b)){const c=this[k(0x1d2)][b];if(c[k(0x1d0)][k(0x1bb)](k(0x1c5)))return c;}}const a=Object[k(0x1ae)](this[k(0x1d2)]);if(a[k(0x1c3)]===0x0)throw new Error(k(0x1c0));return console['warn']('No\x20starting\x20room\x20designated.\x20Defaulting\x20to\x20the\x20first\x20room.'),this[k(0x1d2)][a[0x0]];}[a26i(0x1b9)](){const l=a26i;return l(0x1c1)+this['player'][l(0x1a7)]+l(0x1aa);}static['getInstance'](a,b){const m=a26i;return!Game['instance']&&(Game[m(0x1d4)]=new Game(a,b)),Game['instance'];}[a26i(0x1c2)](a){const n=a26i,b=a['trim']()[n(0x1d3)]('\x20'),c=b[0x0][n(0x1b1)](),d=b['slice'](0x1);if(c===n(0x1c9))return null;if(c===n(0x1a6))return n(0x1a9);if(c===n(0x1a8))return this[n(0x1cf)]();if(c===n(0x1b5))return'';let e=null;switch(c){case n(0x1c7):e=new LookCommand(this);break;case'go':e=new GoCommand(this);break;case n(0x1bc):e=new TakeCommand(this);break;case'drop':e=new DropCommand(this);break;case'use':e=new UseCommand(this);break;case'equip':e=new EquipCommand(this);break;case n(0x1a3):e=new UnequipCommand(this);break;case n(0x1ac):e=new SolveCommand(this);break;case n(0x1b6):e=new UnlockCommand(this);break;case n(0x1ba):e=new LockCommand(this);break;case n(0x1b0):e=new SearchCommand(this);break;default:return n(0x1bd)+c+'\x22.';}const f=e[n(0x1cd)](d);return f;}[a26i(0x1cf)](){const o=a26i;return o(0x1be);}}function a26c(){const p=['solve','player','keys','18NmEwId','search','toLowerCase','constructor','1592vsamhW','toString','clear','unlock','hasOwnProperty','1511790aEHUwq','getWelcomeMessage','lock','includes','take','I\x20don\x27t\x20understand\x20the\x20command\x20\x22','\x0a\x20\x20\x20\x20Available\x20Commands:\x0a\x20\x20\x20\x20-\x20look:\x20Examine\x20your\x20surroundings.\x0a\x20\x20\x20\x20-\x20search:\x20Search\x20for\x20items\x20in\x20your\x20area.\x0a\x20\x20\x20\x20-\x20go\x20[direction]:\x20Move\x20in\x20the\x20specified\x20direction.\x0a\x20\x20\x20\x20-\x20take\x20[item]:\x20Pick\x20up\x20an\x20item.\x0a\x20\x20\x20\x20-\x20drop\x20[item]:\x20Drop\x20an\x20item\x20from\x20your\x20inventory.\x0a\x20\x20\x20\x20-\x20use\x20[item]:\x20Use\x20an\x20item.\x0a\x20\x20\x20\x20-\x20equip\x20[item]:\x20Equip\x20an\x20item.\x0a\x20\x20\x20\x20-\x20unequip\x20[item]:\x20Unequip\x20an\x20item.\x0a\x20\x20\x20\x20-\x20solve\x20[puzzle]:\x20Attempt\x20to\x20solve\x20a\x20puzzle.\x0a\x20\x20\x20\x20-\x20unlock\x20[door]:\x20Unlock\x20a\x20door.\x0a\x20\x20\x20\x20-\x20lock\x20[door]:\x20Lock\x20a\x20door.\x0a\x20\x20\x20\x20-\x20clear:\x20Clear\x20the\x20screen.\x0a\x20\x20\x20\x20-\x20quit:\x20Exit\x20the\x20game.\x0a\x20\x20\x20\x20','(((.+)+)+)+$','No\x20rooms\x20have\x20been\x20defined\x20in\x20the\x20game.','Hey\x20','handleInput','length','3HQCkkX','[START]','788bZtPaI','look','11ferhrv','quit','7gSHvFy','1535192dkuclN','2528570YnLHEW','execute','1223900mgsylO','getHelpMessage','description','determineStartRoom','rooms','split','instance','unequip','21415236nGCutp','currentRoom','maka','name','help','You\x20are\x20still\x20in\x20the\x20game,\x20type\x20\x22quit\x22\x20to\x20exit',',\x20Ready\x20to\x20embark\x20on\x20a\x20Side\x20Quest?!\x20(type\x20\x22help\x22\x20for\x20a\x20list\x20of\x20commands)\x0a{green-fg}This\x20game\x20is\x20in\x20development\x20;){/green-fg}','2712790iaRdtn'];a26c=function(){return p;};return a26c();}
@@ -0,0 +1 @@
1
+ const a27i=a27d;function a27d(a,b){const c=a27c();return a27d=function(d,e){d=d-0x10c;let f=c[d];return f;},a27d(a,b);}(function(a,b){const f=a27d,c=a();while(!![]){try{const d=-parseInt(f(0x11f))/0x1+-parseInt(f(0x111))/0x2+-parseInt(f(0x118))/0x3+-parseInt(f(0x126))/0x4*(parseInt(f(0x114))/0x5)+parseInt(f(0x119))/0x6*(parseInt(f(0x10f))/0x7)+parseInt(f(0x131))/0x8*(parseInt(f(0x124))/0x9)+parseInt(f(0x133))/0xa*(parseInt(f(0x116))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a27c,0xcae91));const a27b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a27d;if(c){const e=c[g(0x112)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a27a=a27b(this,function(){const h=a27d;return a27a[h(0x10d)]()[h(0x115)]('(((.+)+)+)+$')['toString']()[h(0x128)](a27a)[h(0x115)]('(((.+)+)+)+$');});function a27c(){const q=['toLowerCase','100atQyuv','search','1991vuJLBQ','join','2597658GzZieS','762oZwyHg','Failed\x20to\x20remove\x20item:\x20','keys','getItem','Retrieved\x20details\x20for\x20item:\x20','write','592876NQkxQB','getAllItems','Listed\x20items\x20in\x20inventory:\x20','\x20from\x20inventory.','items','7307919XfMFsQ','Failed\x20to\x20retrieve\x20details\x20for\x20item:\x20','96768FOBIzQ','getInstance','constructor','hasItem','Removed\x20item:\x20','set','get','listItems','\x20to\x20inventory.','removeItem','.\x20Exists:\x20','8rDeyOG','logger','107650idaKKq','getWeight','toString','weight','3269CsIAXZ','.\x20Item\x20not\x20found.','92084VRcdWv','apply'];a27c=function(){return q;};return a27c();}a27a();import{capitalCase}from'change-case';import a27e from'./utilities/logger.js';export class Inventory{[a27i(0x123)];[a27i(0x132)];constructor(){const j=a27i;this[j(0x123)]=new Map(),this[j(0x132)]=a27e[j(0x127)]();}['addItem'](a){const k=a27i;this['items'][k(0x12b)](a['name'][k(0x113)](),a),this[k(0x132)][k(0x11e)]('Added\x20item:\x20'+a['name']+k(0x12e));}[a27i(0x12f)](a){const l=a27i,b=this[l(0x11c)](a);if(b)return this[l(0x123)]['delete'](a['toLowerCase']()),this['logger']['write'](l(0x12a)+a+l(0x122)),b;return this[l(0x132)][l(0x11e)](l(0x11a)+a+l(0x110)),null;}[a27i(0x129)](a){const m=a27i,b=this[m(0x123)]['has'](a[m(0x113)]()),c=[...this['items'][m(0x11b)]()];return this[m(0x132)][m(0x11e)]('Checked\x20for\x20item:\x20'+a+'\x20in\x20'+c[m(0x117)](',\x20')+m(0x130)+b+'.'),b;}[a27i(0x11c)](a){const n=a27i,b=this[n(0x123)][n(0x12c)](a[n(0x113)]())||null;return b?this[n(0x132)][n(0x11e)](n(0x11d)+a+'.'):this[n(0x132)][n(0x11e)](n(0x125)+a+n(0x110)),b;}[a27i(0x12d)](){const o=a27i,a=[...this[o(0x123)]['keys']()],b=a['map'](c=>capitalCase(c));return this[o(0x132)]['write'](o(0x121)+b['join'](',\x20')+'.'),a;}[a27i(0x10c)](){const p=a27i;let a=0x0;for(const b of this['items']['values']()){a+=b[p(0x10e)];}return a;}[a27i(0x120)](){return[...this['items']['values']()];}}
@@ -1 +1 @@
1
- var a27h=a27d;(function(a,b){var f=a27d,c=a();while(!![]){try{var d=parseInt(f(0x71))/0x1*(-parseInt(f(0x9d))/0x2)+parseInt(f(0x7c))/0x3+-parseInt(f(0x75))/0x4+parseInt(f(0x7d))/0x5+-parseInt(f(0x88))/0x6+parseInt(f(0x76))/0x7*(-parseInt(f(0x6f))/0x8)+parseInt(f(0x66))/0x9;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a27c,0x23b57));function a27d(a,b){var c=a27c();return a27d=function(d,e){d=d-0x66;var f=c[d];return f;},a27d(a,b);}var a27b=(function(){var a=!![];return function(b,c){var d=a?function(){if(c){var e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a27a=a27b(this,function(){var g=a27d;return a27a['toString']()[g(0x93)](g(0x67))[g(0x7e)]()[g(0x69)](a27a)[g(0x93)](g(0x67));});a27a();import{Size,Category,Shape,Color,Texture,Rating}from'./types.js';import{v4 as a27e}from'uuid';export class Item{[a27h(0x68)];['name'];[a27h(0x78)];[a27h(0x8d)];[a27h(0x91)];[a27h(0x80)];[a27h(0x70)];['texture'];[a27h(0x97)];['weight'];constructor(a){var i=a27h;this['name']=a[i(0x73)],this[i(0x78)]=a[i(0x78)],this[i(0x8d)]=a[i(0x8d)],this['category']=a['category'],this[i(0x80)]=a[i(0x80)],this[i(0x70)]=a[i(0x70)],this[i(0x95)]=a[i(0x95)],this[i(0x97)]=a[i(0x97)],this['weight']=a[i(0x7a)],this[i(0x68)]=a27e();}[a27h(0x6b)](){var j=a27h;return j(0x6a)+this['name']+j(0x6c);}}export class Key extends Item{constructor(a,b){var k=a27h;super({'name':a,'description':b,'size':Size[k(0x9c)],'category':Category[k(0x8b)],'shape':Shape[k(0x77)],'color':Color[k(0x85)],'texture':Texture[k(0x94)],'rating':Rating[k(0x8f)],'weight':0x0});}['use'](){var l=a27h;return l(0x82);}}export class Book extends Item{['author'];[a27h(0x7f)];['pageCount'];constructor(a,b=a27h(0x81),c=a27h(0x89)){var m=a27h;super({'name':a,'description':b,'size':Size[m(0x86)],'category':Category[m(0x84)],'shape':Shape[m(0x77)],'color':Color[m(0x9a)],'texture':Texture['Smooth'],'rating':Rating[m(0x8f)],'weight':0x1}),this[m(0x8c)]=c,this['publishDate']=new Date(),this[m(0x87)]=0x64;}[a27h(0x6b)](){var n=a27h;return n(0x74);}}export class ShortSword extends Item{constructor(){var o=a27h;super({'name':o(0x9f),'description':o(0x6e),'size':Size[o(0x86)],'category':Category['Weapon'],'shape':Shape[o(0x72)],'color':Color['Grey'],'texture':Texture[o(0x8a)],'rating':Rating[o(0x8f)],'weight':0x3});}['use'](){return'Use\x20it\x20for\x20what?\x20Try\x20equipping\x20it\x20\x22equip\x20short\x20sword\x22';}}export class SniperRifle extends Item{constructor(){var p=a27h;super({'name':p(0x83),'description':p(0x8e),'size':Size[p(0x98)],'category':Category['Weapon'],'shape':Shape[p(0x9b)],'color':Color['Brown'],'texture':Texture[p(0x94)],'rating':Rating[p(0x8f)],'weight':0x5});}[a27h(0x6b)](){return'You\x20suck\x20at\x20using\x20it.\x20\x20Try\x20equipping\x20it\x20\x22equip\x20sniper\x20rifle\x22';}}function a27c(){var s=['Rectangle','description','Cup','weight','A\x20legendary\x20cup\x20believed\x20to\x20have\x20miraculous\x20powers.\x20It\x20shimmers\x20with\x20an\x20ethereal\x20glow.','24633AdNlab','1380365xCapis','toString','publishDate','shape','A\x20mysterious\x20book.','This\x20is\x20a\x20key,\x20and\x20you\x20cannot\x20just\x20\x22use\x22\x20it.\x20Try\x20\x22unlock\x22','Sniper\x20Rifle','Book','Yellow','Medium','pageCount','742296xnhZRZ','Unknown\x20Author','Metallic','Key','author','size','An\x20accurate,\x20long\x20range,\x205\x20round\x20rifle\x20with\x20a\x208x\x20scope.','Common','You\x20hold\x20the\x20','category','Holy\x20Grail','search','Smooth','texture','Small','rating','Large','\x20aloft,\x20feeling\x20its\x20immense\x20power.','Brown','Rifle','Tiny','88154DnQGls','Gold','Short\x20Sword','2141019HtgZsc','(((.+)+)+)+$','uuid','constructor','You\x20use\x20the\x20','use','.\x20Nothing\x20special\x20happens.','Legendary','A\x20well-balanced\x20short\x20sword,\x20ideal\x20for\x20close\x20combat.','1096WaXAGl','color','1MsoJkU','Blade','name','There\x20is\x20a\x20bookmark,\x20you\x20open\x20the\x20book\x20to\x20the\x20page\x20and\x20you\x20see\x20a\x20note\x20saying\x20\x22secret123\x22','650540CHjDOV','2324rmhfZs'];a27c=function(){return s;};return a27c();}export class HolyGrail extends Item{constructor(){var q=a27h;super({'name':q(0x92),'description':q(0x7b),'size':Size[q(0x96)],'category':Category[q(0x79)],'shape':Shape['Circle'],'color':Color[q(0x9e)],'texture':Texture['Metallic'],'rating':Rating[q(0x6d)],'weight':0x1});}['use'](){var r=a27h;return r(0x90)+this[r(0x73)]+r(0x99);}}
1
+ function a28d(a,b){var c=a28c();return a28d=function(d,e){d=d-0x1a5;var f=c[d];return f;},a28d(a,b);}var a28i=a28d;(function(a,b){var f=a28d,c=a();while(!![]){try{var d=parseInt(f(0x1ba))/0x1+parseInt(f(0x1b2))/0x2+-parseInt(f(0x1b6))/0x3+-parseInt(f(0x1d3))/0x4*(parseInt(f(0x1ac))/0x5)+-parseInt(f(0x1ab))/0x6*(-parseInt(f(0x1de))/0x7)+parseInt(f(0x1b0))/0x8*(parseInt(f(0x1ca))/0x9)+-parseInt(f(0x1b9))/0xa*(parseInt(f(0x1d2))/0xb);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a28c,0x5a1a4));var a28b=(function(){var a=!![];return function(b,c){var d=a?function(){var g=a28d;if(c){var e=c[g(0x1c9)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a28a=a28b(this,function(){var h=a28d;return a28a['toString']()['search'](h(0x1dc))[h(0x1ce)]()[h(0x1dd)](a28a)['search'](h(0x1dc));});function a28c(){var u=['Small','1445391wpRtNT','Metallic','Large','75050NuFLOj','477983KWrdpp','pageCount','.\x20Nothing\x20special\x20happens.','texture','publishDate','weight','You\x20use\x20the\x20','use','Book','A\x20well-balanced\x20short\x20sword,\x20ideal\x20for\x20close\x20combat.','rating','\x20aloft,\x20feeling\x20its\x20immense\x20power.','Legendary','You\x20suck\x20at\x20using\x20it.\x20\x20Try\x20equipping\x20it\x20\x22equip\x20sniper\x20rifle\x22','Grey','apply','2108907CdywyR','name','Short\x20Sword','Brown','toString','size','Common','Rifle','1551JiAeja','587108XRkmQp','Weapon','uuid','Medium','Tiny','Use\x20it\x20for\x20what?\x20Try\x20equipping\x20it\x20\x22equip\x20short\x20sword\x22','You\x20hold\x20the\x20','Yellow','Gold','(((.+)+)+)+$','constructor','5649ZDWPGI','shape','This\x20is\x20a\x20key,\x20and\x20you\x20cannot\x20just\x20\x22use\x22\x20it.\x20Try\x20\x22unlock\x22','color','Smooth','Sniper\x20Rifle','author','4842rehvjv','5ZshORX','A\x20legendary\x20cup\x20believed\x20to\x20have\x20miraculous\x20powers.\x20It\x20shimmers\x20with\x20an\x20ethereal\x20glow.','category','Unknown\x20Author','16BdYdRj','Rectangle','915922eHMgil','description','Cup'];a28c=function(){return u;};return a28c();}a28a();import{Size,Category,Shape,Color,Texture,Rating}from'./types.js';import{v4 as a28e}from'uuid';export class Item{['uuid'];['name'];['description'];[a28i(0x1cf)];['category'];[a28i(0x1a5)];['color'];[a28i(0x1bd)];[a28i(0x1c4)];[a28i(0x1bf)];constructor(a){var j=a28i;this[j(0x1cb)]=a[j(0x1cb)],this[j(0x1b3)]=a['description'],this[j(0x1cf)]=a[j(0x1cf)],this[j(0x1ae)]=a[j(0x1ae)],this[j(0x1a5)]=a[j(0x1a5)],this[j(0x1a7)]=a[j(0x1a7)],this['texture']=a[j(0x1bd)],this[j(0x1c4)]=a[j(0x1c4)],this[j(0x1bf)]=a[j(0x1bf)],this[j(0x1d5)]=a28e();}[a28i(0x1c1)](){var k=a28i;return k(0x1c0)+this['name']+k(0x1bc);}}export class Key extends Item{constructor(a,b){var l=a28i;super({'name':a,'description':b,'size':Size[l(0x1d7)],'category':Category['Key'],'shape':Shape[l(0x1b1)],'color':Color[l(0x1da)],'texture':Texture['Smooth'],'rating':Rating[l(0x1d0)],'weight':0x0});}[a28i(0x1c1)](){var m=a28i;return m(0x1a6);}}export class Book extends Item{[a28i(0x1aa)];[a28i(0x1be)];[a28i(0x1bb)];constructor(a,b='A\x20mysterious\x20book.',c=a28i(0x1af)){var n=a28i;super({'name':a,'description':b,'size':Size[n(0x1d6)],'category':Category[n(0x1c2)],'shape':Shape[n(0x1b1)],'color':Color['Brown'],'texture':Texture[n(0x1a8)],'rating':Rating[n(0x1d0)],'weight':0x1}),this[n(0x1aa)]=c,this[n(0x1be)]=new Date(),this[n(0x1bb)]=0x64;}[a28i(0x1c1)](){return'There\x20is\x20a\x20bookmark,\x20you\x20open\x20the\x20book\x20to\x20the\x20page\x20and\x20you\x20see\x20a\x20note\x20saying\x20\x22secret123\x22';}}export class ShortSword extends Item{constructor(){var o=a28i;super({'name':o(0x1cc),'description':o(0x1c3),'size':Size['Medium'],'category':Category[o(0x1d4)],'shape':Shape['Blade'],'color':Color[o(0x1c8)],'texture':Texture['Metallic'],'rating':Rating[o(0x1d0)],'weight':0x3});}[a28i(0x1c1)](){var p=a28i;return p(0x1d8);}}export class SniperRifle extends Item{constructor(){var q=a28i;super({'name':q(0x1a9),'description':'An\x20accurate,\x20long\x20range,\x205\x20round\x20rifle\x20with\x20a\x208x\x20scope.','size':Size[q(0x1b8)],'category':Category[q(0x1d4)],'shape':Shape[q(0x1d1)],'color':Color[q(0x1cd)],'texture':Texture['Smooth'],'rating':Rating[q(0x1d0)],'weight':0x5});}[a28i(0x1c1)](){var r=a28i;return r(0x1c7);}}export class HolyGrail extends Item{constructor(){var s=a28i;super({'name':'Holy\x20Grail','description':s(0x1ad),'size':Size[s(0x1b5)],'category':Category[s(0x1b4)],'shape':Shape['Circle'],'color':Color[s(0x1db)],'texture':Texture[s(0x1b7)],'rating':Rating[s(0x1c6)],'weight':0x1});}[a28i(0x1c1)](){var t=a28i;return t(0x1d9)+this['name']+t(0x1c5);}}
@@ -1 +1 @@
1
- const a28i=a28d;(function(a,b){const f=a28d,c=a();while(!![]){try{const d=parseInt(f(0xd0))/0x1+-parseInt(f(0xbd))/0x2+-parseInt(f(0xf0))/0x3+parseInt(f(0xc2))/0x4*(-parseInt(f(0xfa))/0x5)+-parseInt(f(0xfd))/0x6+-parseInt(f(0xe8))/0x7+parseInt(f(0xbb))/0x8*(parseInt(f(0xe2))/0x9);if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a28c,0x73dc7));const a28b=(function(){let a=!![];return function(b,c){const d=a?function(){const g=a28d;if(c){const e=c[g(0xd7)](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a28a=a28b(this,function(){const h=a28d;return a28a[h(0xc9)]()[h(0xd2)]('(((.+)+)+)+$')[h(0xc9)]()[h(0xde)](a28a)[h(0xd2)](h(0xc7));});function a28d(a,b){const c=a28c();return a28d=function(d,e){d=d-0xb9;let f=c[d];return f;},a28d(a,b);}function a28c(){const z=['category','unequipBySlot','Gloves','You\x20are\x20already\x20wearing\x20something\x20on\x20your\x20','apply','rightHand','feet','toLowerCase','hat','weapon','equipment','constructor','body\x20armor','Boots','_currentLocation','25015050tFnUyk','_inventory','legarmor','boots','_equipment','values','4275852GXLXmR','You\x20unequipped\x20','Start\x20Room','head','.\x20You\x20must\x20unequip\x20it\x20first.','\x20doesn\x27t\x20fit\x20any\x20known\x20equipment\x20slot.','canEquip','removeInventory','1941795VBTqkP','You\x20can\x27t\x20equip\x20','shield','_maxCarryingWeight','leftHand','LegArmor','name','maxCarryingWeight','error','determineEquipmentSlot','4445mEPhFg','Hat','push','3918984wlcBvw','torso','currentLocation','8lKVURE','leg\x20armor','640952ehvPHG','gloves','bodyarmor','indexOf','legs','3484ICWOXe','arm\x20armor','inventory','equip','weight','(((.+)+)+)+$','arms','toString','armarmor','Helmet','currentWeight','A\x20featureless\x20room','You\x20don\x27t\x20have\x20anything\x20equipped\x20in\x20the\x20','BodyArmor','701177NHLONa','Invalid\x20category\x20or\x20slot:\x20','search'];a28c=function(){return z;};return a28c();}a28a();import{camelCase}from'change-case';import{Room}from'./room.js';import{Category}from'./types.js';export class Player{[a28i(0xe1)];[a28i(0xe3)];[a28i(0xe6)];[a28i(0xf3)]=0x32;constructor(a,b,c){const j=a28i;this[j(0xe1)]=a||new Room(j(0xea),j(0xcd)),this[j(0xe3)]=b||[],this[j(0xe6)]=c||{'head':null,'torso':null,'legs':null,'feet':null,'arms':null,'gloves':null,'leftHand':null,'rightHand':null};}get[a28i(0xba)](){return this['_currentLocation'];}set[a28i(0xba)](a){const k=a28i;this[k(0xe1)]=a;}get[a28i(0xc4)](){const l=a28i;return this[l(0xe3)];}set[a28i(0xc4)](a){const m=a28i;this[m(0xe3)]=a;}get['equipment'](){const n=a28i;return this[n(0xe6)];}set['equipment'](a){const o=a28i;this[o(0xe6)]=a;}get[a28i(0xf7)](){const p=a28i;return this[p(0xf3)];}set[a28i(0xf7)](a){const q=a28i;a>0x0?this[q(0xf3)]=a:console[q(0xf8)]('Max\x20carrying\x20weight\x20must\x20be\x20positive.');}get[a28i(0xcc)](){const r=a28i;let a=0x0;for(const b of this[r(0xe3)]){a+=b[r(0xc6)];}for(const c in this[r(0xe6)]){const d=this[r(0xe6)][c];d&&(a+=d[r(0xc6)]);}return a;}['addInventory'](a){const s=a28i;if(this[s(0xcc)]+a['weight']>this[s(0xf7)])throw new Error('The\x20item\x20is\x20too\x20heavy\x20to\x20add\x20to\x20your\x20inventory.');this[s(0xe3)][s(0xfc)](a);}['removeInventory'](a){const t=a28i,b=this[t(0xe3)][t(0xc0)](a);if(b>-0x1)return this[t(0xe3)]['splice'](b,0x1),!![];return![];}[a28i(0xc5)](a){const u=a28i;if(!this[u(0xc4)]['includes'](a))return'You\x20don\x27t\x20have\x20'+a[u(0xf6)]+'\x20in\x20your\x20inventory.';if(!this['canEquip'](a))return u(0xf1)+a[u(0xf6)]+'.';const b=this[u(0xf9)](a[u(0xd3)]);if(!b)return a[u(0xf6)]+u(0xed);if(this[u(0xdd)][b])return u(0xd6)+b+u(0xec);return this[u(0xdd)][b]=a,this[u(0xef)](a),'You\x20equipped\x20'+a['name']+'.';}['unequip'](a){const v=a28i;let b=a;if(!this[v(0xdd)][camelCase(b)]){b=this[v(0xf9)](a);if(!b)return v(0xd1)+a+'.';}return this[v(0xd4)](b);}[a28i(0xf9)](a){const w=a28i;switch(a['toLowerCase']()){case Category['Weapon'][w(0xda)]():return w(0xd8);case Category['Shield']['toLowerCase']():return w(0xf4);case Category[w(0xd5)][w(0xda)]():return w(0xbe);case Category[w(0xcb)][w(0xda)]():case Category[w(0xfb)][w(0xda)]():return w(0xeb);case Category[w(0xe0)]['toLowerCase']():return'feet';case Category[w(0xf5)][w(0xda)]():return w(0xc1);case Category['ArmArmor'][w(0xda)]():return w(0xc8);case Category[w(0xcf)]['toLowerCase']():return w(0xb9);case w(0xdc):return w(0xd8);case w(0xf2):return w(0xf4);case'gloves':return w(0xbe);case'helmet':case w(0xdb):return'head';case w(0xe5):return w(0xd9);case w(0xbc):case w(0xe4):return w(0xc1);case w(0xc3):case w(0xca):return w(0xc8);case w(0xdf):case w(0xbf):case w(0xb9):return'torso';default:return null;}}[a28i(0xee)](a){const x=a28i;return Object[x(0xe7)](Category)['includes'](a[x(0xd3)]);}['unequipBySlot'](a){const y=a28i,b=this['equipment'][a];if(!b)return y(0xce)+a+'\x20slot.';return this['addInventory'](b),this[y(0xdd)][a]=null,y(0xe9)+b[y(0xf6)]+'.';}}
1
+ const a29h=a29d;(function(a,b){const f=a29d,c=a();while(!![]){try{const d=parseInt(f(0x13e))/0x1*(parseInt(f(0x157))/0x2)+-parseInt(f(0x17b))/0x3+-parseInt(f(0x186))/0x4+-parseInt(f(0x181))/0x5+parseInt(f(0x16f))/0x6+-parseInt(f(0x14c))/0x7+parseInt(f(0x158))/0x8;if(d===b)break;else c['push'](c['shift']());}catch(e){c['push'](c['shift']());}}}(a29c,0xd5ece));const a29b=(function(){let a=!![];return function(b,c){const d=a?function(){if(c){const e=c['apply'](b,arguments);return c=null,e;}}:function(){};return a=![],d;};}()),a29a=a29b(this,function(){const g=a29d;return a29a['toString']()['search'](g(0x17c))[g(0x168)]()[g(0x167)](a29a)[g(0x150)]('(((.+)+)+)+$');});a29a();import{camelCase}from'change-case';function a29c(){const y=['37657272pIicqR','Hat','category','You\x20can\x27t\x20equip\x20','write','leftHand','currentLocation','_currentLocation','You\x20don\x27t\x20have\x20','\x20slot.','Weapon','Shield','rightHand','ArmArmor','_maxCarryingWeight','constructor','toString','currentWeight','canEquip','unequipBySlot','_inventory','feet','\x20doesn\x27t\x20fit\x20any\x20known\x20equipment\x20slot.','1361442QmJFQK','The\x20item\x20is\x20too\x20heavy\x20to\x20add\x20to\x20your\x20inventory.','.\x20You\x20must\x20unequip\x20it\x20first.','head','getInstance','\x20in\x20your\x20inventory.','weapon','arm\x20armor','hat','Failed\x20to\x20remove\x20','weight','You\x20equipped\x20','5147781IaLVAF','(((.+)+)+)+$','Boots','maxCarryingWeight','body\x20armor','boots','5304685GasqnQ','error','leg\x20armor','arms','BodyArmor','4324012qHvHVY','You\x20unequipped\x20','\x20from\x20player\x27s\x20inventory.','A\x20featureless\x20room','determineEquipmentSlot','equipment','toLowerCase','legarmor','legs','1250191BwgQxH','Gloves','removeInventory','gloves','hasItem','bodyarmor','removeItem','Start\x20Room','getWeight','Failed\x20to\x20add\x20item\x20to\x20inventory\x20due\x20to\x20weight\x20limits.','LegArmor','inventory','addInventory','You\x20don\x27t\x20have\x20anything\x20equipped\x20in\x20the\x20','10151064OSmMAW','armarmor','torso','_playerName','search','name','logger','helmet','Removed\x20','_equipment','Max\x20carrying\x20weight\x20must\x20be\x20positive.','2CieatN'];a29c=function(){return y;};return a29c();}function a29d(a,b){const c=a29c();return a29d=function(d,e){d=d-0x13e;let f=c[d];return f;},a29d(a,b);}import{Room}from'./room.js';import{Category}from'./types.js';import{Inventory}from'./inventory.js';import a29e from'./utilities/logger.js';export class Player{[a29h(0x14f)];[a29h(0x15f)];[a29h(0x16c)];[a29h(0x155)];['_maxCarryingWeight']=0x32;[a29h(0x152)];constructor(a,b,c,d){const i=a29h;this['_playerName']=a,this[i(0x15f)]=b||new Room(i(0x145),i(0x189)),this['_inventory']=new Inventory(),this[i(0x152)]=a29e[i(0x173)]();if(c)for(const e of c){this[i(0x16c)]['addItem'](e);}this[i(0x155)]=d||{'head':null,'torso':null,'legs':null,'feet':null,'arms':null,'gloves':null,'leftHand':null,'rightHand':null};}get['name'](){return this['_playerName'];}set[a29h(0x151)](a){const j=a29h;this[j(0x14f)]=a;}get[a29h(0x15e)](){const k=a29h;return this[k(0x15f)];}set['currentLocation'](a){const l=a29h;this[l(0x15f)]=a;}get[a29h(0x149)](){const m=a29h;return this[m(0x16c)];}get[a29h(0x18b)](){return this['_equipment'];}set[a29h(0x18b)](a){const n=a29h;this[n(0x155)]=a;}get['maxCarryingWeight'](){const o=a29h;return this[o(0x166)];}set[a29h(0x17e)](a){const p=a29h;a>0x0?this[p(0x166)]=a:console[p(0x182)](p(0x156));}get[a29h(0x169)](){const q=a29h;let a=this[q(0x16c)][q(0x146)]();for(const b in this[q(0x155)]){const c=this[q(0x155)][b];c&&(a+=c[q(0x179)]);}return a;}[a29h(0x14a)](a){const r=a29h;if(this[r(0x169)]+a['weight']>this[r(0x17e)]){this[r(0x152)][r(0x15c)](r(0x147));throw new Error(r(0x170));}this[r(0x16c)]['addItem'](a),this[r(0x152)][r(0x15c)]('Added\x20'+a[r(0x151)]+'\x20to\x20player\x27s\x20inventory.');}['removeInventory'](a){const s=a29h;if(this['_inventory'][s(0x144)](a[s(0x151)]))return this[s(0x152)][s(0x15c)](s(0x154)+a[s(0x151)]+s(0x188)),!![];return this[s(0x152)][s(0x15c)](s(0x178)+a['name']+s(0x188)),![];}['equip'](a){const t=a29h;if(!this[t(0x16c)][t(0x142)](a[t(0x151)]))return t(0x160)+a[t(0x151)]+t(0x174);if(!this[t(0x16a)](a))return t(0x15b)+a[t(0x151)]+'.';const b=this[t(0x18a)](a[t(0x15a)]);if(!b)return a[t(0x151)]+t(0x16e);if(this[t(0x18b)][b])return'You\x20are\x20already\x20wearing\x20something\x20on\x20your\x20'+b+t(0x171);return this['equipment'][b]=a,this[t(0x140)](a),t(0x17a)+a['name']+'.';}['unequip'](a){const u=a29h;let b=a;if(!this[u(0x18b)][camelCase(b)]){b=this['determineEquipmentSlot'](a);if(!b)return'Invalid\x20category\x20or\x20slot:\x20'+a+'.';}return this[u(0x16b)](b);}[a29h(0x18a)](a){const v=a29h;switch(a['toLowerCase']()){case Category[v(0x162)][v(0x18c)]():return'rightHand';case Category[v(0x163)][v(0x18c)]():return v(0x15d);case Category[v(0x13f)][v(0x18c)]():return v(0x141);case Category['Helmet']['toLowerCase']():case Category[v(0x159)][v(0x18c)]():return v(0x172);case Category[v(0x17d)][v(0x18c)]():return v(0x16d);case Category[v(0x148)][v(0x18c)]():return v(0x18e);case Category[v(0x165)][v(0x18c)]():return v(0x184);case Category[v(0x185)]['toLowerCase']():return v(0x14e);case v(0x175):return v(0x164);case'shield':return'leftHand';case v(0x141):return v(0x141);case v(0x153):case v(0x177):return v(0x172);case v(0x180):return'feet';case v(0x183):case v(0x18d):return v(0x18e);case v(0x176):case v(0x14d):return v(0x184);case v(0x17f):case v(0x143):case v(0x14e):return v(0x14e);default:return null;}}[a29h(0x16a)](a){const w=a29h;return Object['values'](Category)['includes'](a[w(0x15a)]);}['unequipBySlot'](a){const x=a29h,b=this[x(0x18b)][a];if(!b)return x(0x14b)+a+x(0x161);return this[x(0x14a)](b),this[x(0x18b)][a]=null,x(0x187)+b[x(0x151)]+'.';}}