|  |  | @@ -1,4 +1,4 @@ | 
		
	
		
			
			|  |  |  | /* Version: 1.0.0 - August 11, 2021 17:45:09 */ | 
		
	
		
			
			|  |  |  | /* Version: 1.0.0 - August 23, 2021 14:13:43 */ | 
		
	
		
			
			|  |  |  | 'use strict'; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var path$1 = require('path'); | 
		
	
	
		
			
			|  |  | @@ -12546,7 +12546,7 @@ var moment = createCommonjsModule(function (module, exports) { | 
		
	
		
			
			|  |  |  | return hooks; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | }))); | 
		
	
		
			
			|  |  |  | }, "/$$rollup_base$$/node_modules/moment"); | 
		
	
		
			
			|  |  |  | }, "E:/elixir/production_A/bbhverse/node_modules/moment"); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let array8 = arrayUntyped, | 
		
	
		
			
			|  |  |  | array16 = arrayUntyped, | 
		
	
	
		
			
			|  |  | @@ -17921,7 +17921,6 @@ function md5ii(a, b, c, d, x, s, t) { | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var v3 = v35('v3', 0x30, md5); | 
		
	
		
			
			|  |  |  | var v3$1 = v3; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function v4(options, buf, offset) { | 
		
	
		
			
			|  |  |  | options = options || {}; | 
		
	
	
		
			
			|  |  | @@ -18039,7 +18038,6 @@ function sha1(bytes) { | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var v5 = v35('v5', 0x50, sha1); | 
		
	
		
			
			|  |  |  | var v5$1 = v5; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var nil = '00000000-0000-0000-0000-000000000000'; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
	
		
			
			|  |  | @@ -18054,9 +18052,9 @@ function version$1(uuid) { | 
		
	
		
			
			|  |  |  | var esmBrowser = /*#__PURE__*/Object.freeze({ | 
		
	
		
			
			|  |  |  | __proto__: null, | 
		
	
		
			
			|  |  |  | v1: v1, | 
		
	
		
			
			|  |  |  | v3: v3$1, | 
		
	
		
			
			|  |  |  | v3: v3, | 
		
	
		
			
			|  |  |  | v4: v4, | 
		
	
		
			
			|  |  |  | v5: v5$1, | 
		
	
		
			
			|  |  |  | v5: v5, | 
		
	
		
			
			|  |  |  | NIL: nil, | 
		
	
		
			
			|  |  |  | version: version$1, | 
		
	
		
			
			|  |  |  | validate: validate, | 
		
	
	
		
			
			|  |  | @@ -18064,7 +18062,7 @@ var esmBrowser = /*#__PURE__*/Object.freeze({ | 
		
	
		
			
			|  |  |  | parse: parse$1 | 
		
	
		
			
			|  |  |  | }); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var require$$1$1 = /*@__PURE__*/getAugmentedNamespace(esmBrowser); | 
		
	
		
			
			|  |  |  | var require$$1 = /*@__PURE__*/getAugmentedNamespace(esmBrowser); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | // var __g = __G.__g; | 
		
	
		
			
			|  |  |  | globalThis_1.mediator = mediator.apply({}); | 
		
	
	
		
			
			|  |  | @@ -19061,7 +19059,7 @@ const BitArray = (function(){ | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | // var uuidv1 = require('uuid/v1'); | 
		
	
		
			
			|  |  |  | const { v1: uuidv1 } = require$$1$1; | 
		
	
		
			
			|  |  |  | const { v1: uuidv1 } = require$$1; | 
		
	
		
			
			|  |  |  | console.log(uuidv1); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | // Mixins. | 
		
	
	
		
			
			|  |  | @@ -23922,11 +23920,8 @@ var common = { | 
		
	
		
			
			|  |  |  | childrenIgnored: childrenIgnored_1 | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var require$$1 = glob_1; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var sync = globSync; | 
		
	
		
			
			|  |  |  | globSync.GlobSync = GlobSync$1; | 
		
	
		
			
			|  |  |  | require$$1.Glob; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | 
 | 
		
	
	
		
			
			|  |  | @@ -24531,48 +24526,6 @@ function slice (args) { | 
		
	
		
			
			|  |  |  | return array | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | // Approach: | 
		
	
		
			
			|  |  |  | // | 
		
	
		
			
			|  |  |  | // 1. Get the minimatch set | 
		
	
		
			
			|  |  |  | // 2. For each pattern in the set, PROCESS(pattern, false) | 
		
	
		
			
			|  |  |  | // 3. Store matches per-set, then uniq them | 
		
	
		
			
			|  |  |  | // | 
		
	
		
			
			|  |  |  | // PROCESS(pattern, inGlobStar) | 
		
	
		
			
			|  |  |  | // Get the first [n] items from pattern that are all strings | 
		
	
		
			
			|  |  |  | // Join these together.  This is PREFIX. | 
		
	
		
			
			|  |  |  | //   If there is no more remaining, then stat(PREFIX) and | 
		
	
		
			
			|  |  |  | //   add to matches if it succeeds.  END. | 
		
	
		
			
			|  |  |  | // | 
		
	
		
			
			|  |  |  | // If inGlobStar and PREFIX is symlink and points to dir | 
		
	
		
			
			|  |  |  | //   set ENTRIES = [] | 
		
	
		
			
			|  |  |  | // else readdir(PREFIX) as ENTRIES | 
		
	
		
			
			|  |  |  | //   If fail, END | 
		
	
		
			
			|  |  |  | // | 
		
	
		
			
			|  |  |  | // with ENTRIES | 
		
	
		
			
			|  |  |  | //   If pattern[n] is GLOBSTAR | 
		
	
		
			
			|  |  |  | //     // handle the case where the globstar match is empty | 
		
	
		
			
			|  |  |  | //     // by pruning it out, and testing the resulting pattern | 
		
	
		
			
			|  |  |  | //     PROCESS(pattern[0..n] + pattern[n+1 .. $], false) | 
		
	
		
			
			|  |  |  | //     // handle other cases. | 
		
	
		
			
			|  |  |  | //     for ENTRY in ENTRIES (not dotfiles) | 
		
	
		
			
			|  |  |  | //       // attach globstar + tail onto the entry | 
		
	
		
			
			|  |  |  | //       // Mark that this entry is a globstar match | 
		
	
		
			
			|  |  |  | //       PROCESS(pattern[0..n] + ENTRY + pattern[n .. $], true) | 
		
	
		
			
			|  |  |  | // | 
		
	
		
			
			|  |  |  | //   else // not globstar | 
		
	
		
			
			|  |  |  | //     for ENTRY in ENTRIES (not dotfiles, unless pattern[n] is dot) | 
		
	
		
			
			|  |  |  | //       Test ENTRY against pattern[n] | 
		
	
		
			
			|  |  |  | //       If fails, continue | 
		
	
		
			
			|  |  |  | //       If passes, PROCESS(pattern[0..n] + item + pattern[n+1 .. $]) | 
		
	
		
			
			|  |  |  | // | 
		
	
		
			
			|  |  |  | // Caveat: | 
		
	
		
			
			|  |  |  | //   Cache all stats and readdirs results to minimize syscall.  Since all | 
		
	
		
			
			|  |  |  | //   we ever care about is existence and directory-ness, we can just keep | 
		
	
		
			
			|  |  |  | //   `true` for files, and [children,...] for directories, or `false` for | 
		
	
		
			
			|  |  |  | //   things that don't exist. | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var glob_1 = glob; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var EE = require$$0__default$1['default'].EventEmitter; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | 
 | 
		
	
	
		
			
			|  |  | @@ -24585,63 +24538,7 @@ var ownProp = common.ownProp; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var childrenIgnored = common.childrenIgnored; | 
		
	
		
			
			|  |  |  | var isIgnored = common.isIgnored; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function glob (pattern, options, cb) { | 
		
	
		
			
			|  |  |  | if (typeof options === 'function') cb = options, options = {}; | 
		
	
		
			
			|  |  |  | if (!options) options = {}; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | if (options.sync) { | 
		
	
		
			
			|  |  |  | if (cb) | 
		
	
		
			
			|  |  |  | throw new TypeError('callback provided to sync glob') | 
		
	
		
			
			|  |  |  | return sync(pattern, options) | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | return new Glob(pattern, options, cb) | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | glob.sync = sync; | 
		
	
		
			
			|  |  |  | var GlobSync = glob.GlobSync = sync.GlobSync; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | // old api surface | 
		
	
		
			
			|  |  |  | glob.glob = glob; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function extend (origin, add) { | 
		
	
		
			
			|  |  |  | if (add === null || typeof add !== 'object') { | 
		
	
		
			
			|  |  |  | return origin | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var keys = Object.keys(add); | 
		
	
		
			
			|  |  |  | var i = keys.length; | 
		
	
		
			
			|  |  |  | while (i--) { | 
		
	
		
			
			|  |  |  | origin[keys[i]] = add[keys[i]]; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | return origin | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | glob.hasMagic = function (pattern, options_) { | 
		
	
		
			
			|  |  |  | var options = extend({}, options_); | 
		
	
		
			
			|  |  |  | options.noprocess = true; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var g = new Glob(pattern, options); | 
		
	
		
			
			|  |  |  | var set = g.minimatch.set; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | if (!pattern) | 
		
	
		
			
			|  |  |  | return false | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | if (set.length > 1) | 
		
	
		
			
			|  |  |  | return true | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | for (var j = 0; j < set[0].length; j++) { | 
		
	
		
			
			|  |  |  | if (typeof set[0][j] !== 'string') | 
		
	
		
			
			|  |  |  | return true | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | return false | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | glob.Glob = Glob; | 
		
	
		
			
			|  |  |  | var GlobSync = sync.GlobSync; | 
		
	
		
			
			|  |  |  | inherits(Glob, EE); | 
		
	
		
			
			|  |  |  | function Glob (pattern, options, cb) { | 
		
	
		
			
			|  |  |  | if (typeof options === 'function') { | 
		
	
	
		
			
			|  |  | @@ -25436,7 +25333,7 @@ var nodeShellExec = cliverse.nodeShellExec; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | const BUILD_VERSION = 'Version: 1.0.0 - built on August 11, 2021 17:45:09'; | 
		
	
		
			
			|  |  |  | const BUILD_VERSION = 'Version: 1.0.0 - built on August 23, 2021 14:13:43'; | 
		
	
		
			
			|  |  |  | const runtimestamp = (new Date()).getTime(); | 
		
	
		
			
			|  |  |  | function getVersion() { return BUILD_VERSION; } | 
		
	
		
			
			|  |  |  | console.log(getVersion()); | 
		
	
	
		
			
			|  |  | @@ -25459,14 +25356,6 @@ const fs = fs__default['default']; | 
		
	
		
			
			|  |  |  | const cliargs = bbhverse.cliargs; | 
		
	
		
			
			|  |  |  | const processedArgs = cliargs(process.argv.slice(2)); | 
		
	
		
			
			|  |  |  | console.dir(processedArgs); | 
		
	
		
			
			|  |  |  | // PB : TODO -- defaults for valuless arguments if passed. | 
		
	
		
			
			|  |  |  | // Object.keys(processedArgs).forEach(a=>{ | 
		
	
		
			
			|  |  |  | //   if(Object.prototype.toString.call(processedArgs[a]) === '[object Undefined]' || !processedArgs[a]) || trim(processedArgs[a])) == '') { | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | //   } | 
		
	
		
			
			|  |  |  | // }) | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | require$$1.sync; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var ENV = Object.assign({}, process.env); // Shallow clone it. | 
		
	
		
			
			|  |  |  | 
 | 
		
	
	
		
			
			|  |  | @@ -25541,7 +25430,6 @@ var getTaskWithElevation = function(tasdef){ | 
		
	
		
			
			|  |  |  | var getTaskWithoutElevation = function(tasdef){ | 
		
	
		
			
			|  |  |  | return ()=>{ | 
		
	
		
			
			|  |  |  | if(!processedArgs.runas) {  return tasdef.regularpulltasks(); } | 
		
	
		
			
			|  |  |  | else Promise.resolve(true); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
	
		
			
			|  |  | @@ -25963,6 +25851,40 @@ var op = { | 
		
	
		
			
			|  |  |  | // git remote equivalents... | 
		
	
		
			
			|  |  |  | // git branch --set-upstream-to=elixir-unc/master master | 
		
	
		
			
			|  |  |  | // git push --set-upstream elixir-unc branch.. | 
		
	
		
			
			|  |  |  | , 'remote': (args) => { | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | // Subcommands! | 
		
	
		
			
			|  |  |  | if(!processedArgs.v) return false; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var serial_perform = (repo) => { | 
		
	
		
			
			|  |  |  | var options = { cwd: instanceroot + '/' + repo }; | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | return [ | 
		
	
		
			
			|  |  |  | ['git', ['remote', '-v'], options] | 
		
	
		
			
			|  |  |  | ] | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var x = (args) => { | 
		
	
		
			
			|  |  |  | var tasq = () => { | 
		
	
		
			
			|  |  |  | // console.log(args) | 
		
	
		
			
			|  |  |  | return nodeShellExec.apply(null, args).catch(e => { | 
		
	
		
			
			|  |  |  | // We continue on failure. | 
		
	
		
			
			|  |  |  | console.error(tasq.toString()); | 
		
	
		
			
			|  |  |  | }) | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  | tasq.toString = function(){ | 
		
	
		
			
			|  |  |  | return JSON.stringify(args) | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  | return tasq; | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var perform = (dir) => { | 
		
	
		
			
			|  |  |  | return any(serial_perform(dir.name).map(x)) | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | dirs(perform); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | , 'remote set-url': (args) => { | 
		
	
		
			
			|  |  |  | // git remote set-url elixir-unc //10.10.5.60/gitrepo/chess/bbhverse | 
		
	
		
			
			|  |  |  | var __args = { | 
		
	
	
		
			
			|  |  | @@ -26009,7 +25931,7 @@ var op = { | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  | var perform_git_seturl = (dir) => { | 
		
	
		
			
			|  |  |  | op['is-git-repo'](dir).then((logEntry) => { | 
		
	
		
			
			|  |  |  | any(serial_perform_git_seturl(dir.name).map(x)); | 
		
	
		
			
			|  |  |  | return any(serial_perform_git_seturl(dir.name).map(x)) | 
		
	
		
			
			|  |  |  | }).catch((e) => { | 
		
	
		
			
			|  |  |  | // console.log('Failed : ' + dir.name) | 
		
	
		
			
			|  |  |  | }); | 
		
	
	
		
			
			|  |  | @@ -27031,19 +26953,41 @@ var elxr = { | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | , getpulltask(def){ | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | def = (def ? ( | 
		
	
		
			
			|  |  |  | def.requiresElevation = true, | 
		
	
		
			
			|  |  |  | def.reqularRepos = def.repos, | 
		
	
		
			
			|  |  |  | def.elevatedRepos = def.elevatedRunasRepos | 
		
	
		
			
			|  |  |  | // def can be an instance config | 
		
	
		
			
			|  |  |  | // Or an object with many repos and elevated repos | 
		
	
		
			
			|  |  |  | // Or a single repo ( Either Elevated or normal. ) | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | ) : false) || { | 
		
	
		
			
			|  |  |  | requiresElevation : true, | 
		
	
		
			
			|  |  |  | reqularRepos : gitRepos, | 
		
	
		
			
			|  |  |  | elevatedRepos : elevatedRunasRepos | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | def = def || { | 
		
	
		
			
			|  |  |  | repos : repomanifest.repos, | 
		
	
		
			
			|  |  |  | elevated : repomanifest.elevated | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var elevatedpulltasks = null; | 
		
	
		
			
			|  |  |  | if(def.repo) { | 
		
	
		
			
			|  |  |  | // Single repo case. | 
		
	
		
			
			|  |  |  | if(def.repo.requiresElevation) { | 
		
	
		
			
			|  |  |  | elevatedpulltasks = function() { | 
		
	
		
			
			|  |  |  | return performPull(def.repo).then(() => { | 
		
	
		
			
			|  |  |  | return true; | 
		
	
		
			
			|  |  |  | }).catch((e) => { | 
		
	
		
			
			|  |  |  | console.error(e); | 
		
	
		
			
			|  |  |  | }) | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  | return | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | else { | 
		
	
		
			
			|  |  |  | var regularpulltasks = function(){ | 
		
	
		
			
			|  |  |  | var pendingpulls = []; | 
		
	
		
			
			|  |  |  | pendingpulls.push(performPull(def.repo)); | 
		
	
		
			
			|  |  |  | return Promise.all(pendingpulls).finally(Traq.finally) | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | if(elevatedpulltasks) return getTaskWithElevation( { elevatedpulltasks, regularpulltasks} ) | 
		
	
		
			
			|  |  |  | else return getTaskWithoutElevation({ regularpulltasks}) | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | console.log(`-------------------Processing pull for : ${def.repo} ${def.branch}`); | 
		
	
		
			
			|  |  |  | // console.log(`-------------------Processing pull for : ${def.repo} ${def.branch}`) | 
		
	
		
			
			|  |  |  | console.dir(def); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | Object.assign({}, process.env); // Shallow clone it. | 
		
	
	
		
			
			|  |  | @@ -27051,30 +26995,30 @@ var elxr = { | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | processedArgs.useGitPull || false; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | if(def.elevatedRepos || def.reqularRepos) { | 
		
	
		
			
			|  |  |  | if(def.elevatedRepos) def.requiresElevation = true; | 
		
	
		
			
			|  |  |  | if(def.elevated || def.repos) { | 
		
	
		
			
			|  |  |  | if(def.elevated) def.requiresElevation = true; | 
		
	
		
			
			|  |  |  | else delete def.requiresElevation; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | else { | 
		
	
		
			
			|  |  |  | if(def.requiresElevation) def.elevatedRepos = [def]; | 
		
	
		
			
			|  |  |  | else def.reqularRepos = [def]; | 
		
	
		
			
			|  |  |  | if(def.requiresElevation) def.elevated = [def]; | 
		
	
		
			
			|  |  |  | else def.repos = [def]; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var elevatedpulltasks = null; | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | var regularpulltasks = function(){ return Promise.resolve(true) }; | 
		
	
		
			
			|  |  |  | if(def.elevatedRepos){ | 
		
	
		
			
			|  |  |  | if(def.elevated){ | 
		
	
		
			
			|  |  |  | elevatedpulltasks = function() { | 
		
	
		
			
			|  |  |  | return any(def.elevatedRepos.map((def) => performPull(def.repo))).then(() => { | 
		
	
		
			
			|  |  |  | return any(def.elevated.map((def) => performPull(def.repo))).then(() => { | 
		
	
		
			
			|  |  |  | return true; | 
		
	
		
			
			|  |  |  | }).catch((e) => { | 
		
	
		
			
			|  |  |  | console.error(e); | 
		
	
		
			
			|  |  |  | }) | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | if(def.reqularRepos) { | 
		
	
		
			
			|  |  |  | if(def.repos) { | 
		
	
		
			
			|  |  |  | var regularpulltasks = function(){ | 
		
	
		
			
			|  |  |  | var pendingpulls = []; | 
		
	
		
			
			|  |  |  | def.reqularRepos.forEach((def) => { pendingpulls.push(performPull(def.repo)); }); | 
		
	
		
			
			|  |  |  | def.repos.forEach((def) => { pendingpulls.push(performPull(def.repo)); }); | 
		
	
		
			
			|  |  |  | return Promise.all(pendingpulls).finally(Traq.finally) | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  | } | 
		
	
	
		
			
			|  |  | @@ -27098,7 +27042,7 @@ function preworkerconfig(){ | 
		
	
		
			
			|  |  |  | // The main elxr cli process | 
		
	
		
			
			|  |  |  | function elxrworker() { | 
		
	
		
			
			|  |  |  | var subcommandlabels = { | 
		
	
		
			
			|  |  |  | remote : `remote ${processedArgs._[1]}` | 
		
	
		
			
			|  |  |  | remote : (`remote ${processedArgs._[1] || ''}`).trim() | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var __runcmd = function (label) { | 
		
	
	
		
			
			|  |  | @@ -27216,6 +27160,29 @@ We will run your choice at the next prompt. | 
		
	
		
			
			|  |  |  | }) | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var mergeObjByKey = function(arrOfObjs, keyName) { | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var keyedDistinct = {}; | 
		
	
		
			
			|  |  |  | var distinctArrOfObjs = []; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | arrOfObjs.forEach( o => { | 
		
	
		
			
			|  |  |  | if(o) (keyedDistinct[o[keyName]] || (keyedDistinct[o[keyName]] = []) ).push(o); | 
		
	
		
			
			|  |  |  | }); | 
		
	
		
			
			|  |  |  | Object.keys(keyedDistinct).forEach(key => { | 
		
	
		
			
			|  |  |  | distinctArrOfObjs.push(  bbhverse.assign( ...keyedDistinct[key] ) ); // PB : TODO -- Shallow use utils.assign | 
		
	
		
			
			|  |  |  | }); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | return distinctArrOfObjs; | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var cacheWriteInstanceConfig = function(chessinstances){ | 
		
	
		
			
			|  |  |  | var instanceName = chessinstances['current_run'].instanceName; | 
		
	
		
			
			|  |  |  | var node_env = chessinstances['current_run'].node_env; | 
		
	
		
			
			|  |  |  | chessinstances[instanceName][node_env].repos = mergeObjByKey(chessinstances[instanceName][node_env].repos, 'repo') ; | 
		
	
		
			
			|  |  |  | chessinstances[instanceName][node_env].elevated = mergeObjByKey(chessinstances[instanceName][node_env].elevated, 'repo') ; | 
		
	
		
			
			|  |  |  | fs.writeFileSync(instanceroot + '/chessinstances.js', 'module.exports = ' + JSON.stringify(chessinstances, null, 2) + '', { 'flag': 'w' }); | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var acquireConfig = function (selected, chessinstances) { | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var configrepo = selected.instanceName + '-config-' + selected.node_env; | 
		
	
	
		
			
			|  |  | @@ -27228,9 +27195,11 @@ var acquireConfig = function (selected, chessinstances) { | 
		
	
		
			
			|  |  |  | chessinstances[selected.instanceName][selected.node_env] = chessinstances[selected.instanceName][selected.node_env] || {}; | 
		
	
		
			
			|  |  |  | chessinstances['current_run'] = { instanceName: selected.instanceName, node_env: selected.node_env }; | 
		
	
		
			
			|  |  |  | // Config from server always override merges into selection ecept for the current selection. | 
		
	
		
			
			|  |  |  | // PB : TODO -- utils.assign Array merges are non-distinct... | 
		
	
		
			
			|  |  |  | selectedinstance = bbhverse.assign(chessinstances[selected.instanceName][selected.node_env], selected, repomanifest); | 
		
	
		
			
			|  |  |  | // chessinstances[selectedinstance.instanceName][selectedinstance.node_env] = selectedinstance; | 
		
	
		
			
			|  |  |  | fs.writeFileSync(instanceroot + '/chessinstances.js', 'module.exports = ' + JSON.stringify(chessinstances, null, 2) + '', { 'flag': 'w' }); | 
		
	
		
			
			|  |  |  | cacheWriteInstanceConfig(chessinstances); | 
		
	
		
			
			|  |  |  | selectedinstance = chessinstances[selected.instanceName][selected.node_env]; | 
		
	
		
			
			|  |  |  | // PB : TODO -- We should probably write the new server config also... | 
		
	
		
			
			|  |  |  | selectedinstance.reposerver = selectedinstance.reposerver || selectedinstance.reposervers[0]; // PB : TODO -- Attempt first one that is available and online... | 
		
	
		
			
			|  |  |  | ENV.NODE_ENV = selectedinstance.node_env; | 
		
	
	
		
			
			|  |  | @@ -27671,45 +27640,44 @@ acquireElevationState().then(() => { | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | selectedinstance = Object.assign(detectedInstance, clioverrides); | 
		
	
		
			
			|  |  |  | var todo = Promise.resolve(true); | 
		
	
		
			
			|  |  |  | var promptkeys = { 'instanceName' : processedArgs._[1] }; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var reconfirm = { | 
		
	
		
			
			|  |  |  | 'instanceName' : selectedinstance['instanceName'] === 'chess' | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  | var prompts = []; | 
		
	
		
			
			|  |  |  | var eachPrompt = function(k, i, a){ | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | // No local instances config found. We use a default initialized instance available in selectedinstance | 
		
	
		
			
			|  |  |  | // Confirm those that were not supplied as user choices in runtime args and proceed to reattempt. | 
		
	
		
			
			|  |  |  | if(promptkeys[k] && selectedinstance[k] !== promptkeys[k] || promptkeys[k] === undefined && selectedinstance[k] === undefined | 
		
	
		
			
			|  |  |  | || reconfirm[k]) { | 
		
	
		
			
			|  |  |  | prompts.push(async ()=>{ | 
		
	
		
			
			|  |  |  | // PB : NOTE -- Important in async cases when this needs to be in the same state as when it was invoked. | 
		
	
		
			
			|  |  |  | // We take a snapshot... Shallow.. !! If required deep should be used based on use case. | 
		
	
		
			
			|  |  |  | // If latest altered state is required we can reerence this directly. | 
		
	
		
			
			|  |  |  | // var asyncthis = Object.assign(this); | 
		
	
		
			
			|  |  |  | Object.defineProperty(selectedinstance, k, getPromptableAsyncPropDescriptor(k, choices[k], promptkeys[k] || selectedinstance[k] )); | 
		
	
		
			
			|  |  |  | return await selectedinstance[k] | 
		
	
		
			
			|  |  |  | }); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | delete promptkeys[k]; | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  | try { | 
		
	
		
			
			|  |  |  | chessinstances = acquirelocalinstances(selectedinstance); | 
		
	
		
			
			|  |  |  | var promptkeys = { | 
		
	
		
			
			|  |  |  | 'instanceName' : processedArgs._[1] | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var reconfirm = { | 
		
	
		
			
			|  |  |  | 'instanceName' : true | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | initinstances(chessinstances, selectedinstance); | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | var instanceNameChoices = new Set(Object.keys( chessinstances) ); | 
		
	
		
			
			|  |  |  | instanceNameChoices.delete('current_run'); | 
		
	
		
			
			|  |  |  | instanceNameChoices.add(selectedinstance['instanceName']); | 
		
	
		
			
			|  |  |  | instanceNameChoices.add(promptkeys['instanceName']); | 
		
	
		
			
			|  |  |  | if(promptkeys['instanceName']) instanceNameChoices.add(promptkeys['instanceName']); | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | var choices = { | 
		
	
		
			
			|  |  |  | 'instanceName' : Array.from(instanceNameChoices) | 
		
	
		
			
			|  |  |  | , 'reposerver' : selectedinstance['reposervers'] | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | var prompts = []; | 
		
	
		
			
			|  |  |  | var eachPrompt = function(k, i, a){ | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | // No local instances config found. We use a default initialized instance available in selectedinstance | 
		
	
		
			
			|  |  |  | // Confirm those that were not supplied as user choices in runtime args and proceed to reattempt. | 
		
	
		
			
			|  |  |  | if(selectedinstance[k] !== promptkeys[k] || promptkeys[k] === undefined || reconfirm[k]) { | 
		
	
		
			
			|  |  |  | prompts.push(async ()=>{ | 
		
	
		
			
			|  |  |  | // PB : NOTE -- Important in async cases when this needs to be in the same state as when it was invoked. | 
		
	
		
			
			|  |  |  | // We take a snapshot... Shallow.. !! If required deep should be used based on use case. | 
		
	
		
			
			|  |  |  | // If latest altered state is required we can reerence this directly. | 
		
	
		
			
			|  |  |  | // var asyncthis = Object.assign(this); | 
		
	
		
			
			|  |  |  | Object.defineProperty(selectedinstance, k, getPromptableAsyncPropDescriptor(k, choices[k], promptkeys[k] || selectedinstance[k] )); | 
		
	
		
			
			|  |  |  | return await selectedinstance[k] | 
		
	
		
			
			|  |  |  | }); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | delete promptkeys[k]; | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | Object.keys(__interactve_promts).forEach(eachPrompt, __interactve_promts); | 
		
	
		
			
			|  |  |  | Object.keys(promptkeys).forEach(eachPrompt, promptkeys); | 
		
	
	
		
			
			|  |  | @@ -27718,51 +27686,20 @@ acquireElevationState().then(() => { | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | catch (e) { | 
		
	
		
			
			|  |  |  | console.error(e); | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | // Basic keys that must be prompted and confirmed if not supplied as cmd line args. | 
		
	
		
			
			|  |  |  | // PB: TODO --- This should be cmd specific interpretation of location parameters !!! | 
		
	
		
			
			|  |  |  | var promptkeys = { | 
		
	
		
			
			|  |  |  | 'instanceName' : processedArgs._[1] | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var reconfirm = { | 
		
	
		
			
			|  |  |  | 'instanceName' : true | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | console.error(e); // Missing chessinstances is not an error... | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | initinstances(chessinstances, selectedinstance); | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | var instanceNameChoices = new Set(Object.keys( chessinstances) ); | 
		
	
		
			
			|  |  |  | instanceNameChoices.delete('current_run'); | 
		
	
		
			
			|  |  |  | instanceNameChoices.add(selectedinstance['instanceName']); | 
		
	
		
			
			|  |  |  | instanceNameChoices.add(promptkeys['instanceName']); | 
		
	
		
			
			|  |  |  | if(promptkeys['instanceName']) instanceNameChoices.add(promptkeys['instanceName']); | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | var choices = { | 
		
	
		
			
			|  |  |  | 'instanceName' : Array.from(instanceNameChoices) | 
		
	
		
			
			|  |  |  | , 'reposerver' : selectedinstance['reposervers'] | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | var prompts = []; | 
		
	
		
			
			|  |  |  | var eachPrompt = function(k, i, a){ | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | // No local instances config found. We use a default initialized instance available in selectedinstance | 
		
	
		
			
			|  |  |  | // Confirm those that were not supplied as user choices in runtime args and proceed to reattempt. | 
		
	
		
			
			|  |  |  | if(selectedinstance[k] !== promptkeys[k] || promptkeys[k] === undefined || reconfirm[k]) { | 
		
	
		
			
			|  |  |  | prompts.push(async ()=>{ | 
		
	
		
			
			|  |  |  | // PB : NOTE -- Important in async cases when this needs to be in the same state as when it was invoked. | 
		
	
		
			
			|  |  |  | // We take a snapshot... Shallow.. !! If required deep should be used based on use case. | 
		
	
		
			
			|  |  |  | // If latest altered state is required we can reerence this directly. | 
		
	
		
			
			|  |  |  | // var asyncthis = Object.assign(this); | 
		
	
		
			
			|  |  |  | Object.defineProperty(selectedinstance, k, getPromptableAsyncPropDescriptor(k, choices[k], promptkeys[k] || selectedinstance[k] )); | 
		
	
		
			
			|  |  |  | return await selectedinstance[k] | 
		
	
		
			
			|  |  |  | }); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | delete promptkeys[k]; | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | Object.keys(__interactve_promts).forEach(eachPrompt, __interactve_promts); | 
		
	
		
			
			|  |  |  | Object.keys(promptkeys).forEach(eachPrompt, promptkeys); | 
		
	
		
			
			|  |  |  |  |