UNPKG

930 kBSource Map (JSON)View Raw
1{"version":3,"sources":["webpack/bootstrap e304026afeac2441e0cb","/Users/jonathan/Skypager/node_modules/ansi-html-stream/colors.js","/Users/jonathan/Skypager/node_modules/ansi-html-stream/index.js","/Users/jonathan/Skypager/node_modules/cli-spinner/index.js","/Users/jonathan/Skypager/node_modules/cli-table/lib/index.js","/Users/jonathan/Skypager/node_modules/cli-table/lib/utils.js","/Users/jonathan/Skypager/node_modules/figlet/lib/figlet.js","/Users/jonathan/Skypager/node_modules/figlet/lib/node-figlet.js","/Users/jonathan/Skypager/node_modules/map-stream/index.js","/Users/jonathan/Skypager/node_modules/mobx/lib/mobx.js","/Users/jonathan/Skypager/node_modules/node-emoji/index.js","/Users/jonathan/Skypager/node_modules/node-emoji/lib/emoji.js","/Users/jonathan/Skypager/node_modules/node-emoji/lib/emoji.json","/Users/jonathan/Skypager/node_modules/pretty-cli/lib/index.js","/Users/jonathan/Skypager/node_modules/pretty-cli/lib/pretty.js","/Users/jonathan/Skypager/node_modules/pty.js/index.js","/Users/jonathan/Skypager/node_modules/pty.js/lib/pty.js","/Users/jonathan/Skypager/node_modules/pty.js/lib/pty_win.js","/Users/jonathan/Skypager/node_modules/skypager-process-runner/index.js","/Users/jonathan/Skypager/node_modules/skypager-process-runner/lib/index.js","/Users/jonathan/Skypager/node_modules/skypager-process-runner/package.json","/Users/jonathan/Skypager/node_modules/skypager-project/lib/0.js","/Users/jonathan/Skypager/node_modules/skypager-project/lib/helper.js","/Users/jonathan/Skypager/node_modules/skypager-project/lib/index.js","/Users/jonathan/Skypager/node_modules/skypager-project/lib/portfolio.js","/Users/jonathan/Skypager/node_modules/skypager-project/lib/project.js","/Users/jonathan/Skypager/node_modules/skypager-repl/dist/index.js","/Users/jonathan/Skypager/node_modules/skypager/lib/index.js?method=run&code=project.compilers.available","/Users/jonathan/Skypager/node_modules/special-html/index.js","/Users/jonathan/Skypager/node_modules/string.prototype.codepointat/codepointat.js","external \"babel-runtime/helpers/extends\"","external \"lodash\"","external \"babel-runtime/helpers/defineProperty\"","external \"babel-runtime/helpers/inherits\"","external \"babel-runtime/helpers/possibleConstructorReturn\"","external \"fs-extra-promise\"","external \"lodash/isFunction\"","external \"skypager-registry\"","external \"skypager-util\"","/Users/jonathan/Skypager/node_modules/skypager-project/lib /^\\.\\/.*\\.js$/","external \"babel-runtime/core-js/json/stringify\"","external \"babel-runtime/core-js/object/assign\"","external \"path\"","external \"babel-runtime/helpers/asyncToGenerator\"","external \"babel-runtime/regenerator\"","external \"fbemitter\"","external \"fs\"","external \"lodash/mapKeys\"","external \"lodash/mapValues\"","external \"lodash/pick\"","external \"minimist\"","external \"babel-register\"","external \"babel-runtime/core-js/map\"","external \"babel-runtime/helpers/classCallCheck\"","external \"babel-runtime/core-js/object/define-property\"","external \"babel-runtime/core-js/object/values\"","external \"babel-runtime/helpers/typeof\"","external \"bluebird\"","external \"clean-stack\"","external \"find-up\"","external \"isomorphic-vm\"","external \"lodash/defaults\"","external \"lodash/get\"","external \"lodash/partial\"","external \"babel-runtime/helpers/createClass\"","external \"lodash/partialRight\"","external \"lodash/result\"","external \"lodash/set\"","external \"mware\"","external \"skypager-documents\"","external \"winston\"","/Users/jonathan/Skypager/node_modules/skypager-repl/dist /$^/","/Users/jonathan/Skypager/node_modules/skypager/lib /$^/","external \"babel-runtime/core-js/object/get-own-property-descriptors\"","external \"babel-runtime/helpers/toArray\"","external \"babel-runtime/helpers/toConsumableArray\"","external \"extend\"","external \"findup-sync\"","external \"net\"","external \"source-map-support\"","/Users/jonathan/Skypager/node_modules/pty.js/lib /^\\.\\/pty.*\\.js$/","external \"child-process-promise/lib/ChildProcessPromise\"","external \"clone\"","external \"colors\"","external \"colors/safe\"","external \"commander\"","/Users/jonathan/Skypager/node_modules/skypager-project/lib /$^/","external \"escape-html\"","external \"events\"","external \"lodash/camelCase\"","external \"lodash/castArray\"","external \"lodash/chunk\"","external \"lodash/has\"","external \"lodash/invoke\"","external \"lodash/isEmpty\"","external \"lodash/isObject\"","external \"lodash/omit\"","external \"babel-runtime/core-js/object/get-prototype-of\"","external \"lodash/reduce\"","external \"lodash/sample\"","external \"memory-fs\"","external \"module\"","external \"qs\"","external \"readline\"","external \"repl\"","external \"stream\"","external \"tty\"","external \"util\"","external \"babel-runtime/core-js/object/keys\"","external \"webpack\"","external \"webpack/lib/MultiEntryPlugin\"","external \"webpack/lib/SingleEntryPlugin\"","external \"xtend\"","external \"yargs\"","external \"babel-runtime/core-js/promise\""],"names":[],"mappings":";;;AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA,YAAI;AACJ;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;AC9DA;AACA,cAAc,aAAa;AAC3B,cAAc,OAAO,4BAA4B,EAAE;AACnD,cAAc,OAAO,qCAAqC,EAAE;AAC5D;AACA,aAAa,sBAAsB;AACnC,aAAa,yBAAyB;AACtC,aAAa,yBAAyB;AACtC,aAAa,yBAAyB;AACtC,aAAa,yBAAyB;AACtC,aAAa,yBAAyB;AACtC,aAAa,yBAAyB;AACtC,aAAa,sBAAsB;AACnC;AACA,GAAG;AACH;AACA,aAAa,iCAAiC;AAC9C,aAAa,oCAAoC;AACjD,aAAa,oCAAoC;AACjD,aAAa,oCAAoC;AACjD,aAAa,oCAAoC;AACjD,aAAa,oCAAoC;AACjD,aAAa,oCAAoC;AACjD,aAAa,iCAAiC;AAC9C;AACA;AACA;;AAEA;AACA,cAAc,aAAa;AAC3B,cAAc,OAAO,uBAAuB,EAAE;AAC9C,cAAc,OAAO,4BAA4B,EAAE;AACnD;AACA,aAAa;AACb,aAAa;AACb,aAAa;AACb,aAAa;AACb,aAAa;AACb,aAAa;AACb,aAAa;AACb,aAAa;AACb;AACA,GAAG;AACH;AACA,aAAa;AACb,aAAa;AACb,aAAa;AACb,aAAa;AACb,aAAa;AACb,aAAa;AACb,aAAa;AACb,aAAa;AACb;AACA;AACA;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,2BAA2B,QAAQ;AACnC,2BAA2B,OAAO;AAClC,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C;;AAE7C,qCAAqC,UAAU;;AAE/C;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B;AAC5B,8BAA8B;AAC9B;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,0DAA0D,sBAAsB;AAChF;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;AC1HA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC/GA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA,gCAAgC;;AAEhC,kBAAkB,sCAAsC;AACxD,KAAK;;AAEL;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;;AAEA;AACA,OAAO;;AAEP;AACA,+CAA+C,OAAO;AACtD,wBAAwB;AACxB;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;;;;;;;;ACxSA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,EAAE,IAAI;AACnC;AACA;AACA,0CAA0C,6CAA6C;AACvF;;;;;;;;;ACnFA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,sBAAsB;AACtB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;;AAEA;AACA;;AAEA;AACA,6BAA6B,KAAK;AAClC;AACA;AACA,gCAAgC;AAChC;AACA,+CAA+C;AAC/C,SAAS;AACT,+CAA+C;AAC/C;AACA;AACA;;AAEA;AACA;;AAEA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iEAAiE;AACjE,eAAe;AACf;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC;AAChC;AACA,+CAA+C;AAC/C,SAAS;AACT,+CAA+C;AAC/C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA,sBAAsB;;AAEtB,oBAAoB,UAAU;AAC9B;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB,gDAAgD,6BAA6B,WAAW;AACxF;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,oCAAoC;AACpC;AACA,wBAAwB,WAAW;AACnC;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA,uCAAuC,UAAU;AACjD,mCAAmC;AACnC,qCAAqC;AACrC;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,oBAAoB,UAAU;AAC9B;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,UAAU;AAC9B;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA,oBAAoB,UAAU;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA,wBAAwB,6BAA6B;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,kDAAkD;AAClD;AACA;AACA,qBAAqB;AACrB,0CAA0C;AAC1C,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oBAAoB,kBAAkB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,wBAAwB,cAAc;AACtC;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA,oCAAoC;AACpC,iCAAiC,mBAAmB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,WAAW;AACpC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA,wBAAwB,mBAAmB;AAC3C;AACA;AACA,SAAS;AACT,sBAAsB;AACtB,SAAS;AACT,sBAAsB;AACtB,SAAS;AACT,sBAAsB;AACtB,SAAS;AACT,sBAAsB;AACtB,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA,wBAAwB,mBAAmB;AAC3C;AACA;AACA,SAAS;AACT,sBAAsB;AACtB,SAAS;AACT,sBAAsB;AACtB,SAAS;AACT,sBAAsB;AACtB,SAAS;AACT,sBAAsB;AACtB,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,UAAU;AAC9B;AACA;AACA;AACA;AACA,oBAAoB,UAAU;AAC9B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,4CAA4C;AAC5C;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb,kCAAkC;AAClC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,kBAAkB;AAC1C;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,0CAA0C;AAC1C;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACn+BA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2CAA2C,kBAAkB;AAC7D;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,8DAA8D,kBAAkB;;AAEhF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;;;;;;;AC3EA;;AAEA;AACA;AACA;;;AAGA;;;AAGA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,8BAA8B;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;AC5IA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0IAA0I,YAAY,EAAE;AACxJ;AACA;AACA,gIAAgI,YAAY,EAAE;AAC9I;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,kCAAkC,EAAE;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,eAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,kCAAkC,qBAAqB;AACvD,mCAAmC,sBAAsB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,OAAO;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,iDAAiD,EAAE;AACpG;AACA,yCAAyC,OAAO;AAChD;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,8CAA8C,8DAA8D,EAAE;AAC9G;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,qBAAqB;AACvD,mCAAmC,sBAAsB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wLAAwL;AACxL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,+BAA+B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,8BAA8B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,8BAA8B,8BAA8B;AAC5D,iDAAiD,gCAAgC;AACjF,mDAAmD,kCAAkC;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0GAA0G,iBAAiB,EAAE;AAC7H,sEAAsE,iBAAiB,EAAE;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4CAA4C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,yCAAyC,EAAE;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,kCAAkC;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yGAAyG,iBAAiB,EAAE;AAC5H;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,OAAO;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,OAAO;AAChD;AACA;AACA;AACA,gCAAgC,UAAU,uBAAuB;AACjE;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,6BAA6B,qBAAqB;AAClD,4BAA4B,eAAe;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,qBAAqB;AAClD,4BAA4B,eAAe;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,4BAA4B,eAAe;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,4CAA4C,OAAO;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,OAAO;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,mBAAmB,UAAU,EAAE,EAAE;AACpE;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,yBAAyB;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,+BAA+B,eAAe;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,yBAAyB;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,mFAAmF,6CAA6C,EAAE;AAClI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,eAAe;AAClD;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,aAAa;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D,8BAA8B,EAAE;AAC9F;AACA;AACA;AACA,4CAA4C,oDAAoD,EAAE;AAClG;AACA;AACA;AACA;AACA;AACA,qDAAqD,uCAAuC,EAAE;AAC9F;AACA,2DAA2D,mCAAmC,EAAE;AAChG,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,4CAA4C,kCAAkC,EAAE;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,qCAAqC,6CAA6C,EAAE,kBAAkB;AACpI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,0BAA0B,4BAA4B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,yCAAyC;AACvE,mCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,qDAAqD;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,mDAAmD;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,2EAA2E;AAClI;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iHAAiH,8BAA8B,EAAE;AACjJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,OAAO;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,2BAA2B,aAAa;AACxC,+BAA+B,mBAAmB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,OAAO;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,QAAQ;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxpFA,mF;;;;;;;ACAA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,OAAO;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,OAAO;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,YAAY,OAAO;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,SAAS;AACrB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;AC9zCA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,kCAAkC;AAClC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,sC;;;;;;;;AClBA;;AAEA,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE,GAAG;AACpjB;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;;AAEA;;AAEA;;AAEA,0DAA0D;;AAE1D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iDAAiD,UAAU,mBAAmB;AAC9E;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;;;ACxHA;AACA;;;;;;;;ACDA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,kCAAkC;AAClC;AACA;AACA;;AAEA,QAAQ,OAAO;AACf;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;ACndA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;;AAEA;;AAEA;AACA;;AAEA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,kCAAkC;AAClC;AACA;AACA;;AAEA,QAAQ,OAAO;AACf;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;ACjWA;;AAEA;;AAEA;;AAEA;;;;;;;;ACNA;AACA,6BAA6B;AAC7B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAAmD,cAAc;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,mCAAmC,0BAA0B,EAAE;AAC/D,yCAAyC,eAAe;AACxD;AACA;AACA;;AAEA;AACA,8DAA8D,+DAA+D;;AAE7H;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA,YAAY,OAAO;AACnB,YAAY,QAAQ;AACpB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB,YAAY,OAAO;AACnB;AACA;AACA;;AAEA,0EAA0E;AAC1E;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD,gBAAgB;AAChE;AACA;AACA,KAAK;AACL,sBAAsB;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,qEAAqE,aAAa;AAClF;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA,wEAAwE;;AAExE;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA,gDAAgD,gBAAgB;AAChE;;AAEA;AACA;;AAEA,uBAAuB,aAAa;;AAEpC;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,UAAU,OAAO;AACjB,UAAU,OAAO;AACjB,UAAU,KAAK;AACf,UAAU,SAAS;AACnB,UAAU,SAAS;AACnB;AACA;AACA;AACA,wEAAwE;;AAExE;;AAEA;;AAEA;;AAEA;;AAEA,8CAA8C,gBAAgB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uBAAuB,aAAa;;AAEpC;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,OAAO;AACjB,UAAU,MAAM;AAChB,UAAU,OAAO;AACjB,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,+DAA+D;AAC/D;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,yGAAyG;;AAEzG;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA,OAAO;AACP;AACA;;AAEA;;AAEA,OAAO;AACP;AACA;;AAEA;;AAEA,OAAO;AACP;AACA;;AAEA;;AAEA,OAAO;AACP;AACA;;AAEA;;AAEA,OAAO;AACP;AACA;;AAEA;;AAEA,OAAO;AACP;AACA;;AAEA;;AAEA,OAAO;AACP;AACA;;AAEA;;AAEA,OAAO;AACP;AACA;;AAEA;;AAEA,OAAO;AACP;AACA;;AAEA;;AAEA,OAAO;AACP;AACA;;AAEA;;AAEA,OAAO;AACP;AACA;;AAEA;;AAEA,OAAO;AACP;AACA;;AAEA;;AAEA,OAAO;AACP;AACA;;AAEA;;AAEA,OAAO;AACP;AACA;;AAEA;;AAEA,OAAO;AACP;AACA;;AAEA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA,Y;;;;;;;ACxsBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA,E;;;;;;;AC5IA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA,wEAAwE;AACxE,wEAAwE;;AAExE;;AAEA;AACA;;;AAGA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA,G;;;;;;;AC5FA;AACA,6BAA6B;AAC7B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0DAA0C;AAC1C;AACA;AACA;AACA;AACA,0BAA0B,qBAAqB;AAC/C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,mDAAmD,cAAc;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,mCAAmC,0BAA0B,EAAE;AAC/D,yCAAyC,eAAe;AACxD;AACA;AACA;;AAEA;AACA,8DAA8D,+DAA+D;;AAE7H;AACA;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB,YAAY;AACZ;;AAEA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA,wEAAwE;AACxE,wEAAwE;AACxE;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;;AAGA,uCAAuC,6BAA6B,EAAE;AACtE,6DAA6D,kCAAkC;AAC/F,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,4EAA4E;;AAE5E;AACA;AACA,GAAG;;AAEH;AACA,0EAA0E;AAC1E,0EAA0E;AAC1E;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD,qEAAqE,kCAAkC;AACvG,CAAC;AACD;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA,uEAAuE;AACvE,sEAAsE;;AAEtE;;AAEA;AACA;;;AAGA;AACA,sDAAsD;AACtD;AACA;AACA,OAAO,4BAA4B;AACnC;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,wDAAwD,SAAS,uCAAuC,4BAA4B;AACpI;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,GAAG;;AAEH;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4EAA4E;;AAE5E;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA,8EAA8E;AAC9E,+CAA+C;AAC/C,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,4EAA4E;;AAE5E;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH,CAAC;AACD;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,0EAA0E;AAC1E,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA,6CAA6C,gBAAgB,YAAY,qBAAqB;AAC9F;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,CAAC;;AAED;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;;AAEA,yDAAyD,6BAA6B,EAAE;AACxF;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA,wEAAwE;AACxE,wEAAwE;AACxE;;AAEA;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,4EAA4E;;AAE5E;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH,CAAC;AACD;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,wEAAwE;AACxE,wEAAwE;AACxE;AACA;AACA;;AAEA;AACA;;AAEA;AACA,wEAAwE;AACxE;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA,0BAA0B,cAAc;AACxC,SAAS,iBAAiB;AAC1B;AACA;;AAEA,sCAAsC;AACtC;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,wEAAwE;AACxE,wEAAwE;AACxE;AACA;AACA;;AAEA;AACA;;AAEA;AACA,wEAAwE;AACxE;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA,UAAU,E;;;;;;;ACzjCV;AACA,6BAA6B;AAC7B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0DAA0C;AAC1C;AACA;AACA;AACA;AACA,0BAA0B,qBAAqB;AAC/C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,mDAAmD,cAAc;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,mCAAmC,0BAA0B,EAAE;AAC/D,yCAAyC,eAAe;AACxD;AACA;AACA;;AAEA;AACA,8DAA8D,+DAA+D;;AAE7H;AACA;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB,YAAY;AACZ;;AAEA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC,GAAG;AACH;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC,GAAG;AACH;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;;AAEA;AACA,qEAAqE,aAAa;AAClF;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA,kCAAkC,wCAAwC;AAC1E,CAAC,IAAI;;AAEL;AACA,kCAAkC,wCAAwC;AAC1E,CAAC,IAAI;;AAEL;AACA,wEAAwE;AACxE;AACA;AACA;AACA,qDAAqD;AACrD;AACA,qDAAqD;;;AAGrD,sCAAsC;AACtC,sCAAsC;;AAEtC;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sCAAsC,uCAAuC;AAC7E,KAAK,IAAI;;AAET;AACA;AACA;;AAEA;AACA;;AAEA,sCAAsC,uCAAuC;AAC7E,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sCAAsC,0CAA0C;AAChF,KAAK,IAAI;;AAET;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA,4BAA4B,2DAA2D;AACvF,KAAK;AACL,wBAAwB,2DAA2D;AACnF;;AAEA,gBAAgB,2DAA2D;AAC3E;;AAEA;AACA,oCAAoC,uCAAuC;AAC3E,qEAAqE,aAAa;AAClF;AACA;;AAEA,qDAAqD,yBAAyB;AAC9E,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK,IAAI;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA,wEAAwE;AACxE,wEAAwE;AACxE;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA,wEAAwE;AACxE,wEAAwE;;AAExE;;AAEA;AACA;;;AAGA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;;AAGA,uCAAuC,6BAA6B,EAAE;AACtE,6DAA6D,kCAAkC;AAC/F,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,4EAA4E;;AAE5E;AACA;AACA,GAAG;;AAEH;AACA,0EAA0E;AAC1E,0EAA0E;AAC1E;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD,qEAAqE,kCAAkC;AACvG,CAAC;AACD;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA,uEAAuE;AACvE,sEAAsE;;AAEtE;;AAEA;AACA;;;AAGA;AACA,sDAAsD;AACtD;AACA;AACA,OAAO,4BAA4B;AACnC;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,wDAAwD,SAAS,uCAAuC,4BAA4B;AACpI;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,GAAG;;AAEH;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4EAA4E;;AAE5E;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA,8EAA8E;AAC9E,+CAA+C;AAC/C,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,4EAA4E;;AAE5E;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH,CAAC;AACD;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,0EAA0E;AAC1E,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA,6CAA6C,gBAAgB,YAAY,qBAAqB;AAC9F;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,CAAC;;AAED;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;;AAEA,yDAAyD,6BAA6B,EAAE;AACxF;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA,wEAAwE;AACxE,wEAAwE;AACxE;;AAEA;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,4EAA4E;;AAE5E;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH,CAAC;AACD;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,wDAAwD;AACxD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,mEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA,yBAAyB;AACzB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,qCAAqC;AACrC,uBAAuB;;AAEvB;;AAEA;AACA;AACA;AACA,+CAA+C,cAAc;AAC7D;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,yDAAyD,0CAA0C;AACnG;AACA;;AAEA;AACA;AACA,yDAAyD;AACzD;AACA;AACA,yCAAyC,YAAY,GAAG,aAAa;AACrE;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,yCAAyC,YAAY,GAAG,aAAa;AACrE;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA,OAAO,yBAAyB;;;AAGhC,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA,wEAAwE;AACxE;;AAEA;AACA;AACA;;AAEA;AACA,yEAAyE;;AAEzE;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA,0EAA0E;AAC1E;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA,wEAAwE;;AAExE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA,8CAA8C;;AAE9C;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,0EAA0E;AAC1E;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,iCAAiC;;AAEjC;;AAEA;AACA,oEAAoE;AACpE;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,4EAA4E;;AAE5E;;AAEA;AACA,6DAA6D;AAC7D;AACA,SAAS;AACT;;AAEA,uFAAuF;AACvF,mBAAmB,eAAe;AAClC,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA,4EAA4E;;AAE5E;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,SAAS;;AAET;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,4EAA4E;;AAE5E;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA,kFAAkF;AAClF;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA,4EAA4E;AAC5E,4EAA4E;;AAE5E;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,4BAA4B;;AAE5B,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,wEAAwE;AACxE,wEAAwE;AACxE;AACA;AACA;;AAEA;AACA;;AAEA;AACA,wEAAwE;AACxE;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA,0BAA0B,cAAc;AACxC,SAAS,iBAAiB;AAC1B;AACA;;AAEA,sCAAsC;AACtC;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,wEAAwE;AACxE,wEAAwE;AACxE;AACA;AACA;;AAEA;AACA;;AAEA;AACA,wEAAwE;AACxE;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB,oBAAoB,OAAO;AAC3B,+BAA+B,QAAQ;AACvC,WAAW;AACX;AACA;AACA;;AAEA;;AAEA,0EAA0E;AAC1E,0EAA0E;AAC1E;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL,0DAA0D;;AAE1D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA,4EAA4E;AAC5E;AACA;;;AAGA;;AAEA;AACA,+CAA+C;AAC/C;AACA,SAAS;AACT;;AAEA,yEAAyE;AACzE,mBAAmB,eAAe;AAClC,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA,WAAW;AACX;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,SAAS;AACT,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA,2EAA2E;;AAE3E;AACA;AACA,GAAG;AACH;AACA;AACA,2EAA2E;;AAE3E;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,SAAS;AACT;AACA,gFAAgF;;AAEhF;AACA;;AAEA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;;AAEA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;AACA,qEAAqE,aAAa;AAClF;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,wEAAwE,eAAe;AACvF;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,wEAAwE,eAAe;AACvF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,OAAO;AAChC,wBAAwB,IAAI;AAC5B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,OAAO;AAChC,wBAAwB,IAAI;AAC5B;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,4EAA4E;AAC5E;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,4EAA4E;;AAE5E;AACA;AACA,wGAAwG,eAAe;AACvH;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA,4FAA4F,eAAe;AAC3G;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,wFAAwF;;AAExF;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,4EAA4E;;AAE5E;;AAEA;AACA,kGAAkG;AAClG;AACA;AACA,OAAO;AACP;AACA,OAAO;;AAEP,yEAAyE;AACzE;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA,4EAA4E;;AAE5E;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA,yEAAyE,eAAe;AACxF;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,yEAAyE,eAAe;AACxF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA,OAAO,IAAI;AACX;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO,IAAI;AACX;AACA,GAAG;AACH;AACA;AACA;;AAEA,2EAA2E;;AAE3E;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA,gBAAgB,cAAc;AAC9B,gBAAgB,MAAM;AACtB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,4EAA4E;;AAE5E;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,GAAG;AACH;AACA;AACA,4EAA4E;;AAE5E;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,wCAAwC,wCAAwC;AAChF;;AAEA;AACA,SAAS;AACT,OAAO,IAAI;AACX;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,wCAAwC,wCAAwC;AAChF;;AAEA;AACA,SAAS;AACT,OAAO,IAAI;AACX;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO,oCAAoC;AAC3C;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA,4CAA4C,8DAA8D;AAC1G,OAAO;;AAEP;AACA,wCAAwC,wCAAwC,qCAAqC,QAAQ,gDAAgD;AAC7K,OAAO,IAAI;AACX;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA,kFAAkF;AAClF;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,sCAAsC,kEAAkE;AACxG;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO,IAAI;;AAEX;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA,4EAA4E,eAAe;AAC3F;AACA;;AAEA;AACA;AACA;AACA,OAAO,IAAI;;AAEX;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA,4EAA4E;AAC5E,4EAA4E;;AAE5E;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,4EAA4E;AAC5E,4EAA4E;;AAE5E,qDAAqD;AACrD;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA;AACA,wEAAwE;AACxE,wEAAwE;;AAExE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wEAAwE;;AAExE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA,wEAAwE;AACxE;AACA;AACA,GAAG;AACH,gEAAgE;AAChE;AACA;AACA;AACA,GAAG,IAAI;AACP;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA,UAAU,E;;;;;;;ACvoHV;AACA,6BAA6B;AAC7B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0DAA0C;AAC1C;AACA;AACA;AACA;AACA,0BAA0B,qBAAqB;AAC/C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,mDAAmD,cAAc;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,mCAAmC,0BAA0B,EAAE;AAC/D,yCAAyC,eAAe;AACxD;AACA;AACA;;AAEA;AACA,8DAA8D,+DAA+D;;AAE7H;AACA;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB,YAAY;AACZ;;AAEA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC,GAAG;AACH;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC,GAAG;AACH;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;;AAEA;AACA,qEAAqE,aAAa;AAClF;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA,kCAAkC,wCAAwC;AAC1E,CAAC,IAAI;;AAEL;AACA,kCAAkC,wCAAwC;AAC1E,CAAC,IAAI;;AAEL;AACA,wEAAwE;AACxE;AACA;AACA;AACA,qDAAqD;AACrD;AACA,qDAAqD;;;AAGrD,sCAAsC;AACtC,sCAAsC;;AAEtC;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sCAAsC,uCAAuC;AAC7E,KAAK,IAAI;;AAET;AACA;AACA;;AAEA;AACA;;AAEA,sCAAsC,uCAAuC;AAC7E,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sCAAsC,0CAA0C;AAChF,KAAK,IAAI;;AAET;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA,4BAA4B,2DAA2D;AACvF,KAAK;AACL,wBAAwB,2DAA2D;AACnF;;AAEA,gBAAgB,2DAA2D;AAC3E;;AAEA;AACA,oCAAoC,uCAAuC;AAC3E,qEAAqE,aAAa;AAClF;AACA;;AAEA,qDAAqD,yBAAyB;AAC9E,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK,IAAI;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA,wEAAwE;AACxE,wEAAwE;AACxE;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA,wEAAwE;AACxE,wEAAwE;;AAExE;;AAEA;AACA;;;AAGA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;;AAGA,uCAAuC,6BAA6B,EAAE;AACtE,6DAA6D,kCAAkC;AAC/F,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,4EAA4E;;AAE5E;AACA;AACA,GAAG;;AAEH;AACA,0EAA0E;AAC1E,0EAA0E;AAC1E;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD,qEAAqE,kCAAkC;AACvG,CAAC;AACD;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA,uEAAuE;AACvE,sEAAsE;;AAEtE;;AAEA;AACA;;;AAGA;AACA,sDAAsD;AACtD;AACA;AACA,OAAO,4BAA4B;AACnC;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,wDAAwD,SAAS,uCAAuC,4BAA4B;AACpI;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,GAAG;;AAEH;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4EAA4E;;AAE5E;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA,8EAA8E;AAC9E,+CAA+C;AAC/C,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,4EAA4E;;AAE5E;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH,CAAC;AACD;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,0EAA0E;AAC1E,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA,6CAA6C,gBAAgB,YAAY,qBAAqB;AAC9F;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,CAAC;;AAED;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;;AAEA,yDAAyD,6BAA6B,EAAE;AACxF;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA,wEAAwE;AACxE,wEAAwE;AACxE;;AAEA;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,4EAA4E;;AAE5E;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH,CAAC;AACD;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA,yBAAyB;AACzB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,qCAAqC;AACrC,uBAAuB;;AAEvB;;AAEA;AACA;AACA;AACA,+CAA+C,cAAc;AAC7D;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,yDAAyD,0CAA0C;AACnG;AACA;;AAEA;AACA;AACA,yDAAyD;AACzD;AACA;AACA,yCAAyC,YAAY,GAAG,aAAa;AACrE;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,yCAAyC,YAAY,GAAG,aAAa;AACrE;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA,OAAO,yBAAyB;;;AAGhC,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA,wEAAwE;AACxE;;AAEA;AACA;AACA;;AAEA;AACA,yEAAyE;;AAEzE;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA,0EAA0E;AAC1E;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA,wEAAwE;;AAExE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA,8CAA8C;;AAE9C;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,0EAA0E;AAC1E;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,iCAAiC;;AAEjC;;AAEA;AACA,oEAAoE;AACpE;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,4EAA4E;;AAE5E;;AAEA;AACA,6DAA6D;AAC7D;AACA,SAAS;AACT;;AAEA,uFAAuF;AACvF,mBAAmB,eAAe;AAClC,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA,4EAA4E;;AAE5E;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,SAAS;;AAET;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,4EAA4E;;AAE5E;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA,kFAAkF;AAClF;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA,4EAA4E;AAC5E,4EAA4E;;AAE5E;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,4BAA4B;;AAE5B,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,wEAAwE;AACxE,wEAAwE;AACxE;AACA;AACA;;AAEA;AACA;;AAEA;AACA,wEAAwE;AACxE;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA,0BAA0B,cAAc;AACxC,SAAS,iBAAiB;AAC1B;AACA;;AAEA,sCAAsC;AACtC;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,wEAAwE;AACxE,wEAAwE;AACxE;AACA;AACA;;AAEA;AACA;;AAEA;AACA,wEAAwE;AACxE;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB,oBAAoB,OAAO;AAC3B,+BAA+B,QAAQ;AACvC,WAAW;AACX;AACA;AACA;;AAEA;;AAEA,0EAA0E;AAC1E,0EAA0E;AAC1E;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL,0DAA0D;;AAE1D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA,4EAA4E;AAC5E;AACA;;;AAGA;;AAEA;AACA,+CAA+C;AAC/C;AACA,SAAS;AACT;;AAEA,yEAAyE;AACzE,mBAAmB,eAAe;AAClC,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA,WAAW;AACX;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,SAAS;AACT,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA,2EAA2E;;AAE3E;AACA;AACA,GAAG;AACH;AACA;AACA,2EAA2E;;AAE3E;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,SAAS;AACT;AACA,gFAAgF;;AAEhF;AACA;;AAEA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;;AAEA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;AACA,qEAAqE,aAAa;AAClF;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,wEAAwE,eAAe;AACvF;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,wEAAwE,eAAe;AACvF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,OAAO;AAChC,wBAAwB,IAAI;AAC5B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,OAAO;AAChC,wBAAwB,IAAI;AAC5B;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,4EAA4E;AAC5E;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,4EAA4E;;AAE5E;AACA;AACA,wGAAwG,eAAe;AACvH;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA,4FAA4F,eAAe;AAC3G;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,wFAAwF;;AAExF;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,4EAA4E;;AAE5E;;AAEA;AACA,kGAAkG;AAClG;AACA;AACA,OAAO;AACP;AACA,OAAO;;AAEP,yEAAyE;AACzE;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA,4EAA4E;;AAE5E;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA,yEAAyE,eAAe;AACxF;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,yEAAyE,eAAe;AACxF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA,OAAO,IAAI;AACX;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO,IAAI;AACX;AACA,GAAG;AACH;AACA;AACA;;AAEA,2EAA2E;;AAE3E;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA,gBAAgB,cAAc;AAC9B,gBAAgB,MAAM;AACtB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,4EAA4E;;AAE5E;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,GAAG;AACH;AACA;AACA,4EAA4E;;AAE5E;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,wCAAwC,wCAAwC;AAChF;;AAEA;AACA,SAAS;AACT,OAAO,IAAI;AACX;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,wCAAwC,wCAAwC;AAChF;;AAEA;AACA,SAAS;AACT,OAAO,IAAI;AACX;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO,oCAAoC;AAC3C;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA,4CAA4C,8DAA8D;AAC1G,OAAO;;AAEP;AACA,wCAAwC,wCAAwC,qCAAqC,QAAQ,gDAAgD;AAC7K,OAAO,IAAI;AACX;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA,kFAAkF;AAClF;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,sCAAsC,kEAAkE;AACxG;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO,IAAI;;AAEX;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA,4EAA4E,eAAe;AAC3F;AACA;;AAEA;AACA;AACA;AACA,OAAO,IAAI;;AAEX;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA,4EAA4E;AAC5E,4EAA4E;;AAE5E;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,4EAA4E;AAC5E,4EAA4E;;AAE5E,qDAAqD;AACrD;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA;AACA,wEAAwE;AACxE,wEAAwE;;AAExE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wEAAwE;;AAExE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA,wEAAwE;AACxE;AACA;AACA,GAAG;AACH,gEAAgE;AAChE;AACA;AACA;AACA,GAAG,IAAI;AACP;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA,UAAU,E;;;;;;;ACjiHV;AACA,6BAA6B;AAC7B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0DAA0C;AAC1C;AACA;AACA;AACA;AACA,0BAA0B,qBAAqB;AAC/C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,mDAAmD,cAAc;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,mCAAmC,0BAA0B,EAAE;AAC/D,yCAAyC,eAAe;AACxD;AACA;AACA;;AAEA;AACA,8DAA8D,+DAA+D;;AAE7H;AACA;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB,YAAY;AACZ;;AAEA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;;AAEA;AACA,qEAAqE,aAAa;AAClF;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA,kCAAkC,wCAAwC;AAC1E,CAAC,IAAI;;AAEL;AACA,kCAAkC,wCAAwC;AAC1E,CAAC,IAAI;;AAEL;AACA,wEAAwE;AACxE;AACA;AACA;AACA,qDAAqD;AACrD;AACA,qDAAqD;;;AAGrD,sCAAsC;AACtC,sCAAsC;;AAEtC;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sCAAsC,uCAAuC;AAC7E,KAAK,IAAI;;AAET;AACA;AACA;;AAEA;AACA;;AAEA,sCAAsC,uCAAuC;AAC7E,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sCAAsC,0CAA0C;AAChF,KAAK,IAAI;;AAET;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA,4BAA4B,2DAA2D;AACvF,KAAK;AACL,wBAAwB,2DAA2D;AACnF;;AAEA,gBAAgB,2DAA2D;AAC3E;;AAEA;AACA,oCAAoC,uCAAuC;AAC3E,qEAAqE,aAAa;AAClF;AACA;;AAEA,qDAAqD,yBAAyB;AAC9E,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK,IAAI;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA,wEAAwE;AACxE,wEAAwE;AACxE;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;;AAGA,uCAAuC,6BAA6B,EAAE;AACtE,6DAA6D,kCAAkC;AAC/F,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,4EAA4E;;AAE5E;AACA;AACA,GAAG;;AAEH;AACA,0EAA0E;AAC1E,0EAA0E;AAC1E;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD,qEAAqE,kCAAkC;AACvG,CAAC;AACD;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA,uEAAuE;AACvE,sEAAsE;;AAEtE;;AAEA;AACA;;;AAGA;AACA,sDAAsD;AACtD;AACA;AACA,OAAO,4BAA4B;AACnC;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,wDAAwD,SAAS,uCAAuC,4BAA4B;AACpI;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,GAAG;;AAEH;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4EAA4E;;AAE5E;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA,8EAA8E;AAC9E,+CAA+C;AAC/C,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,4EAA4E;;AAE5E;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH,CAAC;AACD;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,0EAA0E;AAC1E,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA,6CAA6C,gBAAgB,YAAY,qBAAqB;AAC9F;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,CAAC;;AAED;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;;AAEA,yDAAyD,6BAA6B,EAAE;AACxF;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA,wEAAwE;AACxE,wEAAwE;AACxE;;AAEA;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,4EAA4E;;AAE5E;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH,CAAC;AACD;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA,yBAAyB;AACzB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,qCAAqC;AACrC,uBAAuB;;AAEvB;;AAEA;AACA;AACA;AACA,+CAA+C,cAAc;AAC7D;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,yDAAyD,0CAA0C;AACnG;AACA;;AAEA;AACA;AACA,yDAAyD;AACzD;AACA;AACA,yCAAyC,YAAY,GAAG,aAAa;AACrE;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,yCAAyC,YAAY,GAAG,aAAa;AACrE;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA,OAAO,yBAAyB;;;AAGhC,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA,wEAAwE;AACxE;;AAEA;AACA;AACA;;AAEA;AACA,yEAAyE;;AAEzE;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA,0EAA0E;AAC1E;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA,wEAAwE;;AAExE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,wEAAwE;AACxE,wEAAwE;AACxE;AACA;AACA;;AAEA;AACA;;AAEA;AACA,wEAAwE;AACxE;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA,0BAA0B,cAAc;AACxC,SAAS,iBAAiB;AAC1B;AACA;;AAEA,sCAAsC;AACtC;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,wEAAwE;AACxE,wEAAwE;AACxE;AACA;AACA;;AAEA;AACA;;AAEA;AACA,wEAAwE;AACxE;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB,oBAAoB,OAAO;AAC3B,+BAA+B,QAAQ;AACvC,WAAW;AACX;AACA;AACA;;AAEA;;AAEA,0EAA0E;AAC1E,0EAA0E;AAC1E;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL,0DAA0D;;AAE1D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA,4EAA4E;AAC5E;AACA;;;AAGA;;AAEA;AACA,+CAA+C;AAC/C;AACA,SAAS;AACT;;AAEA,yEAAyE;AACzE,mBAAmB,eAAe;AAClC,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA,WAAW;AACX;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,SAAS;AACT,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA,2EAA2E;;AAE3E;AACA;AACA,GAAG;AACH;AACA;AACA,2EAA2E;;AAE3E;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,SAAS;AACT;AACA,gFAAgF;;AAEhF;AACA;;AAEA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;;AAEA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;AACA,qEAAqE,aAAa;AAClF;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,wEAAwE,eAAe;AACvF;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,wEAAwE,eAAe;AACvF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,OAAO;AAChC,wBAAwB,IAAI;AAC5B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,OAAO;AAChC,wBAAwB,IAAI;AAC5B;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,4EAA4E;AAC5E;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,4EAA4E;;AAE5E;AACA;AACA,wGAAwG,eAAe;AACvH;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA,4FAA4F,eAAe;AAC3G;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,wFAAwF;;AAExF;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,4EAA4E;;AAE5E;;AAEA;AACA,kGAAkG;AAClG;AACA;AACA,OAAO;AACP;AACA,OAAO;;AAEP,yEAAyE;AACzE;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA,4EAA4E;;AAE5E;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA,yEAAyE,eAAe;AACxF;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,yEAAyE,eAAe;AACxF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA,OAAO,IAAI;AACX;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO,IAAI;AACX;AACA,GAAG;AACH;AACA;AACA;;AAEA,2EAA2E;;AAE3E;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA,gBAAgB,cAAc;AAC9B,gBAAgB,MAAM;AACtB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,4EAA4E;;AAE5E;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,GAAG;AACH;AACA;AACA,4EAA4E;;AAE5E;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,wCAAwC,wCAAwC;AAChF;;AAEA;AACA,SAAS;AACT,OAAO,IAAI;AACX;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,wCAAwC,wCAAwC;AAChF;;AAEA;AACA,SAAS;AACT,OAAO,IAAI;AACX;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO,oCAAoC;AAC3C;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA,4CAA4C,8DAA8D;AAC1G,OAAO;;AAEP;AACA,wCAAwC,wCAAwC,qCAAqC,QAAQ,gDAAgD;AAC7K,OAAO,IAAI;AACX;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA,kFAAkF;AAClF;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,sCAAsC,kEAAkE;AACxG;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO,IAAI;;AAEX;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA,4EAA4E,eAAe;AAC3F;AACA;;AAEA;AACA;AACA;AACA,OAAO,IAAI;;AAEX;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA,4EAA4E;AAC5E,4EAA4E;;AAE5E;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,4EAA4E;AAC5E,4EAA4E;;AAE5E,qDAAqD;AACrD;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA;AACA,wEAAwE;AACxE,wEAAwE;;AAExE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wEAAwE;;AAExE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA,wEAAwE;AACxE;AACA;AACA,GAAG;AACH,gEAAgE;AAChE;AACA;AACA;AACA,GAAG,IAAI;AACP;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA,UAAU,E;;;;;;;AC78FV;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,cAAc;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,mCAAmC,0BAA0B,EAAE;AAC/D,yCAAyC,eAAe;AACxD;AACA;AACA;AACA;AACA;AACA,8DAA8D,+DAA+D;AAC7H;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;;AAEH;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;AACA,uCAAuC;AACvC;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;;AAEA,oCAAoC;AACpC;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA;;AAEA,UAAU;AACV,iC;;;;;;;ACn7BA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,cAAc;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,mCAAmC,0BAA0B,EAAE;AAC/D,yCAAyC,eAAe;AACxD;AACA;AACA;AACA;AACA;AACA,8DAA8D,+DAA+D;AAC7H;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA,iCAAiC;;AAEjC,OAAO;;AAEP;AACA;;AAEA,iCAAiC,2BAA2B,yBAAyB,yDAAyD,+DAA+D;;AAE7M,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,qCAAqC,aAAa;AAClD;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,uEAAuE;AACvE;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA,YAAY;AACZ,GAAG;AACH;;AAEA;AACA;AACA;;;AAGA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,uDAAuD;AACvD;AACA,KAAK;AACL,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA;AACA,2DAA2D;AAC3D;AACA,8DAA8D;;;AAG9D;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG,2BAA2B;AAC9B;AACA,GAAG,sCAAsC,sCAAsC;AAC/E;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA,GAAG;AACH;AACA,uDAAuD;AACvD;AACA,KAAK;AACL,GAAG;AACH;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,sBAAsB,UAAU,uCAAuC,SAAS,8IAA8I,2EAA2E,sHAAsH,4CAA4C,GAAG,gDAAgD,gMAAgM,QAAQ,KAAK;AAC3sB;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,mEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA,oGAAoG,eAAe;AACnH;AACA;;AAEA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP,wCAAwC;AACxC,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH,CAAC;AACD;;;AAGA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,4EAA4E,iBAAiB;AAC7F,OAAO,4BAA4B,iBAAiB;AACpD,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,6CAA6C;AAC7C;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,yCAAyC,iBAAiB,mBAAmB;AAC7E,yCAAyC,iBAAiB,mBAAmB;;AAE7E,8DAA8D,mDAAmD;AACjH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,0DAA0D;AAC1D,wCAAwC,wCAAwC;AAChF,OAAO,IAAI;AACX;AACA,GAAG;AACH;AACA;AACA,4CAA4C;AAC5C;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA,kDAAkD;AAClD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,GAAG;AACH;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,mDAAmD,mDAAmD;AACtG;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,qEAAqE,mDAAmD;AACxH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,qHAAqH,mBAAmB,2CAA2C,mBAAmB,0EAA0E,mBAAmB,2CAA2C,mBAAmB;AACjW;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA,2FAA2F,aAAa;AACxG;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA,6FAA6F;AAC7F;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,4EAA4E,EAAE,EAAE,sBAAsB,eAAe,EAAE;;AAE3Q,sCAAsC,uCAAuC,gBAAgB;;AAE7F;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA,0DAA0D;AAC1D;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,sFAAsF,aAAa;AACnG;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,4EAA4E,EAAE,EAAE,sBAAsB,eAAe,EAAE;;AAE3Q,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA,0CAA0C;AAC1C,0CAA0C;;AAE1C;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sCAAsC,uCAAuC;AAC7E,KAAK,IAAI;;AAET;AACA;AACA;;AAEA;AACA;;AAEA,sCAAsC,uCAAuC;AAC7E,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sCAAsC,0CAA0C;AAChF,KAAK,IAAI;;AAET;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC,uCAAuC;AAC3E,qEAAqE,aAAa;AAClF;AACA;;AAEA,qDAAqD,yBAAyB;AAC9E,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kCAAkC,4CAA4C;AAC9E;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA,oCAAoC,uCAAuC;AAC3E,GAAG,IAAI;AACP;;AAEA;AACA;AACA;;AAEA,yCAAyC;AACzC;;AAEA;AACA;AACA,oCAAoC;AACpC;;AAEA;AACA,oCAAoC;AACpC;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA,oFAAoF,aAAa;AACjG;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;;AAEA;;;AAGA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG;;AAEH;;AAEA;AACA;;AAEA,oCAAoC,uCAAuC;AAC3E;AACA,KAAK;AACL,GAAG;AACH;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;;AAEA,oFAAoF,aAAa;AACjG;AACA;;AAEA;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA,oFAAoF,aAAa;AACjG;AACA;;AAEA;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA,kCAAkC;AAClC;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,oCAAoC;AACpC;;AAEA;AACA,oCAAoC;AACpC;AACA,KAAK;AACL;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA,oFAAoF,aAAa;AACjG;AACA;;AAEA;AACA;AACA;;AAEA,kCAAkC,4CAA4C;AAC9E;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA,oFAAoF,aAAa;AACjG;AACA;;AAEA;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA,SAAS;AACT,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,CAAC;;AAED;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;;;AAGA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA,sCAAsC,uCAAuC;AAC7E,KAAK,IAAI;AACT;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;;;AAGA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;;AAGA;AACA;AACA,GAAG;AACH;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,4BAA4B,QAAQ;;AAEpC;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;;AAEA,4BAA4B,QAAQ;;AAEpC;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;;;AAGA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK,IAAI;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA;;AAEA,UAAU;AACV,iC;;;;;;;ACpqJA;AACA;AACA;AACA;AACA;;AAEA,SAAS,OAAO;AAChB;AACA;AACA,wCAAwC;AACxC,KAAK;AACL;AACA;AACA;;;AAGA;AACA;;;;;;;;ACjBA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;AACA;AACA,EAAE;AACF;;;;;;;;ACrDA,0D;;;;;;;ACAA,mC;;;;;;;ACAA,iE;;;;;;;ACAA,2D;;;;;;;ACAA,4E;;;;;;;ACAA,6C;;;;;;;ACAA,8C;;;;;;;ACAA,8C;;;;;;;ACAA,0C;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrBA,iE;;;;;;;ACAA,gE;;;;;;;ACAA,iC;;;;;;;ACAA,mE;;;;;;;ACAA,sD;;;;;;;ACAA,sC;;;;;;;ACAA,+B;;;;;;;ACAA,2C;;;;;;;ACAA,6C;;;;;;;ACAA,wC;;;;;;;ACAA,qC;;;;;;;ACAA,2C;;;;;;;ACAA,sD;;;;;;;ACAA,iE;;;;;;;ACAA,yE;;;;;;;ACAA,gE;;;;;;;ACAA,yD;;;;;;;ACAA,qC;;;;;;;ACAA,wC;;;;;;;ACAA,oC;;;;;;;ACAA,0C;;;;;;;ACAA,4C;;;;;;;ACAA,uC;;;;;;;ACAA,2C;;;;;;;ACAA,8D;;;;;;;ACAA,gD;;;;;;;ACAA,0C;;;;;;;ACAA,uC;;;;;;;ACAA,kC;;;;;;;ACAA,+C;;;;;;;ACAA,oC;;;;;;;ACAA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA;;;;;;;;ACNA,sF;;;;;;;ACAA,0D;;;;;;;ACAA,oE;;;;;;;ACAA,mC;;;;;;;ACAA,wC;;;;;;;ACAA,gC;;;;;;;ACAA,+C;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClBA,0E;;;;;;;ACAA,kC;;;;;;;ACAA,mC;;;;;;;ACAA,wC;;;;;;;ACAA,sC;;;;;;;ACAA;AACA;AACA;AACA,uCAAuC,WAAW;AAClD;AACA;AACA;;;;;;;;ACNA,wC;;;;;;;ACAA,mC;;;;;;;ACAA,6C;;;;;;;ACAA,6C;;;;;;;ACAA,yC;;;;;;;ACAA,uC;;;;;;;ACAA,0C;;;;;;;ACAA,2C;;;;;;;ACAA,4C;;;;;;;ACAA,wC;;;;;;;ACAA,0E;;;;;;;ACAA,0C;;;;;;;ACAA,0C;;;;;;;ACAA,sC;;;;;;;ACAA,mC;;;;;;;ACAA,+B;;;;;;;ACAA,qC;;;;;;;ACAA,iC;;;;;;;ACAA,mC;;;;;;;ACAA,gC;;;;;;;ACAA,iC;;;;;;;ACAA,8D;;;;;;;ACAA,oC;;;;;;;ACAA,yD;;;;;;;ACAA,0D;;;;;;;ACAA,kC;;;;;;;ACAA,kC;;;;;;;;;;;;;;;ACAA,0D","file":"compilers.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmory imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmory exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tObject.defineProperty(exports, name, {\n \t\t\tconfigurable: false,\n \t\t\tenumerable: true,\n \t\t\tget: getter\n \t\t});\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 85);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap e304026afeac2441e0cb","module.exports.inline = {\n resets: { '0': false },\n bold: { '1': { style: 'font-weight:bold' } },\n underline: { '4': { style: 'text-decoration:underline' } },\n foregrounds: {\n '30': { style: 'color:#111' } // black\n , '31': { style: 'color:#ff7e76' } // red\n , '32': { style: 'color:#a4f87b' } // green\n , '33': { style: 'color:#f6fcc0' } // yellow\n , '34': { style: 'color:#9cd8fb' } // blue\n , '35': { style: 'color:#ff85f6' } // magenta\n , '36': { style: 'color:#cfd0f8' } // cyan\n , '37': { style: 'color:#eee' } // white\n , '39': false // default\n },\n backgrounds: {\n '40': { style: 'background-color:#111' } // black\n , '41': { style: 'background-color:#ff7e76' } // red\n , '42': { style: 'background-color:#a4f87b' } // green\n , '43': { style: 'background-color:#f6fcc0' } // yellow\n , '44': { style: 'background-color:#9cd8fb' } // blue\n , '45': { style: 'background-color:#ff85f6' } // magenta\n , '46': { style: 'background-color:#cfd0f8' } // cyan\n , '47': { style: 'background-color:#eee' } // white\n , '49': false // default\n }\n};\n\nmodule.exports.classes = {\n resets: { '0': false },\n bold: { '1': { 'class': 'ansi-bold' } },\n underline: { '4': { 'class': 'ansi-underline' } },\n foregrounds: {\n '30': { 'class': 'ansi-fg-black' }\n , '31': { 'class': 'ansi-fg-red' }\n , '32': { 'class': 'ansi-fg-green' }\n , '33': { 'class': 'ansi-fg-yellow' }\n , '34': { 'class': 'ansi-fg-blue' }\n , '35': { 'class': 'ansi-fg-magenta' }\n , '36': { 'class': 'ansi-fg-cyan' }\n , '37': { 'class': 'ansi-fg-white' }\n , '39': false // default\n },\n backgrounds: {\n '40': { 'class': 'ansi-bg-black' }\n , '41': { 'class': 'ansi-bg-red' }\n , '42': { 'class': 'ansi-bg-green' }\n , '43': { 'class': 'ansi-bg-yellow' }\n , '44': { 'class': 'ansi-bg-blue' }\n , '45': { 'class': 'ansi-bg-magenta' }\n , '46': { 'class': 'ansi-bg-cyan' }\n , '47': { 'class': 'ansi-bg-white' }\n , '49': false // default\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/ansi-html-stream/colors.js\n// module id = ../../node_modules/ansi-html-stream/colors.js\n// module chunks = 0","var escape = require('escape-html')\n , special = require('special-html')\n , map = require('map-stream')\n , clone = require('clone')\n , extend = require('xtend')\n\n/**\n * Returns a through-stream that converts ANSI escape\n * code formatting to HTML.\n *\n * @param options {Object}\n * @param options.classes {Boolean} If true, use classes instead of inline styles. Defaults to false.\n * @param options.chunked {String} Wrap each chunk in <span class=\"options.chunked\">\n * @param options.theme {Object} Override existing styles - see lib/colors.js\n */\nfunction createStream(options) {\n var options = options || {}\n , colors = require('./colors')\n , groupStack = [] // Keeps track of opened span types.\n , spanStack = [] // Keeps track of opened span markup.\n , chunked = options.chunked && escape(options.chunked) || false\n , groups\n , stream\n\n colors = clone(colors[options.classes ? 'classes' : 'inline'])\n colors = extend(colors, options.theme || {})\n\n colors.resets = colors.resets || [{'0':false}]\n\n groups = Object.keys(colors)\n\n groups.forEach(function(group) {\n Object.keys(colors[group]).forEach(function(key) {\n var text = '<span'\n , style = colors[group][key]\n\n if (!style) return\n\n Object.keys(style).forEach(function(attr) {\n text += ' ' + attr + '=\"' + style[attr].replace(/\\\"/g, '') + '\"'\n })\n text += '>'\n\n colors[group][key] = text\n })\n })\n\n stream = map(function write(string, next) {\n if (chunked) {\n string = spanStack.join('') + string\n }\n\n string = special(escape(string))\n string = string\n .replace(/\\x1B\\[([0-9;]*?\\d)m/g, handleANSI) // Handle ANSI colour codes,\n .replace(/\\x1B\\[(?:[0-9;]*?\\d)[a-zA-Z]/g, '') // and remove other\n .replace(/\\x1B\\[(?:[suK]|2J|\\=\\d\\d?[h|])/g, '') // ANSI codes\n\n if (chunked) {\n spanStack.forEach(function() {\n string += '</span>'\n })\n }\n\n return next(null, string)\n })\n\n stream.oldend = stream.end\n stream.end = function end(data) {\n if (data) this.write(data)\n\n var string = ''\n groupStack.forEach(function() {\n string += '</span>'\n })\n\n this.emit('data', string)\n return this.oldend()\n };\n\n function handleANSI(fragment, codes) {\n var codes = codes.split(';')\n , prefix = ''\n , suffix = ''\n\n codes.forEach(function(code) {\n var group\n , style\n , stackIndex\n\n for (group in colors) {\n if ((style = colors[group][code]) !== undefined) break;\n }\n\n if (!style) {\n stackIndex = group === 'resets' ? 0 : groupStack.indexOf(group)\n spanStack.splice(stackIndex)\n groupStack.splice(stackIndex).forEach(function() { prefix += '</span>' })\n return\n }\n\n stackIndex = groupStack.indexOf(group)\n\n if (stackIndex !== -1) {\n spanStack.splice(stackIndex)\n groupStack.splice(stackIndex).forEach(function() {\n prefix += '</span>'\n })\n }\n\n groupStack.push(group)\n spanStack.push(style)\n prefix += style\n })\n\n return prefix + suffix\n };\n\n return stream\n};\n\nmodule.exports = createStream\nmodule.exports.createStream = module.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/ansi-html-stream/index.js\n// module id = ../../node_modules/ansi-html-stream/index.js\n// module chunks = 0","var readline = require('readline');\n\nvar defaultSpinnerString = 0;\nvar defaultSpinnerDelay = 60;\n\nvar Spinner = function(textToShow){\n this.text = textToShow || '';\n this.setSpinnerString(defaultSpinnerString);\n this.setSpinnerDelay(defaultSpinnerDelay);\n};\n\nSpinner.spinners = [\n '|/-\\\\',\n '⠂-–—–-',\n '◐◓◑◒',\n '◴◷◶◵',\n '◰◳◲◱',\n '▖▘▝▗',\n '■□▪▫',\n '▌▀▐▄',\n '▉▊▋▌▍▎▏▎▍▌▋▊▉',\n '▁▃▄▅▆▇█▇▆▅▄▃',\n '←↖↑↗→↘↓↙',\n '┤┘┴└├┌┬┐',\n '◢◣◤◥',\n '.oO°Oo.',\n '.oO@*',\n '🌍🌎🌏',\n '◡◡ ⊙⊙ ◠◠',\n '☱☲☴',\n '⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏',\n '⠋⠙⠚⠞⠖⠦⠴⠲⠳⠓',\n '⠄⠆⠇⠋⠙⠸⠰⠠⠰⠸⠙⠋⠇⠆',\n '⠋⠙⠚⠒⠂⠂⠒⠲⠴⠦⠖⠒⠐⠐⠒⠓⠋',\n '⠁⠉⠙⠚⠒⠂⠂⠒⠲⠴⠤⠄⠄⠤⠴⠲⠒⠂⠂⠒⠚⠙⠉⠁',\n '⠈⠉⠋⠓⠒⠐⠐⠒⠖⠦⠤⠠⠠⠤⠦⠖⠒⠐⠐⠒⠓⠋⠉⠈',\n '⠁⠁⠉⠙⠚⠒⠂⠂⠒⠲⠴⠤⠄⠄⠤⠠⠠⠤⠦⠖⠒⠐⠐⠒⠓⠋⠉⠈⠈',\n '⢄⢂⢁⡁⡈⡐⡠',\n '⢹⢺⢼⣸⣇⡧⡗⡏',\n '⣾⣽⣻⢿⡿⣟⣯⣷',\n '⠁⠂⠄⡀⢀⠠⠐⠈',\n '🌑🌒🌓🌔🌕🌝🌖🌗🌘🌚'\n];\n\nSpinner.setDefaultSpinnerString = function(value) {\n defaultSpinnerString = value;\n};\n\nSpinner.setDefaultSpinnerDelay = function(value) {\n defaultSpinnerDelay = value;\n};\n\nSpinner.prototype.start = function() {\n var current = 0;\n var self = this;\n this.id = setInterval(function() {\n var msg = self.text.indexOf('%s') > -1 ? self.text.replace('%s', self.chars[current]) : self.chars[current] + ' ' + self.text;\n clearLine();\n process.stdout.write(msg);\n current = ++current % self.chars.length;\n }, this.delay);\n};\n\nSpinner.prototype.isSpinning = function() {\n return this.id !== undefined;\n}\n\nSpinner.prototype.setSpinnerDelay = function(n) {\n this.delay = n;\n};\n\nSpinner.prototype.setSpinnerString = function(str) {\n this.chars = mapToSpinner(str, this.spinners).split('');\n};\n\nSpinner.prototype.setSpinnerTitle = function(str) {\n this.text = str;\n}\n\nSpinner.prototype.stop = function(clear) {\n clearInterval(this.id);\n this.id = undefined;\n if (clear) {\n clearLine();\n }\n};\n\n// Helpers\n\nfunction isInt(value) {\n return (typeof value==='number' && (value%1)===0);\n}\n\nfunction mapToSpinner(value, spinners) {\n // Not an integer, return as strng\n if (!isInt(value)) {\n return value + '';\n }\n\n // Check if index is within bounds\n value = (value >= Spinner.spinners.length) ? 0 : value;\n // If negative, count from the end\n value = (value < 0) ? Spinner.spinners.length + value : value;\n\n return Spinner.spinners[value];\n}\n\nfunction clearLine() {\n readline.clearLine(process.stdout, 0);\n readline.cursorTo(process.stdout, 0);\n}\n\nexports.Spinner = Spinner;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/cli-spinner/index.js\n// module id = ../../node_modules/cli-spinner/index.js\n// module chunks = 0","\n/**\n * Module dependencies.\n */\n\nvar colors = require('colors/safe')\n , utils = require('./utils')\n , repeat = utils.repeat\n , truncate = utils.truncate\n , pad = utils.pad;\n\n/**\n * Table constructor\n *\n * @param {Object} options\n * @api public\n */\n\nfunction Table (options){\n this.options = utils.options({\n chars: {\n 'top': '─'\n , 'top-mid': '┬'\n , 'top-left': '┌'\n , 'top-right': '┐'\n , 'bottom': '─'\n , 'bottom-mid': '┴'\n , 'bottom-left': '└'\n , 'bottom-right': '┘'\n , 'left': '│'\n , 'left-mid': '├'\n , 'mid': '─'\n , 'mid-mid': '┼'\n , 'right': '│'\n , 'right-mid': '┤'\n , 'middle': '│'\n }\n , truncate: '…'\n , colWidths: []\n , colAligns: []\n , style: {\n 'padding-left': 1\n , 'padding-right': 1\n , head: ['red']\n , border: ['grey']\n , compact : false\n }\n , head: []\n }, options);\n};\n\n/**\n * Inherit from Array.\n */\n\nTable.prototype.__proto__ = Array.prototype;\n\n/**\n * Width getter\n *\n * @return {Number} width\n * @api public\n */\n\nTable.prototype.__defineGetter__('width', function (){\n var str = this.toString().split(\"\\n\");\n if (str.length) return str[0].length;\n return 0;\n});\n\n/**\n * Render to a string.\n *\n * @return {String} table representation\n * @api public\n */\n\nTable.prototype.render\nTable.prototype.toString = function (){\n var ret = ''\n , options = this.options\n , style = options.style\n , head = options.head\n , chars = options.chars\n , truncater = options.truncate\n , colWidths = options.colWidths || new Array(this.head.length)\n , totalWidth = 0;\n\n if (!head.length && !this.length) return '';\n\n if (!colWidths.length){\n var all_rows = this.slice(0);\n if (head.length) { all_rows = all_rows.concat([head]) };\n\n all_rows.forEach(function(cells){\n // horizontal (arrays)\n if (typeof cells === 'object' && cells.length) {\n extractColumnWidths(cells);\n\n // vertical (objects)\n } else {\n var header_cell = Object.keys(cells)[0]\n , value_cell = cells[header_cell];\n\n colWidths[0] = Math.max(colWidths[0] || 0, get_width(header_cell) || 0);\n\n // cross (objects w/ array values)\n if (typeof value_cell === 'object' && value_cell.length) {\n extractColumnWidths(value_cell, 1);\n } else {\n colWidths[1] = Math.max(colWidths[1] || 0, get_width(value_cell) || 0);\n }\n }\n });\n };\n\n totalWidth = (colWidths.length == 1 ? colWidths[0] : colWidths.reduce(\n function (a, b){\n return a + b\n })) + colWidths.length + 1;\n\n function extractColumnWidths(arr, offset) {\n var offset = offset || 0;\n arr.forEach(function(cell, i){\n colWidths[i + offset] = Math.max(colWidths[i + offset] || 0, get_width(cell) || 0);\n });\n };\n\n function get_width(obj) {\n return typeof obj == 'object' && obj.width != undefined\n ? obj.width\n : ((typeof obj == 'object' ? utils.strlen(obj.text) : utils.strlen(obj)) + (style['padding-left'] || 0) + (style['padding-right'] || 0))\n }\n\n // draws a line\n function line (line, left, right, intersection){\n var width = 0\n , line =\n left\n + repeat(line, totalWidth - 2)\n + right;\n\n colWidths.forEach(function (w, i){\n if (i == colWidths.length - 1) return;\n width += w + 1;\n line = line.substr(0, width) + intersection + line.substr(width + 1);\n });\n\n return applyStyles(options.style.border, line);\n };\n\n // draws the top line\n function lineTop (){\n var l = line(chars.top\n , chars['top-left'] || chars.top\n , chars['top-right'] || chars.top\n , chars['top-mid']);\n if (l)\n ret += l + \"\\n\";\n };\n\n function generateRow (items, style) {\n var cells = []\n , max_height = 0;\n\n // prepare vertical and cross table data\n if (!Array.isArray(items) && typeof items === \"object\") {\n var key = Object.keys(items)[0]\n , value = items[key]\n , first_cell_head = true;\n\n if (Array.isArray(value)) {\n items = value;\n items.unshift(key);\n } else {\n items = [key, value];\n }\n }\n\n // transform array of item strings into structure of cells\n items.forEach(function (item, i) {\n var contents = item.toString().split(\"\\n\").reduce(function (memo, l) {\n memo.push(string(l, i));\n return memo;\n }, [])\n\n var height = contents.length;\n if (height > max_height) { max_height = height };\n\n cells.push({ contents: contents , height: height });\n });\n\n // transform vertical cells into horizontal lines\n var lines = new Array(max_height);\n cells.forEach(function (cell, i) {\n cell.contents.forEach(function (line, j) {\n if (!lines[j]) { lines[j] = [] };\n if (style || (first_cell_head && i === 0 && options.style.head)) {\n line = applyStyles(options.style.head, line)\n }\n\n lines[j].push(line);\n });\n\n // populate empty lines in cell\n for (var j = cell.height, l = max_height; j < l; j++) {\n if (!lines[j]) { lines[j] = [] };\n lines[j].push(string('', i));\n }\n });\n var ret = \"\";\n lines.forEach(function (line, index) {\n if (ret.length > 0) {\n ret += \"\\n\" + applyStyles(options.style.border, chars.left);\n }\n\n ret += line.join(applyStyles(options.style.border, chars.middle)) + applyStyles(options.style.border, chars.right);\n });\n\n return applyStyles(options.style.border, chars.left) + ret;\n };\n\n function applyStyles(styles, subject) {\n if (!subject)\n return '';\n styles.forEach(function(style) {\n subject = colors[style](subject);\n });\n return subject;\n };\n\n // renders a string, by padding it or truncating it\n function string (str, index){\n var str = String(typeof str == 'object' && str.text ? str.text : str)\n , length = utils.strlen(str)\n , width = colWidths[index]\n - (style['padding-left'] || 0)\n - (style['padding-right'] || 0)\n , align = options.colAligns[index] || 'left';\n\n return repeat(' ', style['padding-left'] || 0)\n + (length == width ? str :\n (length < width\n ? pad(str, ( width + (str.length - length) ), ' ', align == 'left' ? 'right' :\n (align == 'middle' ? 'both' : 'left'))\n : (truncater ? truncate(str, width, truncater) : str))\n )\n + repeat(' ', style['padding-right'] || 0);\n };\n\n if (head.length){\n lineTop();\n\n ret += generateRow(head, style.head) + \"\\n\"\n }\n\n if (this.length)\n this.forEach(function (cells, i){\n if (!head.length && i == 0)\n lineTop();\n else {\n if (!style.compact || i<(!!head.length) ?1:0 || cells.length == 0){\n var l = line(chars.mid\n , chars['left-mid']\n , chars['right-mid']\n , chars['mid-mid']);\n if (l)\n ret += l + \"\\n\"\n }\n }\n\n if (cells.hasOwnProperty(\"length\") && !cells.length) {\n return\n } else {\n ret += generateRow(cells) + \"\\n\";\n };\n });\n\n var l = line(chars.bottom\n , chars['bottom-left'] || chars.bottom\n , chars['bottom-right'] || chars.bottom\n , chars['bottom-mid']);\n if (l)\n ret += l;\n else\n // trim the last '\\n' if we didn't add the bottom decoration\n ret = ret.slice(0, -1);\n\n return ret;\n};\n\n/**\n * Module exports.\n */\n\nmodule.exports = Table;\n\nmodule.exports.version = '0.0.1';\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/cli-table/lib/index.js\n// module id = ../../node_modules/cli-table/lib/index.js\n// module chunks = 0","\n/**\n * Repeats a string.\n *\n * @param {String} char(s)\n * @param {Number} number of times\n * @return {String} repeated string\n */\n\nexports.repeat = function (str, times){\n return Array(times + 1).join(str);\n};\n\n/**\n * Pads a string\n *\n * @api public\n */\n\nexports.pad = function (str, len, pad, dir) {\n if (len + 1 >= str.length)\n switch (dir){\n case 'left':\n str = Array(len + 1 - str.length).join(pad) + str;\n break;\n\n case 'both':\n var right = Math.ceil((padlen = len - str.length) / 2);\n var left = padlen - right;\n str = Array(left + 1).join(pad) + str + Array(right + 1).join(pad);\n break;\n\n default:\n str = str + Array(len + 1 - str.length).join(pad);\n };\n\n return str;\n};\n\n/**\n * Truncates a string\n *\n * @api public\n */\n\nexports.truncate = function (str, length, chr){\n chr = chr || '…';\n return str.length >= length ? str.substr(0, length - chr.length) + chr : str;\n};\n\n/**\n * Copies and merges options with defaults.\n *\n * @param {Object} defaults\n * @param {Object} supplied options\n * @return {Object} new (merged) object\n */\n\nfunction options(defaults, opts) {\n for (var p in opts) {\n if (opts[p] && opts[p].constructor && opts[p].constructor === Object) {\n defaults[p] = defaults[p] || {};\n options(defaults[p], opts[p]);\n } else {\n defaults[p] = opts[p];\n }\n }\n return defaults;\n};\nexports.options = options;\n\n//\n// For consideration of terminal \"color\" programs like colors.js,\n// which can add ANSI escape color codes to strings,\n// we destyle the ANSI color escape codes for padding calculations.\n//\n// see: http://en.wikipedia.org/wiki/ANSI_escape_code\n//\nexports.strlen = function(str){\n var code = /\\u001b\\[(?:\\d*;){0,5}\\d*m/g;\n var stripped = (\"\" + str).replace(code,'');\n var split = stripped.split(\"\\n\");\n return split.reduce(function (memo, s) { return (s.length > memo) ? s.length : memo }, 0);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/cli-table/lib/utils.js\n// module id = ../../node_modules/cli-table/lib/utils.js\n// module chunks = 0","/*\n FIGlet.js (a FIGDriver for FIGlet fonts)\n By Patrick Gillespie (patorjk@gmail.com)\n Originally Written For: http://patorjk.com/software/taag/\n License: MIT (with this header staying intact)\n\n This JavaScript code aims to fully implement the FIGlet spec.\n Full FIGlet spec: http://patorjk.com/software/taag/docs/figfont.txt\n\n FIGlet fonts are actually kind of complex, which is why you will see\n a lot of code about parsing and interpreting rules. The actual generation\n code is pretty simple and is done near the bottom of the code.\n*/\n\n\"use strict\";\n\nvar figlet = figlet || (function() {\n \n // ---------------------------------------------------------------------\n // Private static variables\n\n var FULL_WIDTH = 0,\n FITTING = 1,\n SMUSHING = 2,\n CONTROLLED_SMUSHING = 3;\n\n // ---------------------------------------------------------------------\n // Variable that will hold information about the fonts\n\n var figFonts = {}; // What stores all of the FIGlet font data\n var figDefaults = {\n font: 'Standard',\n fontPath: './fonts'\n };\n\n // ---------------------------------------------------------------------\n // Private static methods\n\n /*\n This method takes in the oldLayout and newLayout data from the FIGfont header file and returns\n the layout information.\n */\n function getSmushingRules(oldLayout, newLayout) {\n var rules = {};\n var val, index, len, code;\n var codes = [[16384,\"vLayout\",SMUSHING], [8192,\"vLayout\",FITTING], [4096, \"vRule5\", true], [2048, \"vRule4\", true],\n [1024, \"vRule3\", true], [512, \"vRule2\", true], [256, \"vRule1\", true], [128, \"hLayout\", SMUSHING],\n [64, \"hLayout\", FITTING], [32, \"hRule6\", true], [16, \"hRule5\", true], [8, \"hRule4\", true], [4, \"hRule3\", true],\n [2, \"hRule2\", true], [1, \"hRule1\", true]];\n\n val = (newLayout !== null) ? newLayout : oldLayout;\n index = 0;\n len = codes.length;\n while ( index < len ) {\n code = codes[index];\n if (val >= code[0]) {\n val = val - code[0];\n rules[code[1]] = (typeof rules[code[1]] === \"undefined\") ? code[2] : rules[code[1]];\n } else if (code[1] !== \"vLayout\" && code[1] !== \"hLayout\") {\n rules[code[1]] = false;\n }\n index++;\n }\n\n if (typeof rules[\"hLayout\"] === \"undefined\") {\n if (oldLayout === 0) {\n rules[\"hLayout\"] = FITTING;\n } else if (oldLayout === -1) {\n rules[\"hLayout\"] = FULL_WIDTH;\n } else {\n if (rules[\"hRule1\"] || rules[\"hRule2\"] || rules[\"hRule3\"] || rules[\"hRule4\"] ||rules[\"hRule5\"] || rules[\"hRule6\"] ) {\n rules[\"hLayout\"] = CONTROLLED_SMUSHING;\n } else {\n rules[\"hLayout\"] = SMUSHING;\n }\n }\n } else if (rules[\"hLayout\"] === SMUSHING) {\n if (rules[\"hRule1\"] || rules[\"hRule2\"] || rules[\"hRule3\"] || rules[\"hRule4\"] ||rules[\"hRule5\"] || rules[\"hRule6\"] ) {\n rules[\"hLayout\"] = CONTROLLED_SMUSHING;\n }\n }\n\n if (typeof rules[\"vLayout\"] === \"undefined\") {\n if (rules[\"vRule1\"] || rules[\"vRule2\"] || rules[\"vRule3\"] || rules[\"vRule4\"] ||rules[\"vRule5\"] ) {\n rules[\"vLayout\"] = CONTROLLED_SMUSHING;\n } else {\n rules[\"vLayout\"] = FULL_WIDTH;\n }\n } else if (rules[\"vLayout\"] === SMUSHING) {\n if (rules[\"vRule1\"] || rules[\"vRule2\"] || rules[\"vRule3\"] || rules[\"vRule4\"] ||rules[\"vRule5\"] ) {\n rules[\"vLayout\"] = CONTROLLED_SMUSHING;\n }\n }\n\n return rules;\n }\n\n /* The [vh]Rule[1-6]_Smush functions return the smushed character OR false if the two characters can't be smushed */\n\n /*\n Rule 1: EQUAL CHARACTER SMUSHING (code value 1)\n\n Two sub-characters are smushed into a single sub-character\n if they are the same. This rule does not smush\n hardblanks. (See rule 6 on hardblanks below)\n */\n function hRule1_Smush(ch1, ch2, hardBlank) {\n if (ch1 === ch2 && ch1 !== hardBlank) {return ch1;}\n return false;\n }\n\n /*\n Rule 2: UNDERSCORE SMUSHING (code value 2)\n\n An underscore (\"_\") will be replaced by any of: \"|\", \"/\",\n \"\\\", \"[\", \"]\", \"{\", \"}\", \"(\", \")\", \"<\" or \">\".\n */\n function hRule2_Smush(ch1, ch2) {\n var rule2Str = \"|/\\\\[]{}()<>\";\n if (ch1 === \"_\") {\n if (rule2Str.indexOf(ch2) !== -1) {return ch2;}\n } else if (ch2 === \"_\") {\n if (rule2Str.indexOf(ch1) !== -1) {return ch1;}\n }\n return false;\n }\n\n /*\n Rule 3: HIERARCHY SMUSHING (code value 4)\n\n A hierarchy of six classes is used: \"|\", \"/\\\", \"[]\", \"{}\",\n \"()\", and \"<>\". When two smushing sub-characters are\n from different classes, the one from the latter class\n will be used.\n */\n function hRule3_Smush(ch1, ch2) {\n var rule3Classes = \"| /\\\\ [] {} () <>\";\n var r3_pos1 = rule3Classes.indexOf(ch1);\n var r3_pos2 = rule3Classes.indexOf(ch2);\n if (r3_pos1 !== -1 && r3_pos2 !== -1) {\n if (r3_pos1 !== r3_pos2 && Math.abs(r3_pos1-r3_pos2) !== 1) {\n return rule3Classes.substr(Math.max(r3_pos1,r3_pos2), 1);\n }\n }\n return false;\n }\n\n /*\n Rule 4: OPPOSITE PAIR SMUSHING (code value 8)\n\n Smushes opposing brackets (\"[]\" or \"][\"), braces (\"{}\" or\n \"}{\") and parentheses (\"()\" or \")(\") together, replacing\n any such pair with a vertical bar (\"|\").\n */\n function hRule4_Smush(ch1, ch2) {\n var rule4Str = \"[] {} ()\";\n var r4_pos1 = rule4Str.indexOf(ch1);\n var r4_pos2 = rule4Str.indexOf(ch2);\n if (r4_pos1 !== -1 && r4_pos2 !== -1) {\n if (Math.abs(r4_pos1-r4_pos2) <= 1) {\n return \"|\";\n }\n }\n return false;\n }\n\n /*\n Rule 5: BIG X SMUSHING (code value 16)\n\n Smushes \"/\\\" into \"|\", \"\\/\" into \"Y\", and \"><\" into \"X\".\n Note that \"<>\" is not smushed in any way by this rule.\n The name \"BIG X\" is historical; originally all three pairs\n were smushed into \"X\".\n */\n function hRule5_Smush(ch1, ch2) {\n var rule5Str = \"/\\\\ \\\\/ ><\";\n var rule5Hash = {\"0\": \"|\", \"3\": \"Y\", \"6\": \"X\"};\n var r5_pos1 = rule5Str.indexOf(ch1);\n var r5_pos2 = rule5Str.indexOf(ch2);\n if (r5_pos1 !== -1 && r5_pos2 !== -1) {\n if ((r5_pos2-r5_pos1) === 1) {\n return rule5Hash[r5_pos1];\n }\n }\n return false;\n }\n\n /*\n Rule 6: HARDBLANK SMUSHING (code value 32)\n\n Smushes two hardblanks together, replacing them with a\n single hardblank. (See \"Hardblanks\" below.)\n */\n function hRule6_Smush(ch1, ch2, hardBlank) {\n if (ch1 === hardBlank && ch2 === hardBlank) {\n return hardBlank;\n }\n return false;\n }\n\n /*\n Rule 1: EQUAL CHARACTER SMUSHING (code value 256)\n\n Same as horizontal smushing rule 1.\n */\n function vRule1_Smush(ch1, ch2) {\n if (ch1 === ch2) {return ch1;}\n return false;\n }\n\n /*\n Rule 2: UNDERSCORE SMUSHING (code value 512)\n\n Same as horizontal smushing rule 2.\n */\n function vRule2_Smush(ch1, ch2) {\n var rule2Str = \"|/\\\\[]{}()<>\";\n if (ch1 === \"_\") {\n if (rule2Str.indexOf(ch2) !== -1) {return ch2;}\n } else if (ch2 === \"_\") {\n if (rule2Str.indexOf(ch1) !== -1) {return ch1;}\n }\n return false;\n }\n\n /*\n Rule 3: HIERARCHY SMUSHING (code value 1024)\n\n Same as horizontal smushing rule 3.\n */\n function vRule3_Smush(ch1, ch2) {\n var rule3Classes = \"| /\\\\ [] {} () <>\";\n var r3_pos1 = rule3Classes.indexOf(ch1);\n var r3_pos2 = rule3Classes.indexOf(ch2);\n if (r3_pos1 !== -1 && r3_pos2 !== -1) {\n if (r3_pos1 !== r3_pos2 && Math.abs(r3_pos1-r3_pos2) !== 1) {\n return rule3Classes.substr(Math.max(r3_pos1,r3_pos2), 1);\n }\n }\n return false;\n }\n\n /*\n Rule 4: HORIZONTAL LINE SMUSHING (code value 2048)\n\n Smushes stacked pairs of \"-\" and \"_\", replacing them with\n a single \"=\" sub-character. It does not matter which is\n found above the other. Note that vertical smushing rule 1\n will smush IDENTICAL pairs of horizontal lines, while this\n rule smushes horizontal lines consisting of DIFFERENT\n sub-characters.\n */\n function vRule4_Smush(ch1, ch2) {\n if ( (ch1 === \"-\" && ch2 === \"_\") || (ch1 === \"_\" && ch2 === \"-\") ) {\n return \"=\";\n }\n return false;\n }\n\n /*\n Rule 5: VERTICAL LINE SUPERSMUSHING (code value 4096)\n\n This one rule is different from all others, in that it\n \"supersmushes\" vertical lines consisting of several\n vertical bars (\"|\"). This creates the illusion that\n FIGcharacters have slid vertically against each other.\n Supersmushing continues until any sub-characters other\n than \"|\" would have to be smushed. Supersmushing can\n produce impressive results, but it is seldom possible,\n since other sub-characters would usually have to be\n considered for smushing as soon as any such stacked\n vertical lines are encountered.\n */\n function vRule5_Smush(ch1, ch2) {\n if ( ch1 === \"|\" && ch2 === \"|\" ) {\n return \"|\";\n }\n return false;\n }\n\n /*\n Universal smushing simply overrides the sub-character from the\n earlier FIGcharacter with the sub-character from the later\n FIGcharacter. This produces an \"overlapping\" effect with some\n FIGfonts, wherin the latter FIGcharacter may appear to be \"in\n front\".\n */\n function uni_Smush(ch1, ch2, hardBlank) {\n if (ch2 === \" \" || ch2 === \"\") {\n return ch1;\n } else if (ch2 === hardBlank && ch1 !== \" \") {\n return ch1;\n } else {\n return ch2;\n }\n }\n\n // --------------------------------------------------------------------------\n // main vertical smush routines (excluding rules)\n\n /*\n txt1 - A line of text\n txt2 - A line of text\n opts - FIGlet options array\n\n About: Takes in two lines of text and returns one of the following:\n \"valid\" - These lines can be smushed together given the current smushing rules\n \"end\" - The lines can be smushed, but we're at a stopping point\n \"invalid\" - The two lines cannot be smushed together\n */\n function canVerticalSmush(txt1, txt2, opts) {\n if (opts.fittingRules.vLayout === FULL_WIDTH) {return \"invalid\";}\n var ii, len = Math.min(txt1.length, txt2.length);\n var ch1, ch2, endSmush = false, validSmush;\n if (len===0) {return \"invalid\";}\n\n for (ii = 0; ii < len; ii++) {\n ch1 = txt1.substr(ii,1);\n ch2 = txt2.substr(ii,1);\n if (ch1 !== \" \" && ch2 !== \" \") {\n if (opts.fittingRules.vLayout === FITTING) {\n return \"invalid\";\n } else if (opts.fittingRules.vLayout === SMUSHING) {\n return \"end\";\n } else {\n if (vRule5_Smush(ch1,ch2)) {endSmush = endSmush || false; continue;} // rule 5 allow for \"super\" smushing, but only if we're not already ending this smush\n validSmush = false;\n validSmush = (opts.fittingRules.vRule1) ? vRule1_Smush(ch1,ch2) : validSmush;\n validSmush = (!validSmush && opts.fittingRules.vRule2) ? vRule2_Smush(ch1,ch2) : validSmush;\n validSmush = (!validSmush && opts.fittingRules.vRule3) ? vRule3_Smush(ch1,ch2) : validSmush;\n validSmush = (!validSmush && opts.fittingRules.vRule4) ? vRule4_Smush(ch1,ch2) : validSmush;\n endSmush = true;\n if (!validSmush) {return \"invalid\";}\n }\n }\n }\n if (endSmush) {\n return \"end\";\n } else {\n return \"valid\";\n }\n }\n\n function getVerticalSmushDist(lines1, lines2, opts) {\n var maxDist = lines1.length;\n var len1 = lines1.length;\n var len2 = lines2.length;\n var subLines1, subLines2, slen;\n var curDist = 1;\n var ii, ret, result;\n while (curDist <= maxDist) {\n\n subLines1 = lines1.slice(Math.max(0,len1-curDist), len1);\n subLines2 = lines2.slice(0, Math.min(maxDist, curDist));\n\n slen = subLines2.length;//TODO:check this\n result = \"\";\n for (ii = 0; ii < slen; ii++) {\n ret = canVerticalSmush(subLines1[ii], subLines2[ii], opts);\n if (ret === \"end\") {\n result = ret;\n } else if (ret === \"invalid\") {\n result = ret;\n break;\n } else {\n if (result === \"\") {\n result = \"valid\";\n }\n }\n }\n\n if (result === \"invalid\") {curDist--;break;}\n if (result === \"end\") {break;}\n if (result === \"valid\") {curDist++;}\n }\n\n return Math.min(maxDist,curDist);\n }\n\n function verticallySmushLines(line1, line2, opts) {\n var ii, len = Math.min(line1.length, line2.length);\n var ch1, ch2, result = \"\", validSmush;\n\n for (ii = 0; ii < len; ii++) {\n ch1 = line1.substr(ii,1);\n ch2 = line2.substr(ii,1);\n if (ch1 !== \" \" && ch2 !== \" \") {\n if (opts.fittingRules.vLayout === FITTING) {\n result += uni_Smush(ch1,ch2);\n } else if (opts.fittingRules.vLayout === SMUSHING) {\n result += uni_Smush(ch1,ch2);\n } else {\n validSmush = (opts.fittingRules.vRule5) ? vRule5_Smush(ch1,ch2) : validSmush;\n validSmush = (!validSmush && opts.fittingRules.vRule1) ? vRule1_Smush(ch1,ch2) : validSmush;\n validSmush = (!validSmush && opts.fittingRules.vRule2) ? vRule2_Smush(ch1,ch2) : validSmush;\n validSmush = (!validSmush && opts.fittingRules.vRule3) ? vRule3_Smush(ch1,ch2) : validSmush;\n validSmush = (!validSmush && opts.fittingRules.vRule4) ? vRule4_Smush(ch1,ch2) : validSmush;\n result += validSmush;\n }\n } else {\n result += uni_Smush(ch1,ch2);\n }\n }\n return result;\n }\n\n function verticalSmush(lines1, lines2, overlap, opts) {\n var len1 = lines1.length;\n var len2 = lines2.length;\n var piece1 = lines1.slice(0, Math.max(0,len1-overlap));\n var piece2_1 = lines1.slice(Math.max(0,len1-overlap), len1);\n var piece2_2 = lines2.slice(0, Math.min(overlap, len2));\n var ii, len, line, piece2 = [], piece3, result = [];\n\n len = piece2_1.length;\n for (ii = 0; ii < len; ii++) {\n if (ii >= len2) {\n line = piece2_1[ii];\n } else {\n line = verticallySmushLines(piece2_1[ii], piece2_2[ii], opts);\n }\n piece2.push(line);\n }\n\n piece3 = lines2.slice(Math.min(overlap,len2), len2);\n\n return result.concat(piece1,piece2,piece3);\n }\n\n function padLines(lines, numSpaces) {\n var ii, len = lines.length, padding = \"\";\n for (ii = 0; ii < numSpaces; ii++) {\n padding += \" \";\n }\n for (ii = 0; ii < len; ii++) {\n lines[ii] += padding;\n }\n }\n\n function smushVerticalFigLines(output, lines, opts) {\n var len1 = output[0].length;\n var len2 = lines[0].length;\n var overlap;\n if (len1 > len2) {\n padLines(lines, len1-len2);\n } else if (len2 > len1) {\n padLines(output, len2-len1);\n }\n overlap = getVerticalSmushDist(output, lines, opts);\n return verticalSmush(output, lines, overlap,opts);\n }\n\n // -------------------------------------------------------------------------\n // Main horizontal smush routines (excluding rules)\n\n function getHorizontalSmushLength(txt1, txt2, opts) {\n if (opts.fittingRules.hLayout === FULL_WIDTH) {return 0;}\n var ii, len1 = txt1.length, len2 = txt2.length;\n var maxDist = len1;\n var curDist = 1;\n var breakAfter = false;\n var validSmush = false;\n var seg1, seg2, ch1, ch2;\n if (len1 === 0) {return 0;}\n\n distCal: while (curDist <= maxDist) {\n seg1 = txt1.substr(len1-curDist,curDist);\n seg2 = txt2.substr(0,Math.min(curDist,len2));\n for (ii = 0; ii < Math.min(curDist,len2); ii++) {\n ch1 = seg1.substr(ii,1);\n ch2 = seg2.substr(ii,1);\n if (ch1 !== \" \" && ch2 !== \" \" ) {\n if (opts.fittingRules.hLayout === FITTING) {\n curDist = curDist - 1;\n break distCal;\n } else if (opts.fittingRules.hLayout === SMUSHING) {\n if (ch1 === opts.hardBlank || ch2 === opts.hardBlank) {\n curDist = curDist - 1; // universal smushing does not smush hardblanks\n }\n break distCal;\n } else {\n breakAfter = true; // we know we need to break, but we need to check if our smushing rules will allow us to smush the overlapped characters\n validSmush = false; // the below checks will let us know if we can smush these characters\n\n validSmush = (opts.fittingRules.hRule1) ? hRule1_Smush(ch1,ch2,opts.hardBlank) : validSmush;\n validSmush = (!validSmush && opts.fittingRules.hRule2) ? hRule2_Smush(ch1,ch2,opts.hardBlank) : validSmush;\n validSmush = (!validSmush && opts.fittingRules.hRule3) ? hRule3_Smush(ch1,ch2,opts.hardBlank) : validSmush;\n validSmush = (!validSmush && opts.fittingRules.hRule4) ? hRule4_Smush(ch1,ch2,opts.hardBlank) : validSmush;\n validSmush = (!validSmush && opts.fittingRules.hRule5) ? hRule5_Smush(ch1,ch2,opts.hardBlank) : validSmush;\n validSmush = (!validSmush && opts.fittingRules.hRule6) ? hRule6_Smush(ch1,ch2,opts.hardBlank) : validSmush;\n\n if (!validSmush) {\n curDist = curDist - 1;\n break distCal;\n }\n }\n }\n }\n if (breakAfter) {break;}\n curDist++;\n }\n return Math.min(maxDist,curDist);\n }\n\n function horizontalSmush(textBlock1, textBlock2, overlap, opts) {\n var ii, jj, ch, outputFig = [],\n overlapStart,piece1,piece2,piece3,len1,len2,txt1,txt2;\n\n for (ii = 0; ii < opts.height; ii++) {\n txt1 = textBlock1[ii];\n txt2 = textBlock2[ii];\n len1 = txt1.length;\n len2 = txt2.length;\n overlapStart = len1-overlap;\n piece1 = txt1.substr(0,Math.max(0,overlapStart));\n piece2 = \"\";\n\n // determine overlap piece\n var seg1 = txt1.substr(Math.max(0,len1-overlap),overlap);\n var seg2 = txt2.substr(0,Math.min(overlap,len2));\n\n for (jj = 0; jj < overlap; jj++) {\n var ch1 = (jj < len1) ? seg1.substr(jj,1) : \" \";\n var ch2 = (jj < len2) ? seg2.substr(jj,1) : \" \";\n\n if (ch1 !== \" \" && ch2 !== \" \") {\n if (opts.fittingRules.hLayout === FITTING) {\n piece2 += uni_Smush(ch1, ch2, opts.hardBlank);\n } else if (opts.fittingRules.hLayout === SMUSHING) {\n piece2 += uni_Smush(ch1, ch2, opts.hardBlank);\n } else {\n // Controlled Smushing\n var nextCh = \"\";\n nextCh = (!nextCh && opts.fittingRules.hRule1) ? hRule1_Smush(ch1,ch2,opts.hardBlank) : nextCh;\n nextCh = (!nextCh && opts.fittingRules.hRule2) ? hRule2_Smush(ch1,ch2,opts.hardBlank) : nextCh;\n nextCh = (!nextCh && opts.fittingRules.hRule3) ? hRule3_Smush(ch1,ch2,opts.hardBlank) : nextCh;\n nextCh = (!nextCh && opts.fittingRules.hRule4) ? hRule4_Smush(ch1,ch2,opts.hardBlank) : nextCh;\n nextCh = (!nextCh && opts.fittingRules.hRule5) ? hRule5_Smush(ch1,ch2,opts.hardBlank) : nextCh;\n nextCh = (!nextCh && opts.fittingRules.hRule6) ? hRule6_Smush(ch1,ch2,opts.hardBlank) : nextCh;\n nextCh = nextCh || uni_Smush(ch1, ch2, opts.hardBlank);\n piece2 += nextCh;\n }\n } else {\n piece2 += uni_Smush(ch1, ch2, opts.hardBlank);\n }\n }\n\n if (overlap >= len2) {\n piece3 = \"\";\n } else {\n piece3 = txt2.substr(overlap,Math.max(0,len2-overlap));\n }\n outputFig[ii] = piece1 + piece2 + piece3;\n }\n return outputFig;\n }\n\n function generateFigTextLine(txt, figChars, opts) {\n var charIndex, figChar, overlap = 0, row, outputFigText = [], len=opts.height;\n for (row = 0; row < len; row++) {\n outputFigText[row] = \"\";\n }\n if (opts.printDirection === 1) {\n txt = txt.split('').reverse().join('');\n }\n len=txt.length;\n for (charIndex = 0; charIndex < len; charIndex++) {\n figChar = figChars[txt.substr(charIndex,1).charCodeAt(0)];\n if (figChar) {\n if (opts.fittingRules.hLayout !== FULL_WIDTH) {\n overlap = 10000;// a value too high to be the overlap\n for (row = 0; row < opts.height; row++) {\n overlap = Math.min(overlap, getHorizontalSmushLength(outputFigText[row], figChar[row], opts));\n }\n overlap = (overlap === 10000) ? 0 : overlap;\n }\n outputFigText = horizontalSmush(outputFigText, figChar, overlap, opts);\n }\n }\n // remove hardblanks\n if (opts.showHardBlanks !== true) {\n len = outputFigText.length;\n for (row = 0; row < len; row++) {\n outputFigText[row] = outputFigText[row].replace(new RegExp(\"\\\\\"+opts.hardBlank,\"g\"),\" \");\n }\n }\n return outputFigText;\n }\n\n // -------------------------------------------------------------------------\n // Parsing and Generation methods\n\n var getHorizontalFittingRules = function(layout, options) {\n var props = [\"hLayout\", \"hRule1\",\"hRule2\",\"hRule3\",\"hRule4\",\"hRule5\",\"hRule6\"],\n params = {}, prop, ii;\n if (layout === \"default\") {\n for (ii = 0; ii < props.length; ii++) {\n params[props[ii]] = options.fittingRules[props[ii]];\n }\n } else if (layout === \"full\") {\n params = {\"hLayout\": FULL_WIDTH,\"hRule1\":false,\"hRule2\":false,\"hRule3\":false,\"hRule4\":false,\"hRule5\":false,\"hRule6\":false};\n } else if (layout === \"fitted\") {\n params = {\"hLayout\": FITTING,\"hRule1\":false,\"hRule2\":false,\"hRule3\":false,\"hRule4\":false,\"hRule5\":false,\"hRule6\":false};\n } else if (layout === \"controlled smushing\") {\n params = {\"hLayout\": CONTROLLED_SMUSHING,\"hRule1\":true,\"hRule2\":true,\"hRule3\":true,\"hRule4\":true,\"hRule5\":true,\"hRule6\":true};\n } else if (layout === \"universal smushing\") {\n params = {\"hLayout\": SMUSHING,\"hRule1\":false,\"hRule2\":false,\"hRule3\":false,\"hRule4\":false,\"hRule5\":false,\"hRule6\":false};\n } else {\n return;\n }\n return params;\n };\n\n var getVerticalFittingRules = function(layout, options) {\n var props = [\"vLayout\", \"vRule1\",\"vRule2\",\"vRule3\",\"vRule4\",\"vRule5\"],\n params = {}, prop, ii;\n if (layout === \"default\") {\n for (ii = 0; ii < props.length; ii++) {\n params[props[ii]] = options.fittingRules[props[ii]];\n }\n } else if (layout === \"full\") {\n params = {\"vLayout\": FULL_WIDTH,\"vRule1\":false,\"vRule2\":false,\"vRule3\":false,\"vRule4\":false,\"vRule5\":false};\n } else if (layout === \"fitted\") {\n params = {\"vLayout\": FITTING,\"vRule1\":false,\"vRule2\":false,\"vRule3\":false,\"vRule4\":false,\"vRule5\":false};\n } else if (layout === \"controlled smushing\") {\n params = {\"vLayout\": CONTROLLED_SMUSHING,\"vRule1\":true,\"vRule2\":true,\"vRule3\":true,\"vRule4\":true,\"vRule5\":true};\n } else if (layout === \"universal smushing\") {\n params = {\"vLayout\": SMUSHING,\"vRule1\":false,\"vRule2\":false,\"vRule3\":false,\"vRule4\":false,\"vRule5\":false};\n } else {\n return;\n }\n return params;\n };\n\n /*\n Generates the ASCII Art\n - fontName: Font to use\n - option: Options to override the defaults\n - txt: The text to make into ASCII Art\n */\n var generateText = function(fontName, options, txt) {\n txt = txt.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");\n var lines = txt.split(\"\\n\");\n var figLines = [];\n var ii, len, output;\n len = lines.length;\n for (ii = 0; ii < len; ii++) {\n figLines.push( generateFigTextLine(lines[ii], figFonts[fontName], options) );\n }\n len = figLines.length;\n output = figLines[0];\n for (ii = 1; ii < len; ii++) {\n output = smushVerticalFigLines(output, figLines[ii], options);\n }\n\n return output.join(\"\\n\");\n };\n\n // -------------------------------------------------------------------------\n // Public methods\n\n /*\n A short-cut for the figlet.text method\n\n Parameters:\n - txt (string): The text to make into ASCII Art\n - options (object/string - optional): Options that will override the current font's default options.\n If a string is provided instead of an object, it is assumed to be the font name.\n\n * font\n * horizontalLayout\n * verticalLayout\n * showHardBlanks - Wont remove hardblank characters\n\n - next (function): A callback function, it will contained the outputted ASCII Art.\n */\n var me = function(txt, options, next) {\n me.text(txt, options, next);\n };\n me.text = function(txt, options, next) {\n var fontName = '';\n\n // Validate inputs\n txt = txt + '';\n\n if (typeof arguments[1] === 'function') {\n next = options;\n options = {};\n options.font = figDefaults.font; // default font\n }\n\n if (typeof options === 'string') {\n fontName = options;\n options = {};\n } else {\n options = options || {};\n fontName = options.font || figDefaults.font;\n }\n\n /*\n Load the font. If it loads, it's data will be contained in the figFonts object.\n The callback will recieve a fontsOpts object, which contains the default\n options of the font (its fitting rules, etc etc).\n */\n me.loadFont(fontName, function(err, fontOpts) {\n if (err) {\n return next(err);\n }\n\n next(null, generateText(fontName, _reworkFontOpts(fontOpts, options), txt));\n });\n };\n\n /*\n Synchronous version of figlet.text.\n Accepts the same parameters.\n */\n me.textSync = function(txt, options) {\n var fontName = '';\n\n // Validate inputs\n txt = txt + '';\n\n if (typeof options === 'string') {\n fontName = options;\n options = {};\n } else {\n options = options || {};\n fontName = options.font || figDefaults.font;\n }\n\n var fontOpts = _reworkFontOpts(me.loadFontSync(fontName), options);\n return generateText(fontName, fontOpts, txt);\n };\n\n /*\n takes assigned options and merges them with the default options from the choosen font\n */\n function _reworkFontOpts(fontOpts, options) {\n var myOpts = JSON.parse(JSON.stringify(fontOpts)), // make a copy because we may edit this (see below)\n params,\n prop;\n\n /*\n If the user is chosing to use a specific type of layout (e.g., 'full', 'fitted', etc etc)\n Then we need to override the default font options.\n */\n if (typeof options.horizontalLayout !== 'undefined') {\n params = getHorizontalFittingRules(options.horizontalLayout, fontOpts);\n for (prop in params) {\n myOpts.fittingRules[prop] = params[prop];\n }\n }\n if (typeof options.verticalLayout !== 'undefined') {\n params = getVerticalFittingRules(options.verticalLayout, fontOpts);\n for (prop in params) {\n myOpts.fittingRules[prop] = params[prop];\n }\n }\n myOpts.printDirection = (typeof options.printDirection !== 'undefined') ? options.printDirection : fontOpts.printDirection;\n myOpts.showHardBlanks = options.showHardBlanks || false;\n\n return myOpts;\n }\n\n /*\n Returns metadata about a specfic FIGlet font.\n\n Returns:\n next(err, options, headerComment)\n - err: The error if an error occurred, otherwise null/falsey.\n - options (object): The options defined for the font.\n - headerComment (string): The font's header comment.\n */\n me.metadata = function(fontName, next) {\n fontName = fontName + '';\n\n /*\n Load the font. If it loads, it's data will be contained in the figFonts object.\n The callback will recieve a fontsOpts object, which contains the default\n options of the font (its fitting rules, etc etc).\n */\n me.loadFont(fontName, function(err, fontOpts) {\n if (err) {\n next(err);\n return;\n }\n\n next(null, fontOpts, figFonts[fontName].comment);\n });\n };\n\n /*\n Allows you to override defaults. See the definition of the figDefaults object up above\n to see what properties can be overridden.\n Returns the options for the font.\n */\n me.defaults = function(opts) {\n if (typeof opts === 'object' && opts !== null) {\n for (var prop in opts) {\n if (opts.hasOwnProperty(prop)) {\n figDefaults[prop] = opts[prop];\n }\n }\n }\n return JSON.parse(JSON.stringify(figDefaults));\n };\n\n /*\n Parses data from a FIGlet font file and places it into the figFonts object.\n */\n me.parseFont = function(fontName, data) {\n data = data.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");\n figFonts[fontName] = {};\n\n var lines = data.split(\"\\n\");\n var headerData = lines.splice(0,1)[0].split(\" \");\n var figFont = figFonts[fontName];\n var opts = {};\n\n opts.hardBlank = headerData[0].substr(5,1);\n opts.height = parseInt(headerData[1], 10);\n opts.baseline = parseInt(headerData[2], 10);\n opts.maxLength = parseInt(headerData[3], 10);\n opts.oldLayout = parseInt(headerData[4], 10);\n opts.numCommentLines = parseInt(headerData[5], 10);\n opts.printDirection = (headerData.length >= 6) ? parseInt(headerData[6], 10) : 0;\n opts.fullLayout = (headerData.length >= 7) ? parseInt(headerData[7], 10) : null;\n opts.codeTagCount = (headerData.length >= 8) ? parseInt(headerData[8], 10) : null;\n opts.fittingRules = getSmushingRules(opts.oldLayout, opts.fullLayout);\n\n figFont.options = opts;\n\n // error check\n if (opts.hardBlank.length !== 1 ||\n isNaN(opts.height) ||\n isNaN(opts.baseline) ||\n isNaN(opts.maxLength) ||\n isNaN(opts.oldLayout) ||\n isNaN(opts.numCommentLines) )\n {\n throw new Error('FIGlet header contains invalid values.');\n }\n\n /*\n All FIGlet fonts must contain chars 32-126, 196, 214, 220, 228, 246, 252, 223\n */\n\n var charNums = [], ii;\n for (ii = 32; ii <= 126; ii++) {\n charNums.push(ii);\n }\n charNums = charNums.concat(196, 214, 220, 228, 246, 252, 223);\n\n // error check - validate that there are enough lines in the file\n if (lines.length < (opts.numCommentLines + (opts.height * charNums.length)) ) {\n throw new Error('FIGlet file is missing data.');\n }\n\n /*\n Parse out the context of the file and put it into our figFont object\n */\n\n var cNum, endCharRegEx, parseError = false;\n\n figFont.comment = lines.splice(0,opts.numCommentLines).join(\"\\n\");\n figFont.numChars = 0;\n\n while (lines.length > 0 && figFont.numChars < charNums.length) {\n cNum = charNums[figFont.numChars];\n figFont[cNum] = lines.splice(0,opts.height);\n // remove end sub-chars\n for (ii = 0; ii < opts.height; ii++) {\n if (typeof figFont[cNum][ii] === \"undefined\") {\n figFont[cNum][ii] = \"\";\n } else {\n endCharRegEx = new RegExp(\"\\\\\"+figFont[cNum][ii].substr(figFont[cNum][ii].length-1,1)+\"+$\");\n figFont[cNum][ii] = figFont[cNum][ii].replace(endCharRegEx,\"\");\n }\n }\n figFont.numChars++;\n }\n\n /*\n Now we check to see if any additional characters are present\n */\n\n while (lines.length > 0) {\n cNum = lines.splice(0,1)[0].split(\" \")[0];\n if ( /^0[xX][0-9a-fA-F]+$/.test(cNum) ) {\n cNum = parseInt(cNum, 16);\n } else if ( /^0[0-7]+$/.test(cNum) ) {\n cNum = parseInt(cNum, 8);\n } else if ( /^[0-9]+$/.test(cNum) ) {\n cNum = parseInt(cNum, 10);\n } else if ( /^-0[xX][0-9a-fA-F]+$/.test(cNum) ) {\n cNum = parseInt(cNum, 16);\n } else {\n if (cNum === \"\") {break;}\n // something's wrong\n console.log(\"Invalid data:\"+cNum);\n parseError = true;\n break;\n }\n\n figFont[cNum] = lines.splice(0,opts.height);\n // remove end sub-chars\n for (ii = 0; ii < opts.height; ii++) {\n if (typeof figFont[cNum][ii] === \"undefined\") {\n figFont[cNum][ii] = \"\";\n } else {\n endCharRegEx = new RegExp(\"\\\\\"+figFont[cNum][ii].substr(figFont[cNum][ii].length-1,1)+\"+$\");\n figFont[cNum][ii] = figFont[cNum][ii].replace(endCharRegEx,\"\");\n }\n }\n figFont.numChars++;\n }\n\n // error check\n if (parseError === true) {\n throw new Error('Error parsing data.');\n }\n\n return opts;\n };\n\n /*\n Loads a font.\n */\n me.loadFont = function(fontName, next) {\n if (figFonts[fontName]) {\n next(null, figFonts[fontName].options);\n return;\n }\n\n if (typeof fetch !== 'function') {\n console.error('figlet.js requires the fetch API or a fetch polyfill such as https://cdnjs.com/libraries/fetch');\n throw new Error('fetch is required for figlet.js to work.')\n }\n\n fetch(figDefaults.fontPath + '/' + fontName + '.flf')\n .then(function(response) {\n if(response.ok) {\n return response.text();\n }\n \n console.log('Unexpected response', response);\n throw new Error('Network response was not ok.');\n })\n .then(function(text) {\n next(null, me.parseFont(fontName, text));\n })\n .catch(next);\n };\n\n /*\n loads a font synchronously, not implemented for the browser\n */\n me.loadFontSync = function(name) {\n if (figFonts[name]) {\n return figFonts[name].options;\n }\n throw new Error('synchronous font loading is not implemented for the browser');\n };\n\n /*\n preloads a list of fonts prior to using textSync\n - fonts: an array of font names (i.e. [\"Standard\",\"Soft\"])\n - next: callback function\n */\n me.preloadFonts = function(fonts, next) {\n\n if (typeof jQuery === 'undefined') { /* TODO: create common function for jQuery checks */\n throw new Error('jQuery is required for ajax method to work.');\n }\n\n jQuery.when.apply(this, fonts.map(function(name){\n return jQuery.get(figDefaults.fontPath + '/' + name + '.flf')\n })).then(function() {\n var args = fonts.length > 1 ? arguments : [arguments];\n for(var i in fonts){\n me.parseFont(fonts[i], args[i][0]);\n }\n if(next)next();\n });\n };\n\n return me;\n})();\n\n// for node.js\nif (typeof module !== 'undefined') {\n if (typeof module.exports !== 'undefined') {\n module.exports = figlet;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/figlet/lib/figlet.js\n// module id = ../../node_modules/figlet/lib/figlet.js\n// module chunks = 0","/*\n\tNode plugin for figlet.js\n*/\n\nvar figlet = require('./figlet.js'),\n fs = require('fs'),\n fontDir = __dirname + '/../fonts/';\n\n/*\n Loads a font into the figlet object.\n\n Parameters:\n - name (string): Name of the font to load.\n - next (function): Callback function.\n*/\nfiglet.loadFont = function(name, next) {\n fs.readFile(fontDir + name + '.flf', {encoding: 'utf-8'}, function(err, fontData) {\n if (err) {\n return next(err);\n }\n\n fontData = fontData + '';\n try {\n next(null, figlet.parseFont(name, fontData));\n } catch(error) {\n next(error);\n }\n });\n};\n\n/*\n Loads a font synchronously into the figlet object.\n\n Parameters:\n - name (string): Name of the font to load.\n */\nfiglet.loadFontSync = function(name) {\n var fontData = fs.readFileSync(fontDir + name + '.flf', {encoding: 'utf-8'});\n\n fontData = fontData + '';\n return figlet.parseFont(name, fontData);\n};\n\n/*\n Returns an array containing all of the font names\n*/\nfiglet.fonts = function(next) {\n var fontList = [];\n fs.readdir(fontDir, function (err, files) { // '/' denotes the root folder\n if (err) {\n return next(err);\n }\n\n files.forEach( function (file) {\n if ( /\\.flf$/.test(file) ) {\n fontList.push( file.replace(/\\.flf$/,'') );\n }\n });\n\n next(null, fontList);\n });\n\n};\n\nfiglet.fontsSync = function() {\n var fontList = [];\n fs.readdirSync(fontDir).forEach(function(file) {\n if ( /\\.flf$/.test(file) ) {\n fontList.push( file.replace(/\\.flf$/,'') );\n }\n });\n\n return fontList;\n};\n\nmodule.exports = figlet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/figlet/lib/node-figlet.js\n// module id = ../../node_modules/figlet/lib/node-figlet.js\n// module chunks = 0","//filter will reemit the data if cb(err,pass) pass is truthy\n\n// reduce is more tricky\n// maybe we want to group the reductions or emit progress updates occasionally\n// the most basic reduce just emits one 'data' event after it has recieved 'end'\n\n\nvar Stream = require('stream').Stream\n\n\n//create an event stream and apply function to each .write\n//emitting each response as data\n//unless it's an empty callback\n\nmodule.exports = function (mapper, opts) {\n\n var stream = new Stream()\n , self = this\n , inputs = 0\n , outputs = 0\n , ended = false\n , paused = false\n , destroyed = false\n , lastWritten = 0\n , inNext = false\n\n this.opts = opts || {};\n var errorEventName = this.opts.failures ? 'failure' : 'error';\n\n // Items that are not ready to be written yet (because they would come out of\n // order) get stuck in a queue for later.\n var writeQueue = {}\n\n stream.writable = true\n stream.readable = true\n\n function queueData (data, number) {\n var nextToWrite = lastWritten + 1\n\n if (number === nextToWrite) {\n // If it's next, and its not undefined write it\n if (data !== undefined) {\n stream.emit.apply(stream, ['data', data])\n }\n lastWritten ++\n nextToWrite ++\n } else {\n // Otherwise queue it for later.\n writeQueue[number] = data\n }\n\n // If the next value is in the queue, write it\n if (writeQueue.hasOwnProperty(nextToWrite)) {\n var dataToWrite = writeQueue[nextToWrite]\n delete writeQueue[nextToWrite]\n return queueData(dataToWrite, nextToWrite)\n }\n\n outputs ++\n if(inputs === outputs) {\n if(paused) paused = false, stream.emit('drain') //written all the incoming events\n if(ended) end()\n }\n }\n\n function next (err, data, number) {\n if(destroyed) return\n inNext = true\n\n if (!err || self.opts.failures) {\n queueData(data, number)\n }\n\n if (err) {\n stream.emit.apply(stream, [ errorEventName, err ]);\n }\n\n inNext = false;\n }\n\n // Wrap the mapper function by calling its callback with the order number of\n // the item in the stream.\n function wrappedMapper (input, number, callback) {\n return mapper.call(null, input, function(err, data){\n callback(err, data, number)\n })\n }\n\n stream.write = function (data) {\n if(ended) throw new Error('map stream is not writable')\n inNext = false\n inputs ++\n\n try {\n //catch sync errors and handle them like async errors\n var written = wrappedMapper(data, inputs, next)\n paused = (written === false)\n return !paused\n } catch (err) {\n //if the callback has been called syncronously, and the error\n //has occured in an listener, throw it again.\n if(inNext)\n throw err\n next(err)\n return !paused\n }\n }\n\n function end (data) {\n //if end was called with args, write it, \n ended = true //write will emit 'end' if ended is true\n stream.writable = false\n if(data !== undefined) {\n return queueData(data, inputs)\n } else if (inputs == outputs) { //wait for processing \n stream.readable = false, stream.emit('end'), stream.destroy() \n }\n }\n\n stream.end = function (data) {\n if(ended) return\n end(data)\n }\n\n stream.destroy = function () {\n ended = destroyed = true\n stream.writable = stream.readable = paused = false\n process.nextTick(function () {\n stream.emit('close')\n })\n }\n stream.pause = function () {\n paused = true\n }\n\n stream.resume = function () {\n paused = false\n }\n\n return stream\n}\n\n\n\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/map-stream/index.js\n// module id = ../../node_modules/map-stream/index.js\n// module chunks = 0","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nregisterGlobals();\nexports.extras = {\n allowStateChanges: allowStateChanges,\n getAtom: getAtom,\n getDebugName: getDebugName,\n getDependencyTree: getDependencyTree,\n getObserverTree: getObserverTree,\n isComputingDerivation: isComputingDerivation,\n isSpyEnabled: isSpyEnabled,\n resetGlobalState: resetGlobalState,\n spyReport: spyReport,\n spyReportEnd: spyReportEnd,\n spyReportStart: spyReportStart,\n trackTransitions: trackTransitions\n};\nexports._ = {\n getAdministration: getAdministration,\n resetGlobalState: resetGlobalState\n};\nif (typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__ === 'object') {\n __MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx(module.exports);\n}\nvar actionFieldDecorator = createClassPropertyDecorator(function (target, key, value, args, originalDescriptor) {\n var actionName = (args && args.length === 1) ? args[0] : (value.name || key || \"<unnamed action>\");\n var wrappedAction = action(actionName, value);\n addHiddenProp(target, key, wrappedAction);\n}, function (key) {\n return this[key];\n}, function () {\n invariant(false, \"It is not allowed to assign new values to @action fields\");\n}, false, true);\nfunction action(arg1, arg2, arg3, arg4) {\n if (arguments.length === 1 && typeof arg1 === \"function\")\n return createAction(arg1.name || \"<unnamed action>\", arg1);\n if (arguments.length === 2 && typeof arg2 === \"function\")\n return createAction(arg1, arg2);\n if (arguments.length === 1 && typeof arg1 === \"string\")\n return namedActionDecorator(arg1);\n return namedActionDecorator(arg2).apply(null, arguments);\n}\nexports.action = action;\nfunction namedActionDecorator(name) {\n return function (target, prop, descriptor) {\n if (descriptor && typeof descriptor.value === \"function\") {\n descriptor.value = createAction(name, descriptor.value);\n descriptor.enumerable = false;\n descriptor.configurable = true;\n return descriptor;\n }\n return actionFieldDecorator(name).apply(this, arguments);\n };\n}\nfunction runInAction(arg1, arg2, arg3) {\n var actionName = typeof arg1 === \"string\" ? arg1 : arg1.name || \"<unnamed action>\";\n var fn = typeof arg1 === \"function\" ? arg1 : arg2;\n var scope = typeof arg1 === \"function\" ? arg2 : arg3;\n invariant(typeof fn === \"function\", \"`runInAction` expects a function\");\n invariant(fn.length === 0, \"`runInAction` expects a function without arguments\");\n invariant(typeof actionName === \"string\" && actionName.length > 0, \"actions should have valid names, got: '\" + actionName + \"'\");\n return executeAction(actionName, fn, scope, undefined);\n}\nexports.runInAction = runInAction;\nfunction isAction(thing) {\n return typeof thing === \"function\" && thing.isMobxAction === true;\n}\nexports.isAction = isAction;\nfunction autorun(arg1, arg2, arg3) {\n var name, view, scope;\n if (typeof arg1 === \"string\") {\n name = arg1;\n view = arg2;\n scope = arg3;\n }\n else if (typeof arg1 === \"function\") {\n name = arg1.name || (\"Autorun@\" + getNextId());\n view = arg1;\n scope = arg2;\n }\n assertUnwrapped(view, \"autorun methods cannot have modifiers\");\n invariant(typeof view === \"function\", \"autorun expects a function\");\n invariant(isAction(view) === false, \"Warning: attempted to pass an action to autorun. Actions are untracked and will not trigger on state changes. Use `reaction` or wrap only your state modification code in an action.\");\n if (scope)\n view = view.bind(scope);\n var reaction = new Reaction(name, function () {\n this.track(reactionRunner);\n });\n function reactionRunner() {\n view(reaction);\n }\n reaction.schedule();\n return reaction.getDisposer();\n}\nexports.autorun = autorun;\nfunction when(arg1, arg2, arg3, arg4) {\n var name, predicate, effect, scope;\n if (typeof arg1 === \"string\") {\n name = arg1;\n predicate = arg2;\n effect = arg3;\n scope = arg4;\n }\n else if (typeof arg1 === \"function\") {\n name = (\"When@\" + getNextId());\n predicate = arg1;\n effect = arg2;\n scope = arg3;\n }\n var disposer = autorun(name, function (r) {\n if (predicate.call(scope)) {\n r.dispose();\n var prevUntracked = untrackedStart();\n effect.call(scope);\n untrackedEnd(prevUntracked);\n }\n });\n return disposer;\n}\nexports.when = when;\nfunction autorunUntil(predicate, effect, scope) {\n deprecated(\"`autorunUntil` is deprecated, please use `when`.\");\n return when.apply(null, arguments);\n}\nexports.autorunUntil = autorunUntil;\nfunction autorunAsync(arg1, arg2, arg3, arg4) {\n var name, func, delay, scope;\n if (typeof arg1 === \"string\") {\n name = arg1;\n func = arg2;\n delay = arg3;\n scope = arg4;\n }\n else if (typeof arg1 === \"function\") {\n name = arg1.name || (\"AutorunAsync@\" + getNextId());\n func = arg1;\n delay = arg2;\n scope = arg3;\n }\n invariant(isAction(func) === false, \"Warning: attempted to pass an action to autorunAsync. Actions are untracked and will not trigger on state changes. Use `reaction` or wrap only your state modification code in an action.\");\n if (delay === void 0)\n delay = 1;\n if (scope)\n func = func.bind(scope);\n var isScheduled = false;\n var r = new Reaction(name, function () {\n if (!isScheduled) {\n isScheduled = true;\n setTimeout(function () {\n isScheduled = false;\n if (!r.isDisposed)\n r.track(reactionRunner);\n }, delay);\n }\n });\n function reactionRunner() { func(r); }\n r.schedule();\n return r.getDisposer();\n}\nexports.autorunAsync = autorunAsync;\nfunction reaction(arg1, arg2, arg3, arg4, arg5, arg6) {\n var name, expression, effect, fireImmediately, delay, scope;\n if (typeof arg1 === \"string\") {\n name = arg1;\n expression = arg2;\n effect = arg3;\n fireImmediately = arg4;\n delay = arg5;\n scope = arg6;\n }\n else {\n name = arg1.name || arg2.name || (\"Reaction@\" + getNextId());\n expression = arg1;\n effect = arg2;\n fireImmediately = arg3;\n delay = arg4;\n scope = arg5;\n }\n if (fireImmediately === void 0)\n fireImmediately = false;\n if (delay === void 0)\n delay = 0;\n var _a = getValueModeFromValue(expression, ValueMode.Reference), valueMode = _a[0], unwrappedExpression = _a[1];\n var compareStructural = valueMode === ValueMode.Structure;\n if (scope) {\n unwrappedExpression = unwrappedExpression.bind(scope);\n effect = action(name, effect.bind(scope));\n }\n var firstTime = true;\n var isScheduled = false;\n var nextValue = undefined;\n var r = new Reaction(name, function () {\n if (delay < 1) {\n reactionRunner();\n }\n else if (!isScheduled) {\n isScheduled = true;\n setTimeout(function () {\n isScheduled = false;\n reactionRunner();\n }, delay);\n }\n });\n function reactionRunner() {\n if (r.isDisposed)\n return;\n var changed = false;\n r.track(function () {\n var v = unwrappedExpression(r);\n changed = valueDidChange(compareStructural, nextValue, v);\n nextValue = v;\n });\n if (firstTime && fireImmediately)\n effect(nextValue, r);\n if (!firstTime && changed === true)\n effect(nextValue, r);\n if (firstTime)\n firstTime = false;\n }\n r.schedule();\n return r.getDisposer();\n}\nexports.reaction = reaction;\nvar computedDecorator = createClassPropertyDecorator(function (target, name, _, decoratorArgs, originalDescriptor) {\n invariant(typeof originalDescriptor !== \"undefined\", \"@computed can only be used on getter functions, like: '@computed get myProps() { return ...; }'. It looks like it was used on a property.\");\n var baseValue = originalDescriptor.get;\n var setter = originalDescriptor.set;\n invariant(typeof baseValue === \"function\", \"@computed can only be used on getter functions, like: '@computed get myProps() { return ...; }'\");\n var compareStructural = false;\n if (decoratorArgs && decoratorArgs.length === 1 && decoratorArgs[0].asStructure === true)\n compareStructural = true;\n var adm = asObservableObject(target, undefined, ValueMode.Recursive);\n defineObservableProperty(adm, name, compareStructural ? asStructure(baseValue) : baseValue, false, setter);\n}, function (name) {\n var observable = this.$mobx.values[name];\n if (observable === undefined)\n return undefined;\n return observable.get();\n}, function (name, value) {\n this.$mobx.values[name].set(value);\n}, false, true);\nfunction computed(targetOrExpr, keyOrScopeOrSetter, baseDescriptor, options) {\n if (typeof targetOrExpr === \"function\" && arguments.length < 3) {\n if (typeof keyOrScopeOrSetter === \"function\")\n return computedExpr(targetOrExpr, keyOrScopeOrSetter, undefined);\n else\n return computedExpr(targetOrExpr, undefined, keyOrScopeOrSetter);\n }\n return computedDecorator.apply(null, arguments);\n}\nexports.computed = computed;\nfunction computedExpr(expr, setter, scope) {\n var _a = getValueModeFromValue(expr, ValueMode.Recursive), mode = _a[0], value = _a[1];\n return new ComputedValue(value, scope, mode === ValueMode.Structure, value.name, setter);\n}\nfunction createTransformer(transformer, onCleanup) {\n invariant(typeof transformer === \"function\" && transformer.length === 1, \"createTransformer expects a function that accepts one argument\");\n var objectCache = {};\n var resetId = globalState.resetId;\n var Transformer = (function (_super) {\n __extends(Transformer, _super);\n function Transformer(sourceIdentifier, sourceObject) {\n _super.call(this, function () { return transformer(sourceObject); }, null, false, \"Transformer-\" + transformer.name + \"-\" + sourceIdentifier, undefined);\n this.sourceIdentifier = sourceIdentifier;\n this.sourceObject = sourceObject;\n }\n Transformer.prototype.onBecomeUnobserved = function () {\n var lastValue = this.value;\n _super.prototype.onBecomeUnobserved.call(this);\n delete objectCache[this.sourceIdentifier];\n if (onCleanup)\n onCleanup(lastValue, this.sourceObject);\n };\n return Transformer;\n }(ComputedValue));\n return function (object) {\n if (resetId !== globalState.resetId) {\n objectCache = {};\n resetId = globalState.resetId;\n }\n var identifier = getMemoizationId(object);\n var reactiveTransformer = objectCache[identifier];\n if (reactiveTransformer)\n return reactiveTransformer.get();\n reactiveTransformer = objectCache[identifier] = new Transformer(identifier, object);\n return reactiveTransformer.get();\n };\n}\nexports.createTransformer = createTransformer;\nfunction getMemoizationId(object) {\n if (object === null || typeof object !== \"object\")\n throw new Error(\"[mobx] transform expected some kind of object, got: \" + object);\n var tid = object.$transformId;\n if (tid === undefined) {\n tid = getNextId();\n addHiddenProp(object, \"$transformId\", tid);\n }\n return tid;\n}\nfunction expr(expr, scope) {\n if (!isComputingDerivation())\n console.warn(\"[mobx.expr] 'expr' should only be used inside other reactive functions.\");\n return computed(expr, scope).get();\n}\nexports.expr = expr;\nfunction extendObservable(target) {\n var properties = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n properties[_i - 1] = arguments[_i];\n }\n invariant(arguments.length >= 2, \"extendObservable expected 2 or more arguments\");\n invariant(typeof target === \"object\", \"extendObservable expects an object as first argument\");\n invariant(!(isObservableMap(target)), \"extendObservable should not be used on maps, use map.merge instead\");\n properties.forEach(function (propSet) {\n invariant(typeof propSet === \"object\", \"all arguments of extendObservable should be objects\");\n invariant(!isObservable(propSet), \"extending an object with another observable (object) is not supported. Please construct an explicit propertymap, using `toJS` if need. See issue #540\");\n extendObservableHelper(target, propSet, ValueMode.Recursive, null);\n });\n return target;\n}\nexports.extendObservable = extendObservable;\nfunction extendObservableHelper(target, properties, mode, name) {\n var adm = asObservableObject(target, name, mode);\n for (var key in properties)\n if (hasOwnProperty(properties, key)) {\n if (target === properties && !isPropertyConfigurable(target, key))\n continue;\n var descriptor = Object.getOwnPropertyDescriptor(properties, key);\n setObservableObjectInstanceProperty(adm, key, descriptor);\n }\n return target;\n}\nfunction getDependencyTree(thing, property) {\n return nodeToDependencyTree(getAtom(thing, property));\n}\nfunction nodeToDependencyTree(node) {\n var result = {\n name: node.name\n };\n if (node.observing && node.observing.length > 0)\n result.dependencies = unique(node.observing).map(nodeToDependencyTree);\n return result;\n}\nfunction getObserverTree(thing, property) {\n return nodeToObserverTree(getAtom(thing, property));\n}\nfunction nodeToObserverTree(node) {\n var result = {\n name: node.name\n };\n if (hasObservers(node))\n result.observers = getObservers(node).map(nodeToObserverTree);\n return result;\n}\nfunction intercept(thing, propOrHandler, handler) {\n if (typeof handler === \"function\")\n return interceptProperty(thing, propOrHandler, handler);\n else\n return interceptInterceptable(thing, propOrHandler);\n}\nexports.intercept = intercept;\nfunction interceptInterceptable(thing, handler) {\n if (isPlainObject(thing) && !isObservableObject(thing)) {\n deprecated(\"Passing plain objects to intercept / observe is deprecated and will be removed in 3.0\");\n return getAdministration(observable(thing)).intercept(handler);\n }\n return getAdministration(thing).intercept(handler);\n}\nfunction interceptProperty(thing, property, handler) {\n if (isPlainObject(thing) && !isObservableObject(thing)) {\n deprecated(\"Passing plain objects to intercept / observe is deprecated and will be removed in 3.0\");\n extendObservable(thing, {\n property: thing[property]\n });\n return interceptProperty(thing, property, handler);\n }\n return getAdministration(thing, property).intercept(handler);\n}\nfunction isComputed(value, property) {\n if (value === null || value === undefined)\n return false;\n if (property !== undefined) {\n if (isObservableObject(value) === false)\n return false;\n var atom = getAtom(value, property);\n return isComputedValue(atom);\n }\n return isComputedValue(value);\n}\nexports.isComputed = isComputed;\nfunction isObservable(value, property) {\n if (value === null || value === undefined)\n return false;\n if (property !== undefined) {\n if (isObservableArray(value) || isObservableMap(value))\n throw new Error(\"[mobx.isObservable] isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead.\");\n else if (isObservableObject(value)) {\n var o = value.$mobx;\n return o.values && !!o.values[property];\n }\n return false;\n }\n return !!value.$mobx || isAtom(value) || isReaction(value) || isComputedValue(value);\n}\nexports.isObservable = isObservable;\nvar decoratorImpl = createClassPropertyDecorator(function (target, name, baseValue) {\n var prevA = allowStateChangesStart(true);\n if (typeof baseValue === \"function\")\n baseValue = asReference(baseValue);\n var adm = asObservableObject(target, undefined, ValueMode.Recursive);\n defineObservableProperty(adm, name, baseValue, true, undefined);\n allowStateChangesEnd(prevA);\n}, function (name) {\n var observable = this.$mobx.values[name];\n if (observable === undefined)\n return undefined;\n return observable.get();\n}, function (name, value) {\n setPropertyValue(this, name, value);\n}, true, false);\nfunction observableDecorator(target, key, baseDescriptor) {\n invariant(arguments.length >= 2 && arguments.length <= 3, \"Illegal decorator config\", key);\n assertPropertyConfigurable(target, key);\n invariant(!baseDescriptor || !baseDescriptor.get, \"@observable can not be used on getters, use @computed instead\");\n return decoratorImpl.apply(null, arguments);\n}\nfunction observable(v, keyOrScope) {\n if (v === void 0) { v = undefined; }\n if (typeof arguments[1] === \"string\")\n return observableDecorator.apply(null, arguments);\n invariant(arguments.length < 3, \"observable expects zero, one or two arguments\");\n if (isObservable(v))\n return v;\n var _a = getValueModeFromValue(v, ValueMode.Recursive), mode = _a[0], value = _a[1];\n var sourceType = mode === ValueMode.Reference ? ValueType.Reference : getTypeOfValue(value);\n switch (sourceType) {\n case ValueType.Array:\n case ValueType.PlainObject:\n return makeChildObservable(value, mode);\n case ValueType.Reference:\n case ValueType.ComplexObject:\n return new ObservableValue(value, mode);\n case ValueType.ComplexFunction:\n throw new Error(\"[mobx.observable] To be able to make a function reactive it should not have arguments. If you need an observable reference to a function, use `observable(asReference(f))`\");\n case ValueType.ViewFunction:\n deprecated(\"Use `computed(expr)` instead of `observable(expr)`\");\n return computed(v, keyOrScope);\n }\n invariant(false, \"Illegal State\");\n}\nexports.observable = observable;\nvar ValueType;\n(function (ValueType) {\n ValueType[ValueType[\"Reference\"] = 0] = \"Reference\";\n ValueType[ValueType[\"PlainObject\"] = 1] = \"PlainObject\";\n ValueType[ValueType[\"ComplexObject\"] = 2] = \"ComplexObject\";\n ValueType[ValueType[\"Array\"] = 3] = \"Array\";\n ValueType[ValueType[\"ViewFunction\"] = 4] = \"ViewFunction\";\n ValueType[ValueType[\"ComplexFunction\"] = 5] = \"ComplexFunction\";\n})(ValueType || (ValueType = {}));\nfunction getTypeOfValue(value) {\n if (value === null || value === undefined)\n return ValueType.Reference;\n if (typeof value === \"function\")\n return value.length ? ValueType.ComplexFunction : ValueType.ViewFunction;\n if (Array.isArray(value) || isObservableArray(value))\n return ValueType.Array;\n if (typeof value === \"object\")\n return isPlainObject(value) ? ValueType.PlainObject : ValueType.ComplexObject;\n return ValueType.Reference;\n}\nfunction observe(thing, propOrCb, cbOrFire, fireImmediately) {\n if (typeof cbOrFire === \"function\")\n return observeObservableProperty(thing, propOrCb, cbOrFire, fireImmediately);\n else\n return observeObservable(thing, propOrCb, cbOrFire);\n}\nexports.observe = observe;\nfunction observeObservable(thing, listener, fireImmediately) {\n if (isPlainObject(thing) && !isObservableObject(thing)) {\n deprecated(\"Passing plain objects to intercept / observe is deprecated and will be removed in 3.0\");\n return getAdministration(observable(thing)).observe(listener, fireImmediately);\n }\n return getAdministration(thing).observe(listener, fireImmediately);\n}\nfunction observeObservableProperty(thing, property, listener, fireImmediately) {\n if (isPlainObject(thing) && !isObservableObject(thing)) {\n deprecated(\"Passing plain objects to intercept / observe is deprecated and will be removed in 3.0\");\n extendObservable(thing, {\n property: thing[property]\n });\n return observeObservableProperty(thing, property, listener, fireImmediately);\n }\n return getAdministration(thing, property).observe(listener, fireImmediately);\n}\nfunction toJS(source, detectCycles, __alreadySeen) {\n if (detectCycles === void 0) { detectCycles = true; }\n if (__alreadySeen === void 0) { __alreadySeen = null; }\n function cache(value) {\n if (detectCycles)\n __alreadySeen.push([source, value]);\n return value;\n }\n if (source instanceof Date || source instanceof RegExp)\n return source;\n if (detectCycles && __alreadySeen === null)\n __alreadySeen = [];\n if (detectCycles && source !== null && typeof source === \"object\") {\n for (var i = 0, l = __alreadySeen.length; i < l; i++)\n if (__alreadySeen[i][0] === source)\n return __alreadySeen[i][1];\n }\n if (!source)\n return source;\n if (Array.isArray(source) || isObservableArray(source)) {\n var res = cache([]);\n var toAdd = source.map(function (value) { return toJS(value, detectCycles, __alreadySeen); });\n res.length = toAdd.length;\n for (var i = 0, l = toAdd.length; i < l; i++)\n res[i] = toAdd[i];\n return res;\n }\n if (isObservableMap(source)) {\n var res_1 = cache({});\n source.forEach(function (value, key) { return res_1[key] = toJS(value, detectCycles, __alreadySeen); });\n return res_1;\n }\n if (isObservableValue(source))\n return toJS(source.get(), detectCycles, __alreadySeen);\n if (typeof source === \"object\") {\n var res = cache({});\n for (var key in source)\n res[key] = toJS(source[key], detectCycles, __alreadySeen);\n return res;\n }\n return source;\n}\nexports.toJS = toJS;\nfunction toJSON(source, detectCycles, __alreadySeen) {\n if (detectCycles === void 0) { detectCycles = true; }\n if (__alreadySeen === void 0) { __alreadySeen = null; }\n deprecated(\"toJSON is deprecated. Use toJS instead\");\n return toJS.apply(null, arguments);\n}\nexports.toJSON = toJSON;\nfunction log(msg) {\n console.log(msg);\n return msg;\n}\nfunction whyRun(thing, prop) {\n switch (arguments.length) {\n case 0:\n thing = globalState.trackingDerivation;\n if (!thing)\n return log(\"whyRun() can only be used if a derivation is active, or by passing an computed value / reaction explicitly. If you invoked whyRun from inside a computation; the computation is currently suspended but re-evaluating because somebody requested it's value.\");\n break;\n case 2:\n thing = getAtom(thing, prop);\n break;\n }\n thing = getAtom(thing);\n if (isComputedValue(thing))\n return log(thing.whyRun());\n else if (isReaction(thing))\n return log(thing.whyRun());\n else\n invariant(false, \"whyRun can only be used on reactions and computed values\");\n}\nexports.whyRun = whyRun;\nfunction createAction(actionName, fn) {\n invariant(typeof fn === \"function\", \"`action` can only be invoked on functions\");\n invariant(typeof actionName === \"string\" && actionName.length > 0, \"actions should have valid names, got: '\" + actionName + \"'\");\n var res = function () {\n return executeAction(actionName, fn, this, arguments);\n };\n res.isMobxAction = true;\n return res;\n}\nfunction executeAction(actionName, fn, scope, args) {\n invariant(!isComputedValue(globalState.trackingDerivation), \"Computed values or transformers should not invoke actions or trigger other side effects\");\n var notifySpy = isSpyEnabled();\n var startTime;\n if (notifySpy) {\n startTime = Date.now();\n var l = (args && args.length) || 0;\n var flattendArgs = new Array(l);\n if (l > 0)\n for (var i = 0; i < l; i++)\n flattendArgs[i] = args[i];\n spyReportStart({\n type: \"action\",\n name: actionName,\n fn: fn,\n target: scope,\n arguments: flattendArgs\n });\n }\n var prevUntracked = untrackedStart();\n transactionStart(actionName, scope, false);\n var prevAllowStateChanges = allowStateChangesStart(true);\n try {\n return fn.apply(scope, args);\n }\n finally {\n allowStateChangesEnd(prevAllowStateChanges);\n transactionEnd(false);\n untrackedEnd(prevUntracked);\n if (notifySpy)\n spyReportEnd({ time: Date.now() - startTime });\n }\n}\nfunction useStrict(strict) {\n if (arguments.length === 0) {\n deprecated(\"`useStrict` without arguments is deprecated, use `isStrictModeEnabled()` instead\");\n return globalState.strictMode;\n }\n else {\n invariant(globalState.trackingDerivation === null, \"It is not allowed to set `useStrict` when a derivation is running\");\n globalState.strictMode = strict;\n globalState.allowStateChanges = !strict;\n }\n}\nexports.useStrict = useStrict;\nfunction isStrictModeEnabled() {\n return globalState.strictMode;\n}\nexports.isStrictModeEnabled = isStrictModeEnabled;\nfunction allowStateChanges(allowStateChanges, func) {\n var prev = allowStateChangesStart(allowStateChanges);\n var res = func();\n allowStateChangesEnd(prev);\n return res;\n}\nfunction allowStateChangesStart(allowStateChanges) {\n var prev = globalState.allowStateChanges;\n globalState.allowStateChanges = allowStateChanges;\n return prev;\n}\nfunction allowStateChangesEnd(prev) {\n globalState.allowStateChanges = prev;\n}\nvar BaseAtom = (function () {\n function BaseAtom(name) {\n if (name === void 0) { name = \"Atom@\" + getNextId(); }\n this.name = name;\n this.isPendingUnobservation = true;\n this.observers = [];\n this.observersIndexes = {};\n this.diffValue = 0;\n this.lastAccessedBy = 0;\n this.lowestObserverState = IDerivationState.NOT_TRACKING;\n }\n BaseAtom.prototype.onBecomeUnobserved = function () {\n };\n BaseAtom.prototype.reportObserved = function () {\n reportObserved(this);\n };\n BaseAtom.prototype.reportChanged = function () {\n transactionStart(\"propagatingAtomChange\", null, false);\n propagateChanged(this);\n transactionEnd(false);\n };\n BaseAtom.prototype.toString = function () {\n return this.name;\n };\n return BaseAtom;\n}());\nexports.BaseAtom = BaseAtom;\nvar Atom = (function (_super) {\n __extends(Atom, _super);\n function Atom(name, onBecomeObservedHandler, onBecomeUnobservedHandler) {\n if (name === void 0) { name = \"Atom@\" + getNextId(); }\n if (onBecomeObservedHandler === void 0) { onBecomeObservedHandler = noop; }\n if (onBecomeUnobservedHandler === void 0) { onBecomeUnobservedHandler = noop; }\n _super.call(this, name);\n this.name = name;\n this.onBecomeObservedHandler = onBecomeObservedHandler;\n this.onBecomeUnobservedHandler = onBecomeUnobservedHandler;\n this.isPendingUnobservation = false;\n this.isBeingTracked = false;\n }\n Atom.prototype.reportObserved = function () {\n startBatch();\n _super.prototype.reportObserved.call(this);\n if (!this.isBeingTracked) {\n this.isBeingTracked = true;\n this.onBecomeObservedHandler();\n }\n endBatch();\n return !!globalState.trackingDerivation;\n };\n Atom.prototype.onBecomeUnobserved = function () {\n this.isBeingTracked = false;\n this.onBecomeUnobservedHandler();\n };\n return Atom;\n}(BaseAtom));\nexports.Atom = Atom;\nvar isAtom = createInstanceofPredicate(\"Atom\", BaseAtom);\nvar ComputedValue = (function () {\n function ComputedValue(derivation, scope, compareStructural, name, setter) {\n this.derivation = derivation;\n this.scope = scope;\n this.compareStructural = compareStructural;\n this.dependenciesState = IDerivationState.NOT_TRACKING;\n this.observing = [];\n this.newObserving = null;\n this.isPendingUnobservation = false;\n this.observers = [];\n this.observersIndexes = {};\n this.diffValue = 0;\n this.runId = 0;\n this.lastAccessedBy = 0;\n this.lowestObserverState = IDerivationState.UP_TO_DATE;\n this.unboundDepsCount = 0;\n this.__mapid = \"#\" + getNextId();\n this.value = undefined;\n this.isComputing = false;\n this.isRunningSetter = false;\n this.name = name || \"ComputedValue@\" + getNextId();\n if (setter)\n this.setter = createAction(name + \"-setter\", setter);\n }\n ComputedValue.prototype.peek = function () {\n this.isComputing = true;\n var prevAllowStateChanges = allowStateChangesStart(false);\n var res = this.derivation.call(this.scope);\n allowStateChangesEnd(prevAllowStateChanges);\n this.isComputing = false;\n return res;\n };\n ;\n ComputedValue.prototype.peekUntracked = function () {\n var hasError = true;\n try {\n var res = this.peek();\n hasError = false;\n return res;\n }\n finally {\n if (hasError)\n handleExceptionInDerivation(this);\n }\n };\n ComputedValue.prototype.onBecomeStale = function () {\n propagateMaybeChanged(this);\n };\n ComputedValue.prototype.onBecomeUnobserved = function () {\n invariant(this.dependenciesState !== IDerivationState.NOT_TRACKING, \"INTERNAL ERROR only onBecomeUnobserved shouldn't be called twice in a row\");\n clearObserving(this);\n this.value = undefined;\n };\n ComputedValue.prototype.get = function () {\n invariant(!this.isComputing, \"Cycle detected in computation \" + this.name, this.derivation);\n startBatch();\n if (globalState.inBatch === 1) {\n if (shouldCompute(this))\n this.value = this.peekUntracked();\n }\n else {\n reportObserved(this);\n if (shouldCompute(this))\n if (this.trackAndCompute())\n propagateChangeConfirmed(this);\n }\n var result = this.value;\n endBatch();\n return result;\n };\n ComputedValue.prototype.recoverFromError = function () {\n this.isComputing = false;\n };\n ComputedValue.prototype.set = function (value) {\n if (this.setter) {\n invariant(!this.isRunningSetter, \"The setter of computed value '\" + this.name + \"' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?\");\n this.isRunningSetter = true;\n try {\n this.setter.call(this.scope, value);\n }\n finally {\n this.isRunningSetter = false;\n }\n }\n else\n invariant(false, \"[ComputedValue '\" + this.name + \"'] It is not possible to assign a new value to a computed value.\");\n };\n ComputedValue.prototype.trackAndCompute = function () {\n if (isSpyEnabled()) {\n spyReport({\n object: this,\n type: \"compute\",\n fn: this.derivation,\n target: this.scope\n });\n }\n var oldValue = this.value;\n var newValue = this.value = trackDerivedFunction(this, this.peek);\n return valueDidChange(this.compareStructural, newValue, oldValue);\n };\n ComputedValue.prototype.observe = function (listener, fireImmediately) {\n var _this = this;\n var firstTime = true;\n var prevValue = undefined;\n return autorun(function () {\n var newValue = _this.get();\n if (!firstTime || fireImmediately) {\n var prevU = untrackedStart();\n listener(newValue, prevValue);\n untrackedEnd(prevU);\n }\n firstTime = false;\n prevValue = newValue;\n });\n };\n ComputedValue.prototype.toJSON = function () {\n return this.get();\n };\n ComputedValue.prototype.toString = function () {\n return this.name + \"[\" + this.derivation.toString() + \"]\";\n };\n ComputedValue.prototype.whyRun = function () {\n var isTracking = Boolean(globalState.trackingDerivation);\n var observing = unique(this.isComputing ? this.newObserving : this.observing).map(function (dep) { return dep.name; });\n var observers = unique(getObservers(this).map(function (dep) { return dep.name; }));\n return ((\"\\nWhyRun? computation '\" + this.name + \"':\\n * Running because: \" + (isTracking ? \"[active] the value of this computation is needed by a reaction\" : this.isComputing ? \"[get] The value of this computed was requested outside a reaction\" : \"[idle] not running at the moment\") + \"\\n\") +\n (this.dependenciesState === IDerivationState.NOT_TRACKING\n ?\n \" * This computation is suspended (not in use by any reaction) and won't run automatically.\\n\\tDidn't expect this computation to be suspended at this point?\\n\\t 1. Make sure this computation is used by a reaction (reaction, autorun, observer).\\n\\t 2. Check whether you are using this computation synchronously (in the same stack as they reaction that needs it).\\n\"\n :\n \" * This computation will re-run if any of the following observables changes:\\n \" + joinStrings(observing) + \"\\n \" + ((this.isComputing && isTracking) ? \" (... or any observable accessed during the remainder of the current run)\" : \"\") + \"\\n\\tMissing items in this list?\\n\\t 1. Check whether all used values are properly marked as observable (use isObservable to verify)\\n\\t 2. Make sure you didn't dereference values too early. MobX observes props, not primitives. E.g: use 'person.name' instead of 'name' in your computation.\\n * If the outcome of this computation changes, the following observers will be re-run:\\n \" + joinStrings(observers) + \"\\n\"));\n };\n return ComputedValue;\n}());\nvar isComputedValue = createInstanceofPredicate(\"ComputedValue\", ComputedValue);\nvar IDerivationState;\n(function (IDerivationState) {\n IDerivationState[IDerivationState[\"NOT_TRACKING\"] = -1] = \"NOT_TRACKING\";\n IDerivationState[IDerivationState[\"UP_TO_DATE\"] = 0] = \"UP_TO_DATE\";\n IDerivationState[IDerivationState[\"POSSIBLY_STALE\"] = 1] = \"POSSIBLY_STALE\";\n IDerivationState[IDerivationState[\"STALE\"] = 2] = \"STALE\";\n})(IDerivationState || (IDerivationState = {}));\nexports.IDerivationState = IDerivationState;\nfunction shouldCompute(derivation) {\n switch (derivation.dependenciesState) {\n case IDerivationState.UP_TO_DATE: return false;\n case IDerivationState.NOT_TRACKING:\n case IDerivationState.STALE: return true;\n case IDerivationState.POSSIBLY_STALE: {\n var hasError = true;\n var prevUntracked = untrackedStart();\n try {\n var obs = derivation.observing, l = obs.length;\n for (var i = 0; i < l; i++) {\n var obj = obs[i];\n if (isComputedValue(obj)) {\n obj.get();\n if (derivation.dependenciesState === IDerivationState.STALE) {\n hasError = false;\n untrackedEnd(prevUntracked);\n return true;\n }\n }\n }\n hasError = false;\n changeDependenciesStateTo0(derivation);\n untrackedEnd(prevUntracked);\n return false;\n }\n finally {\n if (hasError) {\n changeDependenciesStateTo0(derivation);\n }\n }\n }\n }\n}\nfunction isComputingDerivation() {\n return globalState.trackingDerivation !== null;\n}\nfunction checkIfStateModificationsAreAllowed() {\n if (!globalState.allowStateChanges) {\n invariant(false, globalState.strictMode\n ? \"It is not allowed to create or change state outside an `action` when MobX is in strict mode. Wrap the current method in `action` if this state change is intended\"\n : \"It is not allowed to change the state when a computed value or transformer is being evaluated. Use 'autorun' to create reactive functions with side-effects.\");\n }\n}\nfunction trackDerivedFunction(derivation, f) {\n changeDependenciesStateTo0(derivation);\n derivation.newObserving = new Array(derivation.observing.length + 100);\n derivation.unboundDepsCount = 0;\n derivation.runId = ++globalState.runId;\n var prevTracking = globalState.trackingDerivation;\n globalState.trackingDerivation = derivation;\n var hasException = true;\n var result;\n try {\n result = f.call(derivation);\n hasException = false;\n }\n finally {\n if (hasException) {\n handleExceptionInDerivation(derivation);\n }\n else {\n globalState.trackingDerivation = prevTracking;\n bindDependencies(derivation);\n }\n }\n return result;\n}\nfunction handleExceptionInDerivation(derivation) {\n var message = (\"[mobx] An uncaught exception occurred while calculating your computed value, autorun or transformer. Or inside the render() method of an observer based React component. \" +\n \"These functions should never throw exceptions as MobX will not always be able to recover from them. \" +\n (\"Please fix the error reported after this message or enable 'Pause on (caught) exceptions' in your debugger to find the root cause. In: '\" + derivation.name + \"'. \") +\n \"For more details see https://github.com/mobxjs/mobx/issues/462\");\n if (isSpyEnabled()) {\n spyReport({\n type: \"error\",\n message: message\n });\n }\n console.warn(message);\n changeDependenciesStateTo0(derivation);\n derivation.newObserving = null;\n derivation.unboundDepsCount = 0;\n derivation.recoverFromError();\n endBatch();\n resetGlobalState();\n}\nfunction bindDependencies(derivation) {\n var prevObserving = derivation.observing;\n var observing = derivation.observing = derivation.newObserving;\n derivation.newObserving = null;\n var i0 = 0, l = derivation.unboundDepsCount;\n for (var i = 0; i < l; i++) {\n var dep = observing[i];\n if (dep.diffValue === 0) {\n dep.diffValue = 1;\n if (i0 !== i)\n observing[i0] = dep;\n i0++;\n }\n }\n observing.length = i0;\n l = prevObserving.length;\n while (l--) {\n var dep = prevObserving[l];\n if (dep.diffValue === 0) {\n removeObserver(dep, derivation);\n }\n dep.diffValue = 0;\n }\n while (i0--) {\n var dep = observing[i0];\n if (dep.diffValue === 1) {\n dep.diffValue = 0;\n addObserver(dep, derivation);\n }\n }\n}\nfunction clearObserving(derivation) {\n var obs = derivation.observing;\n var i = obs.length;\n while (i--)\n removeObserver(obs[i], derivation);\n derivation.dependenciesState = IDerivationState.NOT_TRACKING;\n obs.length = 0;\n}\nfunction untracked(action) {\n var prev = untrackedStart();\n var res = action();\n untrackedEnd(prev);\n return res;\n}\nexports.untracked = untracked;\nfunction untrackedStart() {\n var prev = globalState.trackingDerivation;\n globalState.trackingDerivation = null;\n return prev;\n}\nfunction untrackedEnd(prev) {\n globalState.trackingDerivation = prev;\n}\nfunction changeDependenciesStateTo0(derivation) {\n if (derivation.dependenciesState === IDerivationState.UP_TO_DATE)\n return;\n derivation.dependenciesState = IDerivationState.UP_TO_DATE;\n var obs = derivation.observing;\n var i = obs.length;\n while (i--)\n obs[i].lowestObserverState = IDerivationState.UP_TO_DATE;\n}\nvar persistentKeys = [\"mobxGuid\", \"resetId\", \"spyListeners\", \"strictMode\", \"runId\"];\nvar MobXGlobals = (function () {\n function MobXGlobals() {\n this.version = 4;\n this.trackingDerivation = null;\n this.runId = 0;\n this.mobxGuid = 0;\n this.inTransaction = 0;\n this.isRunningReactions = false;\n this.inBatch = 0;\n this.pendingUnobservations = [];\n this.pendingReactions = [];\n this.allowStateChanges = true;\n this.strictMode = false;\n this.resetId = 0;\n this.spyListeners = [];\n }\n return MobXGlobals;\n}());\nvar globalState = (function () {\n var res = new MobXGlobals();\n if (global.__mobservableTrackingStack || global.__mobservableViewStack)\n throw new Error(\"[mobx] An incompatible version of mobservable is already loaded.\");\n if (global.__mobxGlobal && global.__mobxGlobal.version !== res.version)\n throw new Error(\"[mobx] An incompatible version of mobx is already loaded.\");\n if (global.__mobxGlobal)\n return global.__mobxGlobal;\n return global.__mobxGlobal = res;\n})();\nfunction registerGlobals() {\n}\nfunction resetGlobalState() {\n globalState.resetId++;\n var defaultGlobals = new MobXGlobals();\n for (var key in defaultGlobals)\n if (persistentKeys.indexOf(key) === -1)\n globalState[key] = defaultGlobals[key];\n globalState.allowStateChanges = !globalState.strictMode;\n}\nfunction hasObservers(observable) {\n return observable.observers && observable.observers.length > 0;\n}\nfunction getObservers(observable) {\n return observable.observers;\n}\nfunction invariantObservers(observable) {\n var list = observable.observers;\n var map = observable.observersIndexes;\n var l = list.length;\n for (var i = 0; i < l; i++) {\n var id = list[i].__mapid;\n if (i) {\n invariant(map[id] === i, \"INTERNAL ERROR maps derivation.__mapid to index in list\");\n }\n else {\n invariant(!(id in map), \"INTERNAL ERROR observer on index 0 shouldnt be held in map.\");\n }\n }\n invariant(list.length === 0 || Object.keys(map).length === list.length - 1, \"INTERNAL ERROR there is no junk in map\");\n}\nfunction addObserver(observable, node) {\n var l = observable.observers.length;\n if (l) {\n observable.observersIndexes[node.__mapid] = l;\n }\n observable.observers[l] = node;\n if (observable.lowestObserverState > node.dependenciesState)\n observable.lowestObserverState = node.dependenciesState;\n}\nfunction removeObserver(observable, node) {\n if (observable.observers.length === 1) {\n observable.observers.length = 0;\n queueForUnobservation(observable);\n }\n else {\n var list = observable.observers;\n var map_1 = observable.observersIndexes;\n var filler = list.pop();\n if (filler !== node) {\n var index = map_1[node.__mapid] || 0;\n if (index) {\n map_1[filler.__mapid] = index;\n }\n else {\n delete map_1[filler.__mapid];\n }\n list[index] = filler;\n }\n delete map_1[node.__mapid];\n }\n}\nfunction queueForUnobservation(observable) {\n if (!observable.isPendingUnobservation) {\n observable.isPendingUnobservation = true;\n globalState.pendingUnobservations.push(observable);\n }\n}\nfunction startBatch() {\n globalState.inBatch++;\n}\nfunction endBatch() {\n if (globalState.inBatch === 1) {\n var list = globalState.pendingUnobservations;\n for (var i = 0; i < list.length; i++) {\n var observable_1 = list[i];\n observable_1.isPendingUnobservation = false;\n if (observable_1.observers.length === 0) {\n observable_1.onBecomeUnobserved();\n }\n }\n globalState.pendingUnobservations = [];\n }\n globalState.inBatch--;\n}\nfunction reportObserved(observable) {\n var derivation = globalState.trackingDerivation;\n if (derivation !== null) {\n if (derivation.runId !== observable.lastAccessedBy) {\n observable.lastAccessedBy = derivation.runId;\n derivation.newObserving[derivation.unboundDepsCount++] = observable;\n }\n }\n else if (observable.observers.length === 0) {\n queueForUnobservation(observable);\n }\n}\nfunction invariantLOS(observable, msg) {\n var min = getObservers(observable).reduce(function (a, b) { return Math.min(a, b.dependenciesState); }, 2);\n if (min >= observable.lowestObserverState)\n return;\n throw new Error(\"lowestObserverState is wrong for \" + msg + \" because \" + min + \" < \" + observable.lowestObserverState);\n}\nfunction propagateChanged(observable) {\n if (observable.lowestObserverState === IDerivationState.STALE)\n return;\n observable.lowestObserverState = IDerivationState.STALE;\n var observers = observable.observers;\n var i = observers.length;\n while (i--) {\n var d = observers[i];\n if (d.dependenciesState === IDerivationState.UP_TO_DATE)\n d.onBecomeStale();\n d.dependenciesState = IDerivationState.STALE;\n }\n}\nfunction propagateChangeConfirmed(observable) {\n if (observable.lowestObserverState === IDerivationState.STALE)\n return;\n observable.lowestObserverState = IDerivationState.STALE;\n var observers = observable.observers;\n var i = observers.length;\n while (i--) {\n var d = observers[i];\n if (d.dependenciesState === IDerivationState.POSSIBLY_STALE)\n d.dependenciesState = IDerivationState.STALE;\n else if (d.dependenciesState === IDerivationState.UP_TO_DATE)\n observable.lowestObserverState = IDerivationState.UP_TO_DATE;\n }\n}\nfunction propagateMaybeChanged(observable) {\n if (observable.lowestObserverState !== IDerivationState.UP_TO_DATE)\n return;\n observable.lowestObserverState = IDerivationState.POSSIBLY_STALE;\n var observers = observable.observers;\n var i = observers.length;\n while (i--) {\n var d = observers[i];\n if (d.dependenciesState === IDerivationState.UP_TO_DATE) {\n d.dependenciesState = IDerivationState.POSSIBLY_STALE;\n d.onBecomeStale();\n }\n }\n}\nvar Reaction = (function () {\n function Reaction(name, onInvalidate) {\n if (name === void 0) { name = \"Reaction@\" + getNextId(); }\n this.name = name;\n this.onInvalidate = onInvalidate;\n this.observing = [];\n this.newObserving = [];\n this.dependenciesState = IDerivationState.NOT_TRACKING;\n this.diffValue = 0;\n this.runId = 0;\n this.unboundDepsCount = 0;\n this.__mapid = \"#\" + getNextId();\n this.isDisposed = false;\n this._isScheduled = false;\n this._isTrackPending = false;\n this._isRunning = false;\n }\n Reaction.prototype.onBecomeStale = function () {\n this.schedule();\n };\n Reaction.prototype.schedule = function () {\n if (!this._isScheduled) {\n this._isScheduled = true;\n globalState.pendingReactions.push(this);\n startBatch();\n runReactions();\n endBatch();\n }\n };\n Reaction.prototype.isScheduled = function () {\n return this._isScheduled;\n };\n Reaction.prototype.runReaction = function () {\n if (!this.isDisposed) {\n this._isScheduled = false;\n if (shouldCompute(this)) {\n this._isTrackPending = true;\n this.onInvalidate();\n if (this._isTrackPending && isSpyEnabled()) {\n spyReport({\n object: this,\n type: \"scheduled-reaction\"\n });\n }\n }\n }\n };\n Reaction.prototype.track = function (fn) {\n startBatch();\n var notify = isSpyEnabled();\n var startTime;\n if (notify) {\n startTime = Date.now();\n spyReportStart({\n object: this,\n type: \"reaction\",\n fn: fn\n });\n }\n this._isRunning = true;\n trackDerivedFunction(this, fn);\n this._isRunning = false;\n this._isTrackPending = false;\n if (this.isDisposed) {\n clearObserving(this);\n }\n if (notify) {\n spyReportEnd({\n time: Date.now() - startTime\n });\n }\n endBatch();\n };\n Reaction.prototype.recoverFromError = function () {\n this._isRunning = false;\n this._isTrackPending = false;\n };\n Reaction.prototype.dispose = function () {\n if (!this.isDisposed) {\n this.isDisposed = true;\n if (!this._isRunning) {\n startBatch();\n clearObserving(this);\n endBatch();\n }\n }\n };\n Reaction.prototype.getDisposer = function () {\n var r = this.dispose.bind(this);\n r.$mobx = this;\n return r;\n };\n Reaction.prototype.toString = function () {\n return \"Reaction[\" + this.name + \"]\";\n };\n Reaction.prototype.whyRun = function () {\n var observing = unique(this._isRunning ? this.newObserving : this.observing).map(function (dep) { return dep.name; });\n return (\"\\nWhyRun? reaction '\" + this.name + \"':\\n * Status: [\" + (this.isDisposed ? \"stopped\" : this._isRunning ? \"running\" : this.isScheduled() ? \"scheduled\" : \"idle\") + \"]\\n * This reaction will re-run if any of the following observables changes:\\n \" + joinStrings(observing) + \"\\n \" + ((this._isRunning) ? \" (... or any observable accessed during the remainder of the current run)\" : \"\") + \"\\n\\tMissing items in this list?\\n\\t 1. Check whether all used values are properly marked as observable (use isObservable to verify)\\n\\t 2. Make sure you didn't dereference values too early. MobX observes props, not primitives. E.g: use 'person.name' instead of 'name' in your computation.\\n\");\n };\n return Reaction;\n}());\nexports.Reaction = Reaction;\nvar MAX_REACTION_ITERATIONS = 100;\nfunction runReactions() {\n if (globalState.isRunningReactions === true || globalState.inTransaction > 0)\n return;\n globalState.isRunningReactions = true;\n var allReactions = globalState.pendingReactions;\n var iterations = 0;\n while (allReactions.length > 0) {\n if (++iterations === MAX_REACTION_ITERATIONS) {\n resetGlobalState();\n throw new Error((\"Reaction doesn't converge to a stable state after \" + MAX_REACTION_ITERATIONS + \" iterations.\")\n + (\" Probably there is a cycle in the reactive function: \" + allReactions[0]));\n }\n var remainingReactions = allReactions.splice(0);\n for (var i = 0, l = remainingReactions.length; i < l; i++)\n remainingReactions[i].runReaction();\n }\n globalState.isRunningReactions = false;\n}\nvar isReaction = createInstanceofPredicate(\"Reaction\", Reaction);\nfunction isSpyEnabled() {\n return !!globalState.spyListeners.length;\n}\nfunction spyReport(event) {\n if (!globalState.spyListeners.length)\n return false;\n var listeners = globalState.spyListeners;\n for (var i = 0, l = listeners.length; i < l; i++)\n listeners[i](event);\n}\nfunction spyReportStart(event) {\n var change = objectAssign({}, event, { spyReportStart: true });\n spyReport(change);\n}\nvar END_EVENT = { spyReportEnd: true };\nfunction spyReportEnd(change) {\n if (change)\n spyReport(objectAssign({}, change, END_EVENT));\n else\n spyReport(END_EVENT);\n}\nfunction spy(listener) {\n globalState.spyListeners.push(listener);\n return once(function () {\n var idx = globalState.spyListeners.indexOf(listener);\n if (idx !== -1)\n globalState.spyListeners.splice(idx, 1);\n });\n}\nexports.spy = spy;\nfunction trackTransitions(onReport) {\n deprecated(\"trackTransitions is deprecated. Use mobx.spy instead\");\n if (typeof onReport === \"boolean\") {\n deprecated(\"trackTransitions only takes a single callback function. If you are using the mobx-react-devtools, please update them first\");\n onReport = arguments[1];\n }\n if (!onReport) {\n deprecated(\"trackTransitions without callback has been deprecated and is a no-op now. If you are using the mobx-react-devtools, please update them first\");\n return function () { };\n }\n return spy(onReport);\n}\nfunction transaction(action, thisArg, report) {\n if (thisArg === void 0) { thisArg = undefined; }\n if (report === void 0) { report = true; }\n transactionStart((action.name) || \"anonymous transaction\", thisArg, report);\n var res = action.call(thisArg);\n transactionEnd(report);\n return res;\n}\nexports.transaction = transaction;\nfunction transactionStart(name, thisArg, report) {\n if (thisArg === void 0) { thisArg = undefined; }\n if (report === void 0) { report = true; }\n startBatch();\n globalState.inTransaction += 1;\n if (report && isSpyEnabled()) {\n spyReportStart({\n type: \"transaction\",\n target: thisArg,\n name: name\n });\n }\n}\nfunction transactionEnd(report) {\n if (report === void 0) { report = true; }\n if (--globalState.inTransaction === 0) {\n runReactions();\n }\n if (report && isSpyEnabled())\n spyReportEnd();\n endBatch();\n}\nfunction hasInterceptors(interceptable) {\n return (interceptable.interceptors && interceptable.interceptors.length > 0);\n}\nfunction registerInterceptor(interceptable, handler) {\n var interceptors = interceptable.interceptors || (interceptable.interceptors = []);\n interceptors.push(handler);\n return once(function () {\n var idx = interceptors.indexOf(handler);\n if (idx !== -1)\n interceptors.splice(idx, 1);\n });\n}\nfunction interceptChange(interceptable, change) {\n var prevU = untrackedStart();\n var interceptors = interceptable.interceptors;\n for (var i = 0, l = interceptors.length; i < l; i++) {\n change = interceptors[i](change);\n invariant(!change || change.type, \"Intercept handlers should return nothing or a change object\");\n if (!change)\n return null;\n }\n untrackedEnd(prevU);\n return change;\n}\nfunction hasListeners(listenable) {\n return listenable.changeListeners && listenable.changeListeners.length > 0;\n}\nfunction registerListener(listenable, handler) {\n var listeners = listenable.changeListeners || (listenable.changeListeners = []);\n listeners.push(handler);\n return once(function () {\n var idx = listeners.indexOf(handler);\n if (idx !== -1)\n listeners.splice(idx, 1);\n });\n}\nfunction notifyListeners(listenable, change) {\n var prevU = untrackedStart();\n var listeners = listenable.changeListeners;\n if (!listeners)\n return;\n listeners = listeners.slice();\n for (var i = 0, l = listeners.length; i < l; i++) {\n if (Array.isArray(change)) {\n listeners[i].apply(null, change);\n }\n else {\n listeners[i](change);\n }\n }\n untrackedEnd(prevU);\n}\nvar ValueMode;\n(function (ValueMode) {\n ValueMode[ValueMode[\"Recursive\"] = 0] = \"Recursive\";\n ValueMode[ValueMode[\"Reference\"] = 1] = \"Reference\";\n ValueMode[ValueMode[\"Structure\"] = 2] = \"Structure\";\n ValueMode[ValueMode[\"Flat\"] = 3] = \"Flat\";\n})(ValueMode || (ValueMode = {}));\nfunction withModifier(modifier, value) {\n assertUnwrapped(value, \"Modifiers are not allowed to be nested\");\n return {\n mobxModifier: modifier,\n value: value\n };\n}\nfunction getModifier(value) {\n if (value) {\n return value.mobxModifier || null;\n }\n return null;\n}\nfunction asReference(value) {\n return withModifier(ValueMode.Reference, value);\n}\nexports.asReference = asReference;\nasReference.mobxModifier = ValueMode.Reference;\nfunction asStructure(value) {\n return withModifier(ValueMode.Structure, value);\n}\nexports.asStructure = asStructure;\nasStructure.mobxModifier = ValueMode.Structure;\nfunction asFlat(value) {\n return withModifier(ValueMode.Flat, value);\n}\nexports.asFlat = asFlat;\nasFlat.mobxModifier = ValueMode.Flat;\nfunction asMap(data, modifierFunc) {\n return map(data, modifierFunc);\n}\nexports.asMap = asMap;\nfunction getValueModeFromValue(value, defaultMode) {\n var mode = getModifier(value);\n if (mode)\n return [mode, value.value];\n return [defaultMode, value];\n}\nfunction getValueModeFromModifierFunc(func) {\n if (func === undefined)\n return ValueMode.Recursive;\n var mod = getModifier(func);\n invariant(mod !== null, \"Cannot determine value mode from function. Please pass in one of these: mobx.asReference, mobx.asStructure or mobx.asFlat, got: \" + func);\n return mod;\n}\nfunction makeChildObservable(value, parentMode, name) {\n var childMode;\n if (isObservable(value))\n return value;\n switch (parentMode) {\n case ValueMode.Reference:\n return value;\n case ValueMode.Flat:\n assertUnwrapped(value, \"Items inside 'asFlat' cannot have modifiers\");\n childMode = ValueMode.Reference;\n break;\n case ValueMode.Structure:\n assertUnwrapped(value, \"Items inside 'asStructure' cannot have modifiers\");\n childMode = ValueMode.Structure;\n break;\n case ValueMode.Recursive:\n _a = getValueModeFromValue(value, ValueMode.Recursive), childMode = _a[0], value = _a[1];\n break;\n default:\n invariant(false, \"Illegal State\");\n }\n if (Array.isArray(value))\n return createObservableArray(value, childMode, name);\n if (isPlainObject(value) && Object.isExtensible(value))\n return extendObservableHelper(value, value, childMode, name);\n return value;\n var _a;\n}\nfunction assertUnwrapped(value, message) {\n if (getModifier(value) !== null)\n throw new Error(\"[mobx] asStructure / asReference / asFlat cannot be used here. \" + message);\n}\nvar safariPrototypeSetterInheritanceBug = (function () {\n var v = false;\n var p = {};\n Object.defineProperty(p, \"0\", { set: function () { v = true; } });\n Object.create(p)[\"0\"] = 1;\n return v === false;\n})();\nvar OBSERVABLE_ARRAY_BUFFER_SIZE = 0;\nvar StubArray = (function () {\n function StubArray() {\n }\n return StubArray;\n}());\nStubArray.prototype = [];\nvar ObservableArrayAdministration = (function () {\n function ObservableArrayAdministration(name, mode, array, owned) {\n this.mode = mode;\n this.array = array;\n this.owned = owned;\n this.lastKnownLength = 0;\n this.interceptors = null;\n this.changeListeners = null;\n this.atom = new BaseAtom(name || (\"ObservableArray@\" + getNextId()));\n }\n ObservableArrayAdministration.prototype.makeReactiveArrayItem = function (value) {\n assertUnwrapped(value, \"Array values cannot have modifiers\");\n if (this.mode === ValueMode.Flat || this.mode === ValueMode.Reference)\n return value;\n return makeChildObservable(value, this.mode, this.atom.name + \"[..]\");\n };\n ObservableArrayAdministration.prototype.intercept = function (handler) {\n return registerInterceptor(this, handler);\n };\n ObservableArrayAdministration.prototype.observe = function (listener, fireImmediately) {\n if (fireImmediately === void 0) { fireImmediately = false; }\n if (fireImmediately) {\n listener({\n object: this.array,\n type: \"splice\",\n index: 0,\n added: this.values.slice(),\n addedCount: this.values.length,\n removed: [],\n removedCount: 0\n });\n }\n return registerListener(this, listener);\n };\n ObservableArrayAdministration.prototype.getArrayLength = function () {\n this.atom.reportObserved();\n return this.values.length;\n };\n ObservableArrayAdministration.prototype.setArrayLength = function (newLength) {\n if (typeof newLength !== \"number\" || newLength < 0)\n throw new Error(\"[mobx.array] Out of range: \" + newLength);\n var currentLength = this.values.length;\n if (newLength === currentLength)\n return;\n else if (newLength > currentLength)\n this.spliceWithArray(currentLength, 0, new Array(newLength - currentLength));\n else\n this.spliceWithArray(newLength, currentLength - newLength);\n };\n ObservableArrayAdministration.prototype.updateArrayLength = function (oldLength, delta) {\n if (oldLength !== this.lastKnownLength)\n throw new Error(\"[mobx] Modification exception: the internal structure of an observable array was changed. Did you use peek() to change it?\");\n this.lastKnownLength += delta;\n if (delta > 0 && oldLength + delta + 1 > OBSERVABLE_ARRAY_BUFFER_SIZE)\n reserveArrayBuffer(oldLength + delta + 1);\n };\n ObservableArrayAdministration.prototype.spliceWithArray = function (index, deleteCount, newItems) {\n checkIfStateModificationsAreAllowed();\n var length = this.values.length;\n if (index === undefined)\n index = 0;\n else if (index > length)\n index = length;\n else if (index < 0)\n index = Math.max(0, length + index);\n if (arguments.length === 1)\n deleteCount = length - index;\n else if (deleteCount === undefined || deleteCount === null)\n deleteCount = 0;\n else\n deleteCount = Math.max(0, Math.min(deleteCount, length - index));\n if (newItems === undefined)\n newItems = [];\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.array,\n type: \"splice\",\n index: index,\n removedCount: deleteCount,\n added: newItems\n });\n if (!change)\n return EMPTY_ARRAY;\n deleteCount = change.removedCount;\n newItems = change.added;\n }\n newItems = newItems.map(this.makeReactiveArrayItem, this);\n var lengthDelta = newItems.length - deleteCount;\n this.updateArrayLength(length, lengthDelta);\n var res = (_a = this.values).splice.apply(_a, [index, deleteCount].concat(newItems));\n if (deleteCount !== 0 || newItems.length !== 0)\n this.notifyArraySplice(index, newItems, res);\n return res;\n var _a;\n };\n ObservableArrayAdministration.prototype.notifyArrayChildUpdate = function (index, newValue, oldValue) {\n var notifySpy = !this.owned && isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy ? {\n object: this.array,\n type: \"update\",\n index: index, newValue: newValue, oldValue: oldValue\n } : null;\n if (notifySpy)\n spyReportStart(change);\n this.atom.reportChanged();\n if (notify)\n notifyListeners(this, change);\n if (notifySpy)\n spyReportEnd();\n };\n ObservableArrayAdministration.prototype.notifyArraySplice = function (index, added, removed) {\n var notifySpy = !this.owned && isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy ? {\n object: this.array,\n type: \"splice\",\n index: index, removed: removed, added: added,\n removedCount: removed.length,\n addedCount: added.length\n } : null;\n if (notifySpy)\n spyReportStart(change);\n this.atom.reportChanged();\n if (notify)\n notifyListeners(this, change);\n if (notifySpy)\n spyReportEnd();\n };\n return ObservableArrayAdministration;\n}());\nvar ObservableArray = (function (_super) {\n __extends(ObservableArray, _super);\n function ObservableArray(initialValues, mode, name, owned) {\n if (owned === void 0) { owned = false; }\n _super.call(this);\n var adm = new ObservableArrayAdministration(name, mode, this, owned);\n addHiddenFinalProp(this, \"$mobx\", adm);\n if (initialValues && initialValues.length) {\n adm.updateArrayLength(0, initialValues.length);\n adm.values = initialValues.map(adm.makeReactiveArrayItem, adm);\n adm.notifyArraySplice(0, adm.values.slice(), EMPTY_ARRAY);\n }\n else {\n adm.values = [];\n }\n if (safariPrototypeSetterInheritanceBug) {\n Object.defineProperty(adm.array, \"0\", ENTRY_0);\n }\n }\n ObservableArray.prototype.intercept = function (handler) {\n return this.$mobx.intercept(handler);\n };\n ObservableArray.prototype.observe = function (listener, fireImmediately) {\n if (fireImmediately === void 0) { fireImmediately = false; }\n return this.$mobx.observe(listener, fireImmediately);\n };\n ObservableArray.prototype.clear = function () {\n return this.splice(0);\n };\n ObservableArray.prototype.concat = function () {\n var arrays = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n arrays[_i - 0] = arguments[_i];\n }\n this.$mobx.atom.reportObserved();\n return Array.prototype.concat.apply(this.slice(), arrays.map(function (a) { return isObservableArray(a) ? a.slice() : a; }));\n };\n ObservableArray.prototype.replace = function (newItems) {\n return this.$mobx.spliceWithArray(0, this.$mobx.values.length, newItems);\n };\n ObservableArray.prototype.toJS = function () {\n return this.slice();\n };\n ObservableArray.prototype.toJSON = function () {\n return this.toJS();\n };\n ObservableArray.prototype.peek = function () {\n return this.$mobx.values;\n };\n ObservableArray.prototype.find = function (predicate, thisArg, fromIndex) {\n if (fromIndex === void 0) { fromIndex = 0; }\n this.$mobx.atom.reportObserved();\n var items = this.$mobx.values, l = items.length;\n for (var i = fromIndex; i < l; i++)\n if (predicate.call(thisArg, items[i], i, this))\n return items[i];\n return undefined;\n };\n ObservableArray.prototype.splice = function (index, deleteCount) {\n var newItems = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n newItems[_i - 2] = arguments[_i];\n }\n switch (arguments.length) {\n case 0:\n return [];\n case 1:\n return this.$mobx.spliceWithArray(index);\n case 2:\n return this.$mobx.spliceWithArray(index, deleteCount);\n }\n return this.$mobx.spliceWithArray(index, deleteCount, newItems);\n };\n ObservableArray.prototype.push = function () {\n var items = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n items[_i - 0] = arguments[_i];\n }\n var adm = this.$mobx;\n adm.spliceWithArray(adm.values.length, 0, items);\n return adm.values.length;\n };\n ObservableArray.prototype.pop = function () {\n return this.splice(Math.max(this.$mobx.values.length - 1, 0), 1)[0];\n };\n ObservableArray.prototype.shift = function () {\n return this.splice(0, 1)[0];\n };\n ObservableArray.prototype.unshift = function () {\n var items = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n items[_i - 0] = arguments[_i];\n }\n var adm = this.$mobx;\n adm.spliceWithArray(0, 0, items);\n return adm.values.length;\n };\n ObservableArray.prototype.reverse = function () {\n this.$mobx.atom.reportObserved();\n var clone = this.slice();\n return clone.reverse.apply(clone, arguments);\n };\n ObservableArray.prototype.sort = function (compareFn) {\n this.$mobx.atom.reportObserved();\n var clone = this.slice();\n return clone.sort.apply(clone, arguments);\n };\n ObservableArray.prototype.remove = function (value) {\n var idx = this.$mobx.values.indexOf(value);\n if (idx > -1) {\n this.splice(idx, 1);\n return true;\n }\n return false;\n };\n ObservableArray.prototype.toString = function () {\n return \"[mobx.array] \" + Array.prototype.toString.apply(this.$mobx.values, arguments);\n };\n ObservableArray.prototype.toLocaleString = function () {\n return \"[mobx.array] \" + Array.prototype.toLocaleString.apply(this.$mobx.values, arguments);\n };\n return ObservableArray;\n}(StubArray));\ndeclareIterator(ObservableArray.prototype, function () {\n return arrayAsIterator(this.slice());\n});\nmakeNonEnumerable(ObservableArray.prototype, [\n \"constructor\",\n \"intercept\",\n \"observe\",\n \"clear\",\n \"concat\",\n \"replace\",\n \"toJS\",\n \"toJSON\",\n \"peek\",\n \"find\",\n \"splice\",\n \"push\",\n \"pop\",\n \"shift\",\n \"unshift\",\n \"reverse\",\n \"sort\",\n \"remove\",\n \"toString\",\n \"toLocaleString\"\n]);\nObject.defineProperty(ObservableArray.prototype, \"length\", {\n enumerable: false,\n configurable: true,\n get: function () {\n return this.$mobx.getArrayLength();\n },\n set: function (newLength) {\n this.$mobx.setArrayLength(newLength);\n }\n});\n[\n \"every\",\n \"filter\",\n \"forEach\",\n \"indexOf\",\n \"join\",\n \"lastIndexOf\",\n \"map\",\n \"reduce\",\n \"reduceRight\",\n \"slice\",\n \"some\"\n].forEach(function (funcName) {\n var baseFunc = Array.prototype[funcName];\n invariant(typeof baseFunc === \"function\", \"Base function not defined on Array prototype: '\" + funcName + \"'\");\n addHiddenProp(ObservableArray.prototype, funcName, function () {\n this.$mobx.atom.reportObserved();\n return baseFunc.apply(this.$mobx.values, arguments);\n });\n});\nvar ENTRY_0 = {\n configurable: true,\n enumerable: false,\n set: createArraySetter(0),\n get: createArrayGetter(0)\n};\nfunction createArrayBufferItem(index) {\n var set = createArraySetter(index);\n var get = createArrayGetter(index);\n Object.defineProperty(ObservableArray.prototype, \"\" + index, {\n enumerable: false,\n configurable: true,\n set: set, get: get\n });\n}\nfunction createArraySetter(index) {\n return function (newValue) {\n var adm = this.$mobx;\n var values = adm.values;\n assertUnwrapped(newValue, \"Modifiers cannot be used on array values. For non-reactive array values use makeReactive(asFlat(array)).\");\n if (index < values.length) {\n checkIfStateModificationsAreAllowed();\n var oldValue = values[index];\n if (hasInterceptors(adm)) {\n var change = interceptChange(adm, {\n type: \"update\",\n object: adm.array,\n index: index, newValue: newValue\n });\n if (!change)\n return;\n newValue = change.newValue;\n }\n newValue = adm.makeReactiveArrayItem(newValue);\n var changed = (adm.mode === ValueMode.Structure) ? !deepEquals(oldValue, newValue) : oldValue !== newValue;\n if (changed) {\n values[index] = newValue;\n adm.notifyArrayChildUpdate(index, newValue, oldValue);\n }\n }\n else if (index === values.length) {\n adm.spliceWithArray(index, 0, [newValue]);\n }\n else\n throw new Error(\"[mobx.array] Index out of bounds, \" + index + \" is larger than \" + values.length);\n };\n}\nfunction createArrayGetter(index) {\n return function () {\n var impl = this.$mobx;\n if (impl && index < impl.values.length) {\n impl.atom.reportObserved();\n return impl.values[index];\n }\n console.warn(\"[mobx.array] Attempt to read an array index (\" + index + \") that is out of bounds (\" + impl.values.length + \"). Please check length first. Out of bound indices will not be tracked by MobX\");\n return undefined;\n };\n}\nfunction reserveArrayBuffer(max) {\n for (var index = OBSERVABLE_ARRAY_BUFFER_SIZE; index < max; index++)\n createArrayBufferItem(index);\n OBSERVABLE_ARRAY_BUFFER_SIZE = max;\n}\nreserveArrayBuffer(1000);\nfunction createObservableArray(initialValues, mode, name) {\n return new ObservableArray(initialValues, mode, name);\n}\nfunction fastArray(initialValues) {\n deprecated(\"fastArray is deprecated. Please use `observable(asFlat([]))`\");\n return createObservableArray(initialValues, ValueMode.Flat, null);\n}\nexports.fastArray = fastArray;\nvar isObservableArrayAdministration = createInstanceofPredicate(\"ObservableArrayAdministration\", ObservableArrayAdministration);\nfunction isObservableArray(thing) {\n return isObject(thing) && isObservableArrayAdministration(thing.$mobx);\n}\nexports.isObservableArray = isObservableArray;\nvar ObservableMapMarker = {};\nvar ObservableMap = (function () {\n function ObservableMap(initialData, valueModeFunc) {\n var _this = this;\n this.$mobx = ObservableMapMarker;\n this._data = {};\n this._hasMap = {};\n this.name = \"ObservableMap@\" + getNextId();\n this._keys = new ObservableArray(null, ValueMode.Reference, this.name + \".keys()\", true);\n this.interceptors = null;\n this.changeListeners = null;\n this._valueMode = getValueModeFromModifierFunc(valueModeFunc);\n if (this._valueMode === ValueMode.Flat)\n this._valueMode = ValueMode.Reference;\n allowStateChanges(true, function () {\n if (isPlainObject(initialData))\n _this.merge(initialData);\n else if (Array.isArray(initialData))\n initialData.forEach(function (_a) {\n var key = _a[0], value = _a[1];\n return _this.set(key, value);\n });\n });\n }\n ObservableMap.prototype._has = function (key) {\n return typeof this._data[key] !== \"undefined\";\n };\n ObservableMap.prototype.has = function (key) {\n if (!this.isValidKey(key))\n return false;\n key = \"\" + key;\n if (this._hasMap[key])\n return this._hasMap[key].get();\n return this._updateHasMapEntry(key, false).get();\n };\n ObservableMap.prototype.set = function (key, value) {\n this.assertValidKey(key);\n key = \"\" + key;\n var hasKey = this._has(key);\n assertUnwrapped(value, \"[mobx.map.set] Expected unwrapped value to be inserted to key '\" + key + \"'. If you need to use modifiers pass them as second argument to the constructor\");\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: hasKey ? \"update\" : \"add\",\n object: this,\n newValue: value,\n name: key\n });\n if (!change)\n return;\n value = change.newValue;\n }\n if (hasKey) {\n this._updateValue(key, value);\n }\n else {\n this._addValue(key, value);\n }\n };\n ObservableMap.prototype.delete = function (key) {\n var _this = this;\n this.assertValidKey(key);\n key = \"\" + key;\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: \"delete\",\n object: this,\n name: key\n });\n if (!change)\n return false;\n }\n if (this._has(key)) {\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy ? {\n type: \"delete\",\n object: this,\n oldValue: this._data[key].value,\n name: key\n } : null;\n if (notifySpy)\n spyReportStart(change);\n transaction(function () {\n _this._keys.remove(key);\n _this._updateHasMapEntry(key, false);\n var observable = _this._data[key];\n observable.setNewValue(undefined);\n _this._data[key] = undefined;\n }, undefined, false);\n if (notify)\n notifyListeners(this, change);\n if (notifySpy)\n spyReportEnd();\n return true;\n }\n return false;\n };\n ObservableMap.prototype._updateHasMapEntry = function (key, value) {\n var entry = this._hasMap[key];\n if (entry) {\n entry.setNewValue(value);\n }\n else {\n entry = this._hasMap[key] = new ObservableValue(value, ValueMode.Reference, this.name + \".\" + key + \"?\", false);\n }\n return entry;\n };\n ObservableMap.prototype._updateValue = function (name, newValue) {\n var observable = this._data[name];\n newValue = observable.prepareNewValue(newValue);\n if (newValue !== UNCHANGED) {\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy ? {\n type: \"update\",\n object: this,\n oldValue: observable.value,\n name: name, newValue: newValue\n } : null;\n if (notifySpy)\n spyReportStart(change);\n observable.setNewValue(newValue);\n if (notify)\n notifyListeners(this, change);\n if (notifySpy)\n spyReportEnd();\n }\n };\n ObservableMap.prototype._addValue = function (name, newValue) {\n var _this = this;\n transaction(function () {\n var observable = _this._data[name] = new ObservableValue(newValue, _this._valueMode, _this.name + \".\" + name, false);\n newValue = observable.value;\n _this._updateHasMapEntry(name, true);\n _this._keys.push(name);\n }, undefined, false);\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy ? {\n type: \"add\",\n object: this,\n name: name, newValue: newValue\n } : null;\n if (notifySpy)\n spyReportStart(change);\n if (notify)\n notifyListeners(this, change);\n if (notifySpy)\n spyReportEnd();\n };\n ObservableMap.prototype.get = function (key) {\n key = \"\" + key;\n if (this.has(key))\n return this._data[key].get();\n return undefined;\n };\n ObservableMap.prototype.keys = function () {\n return arrayAsIterator(this._keys.slice());\n };\n ObservableMap.prototype.values = function () {\n return arrayAsIterator(this._keys.map(this.get, this));\n };\n ObservableMap.prototype.entries = function () {\n var _this = this;\n return arrayAsIterator(this._keys.map(function (key) { return [key, _this.get(key)]; }));\n };\n ObservableMap.prototype.forEach = function (callback, thisArg) {\n var _this = this;\n this.keys().forEach(function (key) { return callback.call(thisArg, _this.get(key), key); });\n };\n ObservableMap.prototype.merge = function (other) {\n var _this = this;\n transaction(function () {\n if (isObservableMap(other))\n other.keys().forEach(function (key) { return _this.set(key, other.get(key)); });\n else\n Object.keys(other).forEach(function (key) { return _this.set(key, other[key]); });\n }, undefined, false);\n return this;\n };\n ObservableMap.prototype.clear = function () {\n var _this = this;\n transaction(function () {\n untracked(function () {\n _this.keys().forEach(_this.delete, _this);\n });\n }, undefined, false);\n };\n Object.defineProperty(ObservableMap.prototype, \"size\", {\n get: function () {\n return this._keys.length;\n },\n enumerable: true,\n configurable: true\n });\n ObservableMap.prototype.toJS = function () {\n var _this = this;\n var res = {};\n this.keys().forEach(function (key) { return res[key] = _this.get(key); });\n return res;\n };\n ObservableMap.prototype.toJs = function () {\n deprecated(\"toJs is deprecated, use toJS instead\");\n return this.toJS();\n };\n ObservableMap.prototype.toJSON = function () {\n return this.toJS();\n };\n ObservableMap.prototype.isValidKey = function (key) {\n if (key === null || key === undefined)\n return false;\n if (typeof key !== \"string\" && typeof key !== \"number\" && typeof key !== \"boolean\")\n return false;\n return true;\n };\n ObservableMap.prototype.assertValidKey = function (key) {\n if (!this.isValidKey(key))\n throw new Error(\"[mobx.map] Invalid key: '\" + key + \"'\");\n };\n ObservableMap.prototype.toString = function () {\n var _this = this;\n return this.name + \"[{ \" + this.keys().map(function (key) { return (key + \": \" + (\"\" + _this.get(key))); }).join(\", \") + \" }]\";\n };\n ObservableMap.prototype.observe = function (listener, fireImmediately) {\n invariant(fireImmediately !== true, \"`observe` doesn't support the fire immediately property for observable maps.\");\n return registerListener(this, listener);\n };\n ObservableMap.prototype.intercept = function (handler) {\n return registerInterceptor(this, handler);\n };\n return ObservableMap;\n}());\nexports.ObservableMap = ObservableMap;\ndeclareIterator(ObservableMap.prototype, function () {\n return this.entries();\n});\nfunction map(initialValues, valueModifier) {\n return new ObservableMap(initialValues, valueModifier);\n}\nexports.map = map;\nvar isObservableMap = createInstanceofPredicate(\"ObservableMap\", ObservableMap);\nexports.isObservableMap = isObservableMap;\nvar ObservableObjectAdministration = (function () {\n function ObservableObjectAdministration(target, name, mode) {\n this.target = target;\n this.name = name;\n this.mode = mode;\n this.values = {};\n this.changeListeners = null;\n this.interceptors = null;\n }\n ObservableObjectAdministration.prototype.observe = function (callback, fireImmediately) {\n invariant(fireImmediately !== true, \"`observe` doesn't support the fire immediately property for observable objects.\");\n return registerListener(this, callback);\n };\n ObservableObjectAdministration.prototype.intercept = function (handler) {\n return registerInterceptor(this, handler);\n };\n return ObservableObjectAdministration;\n}());\nfunction asObservableObject(target, name, mode) {\n if (mode === void 0) { mode = ValueMode.Recursive; }\n if (isObservableObject(target))\n return target.$mobx;\n if (!isPlainObject(target))\n name = target.constructor.name + \"@\" + getNextId();\n if (!name)\n name = \"ObservableObject@\" + getNextId();\n var adm = new ObservableObjectAdministration(target, name, mode);\n addHiddenFinalProp(target, \"$mobx\", adm);\n return adm;\n}\nfunction setObservableObjectInstanceProperty(adm, propName, descriptor) {\n if (adm.values[propName]) {\n invariant(\"value\" in descriptor, \"cannot redefine property \" + propName);\n adm.target[propName] = descriptor.value;\n }\n else {\n if (\"value\" in descriptor)\n defineObservableProperty(adm, propName, descriptor.value, true, undefined);\n else\n defineObservableProperty(adm, propName, descriptor.get, true, descriptor.set);\n }\n}\nfunction defineObservableProperty(adm, propName, newValue, asInstanceProperty, setter) {\n if (asInstanceProperty)\n assertPropertyConfigurable(adm.target, propName);\n var observable;\n var name = adm.name + \".\" + propName;\n var isComputed = true;\n if (isComputedValue(newValue)) {\n observable = newValue;\n newValue.name = name;\n if (!newValue.scope)\n newValue.scope = adm.target;\n }\n else if (typeof newValue === \"function\" && newValue.length === 0 && !isAction(newValue)) {\n observable = new ComputedValue(newValue, adm.target, false, name, setter);\n }\n else if (getModifier(newValue) === ValueMode.Structure && typeof newValue.value === \"function\" && newValue.value.length === 0) {\n observable = new ComputedValue(newValue.value, adm.target, true, name, setter);\n }\n else {\n isComputed = false;\n if (hasInterceptors(adm)) {\n var change = interceptChange(adm, {\n object: adm.target,\n name: propName,\n type: \"add\",\n newValue: newValue\n });\n if (!change)\n return;\n newValue = change.newValue;\n }\n observable = new ObservableValue(newValue, adm.mode, name, false);\n newValue = observable.value;\n }\n adm.values[propName] = observable;\n if (asInstanceProperty) {\n Object.defineProperty(adm.target, propName, isComputed ? generateComputedPropConfig(propName) : generateObservablePropConfig(propName));\n }\n if (!isComputed)\n notifyPropertyAddition(adm, adm.target, propName, newValue);\n}\nvar observablePropertyConfigs = {};\nvar computedPropertyConfigs = {};\nfunction generateObservablePropConfig(propName) {\n var config = observablePropertyConfigs[propName];\n if (config)\n return config;\n return observablePropertyConfigs[propName] = {\n configurable: true,\n enumerable: true,\n get: function () {\n return this.$mobx.values[propName].get();\n },\n set: function (v) {\n setPropertyValue(this, propName, v);\n }\n };\n}\nfunction generateComputedPropConfig(propName) {\n var config = computedPropertyConfigs[propName];\n if (config)\n return config;\n return computedPropertyConfigs[propName] = {\n configurable: true,\n enumerable: false,\n get: function () {\n return this.$mobx.values[propName].get();\n },\n set: function (v) {\n return this.$mobx.values[propName].set(v);\n }\n };\n}\nfunction setPropertyValue(instance, name, newValue) {\n var adm = instance.$mobx;\n var observable = adm.values[name];\n if (hasInterceptors(adm)) {\n var change = interceptChange(adm, {\n type: \"update\",\n object: instance,\n name: name, newValue: newValue\n });\n if (!change)\n return;\n newValue = change.newValue;\n }\n newValue = observable.prepareNewValue(newValue);\n if (newValue !== UNCHANGED) {\n var notify = hasListeners(adm);\n var notifySpy = isSpyEnabled();\n var change = notify || notifySpy ? {\n type: \"update\",\n object: instance,\n oldValue: observable.value,\n name: name, newValue: newValue\n } : null;\n if (notifySpy)\n spyReportStart(change);\n observable.setNewValue(newValue);\n if (notify)\n notifyListeners(adm, change);\n if (notifySpy)\n spyReportEnd();\n }\n}\nfunction notifyPropertyAddition(adm, object, name, newValue) {\n var notify = hasListeners(adm);\n var notifySpy = isSpyEnabled();\n var change = notify || notifySpy ? {\n type: \"add\",\n object: object, name: name, newValue: newValue\n } : null;\n if (notifySpy)\n spyReportStart(change);\n if (notify)\n notifyListeners(adm, change);\n if (notifySpy)\n spyReportEnd();\n}\nvar isObservableObjectAdministration = createInstanceofPredicate(\"ObservableObjectAdministration\", ObservableObjectAdministration);\nfunction isObservableObject(thing) {\n if (isObject(thing)) {\n runLazyInitializers(thing);\n return isObservableObjectAdministration(thing.$mobx);\n }\n return false;\n}\nexports.isObservableObject = isObservableObject;\nvar UNCHANGED = {};\nvar ObservableValue = (function (_super) {\n __extends(ObservableValue, _super);\n function ObservableValue(value, mode, name, notifySpy) {\n if (name === void 0) { name = \"ObservableValue@\" + getNextId(); }\n if (notifySpy === void 0) { notifySpy = true; }\n _super.call(this, name);\n this.mode = mode;\n this.hasUnreportedChange = false;\n this.value = undefined;\n var _a = getValueModeFromValue(value, ValueMode.Recursive), childmode = _a[0], unwrappedValue = _a[1];\n if (this.mode === ValueMode.Recursive)\n this.mode = childmode;\n this.value = makeChildObservable(unwrappedValue, this.mode, this.name);\n if (notifySpy && isSpyEnabled()) {\n spyReport({ type: \"create\", object: this, newValue: this.value });\n }\n }\n ObservableValue.prototype.set = function (newValue) {\n var oldValue = this.value;\n newValue = this.prepareNewValue(newValue);\n if (newValue !== UNCHANGED) {\n var notifySpy = isSpyEnabled();\n if (notifySpy) {\n spyReportStart({\n type: \"update\",\n object: this,\n newValue: newValue, oldValue: oldValue\n });\n }\n this.setNewValue(newValue);\n if (notifySpy)\n spyReportEnd();\n }\n };\n ObservableValue.prototype.prepareNewValue = function (newValue) {\n assertUnwrapped(newValue, \"Modifiers cannot be used on non-initial values.\");\n checkIfStateModificationsAreAllowed();\n if (hasInterceptors(this)) {\n var change = interceptChange(this, { object: this, type: \"update\", newValue: newValue });\n if (!change)\n return UNCHANGED;\n newValue = change.newValue;\n }\n var changed = valueDidChange(this.mode === ValueMode.Structure, this.value, newValue);\n if (changed)\n return makeChildObservable(newValue, this.mode, this.name);\n return UNCHANGED;\n };\n ObservableValue.prototype.setNewValue = function (newValue) {\n var oldValue = this.value;\n this.value = newValue;\n this.reportChanged();\n if (hasListeners(this))\n notifyListeners(this, [newValue, oldValue]);\n };\n ObservableValue.prototype.get = function () {\n this.reportObserved();\n return this.value;\n };\n ObservableValue.prototype.intercept = function (handler) {\n return registerInterceptor(this, handler);\n };\n ObservableValue.prototype.observe = function (listener, fireImmediately) {\n if (fireImmediately)\n listener(this.value, undefined);\n return registerListener(this, listener);\n };\n ObservableValue.prototype.toJSON = function () {\n return this.get();\n };\n ObservableValue.prototype.toString = function () {\n return this.name + \"[\" + this.value + \"]\";\n };\n return ObservableValue;\n}(BaseAtom));\nvar isObservableValue = createInstanceofPredicate(\"ObservableValue\", ObservableValue);\nfunction getAtom(thing, property) {\n if (typeof thing === \"object\" && thing !== null) {\n if (isObservableArray(thing)) {\n invariant(property === undefined, \"It is not possible to get index atoms from arrays\");\n return thing.$mobx.atom;\n }\n if (isObservableMap(thing)) {\n if (property === undefined)\n return getAtom(thing._keys);\n var observable_2 = thing._data[property] || thing._hasMap[property];\n invariant(!!observable_2, \"the entry '\" + property + \"' does not exist in the observable map '\" + getDebugName(thing) + \"'\");\n return observable_2;\n }\n runLazyInitializers(thing);\n if (isObservableObject(thing)) {\n invariant(!!property, \"please specify a property\");\n var observable_3 = thing.$mobx.values[property];\n invariant(!!observable_3, \"no observable property '\" + property + \"' found on the observable object '\" + getDebugName(thing) + \"'\");\n return observable_3;\n }\n if (isAtom(thing) || isComputedValue(thing) || isReaction(thing)) {\n return thing;\n }\n }\n else if (typeof thing === \"function\") {\n if (isReaction(thing.$mobx)) {\n return thing.$mobx;\n }\n }\n invariant(false, \"Cannot obtain atom from \" + thing);\n}\nfunction getAdministration(thing, property) {\n invariant(thing, \"Expection some object\");\n if (property !== undefined)\n return getAdministration(getAtom(thing, property));\n if (isAtom(thing) || isComputedValue(thing) || isReaction(thing))\n return thing;\n if (isObservableMap(thing))\n return thing;\n runLazyInitializers(thing);\n if (thing.$mobx)\n return thing.$mobx;\n invariant(false, \"Cannot obtain administration from \" + thing);\n}\nfunction getDebugName(thing, property) {\n var named;\n if (property !== undefined)\n named = getAtom(thing, property);\n else if (isObservableObject(thing) || isObservableMap(thing))\n named = getAdministration(thing);\n else\n named = getAtom(thing);\n return named.name;\n}\nfunction createClassPropertyDecorator(onInitialize, get, set, enumerable, allowCustomArguments) {\n function classPropertyDecorator(target, key, descriptor, customArgs, argLen) {\n invariant(allowCustomArguments || quacksLikeADecorator(arguments), \"This function is a decorator, but it wasn't invoked like a decorator\");\n if (!descriptor) {\n var newDescriptor = {\n enumerable: enumerable,\n configurable: true,\n get: function () {\n if (!this.__mobxInitializedProps || this.__mobxInitializedProps[key] !== true)\n typescriptInitializeProperty(this, key, undefined, onInitialize, customArgs, descriptor);\n return get.call(this, key);\n },\n set: function (v) {\n if (!this.__mobxInitializedProps || this.__mobxInitializedProps[key] !== true) {\n typescriptInitializeProperty(this, key, v, onInitialize, customArgs, descriptor);\n }\n else {\n set.call(this, key, v);\n }\n }\n };\n if (arguments.length < 3 || arguments.length === 5 && argLen < 3) {\n Object.defineProperty(target, key, newDescriptor);\n }\n return newDescriptor;\n }\n else {\n if (!hasOwnProperty(target, \"__mobxLazyInitializers\")) {\n addHiddenProp(target, \"__mobxLazyInitializers\", (target.__mobxLazyInitializers && target.__mobxLazyInitializers.slice()) || []);\n }\n var value_1 = descriptor.value, initializer_1 = descriptor.initializer;\n target.__mobxLazyInitializers.push(function (instance) {\n onInitialize(instance, key, (initializer_1 ? initializer_1.call(instance) : value_1), customArgs, descriptor);\n });\n return {\n enumerable: enumerable, configurable: true,\n get: function () {\n if (this.__mobxDidRunLazyInitializers !== true)\n runLazyInitializers(this);\n return get.call(this, key);\n },\n set: function (v) {\n if (this.__mobxDidRunLazyInitializers !== true)\n runLazyInitializers(this);\n set.call(this, key, v);\n }\n };\n }\n }\n if (allowCustomArguments) {\n return function () {\n if (quacksLikeADecorator(arguments))\n return classPropertyDecorator.apply(null, arguments);\n var outerArgs = arguments;\n var argLen = arguments.length;\n return function (target, key, descriptor) { return classPropertyDecorator(target, key, descriptor, outerArgs, argLen); };\n };\n }\n return classPropertyDecorator;\n}\nfunction typescriptInitializeProperty(instance, key, v, onInitialize, customArgs, baseDescriptor) {\n if (!hasOwnProperty(instance, \"__mobxInitializedProps\"))\n addHiddenProp(instance, \"__mobxInitializedProps\", {});\n instance.__mobxInitializedProps[key] = true;\n onInitialize(instance, key, v, customArgs, baseDescriptor);\n}\nfunction runLazyInitializers(instance) {\n if (instance.__mobxDidRunLazyInitializers === true)\n return;\n if (instance.__mobxLazyInitializers) {\n addHiddenProp(instance, \"__mobxDidRunLazyInitializers\", true);\n instance.__mobxDidRunLazyInitializers && instance.__mobxLazyInitializers.forEach(function (initializer) { return initializer(instance); });\n }\n}\nfunction quacksLikeADecorator(args) {\n return (args.length === 2 || args.length === 3) && typeof args[1] === \"string\";\n}\nfunction iteratorSymbol() {\n return (typeof Symbol === \"function\" && Symbol.iterator) || \"@@iterator\";\n}\nvar IS_ITERATING_MARKER = \"__$$iterating\";\nfunction arrayAsIterator(array) {\n invariant(array[IS_ITERATING_MARKER] !== true, \"Illegal state: cannot recycle array as iterator\");\n addHiddenFinalProp(array, IS_ITERATING_MARKER, true);\n var idx = -1;\n addHiddenFinalProp(array, \"next\", function next() {\n idx++;\n return {\n done: idx >= this.length,\n value: idx < this.length ? this[idx] : undefined\n };\n });\n return array;\n}\nfunction declareIterator(prototType, iteratorFactory) {\n addHiddenFinalProp(prototType, iteratorSymbol(), iteratorFactory);\n}\nvar SimpleEventEmitter = (function () {\n function SimpleEventEmitter() {\n this.listeners = [];\n deprecated(\"extras.SimpleEventEmitter is deprecated and will be removed in the next major release\");\n }\n SimpleEventEmitter.prototype.emit = function () {\n var listeners = this.listeners.slice();\n for (var i = 0, l = listeners.length; i < l; i++)\n listeners[i].apply(null, arguments);\n };\n SimpleEventEmitter.prototype.on = function (listener) {\n var _this = this;\n this.listeners.push(listener);\n return once(function () {\n var idx = _this.listeners.indexOf(listener);\n if (idx !== -1)\n _this.listeners.splice(idx, 1);\n });\n };\n SimpleEventEmitter.prototype.once = function (listener) {\n var subscription = this.on(function () {\n subscription();\n listener.apply(this, arguments);\n });\n return subscription;\n };\n return SimpleEventEmitter;\n}());\nexports.SimpleEventEmitter = SimpleEventEmitter;\nvar EMPTY_ARRAY = [];\nObject.freeze(EMPTY_ARRAY);\nfunction getNextId() {\n return ++globalState.mobxGuid;\n}\nfunction invariant(check, message, thing) {\n if (!check)\n throw new Error(\"[mobx] Invariant failed: \" + message + (thing ? \" in '\" + thing + \"'\" : \"\"));\n}\nvar deprecatedMessages = [];\nfunction deprecated(msg) {\n if (deprecatedMessages.indexOf(msg) !== -1)\n return;\n deprecatedMessages.push(msg);\n console.error(\"[mobx] Deprecated: \" + msg);\n}\nfunction once(func) {\n var invoked = false;\n return function () {\n if (invoked)\n return;\n invoked = true;\n return func.apply(this, arguments);\n };\n}\nvar noop = function () { };\nfunction unique(list) {\n var res = [];\n list.forEach(function (item) {\n if (res.indexOf(item) === -1)\n res.push(item);\n });\n return res;\n}\nfunction joinStrings(things, limit, separator) {\n if (limit === void 0) { limit = 100; }\n if (separator === void 0) { separator = \" - \"; }\n if (!things)\n return \"\";\n var sliced = things.slice(0, limit);\n return \"\" + sliced.join(separator) + (things.length > limit ? \" (... and \" + (things.length - limit) + \"more)\" : \"\");\n}\nfunction isObject(value) {\n return value !== null && typeof value === \"object\";\n}\nfunction isPlainObject(value) {\n if (value === null || typeof value !== \"object\")\n return false;\n var proto = Object.getPrototypeOf(value);\n return proto === Object.prototype || proto === null;\n}\nfunction objectAssign() {\n var res = arguments[0];\n for (var i = 1, l = arguments.length; i < l; i++) {\n var source = arguments[i];\n for (var key in source)\n if (hasOwnProperty(source, key)) {\n res[key] = source[key];\n }\n }\n return res;\n}\nfunction valueDidChange(compareStructural, oldValue, newValue) {\n return compareStructural\n ? !deepEquals(oldValue, newValue)\n : oldValue !== newValue;\n}\nvar prototypeHasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwnProperty(object, propName) {\n return prototypeHasOwnProperty.call(object, propName);\n}\nfunction makeNonEnumerable(object, propNames) {\n for (var i = 0; i < propNames.length; i++) {\n addHiddenProp(object, propNames[i], object[propNames[i]]);\n }\n}\nfunction addHiddenProp(object, propName, value) {\n Object.defineProperty(object, propName, {\n enumerable: false,\n writable: true,\n configurable: true,\n value: value\n });\n}\nfunction addHiddenFinalProp(object, propName, value) {\n Object.defineProperty(object, propName, {\n enumerable: false,\n writable: false,\n configurable: true,\n value: value\n });\n}\nfunction isPropertyConfigurable(object, prop) {\n var descriptor = Object.getOwnPropertyDescriptor(object, prop);\n return !descriptor || (descriptor.configurable !== false && descriptor.writable !== false);\n}\nfunction assertPropertyConfigurable(object, prop) {\n invariant(isPropertyConfigurable(object, prop), \"Cannot make property '\" + prop + \"' observable, it is not configurable and writable in the target object\");\n}\nfunction getEnumerableKeys(obj) {\n var res = [];\n for (var key in obj)\n res.push(key);\n return res;\n}\nfunction deepEquals(a, b) {\n if (a === null && b === null)\n return true;\n if (a === undefined && b === undefined)\n return true;\n var aIsArray = Array.isArray(a) || isObservableArray(a);\n if (aIsArray !== (Array.isArray(b) || isObservableArray(b))) {\n return false;\n }\n else if (aIsArray) {\n if (a.length !== b.length)\n return false;\n for (var i = a.length - 1; i >= 0; i--)\n if (!deepEquals(a[i], b[i]))\n return false;\n return true;\n }\n else if (typeof a === \"object\" && typeof b === \"object\") {\n if (a === null || b === null)\n return false;\n if (getEnumerableKeys(a).length !== getEnumerableKeys(b).length)\n return false;\n for (var prop in a) {\n if (!(prop in b))\n return false;\n if (!deepEquals(a[prop], b[prop]))\n return false;\n }\n return true;\n }\n return a === b;\n}\nfunction createInstanceofPredicate(name, clazz) {\n var propName = \"isMobX\" + name;\n clazz.prototype[propName] = true;\n return function (x) {\n return isObject(x) && x[propName] === true;\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/mobx/lib/mobx.js\n// module id = ../../node_modules/mobx/lib/mobx.js\n// module chunks = 0","module.exports = require('./lib/emoji');\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/node-emoji/index.js\n// module id = ../../node_modules/node-emoji/index.js\n// module chunks = 0","/*jslint node: true*/\nrequire('string.prototype.codepointat');\n\n\"use strict\";\n\n/**\n * regex to parse emoji in a string - finds emoji, e.g. :coffee:\n */\nvar parser = /:([a-zA-Z0-9_\\-\\+]+):/g;\n\n/**\n * Emoji namespace\n */\nvar Emoji = module.exports = {\n emoji: require('./emoji.json')\n};\n\n/**\n * get emoji code from name\n * @param {string} emoji\n * @return {string}\n */\nEmoji._get = function _get(emoji) {\n if (Emoji.emoji.hasOwnProperty(emoji)) {\n return Emoji.emoji[emoji];\n }\n return ':' + emoji + ':';\n};\n\n/**\n * get emoji code from :emoji: string or name\n * @param {string} emoji\n * @return {string}\n */\nEmoji.get = function get(emoji) {\n if (emoji.indexOf(':') > -1) {\n // :emoji: (http://www.emoji-cheat-sheet.com/)\n emoji = emoji.substr(1, emoji.length-2);\n }\n\n return Emoji._get(emoji);\n};\n\n/**\n * get emoji name from code\n * @param {string} emoji_code\n * @return {string}\n */\nEmoji.which = function which(emoji_code) {\n for (var prop in Emoji.emoji) {\n if (Emoji.emoji.hasOwnProperty(prop)) {\n if (Emoji.emoji[prop].codePointAt() === emoji_code.codePointAt()) {\n return prop;\n }\n }\n }\n};\n\n/**\n * emojify a string (replace :emoji: with an emoji)\n * @param {string} str\n * @param {function} on_missing (gets emoji name without :: and returns a proper emoji if no emoji was found)\n * @return {string}\n */\nEmoji.emojify = function emojify(str, on_missing) {\n return str.split(parser) // parse emoji via regex\n .map(function parseEmoji(s, i) {\n // every second element is an emoji, e.g. \"test :fast_forward:\" -> [ \"test \", \"fast_forward\" ]\n if (i % 2 === 0) return s;\n var emoji = Emoji._get(s);\n if (emoji.indexOf(':') > -1 && typeof on_missing === 'function') {\n return on_missing(emoji.substr(1, emoji.length-2));\n }\n return emoji;\n })\n .join('') // convert back to string\n ;\n};\n\n/**\n * return a random emoji\n * @return {string}\n */\nEmoji.random = function random() {\n var emojiKeys = Object.keys(Emoji.emoji);\n var randomIndex = Math.floor(Math.random() * emojiKeys.length);\n var key = emojiKeys[randomIndex];\n var emoji = Emoji._get(key);\n return {key: key, emoji: emoji};\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/node-emoji/lib/emoji.js\n// module id = ../../node_modules/node-emoji/lib/emoji.js\n// module chunks = 0","module.exports = {\n\t\"100\": \"💯\",\n\t\"1234\": \"🔢\",\n\t\"interrobang\": \"⁉️\",\n\t\"tm\": \"™️\",\n\t\"information_source\": \"ℹ️\",\n\t\"left_right_arrow\": \"↔️\",\n\t\"arrow_up_down\": \"↕️\",\n\t\"arrow_upper_left\": \"↖️\",\n\t\"arrow_upper_right\": \"↗️\",\n\t\"arrow_lower_right\": \"↘️\",\n\t\"arrow_lower_left\": \"↙️\",\n\t\"keyboard\": \"⌨\",\n\t\"sunny\": \"☀️\",\n\t\"cloud\": \"☁️\",\n\t\"umbrella\": \"☔️\",\n\t\"showman\": \"☃\",\n\t\"comet\": \"☄\",\n\t\"ballot_box_with_check\": \"☑️\",\n\t\"coffee\": \"☕️\",\n\t\"shamrock\": \"☘\",\n\t\"skull_and_crossbones\": \"☠\",\n\t\"radioactive_sign\": \"☢\",\n\t\"biohazard_sign\": \"☣\",\n\t\"orthodox_cross\": \"☦\",\n\t\"wheel_of_dharma\": \"☸\",\n\t\"white_frowning_face\": \"☹\",\n\t\"aries\": \"♈️\",\n\t\"taurus\": \"♉️\",\n\t\"sagittarius\": \"♐️\",\n\t\"capricorn\": \"♑️\",\n\t\"aquarius\": \"♒️\",\n\t\"pisces\": \"♓️\",\n\t\"spades\": \"♠️\",\n\t\"clubs\": \"♣️\",\n\t\"hearts\": \"♥️\",\n\t\"diamonds\": \"♦️\",\n\t\"hotsprings\": \"♨️\",\n\t\"hammer_and_pick\": \"⚒\",\n\t\"anchor\": \"⚓️\",\n\t\"crossed_swords\": \"⚔\",\n\t\"scales\": \"⚖\",\n\t\"alembic\": \"⚗\",\n\t\"gear\": \"⚙\",\n\t\"scissors\": \"✂️\",\n\t\"white_check_mark\": \"✅\",\n\t\"airplane\": \"✈️\",\n\t\"email\": \"✉️\",\n\t\"envelope\": \"✉️\",\n\t\"black_nib\": \"✒️\",\n\t\"heavy_check_mark\": \"✔️\",\n\t\"heavy_multiplication_x\": \"✖️\",\n\t\"star_of_david\": \"✡\",\n\t\"sparkles\": \"✨\",\n\t\"eight_spoked_asterisk\": \"✳️\",\n\t\"eight_pointed_black_star\": \"✴️\",\n\t\"snowflake\": \"❄️\",\n\t\"sparkle\": \"❇️\",\n\t\"question\": \"❓\",\n\t\"grey_question\": \"❔\",\n\t\"grey_exclamation\": \"❕\",\n\t\"exclamation\": \"❗️\",\n\t\"heavy_exclamation_mark\": \"❗️\",\n\t\"heavy_heart_exclamation_mark_ornament\": \"❣\",\n\t\"heart\": \"❤️\",\n\t\"heavy_plus_sign\": \"➕\",\n\t\"heavy_minus_sign\": \"➖\",\n\t\"heavy_division_sign\": \"➗\",\n\t\"arrow_heading_up\": \"⤴️\",\n\t\"arrow_heading_down\": \"⤵️\",\n\t\"wavy_dash\": \"〰️\",\n\t\"congratulations\": \"㊗️\",\n\t\"secret\": \"㊙️\",\n\t\"copyright\": \"©️\",\n\t\"registered\": \"®️\",\n\t\"bangbang\": \"‼️\",\n\t\"leftwards_arrow_with_hook\": \"↩️\",\n\t\"arrow_right_hook\": \"↪️\",\n\t\"watch\": \"⌚️\",\n\t\"hourglass\": \"⌛️\",\n\t\"fast_forward\": \"⏩\",\n\t\"rewind\": \"⏪\",\n\t\"arrow_double_up\": \"⏫\",\n\t\"arrow_double_down\": \"⏬\",\n\t\"black_right_pointing_double_triangle_with_vertical_bar\": \"⏭\",\n\t\"black_left_pointing_double_triangle_with_vertical_bar\": \"⏮\",\n\t\"black_right_pointing_triangle_with_double_vertical_bar\": \"⏯\",\n\t\"alarm_clock\": \"⏰\",\n\t\"stopwatch\": \"⏱\",\n\t\"timer_clock\": \"⏲\",\n\t\"hourglass_flowing_sand\": \"⏳\",\n\t\"double_vertical_bar\": \"⏸\",\n\t\"black_square_for_stop\": \"⏹\",\n\t\"black_circle_for_record\": \"⏺\",\n\t\"m\": \"Ⓜ️\",\n\t\"black_small_square\": \"▪️\",\n\t\"white_small_square\": \"▫️\",\n\t\"arrow_forward\": \"▶️\",\n\t\"arrow_backward\": \"◀️\",\n\t\"white_medium_square\": \"◻️\",\n\t\"black_medium_square\": \"◼️\",\n\t\"white_medium_small_square\": \"◽️\",\n\t\"black_medium_small_square\": \"◾️\",\n\t\"phone\": \"☎️\",\n\t\"telephone\": \"☎️\",\n\t\"point_up\": \"☝️\",\n\t\"star_and_crescent\": \"☪\",\n\t\"peace_symbol\": \"☮\",\n\t\"yin_yang\": \"☯\",\n\t\"relaxed\": \"☺️\",\n\t\"gemini\": \"♊️\",\n\t\"cancer\": \"♋️\",\n\t\"leo\": \"♌️\",\n\t\"virgo\": \"♍️\",\n\t\"libra\": \"♎️\",\n\t\"scorpius\": \"♏️\",\n\t\"recycle\": \"♻️\",\n\t\"wheelchair\": \"♿️\",\n\t\"atom_symbol\": \"⚛\",\n\t\"fleur_de_lis\": \"⚜\",\n\t\"warning\": \"⚠️\",\n\t\"zap\": \"⚡️\",\n\t\"white_circle\": \"⚪️\",\n\t\"black_circle\": \"⚫️\",\n\t\"coffin\": \"⚰\",\n\t\"funeral_urn\": \"⚱\",\n\t\"soccer\": \"⚽️\",\n\t\"baseball\": \"⚾️\",\n\t\"snowman\": \"⛄️\",\n\t\"partly_sunny\": \"⛅️\",\n\t\"thunder_cloud_and_rain\": \"⛈\",\n\t\"ophiuchus\": \"⛎\",\n\t\"pick\": \"⛏\",\n\t\"helmet_with_white_cross\": \"⛑\",\n\t\"chains\": \"⛓\",\n\t\"no_entry\": \"⛔️\",\n\t\"shinto_shrine\": \"⛩\",\n\t\"church\": \"⛪️\",\n\t\"mountain\": \"⛰\",\n\t\"umbrella_on_ground\": \"⛱\",\n\t\"fountain\": \"⛲️\",\n\t\"golf\": \"⛳️\",\n\t\"ferry\": \"⛴\",\n\t\"boat\": \"⛵️\",\n\t\"sailboat\": \"⛵️\",\n\t\"skier\": \"⛷\",\n\t\"ice_skate\": \"⛸\",\n\t\"person_with_ball\": \"⛹\",\n\t\"tent\": \"⛺️\",\n\t\"fuelpump\": \"⛽️\",\n\t\"fist\": \"✊\",\n\t\"hand\": \"✋\",\n\t\"raised_hand\": \"✋\",\n\t\"v\": \"✌️\",\n\t\"writing_hand\": \"✍\",\n\t\"pencil2\": \"✏️\",\n\t\"latin_cross\": \"✝\",\n\t\"x\": \"❌\",\n\t\"negative_squared_cross_mark\": \"❎\",\n\t\"arrow_right\": \"➡️\",\n\t\"curly_loop\": \"➰\",\n\t\"loop\": \"➿\",\n\t\"arrow_left\": \"⬅️\",\n\t\"arrow_up\": \"⬆️\",\n\t\"arrow_down\": \"⬇️\",\n\t\"black_large_square\": \"⬛️\",\n\t\"white_large_square\": \"⬜️\",\n\t\"star\": \"⭐️\",\n\t\"o\": \"⭕️\",\n\t\"part_alternation_mark\": \"〽️\",\n\t\"mahjong\": \"🀄️\",\n\t\"black_joker\": \"🃏\",\n\t\"a\": \"🅰️\",\n\t\"b\": \"🅱️\",\n\t\"o2\": \"🅾️\",\n\t\"parking\": \"🅿️\",\n\t\"ab\": \"🆎\",\n\t\"cl\": \"🆑\",\n\t\"cool\": \"🆒\",\n\t\"free\": \"🆓\",\n\t\"id\": \"🆔\",\n\t\"new\": \"🆕\",\n\t\"ng\": \"🆖\",\n\t\"ok\": \"🆗\",\n\t\"sos\": \"🆘\",\n\t\"up\": \"🆙\",\n\t\"vs\": \"🆚\",\n\t\"koko\": \"🈁\",\n\t\"sa\": \"🈂️\",\n\t\"u7121\": \"🈚️\",\n\t\"u6307\": \"🈯️\",\n\t\"u7981\": \"🈲\",\n\t\"u7a7a\": \"🈳\",\n\t\"u5408\": \"🈴\",\n\t\"u6e80\": \"🈵\",\n\t\"u6709\": \"🈶\",\n\t\"u6708\": \"🈷️\",\n\t\"u7533\": \"🈸\",\n\t\"u5272\": \"🈹\",\n\t\"u55b6\": \"🈺\",\n\t\"ideograph_advantage\": \"🉐\",\n\t\"accept\": \"🉑\",\n\t\"cyclone\": \"🌀\",\n\t\"foggy\": \"🌁\",\n\t\"closed_umbrella\": \"🌂\",\n\t\"night_with_stars\": \"🌃\",\n\t\"sunrise_over_mountains\": \"🌄\",\n\t\"sunrise\": \"🌅\",\n\t\"city_sunset\": \"🌆\",\n\t\"city_sunrise\": \"🌇\",\n\t\"rainbow\": \"🌈\",\n\t\"bridge_at_night\": \"🌉\",\n\t\"ocean\": \"🌊\",\n\t\"volcano\": \"🌋\",\n\t\"milky_way\": \"🌌\",\n\t\"earth_africa\": \"🌍\",\n\t\"earth_americas\": \"🌎\",\n\t\"earth_asia\": \"🌏\",\n\t\"globe_with_meridians\": \"🌐\",\n\t\"new_moon\": \"🌑\",\n\t\"waxing_crescent_moon\": \"🌒\",\n\t\"first_quarter_moon\": \"🌓\",\n\t\"moon\": \"🌔\",\n\t\"waxing_gibbous_moon\": \"🌔\",\n\t\"full_moon\": \"🌕\",\n\t\"waning_gibbous_moon\": \"🌖\",\n\t\"last_quarter_moon\": \"🌗\",\n\t\"waning_crescent_moon\": \"🌘\",\n\t\"crescent_moon\": \"🌙\",\n\t\"new_moon_with_face\": \"🌚\",\n\t\"first_quarter_moon_with_face\": \"🌛\",\n\t\"last_quarter_moon_with_face\": \"🌜\",\n\t\"full_moon_with_face\": \"🌝\",\n\t\"sun_with_face\": \"🌞\",\n\t\"star2\": \"🌟\",\n\t\"stars\": \"🌠\",\n\t\"thermometer\": \"🌡\",\n\t\"mostly_sunny\": \"🌤\",\n\t\"sun_small_cloud\": \"🌤\",\n\t\"barely_sunny\": \"🌥\",\n\t\"sun_behind_cloud\": \"🌥\",\n\t\"partly_sunny_rain\": \"🌦\",\n\t\"sun_behind_rain_cloud\": \"🌦\",\n\t\"rain_cloud\": \"🌧\",\n\t\"snow_cloud\": \"🌨\",\n\t\"lightning\": \"🌩\",\n\t\"lightning_cloud\": \"🌩\",\n\t\"tornado\": \"🌪\",\n\t\"tornado_cloud\": \"🌪\",\n\t\"fog\": \"🌫\",\n\t\"wind_blowing_face\": \"🌬\",\n\t\"hotdog\": \"🌭\",\n\t\"taco\": \"🌮\",\n\t\"burrito\": \"🌯\",\n\t\"chestnut\": \"🌰\",\n\t\"seedling\": \"🌱\",\n\t\"evergreen_tree\": \"🌲\",\n\t\"deciduous_tree\": \"🌳\",\n\t\"palm_tree\": \"🌴\",\n\t\"cactus\": \"🌵\",\n\t\"hot_pepper\": \"🌶\",\n\t\"tulip\": \"🌷\",\n\t\"cherry_blossom\": \"🌸\",\n\t\"rose\": \"🌹\",\n\t\"hibiscus\": \"🌺\",\n\t\"sunflower\": \"🌻\",\n\t\"blossom\": \"🌼\",\n\t\"corn\": \"🌽\",\n\t\"ear_of_rice\": \"🌾\",\n\t\"herb\": \"🌿\",\n\t\"four_leaf_clover\": \"🍀\",\n\t\"maple_leaf\": \"🍁\",\n\t\"fallen_leaf\": \"🍂\",\n\t\"leaves\": \"🍃\",\n\t\"mushroom\": \"🍄\",\n\t\"tomato\": \"🍅\",\n\t\"eggplant\": \"🍆\",\n\t\"grapes\": \"🍇\",\n\t\"melon\": \"🍈\",\n\t\"watermelon\": \"🍉\",\n\t\"tangerine\": \"🍊\",\n\t\"lemon\": \"🍋\",\n\t\"banana\": \"🍌\",\n\t\"pineapple\": \"🍍\",\n\t\"apple\": \"🍎\",\n\t\"green_apple\": \"🍏\",\n\t\"pear\": \"🍐\",\n\t\"peach\": \"🍑\",\n\t\"cherries\": \"🍒\",\n\t\"strawberry\": \"🍓\",\n\t\"hamburger\": \"🍔\",\n\t\"pizza\": \"🍕\",\n\t\"meat_on_bone\": \"🍖\",\n\t\"poultry_leg\": \"🍗\",\n\t\"rice_cracker\": \"🍘\",\n\t\"rice_ball\": \"🍙\",\n\t\"rice\": \"🍚\",\n\t\"curry\": \"🍛\",\n\t\"ramen\": \"🍜\",\n\t\"spaghetti\": \"🍝\",\n\t\"bread\": \"🍞\",\n\t\"fries\": \"🍟\",\n\t\"sweet_potato\": \"🍠\",\n\t\"dango\": \"🍡\",\n\t\"oden\": \"🍢\",\n\t\"sushi\": \"🍣\",\n\t\"fried_shrimp\": \"🍤\",\n\t\"fish_cake\": \"🍥\",\n\t\"icecream\": \"🍦\",\n\t\"shaved_ice\": \"🍧\",\n\t\"ice_cream\": \"🍨\",\n\t\"doughnut\": \"🍩\",\n\t\"cookie\": \"🍪\",\n\t\"chocolate_bar\": \"🍫\",\n\t\"candy\": \"🍬\",\n\t\"lollipop\": \"🍭\",\n\t\"custard\": \"🍮\",\n\t\"honey_pot\": \"🍯\",\n\t\"cake\": \"🍰\",\n\t\"bento\": \"🍱\",\n\t\"stew\": \"🍲\",\n\t\"egg\": \"🍳\",\n\t\"fork_and_knife\": \"🍴\",\n\t\"tea\": \"🍵\",\n\t\"sake\": \"🍶\",\n\t\"wine_glass\": \"🍷\",\n\t\"cocktail\": \"🍸\",\n\t\"tropical_drink\": \"🍹\",\n\t\"beer\": \"🍺\",\n\t\"beers\": \"🍻\",\n\t\"baby_bottle\": \"🍼\",\n\t\"knife_fork_plate\": \"🍽\",\n\t\"champagne\": \"🍾\",\n\t\"popcorn\": \"🍿\",\n\t\"ribbon\": \"🎀\",\n\t\"gift\": \"🎁\",\n\t\"birthday\": \"🎂\",\n\t\"jack_o_lantern\": \"🎃\",\n\t\"christmas_tree\": \"🎄\",\n\t\"santa\": \"🎅\",\n\t\"fireworks\": \"🎆\",\n\t\"sparkler\": \"🎇\",\n\t\"balloon\": \"🎈\",\n\t\"tada\": \"🎉\",\n\t\"confetti_ball\": \"🎊\",\n\t\"tanabata_tree\": \"🎋\",\n\t\"crossed_flags\": \"🎌\",\n\t\"bamboo\": \"🎍\",\n\t\"dolls\": \"🎎\",\n\t\"flags\": \"🎏\",\n\t\"wind_chime\": \"🎐\",\n\t\"rice_scene\": \"🎑\",\n\t\"school_satchel\": \"🎒\",\n\t\"mortar_board\": \"🎓\",\n\t\"medal\": \"🎖\",\n\t\"reminder_ribbon\": \"🎗\",\n\t\"studio_microphone\": \"🎙\",\n\t\"level_slider\": \"🎚\",\n\t\"control_knobs\": \"🎛\",\n\t\"film_frames\": \"🎞\",\n\t\"admission_tickets\": \"🎟\",\n\t\"carousel_horse\": \"🎠\",\n\t\"ferris_wheel\": \"🎡\",\n\t\"roller_coaster\": \"🎢\",\n\t\"fishing_pole_and_fish\": \"🎣\",\n\t\"microphone\": \"🎤\",\n\t\"movie_camera\": \"🎥\",\n\t\"cinema\": \"🎦\",\n\t\"headphones\": \"🎧\",\n\t\"art\": \"🎨\",\n\t\"tophat\": \"🎩\",\n\t\"circus_tent\": \"🎪\",\n\t\"ticket\": \"🎫\",\n\t\"clapper\": \"🎬\",\n\t\"performing_arts\": \"🎭\",\n\t\"video_game\": \"🎮\",\n\t\"dart\": \"🎯\",\n\t\"slot_machine\": \"🎰\",\n\t\"8ball\": \"🎱\",\n\t\"game_die\": \"🎲\",\n\t\"bowling\": \"🎳\",\n\t\"flower_playing_cards\": \"🎴\",\n\t\"musical_note\": \"🎵\",\n\t\"notes\": \"🎶\",\n\t\"saxophone\": \"🎷\",\n\t\"guitar\": \"🎸\",\n\t\"musical_keyboard\": \"🎹\",\n\t\"trumpet\": \"🎺\",\n\t\"violin\": \"🎻\",\n\t\"musical_score\": \"🎼\",\n\t\"running_shirt_with_sash\": \"🎽\",\n\t\"tennis\": \"🎾\",\n\t\"ski\": \"🎿\",\n\t\"basketball\": \"🏀\",\n\t\"checkered_flag\": \"🏁\",\n\t\"snowboarder\": \"🏂\",\n\t\"runner\": \"🏃\",\n\t\"running\": \"🏃\",\n\t\"surfer\": \"🏄\",\n\t\"sports_medal\": \"🏅\",\n\t\"trophy\": \"🏆\",\n\t\"horse_racing\": \"🏇\",\n\t\"football\": \"🏈\",\n\t\"rugby_football\": \"🏉\",\n\t\"swimmer\": \"🏊\",\n\t\"weight_lifter\": \"🏋\",\n\t\"golfer\": \"🏌\",\n\t\"racing_motorcycle\": \"🏍\",\n\t\"racing_car\": \"🏎\",\n\t\"cricket_bat_and_ball\": \"🏏\",\n\t\"volleyball\": \"🏐\",\n\t\"field_hockey_stick_and_ball\": \"🏑\",\n\t\"ice_hockey_stick_and_puck\": \"🏒\",\n\t\"table_tennis_paddle_and_ball\": \"🏓\",\n\t\"snow_capped_mountain\": \"🏔\",\n\t\"camping\": \"🏕\",\n\t\"beach_with_umbrella\": \"🏖\",\n\t\"building_construction\": \"🏗\",\n\t\"house_buildings\": \"🏘\",\n\t\"cityscape\": \"🏙\",\n\t\"derelict_house_building\": \"🏚\",\n\t\"classical_building\": \"🏛\",\n\t\"desert\": \"🏜\",\n\t\"desert_island\": \"🏝\",\n\t\"national_park\": \"🏞\",\n\t\"stadium\": \"🏟\",\n\t\"house\": \"🏠\",\n\t\"house_with_garden\": \"🏡\",\n\t\"office\": \"🏢\",\n\t\"post_office\": \"🏣\",\n\t\"european_post_office\": \"🏤\",\n\t\"hospital\": \"🏥\",\n\t\"bank\": \"🏦\",\n\t\"atm\": \"🏧\",\n\t\"hotel\": \"🏨\",\n\t\"love_hotel\": \"🏩\",\n\t\"convenience_store\": \"🏪\",\n\t\"school\": \"🏫\",\n\t\"department_store\": \"🏬\",\n\t\"factory\": \"🏭\",\n\t\"izakaya_lantern\": \"🏮\",\n\t\"lantern\": \"🏮\",\n\t\"japanese_castle\": \"🏯\",\n\t\"european_castle\": \"🏰\",\n\t\"waving_white_flag\": \"🏳\",\n\t\"waving_black_flag\": \"🏴\",\n\t\"rosette\": \"🏵\",\n\t\"label\": \"🏷\",\n\t\"badminton_racquet_and_shuttlecock\": \"🏸\",\n\t\"bow_and_arrow\": \"🏹\",\n\t\"amphora\": \"🏺\",\n\t\"skin-tone-2\": \"🏻\",\n\t\"skin-tone-3\": \"🏼\",\n\t\"skin-tone-4\": \"🏽\",\n\t\"skin-tone-5\": \"🏾\",\n\t\"skin-tone-6\": \"🏿\",\n\t\"rat\": \"🐀\",\n\t\"mouse2\": \"🐁\",\n\t\"ox\": \"🐂\",\n\t\"water_buffalo\": \"🐃\",\n\t\"cow2\": \"🐄\",\n\t\"tiger2\": \"🐅\",\n\t\"leopard\": \"🐆\",\n\t\"rabbit2\": \"🐇\",\n\t\"cat2\": \"🐈\",\n\t\"dragon\": \"🐉\",\n\t\"crocodile\": \"🐊\",\n\t\"whale2\": \"🐋\",\n\t\"snail\": \"🐌\",\n\t\"snake\": \"🐍\",\n\t\"racehorse\": \"🐎\",\n\t\"ram\": \"🐏\",\n\t\"goat\": \"🐐\",\n\t\"sheep\": \"🐑\",\n\t\"monkey\": \"🐒\",\n\t\"rooster\": \"🐓\",\n\t\"chicken\": \"🐔\",\n\t\"dog2\": \"🐕\",\n\t\"pig2\": \"🐖\",\n\t\"boar\": \"🐗\",\n\t\"elephant\": \"🐘\",\n\t\"octopus\": \"🐙\",\n\t\"shell\": \"🐚\",\n\t\"bug\": \"🐛\",\n\t\"ant\": \"🐜\",\n\t\"bee\": \"🐝\",\n\t\"honeybee\": \"🐝\",\n\t\"beetle\": \"🐞\",\n\t\"fish\": \"🐟\",\n\t\"tropical_fish\": \"🐠\",\n\t\"blowfish\": \"🐡\",\n\t\"turtle\": \"🐢\",\n\t\"hatching_chick\": \"🐣\",\n\t\"baby_chick\": \"🐤\",\n\t\"hatched_chick\": \"🐥\",\n\t\"bird\": \"🐦\",\n\t\"penguin\": \"🐧\",\n\t\"koala\": \"🐨\",\n\t\"poodle\": \"🐩\",\n\t\"dromedary_camel\": \"🐪\",\n\t\"camel\": \"🐫\",\n\t\"dolphin\": \"🐬\",\n\t\"flipper\": \"🐬\",\n\t\"mouse\": \"🐭\",\n\t\"cow\": \"🐮\",\n\t\"tiger\": \"🐯\",\n\t\"rabbit\": \"🐰\",\n\t\"cat\": \"🐱\",\n\t\"dragon_face\": \"🐲\",\n\t\"whale\": \"🐳\",\n\t\"horse\": \"🐴\",\n\t\"monkey_face\": \"🐵\",\n\t\"dog\": \"🐶\",\n\t\"pig\": \"🐷\",\n\t\"frog\": \"🐸\",\n\t\"hamster\": \"🐹\",\n\t\"wolf\": \"🐺\",\n\t\"bear\": \"🐻\",\n\t\"panda_face\": \"🐼\",\n\t\"pig_nose\": \"🐽\",\n\t\"feet\": \"🐾\",\n\t\"paw_prints\": \"🐾\",\n\t\"chipmunk\": \"🐿\",\n\t\"eyes\": \"👀\",\n\t\"eye\": \"👁\",\n\t\"ear\": \"👂\",\n\t\"nose\": \"👃\",\n\t\"lips\": \"👄\",\n\t\"tongue\": \"👅\",\n\t\"point_up_2\": \"👆\",\n\t\"point_down\": \"👇\",\n\t\"point_left\": \"👈\",\n\t\"point_right\": \"👉\",\n\t\"facepunch\": \"👊\",\n\t\"punch\": \"👊\",\n\t\"wave\": \"👋\",\n\t\"ok_hand\": \"👌\",\n\t\"+1\": \"👍\",\n\t\"thumbsup\": \"👍\",\n\t\"-1\": \"👎\",\n\t\"thumbsdown\": \"👎\",\n\t\"clap\": \"👏\",\n\t\"open_hands\": \"👐\",\n\t\"crown\": \"👑\",\n\t\"womans_hat\": \"👒\",\n\t\"eyeglasses\": \"👓\",\n\t\"necktie\": \"👔\",\n\t\"shirt\": \"👕\",\n\t\"tshirt\": \"👕\",\n\t\"jeans\": \"👖\",\n\t\"dress\": \"👗\",\n\t\"kimono\": \"👘\",\n\t\"bikini\": \"👙\",\n\t\"womans_clothes\": \"👚\",\n\t\"purse\": \"👛\",\n\t\"handbag\": \"👜\",\n\t\"pouch\": \"👝\",\n\t\"mans_shoe\": \"👞\",\n\t\"shoe\": \"👞\",\n\t\"athletic_shoe\": \"👟\",\n\t\"high_heel\": \"👠\",\n\t\"sandal\": \"👡\",\n\t\"boot\": \"👢\",\n\t\"footprints\": \"👣\",\n\t\"bust_in_silhouette\": \"👤\",\n\t\"busts_in_silhouette\": \"👥\",\n\t\"boy\": \"👦\",\n\t\"girl\": \"👧\",\n\t\"man\": \"👨\",\n\t\"woman\": \"👩\",\n\t\"family\": \"👨‍👩‍👦\",\n\t\"man-woman-boy\": \"👨‍👩‍👦\",\n\t\"couple\": \"👫\",\n\t\"man_and_woman_holding_hands\": \"👫\",\n\t\"two_men_holding_hands\": \"👬\",\n\t\"two_women_holding_hands\": \"👭\",\n\t\"cop\": \"👮\",\n\t\"dancers\": \"👯\",\n\t\"bride_with_veil\": \"👰\",\n\t\"person_with_blond_hair\": \"👱\",\n\t\"man_with_gua_pi_mao\": \"👲\",\n\t\"man_with_turban\": \"👳\",\n\t\"older_man\": \"👴\",\n\t\"older_woman\": \"👵\",\n\t\"baby\": \"👶\",\n\t\"construction_worker\": \"👷\",\n\t\"princess\": \"👸\",\n\t\"japanese_ogre\": \"👹\",\n\t\"japanese_goblin\": \"👺\",\n\t\"ghost\": \"👻\",\n\t\"angel\": \"👼\",\n\t\"alien\": \"👽\",\n\t\"space_invader\": \"👾\",\n\t\"imp\": \"👿\",\n\t\"skull\": \"💀\",\n\t\"information_desk_person\": \"💁\",\n\t\"guardsman\": \"💂\",\n\t\"dancer\": \"💃\",\n\t\"lipstick\": \"💄\",\n\t\"nail_care\": \"💅\",\n\t\"massage\": \"💆\",\n\t\"haircut\": \"💇\",\n\t\"barber\": \"💈\",\n\t\"syringe\": \"💉\",\n\t\"pill\": \"💊\",\n\t\"kiss\": \"💋\",\n\t\"love_letter\": \"💌\",\n\t\"ring\": \"💍\",\n\t\"gem\": \"💎\",\n\t\"couplekiss\": \"💏\",\n\t\"bouquet\": \"💐\",\n\t\"couple_with_heart\": \"💑\",\n\t\"wedding\": \"💒\",\n\t\"heartbeat\": \"💓\",\n\t\"broken_heart\": \"💔\",\n\t\"two_hearts\": \"💕\",\n\t\"sparkling_heart\": \"💖\",\n\t\"heartpulse\": \"💗\",\n\t\"cupid\": \"💘\",\n\t\"blue_heart\": \"💙\",\n\t\"green_heart\": \"💚\",\n\t\"yellow_heart\": \"💛\",\n\t\"purple_heart\": \"💜\",\n\t\"gift_heart\": \"💝\",\n\t\"revolving_hearts\": \"💞\",\n\t\"heart_decoration\": \"💟\",\n\t\"diamond_shape_with_a_dot_inside\": \"💠\",\n\t\"bulb\": \"💡\",\n\t\"anger\": \"💢\",\n\t\"bomb\": \"💣\",\n\t\"zzz\": \"💤\",\n\t\"boom\": \"💥\",\n\t\"collision\": \"💥\",\n\t\"sweat_drops\": \"💦\",\n\t\"droplet\": \"💧\",\n\t\"dash\": \"💨\",\n\t\"hankey\": \"💩\",\n\t\"poop\": \"💩\",\n\t\"shit\": \"💩\",\n\t\"muscle\": \"💪\",\n\t\"dizzy\": \"💫\",\n\t\"speech_balloon\": \"💬\",\n\t\"thought_balloon\": \"💭\",\n\t\"white_flower\": \"💮\",\n\t\"moneybag\": \"💰\",\n\t\"currency_exchange\": \"💱\",\n\t\"heavy_dollar_sign\": \"💲\",\n\t\"credit_card\": \"💳\",\n\t\"yen\": \"💴\",\n\t\"dollar\": \"💵\",\n\t\"euro\": \"💶\",\n\t\"pound\": \"💷\",\n\t\"money_with_wings\": \"💸\",\n\t\"chart\": \"💹\",\n\t\"seat\": \"💺\",\n\t\"computer\": \"💻\",\n\t\"briefcase\": \"💼\",\n\t\"minidisc\": \"💽\",\n\t\"floppy_disk\": \"💾\",\n\t\"cd\": \"💿\",\n\t\"dvd\": \"📀\",\n\t\"file_folder\": \"📁\",\n\t\"open_file_folder\": \"📂\",\n\t\"page_with_curl\": \"📃\",\n\t\"page_facing_up\": \"📄\",\n\t\"date\": \"📅\",\n\t\"calendar\": \"📆\",\n\t\"card_index\": \"📇\",\n\t\"chart_with_upwards_trend\": \"📈\",\n\t\"chart_with_downwards_trend\": \"📉\",\n\t\"bar_chart\": \"📊\",\n\t\"clipboard\": \"📋\",\n\t\"pushpin\": \"📌\",\n\t\"round_pushpin\": \"📍\",\n\t\"paperclip\": \"📎\",\n\t\"straight_ruler\": \"📏\",\n\t\"triangular_ruler\": \"📐\",\n\t\"bookmark_tabs\": \"📑\",\n\t\"ledger\": \"📒\",\n\t\"notebook\": \"📓\",\n\t\"notebook_with_decorative_cover\": \"📔\",\n\t\"closed_book\": \"📕\",\n\t\"book\": \"📖\",\n\t\"open_book\": \"📖\",\n\t\"green_book\": \"📗\",\n\t\"blue_book\": \"📘\",\n\t\"orange_book\": \"📙\",\n\t\"books\": \"📚\",\n\t\"name_badge\": \"📛\",\n\t\"scroll\": \"📜\",\n\t\"memo\": \"📝\",\n\t\"pencil\": \"📝\",\n\t\"telephone_receiver\": \"📞\",\n\t\"pager\": \"📟\",\n\t\"fax\": \"📠\",\n\t\"satellite\": \"🛰\",\n\t\"loudspeaker\": \"📢\",\n\t\"mega\": \"📣\",\n\t\"outbox_tray\": \"📤\",\n\t\"inbox_tray\": \"📥\",\n\t\"package\": \"📦\",\n\t\"e-mail\": \"📧\",\n\t\"incoming_envelope\": \"📨\",\n\t\"envelope_with_arrow\": \"📩\",\n\t\"mailbox_closed\": \"📪\",\n\t\"mailbox\": \"📫\",\n\t\"mailbox_with_mail\": \"📬\",\n\t\"mailbox_with_no_mail\": \"📭\",\n\t\"postbox\": \"📮\",\n\t\"postal_horn\": \"📯\",\n\t\"newspaper\": \"📰\",\n\t\"iphone\": \"📱\",\n\t\"calling\": \"📲\",\n\t\"vibration_mode\": \"📳\",\n\t\"mobile_phone_off\": \"📴\",\n\t\"no_mobile_phones\": \"📵\",\n\t\"signal_strength\": \"📶\",\n\t\"camera\": \"📷\",\n\t\"camera_with_flash\": \"📸\",\n\t\"video_camera\": \"📹\",\n\t\"tv\": \"📺\",\n\t\"radio\": \"📻\",\n\t\"vhs\": \"📼\",\n\t\"film_projector\": \"📽\",\n\t\"prayer_beads\": \"📿\",\n\t\"twisted_rightwards_arrows\": \"🔀\",\n\t\"repeat\": \"🔁\",\n\t\"repeat_one\": \"🔂\",\n\t\"arrows_clockwise\": \"🔃\",\n\t\"arrows_counterclockwise\": \"🔄\",\n\t\"low_brightness\": \"🔅\",\n\t\"high_brightness\": \"🔆\",\n\t\"mute\": \"🔇\",\n\t\"speaker\": \"🔈\",\n\t\"sound\": \"🔉\",\n\t\"loud_sound\": \"🔊\",\n\t\"battery\": \"🔋\",\n\t\"electric_plug\": \"🔌\",\n\t\"mag\": \"🔍\",\n\t\"mag_right\": \"🔎\",\n\t\"lock_with_ink_pen\": \"🔏\",\n\t\"closed_lock_with_key\": \"🔐\",\n\t\"key\": \"🔑\",\n\t\"lock\": \"🔒\",\n\t\"unlock\": \"🔓\",\n\t\"bell\": \"🔔\",\n\t\"no_bell\": \"🔕\",\n\t\"bookmark\": \"🔖\",\n\t\"link\": \"🔗\",\n\t\"radio_button\": \"🔘\",\n\t\"back\": \"🔙\",\n\t\"end\": \"🔚\",\n\t\"on\": \"🔛\",\n\t\"soon\": \"🔜\",\n\t\"top\": \"🔝\",\n\t\"underage\": \"🔞\",\n\t\"keycap_ten\": \"🔟\",\n\t\"capital_abcd\": \"🔠\",\n\t\"abcd\": \"🔡\",\n\t\"symbols\": \"🔣\",\n\t\"abc\": \"🔤\",\n\t\"fire\": \"🔥\",\n\t\"flashlight\": \"🔦\",\n\t\"wrench\": \"🔧\",\n\t\"hammer\": \"🔨\",\n\t\"nut_and_bolt\": \"🔩\",\n\t\"hocho\": \"🔪\",\n\t\"knife\": \"🔪\",\n\t\"gun\": \"🔫\",\n\t\"microscope\": \"🔬\",\n\t\"telescope\": \"🔭\",\n\t\"crystal_ball\": \"🔮\",\n\t\"six_pointed_star\": \"🔯\",\n\t\"beginner\": \"🔰\",\n\t\"trident\": \"🔱\",\n\t\"black_square_button\": \"🔲\",\n\t\"white_square_button\": \"🔳\",\n\t\"red_circle\": \"🔴\",\n\t\"large_blue_circle\": \"🔵\",\n\t\"large_orange_diamond\": \"🔶\",\n\t\"large_blue_diamond\": \"🔷\",\n\t\"small_orange_diamond\": \"🔸\",\n\t\"small_blue_diamond\": \"🔹\",\n\t\"small_red_triangle\": \"🔺\",\n\t\"small_red_triangle_down\": \"🔻\",\n\t\"arrow_up_small\": \"🔼\",\n\t\"arrow_down_small\": \"🔽\",\n\t\"om_symbol\": \"🕉\",\n\t\"dove_of_peace\": \"🕊\",\n\t\"kaaba\": \"🕋\",\n\t\"mosque\": \"🕌\",\n\t\"synagogue\": \"🕍\",\n\t\"menorah_with_nine_branches\": \"🕎\",\n\t\"clock1\": \"🕐\",\n\t\"clock2\": \"🕑\",\n\t\"clock3\": \"🕒\",\n\t\"clock4\": \"🕓\",\n\t\"clock5\": \"🕔\",\n\t\"clock6\": \"🕕\",\n\t\"clock7\": \"🕖\",\n\t\"clock8\": \"🕗\",\n\t\"clock9\": \"🕘\",\n\t\"clock10\": \"🕙\",\n\t\"clock11\": \"🕚\",\n\t\"clock12\": \"🕛\",\n\t\"clock130\": \"🕜\",\n\t\"clock230\": \"🕝\",\n\t\"clock330\": \"🕞\",\n\t\"clock430\": \"🕟\",\n\t\"clock530\": \"🕠\",\n\t\"clock630\": \"🕡\",\n\t\"clock730\": \"🕢\",\n\t\"clock830\": \"🕣\",\n\t\"clock930\": \"🕤\",\n\t\"clock1030\": \"🕥\",\n\t\"clock1130\": \"🕦\",\n\t\"clock1230\": \"🕧\",\n\t\"candle\": \"🕯\",\n\t\"mantelpiece_clock\": \"🕰\",\n\t\"hole\": \"🕳\",\n\t\"man_in_business_suit_levitating\": \"🕴\",\n\t\"sleuth_or_spy\": \"🕵\",\n\t\"dark_sunglasses\": \"🕶\",\n\t\"spider\": \"🕷\",\n\t\"spider_web\": \"🕸\",\n\t\"joystick\": \"🕹\",\n\t\"linked_paperclips\": \"🖇\",\n\t\"lower_left_ballpoint_pen\": \"🖊\",\n\t\"lower_left_fountain_pen\": \"🖋\",\n\t\"lower_left_paintbrush\": \"🖌\",\n\t\"lower_left_crayon\": \"🖍\",\n\t\"raised_hand_with_fingers_splayed\": \"🖐\",\n\t\"middle_finger\": \"🖕\",\n\t\"reversed_hand_with_middle_finger_extended\": \"🖕\",\n\t\"spock-hand\": \"🖖\",\n\t\"desktop_computer\": \"🖥\",\n\t\"printer\": \"🖨\",\n\t\"three_button_mouse\": \"🖱\",\n\t\"trackball\": \"🖲\",\n\t\"frame_with_picture\": \"🖼\",\n\t\"card_index_dividers\": \"🗂\",\n\t\"card_file_box\": \"🗃\",\n\t\"file_cabinet\": \"🗄\",\n\t\"wastebasket\": \"🗑\",\n\t\"spiral_note_pad\": \"🗒\",\n\t\"spiral_calendar_pad\": \"🗓\",\n\t\"compression\": \"🗜\",\n\t\"old_key\": \"🗝\",\n\t\"rolled_up_newspaper\": \"🗞\",\n\t\"dagger_knife\": \"🗡\",\n\t\"speaking_head_in_silhouette\": \"🗣\",\n\t\"left_speech_bubble\": \"🗨\",\n\t\"right_anger_bubble\": \"🗯\",\n\t\"ballot_box_with_ballot\": \"🗳\",\n\t\"world_map\": \"🗺\",\n\t\"mount_fuji\": \"🗻\",\n\t\"tokyo_tower\": \"🗼\",\n\t\"statue_of_liberty\": \"🗽\",\n\t\"japan\": \"🗾\",\n\t\"moyai\": \"🗿\",\n\t\"grinning\": \"😀\",\n\t\"grin\": \"😁\",\n\t\"joy\": \"😂\",\n\t\"smiley\": \"😃\",\n\t\"smile\": \"😄\",\n\t\"sweat_smile\": \"😅\",\n\t\"laughing\": \"😆\",\n\t\"satisfied\": \"😆\",\n\t\"innocent\": \"😇\",\n\t\"smiling_imp\": \"😈\",\n\t\"wink\": \"😉\",\n\t\"blush\": \"😊\",\n\t\"yum\": \"😋\",\n\t\"relieved\": \"😌\",\n\t\"heart_eyes\": \"😍\",\n\t\"sunglasses\": \"😎\",\n\t\"smirk\": \"😏\",\n\t\"neutral_face\": \"😐\",\n\t\"expressionless\": \"😑\",\n\t\"unamused\": \"😒\",\n\t\"sweat\": \"😓\",\n\t\"pensive\": \"😔\",\n\t\"confused\": \"😕\",\n\t\"confounded\": \"😖\",\n\t\"kissing\": \"😗\",\n\t\"kissing_heart\": \"😘\",\n\t\"kissing_smiling_eyes\": \"😙\",\n\t\"kissing_closed_eyes\": \"😚\",\n\t\"stuck_out_tongue\": \"😛\",\n\t\"stuck_out_tongue_winking_eye\": \"😜\",\n\t\"stuck_out_tongue_closed_eyes\": \"😝\",\n\t\"disappointed\": \"😞\",\n\t\"worried\": \"😟\",\n\t\"angry\": \"😠\",\n\t\"rage\": \"😡\",\n\t\"cry\": \"😢\",\n\t\"persevere\": \"😣\",\n\t\"triumph\": \"😤\",\n\t\"disappointed_relieved\": \"😥\",\n\t\"frowning\": \"😦\",\n\t\"anguished\": \"😧\",\n\t\"fearful\": \"😨\",\n\t\"weary\": \"😩\",\n\t\"sleepy\": \"😪\",\n\t\"tired_face\": \"😫\",\n\t\"grimacing\": \"😬\",\n\t\"sob\": \"😭\",\n\t\"open_mouth\": \"😮\",\n\t\"hushed\": \"😯\",\n\t\"cold_sweat\": \"😰\",\n\t\"scream\": \"😱\",\n\t\"astonished\": \"😲\",\n\t\"flushed\": \"😳\",\n\t\"sleeping\": \"😴\",\n\t\"dizzy_face\": \"😵\",\n\t\"no_mouth\": \"😶\",\n\t\"mask\": \"😷\",\n\t\"smile_cat\": \"😸\",\n\t\"joy_cat\": \"😹\",\n\t\"smiley_cat\": \"😺\",\n\t\"heart_eyes_cat\": \"😻\",\n\t\"smirk_cat\": \"😼\",\n\t\"kissing_cat\": \"😽\",\n\t\"pouting_cat\": \"😾\",\n\t\"crying_cat_face\": \"😿\",\n\t\"scream_cat\": \"🙀\",\n\t\"slightly_frowning_face\": \"🙁\",\n\t\"slightly_smiling_face\": \"🙂\",\n\t\"upside_down_face\": \"🙃\",\n\t\"face_with_rolling_eyes\": \"🙄\",\n\t\"no_good\": \"🙅\",\n\t\"ok_woman\": \"🙆\",\n\t\"bow\": \"🙇\",\n\t\"see_no_evil\": \"🙈\",\n\t\"hear_no_evil\": \"🙉\",\n\t\"speak_no_evil\": \"🙊\",\n\t\"raising_hand\": \"🙋\",\n\t\"raised_hands\": \"🙌\",\n\t\"person_frowning\": \"🙍\",\n\t\"person_with_pouting_face\": \"🙎\",\n\t\"pray\": \"🙏\",\n\t\"rocket\": \"🚀\",\n\t\"helicopter\": \"🚁\",\n\t\"steam_locomotive\": \"🚂\",\n\t\"railway_car\": \"🚃\",\n\t\"bullettrain_side\": \"🚄\",\n\t\"bullettrain_front\": \"🚅\",\n\t\"train2\": \"🚆\",\n\t\"metro\": \"🚇\",\n\t\"light_rail\": \"🚈\",\n\t\"station\": \"🚉\",\n\t\"tram\": \"🚊\",\n\t\"train\": \"🚋\",\n\t\"bus\": \"🚌\",\n\t\"oncoming_bus\": \"🚍\",\n\t\"trolleybus\": \"🚎\",\n\t\"busstop\": \"🚏\",\n\t\"minibus\": \"🚐\",\n\t\"ambulance\": \"🚑\",\n\t\"fire_engine\": \"🚒\",\n\t\"police_car\": \"🚓\",\n\t\"oncoming_police_car\": \"🚔\",\n\t\"taxi\": \"🚕\",\n\t\"oncoming_taxi\": \"🚖\",\n\t\"car\": \"🚗\",\n\t\"red_car\": \"🚗\",\n\t\"oncoming_automobile\": \"🚘\",\n\t\"blue_car\": \"🚙\",\n\t\"truck\": \"🚚\",\n\t\"articulated_lorry\": \"🚛\",\n\t\"tractor\": \"🚜\",\n\t\"monorail\": \"🚝\",\n\t\"mountain_railway\": \"🚞\",\n\t\"suspension_railway\": \"🚟\",\n\t\"mountain_cableway\": \"🚠\",\n\t\"aerial_tramway\": \"🚡\",\n\t\"ship\": \"🚢\",\n\t\"rowboat\": \"🚣\",\n\t\"speedboat\": \"🚤\",\n\t\"traffic_light\": \"🚥\",\n\t\"vertical_traffic_light\": \"🚦\",\n\t\"construction\": \"🚧\",\n\t\"rotating_light\": \"🚨\",\n\t\"triangular_flag_on_post\": \"🚩\",\n\t\"door\": \"🚪\",\n\t\"no_entry_sign\": \"🚫\",\n\t\"smoking\": \"🚬\",\n\t\"no_smoking\": \"🚭\",\n\t\"put_litter_in_its_place\": \"🚮\",\n\t\"do_not_litter\": \"🚯\",\n\t\"potable_water\": \"🚰\",\n\t\"non-potable_water\": \"🚱\",\n\t\"bike\": \"🚲\",\n\t\"no_bicycles\": \"🚳\",\n\t\"bicyclist\": \"🚴\",\n\t\"mountain_bicyclist\": \"🚵\",\n\t\"walking\": \"🚶\",\n\t\"no_pedestrians\": \"🚷\",\n\t\"children_crossing\": \"🚸\",\n\t\"mens\": \"🚹\",\n\t\"womens\": \"🚺\",\n\t\"restroom\": \"🚻\",\n\t\"baby_symbol\": \"🚼\",\n\t\"toilet\": \"🚽\",\n\t\"wc\": \"🚾\",\n\t\"shower\": \"🚿\",\n\t\"bath\": \"🛀\",\n\t\"bathtub\": \"🛁\",\n\t\"passport_control\": \"🛂\",\n\t\"customs\": \"🛃\",\n\t\"baggage_claim\": \"🛄\",\n\t\"left_luggage\": \"🛅\",\n\t\"couch_and_lamp\": \"🛋\",\n\t\"sleeping_accommodation\": \"🛌\",\n\t\"shopping_bags\": \"🛍\",\n\t\"bellhop_bell\": \"🛎\",\n\t\"bed\": \"🛏\",\n\t\"place_of_worship\": \"🛐\",\n\t\"hammer_and_wrench\": \"🛠\",\n\t\"shield\": \"🛡\",\n\t\"oil_drum\": \"🛢\",\n\t\"motorway\": \"🛣\",\n\t\"railway_track\": \"🛤\",\n\t\"motor_boat\": \"🛥\",\n\t\"small_airplane\": \"🛩\",\n\t\"airplane_departure\": \"🛫\",\n\t\"airplane_arriving\": \"🛬\",\n\t\"passenger_ship\": \"🛳\",\n\t\"zipper_mouth_face\": \"🤐\",\n\t\"money_mouth_face\": \"🤑\",\n\t\"face_with_thermometer\": \"🤒\",\n\t\"nerd_face\": \"🤓\",\n\t\"thinking_face\": \"🤔\",\n\t\"face_with_head_bandage\": \"🤕\",\n\t\"robot_face\": \"🤖\",\n\t\"hugging_face\": \"🤗\",\n\t\"the_horns\": \"🤘\",\n\t\"sign_of_the_horns\": \"🤘\",\n\t\"crab\": \"🦀\",\n\t\"lion_face\": \"🦁\",\n\t\"scorpion\": \"🦂\",\n\t\"turkey\": \"🦃\",\n\t\"unicorn_face\": \"🦄\",\n\t\"cheese_wedge\": \"🧀\",\n\t\"hash\": \"#️⃣\",\n\t\"keycap_star\": \"*⃣\",\n\t\"zero\": \"0️⃣\",\n\t\"one\": \"1️⃣\",\n\t\"two\": \"2️⃣\",\n\t\"three\": \"3️⃣\",\n\t\"four\": \"4️⃣\",\n\t\"five\": \"5️⃣\",\n\t\"six\": \"6️⃣\",\n\t\"seven\": \"7️⃣\",\n\t\"eight\": \"8️⃣\",\n\t\"nine\": \"9️⃣\",\n\t\"flag-ac\": \"🇦🇨\",\n\t\"flag-ad\": \"🇦🇩\",\n\t\"flag-ae\": \"🇦🇪\",\n\t\"flag-af\": \"🇦🇫\",\n\t\"flag-ag\": \"🇦🇬\",\n\t\"flag-ai\": \"🇦🇮\",\n\t\"flag-al\": \"🇦🇱\",\n\t\"flag-am\": \"🇦🇲\",\n\t\"flag-ao\": \"🇦🇴\",\n\t\"flag-aq\": \"🇦🇶\",\n\t\"flag-ar\": \"🇦🇷\",\n\t\"flag-as\": \"🇦🇸\",\n\t\"flag-at\": \"🇦🇹\",\n\t\"flag-au\": \"🇦🇺\",\n\t\"flag-aw\": \"🇦🇼\",\n\t\"flag-ax\": \"🇦🇽\",\n\t\"flag-az\": \"🇦🇿\",\n\t\"flag-ba\": \"🇧🇦\",\n\t\"flag-bb\": \"🇧🇧\",\n\t\"flag-bd\": \"🇧🇩\",\n\t\"flag-be\": \"🇧🇪\",\n\t\"flag-bf\": \"🇧🇫\",\n\t\"flag-bg\": \"🇧🇬\",\n\t\"flag-bh\": \"🇧🇭\",\n\t\"flag-bi\": \"🇧🇮\",\n\t\"flag-bj\": \"🇧🇯\",\n\t\"flag-bl\": \"🇧🇱\",\n\t\"flag-bm\": \"🇧🇲\",\n\t\"flag-bn\": \"🇧🇳\",\n\t\"flag-bo\": \"🇧🇴\",\n\t\"flag-bq\": \"🇧🇶\",\n\t\"flag-br\": \"🇧🇷\",\n\t\"flag-bs\": \"🇧🇸\",\n\t\"flag-bt\": \"🇧🇹\",\n\t\"flag-bv\": \"🇧🇻\",\n\t\"flag-bw\": \"🇧🇼\",\n\t\"flag-by\": \"🇧🇾\",\n\t\"flag-bz\": \"🇧🇿\",\n\t\"flag-ca\": \"🇨🇦\",\n\t\"flag-cc\": \"🇨🇨\",\n\t\"flag-cd\": \"🇨🇩\",\n\t\"flag-cf\": \"🇨🇫\",\n\t\"flag-cg\": \"🇨🇬\",\n\t\"flag-ch\": \"🇨🇭\",\n\t\"flag-ci\": \"🇨🇮\",\n\t\"flag-ck\": \"🇨🇰\",\n\t\"flag-cl\": \"🇨🇱\",\n\t\"flag-cm\": \"🇨🇲\",\n\t\"flag-cn\": \"🇨🇳\",\n\t\"cn\": \"🇨🇳\",\n\t\"flag-co\": \"🇨🇴\",\n\t\"flag-cp\": \"🇨🇵\",\n\t\"flag-cr\": \"🇨🇷\",\n\t\"flag-cu\": \"🇨🇺\",\n\t\"flag-cv\": \"🇨🇻\",\n\t\"flag-cw\": \"🇨🇼\",\n\t\"flag-cx\": \"🇨🇽\",\n\t\"flag-cy\": \"🇨🇾\",\n\t\"flag-cz\": \"🇨🇿\",\n\t\"flag-de\": \"🇩🇪\",\n\t\"de\": \"🇩🇪\",\n\t\"flag-dg\": \"🇩🇬\",\n\t\"flag-dj\": \"🇩🇯\",\n\t\"flag-dk\": \"🇩🇰\",\n\t\"flag-dm\": \"🇩🇲\",\n\t\"flag-do\": \"🇩🇴\",\n\t\"flag-dz\": \"🇩🇿\",\n\t\"flag-ea\": \"🇪🇦\",\n\t\"flag-ec\": \"🇪🇨\",\n\t\"flag-ee\": \"🇪🇪\",\n\t\"flag-eg\": \"🇪🇬\",\n\t\"flag-eh\": \"🇪🇭\",\n\t\"flag-er\": \"🇪🇷\",\n\t\"flag-es\": \"🇪🇸\",\n\t\"es\": \"🇪🇸\",\n\t\"flag-et\": \"🇪🇹\",\n\t\"flag-eu\": \"🇪🇺\",\n\t\"flag-fi\": \"🇫🇮\",\n\t\"flag-fj\": \"🇫🇯\",\n\t\"flag-fk\": \"🇫🇰\",\n\t\"flag-fm\": \"🇫🇲\",\n\t\"flag-fo\": \"🇫🇴\",\n\t\"flag-fr\": \"🇫🇷\",\n\t\"fr\": \"🇫🇷\",\n\t\"flag-ga\": \"🇬🇦\",\n\t\"flag-gb\": \"🇬🇧\",\n\t\"gb\": \"🇬🇧\",\n\t\"uk\": \"🇬🇧\",\n\t\"flag-gd\": \"🇬🇩\",\n\t\"flag-ge\": \"🇬🇪\",\n\t\"flag-gf\": \"🇬🇫\",\n\t\"flag-gg\": \"🇬🇬\",\n\t\"flag-gh\": \"🇬🇭\",\n\t\"flag-gi\": \"🇬🇮\",\n\t\"flag-gl\": \"🇬🇱\",\n\t\"flag-gm\": \"🇬🇲\",\n\t\"flag-gn\": \"🇬🇳\",\n\t\"flag-gp\": \"🇬🇵\",\n\t\"flag-gq\": \"🇬🇶\",\n\t\"flag-gr\": \"🇬🇷\",\n\t\"flag-gs\": \"🇬🇸\",\n\t\"flag-gt\": \"🇬🇹\",\n\t\"flag-gu\": \"🇬🇺\",\n\t\"flag-gw\": \"🇬🇼\",\n\t\"flag-gy\": \"🇬🇾\",\n\t\"flag-hk\": \"🇭🇰\",\n\t\"flag-hm\": \"🇭🇲\",\n\t\"flag-hn\": \"🇭🇳\",\n\t\"flag-hr\": \"🇭🇷\",\n\t\"flag-ht\": \"🇭🇹\",\n\t\"flag-hu\": \"🇭🇺\",\n\t\"flag-ic\": \"🇮🇨\",\n\t\"flag-id\": \"🇮🇩\",\n\t\"flag-ie\": \"🇮🇪\",\n\t\"flag-il\": \"🇮🇱\",\n\t\"flag-im\": \"🇮🇲\",\n\t\"flag-in\": \"🇮🇳\",\n\t\"flag-io\": \"🇮🇴\",\n\t\"flag-iq\": \"🇮🇶\",\n\t\"flag-ir\": \"🇮🇷\",\n\t\"flag-is\": \"🇮🇸\",\n\t\"flag-it\": \"🇮🇹\",\n\t\"it\": \"🇮🇹\",\n\t\"flag-je\": \"🇯🇪\",\n\t\"flag-jm\": \"🇯🇲\",\n\t\"flag-jo\": \"🇯🇴\",\n\t\"flag-jp\": \"🇯🇵\",\n\t\"jp\": \"🇯🇵\",\n\t\"flag-ke\": \"🇰🇪\",\n\t\"flag-kg\": \"🇰🇬\",\n\t\"flag-kh\": \"🇰🇭\",\n\t\"flag-ki\": \"🇰🇮\",\n\t\"flag-km\": \"🇰🇲\",\n\t\"flag-kn\": \"🇰🇳\",\n\t\"flag-kp\": \"🇰🇵\",\n\t\"flag-kr\": \"🇰🇷\",\n\t\"kr\": \"🇰🇷\",\n\t\"flag-kw\": \"🇰🇼\",\n\t\"flag-ky\": \"🇰🇾\",\n\t\"flag-kz\": \"🇰🇿\",\n\t\"flag-la\": \"🇱🇦\",\n\t\"flag-lb\": \"🇱🇧\",\n\t\"flag-lc\": \"🇱🇨\",\n\t\"flag-li\": \"🇱🇮\",\n\t\"flag-lk\": \"🇱🇰\",\n\t\"flag-lr\": \"🇱🇷\",\n\t\"flag-ls\": \"🇱🇸\",\n\t\"flag-lt\": \"🇱🇹\",\n\t\"flag-lu\": \"🇱🇺\",\n\t\"flag-lv\": \"🇱🇻\",\n\t\"flag-ly\": \"🇱🇾\",\n\t\"flag-ma\": \"🇲🇦\",\n\t\"flag-mc\": \"🇲🇨\",\n\t\"flag-md\": \"🇲🇩\",\n\t\"flag-me\": \"🇲🇪\",\n\t\"flag-mf\": \"🇲🇫\",\n\t\"flag-mg\": \"🇲🇬\",\n\t\"flag-mh\": \"🇲🇭\",\n\t\"flag-mk\": \"🇲🇰\",\n\t\"flag-ml\": \"🇲🇱\",\n\t\"flag-mm\": \"🇲🇲\",\n\t\"flag-mn\": \"🇲🇳\",\n\t\"flag-mo\": \"🇲🇴\",\n\t\"flag-mp\": \"🇲🇵\",\n\t\"flag-mq\": \"🇲🇶\",\n\t\"flag-mr\": \"🇲🇷\",\n\t\"flag-ms\": \"🇲🇸\",\n\t\"flag-mt\": \"🇲🇹\",\n\t\"flag-mu\": \"🇲🇺\",\n\t\"flag-mv\": \"🇲🇻\",\n\t\"flag-mw\": \"🇲🇼\",\n\t\"flag-mx\": \"🇲🇽\",\n\t\"flag-my\": \"🇲🇾\",\n\t\"flag-mz\": \"🇲🇿\",\n\t\"flag-na\": \"🇳🇦\",\n\t\"flag-nc\": \"🇳🇨\",\n\t\"flag-ne\": \"🇳🇪\",\n\t\"flag-nf\": \"🇳🇫\",\n\t\"flag-ng\": \"🇳🇬\",\n\t\"flag-ni\": \"🇳🇮\",\n\t\"flag-nl\": \"🇳🇱\",\n\t\"flag-no\": \"🇳🇴\",\n\t\"flag-np\": \"🇳🇵\",\n\t\"flag-nr\": \"🇳🇷\",\n\t\"flag-nu\": \"🇳🇺\",\n\t\"flag-nz\": \"🇳🇿\",\n\t\"flag-om\": \"🇴🇲\",\n\t\"flag-pa\": \"🇵🇦\",\n\t\"flag-pe\": \"🇵🇪\",\n\t\"flag-pf\": \"🇵🇫\",\n\t\"flag-pg\": \"🇵🇬\",\n\t\"flag-ph\": \"🇵🇭\",\n\t\"flag-pk\": \"🇵🇰\",\n\t\"flag-pl\": \"🇵🇱\",\n\t\"flag-pm\": \"🇵🇲\",\n\t\"flag-pn\": \"🇵🇳\",\n\t\"flag-pr\": \"🇵🇷\",\n\t\"flag-ps\": \"🇵🇸\",\n\t\"flag-pt\": \"🇵🇹\",\n\t\"flag-pw\": \"🇵🇼\",\n\t\"flag-py\": \"🇵🇾\",\n\t\"flag-qa\": \"🇶🇦\",\n\t\"flag-re\": \"🇷🇪\",\n\t\"flag-ro\": \"🇷🇴\",\n\t\"flag-rs\": \"🇷🇸\",\n\t\"flag-ru\": \"🇷🇺\",\n\t\"ru\": \"🇷🇺\",\n\t\"flag-rw\": \"🇷🇼\",\n\t\"flag-sa\": \"🇸🇦\",\n\t\"flag-sb\": \"🇸🇧\",\n\t\"flag-sc\": \"🇸🇨\",\n\t\"flag-sd\": \"🇸🇩\",\n\t\"flag-se\": \"🇸🇪\",\n\t\"flag-sg\": \"🇸🇬\",\n\t\"flag-sh\": \"🇸🇭\",\n\t\"flag-si\": \"🇸🇮\",\n\t\"flag-sj\": \"🇸🇯\",\n\t\"flag-sk\": \"🇸🇰\",\n\t\"flag-sl\": \"🇸🇱\",\n\t\"flag-sm\": \"🇸🇲\",\n\t\"flag-sn\": \"🇸🇳\",\n\t\"flag-so\": \"🇸🇴\",\n\t\"flag-sr\": \"🇸🇷\",\n\t\"flag-ss\": \"🇸🇸\",\n\t\"flag-st\": \"🇸🇹\",\n\t\"flag-sv\": \"🇸🇻\",\n\t\"flag-sx\": \"🇸🇽\",\n\t\"flag-sy\": \"🇸🇾\",\n\t\"flag-sz\": \"🇸🇿\",\n\t\"flag-ta\": \"🇹🇦\",\n\t\"flag-tc\": \"🇹🇨\",\n\t\"flag-td\": \"🇹🇩\",\n\t\"flag-tf\": \"🇹🇫\",\n\t\"flag-tg\": \"🇹🇬\",\n\t\"flag-th\": \"🇹🇭\",\n\t\"flag-tj\": \"🇹🇯\",\n\t\"flag-tk\": \"🇹🇰\",\n\t\"flag-tl\": \"🇹🇱\",\n\t\"flag-tm\": \"🇹🇲\",\n\t\"flag-tn\": \"🇹🇳\",\n\t\"flag-to\": \"🇹🇴\",\n\t\"flag-tr\": \"🇹🇷\",\n\t\"flag-tt\": \"🇹🇹\",\n\t\"flag-tv\": \"🇹🇻\",\n\t\"flag-tw\": \"🇹🇼\",\n\t\"flag-tz\": \"🇹🇿\",\n\t\"flag-ua\": \"🇺🇦\",\n\t\"flag-ug\": \"🇺🇬\",\n\t\"flag-um\": \"🇺🇲\",\n\t\"flag-us\": \"🇺🇸\",\n\t\"us\": \"🇺🇸\",\n\t\"flag-uy\": \"🇺🇾\",\n\t\"flag-uz\": \"🇺🇿\",\n\t\"flag-va\": \"🇻🇦\",\n\t\"flag-vc\": \"🇻🇨\",\n\t\"flag-ve\": \"🇻🇪\",\n\t\"flag-vg\": \"🇻🇬\",\n\t\"flag-vi\": \"🇻🇮\",\n\t\"flag-vn\": \"🇻🇳\",\n\t\"flag-vu\": \"🇻🇺\",\n\t\"flag-wf\": \"🇼🇫\",\n\t\"flag-ws\": \"🇼🇸\",\n\t\"flag-xk\": \"🇽🇰\",\n\t\"flag-ye\": \"🇾🇪\",\n\t\"flag-yt\": \"🇾🇹\",\n\t\"flag-za\": \"🇿🇦\",\n\t\"flag-zm\": \"🇿🇲\",\n\t\"flag-zw\": \"🇿🇼\",\n\t\"man-man-boy\": \"👨‍👨‍👦\",\n\t\"man-man-boy-boy\": \"👨‍👨‍👦‍👦\",\n\t\"man-man-girl\": \"👨‍👨‍👧\",\n\t\"man-man-girl-boy\": \"👨‍👨‍👧‍👦\",\n\t\"man-man-girl-girl\": \"👨‍👨‍👧‍👧\",\n\t\"man-woman-boy-boy\": \"👨‍👩‍👦‍👦\",\n\t\"man-woman-girl\": \"👨‍👩‍👧\",\n\t\"man-woman-girl-boy\": \"👨‍👩‍👧‍👦\",\n\t\"man-woman-girl-girl\": \"👨‍👩‍👧‍👧\",\n\t\"man-heart-man\": \"👨‍❤️‍👨\",\n\t\"man-kiss-man\": \"👨‍❤️‍💋‍👨\",\n\t\"woman-woman-boy\": \"👩‍👩‍👦\",\n\t\"woman-woman-boy-boy\": \"👩‍👩‍👦‍👦\",\n\t\"woman-woman-girl\": \"👩‍👩‍👧\",\n\t\"woman-woman-girl-boy\": \"👩‍👩‍👧‍👦\",\n\t\"woman-woman-girl-girl\": \"👩‍👩‍👧‍👧\",\n\t\"woman-heart-woman\": \"👩‍❤️‍👩\",\n\t\"woman-kiss-woman\": \"👩‍❤️‍💋‍👩\"\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/node-emoji/lib/emoji.json\n// module id = ../../node_modules/node-emoji/lib/emoji.json\n// module chunks = 0","'use strict';\n\nvar _pretty = require('./pretty');\n\nvar _pretty2 = _interopRequireDefault(_pretty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = _pretty2.default; /*\n The MIT License (MIT)\n Copyright (c) 2016 Michael Cereda\n http://michaelcereda.com\n \n Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n \n The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n \n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/pretty-cli/lib/index.js\n// module id = ../../node_modules/pretty-cli/lib/index.js\n// module chunks = 0","'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /*\n The MIT License (MIT)\n Copyright (c) 2016 Michael Cereda\n http://michaelcereda.com\n \n Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n \n The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n \n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nvar _lodash = require('lodash');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ExternalInterface = function () {\n function ExternalInterface(opts) {\n var _this = this;\n\n _classCallCheck(this, ExternalInterface);\n\n this.settings = {};\n\n Object.assign(this.settings, this.settings, opts || {});\n\n this._output = opts.output || console.log;\n this._context = opts.context || {};\n this._stack = opts.stack || {};\n this._parent_key = opts.parent_key || \"\";\n this._printFn = opts.print;\n this._cached_messages = [];\n\n var methods = (0, _lodash.union)(['log', 'info', 'warning', 'success', 'error'], Object.keys(opts.template));\n methods.map(function (method, i) {\n _this[method] = function (contentType) {\n var _ct = contentType;\n return function (content) {\n if (typeof content !== 'string') {\n Object.assign(content, _this._context, content);\n }\n _this._output(content, _ct);\n };\n }(method);\n });\n\n if (this._parent_key !== '') {\n this['clear'] = function () {\n _this._stack = {};\n };\n this['get'] = function () {\n return _this._stack;\n };\n this['print'] = function () {\n // console.log(this.settings)\n _this._printFn();\n };\n }\n }\n\n _createClass(ExternalInterface, [{\n key: 'stack',\n value: function stack(key) {\n var newSettings = {};\n\n Object.assign(newSettings, this.settings, { stack: {}, parent_key: key });\n this.stack[key] = new ExternalInterface(newSettings);\n return this.stack[key];\n }\n }, {\n key: 'context',\n value: function context(ctx) {\n this._context = ctx;\n return this;\n }\n }, {\n key: 'addCustomMethod',\n value: function addCustomMethod(name, fn) {\n this[name] = fn;\n }\n }]);\n\n return ExternalInterface;\n}();\n\nmodule.exports = function (opts) {\n opts = opts || {};\n\n var output = function output(opts) {\n var _opts = opts;\n\n return function (content, contentType) {\n var tmpl;\n if (!_opts || !_opts.template || !_opts.template[contentType]) {\n tmpl = function tmpl(x) {\n return x;\n };\n } else {\n tmpl = _opts.template[contentType];\n }\n if (!content) content = '';\n\n var str = tmpl(content);\n\n if (_opts.printOutput === false) {\n return str;\n }\n console.log(str);\n };\n };\n Object.assign(opts, {\n output: output\n }, opts);\n // Inizializing output function\n opts.output = opts.output(opts);\n opts.print = opts.output;\n // console.log(opts);\n return new ExternalInterface(opts);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/pretty-cli/lib/pretty.js\n// module id = ../../node_modules/pretty-cli/lib/pretty.js\n// module chunks = 0","var os = process.platform === 'win32' ? '_win' : '';\nmodule.exports = require('./lib/pty'+ os +'.js');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/pty.js/index.js\n// module id = ../../node_modules/pty.js/index.js\n// module chunks = 0","/**\n * pty.js\n * Copyright (c) 2012-2015, Christopher Jeffrey (MIT License)\n * Binding to the pseudo terminals.\n */\n\nvar extend = require('extend');\nvar EventEmitter = require('events').EventEmitter;\nvar pty = require('../build/Release/pty.node');\nvar net = require('net');\nvar tty = require('tty');\nvar nextTick = global.setImmediate || process.nextTick;\n\nvar version = process.versions.node.split('.').map(function(n) {\n return +(n + '').split('-')[0];\n});\n\n/**\n * Terminal\n */\n\n// Example:\n// var term = new Terminal('bash', [], {\n// name: 'xterm-color',\n// cols: 80,\n// rows: 24,\n// cwd: process.env.HOME,\n// env: process.env\n// });\n\nfunction Terminal(file, args, opt) {\n if (!(this instanceof Terminal)) {\n return new Terminal(file, args, opt);\n }\n\n var self = this\n , env\n , cwd\n , name\n , cols\n , rows\n , uid\n , gid\n , term;\n\n // backward compatibility\n if (typeof args === 'string') {\n opt = {\n name: arguments[1],\n cols: arguments[2],\n rows: arguments[3],\n cwd: process.env.HOME\n };\n args = [];\n }\n\n // for 'close'\n this._internalee = new EventEmitter;\n\n // arguments\n args = args || [];\n file = file || 'sh';\n opt = opt || {};\n\n cols = opt.cols || 80;\n rows = opt.rows || 24;\n\n uid = opt.uid != null ? opt.uid : -1;\n gid = opt.gid != null ? opt.gid : -1;\n\n opt.env = opt.env || process.env;\n env = extend({}, opt.env);\n\n if (opt.env === process.env) {\n // Make sure we didn't start our\n // server from inside tmux.\n delete env.TMUX;\n delete env.TMUX_PANE;\n\n // Make sure we didn't start\n // our server from inside screen.\n // http://web.mit.edu/gnu/doc/html/screen_20.html\n delete env.STY;\n delete env.WINDOW;\n\n // Delete some variables that\n // might confuse our terminal.\n delete env.WINDOWID;\n delete env.TERMCAP;\n delete env.COLUMNS;\n delete env.LINES;\n }\n\n // Could set some basic env vars\n // here, if they do not exist:\n // USER, SHELL, HOME, LOGNAME, WINDOWID\n\n cwd = opt.cwd || process.cwd();\n name = opt.name || env.TERM || 'xterm';\n env.TERM = name;\n // XXX Shouldn't be necessary:\n // env.LINES = rows + '';\n // env.COLUMNS = cols + '';\n\n env = environ(env);\n\n function onexit(code, signal) {\n // XXX Sometimes a data event is emitted\n // after exit. Wait til socket is destroyed.\n if (!self._emittedClose) {\n if (self._boundClose) return;\n self._boundClose = true;\n self.once('close', function() {\n self.emit('exit', code, signal);\n });\n return;\n }\n self.emit('exit', code, signal);\n }\n\n // fork\n term = pty.fork(file, args, env, cwd, cols, rows, uid, gid, onexit);\n\n this.socket = TTYStream(term.fd);\n this.socket.setEncoding('utf8');\n\n if (opt.resume !== false) {\n this.socket.resume();\n }\n\n // setup\n this.socket.on('error', function(err) {\n // NOTE: fs.ReadStream gets EAGAIN twice at first:\n if (err.code) {\n if (~err.code.indexOf('EAGAIN')) return;\n }\n\n // close\n self._close();\n // EIO on exit from fs.ReadStream:\n if (!self._emittedClose) {\n self._emittedClose = true;\n Terminal.total--;\n self.emit('close');\n }\n\n // EIO, happens when someone closes our child\n // process: the only process in the terminal.\n // node < 0.6.14: errno 5\n // node >= 0.6.14: read EIO\n if (err.code) {\n if (~err.code.indexOf('errno 5')\n || ~err.code.indexOf('EIO')) return;\n }\n\n // throw anything else\n if (self.listeners('error').length < 2) {\n throw err;\n }\n });\n\n this.pid = term.pid;\n this.fd = term.fd;\n this.pty = term.pty;\n\n this.file = file;\n this.name = name;\n this.cols = cols;\n this.rows = rows;\n\n this.readable = true;\n this.writable = true;\n\n Terminal.total++;\n\n this.socket.on('close', function() {\n if (self._emittedClose) return;\n self._emittedClose = true;\n Terminal.total--;\n self._close();\n self.emit('close');\n });\n\n env = null;\n}\n\nTerminal.fork =\nTerminal.spawn =\nTerminal.createTerminal = function(file, args, opt) {\n return new Terminal(file, args, opt);\n};\n\n/**\n * openpty\n */\n\nTerminal.open = function(opt) {\n var self = Object.create(Terminal.prototype)\n , opt = opt || {};\n\n if (arguments.length > 1) {\n opt = {\n cols: arguments[1],\n rows: arguments[2]\n };\n }\n\n var cols = opt.cols || 80\n , rows = opt.rows || 24\n , term;\n\n // open\n term = pty.open(cols, rows);\n\n self.master = TTYStream(term.master);\n self.master.setEncoding('utf8');\n self.master.resume();\n\n self.slave = TTYStream(term.slave);\n self.slave.setEncoding('utf8');\n self.slave.resume();\n\n self.socket = self.master;\n self.pid = null;\n self.fd = term.master;\n self.pty = term.pty;\n\n self.file = process.argv[0] || 'node';\n self.name = process.env.TERM || '';\n self.cols = cols;\n self.rows = rows;\n\n self.readable = true;\n self.writable = true;\n\n self.socket.on('error', function(err) {\n Terminal.total--;\n self._close();\n if (self.listeners('error').length < 2) {\n throw err;\n }\n });\n\n Terminal.total++;\n self.socket.on('close', function() {\n Terminal.total--;\n self._close();\n });\n\n return self;\n};\n\n/**\n * Total\n */\n\n// Keep track of the total\n// number of terminals for\n// the process.\nTerminal.total = 0;\n\n/**\n * Events\n */\n\nTerminal.prototype.write = function(data) {\n return this.socket.write(data);\n};\n\nTerminal.prototype.end = function(data) {\n return this.socket.end(data);\n};\n\nTerminal.prototype.pipe = function(dest, options) {\n return this.socket.pipe(dest, options);\n};\n\nTerminal.prototype.pause = function() {\n return this.socket.pause();\n};\n\nTerminal.prototype.resume = function() {\n return this.socket.resume();\n};\n\nTerminal.prototype.setEncoding = function(enc) {\n if (this.socket._decoder) {\n delete this.socket._decoder;\n }\n if (enc) {\n this.socket.setEncoding(enc);\n }\n};\n\nTerminal.prototype.addListener =\nTerminal.prototype.on = function(type, func) {\n if (type === 'close') {\n this._internalee.on('close', func);\n return this;\n }\n this.socket.on(type, func);\n return this;\n};\n\nTerminal.prototype.emit = function(evt) {\n if (evt === 'close') {\n return this._internalee.emit.apply(this._internalee, arguments);\n }\n return this.socket.emit.apply(this.socket, arguments);\n};\n\nTerminal.prototype.listeners = function(type) {\n return this.socket.listeners(type);\n};\n\nTerminal.prototype.removeListener = function(type, func) {\n this.socket.removeListener(type, func);\n return this;\n};\n\nTerminal.prototype.removeAllListeners = function(type) {\n this.socket.removeAllListeners(type);\n return this;\n};\n\nTerminal.prototype.once = function(type, func) {\n this.socket.once(type, func);\n return this;\n};\n\nTerminal.prototype.__defineGetter__('stdin', function() {\n return this;\n});\n\nTerminal.prototype.__defineGetter__('stdout', function() {\n return this;\n});\n\nTerminal.prototype.__defineGetter__('stderr', function() {\n throw new Error('No stderr.');\n});\n\n/**\n * TTY\n */\n\nTerminal.prototype.resize = function(cols, rows) {\n cols = cols || 80;\n rows = rows || 24;\n\n this.cols = cols;\n this.rows = rows;\n\n pty.resize(this.fd, cols, rows);\n};\n\nTerminal.prototype.destroy = function() {\n var self = this;\n\n // close\n this._close();\n\n // Need to close the read stream so\n // node stops reading a dead file descriptor.\n // Then we can safely SIGHUP the shell.\n this.socket.once('close', function() {\n self.kill('SIGHUP');\n });\n\n this.socket.destroy();\n};\n\nTerminal.prototype.kill = function(sig) {\n try {\n process.kill(this.pid, sig || 'SIGHUP');\n } catch(e) {\n ;\n }\n};\n\nTerminal.prototype.redraw = function() {\n var self = this\n , cols = this.cols\n , rows = this.rows;\n\n // We could just send SIGWINCH, but most programs will\n // ignore it if the size hasn't actually changed.\n\n this.resize(cols + 1, rows + 1);\n\n setTimeout(function() {\n self.resize(cols, rows);\n }, 30);\n};\n\nTerminal.prototype.__defineGetter__('process', function() {\n return pty.process(this.fd, this.pty) || this.file;\n});\n\nTerminal.prototype._close = function() {\n this.socket.writable = false;\n this.socket.readable = false;\n this.write = function() {};\n this.end = function() {};\n this.writable = false;\n this.readable = false;\n};\n\n/**\n * TTY Stream\n */\n\nfunction TTYStream(fd) {\n // Could use: if (!require('tty').ReadStream)\n if (version[0] === 0 && version[1] < 7) {\n return new net.Socket(fd);\n }\n\n if (version[0] === 0 && version[1] < 12) {\n return new tty.ReadStream(fd);\n }\n\n return new Socket(fd);\n}\n\n/**\n * Wrap net.Socket for a workaround\n */\n\nfunction Socket(options) {\n if (!(this instanceof Socket)) {\n return new Socket(options);\n }\n var tty = process.binding('tty_wrap');\n var guessHandleType = tty.guessHandleType;\n tty.guessHandleType = function() {\n return 'PIPE';\n };\n net.Socket.call(this, options);\n tty.guessHandleType = guessHandleType;\n}\n\nSocket.prototype.__proto__ = net.Socket.prototype;\n\n/**\n * Helpers\n */\n\nfunction environ(env) {\n var keys = Object.keys(env || {})\n , l = keys.length\n , i = 0\n , pairs = [];\n\n for (; i < l; i++) {\n pairs.push(keys[i] + '=' + env[keys[i]]);\n }\n\n return pairs;\n}\n\n/**\n * Expose\n */\n\nmodule.exports = exports = Terminal;\nexports.Terminal = Terminal;\nexports.native = pty;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/pty.js/lib/pty.js\n// module id = ../../node_modules/pty.js/lib/pty.js\n// module chunks = 0","/**\n * pty_win.js\n * Copyright (c) 2012-2015, Christopher Jeffrey, Peter Sunde (MIT License)\n */\n\nvar net = require('net');\nvar path = require('path');\nvar extend = require('extend');\nvar inherits = require('util').inherits;\nvar BaseTerminal = require('./pty').Terminal;\nvar pty = require('../build/Release/pty.node');\n\n// Counter of number of \"pipes\" created so far.\nvar pipeIncr = 0;\n\n/**\n * Agent. Internal class.\n *\n * Everytime a new pseudo terminal is created it is contained\n * within agent.exe. When this process is started there are two\n * available named pipes (control and data socket).\n */\n\nfunction Agent(file, args, env, cwd, cols, rows, debug) {\n var self = this;\n\n // Increment the number of pipes created.\n pipeIncr++;\n\n // Unique identifier per pipe created.\n var timestamp = Date.now();\n\n // The data pipe is the direct connection to the forked terminal.\n this.dataPipe = '\\\\\\\\.\\\\pipe\\\\winpty-data-' + pipeIncr + '' + timestamp;\n\n // Dummy socket for awaiting `ready` event.\n this.ptySocket = new net.Socket();\n\n // Create terminal pipe IPC channel and forward\n // to a local unix socket.\n this.ptyDataPipe = net.createServer(function (socket) {\n\n // Default socket encoding.\n socket.setEncoding('utf8');\n\n // Pause until `ready` event is emitted.\n socket.pause();\n\n // Sanitize input variable.\n file = file;\n args = args.join(' ');\n cwd = path.resolve(cwd);\n\n // Start terminal session.\n pty.startProcess(self.pid, file, args, env, cwd);\n\n // Emit ready event.\n self.ptySocket.emit('ready_datapipe', socket);\n\n }).listen(this.dataPipe);\n\n // Open pty session.\n var term = pty.open(self.dataPipe, cols, rows, debug);\n\n // Terminal pid.\n this.pid = term.pid;\n\n // Not available on windows.\n this.fd = term.fd;\n\n // Generated incremental number that has no real purpose besides\n // using it as a terminal id.\n this.pty = term.pty;\n}\n\n/**\n * Terminal\n */\n\n/*\nvar pty = require('./');\n\nvar term = pty.fork('cmd.exe', [], {\n name: 'Windows Shell',\n cols: 80,\n rows: 30,\n cwd: process.env.HOME,\n env: process.env,\n debug: true\n});\n\nterm.on('data', function(data) {\n console.log(data);\n});\n*/\n\nfunction Terminal(file, args, opt) {\n\n var self = this,\n env, cwd, name, cols, rows, term, agent, debug;\n\n // Backward compatibility.\n if (typeof args === 'string') {\n opt = {\n name: arguments[1],\n cols: arguments[2],\n rows: arguments[3],\n cwd: process.env.HOME\n };\n args = [];\n }\n\n // Arguments.\n args = args || [];\n file = file || 'cmd.exe';\n opt = opt || {};\n\n env = extend({}, opt.env);\n\n cols = opt.cols || 80;\n rows = opt.rows || 30;\n cwd = opt.cwd || process.cwd();\n name = opt.name || env.TERM || 'Windows Shell';\n debug = opt.debug || false;\n\n env.TERM = name;\n\n // Initialize environment variables.\n env = environ(env);\n\n // If the terminal is ready\n this.isReady = false;\n\n // Functions that need to run after `ready` event is emitted.\n this.deferreds = [];\n\n // Create new termal.\n this.agent = new Agent(file, args, env, cwd, cols, rows, debug);\n\n // The dummy socket is used so that we can defer everything\n // until its available.\n this.socket = this.agent.ptySocket;\n\n // The terminal socket when its available\n this.dataPipe = null;\n\n // Not available until `ready` event emitted.\n this.pid = this.agent.pid;\n this.fd = this.agent.fd;\n this.pty = this.agent.pty;\n\n // The forked windows terminal is not available\n // until `ready` event is emitted.\n this.socket.on('ready_datapipe', function (socket) {\n\n // Set terminal socket\n self.dataPipe = socket;\n\n // These events needs to be forwarded.\n ['connect', 'data', 'end', 'timeout', 'drain'].forEach(function(event) {\n self.dataPipe.on(event, function(data) {\n\n // Wait until the first data event is fired\n // then we can run deferreds.\n if(!self.isReady && event == 'data') {\n\n // Terminal is now ready and we can\n // avoid having to defer method calls.\n self.isReady = true;\n\n // Execute all deferred methods\n self.deferreds.forEach(function(fn) {\n // NB! In order to ensure that `this` has all\n // its references updated any variable that\n // need to be available in `this` before\n // the deferred is run has to be declared\n // above this forEach statement.\n fn.run();\n });\n\n // Reset\n self.deferreds = [];\n\n }\n\n // Emit to dummy socket\n self.socket.emit(event, data);\n\n });\n });\n\n // Resume socket.\n self.dataPipe.resume();\n\n // Shutdown if `error` event is emitted.\n self.dataPipe.on('error', function (err) {\n\n // Close terminal session.\n self._close();\n\n // EIO, happens when someone closes our child\n // process: the only process in the terminal.\n // node < 0.6.14: errno 5\n // node >= 0.6.14: read EIO\n if (err.code) {\n if (~err.code.indexOf('errno 5') || ~err.code.indexOf('EIO')) return;\n }\n\n // Throw anything else.\n if (self.listeners('error').length < 2) {\n throw err;\n }\n\n });\n\n // Cleanup after the socket is closed.\n self.dataPipe.on('close', function () {\n Terminal.total--;\n self.emit('exit', null);\n self._close();\n });\n\n });\n\n this.file = file;\n this.name = name;\n this.cols = cols;\n this.rows = rows;\n\n this.readable = true;\n this.writable = true;\n\n Terminal.total++;\n}\n\nTerminal.fork =\nTerminal.spawn =\nTerminal.createTerminal = function (file, args, opt) {\n return new Terminal(file, args, opt);\n};\n\n// Inherit from pty.js\ninherits(Terminal, BaseTerminal);\n\n// Keep track of the total\n// number of terminals for\n// the process.\nTerminal.total = 0;\n\n/**\n * Events\n */\n\n/**\n * openpty\n */\n\nTerminal.open = function () {\n throw new Error(\"open() not supported on windows, use Fork() instead.\");\n};\n\n/**\n * Events\n */\n\nTerminal.prototype.write = function(data) {\n defer(this, function() {\n this.dataPipe.write(data);\n });\n};\n\n/**\n * TTY\n */\n\nTerminal.prototype.resize = function (cols, rows) {\n defer(this, function() {\n\n cols = cols || 80;\n rows = rows || 24;\n\n this.cols = cols;\n this.rows = rows;\n\n pty.resize(this.pid, cols, rows);\n });\n};\n\nTerminal.prototype.destroy = function () {\n defer(this, function() {\n this.kill();\n });\n};\n\nTerminal.prototype.kill = function (sig) {\n defer(this, function() {\n if (sig !== undefined) {\n throw new Error(\"Signals not supported on windows.\");\n }\n this._close();\n pty.kill(this.pid);\n });\n};\n\nTerminal.prototype.__defineGetter__('process', function () {\n return this.name;\n});\n\n/**\n * Helpers\n */\n\nfunction defer(terminal, deferredFn) {\n\n // Ensure that this method is only used within Terminal class.\n if (!(terminal instanceof Terminal)) {\n throw new Error(\"Must be instanceof Terminal\");\n }\n\n // If the terminal is ready, execute.\n if (terminal.isReady) {\n deferredFn.apply(terminal, null);\n return;\n }\n\n // Queue until terminal is ready.\n terminal.deferreds.push({\n run: function() {\n // Run deffered.\n deferredFn.apply(terminal, null);\n }\n });\n}\n\nfunction environ(env) {\n var keys = Object.keys(env || {})\n , l = keys.length\n , i = 0\n , pairs = [];\n\n for (; i < l; i++) {\n pairs.push(keys[i] + '=' + env[keys[i]]);\n }\n\n return pairs;\n}\n\n/**\n * Expose\n */\n\nmodule.exports = exports = Terminal;\nexports.Terminal = Terminal;\nexports.native = pty;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/pty.js/lib/pty_win.js\n// module id = ../../node_modules/pty.js/lib/pty_win.js\n// module chunks = 0","'use strict';\n\nconst ProcessRunner = require('./lib')\n\nProcessRunner.VERSION = require('./package.json').version\n\nmodule.exports = ProcessRunner\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/skypager-process-runner/index.js\n// module id = ../../node_modules/skypager-process-runner/index.js\n// module chunks = 0","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// identity function for calling harmory imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n\n/******/ \t// define getter function for harmory exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tObject.defineProperty(exports, name, {\n/******/ \t\t\tconfigurable: false,\n/******/ \t\t\tenumerable: true,\n/******/ \t\t\tget: getter\n/******/ \t\t});\n/******/ \t};\n\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 17);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ProcessRunner = undefined;\n\nvar _extends2 = __webpack_require__(7);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _toArray2 = __webpack_require__(8);\n\nvar _toArray3 = _interopRequireDefault(_toArray2);\n\nvar _classCallCheck2 = __webpack_require__(4);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(5);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nexports.runProcessAsync = runProcessAsync;\nexports.runProcess = runProcess;\nexports.create = create;\n\nvar _ansiHtmlStream = __webpack_require__(2);\n\nvar _ansiHtmlStream2 = _interopRequireDefault(_ansiHtmlStream);\n\nvar _props = __webpack_require__(1);\n\nvar _fs = __webpack_require__(10);\n\nvar _fsExtraPromise = __webpack_require__(11);\n\nvar _path = __webpack_require__(15);\n\nvar _pty = __webpack_require__(16);\n\nvar _ChildProcessPromise = __webpack_require__(9);\n\nvar _ChildProcessPromise2 = _interopRequireDefault(_ChildProcessPromise);\n\nvar _isObject = __webpack_require__(14);\n\nvar _isObject2 = _interopRequireDefault(_isObject);\n\nvar _isEmpty = __webpack_require__(12);\n\nvar _isEmpty2 = _interopRequireDefault(_isEmpty);\n\nvar _isFunction = __webpack_require__(13);\n\nvar _isFunction2 = _interopRequireDefault(_isFunction);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ProcessRunner = exports.ProcessRunner = function () {\n\n /**\n * Create a new ProcessRunner for repeatable commands\n *\n * @param {string} command - the full command with args, similar to nodes exec, or a function which returns one\n * the function will be called with arguments passed to the run method\n * @param {object} options - the options hash, passed directly to spawn\n * @param {boolean} options.chunked - the resulting html chunks should be contained in its own closing tag\n * @param {string} options.group - the name of the process group, useful to help group output logs\n * @param {string} options.prefix - the prefix for the id, which is used in the output filename\n * @param {stream} options.outputStream - if you don't want to use a file, pass in your own writeable stream\n */\n function ProcessRunner(command) {\n var _this = this;\n\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n (0, _classCallCheck3.default)(this, ProcessRunner);\n this.counter = 0;\n\n if ((0, _isObject2.default)(command) && (0, _isEmpty2.default)(options)) {\n options = command;\n command = options.command || options.cmd;\n }\n\n this.processGroup = options.group || options.processGroup || 'processes';\n\n var hide = (0, _props.defineHiddenProperty)(this);\n\n this.cwd = options.cwd || process.cwd();\n\n this.command = (0, _isFunction2.default)(command) ? command.bind(this) : function () {\n return command;\n };\n\n hide('prefix', options.prefix || this.processGroup + '-' + Math.floor(Date.now() / 100));\n hide('errors', []);\n hide('outputFolder', options.outputFolder || 'log/processes');\n hide('args', [command, options]);\n hide('ansi', (0, _ansiHtmlStream2.default)({ chunked: true }));\n hide('outputStream', function () {\n return options.outputStream || (0, _fs.createWriteStream)(_this.outputPath);\n }, true);\n hide('running', {});\n }\n\n (0, _createClass3.default)(ProcessRunner, [{\n key: 'ensureOutputPath',\n value: function ensureOutputPath() {\n return (0, _fsExtraPromise.mkdirpAsync)(this.outputFolder);\n }\n }, {\n key: 'runAsync',\n value: function runAsync() {\n return this.runProcessAsync.apply(this, arguments);\n }\n }, {\n key: 'runProcessAsync',\n value: function runProcessAsync() {\n var _this2 = this;\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.ensureOutputPath().then(function () {\n return _this2.runProcessPromise.apply(_this2, args);\n });\n }\n }, {\n key: 'runProcessPromise',\n value: function runProcessPromise(commandArgs, callback) {\n var _this3 = this;\n\n if ((0, _isFunction2.default)(commandArgs) && !callback) {\n callback = commandArgs;\n commandArgs = undefined;\n }\n\n var outputPath = this.outputPath;\n var cmd = this.command(commandArgs);\n\n var state = this.running[outputPath] = {\n cmd: cmd\n };\n\n this.counter += 1;\n\n return runProcessAsync(cmd, {\n cwd: this.cwd,\n outputPath: outputPath,\n outputStream: this.outputStream,\n id: this.id,\n cmd: cmd,\n onExit: function onExit(code) {\n state.exitCode = code;\n\n if (code !== 0 || code !== null) {\n _this3.errors.push({\n message: 'Process exited with non-zero code',\n code: code,\n cmd: cmd,\n outputPath: outputPath\n });\n callback && callback(code);\n } else {\n state.success = true;\n delete state[outputPath];\n callback && callback(code);\n }\n },\n onError: function onError(error) {\n state.success = false;\n state.errorMessage = error && error.message;\n\n _this3.errors.push({\n message: error && error.message,\n cmd: cmd,\n outputPath: outputPath\n });\n }\n }).then(function (childProcess) {\n state.pid = childProcess.pid;\n return childProcess;\n });\n }\n }, {\n key: 'run',\n value: function run(commandArgs) {\n var _this4 = this;\n\n var cmd = this.command(commandArgs);\n var outputPath = this.outputPath;\n\n var runner = runProcess(cmd, {\n cwd: this.cwd,\n outputPath: outputPath,\n outputStream: this.outputStream,\n id: this.id\n });\n\n this.counter += 1;\n\n return this.ensureOutputPath().then(function () {\n return runner;\n }).then(function (results) {\n _this4.pid = results.pid;\n return results;\n }).catch(function (error) {\n _this4.errors.push(cmd);\n throw error;\n });\n }\n }, {\n key: 'nextOutputPath',\n get: function get() {\n return (0, _path.join)(this.outputFolder, this.id + '.html');\n }\n }, {\n key: 'outputPath',\n get: function get() {\n return this.nextOutputPath;\n }\n }, {\n key: 'previousOutputPath',\n get: function get() {\n return this.counter > 0 ? (0, _path.join)(this.outputFolder, this.prefix + '-' + (this.counter - 1) + '.html') : undefined;\n }\n }, {\n key: 'previousOutputBuffer',\n get: function get() {\n return (0, _fs.readFileSync)(this.previousOutputPath);\n }\n }, {\n key: 'id',\n get: function get() {\n return this.prefix + '-' + this.counter;\n }\n }, {\n key: 'errorCount',\n get: function get() {\n return this.errors.length;\n }\n }]);\n return ProcessRunner;\n}();\n\nexports.default = ProcessRunner;\nfunction runProcessAsync() {\n var command = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0];\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var _command$split = command.split(' ');\n\n var _command$split2 = (0, _toArray3.default)(_command$split);\n\n var cmd = _command$split2[0];\n\n var args = _command$split2.slice(1);\n\n return new _ChildProcessPromise2.default(function (resolve, reject) {\n var child = (0, _pty.spawn)(cmd, args, (0, _extends3.default)({\n cwd: process.cwd(),\n rows: 60,\n cols: 160,\n name: options.id\n }, options));\n\n var outputPath = options.outputPath || child.pid + '.html';\n\n var stream = (0, _ansiHtmlStream2.default)({ chunked: true }),\n file = options.outputStream || (0, _fs.createWriteStream)(outputPath, 'utf8');\n\n child.stdout.pipe(stream);\n //child.stderr.pipe(stream)\n\n stream.pipe(file, { end: false });\n\n stream.once('end', function () {\n file.end(options.footer || '</pre>\\n');\n });\n\n file.write(options.header || '<pre id=\\'' + options.id + '\\'>\\n');\n\n if (options.onExit) {\n child.once('exit', function (code) {\n return options.onExit(code);\n });\n }\n\n child.on('error', function (error) {\n options.onError && options.onError(error);\n reject(error);\n });\n\n resolve(child);\n });\n}\n\n/**\n* Spawn a process and stream colorized output to an ansi-html-stream\n*\n* @param {string} command - a string containing the full command with arguments, like normal exec\n* @param {object} options - an object containing standard spawn options\n* @param {path} options.outputPath - override the output path, which by default will be the process.pid\n* @param {function} options.onError - invoke this function when the child process errors\n* @param {function} options.onExit - invoke this function when the child process exits\n*/\nfunction runProcess() {\n var command = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0];\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var _command$split3 = command.split(' ');\n\n var _command$split4 = (0, _toArray3.default)(_command$split3);\n\n var cmd = _command$split4[0];\n\n var args = _command$split4.slice(1);\n\n var stream = (0, _ansiHtmlStream2.default)({ chunked: true });\n var runner = doSpawn(cmd, args, {\n cols: 160,\n rows: 80,\n name: options.id,\n cwd: options.cwd || process.cwd(),\n env: options.env || process.env\n });\n\n var child = runner.childProcess;\n var outputPath = options.outputPath || child.pid + '.html';\n var output = options.outputStream || (0, _fs.createWriteStream)(outputPath, 'utf8');\n\n // setup child to pipe to the stream, which will convert the output for us\n child.stdout.pipe(stream);\n //child.stderr.pipe(stream)\n\n // anything piped to the stream goes through to output\n stream.pipe(output, { end: false });\n\n // once the stream ends, we want output to close the tag\n stream.once('end', function () {\n return output.end('</pre>\\n');\n });\n\n // start writing to output by opening up the pre-tag\n output.write('<pre class=\"process-runner\">\\n');\n\n if ((0, _isFunction2.default)(options.onError)) {\n child.once('error', function () {\n return options.onError.apply(options, arguments);\n });\n }\n\n if ((0, _isFunction2.default)(options.onExit)) {\n child.once('exit', function () {\n return options.onExit.apply(options, arguments);\n });\n }\n\n return runner.then(function (result) {\n return {\n pid: child.pid,\n result: result,\n cwd: options.cwd || process.cwd(),\n outputPath: outputPath,\n id: options.id,\n getProcess: function getProcess() {\n return child;\n },\n getRunner: function getRunner() {\n return runner;\n },\n getOutputStream: function getOutputStream() {\n return output;\n }\n };\n });\n}\n\n/**\n* @return {[ProcessRunner]} [creates a new process runner]\n*/\nfunction create(command, options) {\n return new ProcessRunner(command, options);\n}\n\n/**\n* `spawn` as Promised\n*\n* @param {String} command\n* @param {Array} args\n* @param {Object} options\n* @return {Promise}\n*/\nfunction doSpawn(command, args, options) {\n var result = {};\n\n var cp;\n var cpPromise = new _ChildProcessPromise2.default();\n var reject = cpPromise._cpReject;\n var resolve = cpPromise._cpResolve;\n\n // not sure why some of the things im testing have undefined exit codes instead of 0\n var successfulExitCodes = options && options.successfulExitCodes || [0, null, undefined];\n\n cp = (0, _pty.spawn)(command, args, (0, _extends3.default)({}, options, {\n shell: true\n }));\n\n // Don't return the whole Buffered result by default.\n var captureStdout = false;\n\n var capture = options && options.capture;\n if (capture) {\n for (var i = 0, len = capture.length; i < len; i++) {\n var cur = capture[i];\n if (cur === 'stdout') {\n captureStdout = true;\n } else if (cur === 'stderr') {\n captureStderr = true;\n }\n }\n }\n\n result.childProcess = cp;\n\n if (captureStdout) {\n result.stdout = '';\n\n cp.stdout.on('data', function (data) {\n result.stdout += data;\n });\n }\n\n /*\n if (captureStderr) {\n result.stderr = '';\n cp.stderr.on('data', function (data) {\n result.stderr += data;\n });\n }\n */\n\n cp.on('error', reject);\n\n cp.on('close', function (code) {\n if (successfulExitCodes.indexOf(code) === -1) {\n var commandStr = command + (args.length ? ' ' + args.join(' ') : '');\n var err = {\n code: code,\n message: '`' + commandStr + '` failed with code ' + code,\n childProcess: cp,\n toString: function toString() {\n return this.message;\n }\n };\n\n /*\n if (captureStderr) {\n err.stderr = result.stderr.toString();\n }\n */\n\n if (captureStdout) {\n err.stdout = result.stdout.toString();\n }\n\n reject(err);\n } else {\n result.code = code;\n resolve(result);\n }\n });\n\n cpPromise.childProcess = cp;\n\n return cpPromise;\n}\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(6);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _defineProperty4 = __webpack_require__(3);\n\nvar _defineProperty5 = _interopRequireDefault(_defineProperty4);\n\nexports.defineHiddenProperty = defineHiddenProperty;\nexports.hideProperties = hideProperties;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Returns a function that can be used to create hidden property values\n * on the target object. This is just a convenience wrapper around\n * Object.defineProperty that makes it less verbose to use\n*/\nfunction defineHiddenProperty(instance) {\n var configurable = arguments.length <= 1 || arguments[1] === undefined ? true : arguments[1];\n\n return function (property, value) {\n var getter = arguments.length <= 2 || arguments[2] === undefined ? false : arguments[2];\n\n var type = getter ? 'get' : 'value';\n\n value = getter && typeof value !== 'function' ? function () {\n return value;\n } : value;\n\n (0, _defineProperty5.default)(instance, property, (0, _defineProperty3.default)({\n configurable: configurable,\n enumerable: false\n }, type, value));\n };\n}\n\nfunction hideProperties(obj) {\n var props = (arguments.length <= 1 ? 0 : arguments.length - 1) === 2 ? (0, _defineProperty3.default)({}, arguments.length <= 1 ? undefined : arguments[1], arguments.length <= 2 ? undefined : arguments[2]) : arguments.length <= 1 ? undefined : arguments[1];\n\n keys(props).forEach(function (prop) {\n var value = props[prop];\n\n defineProperty(obj, prop, {\n enumerable: false,\n get: function get() {\n return typeof value === 'function' ? value.call(obj) : value;\n }\n });\n });\n}\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\nmodule.exports = require(\"ansi-html-stream\");\n\n/***/ },\n/* 3 */\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/object/define-property\");\n\n/***/ },\n/* 4 */\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/classCallCheck\");\n\n/***/ },\n/* 5 */\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/createClass\");\n\n/***/ },\n/* 6 */\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/defineProperty\");\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/extends\");\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/toArray\");\n\n/***/ },\n/* 9 */\n/***/ function(module, exports) {\n\nmodule.exports = require(\"child-process-promise/lib/ChildProcessPromise\");\n\n/***/ },\n/* 10 */\n/***/ function(module, exports) {\n\nmodule.exports = require(\"fs\");\n\n/***/ },\n/* 11 */\n/***/ function(module, exports) {\n\nmodule.exports = require(\"fs-extra-promise\");\n\n/***/ },\n/* 12 */\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/isEmpty\");\n\n/***/ },\n/* 13 */\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/isFunction\");\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/isObject\");\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\nmodule.exports = require(\"path\");\n\n/***/ },\n/* 16 */\n/***/ function(module, exports) {\n\nmodule.exports = require(\"pty.js\");\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(0);\n\n\n/***/ }\n/******/ ]);\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/skypager-process-runner/lib/index.js\n// module id = ../../node_modules/skypager-process-runner/lib/index.js\n// module chunks = 0","module.exports = {\n\t\"_args\": [\n\t\t[\n\t\t\t{\n\t\t\t\t\"raw\": \"skypager-process-runner@^5.7.0\",\n\t\t\t\t\"scope\": null,\n\t\t\t\t\"escapedName\": \"skypager-process-runner\",\n\t\t\t\t\"name\": \"skypager-process-runner\",\n\t\t\t\t\"rawSpec\": \"^5.7.0\",\n\t\t\t\t\"spec\": \">=5.7.0 <6.0.0\",\n\t\t\t\t\"type\": \"range\"\n\t\t\t},\n\t\t\t\"/Users/jonathan/Skypager/node_modules/skypager\"\n\t\t]\n\t],\n\t\"_from\": \"skypager-process-runner@>=5.7.0 <6.0.0\",\n\t\"_id\": \"skypager-process-runner@5.17.3\",\n\t\"_inCache\": true,\n\t\"_installable\": true,\n\t\"_location\": \"/skypager-process-runner\",\n\t\"_nodeVersion\": \"6.6.0\",\n\t\"_npmOperationalInternal\": {\n\t\t\"host\": \"packages-12-west.internal.npmjs.com\",\n\t\t\"tmp\": \"tmp/skypager-process-runner-5.17.3.tgz_1476932731845_0.8956774813123047\"\n\t},\n\t\"_npmUser\": {\n\t\t\"name\": \"soederpop\",\n\t\t\"email\": \"jon@chicago.com\"\n\t},\n\t\"_npmVersion\": \"3.10.3\",\n\t\"_phantomChildren\": {},\n\t\"_requested\": {\n\t\t\"raw\": \"skypager-process-runner@^5.7.0\",\n\t\t\"scope\": null,\n\t\t\"escapedName\": \"skypager-process-runner\",\n\t\t\"name\": \"skypager-process-runner\",\n\t\t\"rawSpec\": \"^5.7.0\",\n\t\t\"spec\": \">=5.7.0 <6.0.0\",\n\t\t\"type\": \"range\"\n\t},\n\t\"_requiredBy\": [\n\t\t\"/skypager\",\n\t\t\"/skypager-project\"\n\t],\n\t\"_resolved\": \"https://registry.npmjs.org/skypager-process-runner/-/skypager-process-runner-5.17.3.tgz\",\n\t\"_shasum\": \"e11f98761f45bf0331dedde5c1a90e71a58b6e58\",\n\t\"_shrinkwrap\": null,\n\t\"_spec\": \"skypager-process-runner@^5.7.0\",\n\t\"_where\": \"/Users/jonathan/Skypager/node_modules/skypager\",\n\t\"author\": {\n\t\t\"name\": \"Jon Soeder\",\n\t\t\"email\": \"jon@chicago.com\"\n\t},\n\t\"babel\": {\n\t\t\"presets\": [\n\t\t\t\"skypager\"\n\t\t]\n\t},\n\t\"bugs\": {\n\t\t\"url\": \"https://github.com/skypager/skypager-process-runner/issues\"\n\t},\n\t\"dependencies\": {\n\t\t\"ansi-html-stream\": \"0.0.3\",\n\t\t\"bluebird\": \"^3.4.1\",\n\t\t\"child-process-promise\": \"^2.0.3\",\n\t\t\"fs-extra-promise\": \"^0.4.1\",\n\t\t\"lodash\": \"^4.13.1\",\n\t\t\"pty.js\": \"^0.3.1\"\n\t},\n\t\"description\": \"run processes and stream their output as colorized html\",\n\t\"devDependencies\": {\n\t\t\"babel-core\": \"^6.7.7\",\n\t\t\"babel-eslint\": \"^6.0.4\",\n\t\t\"babel-loader\": \"^6.2.4\",\n\t\t\"babel-preset-skypager\": \"^5.6.0\",\n\t\t\"babel-register\": \"^6.7.0\",\n\t\t\"chai\": \"^3.5.0\",\n\t\t\"eslint\": \"^2.10.1\",\n\t\t\"eslint-config-skypager\": \"^5.0.4\",\n\t\t\"mocha\": \"^2.5.3\",\n\t\t\"mocha-webpack\": \"^0.6.0\",\n\t\t\"skypager-webpack\": \"^5.17.3\"\n\t},\n\t\"directories\": [\n\t\t\"lib\",\n\t\t\"test\",\n\t\t\"src\"\n\t],\n\t\"dist\": {\n\t\t\"shasum\": \"e11f98761f45bf0331dedde5c1a90e71a58b6e58\",\n\t\t\"tarball\": \"https://registry.npmjs.org/skypager-process-runner/-/skypager-process-runner-5.17.3.tgz\"\n\t},\n\t\"engines\": {\n\t\t\"npm\": \">=3\"\n\t},\n\t\"eslintConfig\": {\n\t\t\"parser\": \"babel-eslint\",\n\t\t\"extends\": [\n\t\t\t\"skypager\"\n\t\t],\n\t\t\"env\": {\n\t\t\t\"browser\": true,\n\t\t\t\"node\": true,\n\t\t\t\"mocha\": true\n\t\t}\n\t},\n\t\"files\": [\n\t\t\"lib\",\n\t\t\"src\",\n\t\t\"index.js\",\n\t\t\"package.json\",\n\t\t\"test\",\n\t\t\"README.md\",\n\t\t\"test.js\",\n\t\t\"Makefile\"\n\t],\n\t\"homepage\": \"https://github.com/skypager/skypager-process-runner#readme\",\n\t\"license\": \"UNLICENSED\",\n\t\"main\": \"index.js\",\n\t\"maintainers\": [\n\t\t{\n\t\t\t\"name\": \"soederpop\",\n\t\t\t\"email\": \"jon@chicago.com\"\n\t\t}\n\t],\n\t\"name\": \"skypager-process-runner\",\n\t\"optionalDependencies\": {},\n\t\"readme\": \"ERROR: No README data found!\",\n\t\"repository\": {\n\t\t\"type\": \"git\",\n\t\t\"url\": \"git+ssh://git@github.com/skypager/skypager-process-runner.git\"\n\t},\n\t\"scripts\": {\n\t\t\"build\": \"skypager-webpack\",\n\t\t\"test\": \"mocha-webpack --webpack-config webpack.config.test.js --require test/setup.js 'test/**/*.spec.js'\"\n\t},\n\t\"skypager\": {\n\t\t\"helpersRoot\": \"src/helpers\"\n\t},\n\t\"version\": \"5.17.3\"\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/skypager-process-runner/package.json\n// module id = ../../node_modules/skypager-process-runner/package.json\n// module chunks = 0","exports.ids = [0];\nexports.modules = {\n\n/***/ \"./src/file-systems/node.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toConsumableArray2 = __webpack_require__(10);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _pick = __webpack_require__(45);\n\nvar _pick2 = _interopRequireDefault(_pick);\n\nvar _mapValues = __webpack_require__(16);\n\nvar _mapValues2 = _interopRequireDefault(_mapValues);\n\nvar _fsExtraPromise = __webpack_require__(44);\n\nvar _fsExtraPromise2 = _interopRequireDefault(_fsExtraPromise);\n\nvar _fileSystem = __webpack_require__(\"./src/helpers/file-system.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var host = options.host || options.project || context.project;\n\n var _options$methods = options.methods;\n var methods = _options$methods === undefined ? _fileSystem.methods : _options$methods;\n\n\n methods.push.apply(methods, (0, _toConsumableArray3.default)(methods.map(function (name) {\n return name + 'Sync';\n })));\n methods.push.apply(methods, (0, _toConsumableArray3.default)(methods.map(function (name) {\n return name + 'Async';\n })));\n\n host.hide('fsx', (0, _pick2.default)(_fsExtraPromise2.default, methods));\n host.hide('fs', host.fsx);\n\n // proxy the methods from directly on the host\n (0, _mapValues2.default)(host.fsx, function (fn, name) {\n return host.hide(name, function () {\n var _host$fsx;\n\n return (_host$fsx = host.fsx)[name].apply(_host$fsx, arguments);\n });\n });\n\n return host;\n};\n\n/***/ },\n\n/***/ 43:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./node.js\": \"./src/file-systems/node.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 43;\n\n\n/***/ }\n\n};;\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/skypager-project/lib/0.js\n// module id = ../../node_modules/skypager-project/lib/0.js\n// module chunks = 0","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// object to store loaded chunks\n/******/ \t// \"0\" means \"already loaded\"\n/******/ \tvar installedChunks = {\n/******/ \t\t4: 0\n/******/ \t};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n/******/ \t// This file contains only the entry chunk.\n/******/ \t// The chunk loading function for additional chunks\n/******/ \t__webpack_require__.e = function requireEnsure(chunkId) {\n/******/ \t\t// \"0\" is the signal for \"already loaded\"\n/******/ \t\tif(installedChunks[chunkId] !== 0) {\n/******/ \t\t\tvar chunk = require(\"./\" + ({}[chunkId]||chunkId) + \".js\");\n/******/ \t\t\tvar moreModules = chunk.modules, chunkIds = chunk.ids;\n/******/ \t\t\tfor(var moduleId in moreModules) {\n/******/ \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n/******/ \t\t\t}\n/******/ \t\t\tfor(var i = 0; i < chunkIds.length; i++)\n/******/ \t\t\t\tinstalledChunks[chunkIds[i]] = 0;\n/******/ \t\t}\n/******/ \t\treturn Promise.resolve();\n/******/ \t};\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// identity function for calling harmory imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n\n/******/ \t// define getter function for harmory exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tObject.defineProperty(exports, name, {\n/******/ \t\t\tconfigurable: false,\n/******/ \t\t\tenumerable: true,\n/******/ \t\t\tget: getter\n/******/ \t\t});\n/******/ \t};\n\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/\";\n\n/******/ \t// uncatched error handler for webpack runtime\n/******/ \t__webpack_require__.oe = function(err) {\n/******/ \t\tprocess.nextTick(function() {\n/******/ \t\t\tthrow err; // catch this error by using System.import().catch()\n/******/ \t\t});\n/******/ \t};\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 53);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./src/data-sources/packages.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function () {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var project = context.project;\n var _options$pattern = options.pattern;\n var pattern = _options$pattern === undefined ? ':packageFolder/:name/package.json' : _options$pattern;\n\n\n var packageDocs = project.routeDocuments(pattern);\n\n return packageDocs.map(function (result) {\n if (options.load) {\n result.doc = result.doc.ready;\n }\n\n return result;\n });\n};\n\n/***/ },\n\n/***/ \"./src/helper.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.attach = exports.Helper = exports.requireContext = undefined;\n\nvar _extends2 = __webpack_require__(2);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _class, _temp;\n\nvar _lodash = __webpack_require__(8);\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _skypagerRegistry = __webpack_require__(3);\n\nvar _skypagerUtil = __webpack_require__(7);\n\nvar _emitter = __webpack_require__(\"./src/utils/emitter.js\");\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar camelize = _skypagerUtil.strings.camelize;\nvar underscore = _skypagerUtil.strings.underscore;\nvar singularize = _skypagerUtil.strings.singularize;\nvar pluralize = _skypagerUtil.strings.pluralize;\n\n\nPromise.resolve().catch(function(err) { __webpack_require__.oe(err); }).then((function () {\n Helper.modules = new _skypagerRegistry.Context('helpers', { context: __webpack_require__(9) });\n}).bind(null, __webpack_require__));\n\nvar requireContext = exports.requireContext = __webpack_require__(9);\n\nvar Helper = exports.Helper = (_temp = _class = function () {\n (0, _createClass3.default)(Helper, null, [{\n key: 'cacheable',\n value: function cacheable() {\n var setting = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n return this.isCacheable = !!setting;\n }\n }, {\n key: 'attach',\n value: function attach(host) {\n var helperClass = arguments.length <= 1 || arguments[1] === undefined ? Helper : arguments[1];\n var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n return _attach(host, helperClass, options);\n }\n }]);\n\n function Helper() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n (0, _classCallCheck3.default)(this, Helper);\n this.isInitialized = false;\n this.isConfigured = false;\n\n (0, _skypagerUtil.mixinPropertyUtils)(this);\n (0, _emitter2.default)(this);\n\n this.hide('context', context);\n this.hide('project', context.project);\n this.hideGetter('options', function () {\n return _lodash2.default.omit(options, 'provider');\n });\n this.getter('provider', function () {\n return options.provider;\n });\n\n this.name = options.provider.name || options.id;\n this.id = [this.get('project.id', this.constructor.name), this.name, Math.floor(new Date() / 100)].join(':');\n\n if (options.initialize !== false) {\n this.doInitialize();\n }\n }\n\n (0, _createClass3.default)(Helper, [{\n key: 'doInitialize',\n value: function doInitialize() {\n this.isInitialized = !!this.result('initialize', function () {\n return true;\n });\n\n if (this.configure && this.options.configure) {\n this.configure(this.options.configure);\n }\n }\n }, {\n key: 'initialized',\n get: function get() {\n this.doInitialize();\n return this;\n }\n }, {\n key: 'chain',\n get: function get() {\n return _lodash2.default.chain(this);\n }\n }]);\n return Helper;\n}(), _class.isCacheable = true, _class.requireContext = requireContext, _class.createRegistry = function () {\n return Helper.modules || new _skypagerRegistry.Context('helpers', { context: __webpack_require__(9) });\n}, _temp);\nexports.default = Helper;\nvar _attach = function _attach(host, helperClass) {\n var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n var _options$registryProp = options.registryProp;\n var registryProp = _options$registryProp === undefined ? camelize(pluralize(underscore(helperClass.name))).toLowerCase() : _options$registryProp;\n var _options$lookupProp = options.lookupProp;\n var lookupProp = _options$lookupProp === undefined ? singularize(camelize(underscore(helperClass.name))).toLowerCase() : _options$lookupProp;\n\n\n if (host[registryProp]) {\n return host;\n }\n\n (0, _skypagerUtil.lazy)(host, registryProp, function () {\n return options.registry || helperClass.createRegistry();\n });\n\n (0, _skypagerUtil.hideProperty)(host, lookupProp, function (name) {\n var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var ctx = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n var reg = host[registryProp];\n\n var _opts$cacheHelper = opts.cacheHelper;\n var cacheHelper = _opts$cacheHelper === undefined ? !!(helperClass.isCacheable || opts.cacheHelper) : _opts$cacheHelper;\n\n\n if (!cacheHelper) {\n return new helperClass((0, _extends3.default)({}, opts, {\n provider: reg.lookup(name),\n id: name\n }), (0, _extends3.default)({}, host.createSandbox(), {\n host: host,\n reg: reg\n }));\n } else {\n return host.cache.fetch(host.instanceId + ':' + lookupProp + ':' + name, function () {\n return new helperClass((0, _extends3.default)({}, opts, { provider: reg.lookup(name), id: name }), (0, _extends3.default)({}, host.createSandbox(ctx), {\n host: host,\n reg: reg\n }));\n });\n }\n });\n\n return host;\n};\nexports.attach = _attach;\n\n/***/ },\n\n/***/ \"./src/helpers/data-source.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DataSource = undefined;\n\nvar _extends2 = __webpack_require__(2);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _promise = __webpack_require__(12);\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nvar _getPrototypeOf = __webpack_require__(4);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(6);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(5);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _class, _temp;\n\nvar _skypagerRegistry = __webpack_require__(3);\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar DataSource = exports.DataSource = (_temp = _class = function (_Helper) {\n (0, _inherits3.default)(DataSource, _Helper);\n\n function DataSource() {\n (0, _classCallCheck3.default)(this, DataSource);\n return (0, _possibleConstructorReturn3.default)(this, (DataSource.__proto__ || (0, _getPrototypeOf2.default)(DataSource)).apply(this, arguments));\n }\n\n (0, _createClass3.default)(DataSource, [{\n key: 'load',\n value: function load() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n return _promise2.default.resolve(this.source(options));\n }\n }, {\n key: 'source',\n get: function get() {\n var _this2 = this;\n\n var source = this.provider.default ? this.provider.default : this.provider;\n\n return typeof source === 'function' ? function () {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n return source((0, _extends3.default)({}, _this2.options, options), _this2.context);\n } : function () {\n return source;\n };\n }\n }], [{\n key: 'cacheable',\n value: function cacheable() {\n var setting = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n return this.isCacheable = !!setting;\n }\n }, {\n key: 'attach',\n value: function attach(project) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n return (0, _helper.attach)(project, DataSource, (0, _extends3.default)({\n registryProp: 'dataSources',\n lookupProp: 'dataSource',\n registry: options.registry || DataSource.createRegistry()\n }, options));\n }\n }]);\n return DataSource;\n}(_helper2.default), _class.isCacheable = true, _class.createRegistry = function () {\n return new _skypagerRegistry.Context('dataSources', {\n context: __webpack_require__(17)\n });\n}, _temp);\nexports.default = DataSource;\n\n/***/ },\n\n/***/ \"./src/helpers/file-system.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.methods = exports.attach = exports.use = exports.registry = undefined;\n\nvar _regenerator = __webpack_require__(24);\n\nvar _regenerator2 = _interopRequireDefault(_regenerator);\n\nvar _extends2 = __webpack_require__(2);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _asyncToGenerator2 = __webpack_require__(22);\n\nvar _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);\n\nvar use = exports.use = function () {\n var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var next = arguments[2];\n var project, mod, provider;\n return _regenerator2.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n project = options.project || context.project || this;\n\n\n try {\n mod = registry.lookup(options.name);\n provider = mod.default ? mod.default : mod;\n\n attach((0, _extends3.default)({ host: project }, options, { provider: provider }), context);\n next();\n } catch (error) {\n next(error);\n }\n\n case 2:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n return function use() {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _skypagerRegistry = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar registry = exports.registry = void 0;\n\n__webpack_require__.e/* nsure */(0).catch(function(err) { __webpack_require__.oe(err); }).then((function () {\n return exports.registry = registry = new _skypagerRegistry.Context('file-systems', {\n context: __webpack_require__(43)\n });\n}).bind(null, __webpack_require__));\n\nexports.default = use;\nvar attach = exports.attach = function attach() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var provider = options.provider;\n\n provider(options, context);\n};\n\nvar methods = exports.methods = ['copy', 'readFile', 'writeFile', 'outputFile', 'exists', 'mkdirp', 'readJson', 'writeJson', 'readdir', 'walk'];\n\n/***/ },\n\n/***/ \"./src/helpers/generator.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Generator = undefined;\n\nvar _getPrototypeOf = __webpack_require__(4);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(6);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(5);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _class, _temp;\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Generator = exports.Generator = (_temp = _class = function (_Helper) {\n (0, _inherits3.default)(Generator, _Helper);\n\n function Generator() {\n (0, _classCallCheck3.default)(this, Generator);\n return (0, _possibleConstructorReturn3.default)(this, (Generator.__proto__ || (0, _getPrototypeOf2.default)(Generator)).apply(this, arguments));\n }\n\n (0, _createClass3.default)(Generator, [{\n key: 'run',\n value: function run() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n }\n }, {\n key: 'configure',\n value: function configure(fn) {}\n }], [{\n key: 'cacheable',\n value: function cacheable() {\n var setting = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n return this.isCacheable = !!setting;\n }\n }]);\n return Generator;\n}(_helper2.default), _class.requireContext = __webpack_require__(18), _class.isCacheable = true, _temp);\nexports.default = Generator;\n\n/***/ },\n\n/***/ \"./src/helpers/initializer.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Initializer = undefined;\n\nvar _getPrototypeOf = __webpack_require__(4);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(6);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(5);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _class, _temp;\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Initializer = exports.Initializer = (_temp = _class = function (_Helper) {\n (0, _inherits3.default)(Initializer, _Helper);\n\n function Initializer() {\n (0, _classCallCheck3.default)(this, Initializer);\n return (0, _possibleConstructorReturn3.default)(this, (Initializer.__proto__ || (0, _getPrototypeOf2.default)(Initializer)).apply(this, arguments));\n }\n\n (0, _createClass3.default)(Initializer, [{\n key: 'run',\n value: function run() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n }\n }, {\n key: 'configure',\n value: function configure(fn) {}\n }], [{\n key: 'cacheable',\n value: function cacheable() {\n var setting = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n return this.isCacheable = !!setting;\n }\n }]);\n return Initializer;\n}(_helper2.default), _class.requireContext = __webpack_require__(20), _class.isCacheable = true, _temp);\nexports.default = Initializer;\n\n/***/ },\n\n/***/ \"./src/helpers/project-type.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ProjectType = undefined;\n\nvar _extends2 = __webpack_require__(2);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _getPrototypeOf = __webpack_require__(4);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(6);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(5);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _class, _temp;\n\nvar _skypagerRegistry = __webpack_require__(3);\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ProjectType = exports.ProjectType = (_temp = _class = function (_Helper) {\n (0, _inherits3.default)(ProjectType, _Helper);\n\n function ProjectType() {\n (0, _classCallCheck3.default)(this, ProjectType);\n return (0, _possibleConstructorReturn3.default)(this, (ProjectType.__proto__ || (0, _getPrototypeOf2.default)(ProjectType)).apply(this, arguments));\n }\n\n (0, _createClass3.default)(ProjectType, null, [{\n key: 'cacheable',\n value: function cacheable() {\n var setting = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n return this.isCacheable = !!setting;\n }\n }, {\n key: 'attach',\n value: function attach(project) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n return _helper2.default.attach(project, ProjectType, (0, _extends3.default)({\n registryProp: 'projectTypes',\n lookupProp: 'projectType',\n registry: options.registry || ProjectType.createRegistry()\n }, options));\n }\n }]);\n return ProjectType;\n}(_helper2.default), _class.isCacheable = true, _class.createRegistry = function () {\n return new _skypagerRegistry.Context('projectTypes', {\n context: __webpack_require__(21)\n });\n}, _temp);\nexports.default = ProjectType;\n\n/***/ },\n\n/***/ \"./src/initializers/portfolio.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n\"use strict\";\n\n/***/ },\n\n/***/ \"./src/initializers/project.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n\"use strict\";\n\n/***/ },\n\n/***/ \"./src/project-types/application.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.use = use;\nexports.attach = attach;\nfunction use() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var next = arguments[2];\n var _context$project = context.project;\n var project = _context$project === undefined ? this : _context$project;\n\n attach(project, options, next);\n}\n\nfunction attach(project) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var next = arguments[2];\n\n next();\n}\n\n/***/ },\n\n/***/ \"./src/project-types/library.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ exports[\"use\"] = use;\n/* harmony export (immutable) */ exports[\"attach\"] = attach;\nfunction use (options = {}, context = {}, next) {\n const { project = this } = context\n attach(project, options, next)\n}\n\nfunction attach (project, options = {}, next) {\n next()\n}\n\n\n/***/ },\n\n/***/ \"./src/project-types/portfolio.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.use = use;\nexports.attach = attach;\nfunction use() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var next = arguments[2];\n var _context$project = context.project;\n var project = _context$project === undefined ? this : _context$project;\n\n attach(project, options, next);\n}\n\nfunction attach(project) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var next = arguments[2];\n\n next();\n}\n\n/***/ },\n\n/***/ \"./src/utils/emitter.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.attachEmitter = attachEmitter;\n\nvar _fbemitter = __webpack_require__(13);\n\nfunction attachEmitter(project) {\n project.hide('emitter', new _fbemitter.EventEmitter());\n project.hide('on', project.emitter.addListener.bind(project.emitter));\n project.hide('once', project.emitter.once.bind(project.emitter));\n project.hide('off', project.emitter.removeCurrentListener.bind(project.emitter));\n project.hide('emit', project.emitter.emit.bind(project.emitter));\n project.hide('trigger', project.emitter.emit.bind(project.emitter));\n}\n\nexports.default = attachEmitter;\n\n/***/ },\n\n/***/ 0:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/classCallCheck\");\n\n/***/ },\n\n/***/ 1:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/createClass\");\n\n/***/ },\n\n/***/ 10:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/toConsumableArray\");\n\n/***/ },\n\n/***/ 12:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/promise\");\n\n/***/ },\n\n/***/ 13:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"fbemitter\");\n\n/***/ },\n\n/***/ 16:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/mapValues\");\n\n/***/ },\n\n/***/ 17:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./packages.js\": \"./src/data-sources/packages.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 17;\n\n\n/***/ },\n\n/***/ 18:\n/***/ function(module, exports) {\n\nfunction webpackEmptyContext(req) {\n\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 18;\n\n\n/***/ },\n\n/***/ 2:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/extends\");\n\n/***/ },\n\n/***/ 20:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./portfolio.js\": \"./src/initializers/portfolio.js\",\n\t\"./project.js\": \"./src/initializers/project.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 20;\n\n\n/***/ },\n\n/***/ 21:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./application.js\": \"./src/project-types/application.js\",\n\t\"./library.js\": \"./src/project-types/library.js\",\n\t\"./portfolio.js\": \"./src/project-types/portfolio.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 21;\n\n\n/***/ },\n\n/***/ 22:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/asyncToGenerator\");\n\n/***/ },\n\n/***/ 24:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/regenerator\");\n\n/***/ },\n\n/***/ 3:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"skypager-registry\");\n\n/***/ },\n\n/***/ 4:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/object/get-prototype-of\");\n\n/***/ },\n\n/***/ 44:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"fs-extra-promise\");\n\n/***/ },\n\n/***/ 45:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/pick\");\n\n/***/ },\n\n/***/ 5:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/inherits\");\n\n/***/ },\n\n/***/ 53:\n/***/ function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"./src/helper.js\");\n\n\n/***/ },\n\n/***/ 6:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/possibleConstructorReturn\");\n\n/***/ },\n\n/***/ 7:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"skypager-util\");\n\n/***/ },\n\n/***/ 8:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash\");\n\n/***/ },\n\n/***/ 9:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./data-source.js\": \"./src/helpers/data-source.js\",\n\t\"./file-system.js\": \"./src/helpers/file-system.js\",\n\t\"./generator.js\": \"./src/helpers/generator.js\",\n\t\"./initializer.js\": \"./src/helpers/initializer.js\",\n\t\"./project-type.js\": \"./src/helpers/project-type.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 9;\n\n\n/***/ }\n\n/******/ });\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/skypager-project/lib/helper.js\n// module id = ../../node_modules/skypager-project/lib/helper.js\n// module chunks = 0","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// object to store loaded chunks\n/******/ \t// \"0\" means \"already loaded\"\n/******/ \tvar installedChunks = {\n/******/ \t\t1: 0\n/******/ \t};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n/******/ \t// This file contains only the entry chunk.\n/******/ \t// The chunk loading function for additional chunks\n/******/ \t__webpack_require__.e = function requireEnsure(chunkId) {\n/******/ \t\t// \"0\" is the signal for \"already loaded\"\n/******/ \t\tif(installedChunks[chunkId] !== 0) {\n/******/ \t\t\tvar chunk = require(\"./\" + ({}[chunkId]||chunkId) + \".js\");\n/******/ \t\t\tvar moreModules = chunk.modules, chunkIds = chunk.ids;\n/******/ \t\t\tfor(var moduleId in moreModules) {\n/******/ \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n/******/ \t\t\t}\n/******/ \t\t\tfor(var i = 0; i < chunkIds.length; i++)\n/******/ \t\t\t\tinstalledChunks[chunkIds[i]] = 0;\n/******/ \t\t}\n/******/ \t\treturn Promise.resolve();\n/******/ \t};\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// identity function for calling harmory imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n\n/******/ \t// define getter function for harmory exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tObject.defineProperty(exports, name, {\n/******/ \t\t\tconfigurable: false,\n/******/ \t\t\tenumerable: true,\n/******/ \t\t\tget: getter\n/******/ \t\t});\n/******/ \t};\n\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/\";\n\n/******/ \t// uncatched error handler for webpack runtime\n/******/ \t__webpack_require__.oe = function(err) {\n/******/ \t\tprocess.nextTick(function() {\n/******/ \t\t\tthrow err; // catch this error by using System.import().catch()\n/******/ \t\t});\n/******/ \t};\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 54);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./node_modules/webpack/buildin/module.js\":\n/***/ function(module, exports) {\n\nmodule.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tconfigurable: false,\r\n\t\t\tget: function() { return module.l; }\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tconfigurable: false,\r\n\t\t\tget: function() { return module.i; }\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n}\r\n\n\n/***/ },\n\n/***/ \"./src/cache.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Cache = undefined;\n\nvar _map = __webpack_require__(29);\n\nvar _map2 = _interopRequireDefault(_map);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _skypagerUtil = __webpack_require__(7);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Cache = exports.Cache = function () {\n function Cache(init) {\n var _this = this;\n\n (0, _classCallCheck3.default)(this, Cache);\n\n (0, _skypagerUtil.hideProperty)(this, 'hide', function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _skypagerUtil.hideProperty.apply(undefined, [_this].concat(args));\n });\n\n this.clear(init);\n this.write = function (k, v) {\n return _this.set(k, v).get(k);\n };\n }\n\n (0, _createClass3.default)(Cache, [{\n key: 'fetch',\n value: function fetch(k, defaultValue) {\n if (this.has(k)) {\n return this.get(k);\n } else {\n this.set(k, typeof defaultValue === 'function' ? defaultValue(k) : defaultValue);\n return this.get(k);\n }\n }\n }, {\n key: 'clear',\n value: function clear(init) {\n delete this._wm;\n this._wm = new _map2.default(init);\n }\n }, {\n key: 'delete',\n value: function _delete(k) {\n return this._wm.delete(k);\n }\n }, {\n key: 'get',\n value: function get(k) {\n return this._wm.get(k);\n }\n }, {\n key: 'has',\n value: function has(k) {\n return this._wm.has(k);\n }\n }, {\n key: 'set',\n value: function set(k, v) {\n this._wm.set(k, v);\n return this;\n }\n }]);\n return Cache;\n}();\n\nexports.default = Cache;\n\n/***/ },\n\n/***/ \"./src/config/Expression.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = undefined;\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Expression = function () {\n function Expression(expression) {\n (0, _classCallCheck3.default)(this, Expression);\n\n this.expression = expression;\n }\n\n (0, _createClass3.default)(Expression, [{\n key: \"toString\",\n value: function toString() {\n return this.expression.toString();\n }\n }, {\n key: \"value\",\n value: function value() {\n return this.expression();\n }\n }]);\n return Expression;\n}();\n\nexports.default = Expression;\n\n/***/ },\n\n/***/ \"./src/config/index.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toConsumableArray2 = __webpack_require__(10);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _defineProperty2 = __webpack_require__(14);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _extends8 = __webpack_require__(2);\n\nvar _extends9 = _interopRequireDefault(_extends8);\n\nexports.default = api;\n\nvar _lodash = __webpack_require__(8);\n\nvar _stringify = __webpack_require__(\"./src/config/stringify.js\");\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar defaultFeatures = __webpack_require__(26).keys().reduce(function (memo, key) {\n return (0, _extends9.default)({}, memo, (0, _defineProperty3.default)({}, key.replace(/\\.\\//, '').replace(/\\.js$/, ''), features(key)));\n}, {});\n\nvar defaultReducers = __webpack_require__(27).keys().reduce(function (memo, key) {\n return (0, _extends9.default)({}, memo, (0, _defineProperty3.default)({}, key.replace(/\\.\\//, '').replace(/\\.js$/, ''), reducers(key)));\n}, {});\n\nfunction api() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var _options$history = options.history;\n var history = _options$history === undefined ? [] : _options$history;\n var _options$features = options.features;\n var features = _options$features === undefined ? {} : _options$features;\n var _options$reducers = options.reducers;\n var reducers = _options$reducers === undefined ? {} : _options$reducers;\n\n\n features = (0, _extends9.default)({}, defaultFeatures, features);\n reducers = (0, _extends9.default)({}, defaultReducers, reducers);\n\n var getState = function getState() {\n var initialState = (0, _lodash.reduce)(features, function (acc, feature, name) {\n var defaultValue = feature();\n\n if ((0, _lodash.isUndefined)(defaultValue)) {\n return acc;\n }\n\n return (0, _extends9.default)({}, acc, (0, _defineProperty3.default)({}, name, defaultValue));\n }, {});\n\n var state = history.reduce(function (acc, _ref) {\n var name = _ref.name;\n var args = _ref.args;\n\n var featureState = acc[name];\n var feature = features[name];\n\n return (0, _extends9.default)({}, acc, (0, _defineProperty3.default)({}, name, feature.apply(undefined, [featureState].concat((0, _toConsumableArray3.default)(args)))));\n }, initialState);\n\n Object.defineProperty(state, \"toString\", {\n value: function value() {\n return (0, _stringify2.default)(state);\n }\n });\n\n return state;\n };\n\n var getConfig = function getConfig(tap) {\n var state = getState();\n var config = (0, _lodash.reduce)(reducers, function (config, reducer, name) {\n var reduced = reducer(state);\n\n if ((0, _lodash.isUndefined)(reduced)) {\n return config;\n }\n\n return (0, _extends9.default)({}, config, (0, _defineProperty3.default)({}, name, reducer(state)));\n }, {});\n\n if (tap) {\n config = tap(config);\n }\n\n Object.defineProperty(config, \"toString\", {\n value: function value() {\n return (0, _stringify2.default)(config);\n }\n });\n\n return config;\n };\n\n var when = function when(env, configure) {\n var envs = Array.isArray(env) ? env : [env];\n var _process$env$NODE_ENV = process.env.NODE_ENV;\n var NODE_ENV = _process$env$NODE_ENV === undefined ? \"development\" : _process$env$NODE_ENV;\n\n\n if (env === true || envs.indexOf(NODE_ENV) !== -1) {\n return configure(api({ features: features, reducers: reducers, history: history }));\n } else if (typeof env === 'function' && env(getState(), getConfig)) {\n return configure({ features: features, reducers: reducers, history: history });\n }\n\n return api({ features: features, reducers: reducers, history: history });\n };\n\n return (0, _lodash.reduce)(features, function (acc, feature, name) {\n return (0, _extends9.default)({}, acc, (0, _defineProperty3.default)({}, name, function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return api(features, reducers, history.concat({ args: args, name: name }));\n }));\n }, {\n getConfig: getConfig,\n getState: getState,\n history: history,\n when: when\n });\n}\n\n/***/ },\n\n/***/ \"./src/config/stringify.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _stringify = __webpack_require__(28);\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nvar _keys = __webpack_require__(11);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nexports.default = stringify;\n\nvar _lodash = __webpack_require__(8);\n\nvar _Expression = __webpack_require__(\"./src/config/Expression.js\");\n\nvar _Expression2 = _interopRequireDefault(_Expression);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction stringify(value) {\n var replacements = [];\n\n var replace = function replace(replacement) {\n return \"__REPLACEMENT_\" + (replacements.push(replacement) - 1) + \"__\";\n };\n\n var sort = function sort(object) {\n return (0, _keys2.default)(object).sort().reduce(function (sorted, key) {\n sorted[key] = object[key];\n\n return sorted;\n }, {});\n };\n\n var replacer = function replacer(key, value) {\n if (value instanceof _Expression2.default) {\n return replace(value.toString());\n }\n\n if (value instanceof RegExp) {\n return replace(value.toString());\n }\n\n return value;\n };\n\n var string = (0, _stringify2.default)(_lodash.isPlainObject ? sort(value) : value, replacer, 2);\n\n return string.replace(/(^[\\s]+)?\"__REPLACEMENT_([\\d]+)__\"/gm, function (match) {\n var indent = arguments.length <= 1 || arguments[1] === undefined ? \"\" : arguments[1];\n var index = arguments[2];\n return (\"\" + indent + replacements[index]).split(\"\\n\").join(\"\\n\" + indent);\n });\n}\n\n/***/ },\n\n/***/ \"./src/data-sources/packages.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function () {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var project = context.project;\n var _options$pattern = options.pattern;\n var pattern = _options$pattern === undefined ? ':packageFolder/:name/package.json' : _options$pattern;\n\n\n var packageDocs = project.routeDocuments(pattern);\n\n return packageDocs.map(function (result) {\n if (options.load) {\n result.doc = result.doc.ready;\n }\n\n return result;\n });\n};\n\n/***/ },\n\n/***/ \"./src/file-systems/node.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toConsumableArray2 = __webpack_require__(10);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _pick = __webpack_require__(45);\n\nvar _pick2 = _interopRequireDefault(_pick);\n\nvar _mapValues = __webpack_require__(16);\n\nvar _mapValues2 = _interopRequireDefault(_mapValues);\n\nvar _fsExtraPromise = __webpack_require__(44);\n\nvar _fsExtraPromise2 = _interopRequireDefault(_fsExtraPromise);\n\nvar _fileSystem = __webpack_require__(\"./src/helpers/file-system.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var host = options.host || options.project || context.project;\n\n var _options$methods = options.methods;\n var methods = _options$methods === undefined ? _fileSystem.methods : _options$methods;\n\n\n methods.push.apply(methods, (0, _toConsumableArray3.default)(methods.map(function (name) {\n return name + 'Sync';\n })));\n methods.push.apply(methods, (0, _toConsumableArray3.default)(methods.map(function (name) {\n return name + 'Async';\n })));\n\n host.hide('fsx', (0, _pick2.default)(_fsExtraPromise2.default, methods));\n host.hide('fs', host.fsx);\n\n // proxy the methods from directly on the host\n (0, _mapValues2.default)(host.fsx, function (fn, name) {\n return host.hide(name, function () {\n var _host$fsx;\n\n return (_host$fsx = host.fsx)[name].apply(_host$fsx, arguments);\n });\n });\n\n return host;\n};\n\n/***/ },\n\n/***/ \"./src/helper.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.attach = exports.Helper = exports.requireContext = undefined;\n\nvar _extends2 = __webpack_require__(2);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _class, _temp;\n\nvar _lodash = __webpack_require__(8);\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _skypagerRegistry = __webpack_require__(3);\n\nvar _skypagerUtil = __webpack_require__(7);\n\nvar _emitter = __webpack_require__(\"./src/utils/emitter.js\");\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar camelize = _skypagerUtil.strings.camelize;\nvar underscore = _skypagerUtil.strings.underscore;\nvar singularize = _skypagerUtil.strings.singularize;\nvar pluralize = _skypagerUtil.strings.pluralize;\n\n\nPromise.resolve().catch(function(err) { __webpack_require__.oe(err); }).then((function () {\n Helper.modules = new _skypagerRegistry.Context('helpers', { context: __webpack_require__(9) });\n}).bind(null, __webpack_require__));\n\nvar requireContext = exports.requireContext = __webpack_require__(9);\n\nvar Helper = exports.Helper = (_temp = _class = function () {\n (0, _createClass3.default)(Helper, null, [{\n key: 'cacheable',\n value: function cacheable() {\n var setting = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n return this.isCacheable = !!setting;\n }\n }, {\n key: 'attach',\n value: function attach(host) {\n var helperClass = arguments.length <= 1 || arguments[1] === undefined ? Helper : arguments[1];\n var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n return _attach(host, helperClass, options);\n }\n }]);\n\n function Helper() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n (0, _classCallCheck3.default)(this, Helper);\n this.isInitialized = false;\n this.isConfigured = false;\n\n (0, _skypagerUtil.mixinPropertyUtils)(this);\n (0, _emitter2.default)(this);\n\n this.hide('context', context);\n this.hide('project', context.project);\n this.hideGetter('options', function () {\n return _lodash2.default.omit(options, 'provider');\n });\n this.getter('provider', function () {\n return options.provider;\n });\n\n this.name = options.provider.name || options.id;\n this.id = [this.get('project.id', this.constructor.name), this.name, Math.floor(new Date() / 100)].join(':');\n\n if (options.initialize !== false) {\n this.doInitialize();\n }\n }\n\n (0, _createClass3.default)(Helper, [{\n key: 'doInitialize',\n value: function doInitialize() {\n this.isInitialized = !!this.result('initialize', function () {\n return true;\n });\n\n if (this.configure && this.options.configure) {\n this.configure(this.options.configure);\n }\n }\n }, {\n key: 'initialized',\n get: function get() {\n this.doInitialize();\n return this;\n }\n }, {\n key: 'chain',\n get: function get() {\n return _lodash2.default.chain(this);\n }\n }]);\n return Helper;\n}(), _class.isCacheable = true, _class.requireContext = requireContext, _class.createRegistry = function () {\n return Helper.modules || new _skypagerRegistry.Context('helpers', { context: __webpack_require__(9) });\n}, _temp);\nexports.default = Helper;\nvar _attach = function _attach(host, helperClass) {\n var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n var _options$registryProp = options.registryProp;\n var registryProp = _options$registryProp === undefined ? camelize(pluralize(underscore(helperClass.name))).toLowerCase() : _options$registryProp;\n var _options$lookupProp = options.lookupProp;\n var lookupProp = _options$lookupProp === undefined ? singularize(camelize(underscore(helperClass.name))).toLowerCase() : _options$lookupProp;\n\n\n if (host[registryProp]) {\n return host;\n }\n\n (0, _skypagerUtil.lazy)(host, registryProp, function () {\n return options.registry || helperClass.createRegistry();\n });\n\n (0, _skypagerUtil.hideProperty)(host, lookupProp, function (name) {\n var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var ctx = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n var reg = host[registryProp];\n\n var _opts$cacheHelper = opts.cacheHelper;\n var cacheHelper = _opts$cacheHelper === undefined ? !!(helperClass.isCacheable || opts.cacheHelper) : _opts$cacheHelper;\n\n\n if (!cacheHelper) {\n return new helperClass((0, _extends3.default)({}, opts, {\n provider: reg.lookup(name),\n id: name\n }), (0, _extends3.default)({}, host.createSandbox(), {\n host: host,\n reg: reg\n }));\n } else {\n return host.cache.fetch(host.instanceId + ':' + lookupProp + ':' + name, function () {\n return new helperClass((0, _extends3.default)({}, opts, { provider: reg.lookup(name), id: name }), (0, _extends3.default)({}, host.createSandbox(ctx), {\n host: host,\n reg: reg\n }));\n });\n }\n });\n\n return host;\n};\nexports.attach = _attach;\n\n/***/ },\n\n/***/ \"./src/helpers/data-source.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DataSource = undefined;\n\nvar _extends2 = __webpack_require__(2);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _promise = __webpack_require__(12);\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nvar _getPrototypeOf = __webpack_require__(4);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(6);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(5);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _class, _temp;\n\nvar _skypagerRegistry = __webpack_require__(3);\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar DataSource = exports.DataSource = (_temp = _class = function (_Helper) {\n (0, _inherits3.default)(DataSource, _Helper);\n\n function DataSource() {\n (0, _classCallCheck3.default)(this, DataSource);\n return (0, _possibleConstructorReturn3.default)(this, (DataSource.__proto__ || (0, _getPrototypeOf2.default)(DataSource)).apply(this, arguments));\n }\n\n (0, _createClass3.default)(DataSource, [{\n key: 'load',\n value: function load() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n return _promise2.default.resolve(this.source(options));\n }\n }, {\n key: 'source',\n get: function get() {\n var _this2 = this;\n\n var source = this.provider.default ? this.provider.default : this.provider;\n\n return typeof source === 'function' ? function () {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n return source((0, _extends3.default)({}, _this2.options, options), _this2.context);\n } : function () {\n return source;\n };\n }\n }], [{\n key: 'cacheable',\n value: function cacheable() {\n var setting = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n return this.isCacheable = !!setting;\n }\n }, {\n key: 'attach',\n value: function attach(project) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n return (0, _helper.attach)(project, DataSource, (0, _extends3.default)({\n registryProp: 'dataSources',\n lookupProp: 'dataSource',\n registry: options.registry || DataSource.createRegistry()\n }, options));\n }\n }]);\n return DataSource;\n}(_helper2.default), _class.isCacheable = true, _class.createRegistry = function () {\n return new _skypagerRegistry.Context('dataSources', {\n context: __webpack_require__(17)\n });\n}, _temp);\nexports.default = DataSource;\n\n/***/ },\n\n/***/ \"./src/helpers/file-system.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.methods = exports.attach = exports.use = exports.registry = undefined;\n\nvar _regenerator = __webpack_require__(24);\n\nvar _regenerator2 = _interopRequireDefault(_regenerator);\n\nvar _extends2 = __webpack_require__(2);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _asyncToGenerator2 = __webpack_require__(22);\n\nvar _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);\n\nvar use = exports.use = function () {\n var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var next = arguments[2];\n var project, mod, provider;\n return _regenerator2.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n project = options.project || context.project || this;\n\n\n try {\n mod = registry.lookup(options.name);\n provider = mod.default ? mod.default : mod;\n\n attach((0, _extends3.default)({ host: project }, options, { provider: provider }), context);\n next();\n } catch (error) {\n next(error);\n }\n\n case 2:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n return function use() {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _skypagerRegistry = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar registry = exports.registry = void 0;\n\n__webpack_require__.e/* nsure */(0).catch(function(err) { __webpack_require__.oe(err); }).then((function () {\n return exports.registry = registry = new _skypagerRegistry.Context('file-systems', {\n context: __webpack_require__(43)\n });\n}).bind(null, __webpack_require__));\n\nexports.default = use;\nvar attach = exports.attach = function attach() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var provider = options.provider;\n\n provider(options, context);\n};\n\nvar methods = exports.methods = ['copy', 'readFile', 'writeFile', 'outputFile', 'exists', 'mkdirp', 'readJson', 'writeJson', 'readdir', 'walk'];\n\n/***/ },\n\n/***/ \"./src/helpers/generator.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Generator = undefined;\n\nvar _getPrototypeOf = __webpack_require__(4);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(6);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(5);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _class, _temp;\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Generator = exports.Generator = (_temp = _class = function (_Helper) {\n (0, _inherits3.default)(Generator, _Helper);\n\n function Generator() {\n (0, _classCallCheck3.default)(this, Generator);\n return (0, _possibleConstructorReturn3.default)(this, (Generator.__proto__ || (0, _getPrototypeOf2.default)(Generator)).apply(this, arguments));\n }\n\n (0, _createClass3.default)(Generator, [{\n key: 'run',\n value: function run() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n }\n }, {\n key: 'configure',\n value: function configure(fn) {}\n }], [{\n key: 'cacheable',\n value: function cacheable() {\n var setting = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n return this.isCacheable = !!setting;\n }\n }]);\n return Generator;\n}(_helper2.default), _class.requireContext = __webpack_require__(18), _class.isCacheable = true, _temp);\nexports.default = Generator;\n\n/***/ },\n\n/***/ \"./src/helpers/initializer.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Initializer = undefined;\n\nvar _getPrototypeOf = __webpack_require__(4);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(6);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(5);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _class, _temp;\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Initializer = exports.Initializer = (_temp = _class = function (_Helper) {\n (0, _inherits3.default)(Initializer, _Helper);\n\n function Initializer() {\n (0, _classCallCheck3.default)(this, Initializer);\n return (0, _possibleConstructorReturn3.default)(this, (Initializer.__proto__ || (0, _getPrototypeOf2.default)(Initializer)).apply(this, arguments));\n }\n\n (0, _createClass3.default)(Initializer, [{\n key: 'run',\n value: function run() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n }\n }, {\n key: 'configure',\n value: function configure(fn) {}\n }], [{\n key: 'cacheable',\n value: function cacheable() {\n var setting = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n return this.isCacheable = !!setting;\n }\n }]);\n return Initializer;\n}(_helper2.default), _class.requireContext = __webpack_require__(20), _class.isCacheable = true, _temp);\nexports.default = Initializer;\n\n/***/ },\n\n/***/ \"./src/helpers/project-type.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ProjectType = undefined;\n\nvar _extends2 = __webpack_require__(2);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _getPrototypeOf = __webpack_require__(4);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(6);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(5);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _class, _temp;\n\nvar _skypagerRegistry = __webpack_require__(3);\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ProjectType = exports.ProjectType = (_temp = _class = function (_Helper) {\n (0, _inherits3.default)(ProjectType, _Helper);\n\n function ProjectType() {\n (0, _classCallCheck3.default)(this, ProjectType);\n return (0, _possibleConstructorReturn3.default)(this, (ProjectType.__proto__ || (0, _getPrototypeOf2.default)(ProjectType)).apply(this, arguments));\n }\n\n (0, _createClass3.default)(ProjectType, null, [{\n key: 'cacheable',\n value: function cacheable() {\n var setting = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n return this.isCacheable = !!setting;\n }\n }, {\n key: 'attach',\n value: function attach(project) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n return _helper2.default.attach(project, ProjectType, (0, _extends3.default)({\n registryProp: 'projectTypes',\n lookupProp: 'projectType',\n registry: options.registry || ProjectType.createRegistry()\n }, options));\n }\n }]);\n return ProjectType;\n}(_helper2.default), _class.isCacheable = true, _class.createRegistry = function () {\n return new _skypagerRegistry.Context('projectTypes', {\n context: __webpack_require__(21)\n });\n}, _temp);\nexports.default = ProjectType;\n\n/***/ },\n\n/***/ \"./src/index.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.load = exports.Skypager = exports.Cache = exports.Helper = exports.Portfolio = undefined;\n\nvar _getPrototypeOf = __webpack_require__(4);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(6);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(5);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _portfolio = __webpack_require__(\"./src/portfolio.js\");\n\nvar _portfolio2 = _interopRequireDefault(_portfolio);\n\nvar _project = __webpack_require__(\"./src/project.js\");\n\nvar _project2 = _interopRequireDefault(_project);\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nvar _cache = __webpack_require__(\"./src/cache.js\");\n\nvar _cache2 = _interopRequireDefault(_cache);\n\nvar _path = __webpack_require__(15);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Portfolio = exports.Portfolio = _portfolio2.default; /**\n * Skypager\n * @copyright Jonathan Soeder <jon@chicago.com>\n */\nvar Helper = exports.Helper = _helper2.default;\nvar Cache = exports.Cache = _cache2.default;\n\nvar Skypager = exports.Skypager = function (_Portfolio2) {\n (0, _inherits3.default)(Skypager, _Portfolio2);\n\n function Skypager() {\n var _ref;\n\n var _temp, _this, _ret;\n\n (0, _classCallCheck3.default)(this, Skypager);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = Skypager.__proto__ || (0, _getPrototypeOf2.default)(Skypager)).call.apply(_ref, [this].concat(args))), _this), _this.dirname = (0, _path.join)(__dirname, '..'), _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);\n }\n\n (0, _createClass3.default)(Skypager, null, [{\n key: 'namespace',\n get: function get() {\n return 'Skypager';\n }\n }]);\n return Skypager;\n}(Portfolio);\n\nvar instance = new Skypager({\n Project: _project2.default,\n Helper: Helper\n});\n\ninstance.lazy('cwd', instance.load.bind(instance, process.cwd(), {\n sync: false\n}));\n\ninstance.lazy('projectModule', function () {\n return instance.load((0, _path.join)(__dirname, '..'));\n});\n\nexports.default = instance;\nvar load = exports.load = instance.load.bind(instance);\n\n/***/ },\n\n/***/ \"./src/initializers/portfolio.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n\"use strict\";\n\n/***/ },\n\n/***/ \"./src/initializers/project.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n\"use strict\";\n\n/***/ },\n\n/***/ \"./src/logger.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_winston__ = __webpack_require__(42);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_winston___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_winston__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_partial__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_partial___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_lodash_partial__);\n/* harmony export (immutable) */ exports[\"use\"] = use;\n/* harmony export (immutable) */ exports[\"attach\"] = attach;\n\n\n\nfunction use(options = {}, next) {\n if(this.logger) {\n next()\n } else {\n attach(this)\n next()\n }\n}\n\nfunction attach(project, options = {}) {\n if (project.logger) { return project.logger }\n\n const debug = !!(options.debug || project.get('environment.SKYPAGER_DEBUG') || project.get('argv.debug'))\n\n let _transports = [\n new __WEBPACK_IMPORTED_MODULE_0_winston__[\"transports\"].File({\n name: `project`,\n filename: project.join('log', `project.${ project.env }.log`),\n timestamp: true,\n json: false,\n prettyPrint: false,\n maxSize: 1024\n })\n ]\n\n if (project.result('console', () => !!options.console)) {\n _transports.push(\n new __WEBPACK_IMPORTED_MODULE_0_winston__[\"transports\"].Console({\n name: 'console',\n colorize: true,\n prettyPrint: true,\n level: debug ? 'debug' : 'info'\n })\n )\n }\n\n project.hide(\n 'logger',\n new __WEBPACK_IMPORTED_MODULE_0_winston__[\"Logger\"]({ level: 'debug', transports: _transports }),\n false\n )\n\n project.hide(\n 'streamer',\n new __WEBPACK_IMPORTED_MODULE_0_winston__[\"Logger\"]({ level: 'debug', transports: [\n new __WEBPACK_IMPORTED_MODULE_0_winston__[\"transports\"].File({\n name: `json`,\n filename: project.join('log', `${project.env}-${project.name}.json.log`),\n timestamp: true,\n json: true,\n prettyPrint: false\n }),\n new __WEBPACK_IMPORTED_MODULE_0_winston__[\"transports\"].File({\n name: `pretty-json-stream`,\n filename: project.join('log', `${project.env}-${project.name}.pretty.json.log`),\n timestamp: true,\n json: true,\n prettyPrint: true,\n colorize: true,\n })\n ]})\n )\n\n project.hide('info', (...args) => {\n project.logger.info(...args)\n\n if (project.getOption('streamLogs')) {\n project.streamer.info(...args)\n }\n })\n\n project.hide('error', (...args) => {\n project.logger.error(...args)\n\n if (project.getOption('streamLogs')) {\n project.streamer.error(...args)\n }\n })\n\n project.hide('debug', (...args) => {\n project.logger.debug(...args)\n\n if (project.getOption('streamLogs')) {\n project.streamer.debug(...args)\n }\n })\n\n project.hide('log', (...args) => {\n project.logger.info(...args)\n\n if (project.getOption('streamLogs')) {\n project.streamer.info(...args)\n }\n })\n\n project.hide('warn', (...args) => {\n project.logger.warn(...args)\n\n if (project.getOption('streamLogs')) {\n project.streamer.warn(...args)\n }\n })\n\n return project\n}\n\n/* harmony default export */ exports[\"default\"] = attach;\n\nconst { assign, defineProperty } = Object\n\n\n/***/ },\n\n/***/ \"./src/middleware.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.middleware = middleware;\n\nvar _mware = __webpack_require__(40);\n\nvar _mware2 = _interopRequireDefault(_mware);\n\nvar _partialRight = __webpack_require__(36);\n\nvar _partialRight2 = _interopRequireDefault(_partialRight);\n\nvar _result = __webpack_require__(37);\n\nvar _result2 = _interopRequireDefault(_result);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction middleware(project) {\n var name = arguments.length <= 1 || arguments[1] === undefined ? 'project' : arguments[1];\n\n var m = (0, _mware2.default)(project);\n return m;\n}\n\nexports.default = middleware;\n\n/***/ },\n\n/***/ \"./src/middlewares/registries.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(2);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nexports.use = use;\nexports.attach = attach;\nexports.createRegistry = createRegistry;\n\nvar _skypagerRegistry = __webpack_require__(3);\n\nvar _mapValues = __webpack_require__(16);\n\nvar _mapValues2 = _interopRequireDefault(_mapValues);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction use() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var next = arguments[1];\n\n attach(this, options);\n next && next();\n}\n\nfunction attach(project) {\n var defaults = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n project.registries = (0, _skypagerRegistry.create)({\n name: 'registries',\n type: 'Directory',\n silenceFailures: true\n });\n\n project.createRegistry = createRegistry.bind(project);\n\n (0, _mapValues2.default)(defaults, function () {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var name = arguments[1];\n\n project.createRegistry(name, options);\n });\n\n return project;\n}\n\nfunction createRegistry(name) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var project = this;\n\n if (project.registries.available.indexOf(name) >= 0) {\n return project.registries.lookup(name);\n }\n\n project.registries.register(name, function () {\n return (0, _skypagerRegistry.create)((0, _extends3.default)({\n name: name,\n type: 'Simple'\n }, options));\n });\n\n if (options.prop !== false && typeof project[name] === 'undefined') {\n project.hideGetter(name, function () {\n return project.registries.lookup(name);\n });\n }\n}\n\n/***/ },\n\n/***/ \"./src/portfolio.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Portfolio = undefined;\n\nvar _getOwnPropertyDescriptors = __webpack_require__(47);\n\nvar _getOwnPropertyDescriptors2 = _interopRequireDefault(_getOwnPropertyDescriptors);\n\nvar _keys = __webpack_require__(11);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nvar _extends2 = __webpack_require__(2);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _typeof2 = __webpack_require__(23);\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _findupSync = __webpack_require__(49);\n\nvar _findupSync2 = _interopRequireDefault(_findupSync);\n\nvar _get = __webpack_require__(25);\n\nvar _get2 = _interopRequireDefault(_get);\n\nvar _mapKeys = __webpack_require__(52);\n\nvar _mapKeys2 = _interopRequireDefault(_mapKeys);\n\nvar _defaults = __webpack_require__(50);\n\nvar _defaults2 = _interopRequireDefault(_defaults);\n\nvar _isFunction = __webpack_require__(51);\n\nvar _isFunction2 = _interopRequireDefault(_isFunction);\n\nvar _bluebird = __webpack_require__(48);\n\nvar _path = __webpack_require__(15);\n\nvar _skypagerUtil = __webpack_require__(7);\n\nvar _skypagerRegistry = __webpack_require__(3);\n\nvar _index = __webpack_require__(\"./src/config/index.js\");\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _node = __webpack_require__(\"./src/file-systems/node.js\");\n\nvar _node2 = _interopRequireDefault(_node);\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nvar _project = __webpack_require__(\"./src/project.js\");\n\nvar _project2 = _interopRequireDefault(_project);\n\nvar _cache = __webpack_require__(\"./src/cache.js\");\n\nvar _cache2 = _interopRequireDefault(_cache);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar InstanceIdMap = {};\nvar ProjectsCache = {};\nvar keys = _keys2.default;\nvar getOwnPropertyDescriptors = _getOwnPropertyDescriptors2.default;\n\nvar Portfolio = exports.Portfolio = function () {\n (0, _createClass3.default)(Portfolio, [{\n key: 'promisify',\n get: function get() {\n return _bluebird.promisify;\n }\n }], [{\n key: 'Project',\n get: function get() {\n return _project2.default;\n }\n }, {\n key: 'Helper',\n get: function get() {\n return _helper2.default;\n }\n }]);\n\n function Portfolio() {\n var name = arguments.length <= 0 || arguments[0] === undefined ? 'Skypager' : arguments[0];\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n (0, _classCallCheck3.default)(this, Portfolio);\n\n if ((typeof name === 'undefined' ? 'undefined' : (0, _typeof3.default)(name)) === 'object') {\n options = name;\n name = options.name || this.constructor.name;\n }\n\n (0, _skypagerUtil.mixinPropertyUtils)(this);\n\n this.hide('configuration', {});\n\n this.instanceId = name + '-' + Math.floor(Date.now() / 1000);\n\n this.hide('cache', new _cache2.default());\n this.hide('__project_cache', ProjectsCache[this.instanceId] = {});\n this.hide('moduleId', (0, _get2.default)(module, 'id', __filename));\n\n (0, _node2.default)({\n host: this\n });\n\n if (!this.dirname) {\n this.dirname = (0, _path.join)(__dirname, '..');\n }\n\n this.hideGetter('Project', function () {\n return options.Project || require('./project').Project;\n });\n this.hideGetter('Helper', function () {\n return options.Helper || require('./helper').Helper;\n });\n\n var helpers = new _skypagerRegistry.Context('helpers', {\n context: __webpack_require__(19)\n });\n\n this.getter('helpers', function () {\n return helpers;\n });\n }\n\n // TODO\n // I want to try and use the trick i learned from terse-webpack which uses\n // a registry of features and reducers to expose a composable / chainable\n // configuration functions that can be used to create presets as project templates\n\n\n (0, _createClass3.default)(Portfolio, [{\n key: 'configure',\n value: function configure() {\n var scope = arguments.length <= 0 || arguments[0] === undefined ? 'portfolio' : arguments[0];\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var current = this.configuration[scope];\n\n if (current) {\n return (0, _index2.default)((0, _extends3.default)({}, options, {\n history: current.history\n }));\n }\n\n return this.configuration[scope] = (0, _index2.default)((0, _extends3.default)({}, options, {\n history: [{ scope: scope }]\n }));\n }\n }, {\n key: 'connect',\n value: function connect() {\n var _this = this;\n\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n try {\n var _ret = function () {\n var project = _this.load(options.cwd || process.cwd(), options);\n\n return {\n v: project.start().then(function () {\n return project;\n }).catch(function (error) {\n throw error;\n })\n };\n }();\n\n if ((typeof _ret === 'undefined' ? 'undefined' : (0, _typeof3.default)(_ret)) === \"object\") return _ret.v;\n } catch (error) {\n console.log('Fatal error loading project');\n throw error;\n }\n }\n\n /**\n * Lookup a project by project type alias\n */\n\n }, {\n key: 'projectType',\n value: function projectType() {\n var type = arguments.length <= 0 || arguments[0] === undefined ? 'default' : arguments[0];\n\n try {\n return this.projectTypes.lookup(type) || this.Project;\n } catch (error) {\n return this.Project;\n }\n }\n }, {\n key: 'createProject',\n value: function createProject() {\n var cwd = arguments.length <= 0 || arguments[0] === undefined ? process.cwd() : arguments[0];\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n (0, _defaults2.default)(options, {\n manifestFilename: 'package.json',\n manifestPath: (0, _path.join)(cwd, 'package.json'),\n type: 'default'\n });\n\n if (!this.fsx.existsSync(options.manifestPath)) {\n throw 'Can not load a Skypager project without a manifest file';\n }\n\n var manifest = this.fsx.readJsonSync(options.manifestPath);\n var manifestOptions = (0, _get2.default)(manifest, options.membershipKey, {});\n var ProjectType = options.type === 'default' ? this.Project : this.projectType(manifestOptions.type || options.type);\n\n return ProjectType.load(cwd, (0, _extends3.default)({\n manifest: manifest\n }, manifestOptions, options), {\n portfolio: this,\n framework: this.framework\n });\n }\n\n /**\n * Load a project from a folder, checking the cache first to see if it exists.\n */\n\n }, {\n key: 'load',\n value: function load() {\n var cwd = arguments.length <= 0 || arguments[0] === undefined ? process.cwd() : arguments[0];\n\n var _this2 = this;\n\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var context = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n var instanceId = (0, _get2.default)(this.__project_cache, cwd);\n\n if (instanceId && InstanceIdMap[instanceId]) {\n return InstanceIdMap[instanceId];\n }\n\n var project = this.createProject(cwd, options, (0, _extends3.default)({\n portfolio: this,\n framework: this.framework\n }, context));\n\n (0, _node2.default)({\n host: project\n });\n\n this.__project_cache[cwd] = project.id;\n\n this.helpers.available.map(function (id) {\n return _this2.helpers.lookup(id);\n }).map(function (type) {\n return type.default ? type.default : type;\n }).filter(function (helperClass) {\n return helperClass.attach;\n }).forEach(function (helperClass) {\n return helperClass.attach(project, helperClass);\n });\n\n return InstanceIdMap[project.id] = this.projectDidLoad ? passThroughLocalConfig(this.projectDidLoad(project)) : passThroughLocalConfig(project);\n }\n }, {\n key: 'clearProjectCache',\n value: function clearProjectCache() {\n var _this3 = this;\n\n this.requireCacheEntries.forEach(function (entry) {\n return delete __webpack_require__.c[entry];\n });\n\n this.projectCacheKeys.forEach(function (cacheKey) {\n var instanceId = _this3.projects[cacheKey];\n var target = InstanceIdMap[instanceId];\n\n if (target) {\n delete InstanceIdMap[instanceId];\n }\n\n delete _this3.projects[cacheKey];\n });\n }\n }, {\n key: 'findProjectByInstanceId',\n value: function findProjectByInstanceId(instanceId) {\n return InstanceIdMap[instanceId];\n }\n }, {\n key: 'framework',\n get: function get() {\n return this.constructor;\n }\n }, {\n key: 'allProjects',\n get: function get() {\n var _this4 = this;\n\n return this.projectCacheKeys.map(function (i) {\n return _this4.__project_cache[i];\n }).map(function (instanceId) {\n return InstanceIdMap[instanceId];\n });\n }\n }, {\n key: 'projectInstanceIds',\n get: function get() {\n return keys(InstanceIdMap);\n }\n }, {\n key: 'projects',\n get: function get() {\n return (0, _mapKeys2.default)(this.__project_cache, function (project) {\n return project.name;\n });\n }\n }, {\n key: 'projectCacheKeys',\n get: function get() {\n return keys(getOwnPropertyDescriptors(this.__project_cache));\n }\n }, {\n key: 'projectRoots',\n get: function get() {\n return this.allProjects.map(function (p) {\n return p.cwd;\n });\n }\n }, {\n key: 'requireCacheEntries',\n get: function get() {\n var moduleIds = keys(__webpack_require__.c);\n\n return this.projectRoots.map(function (rootPath) {\n return moduleIds.filter(function (moduleId) {\n return moduleId.startsWith(rootPath);\n });\n });\n }\n }, {\n key: 'userHome',\n get: function get() {\n return process.env[process.platform == 'win32' ? 'USERPROFILE' : 'HOME'] || process.cwd();\n }\n }, {\n key: 'isDevelopingLocally',\n get: function get() {\n return this.dirname === process.cwd();\n }\n }, {\n key: 'isNodeModule',\n get: function get() {\n return this.parentFolderName === 'node_modules';\n }\n }, {\n key: 'localPackage',\n get: function get() {\n return (0, _findupSync2.default)('package.json', {\n cwd: process.cwd()\n });\n }\n }, {\n key: 'parentPackage',\n get: function get() {\n return this.parentPackagePath && this.fsx.readJsonSync(this.parentPackagePath);\n }\n }, {\n key: 'parentPackagePath',\n get: function get() {\n return (0, _findupSync2.default)('package.json', {\n cwd: this.parentFolder\n });\n }\n }, {\n key: 'parentFolder',\n get: function get() {\n return (0, _path.join)(this.dirname, '..');\n }\n }, {\n key: 'parentFolderName',\n get: function get() {\n return (0, _path.basename)(this.parentFolder);\n }\n }, {\n key: 'grandParentFolder',\n get: function get() {\n return (0, _path.join)(this.parentFolder, '..');\n }\n }]);\n return Portfolio;\n}();\n\nexports.default = Portfolio;\n\n\nvar passThroughLocalConfig = function passThroughLocalConfig(project) {\n var main = project.skypagerMain;\n var localConfig = project.existsSync(project.join(main)) ? attemptNormalRequire(project.join(main)) : function (project) {\n return project;\n };\n\n localConfig = localConfig && localConfig.default ? localConfig.default : localConfig;\n\n if ((0, _isFunction2.default)(localConfig)) {\n localConfig(project);\n }\n\n return project;\n};\n\nvar attemptNormalRequire = function attemptNormalRequire(moduleId) {\n var retryAgain = arguments.length <= 1 || arguments[1] === undefined ? true : arguments[1];\n\n try {\n return require(moduleId);\n } catch (error) {\n if (retryAgain && error.message.match(/Unexpected token/i)) {\n __webpack_require__(46);\n return attemptNormalRequire(moduleId, false);\n }\n\n console.log('\\n There was an error loading the config file found at:\\n ' + moduleId + '\\n\\n The exact error was:\\n\\n ' + error.message + '\\n\\n Stacktrace:\\n\\n\\n ' + error.stack + '\\n ');\n\n return false;\n }\n};\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(\"./node_modules/webpack/buildin/module.js\")(module)))\n\n/***/ },\n\n/***/ \"./src/project-types/application.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.use = use;\nexports.attach = attach;\nfunction use() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var next = arguments[2];\n var _context$project = context.project;\n var project = _context$project === undefined ? this : _context$project;\n\n attach(project, options, next);\n}\n\nfunction attach(project) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var next = arguments[2];\n\n next();\n}\n\n/***/ },\n\n/***/ \"./src/project-types/library.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ exports[\"use\"] = use;\n/* harmony export (immutable) */ exports[\"attach\"] = attach;\nfunction use (options = {}, context = {}, next) {\n const { project = this } = context\n attach(project, options, next)\n}\n\nfunction attach (project, options = {}, next) {\n next()\n}\n\n\n/***/ },\n\n/***/ \"./src/project-types/portfolio.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.use = use;\nexports.attach = attach;\nfunction use() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var next = arguments[2];\n var _context$project = context.project;\n var project = _context$project === undefined ? this : _context$project;\n\n attach(project, options, next);\n}\n\nfunction attach(project) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var next = arguments[2];\n\n next();\n}\n\n/***/ },\n\n/***/ \"./src/project.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Project = exports.querySources = exports.chainSources = exports.DefaultOptions = undefined;\n\nvar _assign = __webpack_require__(30);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _values = __webpack_require__(31);\n\nvar _values2 = _interopRequireDefault(_values);\n\nvar _keys = __webpack_require__(11);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nvar _defineProperty2 = __webpack_require__(14);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _typeof2 = __webpack_require__(23);\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nvar _toConsumableArray2 = __webpack_require__(10);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _promise = __webpack_require__(12);\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nvar _extends5 = __webpack_require__(2);\n\nvar _extends6 = _interopRequireDefault(_extends5);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _class, _temp;\n\nexports.load = load;\nexports.attachEmitter = attachEmitter;\nexports.attachRegistry = attachRegistry;\n\n__webpack_require__(32);\n\nvar _path = __webpack_require__(15);\n\nvar _fbemitter = __webpack_require__(13);\n\nvar _lodash = __webpack_require__(8);\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _findUp2 = __webpack_require__(33);\n\nvar _findUp3 = _interopRequireDefault(_findUp2);\n\nvar _isomorphicVm = __webpack_require__(34);\n\nvar _isomorphicVm2 = _interopRequireDefault(_isomorphicVm);\n\nvar _skypagerUtil = __webpack_require__(7);\n\nvar _skypagerDocuments = __webpack_require__(41);\n\nvar _skypagerDocuments2 = _interopRequireDefault(_skypagerDocuments);\n\nvar _index = __webpack_require__(\"./src/config/index.js\");\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _middleware = __webpack_require__(\"./src/middleware.js\");\n\nvar _middleware2 = _interopRequireDefault(_middleware);\n\nvar _tree = __webpack_require__(\"./src/tree.js\");\n\nvar _tree2 = _interopRequireDefault(_tree);\n\nvar _cache = __webpack_require__(\"./src/cache.js\");\n\nvar _cache2 = _interopRequireDefault(_cache);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar sortBy = _lodash2.default.sortBy;\nvar omit = _lodash2.default.omit;\nvar isError = _lodash2.default.isError;\nvar attempt = _lodash2.default.attempt;\nvar isFunction = _lodash2.default.isFunction;\nvar defaults = _lodash2.default.defaults;\nvar result = _lodash2.default.result;\nvar mapValues = _lodash2.default.mapValues;\nvar isArray = _lodash2.default.isArray;\nvar get = _lodash2.default.get;\nvar chain = _lodash2.default.chain;\nvar singularize = _skypagerUtil.strings.singularize;\nvar keys = _keys2.default;\nvar values = _values2.default;\nvar assign = _assign2.default;\nvar DefaultOptions = exports.DefaultOptions = {\n cwd: process.cwd(),\n target: 'node',\n paths: {\n source: 'src',\n output: 'dist',\n bundles: 'dist/bundles',\n ast: 'dist/ast',\n docs: 'docs',\n data: 'data',\n logs: 'log',\n temp: 'tmp',\n main: 'skypager.js',\n manifest: 'package.json'\n }\n};\n\nvar chainSources = exports.chainSources = ['scopes.available', 'constructor.chainProps', 'options.chainProps'];\n\nvar querySources = exports.querySources = ['scopes.available', 'constructor.queryProps', 'options.queryProps'];\n\nvar Project = exports.Project = (_temp = _class = function () {\n /**\n * Create a Skypager Project wrapper around a package folder.\n *\n * @param cwd {String} an absolute path for the Project. Should be the folder which has the package.json in it.\n * @param options {Object} the options Object\n * @param options.filesystem {Boolean} use the portfolios file system adapters\n * @type {Object}\n */\n function Project() {\n var cwd = arguments.length <= 0 || arguments[0] === undefined ? process.cwd() : arguments[0];\n\n var _this = this;\n\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var context = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n (0, _classCallCheck3.default)(this, Project);\n\n (0, _skypagerUtil.mixinPropertyUtils)(this);\n attachEmitter(this);\n var project = this;\n\n this.cwd = cwd;\n\n this.instanceId = result(options, 'id', function () {\n return _this.namespace + '-' + Math.floor(Date.now() / 1000);\n });\n\n this.hide('current', {\n collection: 'project',\n middleware: 'project',\n configuration: 'project'\n });\n\n this.hideGetter('framework', function () {\n return context.framework || context.portfolio;\n });\n this.getter('portfolio', function () {\n return context.portfolio;\n });\n\n this.hide('manifest', options.manifest || this.readJsonSync(this.join(get(options, 'paths.manifest', 'package.json'))));\n\n var computedOptions = defaults(options, this.get('manifest.skypager'), DefaultOptions);\n\n this.hide('options', omit(computedOptions, 'manifest', 'portfolio', 'fs', 'fsx'));\n\n this.hide('middleware', (0, _middleware2.default)(this));\n\n __webpack_require__(\"./src/logger.js\").attach(this, this.getOption('logging', {\n console: true\n }));\n\n this.hide('configuration', options.configuration || {});\n\n this.hide('cache', new _cache2.default());\n\n __webpack_require__(\"./src/middlewares/registries.js\").attach(this, {\n collections: {\n type: 'Directory',\n wrapper: function wrapper(cfg, id) {\n return project.cache.fetch('collections:' + id + ':' + project.instanceId + ':' + cfg.cwd, function () {\n return project.mountCollection(cfg.cwd, cfg);\n });\n }\n },\n middlewares: {\n type: 'Directory'\n },\n configurations: {\n type: 'Directory',\n wrapper: function wrapper(cfg, id) {\n return project.cache.fetch('configurations:' + id + ':' + project.instanceId + ':' + cfg.cwd, function () {\n return cfg;\n });\n }\n },\n helpers: {\n type: 'Context',\n context: __webpack_require__(19),\n fallback: function fallback(requestId) {\n return project.portfolio.helpers.lookup(requestId);\n }\n }\n });\n\n this.register.collection('project', {\n cwd: this.cwd,\n sync: !!options.sync\n });\n\n this.register.collection('source', {\n cwd: this.paths.source,\n sync: !!options.sync,\n exclude: ['**/*.spec.*']\n });\n\n this.register.collection('asts', {\n cwd: this.paths.ast,\n sync: false,\n exclude: ['**/*.spec.*']\n });\n\n this.register.collection('logs', {\n cwd: this.paths.logs,\n sync: false\n });\n\n this.register.collection('bundles', {\n cwd: this.paths.bundles,\n sync: false,\n type: 'script'\n });\n\n this.register.collection('output', {\n cwd: this.paths.output,\n sync: false,\n exclude: ['**/ast/**']\n });\n\n if (options.sync) {\n var cachedCollection = this.collection.cached;\n this.emit('collectionDidLoad', cachedCollection);\n }\n\n this.lazy('files', function () {\n return _this.collection.files.map(function (f) {\n return _this.loadFile(f);\n });\n });\n this.lazy('documents', function () {\n return _this.collection.withDocuments.documents.map(function (d) {\n return _this.loadDocument(d);\n });\n });\n this.lazy('exportableDocumentsTree', function () {\n return _this.createExportableDocumentsTree();\n });\n\n this.get('constructor.collectionDelegators', Project.collectionDelegators).forEach(function (meth) {\n return _this.hideGetter(meth, function () {\n return project.result('collection.' + meth);\n });\n });\n }\n\n (0, _createClass3.default)(Project, [{\n key: 'document',\n value: function document(documentId) {\n var doc = this.get(['documentsMappedById', documentId]);\n return doc ? doc.ready : doc;\n }\n }, {\n key: 'createExportableDocumentsTree',\n value: function createExportableDocumentsTree() {\n return mapValues(this.loadedDocumentsTree, function (v) {\n return v.createExportable ? v.exportables : v;\n });\n }\n }, {\n key: 'configure',\n value: function configure() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var _options$scope = options.scope;\n var scope = _options$scope === undefined ? this.current.configuration || 'project' : _options$scope;\n\n\n var current = this.configuration[scope];\n\n if (current) {\n return config((0, _extends6.default)({}, options, {\n history: current.history\n }));\n }\n\n return this.configuration[scope] = config((0, _extends6.default)({}, options, {\n history: [{ scope: scope }]\n }));\n }\n }, {\n key: 'route',\n value: function route(pattern, chain) {\n return this.routeDocuments(pattern, chain);\n }\n }, {\n key: 'routeDocuments',\n value: function routeDocuments(pattern, chain) {\n var project = this;\n var collection = this.collection;\n\n var results = collection.routers.documents(pattern).map(function (result) {\n var id = result.path[0];\n var doc = result.path[1];\n var file = doc.file;\n var idParts = id.split('/');\n\n return {\n id: id,\n doc: doc,\n idParts: idParts,\n baseFolder: idParts[0],\n categoryFolder: idParts[1] || idParts[0],\n meta: get(result, 'result', {}),\n file: (0, _extends6.default)({\n path: file.path\n }, project.wrapFile(file))\n };\n });\n\n return chain ? _lodash2.default.chain(results) : results;\n }\n }, {\n key: 'routeFiles',\n value: function routeFiles(pattern, chain) {\n var project = this;\n var collection = this.collection;\n\n var results = collection.routers.files(pattern).map(function (result) {\n var file = result.path[1];\n var id = file.relative;\n var idParts = id.split('/');\n\n return (0, _extends6.default)({\n id: id,\n file: file,\n idParts: idParts,\n baseFolder: idParts[0],\n categoryFolder: idParts[1] || idParts[0],\n meta: get(result, 'result', {})\n }, project.wrapFile(file));\n });\n\n return chain ? _lodash2.default.chain(results) : results;\n }\n }, {\n key: 'resolvePromiseHash',\n value: function resolvePromiseHash() {\n var object = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n return (0, _skypagerUtil.promiseHash)(object);\n }\n }, {\n key: 'createSandbox',\n value: function createSandbox() {\n var locals = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n return (0, _extends6.default)({\n project: this,\n Skypager: this.portfolio,\n lodash: _lodash2.default,\n fs: this.fsx\n }, locals, {\n console: console\n });\n }\n }, {\n key: 'loadFile',\n value: function loadFile(file) {\n return file;\n }\n }, {\n key: 'loadDocument',\n value: function loadDocument(doc) {\n return doc.decorated;\n }\n }, {\n key: 'wrapFile',\n value: function wrapFile(file) {\n var project = this;\n var path = file.path;\n\n\n return {\n contents: function contents() {\n return project.readFileSync(path).toString();\n },\n createScript: function createScript() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n // find a way to do this\n var code = options.compile ? file.contents.toString() : file.contents.toString();\n\n return new proj.vm.Script(code, (0, _extends6.default)({\n filename: path\n }, options));\n },\n getFile: function getFile() {\n return file;\n },\n json: function json() {\n return project.readJsonSync(path);\n },\n read: function read() {\n return project.readFileAsync(path).then(function (file) {\n return file.toString();\n });\n },\n readJson: function readJson() {\n return project.readJsonAsync(path);\n }\n };\n }\n /**\n * Get information about this project's parent. It will look up the path for the closest package.json\n * @return {Object} An object which provides access to the package.json path, folder path, and contents\n */\n\n }, {\n key: 'join',\n\n\n /**\n PATH HELPERS\n Helpers to make working with project paths easier\n */\n value: function join() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _path.join.apply(undefined, [this.cwd].concat(args));\n }\n }, {\n key: 'relative',\n value: function relative() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _path.relative.apply(undefined, [this.cwd].concat(args));\n }\n }, {\n key: 'resolve',\n value: function resolve() {\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _path.resolve.apply(undefined, [this.cwd].concat(args));\n }\n\n /**\n * Access one of the project options, providing a default value should one\n * not already be set.\n * @param {String} value an object path including something like whatever.nested.value\n * @param {Any} defaultValue an optional default value should the requested value not be defined\n */\n\n }, {\n key: 'getOption',\n value: function getOption(key, defaultValue) {\n return this.get('options.' + key, this.getConfig(key, defaultValue));\n }\n }, {\n key: 'getConfig',\n value: function getConfig(key, defaultValue) {\n return this.get('configuration.' + this.current.config + '.' + key, defaultValue);\n }\n /**\n * Access one of the project options, invoking a function if found. Providing a default value should one\n * not already be set, including a function which will be lazily evaluated.\n * @param {String} value an object path including something like whatever.nested.value\n * @param {Any} defaultValue an optional default value, or function returning one,\n * should the requested value not be defined\n */\n\n }, {\n key: 'resultOption',\n value: function resultOption(value, defaultValue) {\n return this.result('options.' + value, defaultValue);\n }\n }, {\n key: 'attemptReadSync',\n value: function attemptReadSync(path) {\n var _this2 = this;\n\n var fallbackValue = arguments.length <= 1 || arguments[1] === undefined ? '' : arguments[1];\n\n var result = attempt(function () {\n return _this2.fs.readFileSync(_this2.join(path)).toString();\n });\n\n return isError(result) ? fallbackValue : result;\n }\n }, {\n key: 'use',\n value: function use(middleware) {\n if (isFunction(middleware)) {\n this.middleware(middleware);\n }\n\n return this;\n }\n }, {\n key: 'start',\n value: function start() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var callback = arguments[1];\n\n if (isFunction(callback)) {\n return this.middleware.run(options, this.sandbox, callback);\n } else {\n return this.startAsync(options, this.sandbox);\n }\n }\n }, {\n key: 'startAsync',\n value: function startAsync() {\n var _this3 = this;\n\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n return new _promise2.default(function (resolve, reject) {\n _this3.middleware.run(options, _this3.sandbox, function (err) {\n for (var _len4 = arguments.length, callbackArgs = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n callbackArgs[_key4 - 1] = arguments[_key4];\n }\n\n if (err) {\n reject(err);\n } else {\n resolve(callbackArgs);\n }\n });\n }).catch(function (error) {\n console.log('Error in start async method', _this3, error);\n });\n }\n }, {\n key: 'partialMixin',\n value: function partialMixin(InterfaceDefinition) {\n for (var _len5 = arguments.length, args = Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n args[_key5 - 1] = arguments[_key5];\n }\n\n var project = this;\n\n chain(InterfaceDefinition).pickBy(function (v) {\n return typeof v === 'function';\n }).mapValues(function (fn) {\n return fn.bind.apply(fn, [project].concat(args));\n }).mapValues(function (fn, methodName) {\n return project.hide(methodName, fn, true);\n });\n\n return this;\n }\n }, {\n key: 'mixin',\n value: function mixin() {\n var _this4 = this;\n\n var InterfaceDefinition = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n assign(this, mapValues(InterfaceDefinition, function (fn) {\n return fn.bind(_this4);\n }));\n return this;\n }\n }, {\n key: 'mountCollection',\n value: function mountCollection() {\n var cwd = arguments.length <= 0 || arguments[0] === undefined ? this.cwd : arguments[0];\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var project = this;\n\n options = (0, _extends6.default)({\n importerOptions: project.get('options.importer', project.get('options.importerOptions', {})),\n project: project,\n documentClass: _skypagerDocuments.Document\n }, options, {\n exclude: [].concat((0, _toConsumableArray3.default)(options.exclude || []), (0, _toConsumableArray3.default)(options.ignore || []), (0, _toConsumableArray3.default)(project.gitignores || []), (0, _toConsumableArray3.default)(project.skypagerIgnoreContents || []))\n });\n\n return (0, _skypagerDocuments.mount)(cwd, (0, _extends6.default)({}, options, {\n collection: this\n }));\n }\n }, {\n key: 'findUp',\n value: function findUp(fileName) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n return _findUp3.default.sync(fileName, (0, _extends6.default)({\n cwd: this.parentFolder\n }, options));\n }\n }, {\n key: 'select',\n value: function select() {\n for (var _len6 = arguments.length, paths = Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n paths[_key6] = arguments[_key6];\n }\n\n return this.selectChain(paths).value();\n }\n }, {\n key: 'selectChain',\n value: function selectChain() {\n for (var _len7 = arguments.length, paths = Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n paths[_key7] = arguments[_key7];\n }\n\n var set = function set(obj, path, val) {\n _lodash2.default.set(obj, path, val);\n return obj;\n };\n\n var index = 0;\n paths = sortBy(paths, function (p) {\n return p.length;\n });\n\n return this.at(paths).reduce(function (result, value) {\n var key = paths[index++];\n return set(result, key, value);\n }, {});\n }\n }, {\n key: 'selectByObject',\n value: function selectByObject(pathObject) {\n var keys = keys(pathObject);\n var paths = values(pathObject);\n\n return this.at.apply(this, (0, _toConsumableArray3.default)(paths)).reduce(function (memo, val, index) {\n return set(memo, keys[index], val);\n }, {}).value();\n }\n }, {\n key: 'setupScopes',\n value: function setupScopes() {\n var _this5 = this;\n\n var config = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n if (isArray(config)) {\n this.scope(config, new RegExp(config + '/.*.w+$'));\n } else {\n keys(config).forEach(function (scopeName) {\n var scopeDef = config[scopeName];\n\n if (typeof scopeDef === 'string') {\n _this5.scope(scopeName, new RegExp(scopeDef + '/.*.w+$'));\n }\n\n if ((typeof scopeDef === 'undefined' ? 'undefined' : (0, _typeof3.default)(scopeDef)) === 'object') {\n _this5.scope(scopeName, scopeDef.pattern, scopeDef);\n }\n });\n }\n }\n\n /**\n * Create a lodash chain by picking some properties from the project.\n * @param {Array[String]} properties List of properties you want to be a part of the chain\n * @return {Chain} The lodash chain whose initial value consists of the properties given\n */\n\n }, {\n key: 'pick',\n value: function pick(properties) {\n return this.chain.pick(properties);\n }\n\n /**\n * Create a lodash chain with the given object paths.\n */\n\n }, {\n key: 'at',\n value: function at() {\n var _chain;\n\n return (_chain = this.chain).at.apply(_chain, arguments);\n }\n }, {\n key: 'resolveRequest',\n value: function resolveRequest(request) {\n var _this6 = this;\n\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n if (!options.async) {\n return _promise2.default.resolve(this.resolveSync(request, options)).catch(function (error) {\n console.log('ERROR in Resolve Request', error);\n });\n } else {\n return new _promise2.default(function (resolve, reject) {\n resolve(_this6.resolveSync(request, options));\n }).catch(function (error) {\n console.log('ERROR in Resolve Request', error);\n });\n }\n }\n }, {\n key: 'resolveRequestSync',\n value: function resolveRequestSync(request) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n if ((typeof request === 'undefined' ? 'undefined' : (0, _typeof3.default)(request)) === 'object') {\n return request;\n } else if (typeof request === 'string') {\n return {\n request: request\n };\n }\n }\n }, {\n key: 'lookup',\n get: function get() {\n var p = this;\n\n return p.registries.available.reduce(function (memo, prop) {\n return (0, _extends6.default)({}, memo, (0, _defineProperty3.default)({}, singularize(prop), function () {\n var _p$registries$lookup;\n\n return (_p$registries$lookup = p.registries.lookup(prop)).lookup.apply(_p$registries$lookup, arguments);\n }));\n }, {});\n }\n }, {\n key: 'register',\n get: function get() {\n var p = this;\n\n return p.registries.available.reduce(function (memo, prop) {\n return (0, _extends6.default)({}, memo, (0, _defineProperty3.default)({}, singularize(prop), function () {\n var _p$registries$lookup2;\n\n return (_p$registries$lookup2 = p.registries.lookup(prop)).register.apply(_p$registries$lookup2, arguments);\n }));\n }, {});\n }\n }, {\n key: 'documentsTree',\n get: function get() {\n return (0, _tree2.default)(this, {\n ready: false\n });\n }\n }, {\n key: 'loadedDocumentsTree',\n get: function get() {\n return (0, _tree2.default)(this, {\n ready: true\n });\n }\n }, {\n key: 'context',\n get: function get() {\n return this.cwd;\n }\n }, {\n key: 'root',\n get: function get() {\n return this.cwd;\n }\n }, {\n key: 'parentFolder',\n get: function get() {\n return (0, _path.dirname)(this.cwd);\n }\n }, {\n key: 'id',\n get: function get() {\n return this.instanceId + '-' + this.get('manifest.version');\n }\n }, {\n key: 'name',\n get: function get() {\n return this.get('options.name') || this.get('manifest.name') || this.constructor.name.toLowerCase();\n }\n }, {\n key: 'paths',\n get: function get() {\n var project = this;\n\n return (0, _extends6.default)({\n cwd: this.cwd\n }, this.chain.get('options.paths', {}).defaults(DefaultOptions.paths).mapValues(function (p) {\n return project.resolve(p);\n }).value());\n }\n\n /**\n * A namespace can be set in the Project options, it will default\n * to the package.json scope if it exists (e.g @skypager/package) otherwise\n * the name of the Projects parent folder will be used.\n */\n\n }, {\n key: 'namespace',\n get: function get() {\n var name = this.name;\n\n return this.result('options.namespace', function () {\n return name.match(/^\\@\\w+\\//) ? name.split('/')[0].replace(/\\^\\@/, '') : name.split('-')[0];\n });\n }\n }, {\n key: 'packageMain',\n get: function get() {\n return this.get('manifest.main', 'index.js');\n }\n }, {\n key: 'skypagerMain',\n get: function get() {\n return this.get('manifest.skypager.main', 'skypager.js');\n }\n }, {\n key: 'isCli',\n get: function get() {\n return !!this.get('environment.SKYPAGER_CLI', false);\n }\n }, {\n key: 'isServer',\n get: function get() {\n return !!this.get('environment.SKYPAGER_SERVER', false);\n }\n }, {\n key: 'isElectron',\n get: function get() {\n return !!this.get('environment.SKYPAGER_ELECTRON', false);\n }\n }, {\n key: 'chain',\n get: function get() {\n return chain(this);\n }\n }, {\n key: 'collection',\n get: function get() {\n return this.collections.lookup(this.current.collection);\n }\n }, {\n key: 'availableHelpers',\n get: function get() {\n return this.chain.at('helpers.available', 'portfolio.helpers.available').flatten().uniq().sort().value();\n }\n }, {\n key: 'helpersMap',\n get: function get() {\n var _this7 = this;\n\n var helpersRoot = this.getOption('helpersRoot', 'src');\n var helpers = this.getOption('helpers', []);\n\n var normalized = helpers.map(function (entry) {\n return typeof entry === 'string' ? { name: entry, pattern: helpersRoot + '/' + entry + '/:name*' } : entry;\n });\n\n return normalized.reduce(function (memo, cfg) {\n return (0, _extends6.default)({}, memo, (0, _defineProperty3.default)({}, cfg.name, (0, _extends6.default)({}, cfg, { documents: _this7.routeDocuments(cfg.pattern) })));\n }, {});\n }\n }, {\n key: 'vm',\n get: function get() {\n return _isomorphicVm2.default;\n }\n }, {\n key: 'sandbox',\n get: function get() {\n return this.createSandbox();\n }\n }, {\n key: 'module',\n get: function get() {\n return __webpack_require__.c[require.resolve(this.paths.manifest)];\n }\n }, {\n key: 'parentModule',\n get: function get() {\n var proj = this;\n\n return {\n get path() {\n return proj.findUp('package.json', {\n cwd: proj.parentFolder\n });\n },\n\n get folder() {\n return (0, _path.dirname)(proj.parentModule.path);\n },\n\n get manifest() {\n return proj.framework.readJsonSync(proj.parentModule.path);\n },\n\n get projectLoader() {\n return function () {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n return proj.portfolio.load(proj.parentModule.folder, options);\n };\n },\n\n get project() {\n return proj.parentModule.projectLoader({\n sync: false\n });\n }\n };\n }\n }, {\n key: 'argv',\n get: function get() {\n return (0, _extends6.default)({}, __webpack_require__(39)(process.argv), this.getOption('argv', {}));\n }\n }, {\n key: 'env',\n get: function get() {\n var env = this.environment;\n return env.SKYPAGER_ENV ? env.SKYPAGER_ENV : env.NODE_ENV;\n }\n }, {\n key: 'environment',\n get: function get() {\n return (0, _extends6.default)({\n NODE_ENV: 'development'\n }, this.getOption('env', process.env));\n }\n }, {\n key: 'chains',\n get: function get() {\n var _chain2;\n\n var project = this;\n\n var chains = (_chain2 = this.chain).at.apply(_chain2, chainSources).flatten().compact().uniq().reduce(function (memo, prop) {\n (0, _skypagerUtil.lazy)(memo, prop, function () {\n return chain(project.get(prop));\n });\n return memo;\n }, {});\n\n return chains.value();\n }\n }, {\n key: 'queries',\n get: function get() {\n var _chain3;\n\n var project = this;\n\n var queries = (_chain3 = this.chain).at.apply(_chain3, querySources).flatten().compact().uniq().reduce(function (memo, prop) {\n memo[prop] = function () {\n for (var _len8 = arguments.length, args = Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n args[_key8] = arguments[_key8];\n }\n\n return _skypagerUtil.query.apply(undefined, [project.get(prop)].concat(args));\n };\n return memo;\n }, {});\n\n return queries.value();\n }\n }, {\n key: 'gitignores',\n get: function get() {\n return this.getOption('ignorePaths', ['tmp/', 'log/', 'dist/', '.DS_Store']).concat(this.gitignoreContents).map(function (p) {\n return '!' + p;\n });\n }\n }, {\n key: 'gitignoreContents',\n get: function get() {\n return this.attemptReadSync('.gitignore', '').split(\"\\n\").filter(function (p) {\n return p && p.length > 2 && !p.trim().startsWith('#');\n });\n }\n }, {\n key: 'skypagerIgnoreContents',\n get: function get() {\n return this.attemptReadSync('.skypagerignore', '').split(\"\\n\").filter(function (p) {\n return p && p.length > 2 && !p.trim().startsWith('#');\n });\n }\n }], [{\n key: 'load',\n value: function load() {\n var cwd = arguments.length <= 0 || arguments[0] === undefined ? process.cwd() : arguments[0];\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var context = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n return new this(cwd, options, context);\n }\n }, {\n key: 'loadSync',\n value: function loadSync() {\n var cwd = arguments.length <= 0 || arguments[0] === undefined ? process.cwd() : arguments[0];\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var context = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n return this.load(cwd, (0, _extends6.default)({}, options, {\n sync: true\n }), context);\n }\n }, {\n key: 'Collection',\n get: function get() {\n return _skypagerDocuments2.default;\n }\n }, {\n key: 'Document',\n get: function get() {\n return _skypagerDocuments.Document;\n }\n }]);\n return Project;\n}(), _class.collectionDelegators = ['childFolderNames', 'childFolderPaths', 'subFolderNames', 'subFolderPaths', 'rootFiles', 'groupedByChildFolder', 'groupedByChildFolderAndExtension', 'relativeFilePaths', 'relativeSubFolderPaths', 'getFileByRelativePath', 'filesIndex', 'relativeObjectPaths', 'subFolderObjectPaths', 'routers', 'documentsMap', 'documentsMappedById', 'documentEntryPoints', 'depths'], _class.chainProps = ['files', 'documents', 'childFolderPaths', 'childFolderNames', 'subFolderNames', 'subFolderPaths'], _class.queryProps = ['files', 'documents', 'childFolderPaths', 'childFolderNames', 'subFolderNames', 'subFolderPaths'], _temp);\nexports.default = Project;\nfunction load() {\n var cwd = arguments.length <= 0 || arguments[0] === undefined ? process.cwd() : arguments[0];\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var context = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n return new Project(cwd, options, context);\n}\n\nfunction attachEmitter(project) {\n project.hide('emitter', new _fbemitter.EventEmitter());\n project.hide('on', project.emitter.addListener.bind(project.emitter));\n project.hide('once', project.emitter.once.bind(project.emitter));\n project.hide('off', project.emitter.removeCurrentListener.bind(project.emitter));\n project.hide('emit', project.emitter.emit.bind(project.emitter));\n project.hide('trigger', project.emitter.emit.bind(project.emitter));\n}\n\nfunction attachRegistry(project, name) {\n var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n if (project.registries.available.indexOf(name) >= 0) {\n return project.registries.lookup(name);\n }\n\n project.registries.register(name, function () {\n return create((0, _extends6.default)({\n name: name,\n type: 'Directory'\n }, options));\n });\n\n if (options.prop !== false && typeof project[name] === 'undefined') {\n project.getter(name, function () {\n return project.registries.lookup(name);\n });\n }\n\n if (options.prop !== false && typeof project[singularize(name)] === 'undefined') {\n project.getter(singularize(name), function () {\n var _project$name;\n\n return (_project$name = project[name]).lookup.apply(_project$name, arguments);\n });\n }\n\n return project;\n}\n\n/***/ },\n\n/***/ \"./src/tree.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createDocumentTree = exports.treeConfig = undefined;\n\nvar _skypagerUtil = __webpack_require__(7);\n\nvar _set = __webpack_require__(38);\n\nvar _set2 = _interopRequireDefault(_set);\n\nvar _get = __webpack_require__(25);\n\nvar _get2 = _interopRequireDefault(_get);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar camelCase = _skypagerUtil.strings.camelCase;\nvar snakeCase = _skypagerUtil.strings.snakeCase;\nvar treeConfig = exports.treeConfig = function treeConfig(project) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n return project.chain.get('documentsMap').mapValues(function (doc, id) {\n return {\n doc: doc,\n id: id,\n idParts: doc.idParts.map(function (p) {\n return camelCase(snakeCase(p).replace(/-/g, '_'));\n }),\n bucket: doc.idParts.map(function (p) {\n return camelCase(snakeCase(p).replace(/-/g, '_'));\n }).slice(0, doc.idParts.length - 1)\n };\n });\n};\n\nvar createDocumentTree = exports.createDocumentTree = function createDocumentTree(project) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n return treeConfig(project, options).values().sortBy(function (cfg) {\n return cfg.idParts.length;\n }).reduce(function (memo, cfg) {\n var existingBucket = (0, _get2.default)(memo, cfg.bucket, {});\n (0, _set2.default)(memo, cfg.bucket, existingBucket);\n (0, _set2.default)(memo, cfg.idParts, options.ready ? cfg.doc.ready : cfg.doc);\n return memo;\n }, {}).value();\n};\n\nexports.default = createDocumentTree;\n\n/***/ },\n\n/***/ \"./src/utils/emitter.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.attachEmitter = attachEmitter;\n\nvar _fbemitter = __webpack_require__(13);\n\nfunction attachEmitter(project) {\n project.hide('emitter', new _fbemitter.EventEmitter());\n project.hide('on', project.emitter.addListener.bind(project.emitter));\n project.hide('once', project.emitter.once.bind(project.emitter));\n project.hide('off', project.emitter.removeCurrentListener.bind(project.emitter));\n project.hide('emit', project.emitter.emit.bind(project.emitter));\n project.hide('trigger', project.emitter.emit.bind(project.emitter));\n}\n\nexports.default = attachEmitter;\n\n/***/ },\n\n/***/ 0:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/classCallCheck\");\n\n/***/ },\n\n/***/ 1:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/createClass\");\n\n/***/ },\n\n/***/ 10:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/toConsumableArray\");\n\n/***/ },\n\n/***/ 11:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/object/keys\");\n\n/***/ },\n\n/***/ 12:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/promise\");\n\n/***/ },\n\n/***/ 13:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"fbemitter\");\n\n/***/ },\n\n/***/ 14:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/defineProperty\");\n\n/***/ },\n\n/***/ 15:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"path\");\n\n/***/ },\n\n/***/ 16:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/mapValues\");\n\n/***/ },\n\n/***/ 17:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./packages.js\": \"./src/data-sources/packages.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 17;\n\n\n/***/ },\n\n/***/ 18:\n/***/ function(module, exports) {\n\nfunction webpackEmptyContext(req) {\n\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 18;\n\n\n/***/ },\n\n/***/ 19:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./data-source.js\": \"./src/helpers/data-source.js\",\n\t\"./file-system.js\": \"./src/helpers/file-system.js\",\n\t\"./generator.js\": \"./src/helpers/generator.js\",\n\t\"./initializer.js\": \"./src/helpers/initializer.js\",\n\t\"./project-type.js\": \"./src/helpers/project-type.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 19;\n\n\n/***/ },\n\n/***/ 2:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/extends\");\n\n/***/ },\n\n/***/ 20:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./portfolio.js\": \"./src/initializers/portfolio.js\",\n\t\"./project.js\": \"./src/initializers/project.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 20;\n\n\n/***/ },\n\n/***/ 21:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./application.js\": \"./src/project-types/application.js\",\n\t\"./library.js\": \"./src/project-types/library.js\",\n\t\"./portfolio.js\": \"./src/project-types/portfolio.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 21;\n\n\n/***/ },\n\n/***/ 22:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/asyncToGenerator\");\n\n/***/ },\n\n/***/ 23:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/typeof\");\n\n/***/ },\n\n/***/ 24:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/regenerator\");\n\n/***/ },\n\n/***/ 25:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/get\");\n\n/***/ },\n\n/***/ 26:\n/***/ function(module, exports) {\n\nfunction webpackEmptyContext(req) {\n\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 26;\n\n\n/***/ },\n\n/***/ 27:\n/***/ function(module, exports) {\n\nfunction webpackEmptyContext(req) {\n\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 27;\n\n\n/***/ },\n\n/***/ 28:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/json/stringify\");\n\n/***/ },\n\n/***/ 29:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/map\");\n\n/***/ },\n\n/***/ 3:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"skypager-registry\");\n\n/***/ },\n\n/***/ 30:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/object/assign\");\n\n/***/ },\n\n/***/ 31:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/object/values\");\n\n/***/ },\n\n/***/ 32:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"clean-stack\");\n\n/***/ },\n\n/***/ 33:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"find-up\");\n\n/***/ },\n\n/***/ 34:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"isomorphic-vm\");\n\n/***/ },\n\n/***/ 35:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/partial\");\n\n/***/ },\n\n/***/ 36:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/partialRight\");\n\n/***/ },\n\n/***/ 37:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/result\");\n\n/***/ },\n\n/***/ 38:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/set\");\n\n/***/ },\n\n/***/ 39:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"minimist\");\n\n/***/ },\n\n/***/ 4:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/object/get-prototype-of\");\n\n/***/ },\n\n/***/ 40:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"mware\");\n\n/***/ },\n\n/***/ 41:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"skypager-documents\");\n\n/***/ },\n\n/***/ 42:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"winston\");\n\n/***/ },\n\n/***/ 44:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"fs-extra-promise\");\n\n/***/ },\n\n/***/ 45:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/pick\");\n\n/***/ },\n\n/***/ 46:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-register\");\n\n/***/ },\n\n/***/ 47:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/object/get-own-property-descriptors\");\n\n/***/ },\n\n/***/ 48:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"bluebird\");\n\n/***/ },\n\n/***/ 49:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"findup-sync\");\n\n/***/ },\n\n/***/ 5:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/inherits\");\n\n/***/ },\n\n/***/ 50:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/defaults\");\n\n/***/ },\n\n/***/ 51:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/isFunction\");\n\n/***/ },\n\n/***/ 52:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/mapKeys\");\n\n/***/ },\n\n/***/ 54:\n/***/ function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"./src/index.js\");\n\n\n/***/ },\n\n/***/ 6:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/possibleConstructorReturn\");\n\n/***/ },\n\n/***/ 7:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"skypager-util\");\n\n/***/ },\n\n/***/ 8:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash\");\n\n/***/ },\n\n/***/ 9:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./data-source.js\": \"./src/helpers/data-source.js\",\n\t\"./file-system.js\": \"./src/helpers/file-system.js\",\n\t\"./generator.js\": \"./src/helpers/generator.js\",\n\t\"./initializer.js\": \"./src/helpers/initializer.js\",\n\t\"./project-type.js\": \"./src/helpers/project-type.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 9;\n\n\n/***/ }\n\n/******/ });\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/skypager-project/lib/index.js\n// module id = ../../node_modules/skypager-project/lib/index.js\n// module chunks = 0","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// object to store loaded chunks\n/******/ \t// \"0\" means \"already loaded\"\n/******/ \tvar installedChunks = {\n/******/ \t\t2: 0\n/******/ \t};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n/******/ \t// This file contains only the entry chunk.\n/******/ \t// The chunk loading function for additional chunks\n/******/ \t__webpack_require__.e = function requireEnsure(chunkId) {\n/******/ \t\t// \"0\" is the signal for \"already loaded\"\n/******/ \t\tif(installedChunks[chunkId] !== 0) {\n/******/ \t\t\tvar chunk = require(\"./\" + ({}[chunkId]||chunkId) + \".js\");\n/******/ \t\t\tvar moreModules = chunk.modules, chunkIds = chunk.ids;\n/******/ \t\t\tfor(var moduleId in moreModules) {\n/******/ \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n/******/ \t\t\t}\n/******/ \t\t\tfor(var i = 0; i < chunkIds.length; i++)\n/******/ \t\t\t\tinstalledChunks[chunkIds[i]] = 0;\n/******/ \t\t}\n/******/ \t\treturn Promise.resolve();\n/******/ \t};\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// identity function for calling harmory imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n\n/******/ \t// define getter function for harmory exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tObject.defineProperty(exports, name, {\n/******/ \t\t\tconfigurable: false,\n/******/ \t\t\tenumerable: true,\n/******/ \t\t\tget: getter\n/******/ \t\t});\n/******/ \t};\n\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/\";\n\n/******/ \t// uncatched error handler for webpack runtime\n/******/ \t__webpack_require__.oe = function(err) {\n/******/ \t\tprocess.nextTick(function() {\n/******/ \t\t\tthrow err; // catch this error by using System.import().catch()\n/******/ \t\t});\n/******/ \t};\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 55);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./node_modules/webpack/buildin/module.js\":\n/***/ function(module, exports) {\n\nmodule.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tconfigurable: false,\r\n\t\t\tget: function() { return module.l; }\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tconfigurable: false,\r\n\t\t\tget: function() { return module.i; }\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n}\r\n\n\n/***/ },\n\n/***/ \"./src/cache.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Cache = undefined;\n\nvar _map = __webpack_require__(29);\n\nvar _map2 = _interopRequireDefault(_map);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _skypagerUtil = __webpack_require__(7);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Cache = exports.Cache = function () {\n function Cache(init) {\n var _this = this;\n\n (0, _classCallCheck3.default)(this, Cache);\n\n (0, _skypagerUtil.hideProperty)(this, 'hide', function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _skypagerUtil.hideProperty.apply(undefined, [_this].concat(args));\n });\n\n this.clear(init);\n this.write = function (k, v) {\n return _this.set(k, v).get(k);\n };\n }\n\n (0, _createClass3.default)(Cache, [{\n key: 'fetch',\n value: function fetch(k, defaultValue) {\n if (this.has(k)) {\n return this.get(k);\n } else {\n this.set(k, typeof defaultValue === 'function' ? defaultValue(k) : defaultValue);\n return this.get(k);\n }\n }\n }, {\n key: 'clear',\n value: function clear(init) {\n delete this._wm;\n this._wm = new _map2.default(init);\n }\n }, {\n key: 'delete',\n value: function _delete(k) {\n return this._wm.delete(k);\n }\n }, {\n key: 'get',\n value: function get(k) {\n return this._wm.get(k);\n }\n }, {\n key: 'has',\n value: function has(k) {\n return this._wm.has(k);\n }\n }, {\n key: 'set',\n value: function set(k, v) {\n this._wm.set(k, v);\n return this;\n }\n }]);\n return Cache;\n}();\n\nexports.default = Cache;\n\n/***/ },\n\n/***/ \"./src/config/Expression.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = undefined;\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Expression = function () {\n function Expression(expression) {\n (0, _classCallCheck3.default)(this, Expression);\n\n this.expression = expression;\n }\n\n (0, _createClass3.default)(Expression, [{\n key: \"toString\",\n value: function toString() {\n return this.expression.toString();\n }\n }, {\n key: \"value\",\n value: function value() {\n return this.expression();\n }\n }]);\n return Expression;\n}();\n\nexports.default = Expression;\n\n/***/ },\n\n/***/ \"./src/config/index.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toConsumableArray2 = __webpack_require__(10);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _defineProperty2 = __webpack_require__(14);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _extends8 = __webpack_require__(2);\n\nvar _extends9 = _interopRequireDefault(_extends8);\n\nexports.default = api;\n\nvar _lodash = __webpack_require__(8);\n\nvar _stringify = __webpack_require__(\"./src/config/stringify.js\");\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar defaultFeatures = __webpack_require__(26).keys().reduce(function (memo, key) {\n return (0, _extends9.default)({}, memo, (0, _defineProperty3.default)({}, key.replace(/\\.\\//, '').replace(/\\.js$/, ''), features(key)));\n}, {});\n\nvar defaultReducers = __webpack_require__(27).keys().reduce(function (memo, key) {\n return (0, _extends9.default)({}, memo, (0, _defineProperty3.default)({}, key.replace(/\\.\\//, '').replace(/\\.js$/, ''), reducers(key)));\n}, {});\n\nfunction api() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var _options$history = options.history;\n var history = _options$history === undefined ? [] : _options$history;\n var _options$features = options.features;\n var features = _options$features === undefined ? {} : _options$features;\n var _options$reducers = options.reducers;\n var reducers = _options$reducers === undefined ? {} : _options$reducers;\n\n\n features = (0, _extends9.default)({}, defaultFeatures, features);\n reducers = (0, _extends9.default)({}, defaultReducers, reducers);\n\n var getState = function getState() {\n var initialState = (0, _lodash.reduce)(features, function (acc, feature, name) {\n var defaultValue = feature();\n\n if ((0, _lodash.isUndefined)(defaultValue)) {\n return acc;\n }\n\n return (0, _extends9.default)({}, acc, (0, _defineProperty3.default)({}, name, defaultValue));\n }, {});\n\n var state = history.reduce(function (acc, _ref) {\n var name = _ref.name;\n var args = _ref.args;\n\n var featureState = acc[name];\n var feature = features[name];\n\n return (0, _extends9.default)({}, acc, (0, _defineProperty3.default)({}, name, feature.apply(undefined, [featureState].concat((0, _toConsumableArray3.default)(args)))));\n }, initialState);\n\n Object.defineProperty(state, \"toString\", {\n value: function value() {\n return (0, _stringify2.default)(state);\n }\n });\n\n return state;\n };\n\n var getConfig = function getConfig(tap) {\n var state = getState();\n var config = (0, _lodash.reduce)(reducers, function (config, reducer, name) {\n var reduced = reducer(state);\n\n if ((0, _lodash.isUndefined)(reduced)) {\n return config;\n }\n\n return (0, _extends9.default)({}, config, (0, _defineProperty3.default)({}, name, reducer(state)));\n }, {});\n\n if (tap) {\n config = tap(config);\n }\n\n Object.defineProperty(config, \"toString\", {\n value: function value() {\n return (0, _stringify2.default)(config);\n }\n });\n\n return config;\n };\n\n var when = function when(env, configure) {\n var envs = Array.isArray(env) ? env : [env];\n var _process$env$NODE_ENV = process.env.NODE_ENV;\n var NODE_ENV = _process$env$NODE_ENV === undefined ? \"development\" : _process$env$NODE_ENV;\n\n\n if (env === true || envs.indexOf(NODE_ENV) !== -1) {\n return configure(api({ features: features, reducers: reducers, history: history }));\n } else if (typeof env === 'function' && env(getState(), getConfig)) {\n return configure({ features: features, reducers: reducers, history: history });\n }\n\n return api({ features: features, reducers: reducers, history: history });\n };\n\n return (0, _lodash.reduce)(features, function (acc, feature, name) {\n return (0, _extends9.default)({}, acc, (0, _defineProperty3.default)({}, name, function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return api(features, reducers, history.concat({ args: args, name: name }));\n }));\n }, {\n getConfig: getConfig,\n getState: getState,\n history: history,\n when: when\n });\n}\n\n/***/ },\n\n/***/ \"./src/config/stringify.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _stringify = __webpack_require__(28);\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nvar _keys = __webpack_require__(11);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nexports.default = stringify;\n\nvar _lodash = __webpack_require__(8);\n\nvar _Expression = __webpack_require__(\"./src/config/Expression.js\");\n\nvar _Expression2 = _interopRequireDefault(_Expression);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction stringify(value) {\n var replacements = [];\n\n var replace = function replace(replacement) {\n return \"__REPLACEMENT_\" + (replacements.push(replacement) - 1) + \"__\";\n };\n\n var sort = function sort(object) {\n return (0, _keys2.default)(object).sort().reduce(function (sorted, key) {\n sorted[key] = object[key];\n\n return sorted;\n }, {});\n };\n\n var replacer = function replacer(key, value) {\n if (value instanceof _Expression2.default) {\n return replace(value.toString());\n }\n\n if (value instanceof RegExp) {\n return replace(value.toString());\n }\n\n return value;\n };\n\n var string = (0, _stringify2.default)(_lodash.isPlainObject ? sort(value) : value, replacer, 2);\n\n return string.replace(/(^[\\s]+)?\"__REPLACEMENT_([\\d]+)__\"/gm, function (match) {\n var indent = arguments.length <= 1 || arguments[1] === undefined ? \"\" : arguments[1];\n var index = arguments[2];\n return (\"\" + indent + replacements[index]).split(\"\\n\").join(\"\\n\" + indent);\n });\n}\n\n/***/ },\n\n/***/ \"./src/data-sources/packages.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function () {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var project = context.project;\n var _options$pattern = options.pattern;\n var pattern = _options$pattern === undefined ? ':packageFolder/:name/package.json' : _options$pattern;\n\n\n var packageDocs = project.routeDocuments(pattern);\n\n return packageDocs.map(function (result) {\n if (options.load) {\n result.doc = result.doc.ready;\n }\n\n return result;\n });\n};\n\n/***/ },\n\n/***/ \"./src/file-systems/node.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toConsumableArray2 = __webpack_require__(10);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _pick = __webpack_require__(45);\n\nvar _pick2 = _interopRequireDefault(_pick);\n\nvar _mapValues = __webpack_require__(16);\n\nvar _mapValues2 = _interopRequireDefault(_mapValues);\n\nvar _fsExtraPromise = __webpack_require__(44);\n\nvar _fsExtraPromise2 = _interopRequireDefault(_fsExtraPromise);\n\nvar _fileSystem = __webpack_require__(\"./src/helpers/file-system.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var host = options.host || options.project || context.project;\n\n var _options$methods = options.methods;\n var methods = _options$methods === undefined ? _fileSystem.methods : _options$methods;\n\n\n methods.push.apply(methods, (0, _toConsumableArray3.default)(methods.map(function (name) {\n return name + 'Sync';\n })));\n methods.push.apply(methods, (0, _toConsumableArray3.default)(methods.map(function (name) {\n return name + 'Async';\n })));\n\n host.hide('fsx', (0, _pick2.default)(_fsExtraPromise2.default, methods));\n host.hide('fs', host.fsx);\n\n // proxy the methods from directly on the host\n (0, _mapValues2.default)(host.fsx, function (fn, name) {\n return host.hide(name, function () {\n var _host$fsx;\n\n return (_host$fsx = host.fsx)[name].apply(_host$fsx, arguments);\n });\n });\n\n return host;\n};\n\n/***/ },\n\n/***/ \"./src/helper.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.attach = exports.Helper = exports.requireContext = undefined;\n\nvar _extends2 = __webpack_require__(2);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _class, _temp;\n\nvar _lodash = __webpack_require__(8);\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _skypagerRegistry = __webpack_require__(3);\n\nvar _skypagerUtil = __webpack_require__(7);\n\nvar _emitter = __webpack_require__(\"./src/utils/emitter.js\");\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar camelize = _skypagerUtil.strings.camelize;\nvar underscore = _skypagerUtil.strings.underscore;\nvar singularize = _skypagerUtil.strings.singularize;\nvar pluralize = _skypagerUtil.strings.pluralize;\n\n\nPromise.resolve().catch(function(err) { __webpack_require__.oe(err); }).then((function () {\n Helper.modules = new _skypagerRegistry.Context('helpers', { context: __webpack_require__(9) });\n}).bind(null, __webpack_require__));\n\nvar requireContext = exports.requireContext = __webpack_require__(9);\n\nvar Helper = exports.Helper = (_temp = _class = function () {\n (0, _createClass3.default)(Helper, null, [{\n key: 'cacheable',\n value: function cacheable() {\n var setting = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n return this.isCacheable = !!setting;\n }\n }, {\n key: 'attach',\n value: function attach(host) {\n var helperClass = arguments.length <= 1 || arguments[1] === undefined ? Helper : arguments[1];\n var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n return _attach(host, helperClass, options);\n }\n }]);\n\n function Helper() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n (0, _classCallCheck3.default)(this, Helper);\n this.isInitialized = false;\n this.isConfigured = false;\n\n (0, _skypagerUtil.mixinPropertyUtils)(this);\n (0, _emitter2.default)(this);\n\n this.hide('context', context);\n this.hide('project', context.project);\n this.hideGetter('options', function () {\n return _lodash2.default.omit(options, 'provider');\n });\n this.getter('provider', function () {\n return options.provider;\n });\n\n this.name = options.provider.name || options.id;\n this.id = [this.get('project.id', this.constructor.name), this.name, Math.floor(new Date() / 100)].join(':');\n\n if (options.initialize !== false) {\n this.doInitialize();\n }\n }\n\n (0, _createClass3.default)(Helper, [{\n key: 'doInitialize',\n value: function doInitialize() {\n this.isInitialized = !!this.result('initialize', function () {\n return true;\n });\n\n if (this.configure && this.options.configure) {\n this.configure(this.options.configure);\n }\n }\n }, {\n key: 'initialized',\n get: function get() {\n this.doInitialize();\n return this;\n }\n }, {\n key: 'chain',\n get: function get() {\n return _lodash2.default.chain(this);\n }\n }]);\n return Helper;\n}(), _class.isCacheable = true, _class.requireContext = requireContext, _class.createRegistry = function () {\n return Helper.modules || new _skypagerRegistry.Context('helpers', { context: __webpack_require__(9) });\n}, _temp);\nexports.default = Helper;\nvar _attach = function _attach(host, helperClass) {\n var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n var _options$registryProp = options.registryProp;\n var registryProp = _options$registryProp === undefined ? camelize(pluralize(underscore(helperClass.name))).toLowerCase() : _options$registryProp;\n var _options$lookupProp = options.lookupProp;\n var lookupProp = _options$lookupProp === undefined ? singularize(camelize(underscore(helperClass.name))).toLowerCase() : _options$lookupProp;\n\n\n if (host[registryProp]) {\n return host;\n }\n\n (0, _skypagerUtil.lazy)(host, registryProp, function () {\n return options.registry || helperClass.createRegistry();\n });\n\n (0, _skypagerUtil.hideProperty)(host, lookupProp, function (name) {\n var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var ctx = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n var reg = host[registryProp];\n\n var _opts$cacheHelper = opts.cacheHelper;\n var cacheHelper = _opts$cacheHelper === undefined ? !!(helperClass.isCacheable || opts.cacheHelper) : _opts$cacheHelper;\n\n\n if (!cacheHelper) {\n return new helperClass((0, _extends3.default)({}, opts, {\n provider: reg.lookup(name),\n id: name\n }), (0, _extends3.default)({}, host.createSandbox(), {\n host: host,\n reg: reg\n }));\n } else {\n return host.cache.fetch(host.instanceId + ':' + lookupProp + ':' + name, function () {\n return new helperClass((0, _extends3.default)({}, opts, { provider: reg.lookup(name), id: name }), (0, _extends3.default)({}, host.createSandbox(ctx), {\n host: host,\n reg: reg\n }));\n });\n }\n });\n\n return host;\n};\nexports.attach = _attach;\n\n/***/ },\n\n/***/ \"./src/helpers/data-source.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DataSource = undefined;\n\nvar _extends2 = __webpack_require__(2);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _promise = __webpack_require__(12);\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nvar _getPrototypeOf = __webpack_require__(4);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(6);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(5);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _class, _temp;\n\nvar _skypagerRegistry = __webpack_require__(3);\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar DataSource = exports.DataSource = (_temp = _class = function (_Helper) {\n (0, _inherits3.default)(DataSource, _Helper);\n\n function DataSource() {\n (0, _classCallCheck3.default)(this, DataSource);\n return (0, _possibleConstructorReturn3.default)(this, (DataSource.__proto__ || (0, _getPrototypeOf2.default)(DataSource)).apply(this, arguments));\n }\n\n (0, _createClass3.default)(DataSource, [{\n key: 'load',\n value: function load() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n return _promise2.default.resolve(this.source(options));\n }\n }, {\n key: 'source',\n get: function get() {\n var _this2 = this;\n\n var source = this.provider.default ? this.provider.default : this.provider;\n\n return typeof source === 'function' ? function () {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n return source((0, _extends3.default)({}, _this2.options, options), _this2.context);\n } : function () {\n return source;\n };\n }\n }], [{\n key: 'cacheable',\n value: function cacheable() {\n var setting = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n return this.isCacheable = !!setting;\n }\n }, {\n key: 'attach',\n value: function attach(project) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n return (0, _helper.attach)(project, DataSource, (0, _extends3.default)({\n registryProp: 'dataSources',\n lookupProp: 'dataSource',\n registry: options.registry || DataSource.createRegistry()\n }, options));\n }\n }]);\n return DataSource;\n}(_helper2.default), _class.isCacheable = true, _class.createRegistry = function () {\n return new _skypagerRegistry.Context('dataSources', {\n context: __webpack_require__(17)\n });\n}, _temp);\nexports.default = DataSource;\n\n/***/ },\n\n/***/ \"./src/helpers/file-system.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.methods = exports.attach = exports.use = exports.registry = undefined;\n\nvar _regenerator = __webpack_require__(24);\n\nvar _regenerator2 = _interopRequireDefault(_regenerator);\n\nvar _extends2 = __webpack_require__(2);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _asyncToGenerator2 = __webpack_require__(22);\n\nvar _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);\n\nvar use = exports.use = function () {\n var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var next = arguments[2];\n var project, mod, provider;\n return _regenerator2.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n project = options.project || context.project || this;\n\n\n try {\n mod = registry.lookup(options.name);\n provider = mod.default ? mod.default : mod;\n\n attach((0, _extends3.default)({ host: project }, options, { provider: provider }), context);\n next();\n } catch (error) {\n next(error);\n }\n\n case 2:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n return function use() {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _skypagerRegistry = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar registry = exports.registry = void 0;\n\n__webpack_require__.e/* nsure */(0).catch(function(err) { __webpack_require__.oe(err); }).then((function () {\n return exports.registry = registry = new _skypagerRegistry.Context('file-systems', {\n context: __webpack_require__(43)\n });\n}).bind(null, __webpack_require__));\n\nexports.default = use;\nvar attach = exports.attach = function attach() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var provider = options.provider;\n\n provider(options, context);\n};\n\nvar methods = exports.methods = ['copy', 'readFile', 'writeFile', 'outputFile', 'exists', 'mkdirp', 'readJson', 'writeJson', 'readdir', 'walk'];\n\n/***/ },\n\n/***/ \"./src/helpers/generator.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Generator = undefined;\n\nvar _getPrototypeOf = __webpack_require__(4);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(6);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(5);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _class, _temp;\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Generator = exports.Generator = (_temp = _class = function (_Helper) {\n (0, _inherits3.default)(Generator, _Helper);\n\n function Generator() {\n (0, _classCallCheck3.default)(this, Generator);\n return (0, _possibleConstructorReturn3.default)(this, (Generator.__proto__ || (0, _getPrototypeOf2.default)(Generator)).apply(this, arguments));\n }\n\n (0, _createClass3.default)(Generator, [{\n key: 'run',\n value: function run() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n }\n }, {\n key: 'configure',\n value: function configure(fn) {}\n }], [{\n key: 'cacheable',\n value: function cacheable() {\n var setting = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n return this.isCacheable = !!setting;\n }\n }]);\n return Generator;\n}(_helper2.default), _class.requireContext = __webpack_require__(18), _class.isCacheable = true, _temp);\nexports.default = Generator;\n\n/***/ },\n\n/***/ \"./src/helpers/initializer.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Initializer = undefined;\n\nvar _getPrototypeOf = __webpack_require__(4);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(6);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(5);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _class, _temp;\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Initializer = exports.Initializer = (_temp = _class = function (_Helper) {\n (0, _inherits3.default)(Initializer, _Helper);\n\n function Initializer() {\n (0, _classCallCheck3.default)(this, Initializer);\n return (0, _possibleConstructorReturn3.default)(this, (Initializer.__proto__ || (0, _getPrototypeOf2.default)(Initializer)).apply(this, arguments));\n }\n\n (0, _createClass3.default)(Initializer, [{\n key: 'run',\n value: function run() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n }\n }, {\n key: 'configure',\n value: function configure(fn) {}\n }], [{\n key: 'cacheable',\n value: function cacheable() {\n var setting = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n return this.isCacheable = !!setting;\n }\n }]);\n return Initializer;\n}(_helper2.default), _class.requireContext = __webpack_require__(20), _class.isCacheable = true, _temp);\nexports.default = Initializer;\n\n/***/ },\n\n/***/ \"./src/helpers/project-type.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ProjectType = undefined;\n\nvar _extends2 = __webpack_require__(2);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _getPrototypeOf = __webpack_require__(4);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(6);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(5);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _class, _temp;\n\nvar _skypagerRegistry = __webpack_require__(3);\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ProjectType = exports.ProjectType = (_temp = _class = function (_Helper) {\n (0, _inherits3.default)(ProjectType, _Helper);\n\n function ProjectType() {\n (0, _classCallCheck3.default)(this, ProjectType);\n return (0, _possibleConstructorReturn3.default)(this, (ProjectType.__proto__ || (0, _getPrototypeOf2.default)(ProjectType)).apply(this, arguments));\n }\n\n (0, _createClass3.default)(ProjectType, null, [{\n key: 'cacheable',\n value: function cacheable() {\n var setting = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n return this.isCacheable = !!setting;\n }\n }, {\n key: 'attach',\n value: function attach(project) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n return _helper2.default.attach(project, ProjectType, (0, _extends3.default)({\n registryProp: 'projectTypes',\n lookupProp: 'projectType',\n registry: options.registry || ProjectType.createRegistry()\n }, options));\n }\n }]);\n return ProjectType;\n}(_helper2.default), _class.isCacheable = true, _class.createRegistry = function () {\n return new _skypagerRegistry.Context('projectTypes', {\n context: __webpack_require__(21)\n });\n}, _temp);\nexports.default = ProjectType;\n\n/***/ },\n\n/***/ \"./src/initializers/portfolio.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n\"use strict\";\n\n/***/ },\n\n/***/ \"./src/initializers/project.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n\"use strict\";\n\n/***/ },\n\n/***/ \"./src/logger.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_winston__ = __webpack_require__(42);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_winston___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_winston__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_partial__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_partial___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_lodash_partial__);\n/* harmony export (immutable) */ exports[\"use\"] = use;\n/* harmony export (immutable) */ exports[\"attach\"] = attach;\n\n\n\nfunction use(options = {}, next) {\n if(this.logger) {\n next()\n } else {\n attach(this)\n next()\n }\n}\n\nfunction attach(project, options = {}) {\n if (project.logger) { return project.logger }\n\n const debug = !!(options.debug || project.get('environment.SKYPAGER_DEBUG') || project.get('argv.debug'))\n\n let _transports = [\n new __WEBPACK_IMPORTED_MODULE_0_winston__[\"transports\"].File({\n name: `project`,\n filename: project.join('log', `project.${ project.env }.log`),\n timestamp: true,\n json: false,\n prettyPrint: false,\n maxSize: 1024\n })\n ]\n\n if (project.result('console', () => !!options.console)) {\n _transports.push(\n new __WEBPACK_IMPORTED_MODULE_0_winston__[\"transports\"].Console({\n name: 'console',\n colorize: true,\n prettyPrint: true,\n level: debug ? 'debug' : 'info'\n })\n )\n }\n\n project.hide(\n 'logger',\n new __WEBPACK_IMPORTED_MODULE_0_winston__[\"Logger\"]({ level: 'debug', transports: _transports }),\n false\n )\n\n project.hide(\n 'streamer',\n new __WEBPACK_IMPORTED_MODULE_0_winston__[\"Logger\"]({ level: 'debug', transports: [\n new __WEBPACK_IMPORTED_MODULE_0_winston__[\"transports\"].File({\n name: `json`,\n filename: project.join('log', `${project.env}-${project.name}.json.log`),\n timestamp: true,\n json: true,\n prettyPrint: false\n }),\n new __WEBPACK_IMPORTED_MODULE_0_winston__[\"transports\"].File({\n name: `pretty-json-stream`,\n filename: project.join('log', `${project.env}-${project.name}.pretty.json.log`),\n timestamp: true,\n json: true,\n prettyPrint: true,\n colorize: true,\n })\n ]})\n )\n\n project.hide('info', (...args) => {\n project.logger.info(...args)\n\n if (project.getOption('streamLogs')) {\n project.streamer.info(...args)\n }\n })\n\n project.hide('error', (...args) => {\n project.logger.error(...args)\n\n if (project.getOption('streamLogs')) {\n project.streamer.error(...args)\n }\n })\n\n project.hide('debug', (...args) => {\n project.logger.debug(...args)\n\n if (project.getOption('streamLogs')) {\n project.streamer.debug(...args)\n }\n })\n\n project.hide('log', (...args) => {\n project.logger.info(...args)\n\n if (project.getOption('streamLogs')) {\n project.streamer.info(...args)\n }\n })\n\n project.hide('warn', (...args) => {\n project.logger.warn(...args)\n\n if (project.getOption('streamLogs')) {\n project.streamer.warn(...args)\n }\n })\n\n return project\n}\n\n/* harmony default export */ exports[\"default\"] = attach;\n\nconst { assign, defineProperty } = Object\n\n\n/***/ },\n\n/***/ \"./src/middleware.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.middleware = middleware;\n\nvar _mware = __webpack_require__(40);\n\nvar _mware2 = _interopRequireDefault(_mware);\n\nvar _partialRight = __webpack_require__(36);\n\nvar _partialRight2 = _interopRequireDefault(_partialRight);\n\nvar _result = __webpack_require__(37);\n\nvar _result2 = _interopRequireDefault(_result);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction middleware(project) {\n var name = arguments.length <= 1 || arguments[1] === undefined ? 'project' : arguments[1];\n\n var m = (0, _mware2.default)(project);\n return m;\n}\n\nexports.default = middleware;\n\n/***/ },\n\n/***/ \"./src/middlewares/registries.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(2);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nexports.use = use;\nexports.attach = attach;\nexports.createRegistry = createRegistry;\n\nvar _skypagerRegistry = __webpack_require__(3);\n\nvar _mapValues = __webpack_require__(16);\n\nvar _mapValues2 = _interopRequireDefault(_mapValues);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction use() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var next = arguments[1];\n\n attach(this, options);\n next && next();\n}\n\nfunction attach(project) {\n var defaults = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n project.registries = (0, _skypagerRegistry.create)({\n name: 'registries',\n type: 'Directory',\n silenceFailures: true\n });\n\n project.createRegistry = createRegistry.bind(project);\n\n (0, _mapValues2.default)(defaults, function () {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var name = arguments[1];\n\n project.createRegistry(name, options);\n });\n\n return project;\n}\n\nfunction createRegistry(name) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var project = this;\n\n if (project.registries.available.indexOf(name) >= 0) {\n return project.registries.lookup(name);\n }\n\n project.registries.register(name, function () {\n return (0, _skypagerRegistry.create)((0, _extends3.default)({\n name: name,\n type: 'Simple'\n }, options));\n });\n\n if (options.prop !== false && typeof project[name] === 'undefined') {\n project.hideGetter(name, function () {\n return project.registries.lookup(name);\n });\n }\n}\n\n/***/ },\n\n/***/ \"./src/portfolio.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Portfolio = undefined;\n\nvar _getOwnPropertyDescriptors = __webpack_require__(47);\n\nvar _getOwnPropertyDescriptors2 = _interopRequireDefault(_getOwnPropertyDescriptors);\n\nvar _keys = __webpack_require__(11);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nvar _extends2 = __webpack_require__(2);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _typeof2 = __webpack_require__(23);\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _findupSync = __webpack_require__(49);\n\nvar _findupSync2 = _interopRequireDefault(_findupSync);\n\nvar _get = __webpack_require__(25);\n\nvar _get2 = _interopRequireDefault(_get);\n\nvar _mapKeys = __webpack_require__(52);\n\nvar _mapKeys2 = _interopRequireDefault(_mapKeys);\n\nvar _defaults = __webpack_require__(50);\n\nvar _defaults2 = _interopRequireDefault(_defaults);\n\nvar _isFunction = __webpack_require__(51);\n\nvar _isFunction2 = _interopRequireDefault(_isFunction);\n\nvar _bluebird = __webpack_require__(48);\n\nvar _path = __webpack_require__(15);\n\nvar _skypagerUtil = __webpack_require__(7);\n\nvar _skypagerRegistry = __webpack_require__(3);\n\nvar _index = __webpack_require__(\"./src/config/index.js\");\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _node = __webpack_require__(\"./src/file-systems/node.js\");\n\nvar _node2 = _interopRequireDefault(_node);\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nvar _project = __webpack_require__(\"./src/project.js\");\n\nvar _project2 = _interopRequireDefault(_project);\n\nvar _cache = __webpack_require__(\"./src/cache.js\");\n\nvar _cache2 = _interopRequireDefault(_cache);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar InstanceIdMap = {};\nvar ProjectsCache = {};\nvar keys = _keys2.default;\nvar getOwnPropertyDescriptors = _getOwnPropertyDescriptors2.default;\n\nvar Portfolio = exports.Portfolio = function () {\n (0, _createClass3.default)(Portfolio, [{\n key: 'promisify',\n get: function get() {\n return _bluebird.promisify;\n }\n }], [{\n key: 'Project',\n get: function get() {\n return _project2.default;\n }\n }, {\n key: 'Helper',\n get: function get() {\n return _helper2.default;\n }\n }]);\n\n function Portfolio() {\n var name = arguments.length <= 0 || arguments[0] === undefined ? 'Skypager' : arguments[0];\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n (0, _classCallCheck3.default)(this, Portfolio);\n\n if ((typeof name === 'undefined' ? 'undefined' : (0, _typeof3.default)(name)) === 'object') {\n options = name;\n name = options.name || this.constructor.name;\n }\n\n (0, _skypagerUtil.mixinPropertyUtils)(this);\n\n this.hide('configuration', {});\n\n this.instanceId = name + '-' + Math.floor(Date.now() / 1000);\n\n this.hide('cache', new _cache2.default());\n this.hide('__project_cache', ProjectsCache[this.instanceId] = {});\n this.hide('moduleId', (0, _get2.default)(module, 'id', __filename));\n\n (0, _node2.default)({\n host: this\n });\n\n if (!this.dirname) {\n this.dirname = (0, _path.join)(__dirname, '..');\n }\n\n this.hideGetter('Project', function () {\n return options.Project || require('./project').Project;\n });\n this.hideGetter('Helper', function () {\n return options.Helper || require('./helper').Helper;\n });\n\n var helpers = new _skypagerRegistry.Context('helpers', {\n context: __webpack_require__(19)\n });\n\n this.getter('helpers', function () {\n return helpers;\n });\n }\n\n // TODO\n // I want to try and use the trick i learned from terse-webpack which uses\n // a registry of features and reducers to expose a composable / chainable\n // configuration functions that can be used to create presets as project templates\n\n\n (0, _createClass3.default)(Portfolio, [{\n key: 'configure',\n value: function configure() {\n var scope = arguments.length <= 0 || arguments[0] === undefined ? 'portfolio' : arguments[0];\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var current = this.configuration[scope];\n\n if (current) {\n return (0, _index2.default)((0, _extends3.default)({}, options, {\n history: current.history\n }));\n }\n\n return this.configuration[scope] = (0, _index2.default)((0, _extends3.default)({}, options, {\n history: [{ scope: scope }]\n }));\n }\n }, {\n key: 'connect',\n value: function connect() {\n var _this = this;\n\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n try {\n var _ret = function () {\n var project = _this.load(options.cwd || process.cwd(), options);\n\n return {\n v: project.start().then(function () {\n return project;\n }).catch(function (error) {\n throw error;\n })\n };\n }();\n\n if ((typeof _ret === 'undefined' ? 'undefined' : (0, _typeof3.default)(_ret)) === \"object\") return _ret.v;\n } catch (error) {\n console.log('Fatal error loading project');\n throw error;\n }\n }\n\n /**\n * Lookup a project by project type alias\n */\n\n }, {\n key: 'projectType',\n value: function projectType() {\n var type = arguments.length <= 0 || arguments[0] === undefined ? 'default' : arguments[0];\n\n try {\n return this.projectTypes.lookup(type) || this.Project;\n } catch (error) {\n return this.Project;\n }\n }\n }, {\n key: 'createProject',\n value: function createProject() {\n var cwd = arguments.length <= 0 || arguments[0] === undefined ? process.cwd() : arguments[0];\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n (0, _defaults2.default)(options, {\n manifestFilename: 'package.json',\n manifestPath: (0, _path.join)(cwd, 'package.json'),\n type: 'default'\n });\n\n if (!this.fsx.existsSync(options.manifestPath)) {\n throw 'Can not load a Skypager project without a manifest file';\n }\n\n var manifest = this.fsx.readJsonSync(options.manifestPath);\n var manifestOptions = (0, _get2.default)(manifest, options.membershipKey, {});\n var ProjectType = options.type === 'default' ? this.Project : this.projectType(manifestOptions.type || options.type);\n\n return ProjectType.load(cwd, (0, _extends3.default)({\n manifest: manifest\n }, manifestOptions, options), {\n portfolio: this,\n framework: this.framework\n });\n }\n\n /**\n * Load a project from a folder, checking the cache first to see if it exists.\n */\n\n }, {\n key: 'load',\n value: function load() {\n var cwd = arguments.length <= 0 || arguments[0] === undefined ? process.cwd() : arguments[0];\n\n var _this2 = this;\n\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var context = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n var instanceId = (0, _get2.default)(this.__project_cache, cwd);\n\n if (instanceId && InstanceIdMap[instanceId]) {\n return InstanceIdMap[instanceId];\n }\n\n var project = this.createProject(cwd, options, (0, _extends3.default)({\n portfolio: this,\n framework: this.framework\n }, context));\n\n (0, _node2.default)({\n host: project\n });\n\n this.__project_cache[cwd] = project.id;\n\n this.helpers.available.map(function (id) {\n return _this2.helpers.lookup(id);\n }).map(function (type) {\n return type.default ? type.default : type;\n }).filter(function (helperClass) {\n return helperClass.attach;\n }).forEach(function (helperClass) {\n return helperClass.attach(project, helperClass);\n });\n\n return InstanceIdMap[project.id] = this.projectDidLoad ? passThroughLocalConfig(this.projectDidLoad(project)) : passThroughLocalConfig(project);\n }\n }, {\n key: 'clearProjectCache',\n value: function clearProjectCache() {\n var _this3 = this;\n\n this.requireCacheEntries.forEach(function (entry) {\n return delete __webpack_require__.c[entry];\n });\n\n this.projectCacheKeys.forEach(function (cacheKey) {\n var instanceId = _this3.projects[cacheKey];\n var target = InstanceIdMap[instanceId];\n\n if (target) {\n delete InstanceIdMap[instanceId];\n }\n\n delete _this3.projects[cacheKey];\n });\n }\n }, {\n key: 'findProjectByInstanceId',\n value: function findProjectByInstanceId(instanceId) {\n return InstanceIdMap[instanceId];\n }\n }, {\n key: 'framework',\n get: function get() {\n return this.constructor;\n }\n }, {\n key: 'allProjects',\n get: function get() {\n var _this4 = this;\n\n return this.projectCacheKeys.map(function (i) {\n return _this4.__project_cache[i];\n }).map(function (instanceId) {\n return InstanceIdMap[instanceId];\n });\n }\n }, {\n key: 'projectInstanceIds',\n get: function get() {\n return keys(InstanceIdMap);\n }\n }, {\n key: 'projects',\n get: function get() {\n return (0, _mapKeys2.default)(this.__project_cache, function (project) {\n return project.name;\n });\n }\n }, {\n key: 'projectCacheKeys',\n get: function get() {\n return keys(getOwnPropertyDescriptors(this.__project_cache));\n }\n }, {\n key: 'projectRoots',\n get: function get() {\n return this.allProjects.map(function (p) {\n return p.cwd;\n });\n }\n }, {\n key: 'requireCacheEntries',\n get: function get() {\n var moduleIds = keys(__webpack_require__.c);\n\n return this.projectRoots.map(function (rootPath) {\n return moduleIds.filter(function (moduleId) {\n return moduleId.startsWith(rootPath);\n });\n });\n }\n }, {\n key: 'userHome',\n get: function get() {\n return process.env[process.platform == 'win32' ? 'USERPROFILE' : 'HOME'] || process.cwd();\n }\n }, {\n key: 'isDevelopingLocally',\n get: function get() {\n return this.dirname === process.cwd();\n }\n }, {\n key: 'isNodeModule',\n get: function get() {\n return this.parentFolderName === 'node_modules';\n }\n }, {\n key: 'localPackage',\n get: function get() {\n return (0, _findupSync2.default)('package.json', {\n cwd: process.cwd()\n });\n }\n }, {\n key: 'parentPackage',\n get: function get() {\n return this.parentPackagePath && this.fsx.readJsonSync(this.parentPackagePath);\n }\n }, {\n key: 'parentPackagePath',\n get: function get() {\n return (0, _findupSync2.default)('package.json', {\n cwd: this.parentFolder\n });\n }\n }, {\n key: 'parentFolder',\n get: function get() {\n return (0, _path.join)(this.dirname, '..');\n }\n }, {\n key: 'parentFolderName',\n get: function get() {\n return (0, _path.basename)(this.parentFolder);\n }\n }, {\n key: 'grandParentFolder',\n get: function get() {\n return (0, _path.join)(this.parentFolder, '..');\n }\n }]);\n return Portfolio;\n}();\n\nexports.default = Portfolio;\n\n\nvar passThroughLocalConfig = function passThroughLocalConfig(project) {\n var main = project.skypagerMain;\n var localConfig = project.existsSync(project.join(main)) ? attemptNormalRequire(project.join(main)) : function (project) {\n return project;\n };\n\n localConfig = localConfig && localConfig.default ? localConfig.default : localConfig;\n\n if ((0, _isFunction2.default)(localConfig)) {\n localConfig(project);\n }\n\n return project;\n};\n\nvar attemptNormalRequire = function attemptNormalRequire(moduleId) {\n var retryAgain = arguments.length <= 1 || arguments[1] === undefined ? true : arguments[1];\n\n try {\n return require(moduleId);\n } catch (error) {\n if (retryAgain && error.message.match(/Unexpected token/i)) {\n __webpack_require__(46);\n return attemptNormalRequire(moduleId, false);\n }\n\n console.log('\\n There was an error loading the config file found at:\\n ' + moduleId + '\\n\\n The exact error was:\\n\\n ' + error.message + '\\n\\n Stacktrace:\\n\\n\\n ' + error.stack + '\\n ');\n\n return false;\n }\n};\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(\"./node_modules/webpack/buildin/module.js\")(module)))\n\n/***/ },\n\n/***/ \"./src/project-types/application.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.use = use;\nexports.attach = attach;\nfunction use() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var next = arguments[2];\n var _context$project = context.project;\n var project = _context$project === undefined ? this : _context$project;\n\n attach(project, options, next);\n}\n\nfunction attach(project) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var next = arguments[2];\n\n next();\n}\n\n/***/ },\n\n/***/ \"./src/project-types/library.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ exports[\"use\"] = use;\n/* harmony export (immutable) */ exports[\"attach\"] = attach;\nfunction use (options = {}, context = {}, next) {\n const { project = this } = context\n attach(project, options, next)\n}\n\nfunction attach (project, options = {}, next) {\n next()\n}\n\n\n/***/ },\n\n/***/ \"./src/project-types/portfolio.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.use = use;\nexports.attach = attach;\nfunction use() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var next = arguments[2];\n var _context$project = context.project;\n var project = _context$project === undefined ? this : _context$project;\n\n attach(project, options, next);\n}\n\nfunction attach(project) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var next = arguments[2];\n\n next();\n}\n\n/***/ },\n\n/***/ \"./src/project.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Project = exports.querySources = exports.chainSources = exports.DefaultOptions = undefined;\n\nvar _assign = __webpack_require__(30);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _values = __webpack_require__(31);\n\nvar _values2 = _interopRequireDefault(_values);\n\nvar _keys = __webpack_require__(11);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nvar _defineProperty2 = __webpack_require__(14);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _typeof2 = __webpack_require__(23);\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nvar _toConsumableArray2 = __webpack_require__(10);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _promise = __webpack_require__(12);\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nvar _extends5 = __webpack_require__(2);\n\nvar _extends6 = _interopRequireDefault(_extends5);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _class, _temp;\n\nexports.load = load;\nexports.attachEmitter = attachEmitter;\nexports.attachRegistry = attachRegistry;\n\n__webpack_require__(32);\n\nvar _path = __webpack_require__(15);\n\nvar _fbemitter = __webpack_require__(13);\n\nvar _lodash = __webpack_require__(8);\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _findUp2 = __webpack_require__(33);\n\nvar _findUp3 = _interopRequireDefault(_findUp2);\n\nvar _isomorphicVm = __webpack_require__(34);\n\nvar _isomorphicVm2 = _interopRequireDefault(_isomorphicVm);\n\nvar _skypagerUtil = __webpack_require__(7);\n\nvar _skypagerDocuments = __webpack_require__(41);\n\nvar _skypagerDocuments2 = _interopRequireDefault(_skypagerDocuments);\n\nvar _index = __webpack_require__(\"./src/config/index.js\");\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _middleware = __webpack_require__(\"./src/middleware.js\");\n\nvar _middleware2 = _interopRequireDefault(_middleware);\n\nvar _tree = __webpack_require__(\"./src/tree.js\");\n\nvar _tree2 = _interopRequireDefault(_tree);\n\nvar _cache = __webpack_require__(\"./src/cache.js\");\n\nvar _cache2 = _interopRequireDefault(_cache);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar sortBy = _lodash2.default.sortBy;\nvar omit = _lodash2.default.omit;\nvar isError = _lodash2.default.isError;\nvar attempt = _lodash2.default.attempt;\nvar isFunction = _lodash2.default.isFunction;\nvar defaults = _lodash2.default.defaults;\nvar result = _lodash2.default.result;\nvar mapValues = _lodash2.default.mapValues;\nvar isArray = _lodash2.default.isArray;\nvar get = _lodash2.default.get;\nvar chain = _lodash2.default.chain;\nvar singularize = _skypagerUtil.strings.singularize;\nvar keys = _keys2.default;\nvar values = _values2.default;\nvar assign = _assign2.default;\nvar DefaultOptions = exports.DefaultOptions = {\n cwd: process.cwd(),\n target: 'node',\n paths: {\n source: 'src',\n output: 'dist',\n bundles: 'dist/bundles',\n ast: 'dist/ast',\n docs: 'docs',\n data: 'data',\n logs: 'log',\n temp: 'tmp',\n main: 'skypager.js',\n manifest: 'package.json'\n }\n};\n\nvar chainSources = exports.chainSources = ['scopes.available', 'constructor.chainProps', 'options.chainProps'];\n\nvar querySources = exports.querySources = ['scopes.available', 'constructor.queryProps', 'options.queryProps'];\n\nvar Project = exports.Project = (_temp = _class = function () {\n /**\n * Create a Skypager Project wrapper around a package folder.\n *\n * @param cwd {String} an absolute path for the Project. Should be the folder which has the package.json in it.\n * @param options {Object} the options Object\n * @param options.filesystem {Boolean} use the portfolios file system adapters\n * @type {Object}\n */\n function Project() {\n var cwd = arguments.length <= 0 || arguments[0] === undefined ? process.cwd() : arguments[0];\n\n var _this = this;\n\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var context = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n (0, _classCallCheck3.default)(this, Project);\n\n (0, _skypagerUtil.mixinPropertyUtils)(this);\n attachEmitter(this);\n var project = this;\n\n this.cwd = cwd;\n\n this.instanceId = result(options, 'id', function () {\n return _this.namespace + '-' + Math.floor(Date.now() / 1000);\n });\n\n this.hide('current', {\n collection: 'project',\n middleware: 'project',\n configuration: 'project'\n });\n\n this.hideGetter('framework', function () {\n return context.framework || context.portfolio;\n });\n this.getter('portfolio', function () {\n return context.portfolio;\n });\n\n this.hide('manifest', options.manifest || this.readJsonSync(this.join(get(options, 'paths.manifest', 'package.json'))));\n\n var computedOptions = defaults(options, this.get('manifest.skypager'), DefaultOptions);\n\n this.hide('options', omit(computedOptions, 'manifest', 'portfolio', 'fs', 'fsx'));\n\n this.hide('middleware', (0, _middleware2.default)(this));\n\n __webpack_require__(\"./src/logger.js\").attach(this, this.getOption('logging', {\n console: true\n }));\n\n this.hide('configuration', options.configuration || {});\n\n this.hide('cache', new _cache2.default());\n\n __webpack_require__(\"./src/middlewares/registries.js\").attach(this, {\n collections: {\n type: 'Directory',\n wrapper: function wrapper(cfg, id) {\n return project.cache.fetch('collections:' + id + ':' + project.instanceId + ':' + cfg.cwd, function () {\n return project.mountCollection(cfg.cwd, cfg);\n });\n }\n },\n middlewares: {\n type: 'Directory'\n },\n configurations: {\n type: 'Directory',\n wrapper: function wrapper(cfg, id) {\n return project.cache.fetch('configurations:' + id + ':' + project.instanceId + ':' + cfg.cwd, function () {\n return cfg;\n });\n }\n },\n helpers: {\n type: 'Context',\n context: __webpack_require__(19),\n fallback: function fallback(requestId) {\n return project.portfolio.helpers.lookup(requestId);\n }\n }\n });\n\n this.register.collection('project', {\n cwd: this.cwd,\n sync: !!options.sync\n });\n\n this.register.collection('source', {\n cwd: this.paths.source,\n sync: !!options.sync,\n exclude: ['**/*.spec.*']\n });\n\n this.register.collection('asts', {\n cwd: this.paths.ast,\n sync: false,\n exclude: ['**/*.spec.*']\n });\n\n this.register.collection('logs', {\n cwd: this.paths.logs,\n sync: false\n });\n\n this.register.collection('bundles', {\n cwd: this.paths.bundles,\n sync: false,\n type: 'script'\n });\n\n this.register.collection('output', {\n cwd: this.paths.output,\n sync: false,\n exclude: ['**/ast/**']\n });\n\n if (options.sync) {\n var cachedCollection = this.collection.cached;\n this.emit('collectionDidLoad', cachedCollection);\n }\n\n this.lazy('files', function () {\n return _this.collection.files.map(function (f) {\n return _this.loadFile(f);\n });\n });\n this.lazy('documents', function () {\n return _this.collection.withDocuments.documents.map(function (d) {\n return _this.loadDocument(d);\n });\n });\n this.lazy('exportableDocumentsTree', function () {\n return _this.createExportableDocumentsTree();\n });\n\n this.get('constructor.collectionDelegators', Project.collectionDelegators).forEach(function (meth) {\n return _this.hideGetter(meth, function () {\n return project.result('collection.' + meth);\n });\n });\n }\n\n (0, _createClass3.default)(Project, [{\n key: 'document',\n value: function document(documentId) {\n var doc = this.get(['documentsMappedById', documentId]);\n return doc ? doc.ready : doc;\n }\n }, {\n key: 'createExportableDocumentsTree',\n value: function createExportableDocumentsTree() {\n return mapValues(this.loadedDocumentsTree, function (v) {\n return v.createExportable ? v.exportables : v;\n });\n }\n }, {\n key: 'configure',\n value: function configure() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var _options$scope = options.scope;\n var scope = _options$scope === undefined ? this.current.configuration || 'project' : _options$scope;\n\n\n var current = this.configuration[scope];\n\n if (current) {\n return config((0, _extends6.default)({}, options, {\n history: current.history\n }));\n }\n\n return this.configuration[scope] = config((0, _extends6.default)({}, options, {\n history: [{ scope: scope }]\n }));\n }\n }, {\n key: 'route',\n value: function route(pattern, chain) {\n return this.routeDocuments(pattern, chain);\n }\n }, {\n key: 'routeDocuments',\n value: function routeDocuments(pattern, chain) {\n var project = this;\n var collection = this.collection;\n\n var results = collection.routers.documents(pattern).map(function (result) {\n var id = result.path[0];\n var doc = result.path[1];\n var file = doc.file;\n var idParts = id.split('/');\n\n return {\n id: id,\n doc: doc,\n idParts: idParts,\n baseFolder: idParts[0],\n categoryFolder: idParts[1] || idParts[0],\n meta: get(result, 'result', {}),\n file: (0, _extends6.default)({\n path: file.path\n }, project.wrapFile(file))\n };\n });\n\n return chain ? _lodash2.default.chain(results) : results;\n }\n }, {\n key: 'routeFiles',\n value: function routeFiles(pattern, chain) {\n var project = this;\n var collection = this.collection;\n\n var results = collection.routers.files(pattern).map(function (result) {\n var file = result.path[1];\n var id = file.relative;\n var idParts = id.split('/');\n\n return (0, _extends6.default)({\n id: id,\n file: file,\n idParts: idParts,\n baseFolder: idParts[0],\n categoryFolder: idParts[1] || idParts[0],\n meta: get(result, 'result', {})\n }, project.wrapFile(file));\n });\n\n return chain ? _lodash2.default.chain(results) : results;\n }\n }, {\n key: 'resolvePromiseHash',\n value: function resolvePromiseHash() {\n var object = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n return (0, _skypagerUtil.promiseHash)(object);\n }\n }, {\n key: 'createSandbox',\n value: function createSandbox() {\n var locals = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n return (0, _extends6.default)({\n project: this,\n Skypager: this.portfolio,\n lodash: _lodash2.default,\n fs: this.fsx\n }, locals, {\n console: console\n });\n }\n }, {\n key: 'loadFile',\n value: function loadFile(file) {\n return file;\n }\n }, {\n key: 'loadDocument',\n value: function loadDocument(doc) {\n return doc.decorated;\n }\n }, {\n key: 'wrapFile',\n value: function wrapFile(file) {\n var project = this;\n var path = file.path;\n\n\n return {\n contents: function contents() {\n return project.readFileSync(path).toString();\n },\n createScript: function createScript() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n // find a way to do this\n var code = options.compile ? file.contents.toString() : file.contents.toString();\n\n return new proj.vm.Script(code, (0, _extends6.default)({\n filename: path\n }, options));\n },\n getFile: function getFile() {\n return file;\n },\n json: function json() {\n return project.readJsonSync(path);\n },\n read: function read() {\n return project.readFileAsync(path).then(function (file) {\n return file.toString();\n });\n },\n readJson: function readJson() {\n return project.readJsonAsync(path);\n }\n };\n }\n /**\n * Get information about this project's parent. It will look up the path for the closest package.json\n * @return {Object} An object which provides access to the package.json path, folder path, and contents\n */\n\n }, {\n key: 'join',\n\n\n /**\n PATH HELPERS\n Helpers to make working with project paths easier\n */\n value: function join() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _path.join.apply(undefined, [this.cwd].concat(args));\n }\n }, {\n key: 'relative',\n value: function relative() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _path.relative.apply(undefined, [this.cwd].concat(args));\n }\n }, {\n key: 'resolve',\n value: function resolve() {\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _path.resolve.apply(undefined, [this.cwd].concat(args));\n }\n\n /**\n * Access one of the project options, providing a default value should one\n * not already be set.\n * @param {String} value an object path including something like whatever.nested.value\n * @param {Any} defaultValue an optional default value should the requested value not be defined\n */\n\n }, {\n key: 'getOption',\n value: function getOption(key, defaultValue) {\n return this.get('options.' + key, this.getConfig(key, defaultValue));\n }\n }, {\n key: 'getConfig',\n value: function getConfig(key, defaultValue) {\n return this.get('configuration.' + this.current.config + '.' + key, defaultValue);\n }\n /**\n * Access one of the project options, invoking a function if found. Providing a default value should one\n * not already be set, including a function which will be lazily evaluated.\n * @param {String} value an object path including something like whatever.nested.value\n * @param {Any} defaultValue an optional default value, or function returning one,\n * should the requested value not be defined\n */\n\n }, {\n key: 'resultOption',\n value: function resultOption(value, defaultValue) {\n return this.result('options.' + value, defaultValue);\n }\n }, {\n key: 'attemptReadSync',\n value: function attemptReadSync(path) {\n var _this2 = this;\n\n var fallbackValue = arguments.length <= 1 || arguments[1] === undefined ? '' : arguments[1];\n\n var result = attempt(function () {\n return _this2.fs.readFileSync(_this2.join(path)).toString();\n });\n\n return isError(result) ? fallbackValue : result;\n }\n }, {\n key: 'use',\n value: function use(middleware) {\n if (isFunction(middleware)) {\n this.middleware(middleware);\n }\n\n return this;\n }\n }, {\n key: 'start',\n value: function start() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var callback = arguments[1];\n\n if (isFunction(callback)) {\n return this.middleware.run(options, this.sandbox, callback);\n } else {\n return this.startAsync(options, this.sandbox);\n }\n }\n }, {\n key: 'startAsync',\n value: function startAsync() {\n var _this3 = this;\n\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n return new _promise2.default(function (resolve, reject) {\n _this3.middleware.run(options, _this3.sandbox, function (err) {\n for (var _len4 = arguments.length, callbackArgs = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n callbackArgs[_key4 - 1] = arguments[_key4];\n }\n\n if (err) {\n reject(err);\n } else {\n resolve(callbackArgs);\n }\n });\n }).catch(function (error) {\n console.log('Error in start async method', _this3, error);\n });\n }\n }, {\n key: 'partialMixin',\n value: function partialMixin(InterfaceDefinition) {\n for (var _len5 = arguments.length, args = Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n args[_key5 - 1] = arguments[_key5];\n }\n\n var project = this;\n\n chain(InterfaceDefinition).pickBy(function (v) {\n return typeof v === 'function';\n }).mapValues(function (fn) {\n return fn.bind.apply(fn, [project].concat(args));\n }).mapValues(function (fn, methodName) {\n return project.hide(methodName, fn, true);\n });\n\n return this;\n }\n }, {\n key: 'mixin',\n value: function mixin() {\n var _this4 = this;\n\n var InterfaceDefinition = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n assign(this, mapValues(InterfaceDefinition, function (fn) {\n return fn.bind(_this4);\n }));\n return this;\n }\n }, {\n key: 'mountCollection',\n value: function mountCollection() {\n var cwd = arguments.length <= 0 || arguments[0] === undefined ? this.cwd : arguments[0];\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var project = this;\n\n options = (0, _extends6.default)({\n importerOptions: project.get('options.importer', project.get('options.importerOptions', {})),\n project: project,\n documentClass: _skypagerDocuments.Document\n }, options, {\n exclude: [].concat((0, _toConsumableArray3.default)(options.exclude || []), (0, _toConsumableArray3.default)(options.ignore || []), (0, _toConsumableArray3.default)(project.gitignores || []), (0, _toConsumableArray3.default)(project.skypagerIgnoreContents || []))\n });\n\n return (0, _skypagerDocuments.mount)(cwd, (0, _extends6.default)({}, options, {\n collection: this\n }));\n }\n }, {\n key: 'findUp',\n value: function findUp(fileName) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n return _findUp3.default.sync(fileName, (0, _extends6.default)({\n cwd: this.parentFolder\n }, options));\n }\n }, {\n key: 'select',\n value: function select() {\n for (var _len6 = arguments.length, paths = Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n paths[_key6] = arguments[_key6];\n }\n\n return this.selectChain(paths).value();\n }\n }, {\n key: 'selectChain',\n value: function selectChain() {\n for (var _len7 = arguments.length, paths = Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n paths[_key7] = arguments[_key7];\n }\n\n var set = function set(obj, path, val) {\n _lodash2.default.set(obj, path, val);\n return obj;\n };\n\n var index = 0;\n paths = sortBy(paths, function (p) {\n return p.length;\n });\n\n return this.at(paths).reduce(function (result, value) {\n var key = paths[index++];\n return set(result, key, value);\n }, {});\n }\n }, {\n key: 'selectByObject',\n value: function selectByObject(pathObject) {\n var keys = keys(pathObject);\n var paths = values(pathObject);\n\n return this.at.apply(this, (0, _toConsumableArray3.default)(paths)).reduce(function (memo, val, index) {\n return set(memo, keys[index], val);\n }, {}).value();\n }\n }, {\n key: 'setupScopes',\n value: function setupScopes() {\n var _this5 = this;\n\n var config = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n if (isArray(config)) {\n this.scope(config, new RegExp(config + '/.*.w+$'));\n } else {\n keys(config).forEach(function (scopeName) {\n var scopeDef = config[scopeName];\n\n if (typeof scopeDef === 'string') {\n _this5.scope(scopeName, new RegExp(scopeDef + '/.*.w+$'));\n }\n\n if ((typeof scopeDef === 'undefined' ? 'undefined' : (0, _typeof3.default)(scopeDef)) === 'object') {\n _this5.scope(scopeName, scopeDef.pattern, scopeDef);\n }\n });\n }\n }\n\n /**\n * Create a lodash chain by picking some properties from the project.\n * @param {Array[String]} properties List of properties you want to be a part of the chain\n * @return {Chain} The lodash chain whose initial value consists of the properties given\n */\n\n }, {\n key: 'pick',\n value: function pick(properties) {\n return this.chain.pick(properties);\n }\n\n /**\n * Create a lodash chain with the given object paths.\n */\n\n }, {\n key: 'at',\n value: function at() {\n var _chain;\n\n return (_chain = this.chain).at.apply(_chain, arguments);\n }\n }, {\n key: 'resolveRequest',\n value: function resolveRequest(request) {\n var _this6 = this;\n\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n if (!options.async) {\n return _promise2.default.resolve(this.resolveSync(request, options)).catch(function (error) {\n console.log('ERROR in Resolve Request', error);\n });\n } else {\n return new _promise2.default(function (resolve, reject) {\n resolve(_this6.resolveSync(request, options));\n }).catch(function (error) {\n console.log('ERROR in Resolve Request', error);\n });\n }\n }\n }, {\n key: 'resolveRequestSync',\n value: function resolveRequestSync(request) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n if ((typeof request === 'undefined' ? 'undefined' : (0, _typeof3.default)(request)) === 'object') {\n return request;\n } else if (typeof request === 'string') {\n return {\n request: request\n };\n }\n }\n }, {\n key: 'lookup',\n get: function get() {\n var p = this;\n\n return p.registries.available.reduce(function (memo, prop) {\n return (0, _extends6.default)({}, memo, (0, _defineProperty3.default)({}, singularize(prop), function () {\n var _p$registries$lookup;\n\n return (_p$registries$lookup = p.registries.lookup(prop)).lookup.apply(_p$registries$lookup, arguments);\n }));\n }, {});\n }\n }, {\n key: 'register',\n get: function get() {\n var p = this;\n\n return p.registries.available.reduce(function (memo, prop) {\n return (0, _extends6.default)({}, memo, (0, _defineProperty3.default)({}, singularize(prop), function () {\n var _p$registries$lookup2;\n\n return (_p$registries$lookup2 = p.registries.lookup(prop)).register.apply(_p$registries$lookup2, arguments);\n }));\n }, {});\n }\n }, {\n key: 'documentsTree',\n get: function get() {\n return (0, _tree2.default)(this, {\n ready: false\n });\n }\n }, {\n key: 'loadedDocumentsTree',\n get: function get() {\n return (0, _tree2.default)(this, {\n ready: true\n });\n }\n }, {\n key: 'context',\n get: function get() {\n return this.cwd;\n }\n }, {\n key: 'root',\n get: function get() {\n return this.cwd;\n }\n }, {\n key: 'parentFolder',\n get: function get() {\n return (0, _path.dirname)(this.cwd);\n }\n }, {\n key: 'id',\n get: function get() {\n return this.instanceId + '-' + this.get('manifest.version');\n }\n }, {\n key: 'name',\n get: function get() {\n return this.get('options.name') || this.get('manifest.name') || this.constructor.name.toLowerCase();\n }\n }, {\n key: 'paths',\n get: function get() {\n var project = this;\n\n return (0, _extends6.default)({\n cwd: this.cwd\n }, this.chain.get('options.paths', {}).defaults(DefaultOptions.paths).mapValues(function (p) {\n return project.resolve(p);\n }).value());\n }\n\n /**\n * A namespace can be set in the Project options, it will default\n * to the package.json scope if it exists (e.g @skypager/package) otherwise\n * the name of the Projects parent folder will be used.\n */\n\n }, {\n key: 'namespace',\n get: function get() {\n var name = this.name;\n\n return this.result('options.namespace', function () {\n return name.match(/^\\@\\w+\\//) ? name.split('/')[0].replace(/\\^\\@/, '') : name.split('-')[0];\n });\n }\n }, {\n key: 'packageMain',\n get: function get() {\n return this.get('manifest.main', 'index.js');\n }\n }, {\n key: 'skypagerMain',\n get: function get() {\n return this.get('manifest.skypager.main', 'skypager.js');\n }\n }, {\n key: 'isCli',\n get: function get() {\n return !!this.get('environment.SKYPAGER_CLI', false);\n }\n }, {\n key: 'isServer',\n get: function get() {\n return !!this.get('environment.SKYPAGER_SERVER', false);\n }\n }, {\n key: 'isElectron',\n get: function get() {\n return !!this.get('environment.SKYPAGER_ELECTRON', false);\n }\n }, {\n key: 'chain',\n get: function get() {\n return chain(this);\n }\n }, {\n key: 'collection',\n get: function get() {\n return this.collections.lookup(this.current.collection);\n }\n }, {\n key: 'availableHelpers',\n get: function get() {\n return this.chain.at('helpers.available', 'portfolio.helpers.available').flatten().uniq().sort().value();\n }\n }, {\n key: 'helpersMap',\n get: function get() {\n var _this7 = this;\n\n var helpersRoot = this.getOption('helpersRoot', 'src');\n var helpers = this.getOption('helpers', []);\n\n var normalized = helpers.map(function (entry) {\n return typeof entry === 'string' ? { name: entry, pattern: helpersRoot + '/' + entry + '/:name*' } : entry;\n });\n\n return normalized.reduce(function (memo, cfg) {\n return (0, _extends6.default)({}, memo, (0, _defineProperty3.default)({}, cfg.name, (0, _extends6.default)({}, cfg, { documents: _this7.routeDocuments(cfg.pattern) })));\n }, {});\n }\n }, {\n key: 'vm',\n get: function get() {\n return _isomorphicVm2.default;\n }\n }, {\n key: 'sandbox',\n get: function get() {\n return this.createSandbox();\n }\n }, {\n key: 'module',\n get: function get() {\n return __webpack_require__.c[require.resolve(this.paths.manifest)];\n }\n }, {\n key: 'parentModule',\n get: function get() {\n var proj = this;\n\n return {\n get path() {\n return proj.findUp('package.json', {\n cwd: proj.parentFolder\n });\n },\n\n get folder() {\n return (0, _path.dirname)(proj.parentModule.path);\n },\n\n get manifest() {\n return proj.framework.readJsonSync(proj.parentModule.path);\n },\n\n get projectLoader() {\n return function () {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n return proj.portfolio.load(proj.parentModule.folder, options);\n };\n },\n\n get project() {\n return proj.parentModule.projectLoader({\n sync: false\n });\n }\n };\n }\n }, {\n key: 'argv',\n get: function get() {\n return (0, _extends6.default)({}, __webpack_require__(39)(process.argv), this.getOption('argv', {}));\n }\n }, {\n key: 'env',\n get: function get() {\n var env = this.environment;\n return env.SKYPAGER_ENV ? env.SKYPAGER_ENV : env.NODE_ENV;\n }\n }, {\n key: 'environment',\n get: function get() {\n return (0, _extends6.default)({\n NODE_ENV: 'development'\n }, this.getOption('env', process.env));\n }\n }, {\n key: 'chains',\n get: function get() {\n var _chain2;\n\n var project = this;\n\n var chains = (_chain2 = this.chain).at.apply(_chain2, chainSources).flatten().compact().uniq().reduce(function (memo, prop) {\n (0, _skypagerUtil.lazy)(memo, prop, function () {\n return chain(project.get(prop));\n });\n return memo;\n }, {});\n\n return chains.value();\n }\n }, {\n key: 'queries',\n get: function get() {\n var _chain3;\n\n var project = this;\n\n var queries = (_chain3 = this.chain).at.apply(_chain3, querySources).flatten().compact().uniq().reduce(function (memo, prop) {\n memo[prop] = function () {\n for (var _len8 = arguments.length, args = Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n args[_key8] = arguments[_key8];\n }\n\n return _skypagerUtil.query.apply(undefined, [project.get(prop)].concat(args));\n };\n return memo;\n }, {});\n\n return queries.value();\n }\n }, {\n key: 'gitignores',\n get: function get() {\n return this.getOption('ignorePaths', ['tmp/', 'log/', 'dist/', '.DS_Store']).concat(this.gitignoreContents).map(function (p) {\n return '!' + p;\n });\n }\n }, {\n key: 'gitignoreContents',\n get: function get() {\n return this.attemptReadSync('.gitignore', '').split(\"\\n\").filter(function (p) {\n return p && p.length > 2 && !p.trim().startsWith('#');\n });\n }\n }, {\n key: 'skypagerIgnoreContents',\n get: function get() {\n return this.attemptReadSync('.skypagerignore', '').split(\"\\n\").filter(function (p) {\n return p && p.length > 2 && !p.trim().startsWith('#');\n });\n }\n }], [{\n key: 'load',\n value: function load() {\n var cwd = arguments.length <= 0 || arguments[0] === undefined ? process.cwd() : arguments[0];\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var context = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n return new this(cwd, options, context);\n }\n }, {\n key: 'loadSync',\n value: function loadSync() {\n var cwd = arguments.length <= 0 || arguments[0] === undefined ? process.cwd() : arguments[0];\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var context = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n return this.load(cwd, (0, _extends6.default)({}, options, {\n sync: true\n }), context);\n }\n }, {\n key: 'Collection',\n get: function get() {\n return _skypagerDocuments2.default;\n }\n }, {\n key: 'Document',\n get: function get() {\n return _skypagerDocuments.Document;\n }\n }]);\n return Project;\n}(), _class.collectionDelegators = ['childFolderNames', 'childFolderPaths', 'subFolderNames', 'subFolderPaths', 'rootFiles', 'groupedByChildFolder', 'groupedByChildFolderAndExtension', 'relativeFilePaths', 'relativeSubFolderPaths', 'getFileByRelativePath', 'filesIndex', 'relativeObjectPaths', 'subFolderObjectPaths', 'routers', 'documentsMap', 'documentsMappedById', 'documentEntryPoints', 'depths'], _class.chainProps = ['files', 'documents', 'childFolderPaths', 'childFolderNames', 'subFolderNames', 'subFolderPaths'], _class.queryProps = ['files', 'documents', 'childFolderPaths', 'childFolderNames', 'subFolderNames', 'subFolderPaths'], _temp);\nexports.default = Project;\nfunction load() {\n var cwd = arguments.length <= 0 || arguments[0] === undefined ? process.cwd() : arguments[0];\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var context = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n return new Project(cwd, options, context);\n}\n\nfunction attachEmitter(project) {\n project.hide('emitter', new _fbemitter.EventEmitter());\n project.hide('on', project.emitter.addListener.bind(project.emitter));\n project.hide('once', project.emitter.once.bind(project.emitter));\n project.hide('off', project.emitter.removeCurrentListener.bind(project.emitter));\n project.hide('emit', project.emitter.emit.bind(project.emitter));\n project.hide('trigger', project.emitter.emit.bind(project.emitter));\n}\n\nfunction attachRegistry(project, name) {\n var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n if (project.registries.available.indexOf(name) >= 0) {\n return project.registries.lookup(name);\n }\n\n project.registries.register(name, function () {\n return create((0, _extends6.default)({\n name: name,\n type: 'Directory'\n }, options));\n });\n\n if (options.prop !== false && typeof project[name] === 'undefined') {\n project.getter(name, function () {\n return project.registries.lookup(name);\n });\n }\n\n if (options.prop !== false && typeof project[singularize(name)] === 'undefined') {\n project.getter(singularize(name), function () {\n var _project$name;\n\n return (_project$name = project[name]).lookup.apply(_project$name, arguments);\n });\n }\n\n return project;\n}\n\n/***/ },\n\n/***/ \"./src/tree.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createDocumentTree = exports.treeConfig = undefined;\n\nvar _skypagerUtil = __webpack_require__(7);\n\nvar _set = __webpack_require__(38);\n\nvar _set2 = _interopRequireDefault(_set);\n\nvar _get = __webpack_require__(25);\n\nvar _get2 = _interopRequireDefault(_get);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar camelCase = _skypagerUtil.strings.camelCase;\nvar snakeCase = _skypagerUtil.strings.snakeCase;\nvar treeConfig = exports.treeConfig = function treeConfig(project) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n return project.chain.get('documentsMap').mapValues(function (doc, id) {\n return {\n doc: doc,\n id: id,\n idParts: doc.idParts.map(function (p) {\n return camelCase(snakeCase(p).replace(/-/g, '_'));\n }),\n bucket: doc.idParts.map(function (p) {\n return camelCase(snakeCase(p).replace(/-/g, '_'));\n }).slice(0, doc.idParts.length - 1)\n };\n });\n};\n\nvar createDocumentTree = exports.createDocumentTree = function createDocumentTree(project) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n return treeConfig(project, options).values().sortBy(function (cfg) {\n return cfg.idParts.length;\n }).reduce(function (memo, cfg) {\n var existingBucket = (0, _get2.default)(memo, cfg.bucket, {});\n (0, _set2.default)(memo, cfg.bucket, existingBucket);\n (0, _set2.default)(memo, cfg.idParts, options.ready ? cfg.doc.ready : cfg.doc);\n return memo;\n }, {}).value();\n};\n\nexports.default = createDocumentTree;\n\n/***/ },\n\n/***/ \"./src/utils/emitter.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.attachEmitter = attachEmitter;\n\nvar _fbemitter = __webpack_require__(13);\n\nfunction attachEmitter(project) {\n project.hide('emitter', new _fbemitter.EventEmitter());\n project.hide('on', project.emitter.addListener.bind(project.emitter));\n project.hide('once', project.emitter.once.bind(project.emitter));\n project.hide('off', project.emitter.removeCurrentListener.bind(project.emitter));\n project.hide('emit', project.emitter.emit.bind(project.emitter));\n project.hide('trigger', project.emitter.emit.bind(project.emitter));\n}\n\nexports.default = attachEmitter;\n\n/***/ },\n\n/***/ 0:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/classCallCheck\");\n\n/***/ },\n\n/***/ 1:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/createClass\");\n\n/***/ },\n\n/***/ 10:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/toConsumableArray\");\n\n/***/ },\n\n/***/ 11:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/object/keys\");\n\n/***/ },\n\n/***/ 12:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/promise\");\n\n/***/ },\n\n/***/ 13:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"fbemitter\");\n\n/***/ },\n\n/***/ 14:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/defineProperty\");\n\n/***/ },\n\n/***/ 15:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"path\");\n\n/***/ },\n\n/***/ 16:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/mapValues\");\n\n/***/ },\n\n/***/ 17:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./packages.js\": \"./src/data-sources/packages.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 17;\n\n\n/***/ },\n\n/***/ 18:\n/***/ function(module, exports) {\n\nfunction webpackEmptyContext(req) {\n\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 18;\n\n\n/***/ },\n\n/***/ 19:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./data-source.js\": \"./src/helpers/data-source.js\",\n\t\"./file-system.js\": \"./src/helpers/file-system.js\",\n\t\"./generator.js\": \"./src/helpers/generator.js\",\n\t\"./initializer.js\": \"./src/helpers/initializer.js\",\n\t\"./project-type.js\": \"./src/helpers/project-type.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 19;\n\n\n/***/ },\n\n/***/ 2:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/extends\");\n\n/***/ },\n\n/***/ 20:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./portfolio.js\": \"./src/initializers/portfolio.js\",\n\t\"./project.js\": \"./src/initializers/project.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 20;\n\n\n/***/ },\n\n/***/ 21:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./application.js\": \"./src/project-types/application.js\",\n\t\"./library.js\": \"./src/project-types/library.js\",\n\t\"./portfolio.js\": \"./src/project-types/portfolio.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 21;\n\n\n/***/ },\n\n/***/ 22:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/asyncToGenerator\");\n\n/***/ },\n\n/***/ 23:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/typeof\");\n\n/***/ },\n\n/***/ 24:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/regenerator\");\n\n/***/ },\n\n/***/ 25:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/get\");\n\n/***/ },\n\n/***/ 26:\n/***/ function(module, exports) {\n\nfunction webpackEmptyContext(req) {\n\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 26;\n\n\n/***/ },\n\n/***/ 27:\n/***/ function(module, exports) {\n\nfunction webpackEmptyContext(req) {\n\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 27;\n\n\n/***/ },\n\n/***/ 28:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/json/stringify\");\n\n/***/ },\n\n/***/ 29:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/map\");\n\n/***/ },\n\n/***/ 3:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"skypager-registry\");\n\n/***/ },\n\n/***/ 30:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/object/assign\");\n\n/***/ },\n\n/***/ 31:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/object/values\");\n\n/***/ },\n\n/***/ 32:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"clean-stack\");\n\n/***/ },\n\n/***/ 33:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"find-up\");\n\n/***/ },\n\n/***/ 34:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"isomorphic-vm\");\n\n/***/ },\n\n/***/ 35:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/partial\");\n\n/***/ },\n\n/***/ 36:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/partialRight\");\n\n/***/ },\n\n/***/ 37:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/result\");\n\n/***/ },\n\n/***/ 38:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/set\");\n\n/***/ },\n\n/***/ 39:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"minimist\");\n\n/***/ },\n\n/***/ 4:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/object/get-prototype-of\");\n\n/***/ },\n\n/***/ 40:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"mware\");\n\n/***/ },\n\n/***/ 41:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"skypager-documents\");\n\n/***/ },\n\n/***/ 42:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"winston\");\n\n/***/ },\n\n/***/ 44:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"fs-extra-promise\");\n\n/***/ },\n\n/***/ 45:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/pick\");\n\n/***/ },\n\n/***/ 46:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-register\");\n\n/***/ },\n\n/***/ 47:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/object/get-own-property-descriptors\");\n\n/***/ },\n\n/***/ 48:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"bluebird\");\n\n/***/ },\n\n/***/ 49:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"findup-sync\");\n\n/***/ },\n\n/***/ 5:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/inherits\");\n\n/***/ },\n\n/***/ 50:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/defaults\");\n\n/***/ },\n\n/***/ 51:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/isFunction\");\n\n/***/ },\n\n/***/ 52:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/mapKeys\");\n\n/***/ },\n\n/***/ 55:\n/***/ function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"./src/portfolio.js\");\n\n\n/***/ },\n\n/***/ 6:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/possibleConstructorReturn\");\n\n/***/ },\n\n/***/ 7:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"skypager-util\");\n\n/***/ },\n\n/***/ 8:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash\");\n\n/***/ },\n\n/***/ 9:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./data-source.js\": \"./src/helpers/data-source.js\",\n\t\"./file-system.js\": \"./src/helpers/file-system.js\",\n\t\"./generator.js\": \"./src/helpers/generator.js\",\n\t\"./initializer.js\": \"./src/helpers/initializer.js\",\n\t\"./project-type.js\": \"./src/helpers/project-type.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 9;\n\n\n/***/ }\n\n/******/ });\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/skypager-project/lib/portfolio.js\n// module id = ../../node_modules/skypager-project/lib/portfolio.js\n// module chunks = 0","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// object to store loaded chunks\n/******/ \t// \"0\" means \"already loaded\"\n/******/ \tvar installedChunks = {\n/******/ \t\t3: 0\n/******/ \t};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n/******/ \t// This file contains only the entry chunk.\n/******/ \t// The chunk loading function for additional chunks\n/******/ \t__webpack_require__.e = function requireEnsure(chunkId) {\n/******/ \t\t// \"0\" is the signal for \"already loaded\"\n/******/ \t\tif(installedChunks[chunkId] !== 0) {\n/******/ \t\t\tvar chunk = require(\"./\" + ({}[chunkId]||chunkId) + \".js\");\n/******/ \t\t\tvar moreModules = chunk.modules, chunkIds = chunk.ids;\n/******/ \t\t\tfor(var moduleId in moreModules) {\n/******/ \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n/******/ \t\t\t}\n/******/ \t\t\tfor(var i = 0; i < chunkIds.length; i++)\n/******/ \t\t\t\tinstalledChunks[chunkIds[i]] = 0;\n/******/ \t\t}\n/******/ \t\treturn Promise.resolve();\n/******/ \t};\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// identity function for calling harmory imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n\n/******/ \t// define getter function for harmory exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tObject.defineProperty(exports, name, {\n/******/ \t\t\tconfigurable: false,\n/******/ \t\t\tenumerable: true,\n/******/ \t\t\tget: getter\n/******/ \t\t});\n/******/ \t};\n\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/\";\n\n/******/ \t// uncatched error handler for webpack runtime\n/******/ \t__webpack_require__.oe = function(err) {\n/******/ \t\tprocess.nextTick(function() {\n/******/ \t\t\tthrow err; // catch this error by using System.import().catch()\n/******/ \t\t});\n/******/ \t};\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 56);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./src/cache.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Cache = undefined;\n\nvar _map = __webpack_require__(29);\n\nvar _map2 = _interopRequireDefault(_map);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _skypagerUtil = __webpack_require__(7);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Cache = exports.Cache = function () {\n function Cache(init) {\n var _this = this;\n\n (0, _classCallCheck3.default)(this, Cache);\n\n (0, _skypagerUtil.hideProperty)(this, 'hide', function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _skypagerUtil.hideProperty.apply(undefined, [_this].concat(args));\n });\n\n this.clear(init);\n this.write = function (k, v) {\n return _this.set(k, v).get(k);\n };\n }\n\n (0, _createClass3.default)(Cache, [{\n key: 'fetch',\n value: function fetch(k, defaultValue) {\n if (this.has(k)) {\n return this.get(k);\n } else {\n this.set(k, typeof defaultValue === 'function' ? defaultValue(k) : defaultValue);\n return this.get(k);\n }\n }\n }, {\n key: 'clear',\n value: function clear(init) {\n delete this._wm;\n this._wm = new _map2.default(init);\n }\n }, {\n key: 'delete',\n value: function _delete(k) {\n return this._wm.delete(k);\n }\n }, {\n key: 'get',\n value: function get(k) {\n return this._wm.get(k);\n }\n }, {\n key: 'has',\n value: function has(k) {\n return this._wm.has(k);\n }\n }, {\n key: 'set',\n value: function set(k, v) {\n this._wm.set(k, v);\n return this;\n }\n }]);\n return Cache;\n}();\n\nexports.default = Cache;\n\n/***/ },\n\n/***/ \"./src/config/Expression.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = undefined;\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Expression = function () {\n function Expression(expression) {\n (0, _classCallCheck3.default)(this, Expression);\n\n this.expression = expression;\n }\n\n (0, _createClass3.default)(Expression, [{\n key: \"toString\",\n value: function toString() {\n return this.expression.toString();\n }\n }, {\n key: \"value\",\n value: function value() {\n return this.expression();\n }\n }]);\n return Expression;\n}();\n\nexports.default = Expression;\n\n/***/ },\n\n/***/ \"./src/config/index.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toConsumableArray2 = __webpack_require__(10);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _defineProperty2 = __webpack_require__(14);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _extends8 = __webpack_require__(2);\n\nvar _extends9 = _interopRequireDefault(_extends8);\n\nexports.default = api;\n\nvar _lodash = __webpack_require__(8);\n\nvar _stringify = __webpack_require__(\"./src/config/stringify.js\");\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar defaultFeatures = __webpack_require__(26).keys().reduce(function (memo, key) {\n return (0, _extends9.default)({}, memo, (0, _defineProperty3.default)({}, key.replace(/\\.\\//, '').replace(/\\.js$/, ''), features(key)));\n}, {});\n\nvar defaultReducers = __webpack_require__(27).keys().reduce(function (memo, key) {\n return (0, _extends9.default)({}, memo, (0, _defineProperty3.default)({}, key.replace(/\\.\\//, '').replace(/\\.js$/, ''), reducers(key)));\n}, {});\n\nfunction api() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var _options$history = options.history;\n var history = _options$history === undefined ? [] : _options$history;\n var _options$features = options.features;\n var features = _options$features === undefined ? {} : _options$features;\n var _options$reducers = options.reducers;\n var reducers = _options$reducers === undefined ? {} : _options$reducers;\n\n\n features = (0, _extends9.default)({}, defaultFeatures, features);\n reducers = (0, _extends9.default)({}, defaultReducers, reducers);\n\n var getState = function getState() {\n var initialState = (0, _lodash.reduce)(features, function (acc, feature, name) {\n var defaultValue = feature();\n\n if ((0, _lodash.isUndefined)(defaultValue)) {\n return acc;\n }\n\n return (0, _extends9.default)({}, acc, (0, _defineProperty3.default)({}, name, defaultValue));\n }, {});\n\n var state = history.reduce(function (acc, _ref) {\n var name = _ref.name;\n var args = _ref.args;\n\n var featureState = acc[name];\n var feature = features[name];\n\n return (0, _extends9.default)({}, acc, (0, _defineProperty3.default)({}, name, feature.apply(undefined, [featureState].concat((0, _toConsumableArray3.default)(args)))));\n }, initialState);\n\n Object.defineProperty(state, \"toString\", {\n value: function value() {\n return (0, _stringify2.default)(state);\n }\n });\n\n return state;\n };\n\n var getConfig = function getConfig(tap) {\n var state = getState();\n var config = (0, _lodash.reduce)(reducers, function (config, reducer, name) {\n var reduced = reducer(state);\n\n if ((0, _lodash.isUndefined)(reduced)) {\n return config;\n }\n\n return (0, _extends9.default)({}, config, (0, _defineProperty3.default)({}, name, reducer(state)));\n }, {});\n\n if (tap) {\n config = tap(config);\n }\n\n Object.defineProperty(config, \"toString\", {\n value: function value() {\n return (0, _stringify2.default)(config);\n }\n });\n\n return config;\n };\n\n var when = function when(env, configure) {\n var envs = Array.isArray(env) ? env : [env];\n var _process$env$NODE_ENV = process.env.NODE_ENV;\n var NODE_ENV = _process$env$NODE_ENV === undefined ? \"development\" : _process$env$NODE_ENV;\n\n\n if (env === true || envs.indexOf(NODE_ENV) !== -1) {\n return configure(api({ features: features, reducers: reducers, history: history }));\n } else if (typeof env === 'function' && env(getState(), getConfig)) {\n return configure({ features: features, reducers: reducers, history: history });\n }\n\n return api({ features: features, reducers: reducers, history: history });\n };\n\n return (0, _lodash.reduce)(features, function (acc, feature, name) {\n return (0, _extends9.default)({}, acc, (0, _defineProperty3.default)({}, name, function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return api(features, reducers, history.concat({ args: args, name: name }));\n }));\n }, {\n getConfig: getConfig,\n getState: getState,\n history: history,\n when: when\n });\n}\n\n/***/ },\n\n/***/ \"./src/config/stringify.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _stringify = __webpack_require__(28);\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nvar _keys = __webpack_require__(11);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nexports.default = stringify;\n\nvar _lodash = __webpack_require__(8);\n\nvar _Expression = __webpack_require__(\"./src/config/Expression.js\");\n\nvar _Expression2 = _interopRequireDefault(_Expression);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction stringify(value) {\n var replacements = [];\n\n var replace = function replace(replacement) {\n return \"__REPLACEMENT_\" + (replacements.push(replacement) - 1) + \"__\";\n };\n\n var sort = function sort(object) {\n return (0, _keys2.default)(object).sort().reduce(function (sorted, key) {\n sorted[key] = object[key];\n\n return sorted;\n }, {});\n };\n\n var replacer = function replacer(key, value) {\n if (value instanceof _Expression2.default) {\n return replace(value.toString());\n }\n\n if (value instanceof RegExp) {\n return replace(value.toString());\n }\n\n return value;\n };\n\n var string = (0, _stringify2.default)(_lodash.isPlainObject ? sort(value) : value, replacer, 2);\n\n return string.replace(/(^[\\s]+)?\"__REPLACEMENT_([\\d]+)__\"/gm, function (match) {\n var indent = arguments.length <= 1 || arguments[1] === undefined ? \"\" : arguments[1];\n var index = arguments[2];\n return (\"\" + indent + replacements[index]).split(\"\\n\").join(\"\\n\" + indent);\n });\n}\n\n/***/ },\n\n/***/ \"./src/data-sources/packages.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function () {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var project = context.project;\n var _options$pattern = options.pattern;\n var pattern = _options$pattern === undefined ? ':packageFolder/:name/package.json' : _options$pattern;\n\n\n var packageDocs = project.routeDocuments(pattern);\n\n return packageDocs.map(function (result) {\n if (options.load) {\n result.doc = result.doc.ready;\n }\n\n return result;\n });\n};\n\n/***/ },\n\n/***/ \"./src/helper.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.attach = exports.Helper = exports.requireContext = undefined;\n\nvar _extends2 = __webpack_require__(2);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _class, _temp;\n\nvar _lodash = __webpack_require__(8);\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _skypagerRegistry = __webpack_require__(3);\n\nvar _skypagerUtil = __webpack_require__(7);\n\nvar _emitter = __webpack_require__(\"./src/utils/emitter.js\");\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar camelize = _skypagerUtil.strings.camelize;\nvar underscore = _skypagerUtil.strings.underscore;\nvar singularize = _skypagerUtil.strings.singularize;\nvar pluralize = _skypagerUtil.strings.pluralize;\n\n\nPromise.resolve().catch(function(err) { __webpack_require__.oe(err); }).then((function () {\n Helper.modules = new _skypagerRegistry.Context('helpers', { context: __webpack_require__(9) });\n}).bind(null, __webpack_require__));\n\nvar requireContext = exports.requireContext = __webpack_require__(9);\n\nvar Helper = exports.Helper = (_temp = _class = function () {\n (0, _createClass3.default)(Helper, null, [{\n key: 'cacheable',\n value: function cacheable() {\n var setting = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n return this.isCacheable = !!setting;\n }\n }, {\n key: 'attach',\n value: function attach(host) {\n var helperClass = arguments.length <= 1 || arguments[1] === undefined ? Helper : arguments[1];\n var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n return _attach(host, helperClass, options);\n }\n }]);\n\n function Helper() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n (0, _classCallCheck3.default)(this, Helper);\n this.isInitialized = false;\n this.isConfigured = false;\n\n (0, _skypagerUtil.mixinPropertyUtils)(this);\n (0, _emitter2.default)(this);\n\n this.hide('context', context);\n this.hide('project', context.project);\n this.hideGetter('options', function () {\n return _lodash2.default.omit(options, 'provider');\n });\n this.getter('provider', function () {\n return options.provider;\n });\n\n this.name = options.provider.name || options.id;\n this.id = [this.get('project.id', this.constructor.name), this.name, Math.floor(new Date() / 100)].join(':');\n\n if (options.initialize !== false) {\n this.doInitialize();\n }\n }\n\n (0, _createClass3.default)(Helper, [{\n key: 'doInitialize',\n value: function doInitialize() {\n this.isInitialized = !!this.result('initialize', function () {\n return true;\n });\n\n if (this.configure && this.options.configure) {\n this.configure(this.options.configure);\n }\n }\n }, {\n key: 'initialized',\n get: function get() {\n this.doInitialize();\n return this;\n }\n }, {\n key: 'chain',\n get: function get() {\n return _lodash2.default.chain(this);\n }\n }]);\n return Helper;\n}(), _class.isCacheable = true, _class.requireContext = requireContext, _class.createRegistry = function () {\n return Helper.modules || new _skypagerRegistry.Context('helpers', { context: __webpack_require__(9) });\n}, _temp);\nexports.default = Helper;\nvar _attach = function _attach(host, helperClass) {\n var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n var _options$registryProp = options.registryProp;\n var registryProp = _options$registryProp === undefined ? camelize(pluralize(underscore(helperClass.name))).toLowerCase() : _options$registryProp;\n var _options$lookupProp = options.lookupProp;\n var lookupProp = _options$lookupProp === undefined ? singularize(camelize(underscore(helperClass.name))).toLowerCase() : _options$lookupProp;\n\n\n if (host[registryProp]) {\n return host;\n }\n\n (0, _skypagerUtil.lazy)(host, registryProp, function () {\n return options.registry || helperClass.createRegistry();\n });\n\n (0, _skypagerUtil.hideProperty)(host, lookupProp, function (name) {\n var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var ctx = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n var reg = host[registryProp];\n\n var _opts$cacheHelper = opts.cacheHelper;\n var cacheHelper = _opts$cacheHelper === undefined ? !!(helperClass.isCacheable || opts.cacheHelper) : _opts$cacheHelper;\n\n\n if (!cacheHelper) {\n return new helperClass((0, _extends3.default)({}, opts, {\n provider: reg.lookup(name),\n id: name\n }), (0, _extends3.default)({}, host.createSandbox(), {\n host: host,\n reg: reg\n }));\n } else {\n return host.cache.fetch(host.instanceId + ':' + lookupProp + ':' + name, function () {\n return new helperClass((0, _extends3.default)({}, opts, { provider: reg.lookup(name), id: name }), (0, _extends3.default)({}, host.createSandbox(ctx), {\n host: host,\n reg: reg\n }));\n });\n }\n });\n\n return host;\n};\nexports.attach = _attach;\n\n/***/ },\n\n/***/ \"./src/helpers/data-source.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DataSource = undefined;\n\nvar _extends2 = __webpack_require__(2);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _promise = __webpack_require__(12);\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nvar _getPrototypeOf = __webpack_require__(4);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(6);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(5);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _class, _temp;\n\nvar _skypagerRegistry = __webpack_require__(3);\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar DataSource = exports.DataSource = (_temp = _class = function (_Helper) {\n (0, _inherits3.default)(DataSource, _Helper);\n\n function DataSource() {\n (0, _classCallCheck3.default)(this, DataSource);\n return (0, _possibleConstructorReturn3.default)(this, (DataSource.__proto__ || (0, _getPrototypeOf2.default)(DataSource)).apply(this, arguments));\n }\n\n (0, _createClass3.default)(DataSource, [{\n key: 'load',\n value: function load() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n return _promise2.default.resolve(this.source(options));\n }\n }, {\n key: 'source',\n get: function get() {\n var _this2 = this;\n\n var source = this.provider.default ? this.provider.default : this.provider;\n\n return typeof source === 'function' ? function () {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n return source((0, _extends3.default)({}, _this2.options, options), _this2.context);\n } : function () {\n return source;\n };\n }\n }], [{\n key: 'cacheable',\n value: function cacheable() {\n var setting = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n return this.isCacheable = !!setting;\n }\n }, {\n key: 'attach',\n value: function attach(project) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n return (0, _helper.attach)(project, DataSource, (0, _extends3.default)({\n registryProp: 'dataSources',\n lookupProp: 'dataSource',\n registry: options.registry || DataSource.createRegistry()\n }, options));\n }\n }]);\n return DataSource;\n}(_helper2.default), _class.isCacheable = true, _class.createRegistry = function () {\n return new _skypagerRegistry.Context('dataSources', {\n context: __webpack_require__(17)\n });\n}, _temp);\nexports.default = DataSource;\n\n/***/ },\n\n/***/ \"./src/helpers/file-system.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.methods = exports.attach = exports.use = exports.registry = undefined;\n\nvar _regenerator = __webpack_require__(24);\n\nvar _regenerator2 = _interopRequireDefault(_regenerator);\n\nvar _extends2 = __webpack_require__(2);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _asyncToGenerator2 = __webpack_require__(22);\n\nvar _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);\n\nvar use = exports.use = function () {\n var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var next = arguments[2];\n var project, mod, provider;\n return _regenerator2.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n project = options.project || context.project || this;\n\n\n try {\n mod = registry.lookup(options.name);\n provider = mod.default ? mod.default : mod;\n\n attach((0, _extends3.default)({ host: project }, options, { provider: provider }), context);\n next();\n } catch (error) {\n next(error);\n }\n\n case 2:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n return function use() {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _skypagerRegistry = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar registry = exports.registry = void 0;\n\n__webpack_require__.e/* nsure */(0).catch(function(err) { __webpack_require__.oe(err); }).then((function () {\n return exports.registry = registry = new _skypagerRegistry.Context('file-systems', {\n context: __webpack_require__(43)\n });\n}).bind(null, __webpack_require__));\n\nexports.default = use;\nvar attach = exports.attach = function attach() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var provider = options.provider;\n\n provider(options, context);\n};\n\nvar methods = exports.methods = ['copy', 'readFile', 'writeFile', 'outputFile', 'exists', 'mkdirp', 'readJson', 'writeJson', 'readdir', 'walk'];\n\n/***/ },\n\n/***/ \"./src/helpers/generator.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Generator = undefined;\n\nvar _getPrototypeOf = __webpack_require__(4);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(6);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(5);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _class, _temp;\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Generator = exports.Generator = (_temp = _class = function (_Helper) {\n (0, _inherits3.default)(Generator, _Helper);\n\n function Generator() {\n (0, _classCallCheck3.default)(this, Generator);\n return (0, _possibleConstructorReturn3.default)(this, (Generator.__proto__ || (0, _getPrototypeOf2.default)(Generator)).apply(this, arguments));\n }\n\n (0, _createClass3.default)(Generator, [{\n key: 'run',\n value: function run() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n }\n }, {\n key: 'configure',\n value: function configure(fn) {}\n }], [{\n key: 'cacheable',\n value: function cacheable() {\n var setting = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n return this.isCacheable = !!setting;\n }\n }]);\n return Generator;\n}(_helper2.default), _class.requireContext = __webpack_require__(18), _class.isCacheable = true, _temp);\nexports.default = Generator;\n\n/***/ },\n\n/***/ \"./src/helpers/initializer.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Initializer = undefined;\n\nvar _getPrototypeOf = __webpack_require__(4);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(6);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(5);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _class, _temp;\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Initializer = exports.Initializer = (_temp = _class = function (_Helper) {\n (0, _inherits3.default)(Initializer, _Helper);\n\n function Initializer() {\n (0, _classCallCheck3.default)(this, Initializer);\n return (0, _possibleConstructorReturn3.default)(this, (Initializer.__proto__ || (0, _getPrototypeOf2.default)(Initializer)).apply(this, arguments));\n }\n\n (0, _createClass3.default)(Initializer, [{\n key: 'run',\n value: function run() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n }\n }, {\n key: 'configure',\n value: function configure(fn) {}\n }], [{\n key: 'cacheable',\n value: function cacheable() {\n var setting = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n return this.isCacheable = !!setting;\n }\n }]);\n return Initializer;\n}(_helper2.default), _class.requireContext = __webpack_require__(20), _class.isCacheable = true, _temp);\nexports.default = Initializer;\n\n/***/ },\n\n/***/ \"./src/helpers/project-type.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ProjectType = undefined;\n\nvar _extends2 = __webpack_require__(2);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _getPrototypeOf = __webpack_require__(4);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(6);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(5);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _class, _temp;\n\nvar _skypagerRegistry = __webpack_require__(3);\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ProjectType = exports.ProjectType = (_temp = _class = function (_Helper) {\n (0, _inherits3.default)(ProjectType, _Helper);\n\n function ProjectType() {\n (0, _classCallCheck3.default)(this, ProjectType);\n return (0, _possibleConstructorReturn3.default)(this, (ProjectType.__proto__ || (0, _getPrototypeOf2.default)(ProjectType)).apply(this, arguments));\n }\n\n (0, _createClass3.default)(ProjectType, null, [{\n key: 'cacheable',\n value: function cacheable() {\n var setting = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n return this.isCacheable = !!setting;\n }\n }, {\n key: 'attach',\n value: function attach(project) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n return _helper2.default.attach(project, ProjectType, (0, _extends3.default)({\n registryProp: 'projectTypes',\n lookupProp: 'projectType',\n registry: options.registry || ProjectType.createRegistry()\n }, options));\n }\n }]);\n return ProjectType;\n}(_helper2.default), _class.isCacheable = true, _class.createRegistry = function () {\n return new _skypagerRegistry.Context('projectTypes', {\n context: __webpack_require__(21)\n });\n}, _temp);\nexports.default = ProjectType;\n\n/***/ },\n\n/***/ \"./src/initializers/portfolio.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n\"use strict\";\n\n/***/ },\n\n/***/ \"./src/initializers/project.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n\"use strict\";\n\n/***/ },\n\n/***/ \"./src/logger.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_winston__ = __webpack_require__(42);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_winston___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_winston__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_partial__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_partial___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_lodash_partial__);\n/* harmony export (immutable) */ exports[\"use\"] = use;\n/* harmony export (immutable) */ exports[\"attach\"] = attach;\n\n\n\nfunction use(options = {}, next) {\n if(this.logger) {\n next()\n } else {\n attach(this)\n next()\n }\n}\n\nfunction attach(project, options = {}) {\n if (project.logger) { return project.logger }\n\n const debug = !!(options.debug || project.get('environment.SKYPAGER_DEBUG') || project.get('argv.debug'))\n\n let _transports = [\n new __WEBPACK_IMPORTED_MODULE_0_winston__[\"transports\"].File({\n name: `project`,\n filename: project.join('log', `project.${ project.env }.log`),\n timestamp: true,\n json: false,\n prettyPrint: false,\n maxSize: 1024\n })\n ]\n\n if (project.result('console', () => !!options.console)) {\n _transports.push(\n new __WEBPACK_IMPORTED_MODULE_0_winston__[\"transports\"].Console({\n name: 'console',\n colorize: true,\n prettyPrint: true,\n level: debug ? 'debug' : 'info'\n })\n )\n }\n\n project.hide(\n 'logger',\n new __WEBPACK_IMPORTED_MODULE_0_winston__[\"Logger\"]({ level: 'debug', transports: _transports }),\n false\n )\n\n project.hide(\n 'streamer',\n new __WEBPACK_IMPORTED_MODULE_0_winston__[\"Logger\"]({ level: 'debug', transports: [\n new __WEBPACK_IMPORTED_MODULE_0_winston__[\"transports\"].File({\n name: `json`,\n filename: project.join('log', `${project.env}-${project.name}.json.log`),\n timestamp: true,\n json: true,\n prettyPrint: false\n }),\n new __WEBPACK_IMPORTED_MODULE_0_winston__[\"transports\"].File({\n name: `pretty-json-stream`,\n filename: project.join('log', `${project.env}-${project.name}.pretty.json.log`),\n timestamp: true,\n json: true,\n prettyPrint: true,\n colorize: true,\n })\n ]})\n )\n\n project.hide('info', (...args) => {\n project.logger.info(...args)\n\n if (project.getOption('streamLogs')) {\n project.streamer.info(...args)\n }\n })\n\n project.hide('error', (...args) => {\n project.logger.error(...args)\n\n if (project.getOption('streamLogs')) {\n project.streamer.error(...args)\n }\n })\n\n project.hide('debug', (...args) => {\n project.logger.debug(...args)\n\n if (project.getOption('streamLogs')) {\n project.streamer.debug(...args)\n }\n })\n\n project.hide('log', (...args) => {\n project.logger.info(...args)\n\n if (project.getOption('streamLogs')) {\n project.streamer.info(...args)\n }\n })\n\n project.hide('warn', (...args) => {\n project.logger.warn(...args)\n\n if (project.getOption('streamLogs')) {\n project.streamer.warn(...args)\n }\n })\n\n return project\n}\n\n/* harmony default export */ exports[\"default\"] = attach;\n\nconst { assign, defineProperty } = Object\n\n\n/***/ },\n\n/***/ \"./src/middleware.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.middleware = middleware;\n\nvar _mware = __webpack_require__(40);\n\nvar _mware2 = _interopRequireDefault(_mware);\n\nvar _partialRight = __webpack_require__(36);\n\nvar _partialRight2 = _interopRequireDefault(_partialRight);\n\nvar _result = __webpack_require__(37);\n\nvar _result2 = _interopRequireDefault(_result);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction middleware(project) {\n var name = arguments.length <= 1 || arguments[1] === undefined ? 'project' : arguments[1];\n\n var m = (0, _mware2.default)(project);\n return m;\n}\n\nexports.default = middleware;\n\n/***/ },\n\n/***/ \"./src/middlewares/registries.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(2);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nexports.use = use;\nexports.attach = attach;\nexports.createRegistry = createRegistry;\n\nvar _skypagerRegistry = __webpack_require__(3);\n\nvar _mapValues = __webpack_require__(16);\n\nvar _mapValues2 = _interopRequireDefault(_mapValues);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction use() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var next = arguments[1];\n\n attach(this, options);\n next && next();\n}\n\nfunction attach(project) {\n var defaults = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n project.registries = (0, _skypagerRegistry.create)({\n name: 'registries',\n type: 'Directory',\n silenceFailures: true\n });\n\n project.createRegistry = createRegistry.bind(project);\n\n (0, _mapValues2.default)(defaults, function () {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var name = arguments[1];\n\n project.createRegistry(name, options);\n });\n\n return project;\n}\n\nfunction createRegistry(name) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var project = this;\n\n if (project.registries.available.indexOf(name) >= 0) {\n return project.registries.lookup(name);\n }\n\n project.registries.register(name, function () {\n return (0, _skypagerRegistry.create)((0, _extends3.default)({\n name: name,\n type: 'Simple'\n }, options));\n });\n\n if (options.prop !== false && typeof project[name] === 'undefined') {\n project.hideGetter(name, function () {\n return project.registries.lookup(name);\n });\n }\n}\n\n/***/ },\n\n/***/ \"./src/project-types/application.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.use = use;\nexports.attach = attach;\nfunction use() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var next = arguments[2];\n var _context$project = context.project;\n var project = _context$project === undefined ? this : _context$project;\n\n attach(project, options, next);\n}\n\nfunction attach(project) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var next = arguments[2];\n\n next();\n}\n\n/***/ },\n\n/***/ \"./src/project-types/library.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ exports[\"use\"] = use;\n/* harmony export (immutable) */ exports[\"attach\"] = attach;\nfunction use (options = {}, context = {}, next) {\n const { project = this } = context\n attach(project, options, next)\n}\n\nfunction attach (project, options = {}, next) {\n next()\n}\n\n\n/***/ },\n\n/***/ \"./src/project-types/portfolio.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.use = use;\nexports.attach = attach;\nfunction use() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var context = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var next = arguments[2];\n var _context$project = context.project;\n var project = _context$project === undefined ? this : _context$project;\n\n attach(project, options, next);\n}\n\nfunction attach(project) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var next = arguments[2];\n\n next();\n}\n\n/***/ },\n\n/***/ \"./src/project.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Project = exports.querySources = exports.chainSources = exports.DefaultOptions = undefined;\n\nvar _assign = __webpack_require__(30);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _values = __webpack_require__(31);\n\nvar _values2 = _interopRequireDefault(_values);\n\nvar _keys = __webpack_require__(11);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nvar _defineProperty2 = __webpack_require__(14);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _typeof2 = __webpack_require__(23);\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nvar _toConsumableArray2 = __webpack_require__(10);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _promise = __webpack_require__(12);\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nvar _extends5 = __webpack_require__(2);\n\nvar _extends6 = _interopRequireDefault(_extends5);\n\nvar _classCallCheck2 = __webpack_require__(0);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(1);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _class, _temp;\n\nexports.load = load;\nexports.attachEmitter = attachEmitter;\nexports.attachRegistry = attachRegistry;\n\n__webpack_require__(32);\n\nvar _path = __webpack_require__(15);\n\nvar _fbemitter = __webpack_require__(13);\n\nvar _lodash = __webpack_require__(8);\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _findUp2 = __webpack_require__(33);\n\nvar _findUp3 = _interopRequireDefault(_findUp2);\n\nvar _isomorphicVm = __webpack_require__(34);\n\nvar _isomorphicVm2 = _interopRequireDefault(_isomorphicVm);\n\nvar _skypagerUtil = __webpack_require__(7);\n\nvar _skypagerDocuments = __webpack_require__(41);\n\nvar _skypagerDocuments2 = _interopRequireDefault(_skypagerDocuments);\n\nvar _index = __webpack_require__(\"./src/config/index.js\");\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _middleware = __webpack_require__(\"./src/middleware.js\");\n\nvar _middleware2 = _interopRequireDefault(_middleware);\n\nvar _tree = __webpack_require__(\"./src/tree.js\");\n\nvar _tree2 = _interopRequireDefault(_tree);\n\nvar _cache = __webpack_require__(\"./src/cache.js\");\n\nvar _cache2 = _interopRequireDefault(_cache);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar sortBy = _lodash2.default.sortBy;\nvar omit = _lodash2.default.omit;\nvar isError = _lodash2.default.isError;\nvar attempt = _lodash2.default.attempt;\nvar isFunction = _lodash2.default.isFunction;\nvar defaults = _lodash2.default.defaults;\nvar result = _lodash2.default.result;\nvar mapValues = _lodash2.default.mapValues;\nvar isArray = _lodash2.default.isArray;\nvar get = _lodash2.default.get;\nvar chain = _lodash2.default.chain;\nvar singularize = _skypagerUtil.strings.singularize;\nvar keys = _keys2.default;\nvar values = _values2.default;\nvar assign = _assign2.default;\nvar DefaultOptions = exports.DefaultOptions = {\n cwd: process.cwd(),\n target: 'node',\n paths: {\n source: 'src',\n output: 'dist',\n bundles: 'dist/bundles',\n ast: 'dist/ast',\n docs: 'docs',\n data: 'data',\n logs: 'log',\n temp: 'tmp',\n main: 'skypager.js',\n manifest: 'package.json'\n }\n};\n\nvar chainSources = exports.chainSources = ['scopes.available', 'constructor.chainProps', 'options.chainProps'];\n\nvar querySources = exports.querySources = ['scopes.available', 'constructor.queryProps', 'options.queryProps'];\n\nvar Project = exports.Project = (_temp = _class = function () {\n /**\n * Create a Skypager Project wrapper around a package folder.\n *\n * @param cwd {String} an absolute path for the Project. Should be the folder which has the package.json in it.\n * @param options {Object} the options Object\n * @param options.filesystem {Boolean} use the portfolios file system adapters\n * @type {Object}\n */\n function Project() {\n var cwd = arguments.length <= 0 || arguments[0] === undefined ? process.cwd() : arguments[0];\n\n var _this = this;\n\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var context = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n (0, _classCallCheck3.default)(this, Project);\n\n (0, _skypagerUtil.mixinPropertyUtils)(this);\n attachEmitter(this);\n var project = this;\n\n this.cwd = cwd;\n\n this.instanceId = result(options, 'id', function () {\n return _this.namespace + '-' + Math.floor(Date.now() / 1000);\n });\n\n this.hide('current', {\n collection: 'project',\n middleware: 'project',\n configuration: 'project'\n });\n\n this.hideGetter('framework', function () {\n return context.framework || context.portfolio;\n });\n this.getter('portfolio', function () {\n return context.portfolio;\n });\n\n this.hide('manifest', options.manifest || this.readJsonSync(this.join(get(options, 'paths.manifest', 'package.json'))));\n\n var computedOptions = defaults(options, this.get('manifest.skypager'), DefaultOptions);\n\n this.hide('options', omit(computedOptions, 'manifest', 'portfolio', 'fs', 'fsx'));\n\n this.hide('middleware', (0, _middleware2.default)(this));\n\n __webpack_require__(\"./src/logger.js\").attach(this, this.getOption('logging', {\n console: true\n }));\n\n this.hide('configuration', options.configuration || {});\n\n this.hide('cache', new _cache2.default());\n\n __webpack_require__(\"./src/middlewares/registries.js\").attach(this, {\n collections: {\n type: 'Directory',\n wrapper: function wrapper(cfg, id) {\n return project.cache.fetch('collections:' + id + ':' + project.instanceId + ':' + cfg.cwd, function () {\n return project.mountCollection(cfg.cwd, cfg);\n });\n }\n },\n middlewares: {\n type: 'Directory'\n },\n configurations: {\n type: 'Directory',\n wrapper: function wrapper(cfg, id) {\n return project.cache.fetch('configurations:' + id + ':' + project.instanceId + ':' + cfg.cwd, function () {\n return cfg;\n });\n }\n },\n helpers: {\n type: 'Context',\n context: __webpack_require__(19),\n fallback: function fallback(requestId) {\n return project.portfolio.helpers.lookup(requestId);\n }\n }\n });\n\n this.register.collection('project', {\n cwd: this.cwd,\n sync: !!options.sync\n });\n\n this.register.collection('source', {\n cwd: this.paths.source,\n sync: !!options.sync,\n exclude: ['**/*.spec.*']\n });\n\n this.register.collection('asts', {\n cwd: this.paths.ast,\n sync: false,\n exclude: ['**/*.spec.*']\n });\n\n this.register.collection('logs', {\n cwd: this.paths.logs,\n sync: false\n });\n\n this.register.collection('bundles', {\n cwd: this.paths.bundles,\n sync: false,\n type: 'script'\n });\n\n this.register.collection('output', {\n cwd: this.paths.output,\n sync: false,\n exclude: ['**/ast/**']\n });\n\n if (options.sync) {\n var cachedCollection = this.collection.cached;\n this.emit('collectionDidLoad', cachedCollection);\n }\n\n this.lazy('files', function () {\n return _this.collection.files.map(function (f) {\n return _this.loadFile(f);\n });\n });\n this.lazy('documents', function () {\n return _this.collection.withDocuments.documents.map(function (d) {\n return _this.loadDocument(d);\n });\n });\n this.lazy('exportableDocumentsTree', function () {\n return _this.createExportableDocumentsTree();\n });\n\n this.get('constructor.collectionDelegators', Project.collectionDelegators).forEach(function (meth) {\n return _this.hideGetter(meth, function () {\n return project.result('collection.' + meth);\n });\n });\n }\n\n (0, _createClass3.default)(Project, [{\n key: 'document',\n value: function document(documentId) {\n var doc = this.get(['documentsMappedById', documentId]);\n return doc ? doc.ready : doc;\n }\n }, {\n key: 'createExportableDocumentsTree',\n value: function createExportableDocumentsTree() {\n return mapValues(this.loadedDocumentsTree, function (v) {\n return v.createExportable ? v.exportables : v;\n });\n }\n }, {\n key: 'configure',\n value: function configure() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var _options$scope = options.scope;\n var scope = _options$scope === undefined ? this.current.configuration || 'project' : _options$scope;\n\n\n var current = this.configuration[scope];\n\n if (current) {\n return config((0, _extends6.default)({}, options, {\n history: current.history\n }));\n }\n\n return this.configuration[scope] = config((0, _extends6.default)({}, options, {\n history: [{ scope: scope }]\n }));\n }\n }, {\n key: 'route',\n value: function route(pattern, chain) {\n return this.routeDocuments(pattern, chain);\n }\n }, {\n key: 'routeDocuments',\n value: function routeDocuments(pattern, chain) {\n var project = this;\n var collection = this.collection;\n\n var results = collection.routers.documents(pattern).map(function (result) {\n var id = result.path[0];\n var doc = result.path[1];\n var file = doc.file;\n var idParts = id.split('/');\n\n return {\n id: id,\n doc: doc,\n idParts: idParts,\n baseFolder: idParts[0],\n categoryFolder: idParts[1] || idParts[0],\n meta: get(result, 'result', {}),\n file: (0, _extends6.default)({\n path: file.path\n }, project.wrapFile(file))\n };\n });\n\n return chain ? _lodash2.default.chain(results) : results;\n }\n }, {\n key: 'routeFiles',\n value: function routeFiles(pattern, chain) {\n var project = this;\n var collection = this.collection;\n\n var results = collection.routers.files(pattern).map(function (result) {\n var file = result.path[1];\n var id = file.relative;\n var idParts = id.split('/');\n\n return (0, _extends6.default)({\n id: id,\n file: file,\n idParts: idParts,\n baseFolder: idParts[0],\n categoryFolder: idParts[1] || idParts[0],\n meta: get(result, 'result', {})\n }, project.wrapFile(file));\n });\n\n return chain ? _lodash2.default.chain(results) : results;\n }\n }, {\n key: 'resolvePromiseHash',\n value: function resolvePromiseHash() {\n var object = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n return (0, _skypagerUtil.promiseHash)(object);\n }\n }, {\n key: 'createSandbox',\n value: function createSandbox() {\n var locals = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n return (0, _extends6.default)({\n project: this,\n Skypager: this.portfolio,\n lodash: _lodash2.default,\n fs: this.fsx\n }, locals, {\n console: console\n });\n }\n }, {\n key: 'loadFile',\n value: function loadFile(file) {\n return file;\n }\n }, {\n key: 'loadDocument',\n value: function loadDocument(doc) {\n return doc.decorated;\n }\n }, {\n key: 'wrapFile',\n value: function wrapFile(file) {\n var project = this;\n var path = file.path;\n\n\n return {\n contents: function contents() {\n return project.readFileSync(path).toString();\n },\n createScript: function createScript() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n // find a way to do this\n var code = options.compile ? file.contents.toString() : file.contents.toString();\n\n return new proj.vm.Script(code, (0, _extends6.default)({\n filename: path\n }, options));\n },\n getFile: function getFile() {\n return file;\n },\n json: function json() {\n return project.readJsonSync(path);\n },\n read: function read() {\n return project.readFileAsync(path).then(function (file) {\n return file.toString();\n });\n },\n readJson: function readJson() {\n return project.readJsonAsync(path);\n }\n };\n }\n /**\n * Get information about this project's parent. It will look up the path for the closest package.json\n * @return {Object} An object which provides access to the package.json path, folder path, and contents\n */\n\n }, {\n key: 'join',\n\n\n /**\n PATH HELPERS\n Helpers to make working with project paths easier\n */\n value: function join() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _path.join.apply(undefined, [this.cwd].concat(args));\n }\n }, {\n key: 'relative',\n value: function relative() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _path.relative.apply(undefined, [this.cwd].concat(args));\n }\n }, {\n key: 'resolve',\n value: function resolve() {\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _path.resolve.apply(undefined, [this.cwd].concat(args));\n }\n\n /**\n * Access one of the project options, providing a default value should one\n * not already be set.\n * @param {String} value an object path including something like whatever.nested.value\n * @param {Any} defaultValue an optional default value should the requested value not be defined\n */\n\n }, {\n key: 'getOption',\n value: function getOption(key, defaultValue) {\n return this.get('options.' + key, this.getConfig(key, defaultValue));\n }\n }, {\n key: 'getConfig',\n value: function getConfig(key, defaultValue) {\n return this.get('configuration.' + this.current.config + '.' + key, defaultValue);\n }\n /**\n * Access one of the project options, invoking a function if found. Providing a default value should one\n * not already be set, including a function which will be lazily evaluated.\n * @param {String} value an object path including something like whatever.nested.value\n * @param {Any} defaultValue an optional default value, or function returning one,\n * should the requested value not be defined\n */\n\n }, {\n key: 'resultOption',\n value: function resultOption(value, defaultValue) {\n return this.result('options.' + value, defaultValue);\n }\n }, {\n key: 'attemptReadSync',\n value: function attemptReadSync(path) {\n var _this2 = this;\n\n var fallbackValue = arguments.length <= 1 || arguments[1] === undefined ? '' : arguments[1];\n\n var result = attempt(function () {\n return _this2.fs.readFileSync(_this2.join(path)).toString();\n });\n\n return isError(result) ? fallbackValue : result;\n }\n }, {\n key: 'use',\n value: function use(middleware) {\n if (isFunction(middleware)) {\n this.middleware(middleware);\n }\n\n return this;\n }\n }, {\n key: 'start',\n value: function start() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var callback = arguments[1];\n\n if (isFunction(callback)) {\n return this.middleware.run(options, this.sandbox, callback);\n } else {\n return this.startAsync(options, this.sandbox);\n }\n }\n }, {\n key: 'startAsync',\n value: function startAsync() {\n var _this3 = this;\n\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n return new _promise2.default(function (resolve, reject) {\n _this3.middleware.run(options, _this3.sandbox, function (err) {\n for (var _len4 = arguments.length, callbackArgs = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n callbackArgs[_key4 - 1] = arguments[_key4];\n }\n\n if (err) {\n reject(err);\n } else {\n resolve(callbackArgs);\n }\n });\n }).catch(function (error) {\n console.log('Error in start async method', _this3, error);\n });\n }\n }, {\n key: 'partialMixin',\n value: function partialMixin(InterfaceDefinition) {\n for (var _len5 = arguments.length, args = Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n args[_key5 - 1] = arguments[_key5];\n }\n\n var project = this;\n\n chain(InterfaceDefinition).pickBy(function (v) {\n return typeof v === 'function';\n }).mapValues(function (fn) {\n return fn.bind.apply(fn, [project].concat(args));\n }).mapValues(function (fn, methodName) {\n return project.hide(methodName, fn, true);\n });\n\n return this;\n }\n }, {\n key: 'mixin',\n value: function mixin() {\n var _this4 = this;\n\n var InterfaceDefinition = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n assign(this, mapValues(InterfaceDefinition, function (fn) {\n return fn.bind(_this4);\n }));\n return this;\n }\n }, {\n key: 'mountCollection',\n value: function mountCollection() {\n var cwd = arguments.length <= 0 || arguments[0] === undefined ? this.cwd : arguments[0];\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var project = this;\n\n options = (0, _extends6.default)({\n importerOptions: project.get('options.importer', project.get('options.importerOptions', {})),\n project: project,\n documentClass: _skypagerDocuments.Document\n }, options, {\n exclude: [].concat((0, _toConsumableArray3.default)(options.exclude || []), (0, _toConsumableArray3.default)(options.ignore || []), (0, _toConsumableArray3.default)(project.gitignores || []), (0, _toConsumableArray3.default)(project.skypagerIgnoreContents || []))\n });\n\n return (0, _skypagerDocuments.mount)(cwd, (0, _extends6.default)({}, options, {\n collection: this\n }));\n }\n }, {\n key: 'findUp',\n value: function findUp(fileName) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n return _findUp3.default.sync(fileName, (0, _extends6.default)({\n cwd: this.parentFolder\n }, options));\n }\n }, {\n key: 'select',\n value: function select() {\n for (var _len6 = arguments.length, paths = Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n paths[_key6] = arguments[_key6];\n }\n\n return this.selectChain(paths).value();\n }\n }, {\n key: 'selectChain',\n value: function selectChain() {\n for (var _len7 = arguments.length, paths = Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n paths[_key7] = arguments[_key7];\n }\n\n var set = function set(obj, path, val) {\n _lodash2.default.set(obj, path, val);\n return obj;\n };\n\n var index = 0;\n paths = sortBy(paths, function (p) {\n return p.length;\n });\n\n return this.at(paths).reduce(function (result, value) {\n var key = paths[index++];\n return set(result, key, value);\n }, {});\n }\n }, {\n key: 'selectByObject',\n value: function selectByObject(pathObject) {\n var keys = keys(pathObject);\n var paths = values(pathObject);\n\n return this.at.apply(this, (0, _toConsumableArray3.default)(paths)).reduce(function (memo, val, index) {\n return set(memo, keys[index], val);\n }, {}).value();\n }\n }, {\n key: 'setupScopes',\n value: function setupScopes() {\n var _this5 = this;\n\n var config = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n if (isArray(config)) {\n this.scope(config, new RegExp(config + '/.*.w+$'));\n } else {\n keys(config).forEach(function (scopeName) {\n var scopeDef = config[scopeName];\n\n if (typeof scopeDef === 'string') {\n _this5.scope(scopeName, new RegExp(scopeDef + '/.*.w+$'));\n }\n\n if ((typeof scopeDef === 'undefined' ? 'undefined' : (0, _typeof3.default)(scopeDef)) === 'object') {\n _this5.scope(scopeName, scopeDef.pattern, scopeDef);\n }\n });\n }\n }\n\n /**\n * Create a lodash chain by picking some properties from the project.\n * @param {Array[String]} properties List of properties you want to be a part of the chain\n * @return {Chain} The lodash chain whose initial value consists of the properties given\n */\n\n }, {\n key: 'pick',\n value: function pick(properties) {\n return this.chain.pick(properties);\n }\n\n /**\n * Create a lodash chain with the given object paths.\n */\n\n }, {\n key: 'at',\n value: function at() {\n var _chain;\n\n return (_chain = this.chain).at.apply(_chain, arguments);\n }\n }, {\n key: 'resolveRequest',\n value: function resolveRequest(request) {\n var _this6 = this;\n\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n if (!options.async) {\n return _promise2.default.resolve(this.resolveSync(request, options)).catch(function (error) {\n console.log('ERROR in Resolve Request', error);\n });\n } else {\n return new _promise2.default(function (resolve, reject) {\n resolve(_this6.resolveSync(request, options));\n }).catch(function (error) {\n console.log('ERROR in Resolve Request', error);\n });\n }\n }\n }, {\n key: 'resolveRequestSync',\n value: function resolveRequestSync(request) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n if ((typeof request === 'undefined' ? 'undefined' : (0, _typeof3.default)(request)) === 'object') {\n return request;\n } else if (typeof request === 'string') {\n return {\n request: request\n };\n }\n }\n }, {\n key: 'lookup',\n get: function get() {\n var p = this;\n\n return p.registries.available.reduce(function (memo, prop) {\n return (0, _extends6.default)({}, memo, (0, _defineProperty3.default)({}, singularize(prop), function () {\n var _p$registries$lookup;\n\n return (_p$registries$lookup = p.registries.lookup(prop)).lookup.apply(_p$registries$lookup, arguments);\n }));\n }, {});\n }\n }, {\n key: 'register',\n get: function get() {\n var p = this;\n\n return p.registries.available.reduce(function (memo, prop) {\n return (0, _extends6.default)({}, memo, (0, _defineProperty3.default)({}, singularize(prop), function () {\n var _p$registries$lookup2;\n\n return (_p$registries$lookup2 = p.registries.lookup(prop)).register.apply(_p$registries$lookup2, arguments);\n }));\n }, {});\n }\n }, {\n key: 'documentsTree',\n get: function get() {\n return (0, _tree2.default)(this, {\n ready: false\n });\n }\n }, {\n key: 'loadedDocumentsTree',\n get: function get() {\n return (0, _tree2.default)(this, {\n ready: true\n });\n }\n }, {\n key: 'context',\n get: function get() {\n return this.cwd;\n }\n }, {\n key: 'root',\n get: function get() {\n return this.cwd;\n }\n }, {\n key: 'parentFolder',\n get: function get() {\n return (0, _path.dirname)(this.cwd);\n }\n }, {\n key: 'id',\n get: function get() {\n return this.instanceId + '-' + this.get('manifest.version');\n }\n }, {\n key: 'name',\n get: function get() {\n return this.get('options.name') || this.get('manifest.name') || this.constructor.name.toLowerCase();\n }\n }, {\n key: 'paths',\n get: function get() {\n var project = this;\n\n return (0, _extends6.default)({\n cwd: this.cwd\n }, this.chain.get('options.paths', {}).defaults(DefaultOptions.paths).mapValues(function (p) {\n return project.resolve(p);\n }).value());\n }\n\n /**\n * A namespace can be set in the Project options, it will default\n * to the package.json scope if it exists (e.g @skypager/package) otherwise\n * the name of the Projects parent folder will be used.\n */\n\n }, {\n key: 'namespace',\n get: function get() {\n var name = this.name;\n\n return this.result('options.namespace', function () {\n return name.match(/^\\@\\w+\\//) ? name.split('/')[0].replace(/\\^\\@/, '') : name.split('-')[0];\n });\n }\n }, {\n key: 'packageMain',\n get: function get() {\n return this.get('manifest.main', 'index.js');\n }\n }, {\n key: 'skypagerMain',\n get: function get() {\n return this.get('manifest.skypager.main', 'skypager.js');\n }\n }, {\n key: 'isCli',\n get: function get() {\n return !!this.get('environment.SKYPAGER_CLI', false);\n }\n }, {\n key: 'isServer',\n get: function get() {\n return !!this.get('environment.SKYPAGER_SERVER', false);\n }\n }, {\n key: 'isElectron',\n get: function get() {\n return !!this.get('environment.SKYPAGER_ELECTRON', false);\n }\n }, {\n key: 'chain',\n get: function get() {\n return chain(this);\n }\n }, {\n key: 'collection',\n get: function get() {\n return this.collections.lookup(this.current.collection);\n }\n }, {\n key: 'availableHelpers',\n get: function get() {\n return this.chain.at('helpers.available', 'portfolio.helpers.available').flatten().uniq().sort().value();\n }\n }, {\n key: 'helpersMap',\n get: function get() {\n var _this7 = this;\n\n var helpersRoot = this.getOption('helpersRoot', 'src');\n var helpers = this.getOption('helpers', []);\n\n var normalized = helpers.map(function (entry) {\n return typeof entry === 'string' ? { name: entry, pattern: helpersRoot + '/' + entry + '/:name*' } : entry;\n });\n\n return normalized.reduce(function (memo, cfg) {\n return (0, _extends6.default)({}, memo, (0, _defineProperty3.default)({}, cfg.name, (0, _extends6.default)({}, cfg, { documents: _this7.routeDocuments(cfg.pattern) })));\n }, {});\n }\n }, {\n key: 'vm',\n get: function get() {\n return _isomorphicVm2.default;\n }\n }, {\n key: 'sandbox',\n get: function get() {\n return this.createSandbox();\n }\n }, {\n key: 'module',\n get: function get() {\n return __webpack_require__.c[require.resolve(this.paths.manifest)];\n }\n }, {\n key: 'parentModule',\n get: function get() {\n var proj = this;\n\n return {\n get path() {\n return proj.findUp('package.json', {\n cwd: proj.parentFolder\n });\n },\n\n get folder() {\n return (0, _path.dirname)(proj.parentModule.path);\n },\n\n get manifest() {\n return proj.framework.readJsonSync(proj.parentModule.path);\n },\n\n get projectLoader() {\n return function () {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n return proj.portfolio.load(proj.parentModule.folder, options);\n };\n },\n\n get project() {\n return proj.parentModule.projectLoader({\n sync: false\n });\n }\n };\n }\n }, {\n key: 'argv',\n get: function get() {\n return (0, _extends6.default)({}, __webpack_require__(39)(process.argv), this.getOption('argv', {}));\n }\n }, {\n key: 'env',\n get: function get() {\n var env = this.environment;\n return env.SKYPAGER_ENV ? env.SKYPAGER_ENV : env.NODE_ENV;\n }\n }, {\n key: 'environment',\n get: function get() {\n return (0, _extends6.default)({\n NODE_ENV: 'development'\n }, this.getOption('env', process.env));\n }\n }, {\n key: 'chains',\n get: function get() {\n var _chain2;\n\n var project = this;\n\n var chains = (_chain2 = this.chain).at.apply(_chain2, chainSources).flatten().compact().uniq().reduce(function (memo, prop) {\n (0, _skypagerUtil.lazy)(memo, prop, function () {\n return chain(project.get(prop));\n });\n return memo;\n }, {});\n\n return chains.value();\n }\n }, {\n key: 'queries',\n get: function get() {\n var _chain3;\n\n var project = this;\n\n var queries = (_chain3 = this.chain).at.apply(_chain3, querySources).flatten().compact().uniq().reduce(function (memo, prop) {\n memo[prop] = function () {\n for (var _len8 = arguments.length, args = Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n args[_key8] = arguments[_key8];\n }\n\n return _skypagerUtil.query.apply(undefined, [project.get(prop)].concat(args));\n };\n return memo;\n }, {});\n\n return queries.value();\n }\n }, {\n key: 'gitignores',\n get: function get() {\n return this.getOption('ignorePaths', ['tmp/', 'log/', 'dist/', '.DS_Store']).concat(this.gitignoreContents).map(function (p) {\n return '!' + p;\n });\n }\n }, {\n key: 'gitignoreContents',\n get: function get() {\n return this.attemptReadSync('.gitignore', '').split(\"\\n\").filter(function (p) {\n return p && p.length > 2 && !p.trim().startsWith('#');\n });\n }\n }, {\n key: 'skypagerIgnoreContents',\n get: function get() {\n return this.attemptReadSync('.skypagerignore', '').split(\"\\n\").filter(function (p) {\n return p && p.length > 2 && !p.trim().startsWith('#');\n });\n }\n }], [{\n key: 'load',\n value: function load() {\n var cwd = arguments.length <= 0 || arguments[0] === undefined ? process.cwd() : arguments[0];\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var context = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n return new this(cwd, options, context);\n }\n }, {\n key: 'loadSync',\n value: function loadSync() {\n var cwd = arguments.length <= 0 || arguments[0] === undefined ? process.cwd() : arguments[0];\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var context = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n return this.load(cwd, (0, _extends6.default)({}, options, {\n sync: true\n }), context);\n }\n }, {\n key: 'Collection',\n get: function get() {\n return _skypagerDocuments2.default;\n }\n }, {\n key: 'Document',\n get: function get() {\n return _skypagerDocuments.Document;\n }\n }]);\n return Project;\n}(), _class.collectionDelegators = ['childFolderNames', 'childFolderPaths', 'subFolderNames', 'subFolderPaths', 'rootFiles', 'groupedByChildFolder', 'groupedByChildFolderAndExtension', 'relativeFilePaths', 'relativeSubFolderPaths', 'getFileByRelativePath', 'filesIndex', 'relativeObjectPaths', 'subFolderObjectPaths', 'routers', 'documentsMap', 'documentsMappedById', 'documentEntryPoints', 'depths'], _class.chainProps = ['files', 'documents', 'childFolderPaths', 'childFolderNames', 'subFolderNames', 'subFolderPaths'], _class.queryProps = ['files', 'documents', 'childFolderPaths', 'childFolderNames', 'subFolderNames', 'subFolderPaths'], _temp);\nexports.default = Project;\nfunction load() {\n var cwd = arguments.length <= 0 || arguments[0] === undefined ? process.cwd() : arguments[0];\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var context = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n return new Project(cwd, options, context);\n}\n\nfunction attachEmitter(project) {\n project.hide('emitter', new _fbemitter.EventEmitter());\n project.hide('on', project.emitter.addListener.bind(project.emitter));\n project.hide('once', project.emitter.once.bind(project.emitter));\n project.hide('off', project.emitter.removeCurrentListener.bind(project.emitter));\n project.hide('emit', project.emitter.emit.bind(project.emitter));\n project.hide('trigger', project.emitter.emit.bind(project.emitter));\n}\n\nfunction attachRegistry(project, name) {\n var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n if (project.registries.available.indexOf(name) >= 0) {\n return project.registries.lookup(name);\n }\n\n project.registries.register(name, function () {\n return create((0, _extends6.default)({\n name: name,\n type: 'Directory'\n }, options));\n });\n\n if (options.prop !== false && typeof project[name] === 'undefined') {\n project.getter(name, function () {\n return project.registries.lookup(name);\n });\n }\n\n if (options.prop !== false && typeof project[singularize(name)] === 'undefined') {\n project.getter(singularize(name), function () {\n var _project$name;\n\n return (_project$name = project[name]).lookup.apply(_project$name, arguments);\n });\n }\n\n return project;\n}\n\n/***/ },\n\n/***/ \"./src/tree.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createDocumentTree = exports.treeConfig = undefined;\n\nvar _skypagerUtil = __webpack_require__(7);\n\nvar _set = __webpack_require__(38);\n\nvar _set2 = _interopRequireDefault(_set);\n\nvar _get = __webpack_require__(25);\n\nvar _get2 = _interopRequireDefault(_get);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar camelCase = _skypagerUtil.strings.camelCase;\nvar snakeCase = _skypagerUtil.strings.snakeCase;\nvar treeConfig = exports.treeConfig = function treeConfig(project) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n return project.chain.get('documentsMap').mapValues(function (doc, id) {\n return {\n doc: doc,\n id: id,\n idParts: doc.idParts.map(function (p) {\n return camelCase(snakeCase(p).replace(/-/g, '_'));\n }),\n bucket: doc.idParts.map(function (p) {\n return camelCase(snakeCase(p).replace(/-/g, '_'));\n }).slice(0, doc.idParts.length - 1)\n };\n });\n};\n\nvar createDocumentTree = exports.createDocumentTree = function createDocumentTree(project) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n return treeConfig(project, options).values().sortBy(function (cfg) {\n return cfg.idParts.length;\n }).reduce(function (memo, cfg) {\n var existingBucket = (0, _get2.default)(memo, cfg.bucket, {});\n (0, _set2.default)(memo, cfg.bucket, existingBucket);\n (0, _set2.default)(memo, cfg.idParts, options.ready ? cfg.doc.ready : cfg.doc);\n return memo;\n }, {}).value();\n};\n\nexports.default = createDocumentTree;\n\n/***/ },\n\n/***/ \"./src/utils/emitter.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.attachEmitter = attachEmitter;\n\nvar _fbemitter = __webpack_require__(13);\n\nfunction attachEmitter(project) {\n project.hide('emitter', new _fbemitter.EventEmitter());\n project.hide('on', project.emitter.addListener.bind(project.emitter));\n project.hide('once', project.emitter.once.bind(project.emitter));\n project.hide('off', project.emitter.removeCurrentListener.bind(project.emitter));\n project.hide('emit', project.emitter.emit.bind(project.emitter));\n project.hide('trigger', project.emitter.emit.bind(project.emitter));\n}\n\nexports.default = attachEmitter;\n\n/***/ },\n\n/***/ 0:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/classCallCheck\");\n\n/***/ },\n\n/***/ 1:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/createClass\");\n\n/***/ },\n\n/***/ 10:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/toConsumableArray\");\n\n/***/ },\n\n/***/ 11:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/object/keys\");\n\n/***/ },\n\n/***/ 12:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/promise\");\n\n/***/ },\n\n/***/ 13:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"fbemitter\");\n\n/***/ },\n\n/***/ 14:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/defineProperty\");\n\n/***/ },\n\n/***/ 15:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"path\");\n\n/***/ },\n\n/***/ 16:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/mapValues\");\n\n/***/ },\n\n/***/ 17:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./packages.js\": \"./src/data-sources/packages.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 17;\n\n\n/***/ },\n\n/***/ 18:\n/***/ function(module, exports) {\n\nfunction webpackEmptyContext(req) {\n\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 18;\n\n\n/***/ },\n\n/***/ 19:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./data-source.js\": \"./src/helpers/data-source.js\",\n\t\"./file-system.js\": \"./src/helpers/file-system.js\",\n\t\"./generator.js\": \"./src/helpers/generator.js\",\n\t\"./initializer.js\": \"./src/helpers/initializer.js\",\n\t\"./project-type.js\": \"./src/helpers/project-type.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 19;\n\n\n/***/ },\n\n/***/ 2:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/extends\");\n\n/***/ },\n\n/***/ 20:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./portfolio.js\": \"./src/initializers/portfolio.js\",\n\t\"./project.js\": \"./src/initializers/project.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 20;\n\n\n/***/ },\n\n/***/ 21:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./application.js\": \"./src/project-types/application.js\",\n\t\"./library.js\": \"./src/project-types/library.js\",\n\t\"./portfolio.js\": \"./src/project-types/portfolio.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 21;\n\n\n/***/ },\n\n/***/ 22:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/asyncToGenerator\");\n\n/***/ },\n\n/***/ 23:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/typeof\");\n\n/***/ },\n\n/***/ 24:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/regenerator\");\n\n/***/ },\n\n/***/ 25:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/get\");\n\n/***/ },\n\n/***/ 26:\n/***/ function(module, exports) {\n\nfunction webpackEmptyContext(req) {\n\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 26;\n\n\n/***/ },\n\n/***/ 27:\n/***/ function(module, exports) {\n\nfunction webpackEmptyContext(req) {\n\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 27;\n\n\n/***/ },\n\n/***/ 28:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/json/stringify\");\n\n/***/ },\n\n/***/ 29:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/map\");\n\n/***/ },\n\n/***/ 3:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"skypager-registry\");\n\n/***/ },\n\n/***/ 30:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/object/assign\");\n\n/***/ },\n\n/***/ 31:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/object/values\");\n\n/***/ },\n\n/***/ 32:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"clean-stack\");\n\n/***/ },\n\n/***/ 33:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"find-up\");\n\n/***/ },\n\n/***/ 34:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"isomorphic-vm\");\n\n/***/ },\n\n/***/ 35:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/partial\");\n\n/***/ },\n\n/***/ 36:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/partialRight\");\n\n/***/ },\n\n/***/ 37:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/result\");\n\n/***/ },\n\n/***/ 38:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/set\");\n\n/***/ },\n\n/***/ 39:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"minimist\");\n\n/***/ },\n\n/***/ 4:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/object/get-prototype-of\");\n\n/***/ },\n\n/***/ 40:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"mware\");\n\n/***/ },\n\n/***/ 41:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"skypager-documents\");\n\n/***/ },\n\n/***/ 42:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"winston\");\n\n/***/ },\n\n/***/ 44:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"fs-extra-promise\");\n\n/***/ },\n\n/***/ 45:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/pick\");\n\n/***/ },\n\n/***/ 5:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/inherits\");\n\n/***/ },\n\n/***/ 56:\n/***/ function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"./src/project.js\");\n\n\n/***/ },\n\n/***/ 6:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/possibleConstructorReturn\");\n\n/***/ },\n\n/***/ 7:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"skypager-util\");\n\n/***/ },\n\n/***/ 8:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash\");\n\n/***/ },\n\n/***/ 9:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./data-source.js\": \"./src/helpers/data-source.js\",\n\t\"./file-system.js\": \"./src/helpers/file-system.js\",\n\t\"./generator.js\": \"./src/helpers/generator.js\",\n\t\"./initializer.js\": \"./src/helpers/initializer.js\",\n\t\"./project-type.js\": \"./src/helpers/project-type.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 9;\n\n\n/***/ }\n\n/******/ });\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/skypager-project/lib/project.js\n// module id = ../../node_modules/skypager-project/lib/project.js\n// module chunks = 0","require(\"source-map-support\").install();\nmodule.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmory imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmory exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tObject.defineProperty(exports, name, {\n/******/ \t\t\tconfigurable: false,\n/******/ \t\t\tenumerable: true,\n/******/ \t\t\tget: getter\n/******/ \t\t});\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 21);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./src/cli.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.cli = exports.defaultTemplate = undefined;\n\nvar _toConsumableArray2 = __webpack_require__(9);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _prettyCli = __webpack_require__(19);\n\nvar _prettyCli2 = _interopRequireDefault(_prettyCli);\n\nvar _figlet = __webpack_require__(4);\n\nvar _figlet2 = _interopRequireDefault(_figlet);\n\nvar _nodeEmoji = __webpack_require__(18);\n\nvar _nodeEmoji2 = _interopRequireDefault(_nodeEmoji);\n\nvar _cliTable = __webpack_require__(11);\n\nvar _cliTable2 = _interopRequireDefault(_cliTable);\n\nvar _sample = __webpack_require__(17);\n\nvar _sample2 = _interopRequireDefault(_sample);\n\nvar _colors = __webpack_require__(3);\n\nvar _colors2 = _interopRequireDefault(_colors);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar defaultTemplate = exports.defaultTemplate = {\n info: function info(message) {\n return message;\n },\n warning: function warning(message) {\n return message;\n },\n error: function error(message) {\n return _nodeEmoji2.default.get('boom') + '\\n' + message;\n },\n success: function success(message) {\n return message;\n },\n note: function note(message) {\n return message;\n }\n};\n\nvar cli = exports.cli = (0, _prettyCli2.default)({\n template: defaultTemplate\n});\n\ncli.cmd = function () {\n return cli.addCustomMethod.apply(cli, arguments);\n};\n\nexports.default = cli;\n\n\ncli.addCustomMethod('print', function () {\n var messages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var indentationLevel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var beforePadding = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var afterPadding = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n\n if (typeof messages === 'string') {\n messages = messages.split('\\n');\n }\n\n if (beforePadding > 0) {\n console.log(Array(beforePadding).join(\"\\n\"));\n }\n\n messages.filter(function (message) {\n return typeof message === 'string' && message.length > 0;\n }).forEach(function (message) {\n console.log(indentationLevel > 0 ? '' + Array(indentationLevel).join(' ') + message : message);\n });\n\n if (afterPadding > 0) {\n console.log(Array(afterPadding).join(\"\\n\"));\n }\n});\n\nvar tables = {};\n\nObject.defineProperty(cli, 'tables', {\n enumerable: false,\n value: function value() {\n return tables;\n }\n});\n\nObject.defineProperty(cli, 'figlet', {\n enumerable: false,\n value: _figlet2.default\n});\n\nObject.defineProperty(cli, 'emoji', {\n enumerable: false,\n value: _nodeEmoji2.default\n});\n\nObject.defineProperty(cli, 'icon', {\n enumerable: false,\n value: function value() {\n return _nodeEmoji2.default.get.apply(_nodeEmoji2.default, arguments);\n }\n});\n\nObject.defineProperty(cli, 'spinner', {\n enumerable: false,\n value: __webpack_require__(10).Spinner\n});\n\nObject.defineProperty(cli, 'colors', {\n enumerable: false,\n value: _colors2.default\n});\n\nObject.defineProperty(cli, 'random', {\n enumerable: false,\n value: {\n get color() {\n return (0, _sample2.default)([_colors2.default.red, _colors2.default.cyan, _colors2.default.magenta, _colors2.default.green, _colors2.default.blue, _colors2.default.white, _colors2.default.grey, _colors2.default.yellow]);\n },\n get font() {\n return (0, _sample2.default)(__webpack_require__(4).fontsSync());\n }\n }\n});\n\ncli.addCustomMethod('randomBanner', function (value) {\n var indent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n var debug = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var font = cli.random.font;\n\n if (debug) {\n console.log('Using font', font);\n }\n\n var banner = _figlet2.default.textSync(value, {\n font: cli.random.font\n }).split(\"\\n\").map(function (line) {\n return cli.random.color(line);\n }).join(\"\\n\");\n\n cli.print(banner, indent, 1, 1);\n});\n\ncli.addCustomMethod('banner', function (value) {\n var indent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n var beforePadding = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var afterPadding = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n\n cli.print(_figlet2.default.textSync(value || 'Skypager', {\n font: 'Slant'\n }), indent, beforePadding, afterPadding);\n});\n\ncli.addCustomMethod('displayTable', function (tableName, data) {\n var indent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 2;\n var beforePadding = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n var afterPadding = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\n\n var table = tables[tableName];\n table.push.apply(table, (0, _toConsumableArray3.default)(data));\n cli.print(table.toString(), indent, beforePadding, afterPadding);\n});\n\ncli.addCustomMethod('defineTable', function (tableName) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return tables[tableName] = new _cliTable2.default(params);\n});\n\ncli.addCustomMethod('clear', function () {\n return process.stdout.write('\\x1bc');\n});\n\n/***/ },\n\n/***/ \"./src/extensions/history.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _fs = __webpack_require__(5);\n\nexports.default = function (repl, file) {\n\n try {\n var stat = (0, _fs.statSync)(file); // eslint-disable-line\n repl.rli.history = (0, _fs.readFileSync)(file, 'utf-8').split('\\n').reverse();\n repl.rli.history.shift();\n repl.rli.historyIndex = 0;\n } catch (e) {}\n\n var fd = (0, _fs.openSync)(file, 'a');\n\n repl.rli.addListener('line', function (code) {\n if (code && code !== '.history') {\n (0, _fs.write)(fd, code + '\\n');\n } else {\n repl.rli.historyIndex++;\n repl.rli.history.pop();\n }\n });\n\n process.on('exit', function () {\n (0, _fs.closeSync)(fd);\n });\n\n repl.commands['.history'] = {\n help: 'Show the history',\n action: function action() {\n var out = [];\n repl.rli.history.forEach(function (v) {\n out.push(v);\n });\n repl.outputStream.write(out.reverse().join('\\n') + '\\n');\n repl.displayPrompt();\n }\n };\n\n return repl;\n};\n\n/***/ },\n\n/***/ \"./src/extensions/promise.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (repl) {\n var realEval = repl.eval;\n\n var promiseEval = function promiseEval(cmd, context, filename, callback) {\n realEval.call(repl, cmd, context, filename, function (err, res) {\n // Error response\n if (err) {\n return callback(err);\n }\n\n if (!res || typeof res.then != 'function') {\n return callback(null, res);\n }\n\n var cancel = function cancel(chunk, key) {\n repl.outputStream.write('break.\\n');\n if (key.name === 'escape') {\n process.stdin.removeListener('keypress', cancel);\n callback(null, res);\n callback = function callback() {};\n }\n };\n\n process.stdin.on('keypress', cancel);\n\n // Start a timer indicating that escape can be used to quit\n var hangTimer = setTimeout(function () {\n repl.outputStream.write('Hit escape to stop waiting on promise\\n');\n }, 5000);\n\n res.then(function (val) {\n process.stdin.removeListener('keypress', cancel);\n clearTimeout(hangTimer);\n callback(null, val);\n }, function (err) {\n process.stdin.removeListener('keypress', cancel);\n clearTimeout(hangTimer);\n repl.outputStream.write('Promise rejected: ');\n callback(err);\n }).then(null, function (uncaught) {\n // Rethrow uncaught exceptions\n process.nextTick(function () {\n throw uncaught;\n });\n });\n });\n };\n\n repl.eval = promiseEval;\n\n repl.commands['promise'] = {\n help: 'Toggle auto-promise unwrapping',\n action: function action() {\n if (repl.eval === promiseEval) {\n this.outputStream.write('Promise auto-eval disabled\\n');\n repl.eval = realEval;\n } else {\n this.outputStream.write('Promise auto-eval enabled\\n');\n repl.eval = promiseEval;\n }\n this.displayPrompt();\n }\n };\n};\n\n/***/ },\n\n/***/ \"./src/extensions/reloading.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _keys = __webpack_require__(1);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nexports.default = function (repl, options) {\n repl.commands['reload'] = {\n help: 'Clears the require cache',\n // eslint-disable-next-line\n action: function action() {\n var reloadFilter = options.reloadFilter || function (key) {\n return key.startsWith((0, _path.dirname)(process.cwd()));\n };\n var cacheEntries = (0, _keys2.default)(__webpack_require__.c).filter(reloadFilter);\n\n if ((0, _isFunction2.default)(options.willReload)) {\n options.willReload(cacheEntries);\n }\n\n cacheEntries.forEach(function (moduleId) {\n return delete __webpack_require__.c[moduleId];\n });\n\n repl.commands.clear.action.call(repl);\n\n if (options.clearAfterReload !== false) {\n repl.commands.cls.action.call(repl);\n }\n\n if ((0, _isFunction2.default)(options.didReload)) {\n options.didReload((0, _keys2.default)(__webpack_require__.c).filter(reloadFilter), (0, _keys2.default)(__webpack_require__.c), cacheEntries);\n }\n\n this.displayPrompt();\n }\n };\n};\n\nvar _path = __webpack_require__(0);\n\nvar _isFunction = __webpack_require__(14);\n\nvar _isFunction2 = _interopRequireDefault(_isFunction);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/***/ },\n\n/***/ \"./src/index.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.create = exports.cli = undefined;\n\nvar _extends2 = __webpack_require__(2);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _cli = __webpack_require__(\"./src/cli.js\");\n\nvar _cli2 = _interopRequireDefault(_cli);\n\nvar _omit = __webpack_require__(16);\n\nvar _omit2 = _interopRequireDefault(_omit);\n\nvar _mapKeys = __webpack_require__(15);\n\nvar _mapKeys2 = _interopRequireDefault(_mapKeys);\n\nvar _camelCase = __webpack_require__(13);\n\nvar _camelCase2 = _interopRequireDefault(_camelCase);\n\nvar _path = __webpack_require__(0);\n\nvar _repl = __webpack_require__(\"./src/repl.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar argv = __webpack_require__(6)(process.argv);\n\nvar ARGV = (0, _extends3.default)({}, (0, _omit2.default)(argv, '_'), (0, _mapKeys2.default)(argv, function (v, k) {\n return (0, _camelCase2.default)(k);\n}));\n\nvar cli = exports.cli = _cli2.default;\n\nvar create = exports.create = function create() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var ready = arguments[2];\n\n var replServer = (0, _repl.create)((0, _extends3.default)({\n historyFile: ARGV.history || (0, _path.join)(process.env.HOME, '.skypager-repl')\n }, options), (0, _extends3.default)({\n ARGV: ARGV\n }, context), ready);\n\n return replServer;\n};\n\nexports.default = create;\n\n/***/ },\n\n/***/ \"./src/repl.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.banner = exports.prompt = exports.help = undefined;\n\nvar _defineProperty = __webpack_require__(8);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nvar _extends2 = __webpack_require__(2);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _keys = __webpack_require__(1);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nexports.create = create;\n\n__webpack_require__(3);\n\nvar _repl = __webpack_require__(20);\n\nvar _path = __webpack_require__(0);\n\nvar _lodash = __webpack_require__(12);\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _fs = __webpack_require__(5);\n\nvar _promise = __webpack_require__(\"./src/extensions/promise.js\");\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nvar _history = __webpack_require__(\"./src/extensions/history.js\");\n\nvar _history2 = _interopRequireDefault(_history);\n\nvar _reloading = __webpack_require__(\"./src/extensions/reloading.js\");\n\nvar _reloading2 = _interopRequireDefault(_reloading);\n\nvar _cli = __webpack_require__(\"./src/cli.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar argv = __webpack_require__(6)(process.argv.slice(2));\n\nvar keys = _keys2.default;\nvar defineProperty = _defineProperty2.default;\n\n/**\n * Creates the instance of the REPL server\n *\n * @param {Object} options - options for the REPL. Same as node's REPL with some additional options\n * @param {Object} context - context to start the repl with\n * @param {Function} ready - a function to run when the repl is ready\n *\n * The following hooks can be passed in as options\n *\n * before\n * beforeHook\n * after\n * afterHook\n * beforeInitialize\n * beforeInitializeHook\n * afterInitialize\n * afterInitializeHook\n * onReset\n *\n * Additionally, a `customize` property can be passed which references a script which is can be required\n * and if it exports any of the above as functions, those values will be used. In addition, the customize script\n * can export properties such as `prompt` which are used in place of the REPL options.\n */\n\nfunction create() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var ready = arguments[2];\n\n if (argv.es6 !== false) {\n __webpack_require__(7);\n }\n\n var customize = options.customize || (0, _fs.existsSync)((0, _path.join)(process.cwd(), '.skypager-repl.js')) && '.skypager-repl.js';\n\n if (typeof customize === 'string') {\n customize = require((0, _path.resolve)(process.cwd(), customize));\n }\n\n if ((0, _keys2.default)(customize).length === 1 && (0, _lodash.isFunction)(customize.default)) {\n customize = customize.default;\n }\n\n options = (0, _lodash.defaults)(options, (0, _extends3.default)({\n terminal: true,\n colors: true,\n ignoreUndefined: true,\n prompt: customize.prompt || prompt,\n banner: customize.banner || banner,\n help: customize.help || help,\n input: process.stdin,\n output: process.stdout,\n useGlobal: false,\n before: customize.before,\n after: customize.after || (0, _lodash.isFunction)(customize) && customize,\n afterInitialize: customize.afterInitialize,\n beforeInitialize: customize.beforeInitialize,\n onReset: customize.onReset\n }, options));\n\n if ((0, _lodash.isFunction)(options.prompt)) {\n options.prompt = options.prompt(_cli.cli);\n }\n\n if ((0, _lodash.isFunction)(options.beforeHook)) {\n options.beforeHook(_cli.cli, options, context);\n }\n\n if (options.before) {\n var before = options.before;\n\n if (typeof before === 'string') {\n before = require((0, _path.resolve)(process.cwd(), before));\n before = before.default ? before.default : before;\n }\n\n if ((0, _lodash.isFunction)(before)) {\n before(_cli.cli, options, context);\n }\n }\n\n var server = (0, _repl.start)(options);\n\n Object.defineProperty(server, 'cli', {\n enumerable: false,\n get: function get() {\n return _cli.cli;\n }\n });\n\n server.commands['cls'] = {\n help: 'Clears the screen',\n // eslint-disable-next-line\n action: function action() {\n process.stdout.write('\\x1bc');\n this.displayPrompt();\n }\n };\n\n if (!(0, _lodash.isFunction)(ready)) {\n ready = function ready() {};\n }\n\n if (options.historyFile) {\n var historyFilePath = (0, _path.resolve)(options.historyFile);\n server = (0, _history2.default)(server, historyFilePath);\n }\n\n if (options.lodash !== false) {\n context.lodash = context.lodash || _lodash2.default;\n }\n\n (0, _reloading2.default)(server, options);\n\n var initializeContext = function initializeContext() {\n server.context.SKYPAGER_REPL = server;\n\n keys(context).forEach(function (key) {\n defineProperty(server.context, key, {\n configurable: true,\n enumerable: true,\n // eslint-disable-next-line\n get: function get() {\n return context[key];\n }\n });\n });\n\n if ((0, _lodash.isFunction)(options.after)) {\n options.after(server, options, context);\n }\n\n if ((0, _lodash.isFunction)(options.afterHook)) {\n options.afterHook(server, options, context);\n }\n };\n\n server.on('reset', function () {\n if ((0, _lodash.isFunction)(options.onReset)) {\n options.onReset(server, options, context);\n }\n\n initializeContext();\n });\n\n try {\n if (options.clear !== false) {\n _cli.cli.clear();\n }\n\n if (options.banner) {\n _cli.cli.print((0, _lodash.isFunction)(options.banner) ? options.banner(_cli.cli, options) : options.banner, 2, 2);\n }\n\n if (options.help) {\n _cli.cli.print((0, _lodash.isFunction)(options.help) ? options.help(_cli.cli, options) : options.help);\n }\n\n (0, _promise2.default)(server);\n\n // can be hardcoded by the consumer of the repl library\n if ((0, _lodash.isFunction)(options.beforeInitializeHook)) {\n options.beforeInitializeHook(server, options, context);\n }\n\n // allow local project customization\n if ((0, _lodash.isFunction)(options.beforeInitialize)) {\n options.beforeInitialize(server, options, context);\n }\n\n initializeContext();\n\n // can be hardcoded by the consumer of the repl library\n if ((0, _lodash.isFunction)(options.afterInitializeHook)) {\n options.afterInitializeHook(server, options, context);\n }\n\n // allow local project customization\n if ((0, _lodash.isFunction)(options.afterInitialize)) {\n options.afterInitialize(server, options, context);\n }\n } catch (error) {\n ready(error);\n return;\n }\n\n ready(null, server);\n\n server.displayPrompt();\n\n return server;\n}\n\nexports.default = create;\nvar help = exports.help = function help(cli) {\n cli.defineTable('commands', {\n head: ['Command', 'Description'],\n colWidths: [20, 60]\n });\n\n cli.print('Commands'.bold.underline, 2, 2, 2);\n cli.displayTable('commands', [['cls', 'Clear the console'], ['reload', 'Clear the require cache and reset the repl context']]);\n\n cli.print(\"\\n\");\n};\n\nvar prompt = exports.prompt = function prompt(cli) {\n return [cli.icon('rocket'), ' ', cli.colors.blue('Sky'), cli.colors.cyan('pag'), cli.colors.green('er'), cli.colors.dim(':'), cli.colors.bold.white('REPL'), cli.colors.dim('> ')].join('');\n};\n\nvar banner = exports.banner = function banner(cli) {\n return cli.figlet.textSync('Skypager', {\n font: cli.random.font\n }).split(\"\\n\").map(function (line) {\n return cli.random.color(line);\n }).join(\"\\n\");\n};\n\n/***/ },\n\n/***/ 0:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"path\");\n\n/***/ },\n\n/***/ 1:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/object/keys\");\n\n/***/ },\n\n/***/ 10:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"cli-spinner\");\n\n/***/ },\n\n/***/ 11:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"cli-table\");\n\n/***/ },\n\n/***/ 12:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash\");\n\n/***/ },\n\n/***/ 13:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/camelCase\");\n\n/***/ },\n\n/***/ 14:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/isFunction\");\n\n/***/ },\n\n/***/ 15:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/mapKeys\");\n\n/***/ },\n\n/***/ 16:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/omit\");\n\n/***/ },\n\n/***/ 17:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/sample\");\n\n/***/ },\n\n/***/ 18:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"node-emoji\");\n\n/***/ },\n\n/***/ 19:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"pretty-cli\");\n\n/***/ },\n\n/***/ 2:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/extends\");\n\n/***/ },\n\n/***/ 20:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"repl\");\n\n/***/ },\n\n/***/ 21:\n/***/ function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"./src/index.js\");\n\n\n/***/ },\n\n/***/ 3:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"colors\");\n\n/***/ },\n\n/***/ 4:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"figlet\");\n\n/***/ },\n\n/***/ 5:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"fs\");\n\n/***/ },\n\n/***/ 6:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"minimist\");\n\n/***/ },\n\n/***/ 7:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-register\");\n\n/***/ },\n\n/***/ 8:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/object/define-property\");\n\n/***/ },\n\n/***/ 9:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/toConsumableArray\");\n\n/***/ }\n\n/******/ });\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/skypager-repl/dist/index.js\n// module id = ../../node_modules/skypager-repl/dist/index.js\n// module chunks = 0","require(\"source-map-support\").install();\nmodule.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmory imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmory exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tObject.defineProperty(exports, name, {\n/******/ \t\t\tconfigurable: false,\n/******/ \t\t\tenumerable: true,\n/******/ \t\t\tget: getter\n/******/ \t\t});\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 59);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./node_modules/raw-loader/index.js!./node_modules/babel-loader/index.js!./src/scripts/build.js\":\n/***/ function(module, exports) {\n\nmodule.exports = \"\\\"use strict\\\";\"\n\n/***/ },\n\n/***/ \"./node_modules/raw-loader/index.js!./node_modules/babel-loader/index.js!./src/scripts/validate-helpers.js\":\n/***/ function(module, exports) {\n\nmodule.exports = \"\\\"use strict\\\";\\n\\nvar _project = project;\\nvar cli = _project.cli;\\n\\n\\ncli.print(project.helpers.available.join(\\\"\\\\n\\\"));\\ncli.print(project.portfolio.helpers.available.join(\\\"\\\\n\\\"));\"\n\n/***/ },\n\n/***/ \"./src/bundlers/metadata.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.compilers = exports.bundlerDidFinish = undefined;\n\nvar _promise = __webpack_require__(24);\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @name bundlers/metadata\n * @description generates AST files and other assets necessary to build document metadata\n * using webpacks in-memory file system\n */\nvar bundlerDidFinish = exports.bundlerDidFinish = function bundlerDidFinish(bundler) {\n var results = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var project = bundler.project;\n\n var fs = bundler.get('compilers.source.compiler.outputFileSystem');\n\n var reader = bundler.chain.get('compilers.source.outputFilenames').pickBy(function (v, k) {\n return k.match('ast/');\n }).mapValues(function (absolutePath) {\n return new _promise2.default(function (resolve, reject) {\n fs.readFile(absolutePath, function (err, buffer) {\n err ? reject(err) : resolve({\n path: absolutePath,\n contents: buffer.toString()\n });\n });\n });\n }).value();\n\n return project.resolvePromiseHash(reader).then(function (files) {\n return bundler.hide('getResults', function () {\n return files;\n });\n });\n};\n\nvar compilers = exports.compilers = function compilers() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var project = context.project;\n\n\n var source = project.compiler('node', {\n useMemory: true\n }).configure(function (cfg) {\n return cfg.sourcemap(false).entry(project.set('current.collection', 'source').chain.get('documentEntryPoints').pickBy(function (v) {\n return v[0] && v[0].match(/\\.js$/);\n }).mapValues(function (v) {\n return ['!!raw!skypager-babel?cacheAst=ast!' + v[0]];\n }).value());\n });\n\n return {\n source: source\n };\n};\n\n/***/ },\n\n/***/ \"./src/cli.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.cli = exports.repl = undefined;\n\nvar _skypagerRepl = __webpack_require__(14);\n\nvar _chunk = __webpack_require__(21);\n\nvar _chunk2 = _interopRequireDefault(_chunk);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_skypagerRepl.cli.stripedText = function (value) {\n var font = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _skypagerRepl.cli.random.font;\n\n var colors = {};\n\n var color = function color(text, chunkId) {\n var c = colors[chunkId] = colors[chunkId] || cli.random.color;\n return c(text);\n };\n\n return cli.figlet.textSync(value, { font: font }).split(\"\\n\").map(function (line) {\n return (0, _chunk2.default)(line.split(\"\"), value.length).map(function (section, i) {\n return color(section.join(''), i);\n }).join('');\n }).join(\"\\n\");\n};\n\nvar repl = exports.repl = _skypagerRepl.create;\n\nvar cli = exports.cli = _skypagerRepl.cli;\n\n/***/ },\n\n/***/ \"./src/commands/build.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.execute = exports.configure = undefined;\n\nvar _compiler = __webpack_require__(\"./src/helpers/compiler.js\");\n\nvar _compiler2 = _interopRequireDefault(_compiler);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar configure = exports.configure = function configure(program) {\n return program.command('build [profile]').description('run one of the project\\'s compilers').option('-t, --target', 'which platform are we compiling for?', 'web').allowUnknownOption(true);\n};\n\nvar execute = exports.execute = function execute(profile) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n};\n\n/***/ },\n\n/***/ \"./src/commands/console.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.execute = exports.configure = undefined;\n\nvar _index = __webpack_require__(\"./src/index.js\");\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _skypagerRepl = __webpack_require__(14);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar configure = exports.configure = function configure(program) {\n return program.command('console').description('open an interactive console session').allowUnknownOption(true);\n};\n\nvar execute = exports.execute = function execute() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n options.willReload = function (cacheEntries) {\n _index2.default.clearProjectCache();\n };\n\n options.didReload = function (filtered, allKeys, clearedKeys) {};\n\n (0, _skypagerRepl.create)(options, context, function (err, server) {});\n};\n\n/***/ },\n\n/***/ \"./src/commands/info.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.execute = exports.configure = undefined;\n\nvar _skypagerRepl = __webpack_require__(14);\n\nvar configure = exports.configure = function configure(program) {\n return program.command('info [section]').option('--section <section>', 'Which aspect to learn about? project, framework, helpers, <helperName>').description('View information about the project');\n};\n\nvar execute = exports.execute = function execute() {\n var section = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'all';\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var project = context.project;\n\n\n _skypagerRepl.cli.clear();\n _skypagerRepl.cli.print(_skypagerRepl.cli.randomBanner('Skypager'), 4);\n\n if (section === 'all' || section === 'project') {\n _skypagerRepl.cli.print('Viewing information about the Skypager project at: ' + project.cwd, 4);\n _skypagerRepl.cli.print('Package Info:', 4, 1);\n _skypagerRepl.cli.print(project.manifest.name.bold.cyan + '@' + project.manifest.version + ' ' + project.manifest.description, 6, 1);\n }\n\n if (section === 'all' || section === 'framework') {\n _skypagerRepl.cli.print('Framework:', 4, 1);\n _skypagerRepl.cli.print(_skypagerRepl.cli.icon('rocket') + ' ' + project.framework.name.magenta.bold + ' from ' + project.portfolio.dirname, 6);\n }\n\n if (section === 'all' || section === 'helpers') {\n _skypagerRepl.cli.print('Available Helpers:', 4, 1);\n _skypagerRepl.cli.print(project.portfolio.helpers.available, 6, 0, 1);\n _skypagerRepl.cli.print('For more info about a particular helper or type of helper, run:', 4);\n _skypagerRepl.cli.print('skypager info <helper>', 6);\n _skypagerRepl.cli.print('e.g.'.bold + ' skypager info compilers', 6, 0, 2);\n }\n};\n\n/***/ },\n\n/***/ \"./src/commands/new.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar configure = exports.configure = function configure(program) {\n return program.command('new <folder>').description('Create a new project inside of folder').allowUnknownOption(true);\n};\n\nvar execute = exports.execute = function execute() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n};\n\n/***/ },\n\n/***/ \"./src/commands/run.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.execute = exports.configure = undefined;\n\nvar _skypagerRepl = __webpack_require__(14);\n\nvar configure = exports.configure = function configure(program) {\n return program.command('run <script>').description('run any script from the registry in the context of your project').allowUnknownOption(true);\n};\n\nvar execute = exports.execute = function execute(script) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var project = context.project;\n\n\n var runScript = project.script(script, options, context);\n\n runScript.run();\n};\n\n/***/ },\n\n/***/ \"./src/commands/setup.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.execute = exports.configure = undefined;\n\nvar _skypagerRepl = __webpack_require__(14);\n\nvar configure = exports.configure = function configure(program) {\n return program.command('setup').description('run an interactive setup process').allowUnknownOption(true);\n};\n\nvar execute = exports.execute = function execute() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _skypagerRepl.cli.print('Welcome');\n};\n\n/***/ },\n\n/***/ \"./src/commands/start.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.execute = exports.configure = undefined;\n\nvar _skypagerRepl = __webpack_require__(14);\n\nvar configure = exports.configure = function configure(program) {\n return program.command('start').option('--profile <profile>', 'which server profile to run?').option('--available', 'list the available profiles').description('start one of the project servers').allowUnknownOption(true);\n};\n\nvar execute = exports.execute = function execute() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _skypagerRepl.cli.print(_skypagerRepl.cli.randomBanner('Skypager'), 4);\n\n _skypagerRepl.cli.print(_skypagerRepl.cli.icon('rocket') + ' preparing to launch a server.', 4);\n\n if (!profile || options.available) {\n _skypagerRepl.cli.print(_skypagerRepl.cli.icon('info') + ' Here are the available server profiles.', 4, 2, 2);\n }\n};\n\n/***/ },\n\n/***/ \"./src/compilers/documents.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.toEntryPoint = exports.configure = undefined;\n\nvar _qs = __webpack_require__(50);\n\nvar _mapKeys = __webpack_require__(45);\n\nvar _mapKeys2 = _interopRequireDefault(_mapKeys);\n\nvar _node = __webpack_require__(\"./src/compilers/node.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar configure = exports.configure = function configure() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$transformer = options.transformer;\n var transformer = _options$transformer === undefined ? 'parser' : _options$transformer;\n var _options$pattern = options.pattern;\n var pattern = _options$pattern === undefined ? '*/:folder/:name' : _options$pattern;\n var project = context.project;\n\n\n var entryPoints = project.route(pattern).map(toEntryPoint);\n\n return (0, _node.configure)(options, context).entry(entryPoints).loader('skypager-document', '.md', {\n loader: 'skypager',\n include: [project.cwd],\n query: { transformer: transformer }\n });\n};\n\nvar toEntryPoint = exports.toEntryPoint = function toEntryPoint(result) {\n var doc = result.doc;\n var meta = result.meta;\n\n\n var query = (0, _qs.stringify)((0, _mapKeys2.default)(meta, function (v, k) {\n return k.toString() === '0' ? 'parts' : k;\n }));\n\n return ['./' + doc.baseRelativePath + '?' + query];\n};\n\n/***/ },\n\n/***/ \"./src/compilers/electron-browser.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.configure = undefined;\n\nvar _terseWebpack = __webpack_require__(\"./src/terse-webpack/index.js\");\n\nvar _configValues = __webpack_require__(\"./src/utils/config-values.js\");\n\nvar configure = exports.configure = function configure() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var project = context.project;\n\n var moduleFolders = (0, _configValues.getModuleFolders)(options, context);\n\n return (0, _terseWebpack.api)().context(project.cwd).target('electron-browser').when(function () {\n return moduleFolders.length > 0;\n }, function (config) {\n return moduleFolders.reduce(function (config, folder) {\n return config.modules(folder);\n }, config);\n });\n};\n\n/***/ },\n\n/***/ \"./src/compilers/electron-main.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.configure = undefined;\n\nvar _terseWebpack = __webpack_require__(\"./src/terse-webpack/index.js\");\n\nvar _configValues = __webpack_require__(\"./src/utils/config-values.js\");\n\nvar configure = exports.configure = function configure() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var project = context.project;\n\n var moduleFolders = (0, _configValues.getModuleFolders)(options, context);\n\n return (0, _terseWebpack.api)().context(project.cwd).target('electron-main').externals(project.join('package.json')) // the project's package dependencies / node_modules are externals\n .when(function () {\n return options.sourcemaps !== false;\n }, function (config) {\n return config.sourcemap(\"source-map\").plugin(\"webpack.BannerPlugin\", {\n banner: 'require(\"source-map-support\").install();',\n raw: true\n });\n }).when(function () {\n return moduleFolders.length > 0;\n }, function (config) {\n return moduleFolders.reduce(function (config, folder) {\n return config.modules(folder);\n }, config);\n });\n};\n\n/***/ },\n\n/***/ \"./src/compilers/node.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.configure = undefined;\n\nvar _extends2 = __webpack_require__(0);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _terseWebpack = __webpack_require__(\"./src/terse-webpack/index.js\");\n\nvar _configValues = __webpack_require__(\"./src/utils/config-values.js\");\n\nvar _path = __webpack_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar configure = exports.configure = function configure() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var project = context.project;\n\n var moduleFolders = (0, _configValues.getModuleFolders)(options, context);\n var _options$babelConfig = options.babelConfig;\n var babelConfig = _options$babelConfig === undefined ? {} : _options$babelConfig;\n var _options$loaderOption = options.loaderOptions;\n var loaderOptions = _options$loaderOption === undefined ? {} : _options$loaderOption;\n\n\n return (0, _terseWebpack.api)().context(project.cwd).target('node').output({\n path: project.paths.output,\n libraryTarget: 'commonjs2',\n filename: '[name].js'\n }).loader('skypager-babel', '.js', (0, _extends3.default)({\n include: [project.paths.source],\n exclude: [project.paths.output, /node_modules/],\n query: (0, _extends3.default)({\n cacheDirectory: project.env !== 'production'\n }, babelConfig)\n }, loaderOptions.babel || {})).loader('json', '.json', {\n exclude: /node_modules/\n }).modules(project.paths.source).node({ __dirname: false, __filename: false }).plugin('webpack.NamedModulesPlugin').plugin('webpack.ProvidePlugin', {\n Skypager: 'skypager'\n }).alias('skypager', (0, _path.join)(__dirname, '../..')).externals(project.join('package.json')) // the project's package dependencies / node_modules are externals\n // don't parse\n .skip(project.join('bin'))\n // options\n .when(function () {\n return moduleFolders.length > 0;\n }, function (config) {\n return moduleFolders.reduce(function (config, folder) {\n return config.modules(folder);\n }, config);\n }).when(function () {\n return options.sourcemaps !== false;\n }, function (config) {\n return config.sourcemap(\"source-map\").plugin(\"webpack.BannerPlugin\", {\n banner: 'require(\"source-map-support\").install();',\n raw: true\n });\n });\n};\n\n/***/ },\n\n/***/ \"./src/compilers/web.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.configure = undefined;\n\nvar _terseWebpack = __webpack_require__(\"./src/terse-webpack/index.js\");\n\nvar _configValues = __webpack_require__(\"./src/utils/config-values.js\");\n\nvar configure = exports.configure = function configure() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var project = context.project;\n\n var moduleFolders = (0, _configValues.getModuleFolders)(options, context);\n\n return (0, _terseWebpack.api)().context(project.cwd).target('web').when(function () {\n return moduleFolders.length > 0;\n }, function (config) {\n return moduleFolders.reduce(function (config, folder) {\n return config.modules(folder);\n }, config);\n });\n};\n\n/***/ },\n\n/***/ \"./src/factories/dockerfile.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n\"use strict\";\n\n/***/ },\n\n/***/ \"./src/factories/helper-registry.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar create = exports.create = function create() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var helper = options.helper;\n var helperPath = options.helperPath;\n var _options$recursive = options.recursive;\n var recursive = _options$recursive === undefined ? false : _options$recursive;\n var request = options.request;\n var registryName = options.registryName;\n var getter = options.getter;\n var _options$loader = options.loader;\n var loader = _options$loader === undefined ? '' : _options$loader;\n\n\n return '\\n import { Context } from \\'skypager-registry\\'\\n import { attach } from \\'skypager/lib/helper\\'\\n import _' + helper + ' from \\'' + helperPath + '\\'\\n\\n export class ' + helper + ' extends _' + helper + ' {\\n static createRegistry = () => new Context(\\'' + registryName + '\\', {\\n context: require.context(\\'' + loader + request + '\\', ' + (recursive ? 'true' : 'false') + ', /.js$/),\\n })\\n\\n static attach(project, options = {}) {\\n return attach(project, ' + helper + ', {\\n registryProp: \\'' + registryName + '\\',\\n lookupProp: \\'' + getter + '\\',\\n registry: options.registry || ' + helper + '.createRegistry(),\\n ...options,\\n })\\n }\\n }\\n\\n export default ' + helper + '\\n ';\n};\n\nexports.default = create;\n\n/***/ },\n\n/***/ \"./src/factories/portfolio-container.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n\"use strict\";\n\n/***/ },\n\n/***/ \"./src/helper.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.attach = exports.Helper = undefined;\n\nvar _skypagerProject = __webpack_require__(19);\n\nvar Helper = exports.Helper = _skypagerProject.Helper;\n\nvar attach = exports.attach = Helper.attach;\n\nexports.default = Helper;\n\n/***/ },\n\n/***/ \"./src/helpers/bundler.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.validate = exports.Bundler = undefined;\n\nvar _defineProperty = __webpack_require__(39);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nvar _extends2 = __webpack_require__(0);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _getPrototypeOf = __webpack_require__(8);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(4);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(5);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(11);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(10);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _desc, _value, _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _class2, _temp2;\n\nvar _skypagerRegistry = __webpack_require__(13);\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nvar _skypagerUtil = __webpack_require__(27);\n\nvar _has = __webpack_require__(18);\n\nvar _has2 = _interopRequireDefault(_has);\n\nvar _isFunction = __webpack_require__(15);\n\nvar _isFunction2 = _interopRequireDefault(_isFunction);\n\nvar _mobx = __webpack_require__(47);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _initDefineProp(target, property, descriptor, context) {\n if (!descriptor) return;\n (0, _defineProperty2.default)(target, property, {\n enumerable: descriptor.enumerable,\n configurable: descriptor.configurable,\n writable: descriptor.writable,\n value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n });\n}\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n var desc = {};\n Object['ke' + 'ys'](descriptor).forEach(function (key) {\n desc[key] = descriptor[key];\n });\n desc.enumerable = !!desc.enumerable;\n desc.configurable = !!desc.configurable;\n\n if ('value' in desc || desc.initializer) {\n desc.writable = true;\n }\n\n desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n return decorator(target, property, desc) || desc;\n }, desc);\n\n if (context && desc.initializer !== void 0) {\n desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n desc.initializer = undefined;\n }\n\n if (desc.initializer === void 0) {\n Object['define' + 'Property'](target, property, desc);\n desc = null;\n }\n\n return desc;\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\n}\n\nvar Bundler = exports.Bundler = (_class = (_temp2 = _class2 = function (_Helper) {\n (0, _inherits3.default)(Bundler, _Helper);\n\n function Bundler() {\n var _ref;\n\n var _temp, _this, _ret;\n\n (0, _classCallCheck3.default)(this, Bundler);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = Bundler.__proto__ || (0, _getPrototypeOf2.default)(Bundler)).call.apply(_ref, [this].concat(args))), _this), _initDefineProp(_this, 'state', _descriptor, _this), _initDefineProp(_this, 'progress', _descriptor2, _this), _initDefineProp(_this, 'hasErrors', _descriptor3, _this), _initDefineProp(_this, 'hasWarnings', _descriptor4, _this), _initDefineProp(_this, 'outputFiles', _descriptor5, _this), _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);\n }\n\n (0, _createClass3.default)(Bundler, [{\n key: 'bundlerDidFinish',\n value: function bundlerDidFinish(result) {\n return (0, _isFunction2.default)(this.provider.bundlerDidFinish) ? this.provider.bundlerDidFinish.call(this, this, result) : result;\n }\n }, {\n key: 'bundlerDidError',\n value: function bundlerDidError(error) {\n throw error;\n }\n }, {\n key: 'run',\n value: function run() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.mapCompilers(function (compiler, name) {\n _this2.progress[name] = {\n percent: 0,\n updates: []\n };\n });\n\n return (0, _skypagerUtil.promiseHash)(this.runner.call(this, options)).then(function (result) {\n return _this2.bundlerDidFinish(result);\n }).catch(function (error) {\n return _this2.bundlerDidError(error);\n });\n }\n }, {\n key: 'runner',\n value: function runner() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var bundler = this;\n\n return this.mapCompilers(function (compiler, name) {\n return compiler.monitorProgress(function (percent) {\n for (var _len2 = arguments.length, messages = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n messages[_key2 - 1] = arguments[_key2];\n }\n\n return bundler.receiveProgressUpdate(name, percent, messages);\n }).onSuccess(function (stats) {\n return bundler.compilerDidSucceed(name, stats);\n }).onFailure(function (stats) {\n return bundler.compilerDidFail(name, stats);\n }).runner;\n });\n }\n }, {\n key: 'compilerDidFail',\n value: function compilerDidFail(compilerName, stats) {\n this.hasErrors = true;\n this.hasWarnings = stats.hasWarnings();\n\n this.updateCompilerStatus(compilerName, stats, {\n status: 'FAILED',\n hash: stats.hash,\n startTime: stats.startTime,\n endTime: stats.endTime\n });\n }\n }, {\n key: 'compilerDidSucceed',\n value: function compilerDidSucceed(compilerName, stats) {\n var compiler = this.get(['compilers', compilerName]);\n\n this.hasErrors = compiler.hasErrors;\n this.hasWarnings = compiler.hasWarnings;\n\n this.updateCompilerStatus(compilerName, {\n status: 'FINISHED',\n hash: stats.hash,\n startTime: stats.startTime,\n endTime: stats.endTime\n });\n }\n }, {\n key: 'updateCompilerStatus',\n value: function updateCompilerStatus(compilerName) {\n var values = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var compiler = this.get(['compilers', compilerName]);\n\n this.state[compilerName] = (0, _extends3.default)({\n outputPath: compiler.get('outputPath')\n }, values);\n }\n }, {\n key: 'receiveProgressUpdate',\n value: function receiveProgressUpdate(compilerName) {\n var ratio = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var messages = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n var _progress$compilerNam = this.progress[compilerName].updates;\n var updates = _progress$compilerNam === undefined ? [] : _progress$compilerNam;\n\n\n if (this.options.trackUpdates) {\n updates.push({\n ratio: ratio,\n messages: messages,\n timestamp: Math.floor(new Date() / 10000)\n });\n }\n\n this.progress[compilerName] = {\n percent: ratio * 100,\n updates: updates\n };\n }\n }, {\n key: 'mapCompilers',\n value: function mapCompilers(iterator) {\n var chained = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var seq = this.chain.get('compilers').mapValues(iterator);\n return chained ? seq : seq.value();\n }\n }, {\n key: 'compilers',\n get: function get() {\n var _this3 = this;\n\n return this.project.cache.fetch(this.id + ':compilers', function () {\n return _this3.provider.compilers(_this3.options, _this3.context);\n });\n }\n }, {\n key: 'outputFilenames',\n get: function get() {\n return this.mapCompilers(function (c) {\n return c.outputFilenames;\n }, true).reduce(function (m, files) {\n return (0, _extends3.default)({}, m, files);\n }).value();\n }\n }], [{\n key: 'cacheable',\n value: function cacheable() {\n var setting = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n return this.isCacheable = !!setting;\n }\n }, {\n key: 'attach',\n value: function attach(project) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return (0, _helper.attach)(project, Bundler, (0, _extends3.default)({\n registryProp: 'bundlers',\n lookupProp: 'bundler',\n registry: options.registry || Bundler.createRegistry()\n }, options));\n }\n }]);\n return Bundler;\n}(_helper2.default), _class2.isCacheable = true, _class2.createRegistry = function () {\n return new _skypagerRegistry.Context('bundlers', {\n context: __webpack_require__(29)\n });\n}, _temp2), (_descriptor = _applyDecoratedDescriptor(_class.prototype, 'state', [_mobx.observable], {\n enumerable: true,\n initializer: function initializer() {\n return {};\n }\n}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, 'progress', [_mobx.observable], {\n enumerable: true,\n initializer: function initializer() {\n return {};\n }\n}), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, 'hasErrors', [_mobx.observable], {\n enumerable: true,\n initializer: function initializer() {\n return false;\n }\n}), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, 'hasWarnings', [_mobx.observable], {\n enumerable: true,\n initializer: function initializer() {\n return false;\n }\n}), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, 'outputFiles', [_mobx.observable], {\n enumerable: true,\n initializer: function initializer() {\n return {};\n }\n})), _class);\nexports.default = Bundler;\nvar validate = exports.validate = function validate() {\n var providerModule = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var report = {\n pass: true,\n errors: [],\n warnings: []\n };\n\n if (!(0, _has2.default)(providerModule, 'compilers') || !(0, _isFunction2.default)(providerModule.compilers)) {\n report.pass = false;\n report.errors.push('Bundler modules must export a compilers function');\n }\n\n return report;\n};\n\n/***/ },\n\n/***/ \"./src/helpers/command.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.validate = exports.Command = undefined;\n\nvar _extends2 = __webpack_require__(0);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _getPrototypeOf = __webpack_require__(8);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(4);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(5);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(11);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(10);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _class, _temp;\n\nvar _skypagerRegistry = __webpack_require__(13);\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nvar _commander = __webpack_require__(42);\n\nvar _yargs = __webpack_require__(55);\n\nvar _yargs2 = _interopRequireDefault(_yargs);\n\nvar _lodash = __webpack_require__(3);\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar has = _lodash2.default.has;\nvar isFunction = _lodash2.default.isFunction;\n\nvar action = _commander.Command.prototype.action;\n\n_commander.Command.prototype.action = function (fn, buildContext) {\n action.call(this, _lodash2.default.partialRight(fn, buildContext(_yargs2.default.argv)));\n return this;\n};\n\nvar program = void 0;\n\nvar Command = exports.Command = (_temp = _class = function (_Helper) {\n (0, _inherits3.default)(Command, _Helper);\n\n function Command() {\n (0, _classCallCheck3.default)(this, Command);\n return (0, _possibleConstructorReturn3.default)(this, (Command.__proto__ || (0, _getPrototypeOf2.default)(Command)).apply(this, arguments));\n }\n\n (0, _createClass3.default)(Command, [{\n key: 'initialize',\n value: function initialize() {\n this.lazy('program', Command.program);\n }\n }, {\n key: 'use',\n value: function use(fn) {\n var ctx = this.context;\n var cmd = this.provider.configure(this.program).action(this.provider.execute, function (argv) {\n return (0, _extends3.default)({\n argv: argv\n }, ctx);\n });\n\n return fn ? fn(cmd) : cmd;\n }\n }], [{\n key: 'attach',\n value: function attach(project) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n (0, _helper.attach)(project, Command, (0, _extends3.default)({\n registryProp: 'commands',\n lookupProp: 'command',\n registry: options.registry || Command.createRegistry()\n }, options));\n\n project.lazy('commander', function () {\n var _options$commands = options.commands;\n var commands = _options$commands === undefined ? project.commands.available : _options$commands;\n\n commands.map(function (id) {\n return project.command(id).use(options[id]);\n });\n\n Command.program.launch = function () {\n if (!process.argv.slice(2).length) {\n Command.program.outputHelp(function (txt) {\n return displayHelp(project, txt);\n });\n }\n\n Command.program.parse(process.argv);\n };\n\n return Command.program;\n });\n\n return project;\n }\n }, {\n key: 'program',\n get: function get() {\n return program = program || new _commander.Command();\n }\n }]);\n return Command;\n}(_helper2.default), _class.createRegistry = function () {\n return new _skypagerRegistry.Context('commands', {\n context: __webpack_require__(30)\n });\n}, _temp);\nexports.default = Command;\n\n\nfunction displayHelp(project, text) {\n var cli = project.cli;\n\n\n cli.clear();\n cli.print(cli.randomBanner('Skypager'), 4);\n cli.print(cli.icon('rocket') + ' Welcome to Skypager. Here are the available commands', 4);\n\n return text;\n}\n\nvar validate = exports.validate = function validate() {\n var providerModule = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var report = {\n pass: true,\n errors: [],\n warnings: []\n };\n\n if (!has(providerModule, 'configure') || !isFunction(providerModule.configure)) {\n report.pass = false;\n report.errors.push('Command modules must export a configure function');\n }\n\n return report;\n};\n\n/***/ },\n\n/***/ \"./src/helpers/compiler.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.statsEnhancer = exports.validate = exports.registry = exports.Compiler = undefined;\n\nvar _assign = __webpack_require__(38);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _promise = __webpack_require__(24);\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nvar _defineProperty2 = __webpack_require__(6);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _toConsumableArray2 = __webpack_require__(2);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _extends3 = __webpack_require__(0);\n\nvar _extends4 = _interopRequireDefault(_extends3);\n\nvar _getPrototypeOf = __webpack_require__(8);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(4);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(5);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(11);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(10);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _class, _temp;\n\nvar _path = __webpack_require__(1);\n\nvar _lodash = __webpack_require__(3);\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _webpack = __webpack_require__(52);\n\nvar _webpack2 = _interopRequireDefault(_webpack);\n\nvar _memoryFs = __webpack_require__(46);\n\nvar _memoryFs2 = _interopRequireDefault(_memoryFs);\n\nvar _skypagerRegistry = __webpack_require__(13);\n\nvar _skypagerUtil = __webpack_require__(27);\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nvar _changeMonitor = __webpack_require__(\"./src/terse-webpack/plugins/change-monitor.js\");\n\nvar _changeMonitor2 = _interopRequireDefault(_changeMonitor);\n\nvar _extraEntryPlugin = __webpack_require__(\"./src/terse-webpack/plugins/extra-entry-plugin.js\");\n\nvar _extraEntryPlugin2 = _interopRequireDefault(_extraEntryPlugin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar has = _lodash2.default.has;\nvar isFunction = _lodash2.default.isFunction;\nvar _get = _lodash2.default.get;\nvar Compiler = exports.Compiler = (_temp = _class = function (_Helper) {\n (0, _inherits3.default)(Compiler, _Helper);\n\n function Compiler() {\n (0, _classCallCheck3.default)(this, Compiler);\n return (0, _possibleConstructorReturn3.default)(this, (Compiler.__proto__ || (0, _getPrototypeOf2.default)(Compiler)).apply(this, arguments));\n }\n\n (0, _createClass3.default)(Compiler, [{\n key: 'initialize',\n value: function initialize() {\n var _this2 = this;\n\n this.plugins = [];\n this.lazy('compiler', function () {\n return _this2.createCompiler();\n });\n }\n }, {\n key: 'configure',\n value: function configure(fn) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n this.config = fn.call(this, this.buildConfig((0, _extends4.default)({}, this.options, { options: options\n }), (0, _extends4.default)({}, this.context, { context: context\n })));\n\n return this;\n }\n }, {\n key: 'formatStats',\n value: function formatStats(raw) {\n return this.statsFormatter.call(this, raw);\n }\n }, {\n key: 'createCompiler',\n value: function createCompiler() {\n var _this3 = this,\n _config$plugins;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.config) {\n this.configure(function (c) {\n return c.entry(_this3.options.entry || _this3.options.in || (0, _path.join)(_this3.project.paths.source, 'index.js'));\n });\n }\n\n var config = this.config.getConfig ? this.config.getConfig() : this.config;\n\n config.name = config.name || this.name;\n\n (_config$plugins = config.plugins).push.apply(_config$plugins, (0, _toConsumableArray3.default)(this.plugins));\n d;\n config.resolveLoader = (0, _extends4.default)({\n modules: []\n }, config.resolveLoader);\n\n config.resolve.modules = _lodash2.default.uniq(config.resolve.modules);\n config.resolveLoader.modules = _lodash2.default.uniq(config.resolveLoader.modules);\n\n var baseCompiler = (0, _webpack2.default)(config);\n\n (0, _skypagerUtil.hideGetter)(baseCompiler, 'project', function () {\n return context.project;\n });\n\n this.setupFileSystems(baseCompiler);\n\n return baseCompiler;\n }\n }, {\n key: 'getCompilation',\n value: function getCompilation() {\n return this.get('stats.compilation', {});\n }\n }, {\n key: 'inputFileSystem',\n value: function inputFileSystem() {\n return this.get('compiler.inputFileSystem');\n }\n }, {\n key: 'outputFileSystem',\n value: function outputFileSystem() {\n return this.get('compiler.outputFileSystem');\n }\n }, {\n key: 'watchFileSystem',\n value: function watchFileSystem() {\n return this.get('compiler.watchFileSystem.inputFileSystem');\n }\n }, {\n key: 'loaderFileSystem',\n value: function loaderFileSystem() {\n return this.get('compiler.resolvers.loader.fileSystem');\n }\n }, {\n key: 'moduleFileSystem',\n value: function moduleFileSystem() {\n return this.get('compiler.resolvers.normal.fileSystem');\n }\n }, {\n key: 'contextFileSystem',\n value: function contextFileSystem() {\n return this.get('compiler.resolvers.context.fileSystem');\n }\n }, {\n key: 'watcher',\n value: function watcher() {\n return this.get('compiler.watchFileSystem');\n }\n }, {\n key: 'run',\n value: function run() {\n var _this4 = this;\n\n return this.runner.catch(function (error) {\n console.log('There was an error running the compiler', _this4, error);\n });\n }\n }, {\n key: 'watch',\n value: function watch() {\n var _this5 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments[1];\n\n this.compiler.watch(options, function (err, rawStats) {\n if (err) {\n _this5.handleFatalError(err);\n callback && callback(err);\n _this5.emit('error', err);\n return;\n }\n\n var stats = statsEnhancer.call(_this5, rawStats, _this5.compiler);\n\n _this5.hide('stats', stats, true);\n\n if (rawStats.hasErrors()) {\n _this5.emit('watch:errors', _this5, stats);\n }\n\n if (rawStats.hasWarnings()) {\n _this5.emit('watch:warnings', _this5, stats);\n }\n\n if (!rawStats.hasWarnings() && !rawStats.hasErrors()) {\n _this5.emit('watch:success', _this5, stats);\n }\n\n callback && callback(err, _this5.formatStats(stats));\n });\n }\n }, {\n key: 'runEnhanced',\n value: function runEnhanced(callback) {\n var _this6 = this;\n\n this.compiler.run(function (err, rawStats) {\n if (err) {\n _this6.handleFatalError(err);\n callback && callback(err);\n _this6.emit('error', err);\n return;\n }\n\n var stats = statsEnhancer.call(_this6, rawStats, _this6.compiler);\n\n _this6.hide('stats', stats, true);\n\n if (rawStats.hasErrors()) {\n _this6.emit('compilation:errors', _this6, stats);\n }\n\n if (rawStats.hasWarnings()) {\n _this6.emit('compilation:warnings', _this6, stats);\n }\n\n if (!rawStats.hasWarnings() && !rawStats.hasErrors()) {\n _this6.emit('compilation:success', _this6, stats);\n }\n\n callback && callback(err, _this6.formatStats(stats));\n });\n }\n }, {\n key: 'setupFileSystems',\n value: function setupFileSystems(compiler) {\n var _options = this.options;\n var _options$useMemory = _options.useMemory;\n var useMemory = _options$useMemory === undefined ? false : _options$useMemory;\n var _options$useMemoryInp = _options.useMemoryInput;\n var useMemoryInput = _options$useMemoryInp === undefined ? false : _options$useMemoryInp;\n var _options$useMemoryOut = _options.useMemoryOutput;\n var useMemoryOutput = _options$useMemoryOut === undefined ? true : _options$useMemoryOut;\n\n\n if (useMemory) {\n var fs = new _memoryFs2.default();\n\n if (useMemoryInput) {\n compiler.inputFileSystem = fs;\n compiler.resolvers.normal.fileSystem = fs;\n compiler.resolvers.context.fileSystem = fs;\n }\n\n if (useMemoryOutput) {\n compiler.outputFileSystem = fs;\n }\n }\n\n return compiler;\n }\n }, {\n key: 'onFailure',\n value: function onFailure(fn) {\n var c = this;\n\n this.plugins.push({\n apply: function apply(compiler) {\n compiler.plugin('done', function (stats) {\n if (stats.hasErrors()) {\n fn.call(c, stats);\n }\n });\n }\n });\n\n return this;\n }\n }, {\n key: 'onSuccess',\n value: function onSuccess(fn) {\n var c = this;\n\n this.plugins.push({\n apply: function apply(compiler) {\n compiler.plugin('done', function (stats) {\n if (!stats.hasErrors() && !stats.hasWarnings()) {\n fn.call(c, stats, c);\n }\n });\n }\n });\n\n return this;\n }\n }, {\n key: 'addEntry',\n value: function addEntry() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.plugins.push(new _extraEntryPlugin2.default(options));\n\n return this;\n }\n }, {\n key: 'monitorChanges',\n value: function monitorChanges(handler) {\n this.plugins.push(new _changeMonitor2.default(handler));\n\n return this;\n }\n }, {\n key: 'monitorProgress',\n value: function monitorProgress(handler) {\n this.plugins.push(new _webpack2.default.ProgressPlugin(handler));\n\n return this;\n }\n }, {\n key: 'buildConfig',\n value: function buildConfig() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n options = (0, _extends4.default)({}, this.options, { options: options });\n context = (0, _extends4.default)({}, this.context, { context: context });\n\n return this.provider.configure((0, _extends4.default)({}, this.options, options), (0, _extends4.default)({}, this.context, context));\n }\n }, {\n key: 'handleFatalError',\n value: function handleFatalError(error) {\n this.setState({\n status: 'ERROR',\n error: error\n });\n }\n }, {\n key: 'statsFormatter',\n get: function get() {\n return this.options.statsFormatter || function (statsObject) {\n return {\n hadErrors: statsObject.hasErrors(),\n hadWarnings: statsObject.hasWarnings(),\n getRawStats: function getRawStats() {\n return statsObject;\n }\n };\n };\n }\n }, {\n key: 'outputFilenames',\n get: function get() {\n var _this7 = this;\n\n return this.chain.get('stats.compilation.assets', {}).keys().reduce(function (memo, filename) {\n return (0, _extends4.default)({}, memo, (0, _defineProperty3.default)({}, filename, (0, _path.join)(_this7.outputPath, filename)));\n }, {}).value();\n }\n }, {\n key: 'compilerOptions',\n get: function get() {\n return this.get('compiler.options', {});\n }\n }, {\n key: 'pluginNames',\n get: function get() {\n return this.get('compilerOptions.plugins', []).map(function (p) {\n return p.constructor && p.constructor.name;\n });\n }\n }, {\n key: 'missingDependencies',\n get: function get() {\n return _get(this.result('getCompilation', {}), 'missingDependencies', []);\n }\n }, {\n key: 'hasErrors',\n get: function get() {\n return this.missingDependencies.length > 0 || this.result('stats.hasErrors');\n }\n }, {\n key: 'hasWarnings',\n get: function get() {\n return this.missingDependencies.length > 0 || this.result('stats.hasErrors');\n }\n }, {\n key: 'moduleFiles',\n get: function get() {\n var _this8 = this;\n\n return this.get('stats.json.modules', []).map(function (m) {\n return m.identifier.split('!').pop().toString();\n }).filter(function (path) {\n return path.match(_this8.project.cwd) && path.match(/\\.\\w+$/);\n }).map(function (path) {\n return path.replace(_this8.project.cwd, '.');\n });\n }\n }, {\n key: 'outputPath',\n get: function get() {\n return this.get('compiler.outputPath', this.project.get(this.project.paths.output));\n }\n }, {\n key: 'runner',\n get: function get() {\n var _this9 = this;\n\n return new _promise2.default(function (resolve, reject) {\n _this9.runEnhanced(function (err, stats) {\n return err ? reject(err) : resolve(stats);\n });\n });\n }\n }], [{\n key: 'attach',\n value: function attach(project) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return (0, _helper.attach)(project, Compiler, (0, _extends4.default)({\n registryProp: 'compilers',\n lookupProp: 'compiler',\n registry: options.registry || Compiler.createRegistry()\n }, options));\n }\n }]);\n return Compiler;\n}(_helper2.default), _class.isCacheable = false, _class.createRegistry = function () {\n return new _skypagerRegistry.Context('compilers', {\n context: __webpack_require__(31)\n });\n}, _temp);\nexports.default = Compiler;\nvar registry = exports.registry = Compiler.registry = Compiler.createRegistry();\n\nvar validate = exports.validate = function validate() {\n var providerModule = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var report = {\n pass: true,\n errors: [],\n warnings: []\n };\n\n if (!has(providerModule, 'configure') || !isFunction(providerModule.configure)) {\n report.pass = false;\n report.errors.push('Compiler modules must export a configure function');\n }\n\n return report;\n};\n\nvar statsEnhancer = exports.statsEnhancer = function statsEnhancer(stats, compiler) {\n var enhanced = (0, _skypagerUtil.mixinPropertyUtils)(stats);\n\n return (0, _assign2.default)(enhanced, {\n get outputPath() {\n return compiler.outputPath;\n },\n\n get chain() {\n return _lodash2.default.chain(stats);\n }\n });\n};\n\n/***/ },\n\n/***/ \"./src/helpers/factory.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.validate = exports.Factory = undefined;\n\nvar _extends2 = __webpack_require__(0);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _getPrototypeOf = __webpack_require__(8);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(4);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(5);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(11);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(10);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _class, _temp;\n\nvar _skypagerRegistry = __webpack_require__(13);\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nvar _module = __webpack_require__(48);\n\nvar _has = __webpack_require__(18);\n\nvar _has2 = _interopRequireDefault(_has);\n\nvar _isFunction = __webpack_require__(15);\n\nvar _isFunction2 = _interopRequireDefault(_isFunction);\n\nvar _invoke = __webpack_require__(44);\n\nvar _invoke2 = _interopRequireDefault(_invoke);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Factory = exports.Factory = (_temp = _class = function (_Helper) {\n (0, _inherits3.default)(Factory, _Helper);\n\n function Factory() {\n (0, _classCallCheck3.default)(this, Factory);\n return (0, _possibleConstructorReturn3.default)(this, (Factory.__proto__ || (0, _getPrototypeOf2.default)(Factory)).apply(this, arguments));\n }\n\n (0, _createClass3.default)(Factory, [{\n key: 'run',\n value: function run(options, context) {\n return this.runner(options, context);\n }\n }, {\n key: 'toScript',\n value: function toScript() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$script = options.script;\n var script = _options$script === undefined ? 'create' : _options$script;\n var _provider$create$crea = this.provider.create.createScript;\n var createScript = _provider$create$crea === undefined ? this.provider[script] : _provider$create$crea;\n\n\n return createScript((0, _extends3.default)({}, this.options, options), (0, _extends3.default)({}, this.context, context));\n }\n }, {\n key: 'toModule',\n value: function toModule() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$script2 = options.script;\n var script = _options$script2 === undefined ? 'create' : _options$script2;\n var _provider$create$crea2 = this.provider.create.createModule;\n var createModule = _provider$create$crea2 === undefined ? this.provider[script] : _provider$create$crea2;\n\n\n return (0, _module.wrap)(createModule((0, _extends3.default)({}, this.options, options), (0, _extends3.default)({}, this.context, context)));\n }\n }, {\n key: 'runner',\n get: function get() {\n var _this2 = this;\n\n return function (options, context) {\n return _this2.runnerMethod.toLowerCase() === 'module' ? _this2.toModule.bind(_this2, (0, _extends3.default)({ options: options }, _this2.options), (0, _extends3.default)({ context: context }, _this2.context)) : _this2.toScript.bind(_this2, (0, _extends3.default)({ options: options }, _this2.options), (0, _extends3.default)({ context: context }, _this2.context));\n };\n }\n }, {\n key: 'runnerMethod',\n get: function get() {\n return this.get('options.runner', 'Script');\n }\n }], [{\n key: 'attach',\n value: function attach(project) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return (0, _helper.attach)(project, Factory, (0, _extends3.default)({\n registryProp: 'factories',\n lookupProp: 'factory',\n registry: options.registry || Factory.createRegistry()\n }, options));\n }\n }]);\n return Factory;\n}(_helper2.default), _class.createRegistry = function () {\n return new _skypagerRegistry.Context('factories', {\n context: __webpack_require__(32)\n });\n}, _temp);\nexports.default = Factory;\nvar validate = exports.validate = function validate() {\n var providerModule = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var report = {\n pass: true,\n errors: [],\n warnings: []\n };\n\n if (!(0, _has2.default)(providerModule, 'configure') || !(0, _isFunction2.default)(providerModule.create)) {\n report.pass = false;\n report.errors.push('Factory modules must export a create function');\n }\n\n return report;\n};\n\n/***/ },\n\n/***/ \"./src/helpers/runner.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.validate = exports.Runner = undefined;\n\nvar _extends2 = __webpack_require__(0);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _getPrototypeOf = __webpack_require__(8);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(4);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(5);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(11);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(10);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _class, _temp;\n\nvar _skypagerRegistry = __webpack_require__(13);\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nvar _has = __webpack_require__(18);\n\nvar _has2 = _interopRequireDefault(_has);\n\nvar _isFunction = __webpack_require__(15);\n\nvar _isFunction2 = _interopRequireDefault(_isFunction);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Runner = exports.Runner = (_temp = _class = function (_Helper) {\n (0, _inherits3.default)(Runner, _Helper);\n\n function Runner() {\n (0, _classCallCheck3.default)(this, Runner);\n return (0, _possibleConstructorReturn3.default)(this, (Runner.__proto__ || (0, _getPrototypeOf2.default)(Runner)).apply(this, arguments));\n }\n\n (0, _createClass3.default)(Runner, [{\n key: 'initialize',\n value: function initialize() {\n var _this2 = this;\n\n this.lazy('runner', function () {\n return _this2.provider.create(_this2.options, _this2.context);\n });\n }\n }, {\n key: 'configure',\n value: function configure(fn) {\n for (var _len = arguments.length, options = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n options[_key - 1] = arguments[_key];\n }\n\n fn.call.apply(fn, [this].concat(options));\n return this;\n }\n }, {\n key: 'runAsync',\n value: function runAsync(args, callback) {\n return this.runner.runAsync(args, callback);\n }\n }, {\n key: 'run',\n value: function run(args, callback) {\n return this.runner.run(args, callback);\n }\n }], [{\n key: 'attach',\n value: function attach(project) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return (0, _helper.attach)(project, Runner, (0, _extends3.default)({\n registryProp: 'runners',\n lookupProp: 'runner',\n registry: options.registry || Runner.createRegistry()\n }, options));\n }\n }]);\n return Runner;\n}(_helper2.default), _class.createRegistry = function () {\n return new _skypagerRegistry.Context('runners', {\n context: __webpack_require__(34)\n });\n}, _temp);\nexports.default = Runner;\nvar validate = exports.validate = function validate() {\n var providerModule = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var report = {\n pass: true,\n errors: [],\n warnings: []\n };\n\n if (!(0, _has2.default)(providerModule, 'configure') || !(0, _isFunction2.default)(providerModule.create)) {\n report.pass = false;\n report.errors.push('Runner modules must export a create function');\n }\n\n return report;\n};\n\n/***/ },\n\n/***/ \"./src/helpers/script.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.validate = exports.Script = undefined;\n\nvar _extends2 = __webpack_require__(0);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _getPrototypeOf = __webpack_require__(8);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(4);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(5);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(11);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(10);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _class, _temp;\n\nvar _skypagerRegistry = __webpack_require__(13);\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Script = exports.Script = (_temp = _class = function (_Helper) {\n (0, _inherits3.default)(Script, _Helper);\n\n function Script() {\n (0, _classCallCheck3.default)(this, Script);\n return (0, _possibleConstructorReturn3.default)(this, (Script.__proto__ || (0, _getPrototypeOf2.default)(Script)).apply(this, arguments));\n }\n\n (0, _createClass3.default)(Script, [{\n key: 'initialize',\n value: function initialize() {\n var _this2 = this;\n\n this.lazy('contents', function () {\n return _this2.provider;\n });\n this.lazy('script', function () {\n return _this2.project.vm.createScript(_this2.contents, {\n filename: _this2.options.name\n });\n });\n }\n }, {\n key: 'run',\n value: function run() {\n var context = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return this.script.runInContext(this.project.vm.createContext((0, _extends3.default)({}, this.context, context)));\n }\n }], [{\n key: 'attach',\n value: function attach(project) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return (0, _helper.attach)(project, Script, (0, _extends3.default)({\n registryProp: 'scripts',\n lookupProp: 'script',\n registry: options.registry || Script.createRegistry()\n }, options));\n }\n }]);\n return Script;\n}(_helper2.default), _class.createRegistry = function () {\n return new _skypagerRegistry.Context('scripts', {\n context: __webpack_require__(35)\n });\n}, _temp);\nexports.default = Script;\nvar validate = exports.validate = function validate() {\n var providerModule = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var report = {\n pass: true,\n errors: [],\n warnings: []\n };\n\n if (typeof providerModule !== 'string') {\n report.pass = false;\n report.errors.push('Script module helpers should export a code. Use the raw loader from webpack');\n }\n\n return report;\n};\n\n/***/ },\n\n/***/ \"./src/helpers/server.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.validate = exports.Server = undefined;\n\nvar _extends2 = __webpack_require__(0);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _toConsumableArray2 = __webpack_require__(2);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _getPrototypeOf = __webpack_require__(8);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(4);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(5);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(11);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(10);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _class, _temp;\n\nvar _skypagerRegistry = __webpack_require__(13);\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nvar _bluebird = __webpack_require__(41);\n\nvar _has = __webpack_require__(18);\n\nvar _has2 = _interopRequireDefault(_has);\n\nvar _isFunction = __webpack_require__(15);\n\nvar _isFunction2 = _interopRequireDefault(_isFunction);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Server = exports.Server = (_temp = _class = function (_Helper) {\n (0, _inherits3.default)(Server, _Helper);\n\n function Server() {\n (0, _classCallCheck3.default)(this, Server);\n return (0, _possibleConstructorReturn3.default)(this, (Server.__proto__ || (0, _getPrototypeOf2.default)(Server)).apply(this, arguments));\n }\n\n (0, _createClass3.default)(Server, [{\n key: 'initialize',\n value: function initialize() {\n var _this2 = this;\n\n this.lazy('server', function () {\n return _this2.provider.create(_this2.options, _this2.context);\n });\n\n this.start = (0, _bluebird.promisify)(this.listen.bind(this));\n }\n }, {\n key: 'configure',\n value: function configure(fn) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return fn.call(this, this.server, options);\n }\n }, {\n key: 'use',\n value: function use() {\n var _server;\n\n return (_server = this.server).use.apply(_server, arguments);\n }\n }, {\n key: 'listen',\n value: function listen(port, host, callback) {\n var _server2;\n\n return (_server2 = this.server).listen.apply(_server2, (0, _toConsumableArray3.default)(args));\n }\n }], [{\n key: 'attach',\n value: function attach(project) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return (0, _helper.attach)(project, Runner, (0, _extends3.default)({\n registryProp: 'servers',\n lookupProp: 'server',\n registry: options.registry || Server.createRegistry()\n }, options));\n }\n }]);\n return Server;\n}(_helper2.default), _class.createRegistry = function () {\n return new _skypagerRegistry.Context('servers', {\n context: __webpack_require__(36)\n });\n}, _temp);\nvar validate = exports.validate = function validate() {\n var providerModule = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var report = {\n pass: true,\n errors: [],\n warnings: []\n };\n\n if (!(0, _has2.default)(providerModule, 'configure') || !(0, _isFunction2.default)(providerModule.create)) {\n report.pass = false;\n report.errors.push('Server modules must export a create function');\n }\n\n return report;\n};\n\n/***/ },\n\n/***/ \"./src/helpers/specification.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.validate = exports.Specification = undefined;\n\nvar _extends2 = __webpack_require__(0);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _getPrototypeOf = __webpack_require__(8);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(4);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(5);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(11);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(10);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _class, _temp; /**\n * @name Specification\n *\n * A Specification Document is a markdown document that has an h2 section heading titled `Specifications`.\n *\n * This section should contains one or more subsections identified by an h3 heading.\n \n * These subsections will have one or more code blocks that make assertions about a particular module.\n */\n\n\nvar _skypagerRegistry = __webpack_require__(13);\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Specification = exports.Specification = (_temp = _class = function (_Helper) {\n (0, _inherits3.default)(Specification, _Helper);\n\n function Specification() {\n (0, _classCallCheck3.default)(this, Specification);\n return (0, _possibleConstructorReturn3.default)(this, (Specification.__proto__ || (0, _getPrototypeOf2.default)(Specification)).apply(this, arguments));\n }\n\n (0, _createClass3.default)(Specification, [{\n key: 'run',\n value: function run() {}\n }], [{\n key: 'attach',\n value: function attach(project) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return (0, _helper.attach)(project, Specification, (0, _extends3.default)({\n registryProp: 'specifications',\n lookupProp: 'specification',\n registry: options.registry || Specification.createRegistry()\n }, options));\n }\n }]);\n return Specification;\n}(_helper2.default), _class.createRegistry = function () {\n return new _skypagerRegistry.Context('specifications', {\n context: __webpack_require__(28)\n });\n}, _temp);\nexports.default = Specification;\nvar validate = exports.validate = function validate() {\n var providerModule = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var report = {\n pass: true,\n errors: [],\n warnings: []\n };\n\n if (typeof providerModule !== 'string') {\n report.pass = false;\n report.errors.push('Specification module helpers should export strings. Use the raw loader from webpack');\n }\n\n return report;\n};\n\n/***/ },\n\n/***/ \"./src/index.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Portfolio = exports.load = exports.loadProject = exports.cli = exports.Skypager = undefined;\n\nvar _extends2 = __webpack_require__(0);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _skypagerProject = __webpack_require__(19);\n\nvar _skypagerProject2 = _interopRequireDefault(_skypagerProject);\n\nvar _helper = __webpack_require__(\"./src/helper.js\");\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nvar _cli = __webpack_require__(\"./src/cli.js\");\n\nvar CLI = _interopRequireWildcard(_cli);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Skypager = exports.Skypager = _skypagerProject2.default;\n\nvar cli = exports.cli = CLI;\n\nvar loadProject = exports.loadProject = Skypager.load.bind(Skypager);\n\nvar load = exports.load = Skypager.load.bind(Skypager);\n\nexports.default = Skypager;\nvar Portfolio = exports.Portfolio = _skypagerProject.Portfolio;\n\nif (!Skypager.helpers) {\n _helper2.default.attach(Skypager, _helper2.default, {\n lookupProp: 'helper',\n registryProp: 'helpers'\n });\n} else {\n Skypager.helpers.add(__webpack_require__(33));\n}\n\nSkypager.hideGetter('allHelpers', function () {\n return Skypager.helpers.available.map(function (id) {\n return Skypager.helpers.lookup(id);\n }).map(function (HelperType) {\n return HelperType.default ? HelperType.default : HelperType;\n }).filter(function (Helper) {\n return Helper.attach;\n });\n});\n\nSkypager.createSandbox = function () {\n var mods = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return (0, _extends3.default)({\n Skypager: Skypager,\n CLI: CLI\n }, mods);\n};\n\nSkypager.projectDidLoad = function (project) {\n Skypager.allHelpers.map(function (HelperType) {\n return HelperType.attach(project);\n });\n\n project.hide('cli', CLI.cli);\n project.hide('repl', function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var fn = arguments[1];\n return CLI.repl(options, project.createSandbox(), fn);\n });\n\n return project;\n};\n\n/***/ },\n\n/***/ \"./src/runners/ansi-html.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(0);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nexports.create = create;\n\nvar _skypagerProcessRunner = __webpack_require__(51);\n\nvar _skypagerProcessRunner2 = _interopRequireDefault(_skypagerProcessRunner);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction create() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var project = context.project;\n var cmd = options.cmd;\n var _options$prefix = options.prefix;\n var prefix = _options$prefix === undefined ? project.id : _options$prefix;\n var _options$group = options.group;\n var group = _options$group === undefined ? 'runners' : _options$group;\n\n\n var runner = new _skypagerProcessRunner2.default(cmd, (0, _extends3.default)({\n outputFolder: project.join(project.get('paths.logs', 'logs')),\n cwd: project.cwd,\n prefix: prefix,\n group: group\n }, options));\n\n return runner;\n}\n\nexports.default = create;\n\n/***/ },\n\n/***/ \"./src/runners/docker.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createDockerFile = undefined;\n\nvar _extends2 = __webpack_require__(0);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nexports.create = create;\n\nvar _ansiHtml = __webpack_require__(\"./src/runners/ansi-html.js\");\n\nvar _ansiHtml2 = _interopRequireDefault(_ansiHtml);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction create(options, context) {\n return (0, _ansiHtml2.default)((0, _extends3.default)({}, options, {\n cmd: function cmd(command) {\n return 'docker run -t skypager/skypager ' + command;\n }\n }), context);\n}\n\nexports.default = create;\nvar createDockerFile = exports.createDockerFile = function createDockerFile() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$node = options.node;\n var node = _options$node === undefined ? 'node:6.6' : _options$node;\n\n\n return '\\n FROM ' + node + '\\n WORKDIR /app\\n COPY package.json /app/package.json\\n RUN npm install yarn skypager-cli -g\\n RUN yarn install\\n RUN ln -s /app/node_modules/.bin/* /usr/local/bin\\n RUN alias launch /app/node_modules/.bin/skypager\\n ';\n};\n\n/***/ },\n\n/***/ \"./src/terse-webpack/Expression.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = undefined;\n\nvar _classCallCheck2 = __webpack_require__(4);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(5);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Expression = function () {\n function Expression(expression) {\n (0, _classCallCheck3.default)(this, Expression);\n\n this.expression = expression;\n }\n\n (0, _createClass3.default)(Expression, [{\n key: \"toString\",\n value: function toString() {\n return this.expression.toString();\n }\n }, {\n key: \"value\",\n value: function value() {\n return this.expression();\n }\n }]);\n return Expression;\n}();\n\nexports.default = Expression;\n\n/***/ },\n\n/***/ \"./src/terse-webpack/Plugin.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = undefined;\n\nvar _stringify = __webpack_require__(7);\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nvar _toConsumableArray2 = __webpack_require__(2);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _classCallCheck2 = __webpack_require__(4);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(5);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _toArray2 = __webpack_require__(20);\n\nvar _toArray3 = _interopRequireDefault(_toArray2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar traverse = function traverse() {\n var paths = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var root = arguments[1];\n\n if (!paths.length) {\n return root;\n }\n\n var _paths = (0, _toArray3.default)(paths);\n\n var next = _paths[0];\n\n var rest = _paths.slice(1);\n\n if (root) {\n return traverse(rest, root[next]);\n }\n\n var Module = require(next);\n\n return traverse(rest, Module.default || Module);\n};\n\nvar Plugin = function () {\n function Plugin(name) {\n (0, _classCallCheck3.default)(this, Plugin);\n\n this.name = name;\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n this.args = args;\n }\n\n (0, _createClass3.default)(Plugin, [{\n key: \"apply\",\n value: function apply(compiler) {\n var Instance = traverse(this.name.split(\".\"));\n var instance = new (Function.prototype.bind.apply(Instance, [null].concat((0, _toConsumableArray3.default)(this.args))))();\n\n instance.apply.call(instance, compiler);\n\n return instance;\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var stringify = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function (value) {\n return (0, _stringify2.default)(value, null, 2);\n };\n\n if (!this.args.length) {\n return \"new terse.Plugin(\\\"\" + this.name + \"\\\")\";\n }\n\n return \"new terse.Plugin(\\\"\" + this.name + \"\\\", \" + this.args.map(stringify).join(\",\\n\") + \")\";\n }\n }]);\n return Plugin;\n}();\n\nexports.default = Plugin;\n\n/***/ },\n\n/***/ \"./src/terse-webpack/api.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toConsumableArray2 = __webpack_require__(2);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _defineProperty2 = __webpack_require__(6);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _extends6 = __webpack_require__(0);\n\nvar _extends7 = _interopRequireDefault(_extends6);\n\nexports.default = api;\n\nvar _lodash = __webpack_require__(3);\n\nvar _features = __webpack_require__(\"./src/terse-webpack/features/index.js\");\n\nvar defaultFeatures = _interopRequireWildcard(_features);\n\nvar _reducers = __webpack_require__(\"./src/terse-webpack/reducers/index.js\");\n\nvar defaultReducers = _interopRequireWildcard(_reducers);\n\nvar _stringify = __webpack_require__(\"./src/terse-webpack/stringify.js\");\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction api(userFeatures, userReducers) {\n var history = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n\n var features = (0, _extends7.default)({}, defaultFeatures, userFeatures);\n var reducers = (0, _extends7.default)({}, defaultReducers, userReducers);\n\n var getState = function getState() {\n var initialState = (0, _lodash.reduce)(features, function (acc, feature, name) {\n var defaultValue = feature();\n\n if ((0, _lodash.isUndefined)(defaultValue)) {\n return acc;\n }\n\n return (0, _extends7.default)({}, acc, (0, _defineProperty3.default)({}, name, defaultValue));\n }, {});\n\n var state = history.reduce(function (acc, _ref) {\n var name = _ref.name;\n var args = _ref.args;\n\n var featureState = acc[name];\n var feature = features[name];\n\n return (0, _extends7.default)({}, acc, (0, _defineProperty3.default)({}, name, feature.apply(undefined, [featureState].concat((0, _toConsumableArray3.default)(args)))));\n }, initialState);\n\n Object.defineProperty(state, \"toString\", {\n value: function value() {\n return (0, _stringify2.default)(state);\n }\n });\n\n return state;\n };\n\n var getConfig = function getConfig(tap) {\n var state = getState();\n var config = (0, _lodash.reduce)(reducers, function (config, reducer, name) {\n var reduced = reducer(state);\n\n if ((0, _lodash.isUndefined)(reduced)) {\n return config;\n }\n\n return (0, _extends7.default)({}, config, (0, _defineProperty3.default)({}, name, reducer(state)));\n }, {});\n\n if (tap) {\n config = tap(config);\n }\n\n Object.defineProperty(config, \"toString\", {\n value: function value() {\n return (0, _stringify2.default)(config);\n }\n });\n\n return config;\n };\n\n var when = function when(env, configure) {\n var envs = Array.isArray(env) ? env : [env];\n var _process$env$NODE_ENV = process.env.NODE_ENV;\n var NODE_ENV = _process$env$NODE_ENV === undefined ? \"development\" : _process$env$NODE_ENV;\n\n\n if (env === true || envs.indexOf(NODE_ENV) !== -1) {\n return configure(api(features, reducers, history));\n } else if (typeof env === 'function' && env(getState(), getConfig)) {\n return configure(api(features, reducers, history));\n }\n\n return api(features, reducers, history);\n };\n\n return (0, _lodash.reduce)(features, function (acc, feature, name) {\n return (0, _extends7.default)({}, acc, (0, _defineProperty3.default)({}, name, function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return api(features, reducers, history.concat({ args: args, name: name }));\n }));\n }, {\n getConfig: getConfig,\n getState: getState,\n history: history,\n when: when\n });\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/features/alias.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(6);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _extends3 = __webpack_require__(0);\n\nvar _extends4 = _interopRequireDefault(_extends3);\n\nexports.default = alias;\n\nvar _path = __webpack_require__(1);\n\nvar _path2 = _interopRequireDefault(_path);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction alias() {\n var existing = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var from = arguments[1];\n var to = arguments[2];\n\n if (!arguments.length) {\n return;\n }\n\n return (0, _extends4.default)({}, existing, (0, _defineProperty3.default)({}, from, to || _path2.default.resolve(process.cwd(), \"node_modules\", from)));\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/features/context.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = context;\n\nvar _path = __webpack_require__(1);\n\nvar _path2 = _interopRequireDefault(_path);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction context(existing) {\n var folder = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : process.cwd();\n\n return _path2.default.resolve(folder);\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/features/entry.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(6);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _extends3 = __webpack_require__(0);\n\nvar _extends4 = _interopRequireDefault(_extends3);\n\nvar _keys = __webpack_require__(9);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nexports.default = entry;\n\nvar _lodash = __webpack_require__(3);\n\nvar _path = __webpack_require__(1);\n\nvar _path2 = _interopRequireDefault(_path);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar fromObject = function fromObject(entries) {\n return (0, _keys2.default)(entries).reduce(function (acc, key) {\n var entry = entries[key];\n\n return (0, _extends4.default)({}, acc, (0, _defineProperty3.default)({}, key, Array.isArray(entry) ? entry : [entry]));\n }, {});\n};\n\nvar fromString = function fromString(entry) {\n var parsed = _path2.default.parse(entry);\n var basename = _path2.default.basename(parsed.base, parsed.ext).toLowerCase();\n\n return (0, _defineProperty3.default)({}, basename, [entry]);\n};\n\nfunction entry(existing, arg) {\n if ((0, _lodash.isObject)(arg)) {\n return (0, _extends4.default)({}, existing, fromObject(arg));\n }\n\n if ((0, _lodash.isString)(arg)) {\n return (0, _extends4.default)({}, existing, fromString(arg));\n }\n\n return existing;\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/features/env.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = env;\nfunction env(existing, env) {\n return env || process.env.NODE_ENV || \"development\";\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/features/externals.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toConsumableArray2 = __webpack_require__(2);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nexports.default = externals;\n\nvar _lodash = __webpack_require__(3);\n\nvar _path = __webpack_require__(1);\n\nvar _path2 = _interopRequireDefault(_path);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction externals() {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var existing = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n if (!arguments.length) {\n return;\n }\n\n var externals = args.map(function (arg) {\n if (arg.match(/package.json$/)) {\n return __webpack_require__(\"./src/terse-webpack/helpers/externals.js\")({\n pkg: require(arg)\n });\n }\n\n if (!(0, _lodash.isString)(arg)) {\n return arg;\n }\n\n var _path$parse = _path2.default.parse(arg);\n\n var dir = _path$parse.dir;\n\n\n if (dir) {\n return _path2.default.resolve(process.cwd(), arg);\n }\n\n return arg;\n });\n\n return [].concat((0, _toConsumableArray3.default)(existing), (0, _toConsumableArray3.default)(externals));\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/features/index.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.skip = exports.target = exports.sourcemap = exports.plugin = exports.preLoader = exports.output = exports.node = exports.modules = exports.loaderModules = exports.loader = exports.externals = exports.env = exports.entry = exports.context = exports.alias = undefined;\n\nvar _alias2 = __webpack_require__(\"./src/terse-webpack/features/alias.js\");\n\nvar _alias3 = _interopRequireDefault(_alias2);\n\nvar _context2 = __webpack_require__(\"./src/terse-webpack/features/context.js\");\n\nvar _context3 = _interopRequireDefault(_context2);\n\nvar _entry2 = __webpack_require__(\"./src/terse-webpack/features/entry.js\");\n\nvar _entry3 = _interopRequireDefault(_entry2);\n\nvar _env2 = __webpack_require__(\"./src/terse-webpack/features/env.js\");\n\nvar _env3 = _interopRequireDefault(_env2);\n\nvar _externals2 = __webpack_require__(\"./src/terse-webpack/features/externals.js\");\n\nvar _externals3 = _interopRequireDefault(_externals2);\n\nvar _loader2 = __webpack_require__(\"./src/terse-webpack/features/loader.js\");\n\nvar _loader3 = _interopRequireDefault(_loader2);\n\nvar _loaderModules2 = __webpack_require__(\"./src/terse-webpack/features/loaderModules.js\");\n\nvar _loaderModules3 = _interopRequireDefault(_loaderModules2);\n\nvar _modules2 = __webpack_require__(\"./src/terse-webpack/features/modules.js\");\n\nvar _modules3 = _interopRequireDefault(_modules2);\n\nvar _node2 = __webpack_require__(\"./src/terse-webpack/features/node.js\");\n\nvar _node3 = _interopRequireDefault(_node2);\n\nvar _output2 = __webpack_require__(\"./src/terse-webpack/features/output.js\");\n\nvar _output3 = _interopRequireDefault(_output2);\n\nvar _preLoader2 = __webpack_require__(\"./src/terse-webpack/features/preLoader.js\");\n\nvar _preLoader3 = _interopRequireDefault(_preLoader2);\n\nvar _plugin2 = __webpack_require__(\"./src/terse-webpack/features/plugin.js\");\n\nvar _plugin3 = _interopRequireDefault(_plugin2);\n\nvar _sourcemap2 = __webpack_require__(\"./src/terse-webpack/features/sourcemap.js\");\n\nvar _sourcemap3 = _interopRequireDefault(_sourcemap2);\n\nvar _target2 = __webpack_require__(\"./src/terse-webpack/features/target.js\");\n\nvar _target3 = _interopRequireDefault(_target2);\n\nvar _skip2 = __webpack_require__(\"./src/terse-webpack/features/skip.js\");\n\nvar _skip3 = _interopRequireDefault(_skip2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.alias = _alias3.default;\nexports.context = _context3.default;\nexports.entry = _entry3.default;\nexports.env = _env3.default;\nexports.externals = _externals3.default;\nexports.loader = _loader3.default;\nexports.loaderModules = _loaderModules3.default;\nexports.modules = _modules3.default;\nexports.node = _node3.default;\nexports.output = _output3.default;\nexports.preLoader = _preLoader3.default;\nexports.plugin = _plugin3.default;\nexports.sourcemap = _sourcemap3.default;\nexports.target = _target3.default;\nexports.skip = _skip3.default;\n\n/***/ },\n\n/***/ \"./src/terse-webpack/features/loader.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(6);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _toConsumableArray2 = __webpack_require__(2);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _extends3 = __webpack_require__(0);\n\nvar _extends4 = _interopRequireDefault(_extends3);\n\nexports.default = loader;\n\nvar _defaults = __webpack_require__(22);\n\nvar _defaults2 = _interopRequireDefault(_defaults);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction loader() {\n var existing = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var loader = arguments[1];\n var ext = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \".js\";\n var options = arguments[3];\n\n if (!arguments.length) {\n // eslint-disable-line\n return;\n }\n\n existing = (0, _defaults2.default)(existing, {\n '.json': [{\n loader: 'json'\n }],\n '.yml': [{\n loader: 'json!yaml'\n }],\n '.yaml': [{\n loader: 'json!yaml'\n }]\n });\n\n var exts = Array.isArray(ext) ? ext : [ext];\n\n return exts.reduce(function (acc, ext) {\n var loaders = acc[ext] || [];\n\n return (0, _extends4.default)({}, acc, (0, _defineProperty3.default)({}, ext, [].concat((0, _toConsumableArray3.default)(loaders), [(0, _extends4.default)({\n loader: loader\n }, options)])));\n }, existing);\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/features/loaderModules.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toConsumableArray2 = __webpack_require__(2);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nexports.default = loaderModules;\n\nvar _path = __webpack_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar modRoot = (0, _path.join)(__dirname, '..');\nvar loadersPath = (0, _path.join)(modRoot, 'lib', 'loaders');\nvar modulesPath = (0, _path.join)(modRoot, 'node_modules');\n\nfunction loaderModules() {\n var existing = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [\"node_modules\", modRoot, loadersPath, modulesPath];\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n // Prefer newer entries\n return [].concat(args, (0, _toConsumableArray3.default)(existing));\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/features/modules.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toConsumableArray2 = __webpack_require__(2);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nexports.default = modules;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction modules() {\n var existing = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [\"node_modules\"];\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n // Prefer newer entries\n return [].concat(args, (0, _toConsumableArray3.default)(existing));\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/features/node.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(0);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nexports.default = node;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction node(existing, polyfills) {\n if (!arguments.length) {\n return;\n }\n\n return (0, _extends3.default)({}, existing, polyfills);\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/features/output.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(0);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nexports.default = outputFeature;\n\nvar _lodash = __webpack_require__(3);\n\nvar _path = __webpack_require__(1);\n\nvar _path2 = _interopRequireDefault(_path);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction outputFeature(existing, output) {\n if ((0, _lodash.isPlainObject)(output)) {\n return (0, _extends3.default)({}, existing, output);\n }\n\n if ((0, _lodash.isString)(output)) {\n return (0, _extends3.default)({}, existing, {\n path: _path2.default.resolve(process.cwd(), output)\n });\n }\n\n return existing;\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/features/plugin.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(6);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _extends3 = __webpack_require__(0);\n\nvar _extends4 = _interopRequireDefault(_extends3);\n\nexports.default = pluginFeature;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction pluginFeature(existing, name) {\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n if (!arguments.length) {\n return;\n }\n\n return (0, _extends4.default)({}, existing, (0, _defineProperty3.default)({}, name, args));\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/features/preLoader.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _loader = __webpack_require__(\"./src/terse-webpack/features/loader.js\");\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _loader2.default;\n\n/***/ },\n\n/***/ \"./src/terse-webpack/features/skip.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toConsumableArray2 = __webpack_require__(2);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nexports.default = skip;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction skip() {\n var existing = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n // Prefer newer entries\n return [].concat(args, (0, _toConsumableArray3.default)(existing));\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/features/sourcemap.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = sourcemap;\nfunction sourcemap(existing, sourcemap) {\n if (!arguments.length) {\n return;\n }\n\n return sourcemap;\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/features/target.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = targetFeature;\nfunction targetFeature() {\n var existing = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"web\";\n var target = arguments[1];\n\n return target || existing;\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/helpers/externals.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nvar _keys = __webpack_require__(9);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* eslint-disable */\n// @copyright https://github.com/liady/\n\nvar fs = __webpack_require__(12);\nvar path = __webpack_require__(1);\n\nmodule.exports = function nodeExternals(options) {\n options = options || {};\n var whitelist = [].concat(options.whitelist || []);\n var binaryDirs = [].concat(options.binaryDirs || ['.bin']);\n var importType = options.importType || 'commonjs';\n var modulesDir = options.modulesDir || 'node_modules';\n var modulesFromFile = !!options.modulesFromFile;\n\n // helper function\n function isNotBinary(x) {\n return !contains(binaryDirs, x);\n }\n\n // create the node modules list\n var nodeModules = modulesFromFile ? readFromPackageJson(options.pkg) : readDir(modulesDir).filter(isNotBinary);\n\n // return an externals function\n return function (context, request, callback) {\n var moduleName = options.includeAbsolutePaths ? getModuleName(request) : request.split('/')[0];\n if (contains(nodeModules, moduleName) && !containsPattern(whitelist, request)) {\n // mark this module as external\n // https://webpack.github.io/docs/configuration.html#externals\n return callback(null, importType + \" \" + request);\n };\n callback();\n };\n};\n\nfunction contains(arr, val) {\n return arr && arr.indexOf(val) !== -1;\n}\n\nfunction readDir(dirName) {\n try {\n return fs.readdirSync(dirName);\n } catch (e) {\n return [];\n }\n}\n\nfunction readFromPackageJson(packageJson) {\n var sections = ['dependencies', 'devDependencies', 'peerDependencies', 'optionalDependencies'];\n var deps = {};\n sections.forEach(function (section) {\n (0, _keys2.default)(packageJson[section] || {}).forEach(function (dep) {\n deps[dep] = true;\n });\n });\n return (0, _keys2.default)(deps);\n}\n\nfunction containsPattern(arr, val) {\n return arr && arr.some(function (pattern) {\n if (pattern instanceof RegExp) {\n return pattern.test(val);\n } else {\n return pattern == val;\n }\n });\n}\n\nfunction getModuleName(request, modulesDir) {\n var req = request;\n // in case absolute, strip all parts before */modulesDir/\n req = req.replace(/^.*?\\/node_modules\\//, '');\n // return the module name\n return req.split('/')[0];\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/index.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Plugin = exports.Expression = exports.api = undefined;\n\nvar _api2 = __webpack_require__(\"./src/terse-webpack/api.js\");\n\nvar _api3 = _interopRequireDefault(_api2);\n\nvar _Expression2 = __webpack_require__(\"./src/terse-webpack/Expression.js\");\n\nvar _Expression3 = _interopRequireDefault(_Expression2);\n\nvar _Plugin2 = __webpack_require__(\"./src/terse-webpack/Plugin.js\");\n\nvar _Plugin3 = _interopRequireDefault(_Plugin2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.api = _api3.default;\nexports.Expression = _Expression3.default;\nexports.Plugin = _Plugin3.default;\n\n/***/ },\n\n/***/ \"./src/terse-webpack/plugins/change-monitor.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ChangeMonitorPlugin = undefined;\n\nvar _keys = __webpack_require__(9);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nvar _classCallCheck2 = __webpack_require__(4);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(5);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _isFunction = __webpack_require__(15);\n\nvar _isFunction2 = _interopRequireDefault(_isFunction);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ChangeMonitorPlugin = exports.ChangeMonitorPlugin = function () {\n function ChangeMonitorPlugin(changeHandler) {\n var debounceValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;\n (0, _classCallCheck3.default)(this, ChangeMonitorPlugin);\n\n if (!(0, _isFunction2.default)(changeHandler)) {\n throw 'ChangeMonitorPlugin requires a changeHandler option';\n }\n\n this.changeHandler = changeHandler;\n this.startTime = Date.now();\n this.chunkVersions = {};\n this.prevTimestamps = {};\n }\n\n (0, _createClass3.default)(ChangeMonitorPlugin, [{\n key: 'apply',\n value: function apply(compiler) {\n var _this = this;\n\n compiler.plugin('emit', function (compilation, callback) {\n var changedChunks = compilation.chunks.filter(function (chunk) {\n var oldVersion = _this.chunkVersions[chunk.name];\n _this.chunkVersions[chunk.name] = chunk.hash;\n return chunk.hash !== oldVersion;\n });\n\n var changedFiles = (0, _keys2.default)(compilation.fileTimestamps).filter(function (watchfile) {\n (_this.prevTimestamps[watchfile] || _this.startTime) < (compilation.fileTimestamps[watchfile] || Infinity);\n });\n\n if (changedChunks.length > 0 && changedFiles.length > 0) {\n _this.changeHandler(changedChunks, changedFiles, _this.chunkVersions, compilation, callback);\n } else {\n callback();\n }\n });\n }\n }]);\n return ChangeMonitorPlugin;\n}();\n\nexports.default = ChangeMonitorPlugin;\n\n/***/ },\n\n/***/ \"./src/terse-webpack/plugins/extra-entry-plugin.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\n// @copyright https://github.com/jantimon\n/* eslint-disable */\n\nvar MultiEntryPlugin = __webpack_require__(53);\nvar SingleEntryPlugin = __webpack_require__(54);\n\nfunction ExtraEntryWebpackPlugin(options) {\n this.options = {\n entryName: options.entryName,\n entry: options.entry,\n outputName: options.outputName,\n context: options.context\n };\n}\n\nExtraEntryWebpackPlugin.prototype.apply = function (compiler) {\n var entry = this.options.entry;\n var context = this.options.context || this.context;\n var outputName = this.options.outputName;\n var entryName = this.options.entryName || 'extra-entry for \"' + outputName + '\"';\n\n var EntryPlugin = Array.isArray(entry) ? MultiEntryPlugin : SingleEntryPlugin;\n\n // Inject entry into the main compilation\n compiler.apply(new EntryPlugin(context, entry, entryName));\n\n // Output configuration of the injected entry\n compiler.plugin('compilation', function (compilation) {\n var mainFile = compilation.outputOptions.filename || 'bundle.js';\n compilation.mainTemplate.plugin('asset-path', function (name, data) {\n if (name !== mainFile) {\n return name;\n }\n return data.chunk && data.chunk.name === entryName ? outputName : name;\n });\n });\n};\n\nmodule.exports = ExtraEntryWebpackPlugin;\n\n/***/ },\n\n/***/ \"./src/terse-webpack/reducers/cache.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cache;\nfunction cache(state) {\n var env = state.env;\n\n\n if (env) {\n return [\"development\", \"test\"].indexOf(env) !== -1;\n }\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/reducers/devtool.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = devtoolReducer;\nfunction devtoolReducer(state) {\n var sourcemap = state.sourcemap;\n\n\n return sourcemap;\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/reducers/entry.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _defineProperty2 = __webpack_require__(6);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _extends3 = __webpack_require__(0);\n\nvar _extends4 = _interopRequireDefault(_extends3);\n\nexports.default = entryReducer;\n\nvar _path = __webpack_require__(1);\n\nvar _lodash = __webpack_require__(3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar resolveEntries = function resolveEntries(paths, context) {\n return paths.map(function (path) {\n return path.charAt(0) === '.' ? (0, _path.resolve)(context, path) : path;\n });\n};\n\nfunction entryReducer(state) {\n var entry = state.entry;\n var _state$context = state.context;\n var context = _state$context === undefined ? process.cwd() : _state$context;\n\n\n if (entry) {\n return (0, _lodash.reduce)(entry, function (acc, entries, name) {\n return (0, _extends4.default)({}, acc, (0, _defineProperty3.default)({}, name, resolveEntries(entries, context)));\n }, {});\n }\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/reducers/externals.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = externals;\nfunction externals(state) {\n var externals = state.externals;\n\n\n return externals;\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/reducers/index.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.target = exports.resolveLoader = exports.resolve = exports.plugins = exports.output = exports.node = exports.module = exports.externals = exports.entry = exports.devtool = exports.cache = undefined;\n\nvar _cache2 = __webpack_require__(\"./src/terse-webpack/reducers/cache.js\");\n\nvar _cache3 = _interopRequireDefault(_cache2);\n\nvar _devtool2 = __webpack_require__(\"./src/terse-webpack/reducers/devtool.js\");\n\nvar _devtool3 = _interopRequireDefault(_devtool2);\n\nvar _entry2 = __webpack_require__(\"./src/terse-webpack/reducers/entry.js\");\n\nvar _entry3 = _interopRequireDefault(_entry2);\n\nvar _externals2 = __webpack_require__(\"./src/terse-webpack/reducers/externals.js\");\n\nvar _externals3 = _interopRequireDefault(_externals2);\n\nvar _module2 = __webpack_require__(\"./src/terse-webpack/reducers/module.js\");\n\nvar _module3 = _interopRequireDefault(_module2);\n\nvar _node2 = __webpack_require__(\"./src/terse-webpack/reducers/node.js\");\n\nvar _node3 = _interopRequireDefault(_node2);\n\nvar _output2 = __webpack_require__(\"./src/terse-webpack/reducers/output.js\");\n\nvar _output3 = _interopRequireDefault(_output2);\n\nvar _plugins2 = __webpack_require__(\"./src/terse-webpack/reducers/plugins.js\");\n\nvar _plugins3 = _interopRequireDefault(_plugins2);\n\nvar _resolve2 = __webpack_require__(\"./src/terse-webpack/reducers/resolve.js\");\n\nvar _resolve3 = _interopRequireDefault(_resolve2);\n\nvar _resolveLoader2 = __webpack_require__(\"./src/terse-webpack/reducers/resolveLoader.js\");\n\nvar _resolveLoader3 = _interopRequireDefault(_resolveLoader2);\n\nvar _target2 = __webpack_require__(\"./src/terse-webpack/reducers/target.js\");\n\nvar _target3 = _interopRequireDefault(_target2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.cache = _cache3.default;\nexports.devtool = _devtool3.default;\nexports.entry = _entry3.default;\nexports.externals = _externals3.default;\nexports.module = _module3.default;\nexports.node = _node3.default;\nexports.output = _output3.default;\nexports.plugins = _plugins3.default;\nexports.resolve = _resolve3.default;\nexports.resolveLoader = _resolveLoader3.default;\nexports.target = _target3.default;\n\n/***/ },\n\n/***/ \"./src/terse-webpack/reducers/module.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(0);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _toConsumableArray2 = __webpack_require__(2);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nexports.default = moduleReducer;\n\nvar _reduce = __webpack_require__(23);\n\nvar _reduce2 = _interopRequireDefault(_reduce);\n\nvar _castArray = __webpack_require__(17);\n\nvar _castArray2 = _interopRequireDefault(_castArray);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar toArray = function toArray(exts) {\n return (0, _reduce2.default)(exts, function (acc, loaders, ext) {\n var test = new RegExp(ext.replace(\".\", \"\\\\.\") + '$');\n\n return [].concat((0, _toConsumableArray3.default)(acc), (0, _toConsumableArray3.default)(loaders.map(function (loader) {\n return (0, _extends3.default)({\n test: test\n }, loader);\n })));\n }, []);\n};\n\nfunction moduleReducer(state) {\n var loader = state.loader;\n var preLoader = state.preLoader;\n var target = state.target;\n var skip = state.skip;\n\n\n var base = {\n loaders: toArray(loader),\n preLoaders: toArray(preLoader),\n noParse: skip.reduce(function (memo, list) {\n return memo.concat((0, _castArray2.default)(list));\n }, [])\n };\n\n if (target.match(/node$/) || target.match(/electron-main/)) {\n base.exprContextRegExp = /$^/;\n base.exprContextCritical = false;\n }\n\n return base;\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/reducers/node.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(0);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nexports.default = node;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction node(state) {\n var node = state.node;\n var target = state.target;\n\n\n if (target === \"node\") {\n return (0, _extends3.default)({\n __filename: true,\n __dirname: true\n }, node);\n }\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/reducers/output.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = __webpack_require__(0);\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nexports.default = outputReducer;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction outputReducer(state) {\n var output = state.output;\n var target = state.target;\n\n\n if (output) {\n return (0, _extends3.default)({\n chunkFilename: \"[id].[hash:5]-[chunkhash:7].js\",\n devtoolModuleFilenameTemplate: \"[absolute-resource-path]\",\n filename: \"[name].js\",\n libraryTarget: target === \"web\" ? \"var\" : \"commonjs2\",\n publicPath: \"/\"\n }, output);\n }\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/reducers/plugins.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toConsumableArray2 = __webpack_require__(2);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nexports.default = plugins;\n\nvar _lodash = __webpack_require__(3);\n\nvar _Plugin = __webpack_require__(\"./src/terse-webpack/Plugin.js\");\n\nvar _Plugin2 = _interopRequireDefault(_Plugin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction plugins(state) {\n var plugin = state.plugin;\n\n\n return (0, _lodash.reduce)(plugin, function (acc, args, name) {\n return [].concat((0, _toConsumableArray3.default)(acc), [new (Function.prototype.bind.apply(_Plugin2.default, [null].concat([name], (0, _toConsumableArray3.default)(args))))()]);\n }, []);\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/reducers/resolve.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = resolve;\n\nvar _path = __webpack_require__(1);\n\nvar _path2 = _interopRequireDefault(_path);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction resolve(state) {\n var alias = state.alias;\n var modules = state.modules;\n\n\n var resolve = {};\n\n if (alias) {\n resolve.alias = alias;\n }\n\n if (modules) {\n resolve.modules = modules.map(function (folder) {\n var _path$parse = _path2.default.parse(folder);\n\n var dir = _path$parse.dir;\n\n // e.g. \"./lib\" => `${context}/lib`\n\n if (dir) {\n return _path2.default.resolve(process.cwd(), folder);\n }\n\n // e.g. \"node_modules\"\n return folder;\n });\n }\n\n return resolve;\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/reducers/resolveLoader.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = resolveLoader;\n\nvar _path = __webpack_require__(1);\n\nvar _path2 = _interopRequireDefault(_path);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction resolveLoader(state) {\n var loaderModules = state.loaderModules;\n\n\n var resolveLoader = {};\n\n if (loaderModules) {\n resolveLoader.modules = loaderModules.map(function (folder) {\n var _path$parse = _path2.default.parse(folder);\n\n var dir = _path$parse.dir;\n\n // e.g. \"./lib\" => `${context}/lib`\n\n if (dir) {\n return _path2.default.resolve(process.cwd(), folder);\n }\n\n // e.g. \"node_modules\"\n return folder;\n });\n }\n\n return resolveLoader;\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/reducers/target.js\":\n/***/ function(module, exports) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = target;\nfunction target(state) {\n var target = state.target;\n\n\n return target;\n}\n\n/***/ },\n\n/***/ \"./src/terse-webpack/stringify.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _stringify = __webpack_require__(7);\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nvar _keys = __webpack_require__(9);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nexports.default = stringify;\n\nvar _lodash = __webpack_require__(3);\n\nvar _Expression = __webpack_require__(\"./src/terse-webpack/Expression.js\");\n\nvar _Expression2 = _interopRequireDefault(_Expression);\n\nvar _Plugin = __webpack_require__(\"./src/terse-webpack/Plugin.js\");\n\nvar _Plugin2 = _interopRequireDefault(_Plugin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction stringify(value) {\n var replacements = [];\n\n var replace = function replace(replacement) {\n return \"__REPLACEMENT_\" + (replacements.push(replacement) - 1) + \"__\";\n };\n\n var sort = function sort(object) {\n return (0, _keys2.default)(object).sort().reduce(function (sorted, key) {\n sorted[key] = object[key];\n\n return sorted;\n }, {});\n };\n\n var replacer = function replacer(key, value) {\n if (value instanceof _Expression2.default) {\n return replace(value.toString());\n }\n\n if (value instanceof _Plugin2.default) {\n return replace(value.toString(stringify));\n }\n\n if (value instanceof RegExp) {\n return replace(value.toString());\n }\n\n return value;\n };\n\n var string = (0, _stringify2.default)(_lodash.isPlainObject ? sort(value) : value, replacer, 2);\n\n return string.replace(/(^[\\s]+)?\"__REPLACEMENT_([\\d]+)__\"/gm, function (match) {\n var indent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"\";\n var index = arguments[2];\n return (\"\" + indent + replacements[index]).split(\"\\n\").join(\"\\n\" + indent);\n });\n}\n\n/***/ },\n\n/***/ \"./src/utils/config-values.js\":\n/***/ function(module, exports, __webpack_require__) {\n\n\"use strict\";\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getModuleFolders = undefined;\n\nvar _castArray = __webpack_require__(17);\n\nvar _castArray2 = _interopRequireDefault(_castArray);\n\nvar _isFunction = __webpack_require__(15);\n\nvar _isFunction2 = _interopRequireDefault(_isFunction);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar getModuleFolders = exports.getModuleFolders = function getModuleFolders() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _options$moduleFolder = options.moduleFolders;\n var moduleFolders = _options$moduleFolder === undefined ? [] : _options$moduleFolder;\n\n\n if ((0, _isFunction2.default)(options)) {\n moduleFolders = options();\n }\n\n return (0, _castArray2.default)(moduleFolders);\n};\n\n/***/ },\n\n/***/ 0:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/extends\");\n\n/***/ },\n\n/***/ 1:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"path\");\n\n/***/ },\n\n/***/ 10:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/inherits\");\n\n/***/ },\n\n/***/ 11:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/possibleConstructorReturn\");\n\n/***/ },\n\n/***/ 12:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"fs\");\n\n/***/ },\n\n/***/ 13:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"skypager-registry\");\n\n/***/ },\n\n/***/ 14:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"skypager-repl\");\n\n/***/ },\n\n/***/ 15:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/isFunction\");\n\n/***/ },\n\n/***/ 17:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/castArray\");\n\n/***/ },\n\n/***/ 18:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/has\");\n\n/***/ },\n\n/***/ 19:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"skypager-project\");\n\n/***/ },\n\n/***/ 2:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/toConsumableArray\");\n\n/***/ },\n\n/***/ 20:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/toArray\");\n\n/***/ },\n\n/***/ 21:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/chunk\");\n\n/***/ },\n\n/***/ 22:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/defaults\");\n\n/***/ },\n\n/***/ 23:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/reduce\");\n\n/***/ },\n\n/***/ 24:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/promise\");\n\n/***/ },\n\n/***/ 27:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"skypager-util\");\n\n/***/ },\n\n/***/ 28:\n/***/ function(module, exports) {\n\nfunction webpackEmptyContext(req) {\n\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 28;\n\n\n/***/ },\n\n/***/ 29:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./metadata.js\": \"./src/bundlers/metadata.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 29;\n\n\n/***/ },\n\n/***/ 3:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash\");\n\n/***/ },\n\n/***/ 30:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./build.js\": \"./src/commands/build.js\",\n\t\"./console.js\": \"./src/commands/console.js\",\n\t\"./info.js\": \"./src/commands/info.js\",\n\t\"./new.js\": \"./src/commands/new.js\",\n\t\"./run.js\": \"./src/commands/run.js\",\n\t\"./setup.js\": \"./src/commands/setup.js\",\n\t\"./start.js\": \"./src/commands/start.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 30;\n\n\n/***/ },\n\n/***/ 31:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./documents.js\": \"./src/compilers/documents.js\",\n\t\"./electron-browser.js\": \"./src/compilers/electron-browser.js\",\n\t\"./electron-main.js\": \"./src/compilers/electron-main.js\",\n\t\"./node.js\": \"./src/compilers/node.js\",\n\t\"./web.js\": \"./src/compilers/web.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 31;\n\n\n/***/ },\n\n/***/ 32:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./dockerfile.js\": \"./src/factories/dockerfile.js\",\n\t\"./helper-registry.js\": \"./src/factories/helper-registry.js\",\n\t\"./portfolio-container.js\": \"./src/factories/portfolio-container.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 32;\n\n\n/***/ },\n\n/***/ 33:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./bundler.js\": \"./src/helpers/bundler.js\",\n\t\"./command.js\": \"./src/helpers/command.js\",\n\t\"./compiler.js\": \"./src/helpers/compiler.js\",\n\t\"./factory.js\": \"./src/helpers/factory.js\",\n\t\"./runner.js\": \"./src/helpers/runner.js\",\n\t\"./script.js\": \"./src/helpers/script.js\",\n\t\"./server.js\": \"./src/helpers/server.js\",\n\t\"./specification.js\": \"./src/helpers/specification.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 33;\n\n\n/***/ },\n\n/***/ 34:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./ansi-html.js\": \"./src/runners/ansi-html.js\",\n\t\"./docker.js\": \"./src/runners/docker.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 34;\n\n\n/***/ },\n\n/***/ 35:\n/***/ function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./build.js\": \"./node_modules/raw-loader/index.js!./node_modules/babel-loader/index.js!./src/scripts/build.js\",\n\t\"./validate-helpers.js\": \"./node_modules/raw-loader/index.js!./node_modules/babel-loader/index.js!./src/scripts/validate-helpers.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 35;\n\n\n/***/ },\n\n/***/ 36:\n/***/ function(module, exports) {\n\nfunction webpackEmptyContext(req) {\n\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 36;\n\n\n/***/ },\n\n/***/ 38:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/object/assign\");\n\n/***/ },\n\n/***/ 39:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/object/define-property\");\n\n/***/ },\n\n/***/ 4:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/classCallCheck\");\n\n/***/ },\n\n/***/ 41:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"bluebird\");\n\n/***/ },\n\n/***/ 42:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"commander\");\n\n/***/ },\n\n/***/ 44:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/invoke\");\n\n/***/ },\n\n/***/ 45:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"lodash/mapKeys\");\n\n/***/ },\n\n/***/ 46:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"memory-fs\");\n\n/***/ },\n\n/***/ 47:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"mobx\");\n\n/***/ },\n\n/***/ 48:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"module\");\n\n/***/ },\n\n/***/ 5:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/createClass\");\n\n/***/ },\n\n/***/ 50:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"qs\");\n\n/***/ },\n\n/***/ 51:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"skypager-process-runner\");\n\n/***/ },\n\n/***/ 52:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"webpack\");\n\n/***/ },\n\n/***/ 53:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"webpack/lib/MultiEntryPlugin\");\n\n/***/ },\n\n/***/ 54:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"webpack/lib/SingleEntryPlugin\");\n\n/***/ },\n\n/***/ 55:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"yargs\");\n\n/***/ },\n\n/***/ 59:\n/***/ function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"./src/index.js\");\n\n\n/***/ },\n\n/***/ 6:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/helpers/defineProperty\");\n\n/***/ },\n\n/***/ 7:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/json/stringify\");\n\n/***/ },\n\n/***/ 8:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/object/get-prototype-of\");\n\n/***/ },\n\n/***/ 9:\n/***/ function(module, exports) {\n\nmodule.exports = require(\"babel-runtime/core-js/object/keys\");\n\n/***/ }\n\n/******/ });\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/skypager/lib?method=run&code=project.compilers.available\n// module id = ../../node_modules/skypager/lib/index.js?method=run&code=project.compilers.available\n// module chunks = 0","module.exports = function(oldstring) {\n var newstring = ''\n , i = 0\n , l = oldstring.length\n , character\n\n for (i; i < l; i += 1) {\n character = oldstring.charCodeAt(i)\n if (character > 127) {\n newstring += '&#' + character + ';'\n } else {\n newstring += oldstring[i]\n }\n }\n\n\n return newstring\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/special-html/index.js\n// module id = ../../node_modules/special-html/index.js\n// module chunks = 0","/*! http://mths.be/codepointat v0.2.0 by @mathias */\nif (!String.prototype.codePointAt) {\n\t(function() {\n\t\t'use strict'; // needed to support `apply`/`call` with `undefined`/`null`\n\t\tvar defineProperty = (function() {\n\t\t\t// IE 8 only supports `Object.defineProperty` on DOM elements\n\t\t\ttry {\n\t\t\t\tvar object = {};\n\t\t\t\tvar $defineProperty = Object.defineProperty;\n\t\t\t\tvar result = $defineProperty(object, object, object) && $defineProperty;\n\t\t\t} catch(error) {}\n\t\t\treturn result;\n\t\t}());\n\t\tvar codePointAt = function(position) {\n\t\t\tif (this == null) {\n\t\t\t\tthrow TypeError();\n\t\t\t}\n\t\t\tvar string = String(this);\n\t\t\tvar size = string.length;\n\t\t\t// `ToInteger`\n\t\t\tvar index = position ? Number(position) : 0;\n\t\t\tif (index != index) { // better `isNaN`\n\t\t\t\tindex = 0;\n\t\t\t}\n\t\t\t// Account for out-of-bounds indices:\n\t\t\tif (index < 0 || index >= size) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\t// Get the first code unit\n\t\t\tvar first = string.charCodeAt(index);\n\t\t\tvar second;\n\t\t\tif ( // check if it’s the start of a surrogate pair\n\t\t\t\tfirst >= 0xD800 && first <= 0xDBFF && // high surrogate\n\t\t\t\tsize > index + 1 // there is a next code unit\n\t\t\t) {\n\t\t\t\tsecond = string.charCodeAt(index + 1);\n\t\t\t\tif (second >= 0xDC00 && second <= 0xDFFF) { // low surrogate\n\t\t\t\t\t// http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n\t\t\t\t\treturn (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn first;\n\t\t};\n\t\tif (defineProperty) {\n\t\t\tdefineProperty(String.prototype, 'codePointAt', {\n\t\t\t\t'value': codePointAt,\n\t\t\t\t'configurable': true,\n\t\t\t\t'writable': true\n\t\t\t});\n\t\t} else {\n\t\t\tString.prototype.codePointAt = codePointAt;\n\t\t}\n\t}());\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/string.prototype.codepointat/codepointat.js\n// module id = ../../node_modules/string.prototype.codepointat/codepointat.js\n// module chunks = 0","module.exports = require(\"babel-runtime/helpers/extends\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"babel-runtime/helpers/extends\"\n// module id = 0\n// module chunks = 0","module.exports = require(\"lodash\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"lodash\"\n// module id = 1\n// module chunks = 0","module.exports = require(\"babel-runtime/helpers/defineProperty\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"babel-runtime/helpers/defineProperty\"\n// module id = 10\n// module chunks = 0","module.exports = require(\"babel-runtime/helpers/inherits\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"babel-runtime/helpers/inherits\"\n// module id = 11\n// module chunks = 0","module.exports = require(\"babel-runtime/helpers/possibleConstructorReturn\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"babel-runtime/helpers/possibleConstructorReturn\"\n// module id = 12\n// module chunks = 0","module.exports = require(\"fs-extra-promise\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"fs-extra-promise\"\n// module id = 13\n// module chunks = 0","module.exports = require(\"lodash/isFunction\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"lodash/isFunction\"\n// module id = 14\n// module chunks = 0","module.exports = require(\"skypager-registry\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"skypager-registry\"\n// module id = 15\n// module chunks = 0","module.exports = require(\"skypager-util\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"skypager-util\"\n// module id = 16\n// module chunks = 0","var map = {\n\t\"./0.js\": \"../../node_modules/skypager-project/lib/0.js\",\n\t\"./helper.js\": \"../../node_modules/skypager-project/lib/helper.js\",\n\t\"./index.js\": \"../../node_modules/skypager-project/lib/index.js\",\n\t\"./portfolio.js\": \"../../node_modules/skypager-project/lib/portfolio.js\",\n\t\"./project.js\": \"../../node_modules/skypager-project/lib/project.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 17;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/skypager-project/lib ^\\.\\/.*\\.js$\n// module id = 17\n// module chunks = 0","module.exports = require(\"babel-runtime/core-js/json/stringify\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"babel-runtime/core-js/json/stringify\"\n// module id = 18\n// module chunks = 0","module.exports = require(\"babel-runtime/core-js/object/assign\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"babel-runtime/core-js/object/assign\"\n// module id = 19\n// module chunks = 0","module.exports = require(\"path\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"path\"\n// module id = 2\n// module chunks = 0","module.exports = require(\"babel-runtime/helpers/asyncToGenerator\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"babel-runtime/helpers/asyncToGenerator\"\n// module id = 20\n// module chunks = 0","module.exports = require(\"babel-runtime/regenerator\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"babel-runtime/regenerator\"\n// module id = 21\n// module chunks = 0","module.exports = require(\"fbemitter\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"fbemitter\"\n// module id = 22\n// module chunks = 0","module.exports = require(\"fs\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"fs\"\n// module id = 23\n// module chunks = 0","module.exports = require(\"lodash/mapKeys\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"lodash/mapKeys\"\n// module id = 24\n// module chunks = 0","module.exports = require(\"lodash/mapValues\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"lodash/mapValues\"\n// module id = 25\n// module chunks = 0","module.exports = require(\"lodash/pick\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"lodash/pick\"\n// module id = 26\n// module chunks = 0","module.exports = require(\"minimist\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"minimist\"\n// module id = 27\n// module chunks = 0","module.exports = require(\"babel-register\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"babel-register\"\n// module id = 28\n// module chunks = 0","module.exports = require(\"babel-runtime/core-js/map\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"babel-runtime/core-js/map\"\n// module id = 29\n// module chunks = 0","module.exports = require(\"babel-runtime/helpers/classCallCheck\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"babel-runtime/helpers/classCallCheck\"\n// module id = 3\n// module chunks = 0","module.exports = require(\"babel-runtime/core-js/object/define-property\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"babel-runtime/core-js/object/define-property\"\n// module id = 30\n// module chunks = 0","module.exports = require(\"babel-runtime/core-js/object/values\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"babel-runtime/core-js/object/values\"\n// module id = 31\n// module chunks = 0","module.exports = require(\"babel-runtime/helpers/typeof\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"babel-runtime/helpers/typeof\"\n// module id = 32\n// module chunks = 0","module.exports = require(\"bluebird\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"bluebird\"\n// module id = 33\n// module chunks = 0","module.exports = require(\"clean-stack\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"clean-stack\"\n// module id = 34\n// module chunks = 0","module.exports = require(\"find-up\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"find-up\"\n// module id = 35\n// module chunks = 0","module.exports = require(\"isomorphic-vm\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"isomorphic-vm\"\n// module id = 36\n// module chunks = 0","module.exports = require(\"lodash/defaults\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"lodash/defaults\"\n// module id = 37\n// module chunks = 0","module.exports = require(\"lodash/get\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"lodash/get\"\n// module id = 38\n// module chunks = 0","module.exports = require(\"lodash/partial\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"lodash/partial\"\n// module id = 39\n// module chunks = 0","module.exports = require(\"babel-runtime/helpers/createClass\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"babel-runtime/helpers/createClass\"\n// module id = 4\n// module chunks = 0","module.exports = require(\"lodash/partialRight\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"lodash/partialRight\"\n// module id = 40\n// module chunks = 0","module.exports = require(\"lodash/result\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"lodash/result\"\n// module id = 41\n// module chunks = 0","module.exports = require(\"lodash/set\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"lodash/set\"\n// module id = 42\n// module chunks = 0","module.exports = require(\"mware\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"mware\"\n// module id = 43\n// module chunks = 0","module.exports = require(\"skypager-documents\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"skypager-documents\"\n// module id = 44\n// module chunks = 0","module.exports = require(\"winston\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"winston\"\n// module id = 45\n// module chunks = 0","function webpackEmptyContext(req) {\n\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 46;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/skypager-repl/dist $^\n// module id = 46\n// module chunks = 0","function webpackEmptyContext(req) {\n\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 47;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/skypager/lib $^\n// module id = 47\n// module chunks = 0","module.exports = require(\"babel-runtime/core-js/object/get-own-property-descriptors\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"babel-runtime/core-js/object/get-own-property-descriptors\"\n// module id = 48\n// module chunks = 0","module.exports = require(\"babel-runtime/helpers/toArray\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"babel-runtime/helpers/toArray\"\n// module id = 49\n// module chunks = 0","module.exports = require(\"babel-runtime/helpers/toConsumableArray\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"babel-runtime/helpers/toConsumableArray\"\n// module id = 5\n// module chunks = 0","module.exports = require(\"extend\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"extend\"\n// module id = 50\n// module chunks = 0","module.exports = require(\"findup-sync\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"findup-sync\"\n// module id = 51\n// module chunks = 0","module.exports = require(\"net\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"net\"\n// module id = 52\n// module chunks = 0","module.exports = require(\"source-map-support\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"source-map-support\"\n// module id = 53\n// module chunks = 0","var map = {\n\t\"./pty.js\": \"../../node_modules/pty.js/lib/pty.js\",\n\t\"./pty_win.js\": \"../../node_modules/pty.js/lib/pty_win.js\"\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 54;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/pty.js/lib ^\\.\\/pty.*\\.js$\n// module id = 54\n// module chunks = 0","module.exports = require(\"child-process-promise/lib/ChildProcessPromise\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"child-process-promise/lib/ChildProcessPromise\"\n// module id = 55\n// module chunks = 0","module.exports = require(\"clone\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"clone\"\n// module id = 56\n// module chunks = 0","module.exports = require(\"colors\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"colors\"\n// module id = 57\n// module chunks = 0","module.exports = require(\"colors/safe\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"colors/safe\"\n// module id = 58\n// module chunks = 0","module.exports = require(\"commander\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"commander\"\n// module id = 59\n// module chunks = 0","function webpackEmptyContext(req) {\n\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 6;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonathan/Skypager/~/skypager-project/lib $^\n// module id = 6\n// module chunks = 0","module.exports = require(\"escape-html\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"escape-html\"\n// module id = 60\n// module chunks = 0","module.exports = require(\"events\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"events\"\n// module id = 61\n// module chunks = 0","module.exports = require(\"lodash/camelCase\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"lodash/camelCase\"\n// module id = 62\n// module chunks = 0","module.exports = require(\"lodash/castArray\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"lodash/castArray\"\n// module id = 63\n// module chunks = 0","module.exports = require(\"lodash/chunk\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"lodash/chunk\"\n// module id = 64\n// module chunks = 0","module.exports = require(\"lodash/has\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"lodash/has\"\n// module id = 65\n// module chunks = 0","module.exports = require(\"lodash/invoke\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"lodash/invoke\"\n// module id = 66\n// module chunks = 0","module.exports = require(\"lodash/isEmpty\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"lodash/isEmpty\"\n// module id = 67\n// module chunks = 0","module.exports = require(\"lodash/isObject\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"lodash/isObject\"\n// module id = 68\n// module chunks = 0","module.exports = require(\"lodash/omit\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"lodash/omit\"\n// module id = 69\n// module chunks = 0","module.exports = require(\"babel-runtime/core-js/object/get-prototype-of\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"babel-runtime/core-js/object/get-prototype-of\"\n// module id = 7\n// module chunks = 0","module.exports = require(\"lodash/reduce\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"lodash/reduce\"\n// module id = 70\n// module chunks = 0","module.exports = require(\"lodash/sample\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"lodash/sample\"\n// module id = 71\n// module chunks = 0","module.exports = require(\"memory-fs\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"memory-fs\"\n// module id = 72\n// module chunks = 0","module.exports = require(\"module\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"module\"\n// module id = 73\n// module chunks = 0","module.exports = require(\"qs\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"qs\"\n// module id = 74\n// module chunks = 0","module.exports = require(\"readline\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"readline\"\n// module id = 75\n// module chunks = 0","module.exports = require(\"repl\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"repl\"\n// module id = 76\n// module chunks = 0","module.exports = require(\"stream\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"stream\"\n// module id = 77\n// module chunks = 0","module.exports = require(\"tty\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"tty\"\n// module id = 78\n// module chunks = 0","module.exports = require(\"util\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"util\"\n// module id = 79\n// module chunks = 0","module.exports = require(\"babel-runtime/core-js/object/keys\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"babel-runtime/core-js/object/keys\"\n// module id = 8\n// module chunks = 0","module.exports = require(\"webpack\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"webpack\"\n// module id = 80\n// module chunks = 0","module.exports = require(\"webpack/lib/MultiEntryPlugin\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"webpack/lib/MultiEntryPlugin\"\n// module id = 81\n// module chunks = 0","module.exports = require(\"webpack/lib/SingleEntryPlugin\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"webpack/lib/SingleEntryPlugin\"\n// module id = 82\n// module chunks = 0","module.exports = require(\"xtend\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"xtend\"\n// module id = 83\n// module chunks = 0","module.exports = require(\"yargs\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"yargs\"\n// module id = 84\n// module chunks = 0","module.exports = require(\"babel-runtime/core-js/promise\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"babel-runtime/core-js/promise\"\n// module id = 9\n// module chunks = 0"],"sourceRoot":""}
\No newline at end of file