From 85a5e3b51633fb6eed2facf47f3b05b0de81db6f Mon Sep 17 00:00:00 2001 From: Carmine De Rosa Date: Sat, 17 Feb 2018 09:59:57 +0100 Subject: [PATCH] add socket.io --- socket/START.sh | 1 + socket/index.js | 17 + socket/node_modules/.bin/babylon | 1 + socket/node_modules/.bin/loose-envify | 1 + socket/node_modules/accepts/HISTORY.md | 74 + socket/node_modules/accepts/LICENSE | 22 + socket/node_modules/accepts/README.md | 94 + socket/node_modules/accepts/index.js | 160 + socket/node_modules/accepts/package.json | 71 + socket/node_modules/after/.npmignore | 2 + socket/node_modules/after/.travis.yml | 12 + socket/node_modules/after/LICENCE | 19 + socket/node_modules/after/README.md | 115 + socket/node_modules/after/index.js | 28 + socket/node_modules/after/package.json | 63 + socket/node_modules/after/test/after-test.js | 120 + socket/node_modules/ansi-regex/index.js | 4 + socket/node_modules/ansi-regex/license | 21 + socket/node_modules/ansi-regex/package.json | 109 + socket/node_modules/ansi-regex/readme.md | 39 + socket/node_modules/ansi-styles/index.js | 65 + socket/node_modules/ansi-styles/license | 21 + socket/node_modules/ansi-styles/package.json | 90 + socket/node_modules/ansi-styles/readme.md | 86 + .../node_modules/arraybuffer.slice/.npmignore | 17 + socket/node_modules/arraybuffer.slice/LICENCE | 18 + .../node_modules/arraybuffer.slice/Makefile | 8 + .../node_modules/arraybuffer.slice/README.md | 17 + .../node_modules/arraybuffer.slice/index.js | 29 + .../arraybuffer.slice/package.json | 44 + .../arraybuffer.slice/test/slice-buffer.js | 227 + socket/node_modules/asap/CHANGES.md | 70 + socket/node_modules/asap/LICENSE.md | 21 + socket/node_modules/asap/README.md | 237 + socket/node_modules/asap/asap.js | 65 + socket/node_modules/asap/browser-asap.js | 66 + socket/node_modules/asap/browser-raw.js | 223 + socket/node_modules/asap/package.json | 87 + socket/node_modules/asap/raw.js | 101 + socket/node_modules/async-limiter/.travis.yml | 7 + socket/node_modules/async-limiter/LICENSE | 8 + .../async-limiter/coverage/coverage.json | 1 + .../lcov-report/async-throttle/index.html | 73 + .../lcov-report/async-throttle/index.js.html | 246 + .../coverage/lcov-report/base.css | 182 + .../coverage/lcov-report/index.html | 73 + .../coverage/lcov-report/prettify.css | 1 + .../coverage/lcov-report/prettify.js | 1 + .../lcov-report/sort-arrow-sprite.png | Bin 0 -> 209 bytes .../coverage/lcov-report/sorter.js | 156 + .../async-limiter/coverage/lcov.info | 74 + socket/node_modules/async-limiter/index.js | 67 + .../node_modules/async-limiter/package.json | 69 + socket/node_modules/async-limiter/readme.md | 132 + .../node_modules/babel-code-frame/.npmignore | 3 + .../node_modules/babel-code-frame/README.md | 60 + .../babel-code-frame/lib/index.js | 141 + .../babel-code-frame/package-lock.json | 66 + .../babel-code-frame/package.json | 46 + .../babel-helper-function-name/.npmignore | 3 + .../babel-helper-function-name/README.md | 5 + .../babel-helper-function-name/lib/index.js | 133 + .../babel-helper-function-name/package.json | 43 + .../.npmignore | 3 + .../babel-helper-get-function-arity/README.md | 5 + .../lib/index.js | 22 + .../package.json | 40 + socket/node_modules/babel-messages/.npmignore | 3 + socket/node_modules/babel-messages/README.md | 18 + .../node_modules/babel-messages/lib/index.js | 84 + .../node_modules/babel-messages/package.json | 44 + .../.npmignore | 3 + .../README.md | 35 + .../lib/index.js | 13 + .../package.json | 41 + .../.npmignore | 4 + .../README.md | 87 + .../lib/index.js | 252 + .../package.json | 48 + socket/node_modules/babel-runtime/.npmignore | 2 + socket/node_modules/babel-runtime/README.md | 2 + socket/node_modules/babel-runtime/core-js.js | 4 + .../babel-runtime/core-js/array/concat.js | 1 + .../core-js/array/copy-within.js | 1 + .../babel-runtime/core-js/array/entries.js | 1 + .../babel-runtime/core-js/array/every.js | 1 + .../babel-runtime/core-js/array/fill.js | 1 + .../babel-runtime/core-js/array/filter.js | 1 + .../babel-runtime/core-js/array/find-index.js | 1 + .../babel-runtime/core-js/array/find.js | 1 + .../babel-runtime/core-js/array/for-each.js | 1 + .../babel-runtime/core-js/array/from.js | 1 + .../babel-runtime/core-js/array/includes.js | 1 + .../babel-runtime/core-js/array/index-of.js | 1 + .../babel-runtime/core-js/array/join.js | 1 + .../babel-runtime/core-js/array/keys.js | 1 + .../core-js/array/last-index-of.js | 1 + .../babel-runtime/core-js/array/map.js | 1 + .../babel-runtime/core-js/array/of.js | 1 + .../babel-runtime/core-js/array/pop.js | 1 + .../babel-runtime/core-js/array/push.js | 1 + .../core-js/array/reduce-right.js | 1 + .../babel-runtime/core-js/array/reduce.js | 1 + .../babel-runtime/core-js/array/reverse.js | 1 + .../babel-runtime/core-js/array/shift.js | 1 + .../babel-runtime/core-js/array/slice.js | 1 + .../babel-runtime/core-js/array/some.js | 1 + .../babel-runtime/core-js/array/sort.js | 1 + .../babel-runtime/core-js/array/splice.js | 1 + .../babel-runtime/core-js/array/unshift.js | 1 + .../babel-runtime/core-js/array/values.js | 1 + .../babel-runtime/core-js/asap.js | 1 + .../babel-runtime/core-js/clear-immediate.js | 1 + .../babel-runtime/core-js/error/is-error.js | 1 + .../babel-runtime/core-js/get-iterator.js | 1 + .../babel-runtime/core-js/is-iterable.js | 1 + .../babel-runtime/core-js/json/stringify.js | 1 + .../node_modules/babel-runtime/core-js/map.js | 1 + .../babel-runtime/core-js/math/acosh.js | 1 + .../babel-runtime/core-js/math/asinh.js | 1 + .../babel-runtime/core-js/math/atanh.js | 1 + .../babel-runtime/core-js/math/cbrt.js | 1 + .../babel-runtime/core-js/math/clz32.js | 1 + .../babel-runtime/core-js/math/cosh.js | 1 + .../babel-runtime/core-js/math/expm1.js | 1 + .../babel-runtime/core-js/math/fround.js | 1 + .../babel-runtime/core-js/math/hypot.js | 1 + .../babel-runtime/core-js/math/iaddh.js | 1 + .../babel-runtime/core-js/math/imul.js | 1 + .../babel-runtime/core-js/math/imulh.js | 1 + .../babel-runtime/core-js/math/isubh.js | 1 + .../babel-runtime/core-js/math/log10.js | 1 + .../babel-runtime/core-js/math/log1p.js | 1 + .../babel-runtime/core-js/math/log2.js | 1 + .../babel-runtime/core-js/math/sign.js | 1 + .../babel-runtime/core-js/math/sinh.js | 1 + .../babel-runtime/core-js/math/tanh.js | 1 + .../babel-runtime/core-js/math/trunc.js | 1 + .../babel-runtime/core-js/math/umulh.js | 1 + .../babel-runtime/core-js/number/epsilon.js | 1 + .../babel-runtime/core-js/number/is-finite.js | 1 + .../core-js/number/is-integer.js | 1 + .../babel-runtime/core-js/number/is-nan.js | 1 + .../core-js/number/is-safe-integer.js | 1 + .../core-js/number/max-safe-integer.js | 1 + .../core-js/number/min-safe-integer.js | 1 + .../core-js/number/parse-float.js | 1 + .../babel-runtime/core-js/number/parse-int.js | 1 + .../babel-runtime/core-js/object/assign.js | 1 + .../babel-runtime/core-js/object/create.js | 1 + .../core-js/object/define-properties.js | 1 + .../core-js/object/define-property.js | 1 + .../babel-runtime/core-js/object/entries.js | 1 + .../babel-runtime/core-js/object/freeze.js | 1 + .../object/get-own-property-descriptor.js | 1 + .../object/get-own-property-descriptors.js | 1 + .../core-js/object/get-own-property-names.js | 1 + .../object/get-own-property-symbols.js | 1 + .../core-js/object/get-prototype-of.js | 1 + .../core-js/object/is-extensible.js | 1 + .../babel-runtime/core-js/object/is-frozen.js | 1 + .../babel-runtime/core-js/object/is-sealed.js | 1 + .../babel-runtime/core-js/object/is.js | 1 + .../babel-runtime/core-js/object/keys.js | 1 + .../core-js/object/prevent-extensions.js | 1 + .../babel-runtime/core-js/object/seal.js | 1 + .../core-js/object/set-prototype-of.js | 1 + .../babel-runtime/core-js/object/values.js | 1 + .../babel-runtime/core-js/observable.js | 1 + .../babel-runtime/core-js/promise.js | 1 + .../babel-runtime/core-js/reflect/apply.js | 1 + .../core-js/reflect/construct.js | 1 + .../core-js/reflect/define-metadata.js | 1 + .../core-js/reflect/define-property.js | 1 + .../core-js/reflect/delete-metadata.js | 1 + .../core-js/reflect/delete-property.js | 1 + .../core-js/reflect/enumerate.js | 1 + .../core-js/reflect/get-metadata-keys.js | 1 + .../core-js/reflect/get-metadata.js | 1 + .../core-js/reflect/get-own-metadata-keys.js | 1 + .../core-js/reflect/get-own-metadata.js | 1 + .../reflect/get-own-property-descriptor.js | 1 + .../core-js/reflect/get-prototype-of.js | 1 + .../babel-runtime/core-js/reflect/get.js | 1 + .../core-js/reflect/has-metadata.js | 1 + .../core-js/reflect/has-own-metadata.js | 1 + .../babel-runtime/core-js/reflect/has.js | 1 + .../core-js/reflect/is-extensible.js | 1 + .../babel-runtime/core-js/reflect/metadata.js | 1 + .../babel-runtime/core-js/reflect/own-keys.js | 1 + .../core-js/reflect/prevent-extensions.js | 1 + .../core-js/reflect/set-prototype-of.js | 1 + .../babel-runtime/core-js/reflect/set.js | 1 + .../babel-runtime/core-js/regexp/escape.js | 1 + .../babel-runtime/core-js/set-immediate.js | 1 + .../node_modules/babel-runtime/core-js/set.js | 1 + .../babel-runtime/core-js/string/at.js | 1 + .../core-js/string/code-point-at.js | 1 + .../babel-runtime/core-js/string/ends-with.js | 1 + .../core-js/string/from-code-point.js | 1 + .../babel-runtime/core-js/string/includes.js | 1 + .../babel-runtime/core-js/string/match-all.js | 1 + .../babel-runtime/core-js/string/pad-end.js | 1 + .../babel-runtime/core-js/string/pad-left.js | 1 + .../babel-runtime/core-js/string/pad-right.js | 1 + .../babel-runtime/core-js/string/pad-start.js | 1 + .../babel-runtime/core-js/string/raw.js | 1 + .../babel-runtime/core-js/string/repeat.js | 1 + .../core-js/string/starts-with.js | 1 + .../babel-runtime/core-js/string/trim-end.js | 1 + .../babel-runtime/core-js/string/trim-left.js | 1 + .../core-js/string/trim-right.js | 1 + .../core-js/string/trim-start.js | 1 + .../babel-runtime/core-js/string/trim.js | 1 + .../babel-runtime/core-js/symbol.js | 1 + .../core-js/symbol/async-iterator.js | 1 + .../babel-runtime/core-js/symbol/for.js | 1 + .../core-js/symbol/has-instance.js | 1 + .../core-js/symbol/is-concat-spreadable.js | 1 + .../babel-runtime/core-js/symbol/iterator.js | 1 + .../babel-runtime/core-js/symbol/key-for.js | 1 + .../babel-runtime/core-js/symbol/match.js | 1 + .../core-js/symbol/observable.js | 1 + .../babel-runtime/core-js/symbol/replace.js | 1 + .../babel-runtime/core-js/symbol/search.js | 1 + .../babel-runtime/core-js/symbol/species.js | 1 + .../babel-runtime/core-js/symbol/split.js | 1 + .../core-js/symbol/to-primitive.js | 1 + .../core-js/symbol/to-string-tag.js | 1 + .../core-js/symbol/unscopables.js | 1 + .../babel-runtime/core-js/system/global.js | 1 + .../babel-runtime/core-js/weak-map.js | 1 + .../babel-runtime/core-js/weak-set.js | 1 + .../helpers/_async-generator-delegate.js | 1 + .../babel-runtime/helpers/_async-generator.js | 1 + .../babel-runtime/helpers/_async-iterator.js | 1 + .../helpers/_async-to-generator.js | 1 + .../helpers/_class-call-check.js | 1 + .../babel-runtime/helpers/_create-class.js | 1 + .../babel-runtime/helpers/_defaults.js | 1 + .../helpers/_define-enumerable-properties.js | 1 + .../babel-runtime/helpers/_define-property.js | 1 + .../babel-runtime/helpers/_extends.js | 1 + .../babel-runtime/helpers/_get.js | 1 + .../babel-runtime/helpers/_inherits.js | 1 + .../babel-runtime/helpers/_instanceof.js | 1 + .../helpers/_interop-require-default.js | 1 + .../helpers/_interop-require-wildcard.js | 1 + .../babel-runtime/helpers/_jsx.js | 1 + .../babel-runtime/helpers/_new-arrow-check.js | 1 + .../helpers/_object-destructuring-empty.js | 1 + .../helpers/_object-without-properties.js | 1 + .../helpers/_possible-constructor-return.js | 1 + .../babel-runtime/helpers/_self-global.js | 1 + .../babel-runtime/helpers/_set.js | 1 + .../helpers/_sliced-to-array-loose.js | 1 + .../babel-runtime/helpers/_sliced-to-array.js | 1 + .../helpers/_tagged-template-literal-loose.js | 1 + .../helpers/_tagged-template-literal.js | 1 + .../babel-runtime/helpers/_temporal-ref.js | 1 + .../helpers/_temporal-undefined.js | 1 + .../babel-runtime/helpers/_to-array.js | 1 + .../helpers/_to-consumable-array.js | 1 + .../babel-runtime/helpers/_typeof.js | 1 + .../helpers/async-generator-delegate.js | 1 + .../babel-runtime/helpers/async-generator.js | 1 + .../babel-runtime/helpers/async-iterator.js | 1 + .../helpers/async-to-generator.js | 1 + .../babel-runtime/helpers/asyncGenerator.js | 126 + .../helpers/asyncGeneratorDelegate.js | 69 + .../babel-runtime/helpers/asyncIterator.js | 32 + .../babel-runtime/helpers/asyncToGenerator.js | 38 + .../babel-runtime/helpers/class-call-check.js | 1 + .../babel-runtime/helpers/classCallCheck.js | 9 + .../babel-runtime/helpers/create-class.js | 1 + .../babel-runtime/helpers/createClass.js | 27 + .../babel-runtime/helpers/defaults.js | 32 + .../helpers/define-enumerable-properties.js | 1 + .../babel-runtime/helpers/define-property.js | 1 + .../helpers/defineEnumerableProperties.js | 20 + .../babel-runtime/helpers/defineProperty.js | 24 + .../babel-runtime/helpers/extends.js | 23 + .../node_modules/babel-runtime/helpers/get.js | 38 + .../babel-runtime/helpers/inherits.js | 33 + .../babel-runtime/helpers/instanceof.js | 21 + .../helpers/interop-require-default.js | 1 + .../helpers/interop-require-wildcard.js | 1 + .../helpers/interopRequireDefault.js | 9 + .../helpers/interopRequireWildcard.js | 20 + .../node_modules/babel-runtime/helpers/jsx.js | 56 + .../babel-runtime/helpers/new-arrow-check.js | 1 + .../babel-runtime/helpers/newArrowCheck.js | 9 + .../helpers/object-destructuring-empty.js | 1 + .../helpers/object-without-properties.js | 1 + .../helpers/objectDestructuringEmpty.js | 7 + .../helpers/objectWithoutProperties.js | 15 + .../helpers/possible-constructor-return.js | 1 + .../helpers/possibleConstructorReturn.js | 17 + .../babel-runtime/helpers/self-global.js | 1 + .../babel-runtime/helpers/selfGlobal.js | 4 + .../node_modules/babel-runtime/helpers/set.js | 35 + .../helpers/sliced-to-array-loose.js | 1 + .../babel-runtime/helpers/sliced-to-array.js | 1 + .../babel-runtime/helpers/slicedToArray.js | 51 + .../helpers/slicedToArrayLoose.js | 31 + .../helpers/tagged-template-literal-loose.js | 1 + .../helpers/tagged-template-literal.js | 1 + .../helpers/taggedTemplateLiteral.js | 21 + .../helpers/taggedTemplateLiteralLoose.js | 8 + .../babel-runtime/helpers/temporal-ref.js | 1 + .../helpers/temporal-undefined.js | 1 + .../babel-runtime/helpers/temporalRef.js | 11 + .../helpers/temporalUndefined.js | 4 + .../babel-runtime/helpers/to-array.js | 1 + .../helpers/to-consumable-array.js | 1 + .../babel-runtime/helpers/toArray.js | 13 + .../helpers/toConsumableArray.js | 21 + .../babel-runtime/helpers/typeof.js | 21 + .../babel-runtime/package-lock.json | 232 + .../node_modules/babel-runtime/package.json | 53 + .../babel-runtime/regenerator/index.js | 1 + socket/node_modules/babel-template/.npmignore | 3 + socket/node_modules/babel-template/README.md | 64 + .../node_modules/babel-template/lib/index.js | 143 + .../babel-template/package-lock.json | 18 + .../node_modules/babel-template/package.json | 49 + socket/node_modules/babel-traverse/.npmignore | 3 + socket/node_modules/babel-traverse/README.md | 33 + .../node_modules/babel-traverse/lib/cache.js | 30 + .../babel-traverse/lib/context.js | 200 + socket/node_modules/babel-traverse/lib/hub.js | 19 + .../node_modules/babel-traverse/lib/index.js | 165 + .../babel-traverse/lib/path/ancestry.js | 238 + .../babel-traverse/lib/path/comments.js | 47 + .../babel-traverse/lib/path/context.js | 281 + .../babel-traverse/lib/path/conversion.js | 47 + .../babel-traverse/lib/path/evaluation.js | 398 + .../babel-traverse/lib/path/family.js | 266 + .../babel-traverse/lib/path/index.js | 242 + .../lib/path/inference/index.js | 142 + .../lib/path/inference/inferer-reference.js | 185 + .../lib/path/inference/inferers.js | 195 + .../babel-traverse/lib/path/introspection.js | 386 + .../babel-traverse/lib/path/lib/hoister.js | 211 + .../lib/path/lib/removal-hooks.js | 33 + .../lib/path/lib/virtual-types.js | 141 + .../babel-traverse/lib/path/modification.js | 264 + .../babel-traverse/lib/path/removal.js | 72 + .../babel-traverse/lib/path/replacement.js | 268 + .../babel-traverse/lib/scope/binding.js | 82 + .../babel-traverse/lib/scope/index.js | 1094 + .../babel-traverse/lib/scope/lib/renamer.js | 113 + .../babel-traverse/lib/visitors.js | 341 + .../node_modules/debug/.coveralls.yml | 1 + .../node_modules/debug/.eslintrc | 11 + .../node_modules/debug/.npmignore | 9 + .../node_modules/debug/.travis.yml | 14 + .../node_modules/debug/CHANGELOG.md | 362 + .../babel-traverse/node_modules/debug/LICENSE | 19 + .../node_modules/debug/Makefile | 50 + .../node_modules/debug/README.md | 312 + .../node_modules/debug/component.json | 19 + .../node_modules/debug/karma.conf.js | 70 + .../babel-traverse/node_modules/debug/node.js | 1 + .../node_modules/debug/package.json | 88 + .../node_modules/debug/src/browser.js | 185 + .../node_modules/debug/src/debug.js | 202 + .../node_modules/debug/src/index.js | 10 + .../node_modules/debug/src/inspector-log.js | 15 + .../node_modules/debug/src/node.js | 248 + .../babel-traverse/node_modules/ms/index.js | 152 + .../babel-traverse/node_modules/ms/license.md | 21 + .../node_modules/ms/package.json | 69 + .../babel-traverse/node_modules/ms/readme.md | 51 + .../babel-traverse/package-lock.json | 57 + .../node_modules/babel-traverse/package.json | 56 + socket/node_modules/babel-types/.npmignore | 3 + socket/node_modules/babel-types/README.md | 2029 + .../node_modules/babel-types/lib/constants.js | 38 + .../babel-types/lib/converters.js | 350 + .../babel-types/lib/definitions/core.js | 701 + .../babel-types/lib/definitions/es2015.js | 354 + .../lib/definitions/experimental.js | 103 + .../babel-types/lib/definitions/flow.js | 285 + .../babel-types/lib/definitions/index.js | 249 + .../babel-types/lib/definitions/init.js | 15 + .../babel-types/lib/definitions/jsx.js | 147 + .../babel-types/lib/definitions/misc.js | 21 + socket/node_modules/babel-types/lib/flow.js | 108 + socket/node_modules/babel-types/lib/index.js | 835 + socket/node_modules/babel-types/lib/react.js | 80 + .../babel-types/lib/retrievers.js | 116 + .../babel-types/lib/validators.js | 265 + .../babel-types/package-lock.json | 29 + socket/node_modules/babel-types/package.json | 54 + socket/node_modules/babylon/CHANGELOG.md | 979 + socket/node_modules/babylon/LICENSE | 19 + socket/node_modules/babylon/README.md | 134 + socket/node_modules/babylon/bin/babylon.js | 16 + .../babylon/bin/generate-identifier-regex.js | 62 + socket/node_modules/babylon/lib/index.js | 7318 +++ socket/node_modules/babylon/package.json | 119 + socket/node_modules/backo2/.npmignore | 1 + socket/node_modules/backo2/History.md | 12 + socket/node_modules/backo2/Makefile | 8 + socket/node_modules/backo2/Readme.md | 34 + socket/node_modules/backo2/component.json | 11 + socket/node_modules/backo2/index.js | 85 + socket/node_modules/backo2/package.json | 47 + socket/node_modules/backo2/test/index.js | 18 + .../base64-arraybuffer/.npmignore | 3 + .../base64-arraybuffer/.travis.yml | 19 + .../base64-arraybuffer/LICENSE-MIT | 22 + .../node_modules/base64-arraybuffer/README.md | 20 + .../lib/base64-arraybuffer.js | 67 + .../base64-arraybuffer/package.json | 65 + socket/node_modules/base64id/.npmignore | 3 + socket/node_modules/base64id/LICENSE | 22 + socket/node_modules/base64id/README.md | 18 + socket/node_modules/base64id/lib/base64id.js | 103 + socket/node_modules/base64id/package.json | 47 + socket/node_modules/better-assert/.npmignore | 4 + socket/node_modules/better-assert/History.md | 15 + socket/node_modules/better-assert/Makefile | 5 + socket/node_modules/better-assert/Readme.md | 61 + socket/node_modules/better-assert/example.js | 10 + socket/node_modules/better-assert/index.js | 38 + .../node_modules/better-assert/package.json | 65 + socket/node_modules/blob/.npmignore | 2 + socket/node_modules/blob/.zuul.yml | 14 + socket/node_modules/blob/Makefile | 14 + socket/node_modules/blob/README.md | 14 + socket/node_modules/blob/index.js | 96 + socket/node_modules/blob/package.json | 48 + socket/node_modules/blob/test/index.js | 94 + socket/node_modules/callsite/.npmignore | 4 + socket/node_modules/callsite/History.md | 10 + socket/node_modules/callsite/Makefile | 6 + socket/node_modules/callsite/Readme.md | 44 + socket/node_modules/callsite/index.js | 10 + socket/node_modules/callsite/package.json | 48 + socket/node_modules/chalk/index.js | 116 + socket/node_modules/chalk/license | 21 + socket/node_modules/chalk/package.json | 114 + socket/node_modules/chalk/readme.md | 213 + socket/node_modules/component-bind/.npmignore | 4 + socket/node_modules/component-bind/History.md | 13 + socket/node_modules/component-bind/Makefile | 7 + socket/node_modules/component-bind/Readme.md | 64 + .../component-bind/component.json | 13 + socket/node_modules/component-bind/index.js | 23 + .../node_modules/component-bind/package.json | 51 + .../node_modules/component-emitter/History.md | 68 + socket/node_modules/component-emitter/LICENSE | 24 + .../node_modules/component-emitter/Readme.md | 74 + .../node_modules/component-emitter/index.js | 163 + .../component-emitter/package.json | 58 + .../node_modules/component-inherit/.npmignore | 3 + .../node_modules/component-inherit/History.md | 5 + .../node_modules/component-inherit/Makefile | 16 + .../node_modules/component-inherit/Readme.md | 24 + .../component-inherit/component.json | 10 + .../node_modules/component-inherit/index.js | 7 + .../component-inherit/package.json | 48 + .../component-inherit/test/inherit.js | 21 + .../node_modules/cookie-signature/.npmignore | 4 + .../node_modules/cookie-signature/History.md | 27 + socket/node_modules/cookie-signature/Makefile | 7 + .../node_modules/cookie-signature/Readme.md | 42 + socket/node_modules/cookie-signature/index.js | 51 + .../cookie-signature/package.json | 54 + socket/node_modules/cookie/.npmignore | 2 + socket/node_modules/cookie/LICENSE | 9 + socket/node_modules/cookie/README.md | 44 + socket/node_modules/cookie/index.js | 75 + socket/node_modules/cookie/package.json | 58 + socket/node_modules/core-js/CHANGELOG.md | 649 + socket/node_modules/core-js/Gruntfile.js | 3 + socket/node_modules/core-js/LICENSE | 19 + socket/node_modules/core-js/README.md | 2289 + socket/node_modules/core-js/bower.json | 49 + .../node_modules/core-js/build/Gruntfile.ls | 86 + socket/node_modules/core-js/build/build.ls | 62 + socket/node_modules/core-js/build/config.js | 274 + socket/node_modules/core-js/build/index.js | 104 + socket/node_modules/core-js/client/core.js | 8624 +++ .../node_modules/core-js/client/core.min.js | 10 + .../core-js/client/core.min.js.map | 1 + socket/node_modules/core-js/client/library.js | 8107 +++ .../core-js/client/library.min.js | 10 + .../core-js/client/library.min.js.map | 1 + socket/node_modules/core-js/client/shim.js | 8192 +++ .../node_modules/core-js/client/shim.min.js | 10 + .../core-js/client/shim.min.js.map | 1 + socket/node_modules/core-js/core/_.js | 2 + socket/node_modules/core-js/core/delay.js | 2 + socket/node_modules/core-js/core/dict.js | 2 + socket/node_modules/core-js/core/function.js | 2 + socket/node_modules/core-js/core/index.js | 15 + socket/node_modules/core-js/core/number.js | 2 + socket/node_modules/core-js/core/object.js | 5 + socket/node_modules/core-js/core/regexp.js | 2 + socket/node_modules/core-js/core/string.js | 3 + socket/node_modules/core-js/es5/index.js | 37 + socket/node_modules/core-js/es6/array.js | 23 + socket/node_modules/core-js/es6/date.js | 6 + socket/node_modules/core-js/es6/function.js | 4 + socket/node_modules/core-js/es6/index.js | 138 + socket/node_modules/core-js/es6/map.js | 5 + socket/node_modules/core-js/es6/math.js | 18 + socket/node_modules/core-js/es6/number.js | 13 + socket/node_modules/core-js/es6/object.js | 20 + .../node_modules/core-js/es6/parse-float.js | 2 + socket/node_modules/core-js/es6/parse-int.js | 2 + socket/node_modules/core-js/es6/promise.js | 5 + socket/node_modules/core-js/es6/reflect.js | 15 + socket/node_modules/core-js/es6/regexp.js | 8 + socket/node_modules/core-js/es6/set.js | 5 + socket/node_modules/core-js/es6/string.js | 27 + socket/node_modules/core-js/es6/symbol.js | 3 + socket/node_modules/core-js/es6/typed.js | 13 + socket/node_modules/core-js/es6/weak-map.js | 4 + socket/node_modules/core-js/es6/weak-set.js | 4 + socket/node_modules/core-js/es7/array.js | 4 + socket/node_modules/core-js/es7/asap.js | 2 + socket/node_modules/core-js/es7/error.js | 2 + socket/node_modules/core-js/es7/global.js | 2 + socket/node_modules/core-js/es7/index.js | 56 + socket/node_modules/core-js/es7/map.js | 4 + socket/node_modules/core-js/es7/math.js | 13 + socket/node_modules/core-js/es7/object.js | 8 + socket/node_modules/core-js/es7/observable.js | 7 + socket/node_modules/core-js/es7/promise.js | 3 + socket/node_modules/core-js/es7/reflect.js | 10 + socket/node_modules/core-js/es7/set.js | 4 + socket/node_modules/core-js/es7/string.js | 7 + socket/node_modules/core-js/es7/symbol.js | 3 + socket/node_modules/core-js/es7/system.js | 2 + socket/node_modules/core-js/es7/weak-map.js | 3 + socket/node_modules/core-js/es7/weak-set.js | 3 + socket/node_modules/core-js/fn/_.js | 2 + .../node_modules/core-js/fn/array/concat.js | 4 + .../core-js/fn/array/copy-within.js | 2 + .../node_modules/core-js/fn/array/entries.js | 2 + socket/node_modules/core-js/fn/array/every.js | 2 + socket/node_modules/core-js/fn/array/fill.js | 2 + .../node_modules/core-js/fn/array/filter.js | 2 + .../core-js/fn/array/find-index.js | 2 + socket/node_modules/core-js/fn/array/find.js | 2 + .../node_modules/core-js/fn/array/flat-map.js | 2 + .../node_modules/core-js/fn/array/flatten.js | 2 + .../node_modules/core-js/fn/array/for-each.js | 2 + socket/node_modules/core-js/fn/array/from.js | 3 + .../node_modules/core-js/fn/array/includes.js | 2 + .../node_modules/core-js/fn/array/index-of.js | 2 + socket/node_modules/core-js/fn/array/index.js | 26 + .../node_modules/core-js/fn/array/is-array.js | 2 + .../node_modules/core-js/fn/array/iterator.js | 2 + socket/node_modules/core-js/fn/array/join.js | 2 + socket/node_modules/core-js/fn/array/keys.js | 2 + .../core-js/fn/array/last-index-of.js | 2 + socket/node_modules/core-js/fn/array/map.js | 2 + socket/node_modules/core-js/fn/array/of.js | 2 + socket/node_modules/core-js/fn/array/pop.js | 4 + socket/node_modules/core-js/fn/array/push.js | 4 + .../core-js/fn/array/reduce-right.js | 2 + .../node_modules/core-js/fn/array/reduce.js | 2 + .../node_modules/core-js/fn/array/reverse.js | 4 + socket/node_modules/core-js/fn/array/shift.js | 4 + socket/node_modules/core-js/fn/array/slice.js | 2 + socket/node_modules/core-js/fn/array/some.js | 2 + socket/node_modules/core-js/fn/array/sort.js | 2 + .../node_modules/core-js/fn/array/splice.js | 4 + .../node_modules/core-js/fn/array/unshift.js | 4 + .../node_modules/core-js/fn/array/values.js | 2 + .../core-js/fn/array/virtual/copy-within.js | 2 + .../core-js/fn/array/virtual/entries.js | 2 + .../core-js/fn/array/virtual/every.js | 2 + .../core-js/fn/array/virtual/fill.js | 2 + .../core-js/fn/array/virtual/filter.js | 2 + .../core-js/fn/array/virtual/find-index.js | 2 + .../core-js/fn/array/virtual/find.js | 2 + .../core-js/fn/array/virtual/flat-map.js | 2 + .../core-js/fn/array/virtual/flatten.js | 2 + .../core-js/fn/array/virtual/for-each.js | 2 + .../core-js/fn/array/virtual/includes.js | 2 + .../core-js/fn/array/virtual/index-of.js | 2 + .../core-js/fn/array/virtual/index.js | 20 + .../core-js/fn/array/virtual/iterator.js | 2 + .../core-js/fn/array/virtual/join.js | 2 + .../core-js/fn/array/virtual/keys.js | 2 + .../core-js/fn/array/virtual/last-index-of.js | 2 + .../core-js/fn/array/virtual/map.js | 2 + .../core-js/fn/array/virtual/reduce-right.js | 2 + .../core-js/fn/array/virtual/reduce.js | 2 + .../core-js/fn/array/virtual/slice.js | 2 + .../core-js/fn/array/virtual/some.js | 2 + .../core-js/fn/array/virtual/sort.js | 2 + .../core-js/fn/array/virtual/values.js | 2 + socket/node_modules/core-js/fn/asap.js | 2 + .../core-js/fn/clear-immediate.js | 2 + socket/node_modules/core-js/fn/date/index.js | 6 + socket/node_modules/core-js/fn/date/now.js | 2 + .../core-js/fn/date/to-iso-string.js | 3 + .../node_modules/core-js/fn/date/to-json.js | 2 + .../core-js/fn/date/to-primitive.js | 5 + .../node_modules/core-js/fn/date/to-string.js | 5 + socket/node_modules/core-js/fn/delay.js | 2 + socket/node_modules/core-js/fn/dict.js | 2 + .../core-js/fn/dom-collections/index.js | 8 + .../core-js/fn/dom-collections/iterator.js | 2 + socket/node_modules/core-js/fn/error/index.js | 2 + .../node_modules/core-js/fn/error/is-error.js | 2 + .../node_modules/core-js/fn/function/bind.js | 2 + .../core-js/fn/function/has-instance.js | 2 + .../node_modules/core-js/fn/function/index.js | 5 + .../node_modules/core-js/fn/function/name.js | 1 + .../node_modules/core-js/fn/function/part.js | 2 + .../core-js/fn/function/virtual/bind.js | 2 + .../core-js/fn/function/virtual/index.js | 3 + .../core-js/fn/function/virtual/part.js | 2 + .../core-js/fn/get-iterator-method.js | 3 + .../node_modules/core-js/fn/get-iterator.js | 3 + socket/node_modules/core-js/fn/global.js | 2 + socket/node_modules/core-js/fn/is-iterable.js | 3 + socket/node_modules/core-js/fn/json/index.js | 2 + .../node_modules/core-js/fn/json/stringify.js | 5 + socket/node_modules/core-js/fn/map.js | 8 + socket/node_modules/core-js/fn/map/from.js | 8 + socket/node_modules/core-js/fn/map/index.js | 8 + socket/node_modules/core-js/fn/map/of.js | 8 + socket/node_modules/core-js/fn/math/acosh.js | 2 + socket/node_modules/core-js/fn/math/asinh.js | 2 + socket/node_modules/core-js/fn/math/atanh.js | 2 + socket/node_modules/core-js/fn/math/cbrt.js | 2 + socket/node_modules/core-js/fn/math/clamp.js | 2 + socket/node_modules/core-js/fn/math/clz32.js | 2 + socket/node_modules/core-js/fn/math/cosh.js | 2 + .../core-js/fn/math/deg-per-rad.js | 2 + .../node_modules/core-js/fn/math/degrees.js | 2 + socket/node_modules/core-js/fn/math/expm1.js | 2 + socket/node_modules/core-js/fn/math/fround.js | 2 + socket/node_modules/core-js/fn/math/fscale.js | 2 + socket/node_modules/core-js/fn/math/hypot.js | 2 + socket/node_modules/core-js/fn/math/iaddh.js | 2 + socket/node_modules/core-js/fn/math/imul.js | 2 + socket/node_modules/core-js/fn/math/imulh.js | 2 + socket/node_modules/core-js/fn/math/index.js | 30 + socket/node_modules/core-js/fn/math/isubh.js | 2 + socket/node_modules/core-js/fn/math/log10.js | 2 + socket/node_modules/core-js/fn/math/log1p.js | 2 + socket/node_modules/core-js/fn/math/log2.js | 2 + .../core-js/fn/math/rad-per-deg.js | 2 + .../node_modules/core-js/fn/math/radians.js | 2 + socket/node_modules/core-js/fn/math/scale.js | 2 + socket/node_modules/core-js/fn/math/sign.js | 2 + .../node_modules/core-js/fn/math/signbit.js | 3 + socket/node_modules/core-js/fn/math/sinh.js | 2 + socket/node_modules/core-js/fn/math/tanh.js | 2 + socket/node_modules/core-js/fn/math/trunc.js | 2 + socket/node_modules/core-js/fn/math/umulh.js | 2 + .../core-js/fn/number/constructor.js | 2 + .../node_modules/core-js/fn/number/epsilon.js | 2 + .../node_modules/core-js/fn/number/index.js | 14 + .../core-js/fn/number/is-finite.js | 2 + .../core-js/fn/number/is-integer.js | 2 + .../node_modules/core-js/fn/number/is-nan.js | 2 + .../core-js/fn/number/is-safe-integer.js | 2 + .../core-js/fn/number/iterator.js | 5 + .../core-js/fn/number/max-safe-integer.js | 2 + .../core-js/fn/number/min-safe-integer.js | 2 + .../core-js/fn/number/parse-float.js | 2 + .../core-js/fn/number/parse-int.js | 2 + .../core-js/fn/number/to-fixed.js | 2 + .../core-js/fn/number/to-precision.js | 2 + .../core-js/fn/number/virtual/index.js | 4 + .../core-js/fn/number/virtual/iterator.js | 2 + .../core-js/fn/number/virtual/to-fixed.js | 2 + .../core-js/fn/number/virtual/to-precision.js | 2 + .../node_modules/core-js/fn/object/assign.js | 2 + .../node_modules/core-js/fn/object/classof.js | 2 + .../node_modules/core-js/fn/object/create.js | 5 + .../core-js/fn/object/define-getter.js | 2 + .../core-js/fn/object/define-properties.js | 5 + .../core-js/fn/object/define-property.js | 5 + .../core-js/fn/object/define-setter.js | 2 + .../node_modules/core-js/fn/object/define.js | 2 + .../node_modules/core-js/fn/object/entries.js | 2 + .../node_modules/core-js/fn/object/freeze.js | 2 + .../fn/object/get-own-property-descriptor.js | 5 + .../fn/object/get-own-property-descriptors.js | 2 + .../fn/object/get-own-property-names.js | 5 + .../fn/object/get-own-property-symbols.js | 2 + .../core-js/fn/object/get-prototype-of.js | 2 + .../node_modules/core-js/fn/object/index.js | 30 + .../core-js/fn/object/is-extensible.js | 2 + .../core-js/fn/object/is-frozen.js | 2 + .../core-js/fn/object/is-object.js | 2 + .../core-js/fn/object/is-sealed.js | 2 + socket/node_modules/core-js/fn/object/is.js | 2 + socket/node_modules/core-js/fn/object/keys.js | 2 + .../core-js/fn/object/lookup-getter.js | 2 + .../core-js/fn/object/lookup-setter.js | 2 + socket/node_modules/core-js/fn/object/make.js | 2 + .../core-js/fn/object/prevent-extensions.js | 2 + socket/node_modules/core-js/fn/object/seal.js | 2 + .../core-js/fn/object/set-prototype-of.js | 2 + .../node_modules/core-js/fn/object/values.js | 2 + socket/node_modules/core-js/fn/observable.js | 7 + socket/node_modules/core-js/fn/parse-float.js | 2 + socket/node_modules/core-js/fn/parse-int.js | 2 + socket/node_modules/core-js/fn/promise.js | 7 + .../core-js/fn/promise/finally.js | 4 + .../node_modules/core-js/fn/promise/index.js | 7 + socket/node_modules/core-js/fn/promise/try.js | 8 + .../node_modules/core-js/fn/reflect/apply.js | 2 + .../core-js/fn/reflect/construct.js | 2 + .../core-js/fn/reflect/define-metadata.js | 2 + .../core-js/fn/reflect/define-property.js | 2 + .../core-js/fn/reflect/delete-metadata.js | 2 + .../core-js/fn/reflect/delete-property.js | 2 + .../core-js/fn/reflect/enumerate.js | 2 + .../core-js/fn/reflect/get-metadata-keys.js | 2 + .../core-js/fn/reflect/get-metadata.js | 2 + .../fn/reflect/get-own-metadata-keys.js | 2 + .../core-js/fn/reflect/get-own-metadata.js | 2 + .../fn/reflect/get-own-property-descriptor.js | 2 + .../core-js/fn/reflect/get-prototype-of.js | 2 + socket/node_modules/core-js/fn/reflect/get.js | 2 + .../core-js/fn/reflect/has-metadata.js | 2 + .../core-js/fn/reflect/has-own-metadata.js | 2 + socket/node_modules/core-js/fn/reflect/has.js | 2 + .../node_modules/core-js/fn/reflect/index.js | 24 + .../core-js/fn/reflect/is-extensible.js | 2 + .../core-js/fn/reflect/metadata.js | 2 + .../core-js/fn/reflect/own-keys.js | 2 + .../core-js/fn/reflect/prevent-extensions.js | 2 + .../core-js/fn/reflect/set-prototype-of.js | 2 + socket/node_modules/core-js/fn/reflect/set.js | 2 + .../core-js/fn/regexp/constructor.js | 2 + .../node_modules/core-js/fn/regexp/escape.js | 2 + .../node_modules/core-js/fn/regexp/flags.js | 5 + .../node_modules/core-js/fn/regexp/index.js | 9 + .../node_modules/core-js/fn/regexp/match.js | 5 + .../node_modules/core-js/fn/regexp/replace.js | 5 + .../node_modules/core-js/fn/regexp/search.js | 5 + .../node_modules/core-js/fn/regexp/split.js | 5 + .../core-js/fn/regexp/to-string.js | 5 + .../node_modules/core-js/fn/set-immediate.js | 2 + .../node_modules/core-js/fn/set-interval.js | 2 + socket/node_modules/core-js/fn/set-timeout.js | 2 + socket/node_modules/core-js/fn/set.js | 8 + socket/node_modules/core-js/fn/set/from.js | 8 + socket/node_modules/core-js/fn/set/index.js | 8 + socket/node_modules/core-js/fn/set/of.js | 8 + .../node_modules/core-js/fn/string/anchor.js | 2 + socket/node_modules/core-js/fn/string/at.js | 2 + socket/node_modules/core-js/fn/string/big.js | 2 + .../node_modules/core-js/fn/string/blink.js | 2 + socket/node_modules/core-js/fn/string/bold.js | 2 + .../core-js/fn/string/code-point-at.js | 2 + .../core-js/fn/string/ends-with.js | 2 + .../core-js/fn/string/escape-html.js | 2 + .../node_modules/core-js/fn/string/fixed.js | 2 + .../core-js/fn/string/fontcolor.js | 2 + .../core-js/fn/string/fontsize.js | 2 + .../core-js/fn/string/from-code-point.js | 2 + .../core-js/fn/string/includes.js | 2 + .../node_modules/core-js/fn/string/index.js | 35 + .../node_modules/core-js/fn/string/italics.js | 2 + .../core-js/fn/string/iterator.js | 5 + socket/node_modules/core-js/fn/string/link.js | 2 + .../core-js/fn/string/match-all.js | 2 + .../node_modules/core-js/fn/string/pad-end.js | 2 + .../core-js/fn/string/pad-start.js | 2 + socket/node_modules/core-js/fn/string/raw.js | 2 + .../node_modules/core-js/fn/string/repeat.js | 2 + .../node_modules/core-js/fn/string/small.js | 2 + .../core-js/fn/string/starts-with.js | 2 + .../node_modules/core-js/fn/string/strike.js | 2 + socket/node_modules/core-js/fn/string/sub.js | 2 + socket/node_modules/core-js/fn/string/sup.js | 2 + .../core-js/fn/string/trim-end.js | 2 + .../core-js/fn/string/trim-left.js | 2 + .../core-js/fn/string/trim-right.js | 2 + .../core-js/fn/string/trim-start.js | 2 + socket/node_modules/core-js/fn/string/trim.js | 2 + .../core-js/fn/string/unescape-html.js | 2 + .../core-js/fn/string/virtual/anchor.js | 2 + .../core-js/fn/string/virtual/at.js | 2 + .../core-js/fn/string/virtual/big.js | 2 + .../core-js/fn/string/virtual/blink.js | 2 + .../core-js/fn/string/virtual/bold.js | 2 + .../fn/string/virtual/code-point-at.js | 2 + .../core-js/fn/string/virtual/ends-with.js | 2 + .../core-js/fn/string/virtual/escape-html.js | 2 + .../core-js/fn/string/virtual/fixed.js | 2 + .../core-js/fn/string/virtual/fontcolor.js | 2 + .../core-js/fn/string/virtual/fontsize.js | 2 + .../core-js/fn/string/virtual/includes.js | 2 + .../core-js/fn/string/virtual/index.js | 33 + .../core-js/fn/string/virtual/italics.js | 2 + .../core-js/fn/string/virtual/iterator.js | 2 + .../core-js/fn/string/virtual/link.js | 2 + .../core-js/fn/string/virtual/match-all.js | 2 + .../core-js/fn/string/virtual/pad-end.js | 2 + .../core-js/fn/string/virtual/pad-start.js | 2 + .../core-js/fn/string/virtual/repeat.js | 2 + .../core-js/fn/string/virtual/small.js | 2 + .../core-js/fn/string/virtual/starts-with.js | 2 + .../core-js/fn/string/virtual/strike.js | 2 + .../core-js/fn/string/virtual/sub.js | 2 + .../core-js/fn/string/virtual/sup.js | 2 + .../core-js/fn/string/virtual/trim-end.js | 2 + .../core-js/fn/string/virtual/trim-left.js | 2 + .../core-js/fn/string/virtual/trim-right.js | 2 + .../core-js/fn/string/virtual/trim-start.js | 2 + .../core-js/fn/string/virtual/trim.js | 2 + .../fn/string/virtual/unescape-html.js | 2 + .../core-js/fn/symbol/async-iterator.js | 2 + socket/node_modules/core-js/fn/symbol/for.js | 2 + .../core-js/fn/symbol/has-instance.js | 2 + .../node_modules/core-js/fn/symbol/index.js | 5 + .../core-js/fn/symbol/is-concat-spreadable.js | 1 + .../core-js/fn/symbol/iterator.js | 3 + .../node_modules/core-js/fn/symbol/key-for.js | 2 + .../node_modules/core-js/fn/symbol/match.js | 2 + .../core-js/fn/symbol/observable.js | 2 + .../node_modules/core-js/fn/symbol/replace.js | 2 + .../node_modules/core-js/fn/symbol/search.js | 2 + .../node_modules/core-js/fn/symbol/species.js | 1 + .../node_modules/core-js/fn/symbol/split.js | 2 + .../core-js/fn/symbol/to-primitive.js | 1 + .../core-js/fn/symbol/to-string-tag.js | 2 + .../core-js/fn/symbol/unscopables.js | 1 + .../node_modules/core-js/fn/system/global.js | 2 + .../node_modules/core-js/fn/system/index.js | 2 + .../core-js/fn/typed/array-buffer.js | 3 + .../core-js/fn/typed/data-view.js | 3 + .../core-js/fn/typed/float32-array.js | 2 + .../core-js/fn/typed/float64-array.js | 2 + socket/node_modules/core-js/fn/typed/index.js | 13 + .../core-js/fn/typed/int16-array.js | 2 + .../core-js/fn/typed/int32-array.js | 2 + .../core-js/fn/typed/int8-array.js | 2 + .../core-js/fn/typed/uint16-array.js | 2 + .../core-js/fn/typed/uint32-array.js | 2 + .../core-js/fn/typed/uint8-array.js | 2 + .../core-js/fn/typed/uint8-clamped-array.js | 2 + socket/node_modules/core-js/fn/weak-map.js | 6 + .../node_modules/core-js/fn/weak-map/from.js | 8 + .../node_modules/core-js/fn/weak-map/index.js | 6 + socket/node_modules/core-js/fn/weak-map/of.js | 8 + socket/node_modules/core-js/fn/weak-set.js | 6 + .../node_modules/core-js/fn/weak-set/from.js | 8 + .../node_modules/core-js/fn/weak-set/index.js | 6 + socket/node_modules/core-js/fn/weak-set/of.js | 8 + socket/node_modules/core-js/index.js | 16 + socket/node_modules/core-js/library/core/_.js | 2 + .../core-js/library/core/delay.js | 2 + .../node_modules/core-js/library/core/dict.js | 2 + .../core-js/library/core/function.js | 2 + .../core-js/library/core/index.js | 15 + .../core-js/library/core/number.js | 2 + .../core-js/library/core/object.js | 5 + .../core-js/library/core/regexp.js | 2 + .../core-js/library/core/string.js | 3 + .../node_modules/core-js/library/es5/index.js | 37 + .../node_modules/core-js/library/es6/array.js | 23 + .../node_modules/core-js/library/es6/date.js | 6 + .../core-js/library/es6/function.js | 4 + .../node_modules/core-js/library/es6/index.js | 138 + .../node_modules/core-js/library/es6/map.js | 5 + .../node_modules/core-js/library/es6/math.js | 18 + .../core-js/library/es6/number.js | 13 + .../core-js/library/es6/object.js | 20 + .../core-js/library/es6/parse-float.js | 2 + .../core-js/library/es6/parse-int.js | 2 + .../core-js/library/es6/promise.js | 5 + .../core-js/library/es6/reflect.js | 15 + .../core-js/library/es6/regexp.js | 8 + .../node_modules/core-js/library/es6/set.js | 5 + .../core-js/library/es6/string.js | 27 + .../core-js/library/es6/symbol.js | 3 + .../node_modules/core-js/library/es6/typed.js | 13 + .../core-js/library/es6/weak-map.js | 4 + .../core-js/library/es6/weak-set.js | 4 + .../node_modules/core-js/library/es7/array.js | 4 + .../node_modules/core-js/library/es7/asap.js | 2 + .../node_modules/core-js/library/es7/error.js | 2 + .../core-js/library/es7/global.js | 2 + .../node_modules/core-js/library/es7/index.js | 56 + .../node_modules/core-js/library/es7/map.js | 4 + .../node_modules/core-js/library/es7/math.js | 13 + .../core-js/library/es7/object.js | 8 + .../core-js/library/es7/observable.js | 7 + .../core-js/library/es7/promise.js | 3 + .../core-js/library/es7/reflect.js | 10 + .../node_modules/core-js/library/es7/set.js | 4 + .../core-js/library/es7/string.js | 7 + .../core-js/library/es7/symbol.js | 3 + .../core-js/library/es7/system.js | 2 + .../core-js/library/es7/weak-map.js | 3 + .../core-js/library/es7/weak-set.js | 3 + socket/node_modules/core-js/library/fn/_.js | 2 + .../core-js/library/fn/array/concat.js | 4 + .../core-js/library/fn/array/copy-within.js | 2 + .../core-js/library/fn/array/entries.js | 2 + .../core-js/library/fn/array/every.js | 2 + .../core-js/library/fn/array/fill.js | 2 + .../core-js/library/fn/array/filter.js | 2 + .../core-js/library/fn/array/find-index.js | 2 + .../core-js/library/fn/array/find.js | 2 + .../core-js/library/fn/array/flat-map.js | 2 + .../core-js/library/fn/array/flatten.js | 2 + .../core-js/library/fn/array/for-each.js | 2 + .../core-js/library/fn/array/from.js | 3 + .../core-js/library/fn/array/includes.js | 2 + .../core-js/library/fn/array/index-of.js | 2 + .../core-js/library/fn/array/index.js | 26 + .../core-js/library/fn/array/is-array.js | 2 + .../core-js/library/fn/array/iterator.js | 2 + .../core-js/library/fn/array/join.js | 2 + .../core-js/library/fn/array/keys.js | 2 + .../core-js/library/fn/array/last-index-of.js | 2 + .../core-js/library/fn/array/map.js | 2 + .../core-js/library/fn/array/of.js | 2 + .../core-js/library/fn/array/pop.js | 4 + .../core-js/library/fn/array/push.js | 4 + .../core-js/library/fn/array/reduce-right.js | 2 + .../core-js/library/fn/array/reduce.js | 2 + .../core-js/library/fn/array/reverse.js | 4 + .../core-js/library/fn/array/shift.js | 4 + .../core-js/library/fn/array/slice.js | 2 + .../core-js/library/fn/array/some.js | 2 + .../core-js/library/fn/array/sort.js | 2 + .../core-js/library/fn/array/splice.js | 4 + .../core-js/library/fn/array/unshift.js | 4 + .../core-js/library/fn/array/values.js | 2 + .../library/fn/array/virtual/copy-within.js | 2 + .../library/fn/array/virtual/entries.js | 2 + .../core-js/library/fn/array/virtual/every.js | 2 + .../core-js/library/fn/array/virtual/fill.js | 2 + .../library/fn/array/virtual/filter.js | 2 + .../library/fn/array/virtual/find-index.js | 2 + .../core-js/library/fn/array/virtual/find.js | 2 + .../library/fn/array/virtual/flat-map.js | 2 + .../library/fn/array/virtual/flatten.js | 2 + .../library/fn/array/virtual/for-each.js | 2 + .../library/fn/array/virtual/includes.js | 2 + .../library/fn/array/virtual/index-of.js | 2 + .../core-js/library/fn/array/virtual/index.js | 20 + .../library/fn/array/virtual/iterator.js | 2 + .../core-js/library/fn/array/virtual/join.js | 2 + .../core-js/library/fn/array/virtual/keys.js | 2 + .../library/fn/array/virtual/last-index-of.js | 2 + .../core-js/library/fn/array/virtual/map.js | 2 + .../library/fn/array/virtual/reduce-right.js | 2 + .../library/fn/array/virtual/reduce.js | 2 + .../core-js/library/fn/array/virtual/slice.js | 2 + .../core-js/library/fn/array/virtual/some.js | 2 + .../core-js/library/fn/array/virtual/sort.js | 2 + .../library/fn/array/virtual/values.js | 2 + .../node_modules/core-js/library/fn/asap.js | 2 + .../core-js/library/fn/clear-immediate.js | 2 + .../core-js/library/fn/date/index.js | 6 + .../core-js/library/fn/date/now.js | 2 + .../core-js/library/fn/date/to-iso-string.js | 3 + .../core-js/library/fn/date/to-json.js | 2 + .../core-js/library/fn/date/to-primitive.js | 5 + .../core-js/library/fn/date/to-string.js | 5 + .../node_modules/core-js/library/fn/delay.js | 2 + .../node_modules/core-js/library/fn/dict.js | 2 + .../library/fn/dom-collections/index.js | 8 + .../library/fn/dom-collections/iterator.js | 2 + .../core-js/library/fn/error/index.js | 2 + .../core-js/library/fn/error/is-error.js | 2 + .../core-js/library/fn/function/bind.js | 2 + .../library/fn/function/has-instance.js | 2 + .../core-js/library/fn/function/index.js | 5 + .../core-js/library/fn/function/name.js | 1 + .../core-js/library/fn/function/part.js | 2 + .../library/fn/function/virtual/bind.js | 2 + .../library/fn/function/virtual/index.js | 3 + .../library/fn/function/virtual/part.js | 2 + .../core-js/library/fn/get-iterator-method.js | 3 + .../core-js/library/fn/get-iterator.js | 3 + .../node_modules/core-js/library/fn/global.js | 2 + .../core-js/library/fn/is-iterable.js | 3 + .../core-js/library/fn/json/index.js | 2 + .../core-js/library/fn/json/stringify.js | 5 + socket/node_modules/core-js/library/fn/map.js | 8 + .../core-js/library/fn/map/from.js | 8 + .../core-js/library/fn/map/index.js | 8 + .../node_modules/core-js/library/fn/map/of.js | 8 + .../core-js/library/fn/math/acosh.js | 2 + .../core-js/library/fn/math/asinh.js | 2 + .../core-js/library/fn/math/atanh.js | 2 + .../core-js/library/fn/math/cbrt.js | 2 + .../core-js/library/fn/math/clamp.js | 2 + .../core-js/library/fn/math/clz32.js | 2 + .../core-js/library/fn/math/cosh.js | 2 + .../core-js/library/fn/math/deg-per-rad.js | 2 + .../core-js/library/fn/math/degrees.js | 2 + .../core-js/library/fn/math/expm1.js | 2 + .../core-js/library/fn/math/fround.js | 2 + .../core-js/library/fn/math/fscale.js | 2 + .../core-js/library/fn/math/hypot.js | 2 + .../core-js/library/fn/math/iaddh.js | 2 + .../core-js/library/fn/math/imul.js | 2 + .../core-js/library/fn/math/imulh.js | 2 + .../core-js/library/fn/math/index.js | 30 + .../core-js/library/fn/math/isubh.js | 2 + .../core-js/library/fn/math/log10.js | 2 + .../core-js/library/fn/math/log1p.js | 2 + .../core-js/library/fn/math/log2.js | 2 + .../core-js/library/fn/math/rad-per-deg.js | 2 + .../core-js/library/fn/math/radians.js | 2 + .../core-js/library/fn/math/scale.js | 2 + .../core-js/library/fn/math/sign.js | 2 + .../core-js/library/fn/math/signbit.js | 3 + .../core-js/library/fn/math/sinh.js | 2 + .../core-js/library/fn/math/tanh.js | 2 + .../core-js/library/fn/math/trunc.js | 2 + .../core-js/library/fn/math/umulh.js | 2 + .../core-js/library/fn/number/constructor.js | 2 + .../core-js/library/fn/number/epsilon.js | 2 + .../core-js/library/fn/number/index.js | 14 + .../core-js/library/fn/number/is-finite.js | 2 + .../core-js/library/fn/number/is-integer.js | 2 + .../core-js/library/fn/number/is-nan.js | 2 + .../library/fn/number/is-safe-integer.js | 2 + .../core-js/library/fn/number/iterator.js | 5 + .../library/fn/number/max-safe-integer.js | 2 + .../library/fn/number/min-safe-integer.js | 2 + .../core-js/library/fn/number/parse-float.js | 2 + .../core-js/library/fn/number/parse-int.js | 2 + .../core-js/library/fn/number/to-fixed.js | 2 + .../core-js/library/fn/number/to-precision.js | 2 + .../library/fn/number/virtual/index.js | 4 + .../library/fn/number/virtual/iterator.js | 2 + .../library/fn/number/virtual/to-fixed.js | 2 + .../library/fn/number/virtual/to-precision.js | 2 + .../core-js/library/fn/object/assign.js | 2 + .../core-js/library/fn/object/classof.js | 2 + .../core-js/library/fn/object/create.js | 5 + .../library/fn/object/define-getter.js | 2 + .../library/fn/object/define-properties.js | 5 + .../library/fn/object/define-property.js | 5 + .../library/fn/object/define-setter.js | 2 + .../core-js/library/fn/object/define.js | 2 + .../core-js/library/fn/object/entries.js | 2 + .../core-js/library/fn/object/freeze.js | 2 + .../fn/object/get-own-property-descriptor.js | 5 + .../fn/object/get-own-property-descriptors.js | 2 + .../fn/object/get-own-property-names.js | 5 + .../fn/object/get-own-property-symbols.js | 2 + .../library/fn/object/get-prototype-of.js | 2 + .../core-js/library/fn/object/index.js | 30 + .../library/fn/object/is-extensible.js | 2 + .../core-js/library/fn/object/is-frozen.js | 2 + .../core-js/library/fn/object/is-object.js | 2 + .../core-js/library/fn/object/is-sealed.js | 2 + .../core-js/library/fn/object/is.js | 2 + .../core-js/library/fn/object/keys.js | 2 + .../library/fn/object/lookup-getter.js | 2 + .../library/fn/object/lookup-setter.js | 2 + .../core-js/library/fn/object/make.js | 2 + .../library/fn/object/prevent-extensions.js | 2 + .../core-js/library/fn/object/seal.js | 2 + .../library/fn/object/set-prototype-of.js | 2 + .../core-js/library/fn/object/values.js | 2 + .../core-js/library/fn/observable.js | 7 + .../core-js/library/fn/parse-float.js | 2 + .../core-js/library/fn/parse-int.js | 2 + .../core-js/library/fn/promise.js | 7 + .../core-js/library/fn/promise/finally.js | 4 + .../core-js/library/fn/promise/index.js | 7 + .../core-js/library/fn/promise/try.js | 8 + .../core-js/library/fn/reflect/apply.js | 2 + .../core-js/library/fn/reflect/construct.js | 2 + .../library/fn/reflect/define-metadata.js | 2 + .../library/fn/reflect/define-property.js | 2 + .../library/fn/reflect/delete-metadata.js | 2 + .../library/fn/reflect/delete-property.js | 2 + .../core-js/library/fn/reflect/enumerate.js | 2 + .../library/fn/reflect/get-metadata-keys.js | 2 + .../library/fn/reflect/get-metadata.js | 2 + .../fn/reflect/get-own-metadata-keys.js | 2 + .../library/fn/reflect/get-own-metadata.js | 2 + .../fn/reflect/get-own-property-descriptor.js | 2 + .../library/fn/reflect/get-prototype-of.js | 2 + .../core-js/library/fn/reflect/get.js | 2 + .../library/fn/reflect/has-metadata.js | 2 + .../library/fn/reflect/has-own-metadata.js | 2 + .../core-js/library/fn/reflect/has.js | 2 + .../core-js/library/fn/reflect/index.js | 24 + .../library/fn/reflect/is-extensible.js | 2 + .../core-js/library/fn/reflect/metadata.js | 2 + .../core-js/library/fn/reflect/own-keys.js | 2 + .../library/fn/reflect/prevent-extensions.js | 2 + .../library/fn/reflect/set-prototype-of.js | 2 + .../core-js/library/fn/reflect/set.js | 2 + .../core-js/library/fn/regexp/constructor.js | 2 + .../core-js/library/fn/regexp/escape.js | 2 + .../core-js/library/fn/regexp/flags.js | 5 + .../core-js/library/fn/regexp/index.js | 9 + .../core-js/library/fn/regexp/match.js | 5 + .../core-js/library/fn/regexp/replace.js | 5 + .../core-js/library/fn/regexp/search.js | 5 + .../core-js/library/fn/regexp/split.js | 5 + .../core-js/library/fn/regexp/to-string.js | 5 + .../core-js/library/fn/set-immediate.js | 2 + .../core-js/library/fn/set-interval.js | 2 + .../core-js/library/fn/set-timeout.js | 2 + socket/node_modules/core-js/library/fn/set.js | 8 + .../core-js/library/fn/set/from.js | 8 + .../core-js/library/fn/set/index.js | 8 + .../node_modules/core-js/library/fn/set/of.js | 8 + .../core-js/library/fn/string/anchor.js | 2 + .../core-js/library/fn/string/at.js | 2 + .../core-js/library/fn/string/big.js | 2 + .../core-js/library/fn/string/blink.js | 2 + .../core-js/library/fn/string/bold.js | 2 + .../library/fn/string/code-point-at.js | 2 + .../core-js/library/fn/string/ends-with.js | 2 + .../core-js/library/fn/string/escape-html.js | 2 + .../core-js/library/fn/string/fixed.js | 2 + .../core-js/library/fn/string/fontcolor.js | 2 + .../core-js/library/fn/string/fontsize.js | 2 + .../library/fn/string/from-code-point.js | 2 + .../core-js/library/fn/string/includes.js | 2 + .../core-js/library/fn/string/index.js | 35 + .../core-js/library/fn/string/italics.js | 2 + .../core-js/library/fn/string/iterator.js | 5 + .../core-js/library/fn/string/link.js | 2 + .../core-js/library/fn/string/match-all.js | 2 + .../core-js/library/fn/string/pad-end.js | 2 + .../core-js/library/fn/string/pad-start.js | 2 + .../core-js/library/fn/string/raw.js | 2 + .../core-js/library/fn/string/repeat.js | 2 + .../core-js/library/fn/string/small.js | 2 + .../core-js/library/fn/string/starts-with.js | 2 + .../core-js/library/fn/string/strike.js | 2 + .../core-js/library/fn/string/sub.js | 2 + .../core-js/library/fn/string/sup.js | 2 + .../core-js/library/fn/string/trim-end.js | 2 + .../core-js/library/fn/string/trim-left.js | 2 + .../core-js/library/fn/string/trim-right.js | 2 + .../core-js/library/fn/string/trim-start.js | 2 + .../core-js/library/fn/string/trim.js | 2 + .../library/fn/string/unescape-html.js | 2 + .../library/fn/string/virtual/anchor.js | 2 + .../core-js/library/fn/string/virtual/at.js | 2 + .../core-js/library/fn/string/virtual/big.js | 2 + .../library/fn/string/virtual/blink.js | 2 + .../core-js/library/fn/string/virtual/bold.js | 2 + .../fn/string/virtual/code-point-at.js | 2 + .../library/fn/string/virtual/ends-with.js | 2 + .../library/fn/string/virtual/escape-html.js | 2 + .../library/fn/string/virtual/fixed.js | 2 + .../library/fn/string/virtual/fontcolor.js | 2 + .../library/fn/string/virtual/fontsize.js | 2 + .../library/fn/string/virtual/includes.js | 2 + .../library/fn/string/virtual/index.js | 33 + .../library/fn/string/virtual/italics.js | 2 + .../library/fn/string/virtual/iterator.js | 2 + .../core-js/library/fn/string/virtual/link.js | 2 + .../library/fn/string/virtual/match-all.js | 2 + .../library/fn/string/virtual/pad-end.js | 2 + .../library/fn/string/virtual/pad-start.js | 2 + .../library/fn/string/virtual/repeat.js | 2 + .../library/fn/string/virtual/small.js | 2 + .../library/fn/string/virtual/starts-with.js | 2 + .../library/fn/string/virtual/strike.js | 2 + .../core-js/library/fn/string/virtual/sub.js | 2 + .../core-js/library/fn/string/virtual/sup.js | 2 + .../library/fn/string/virtual/trim-end.js | 2 + .../library/fn/string/virtual/trim-left.js | 2 + .../library/fn/string/virtual/trim-right.js | 2 + .../library/fn/string/virtual/trim-start.js | 2 + .../core-js/library/fn/string/virtual/trim.js | 2 + .../fn/string/virtual/unescape-html.js | 2 + .../library/fn/symbol/async-iterator.js | 2 + .../core-js/library/fn/symbol/for.js | 2 + .../core-js/library/fn/symbol/has-instance.js | 2 + .../core-js/library/fn/symbol/index.js | 5 + .../library/fn/symbol/is-concat-spreadable.js | 1 + .../core-js/library/fn/symbol/iterator.js | 3 + .../core-js/library/fn/symbol/key-for.js | 2 + .../core-js/library/fn/symbol/match.js | 2 + .../core-js/library/fn/symbol/observable.js | 2 + .../core-js/library/fn/symbol/replace.js | 2 + .../core-js/library/fn/symbol/search.js | 2 + .../core-js/library/fn/symbol/species.js | 1 + .../core-js/library/fn/symbol/split.js | 2 + .../core-js/library/fn/symbol/to-primitive.js | 1 + .../library/fn/symbol/to-string-tag.js | 2 + .../core-js/library/fn/symbol/unscopables.js | 1 + .../core-js/library/fn/system/global.js | 2 + .../core-js/library/fn/system/index.js | 2 + .../core-js/library/fn/typed/array-buffer.js | 3 + .../core-js/library/fn/typed/data-view.js | 3 + .../core-js/library/fn/typed/float32-array.js | 2 + .../core-js/library/fn/typed/float64-array.js | 2 + .../core-js/library/fn/typed/index.js | 13 + .../core-js/library/fn/typed/int16-array.js | 2 + .../core-js/library/fn/typed/int32-array.js | 2 + .../core-js/library/fn/typed/int8-array.js | 2 + .../core-js/library/fn/typed/uint16-array.js | 2 + .../core-js/library/fn/typed/uint32-array.js | 2 + .../core-js/library/fn/typed/uint8-array.js | 2 + .../library/fn/typed/uint8-clamped-array.js | 2 + .../core-js/library/fn/weak-map.js | 6 + .../core-js/library/fn/weak-map/from.js | 8 + .../core-js/library/fn/weak-map/index.js | 6 + .../core-js/library/fn/weak-map/of.js | 8 + .../core-js/library/fn/weak-set.js | 6 + .../core-js/library/fn/weak-set/from.js | 8 + .../core-js/library/fn/weak-set/index.js | 6 + .../core-js/library/fn/weak-set/of.js | 8 + socket/node_modules/core-js/library/index.js | 16 + .../core-js/library/modules/_a-function.js | 4 + .../library/modules/_a-number-value.js | 5 + .../library/modules/_add-to-unscopables.js | 1 + .../core-js/library/modules/_an-instance.js | 5 + .../core-js/library/modules/_an-object.js | 5 + .../library/modules/_array-copy-within.js | 26 + .../core-js/library/modules/_array-fill.js | 15 + .../library/modules/_array-from-iterable.js | 7 + .../library/modules/_array-includes.js | 23 + .../core-js/library/modules/_array-methods.js | 44 + .../core-js/library/modules/_array-reduce.js | 28 + .../modules/_array-species-constructor.js | 16 + .../library/modules/_array-species-create.js | 6 + .../core-js/library/modules/_bind.js | 25 + .../core-js/library/modules/_classof.js | 23 + .../core-js/library/modules/_cof.js | 5 + .../library/modules/_collection-strong.js | 144 + .../library/modules/_collection-to-json.js | 9 + .../library/modules/_collection-weak.js | 85 + .../core-js/library/modules/_collection.js | 59 + .../core-js/library/modules/_core.js | 2 + .../library/modules/_create-property.js | 8 + .../core-js/library/modules/_ctx.js | 20 + .../library/modules/_date-to-iso-string.js | 26 + .../library/modules/_date-to-primitive.js | 9 + .../core-js/library/modules/_defined.js | 5 + .../core-js/library/modules/_descriptors.js | 4 + .../core-js/library/modules/_dom-create.js | 7 + .../core-js/library/modules/_entry-virtual.js | 5 + .../core-js/library/modules/_enum-bug-keys.js | 4 + .../core-js/library/modules/_enum-keys.js | 15 + .../core-js/library/modules/_export.js | 61 + .../library/modules/_fails-is-regexp.js | 12 + .../core-js/library/modules/_fails.js | 7 + .../core-js/library/modules/_fix-re-wks.js | 28 + .../core-js/library/modules/_flags.js | 13 + .../library/modules/_flatten-into-array.js | 39 + .../core-js/library/modules/_for-of.js | 25 + .../core-js/library/modules/_global.js | 6 + .../core-js/library/modules/_has.js | 4 + .../core-js/library/modules/_hide.js | 8 + .../core-js/library/modules/_html.js | 2 + .../library/modules/_ie8-dom-define.js | 3 + .../library/modules/_inherit-if-required.js | 9 + .../core-js/library/modules/_invoke.js | 16 + .../core-js/library/modules/_iobject.js | 6 + .../core-js/library/modules/_is-array-iter.js | 8 + .../core-js/library/modules/_is-array.js | 5 + .../core-js/library/modules/_is-integer.js | 6 + .../core-js/library/modules/_is-object.js | 3 + .../core-js/library/modules/_is-regexp.js | 8 + .../core-js/library/modules/_iter-call.js | 12 + .../core-js/library/modules/_iter-create.js | 13 + .../core-js/library/modules/_iter-define.js | 70 + .../core-js/library/modules/_iter-detect.js | 22 + .../core-js/library/modules/_iter-step.js | 3 + .../core-js/library/modules/_iterators.js | 1 + .../core-js/library/modules/_keyof.js | 10 + .../core-js/library/modules/_library.js | 1 + .../core-js/library/modules/_math-expm1.js | 10 + .../core-js/library/modules/_math-fround.js | 23 + .../core-js/library/modules/_math-log1p.js | 4 + .../core-js/library/modules/_math-scale.js | 18 + .../core-js/library/modules/_math-sign.js | 5 + .../core-js/library/modules/_meta.js | 53 + .../core-js/library/modules/_metadata.js | 51 + .../core-js/library/modules/_microtask.js | 68 + .../modules/_new-promise-capability.js | 18 + .../core-js/library/modules/_object-assign.js | 34 + .../core-js/library/modules/_object-create.js | 41 + .../core-js/library/modules/_object-define.js | 13 + .../core-js/library/modules/_object-dp.js | 16 + .../core-js/library/modules/_object-dps.js | 13 + .../library/modules/_object-forced-pam.js | 9 + .../core-js/library/modules/_object-gopd.js | 16 + .../library/modules/_object-gopn-ext.js | 19 + .../core-js/library/modules/_object-gopn.js | 7 + .../core-js/library/modules/_object-gops.js | 1 + .../core-js/library/modules/_object-gpo.js | 13 + .../library/modules/_object-keys-internal.js | 17 + .../core-js/library/modules/_object-keys.js | 7 + .../core-js/library/modules/_object-pie.js | 1 + .../core-js/library/modules/_object-sap.js | 10 + .../library/modules/_object-to-array.js | 16 + .../core-js/library/modules/_own-keys.js | 10 + .../core-js/library/modules/_parse-float.js | 8 + .../core-js/library/modules/_parse-int.js | 9 + .../core-js/library/modules/_partial.js | 25 + .../core-js/library/modules/_path.js | 1 + .../core-js/library/modules/_perform.js | 7 + .../library/modules/_promise-resolve.js | 12 + .../core-js/library/modules/_property-desc.js | 8 + .../core-js/library/modules/_redefine-all.js | 7 + .../core-js/library/modules/_redefine.js | 1 + .../core-js/library/modules/_replacer.js | 8 + .../core-js/library/modules/_same-value.js | 5 + .../library/modules/_set-collection-from.js | 28 + .../library/modules/_set-collection-of.js | 12 + .../core-js/library/modules/_set-proto.js | 25 + .../core-js/library/modules/_set-species.js | 14 + .../library/modules/_set-to-string-tag.js | 7 + .../core-js/library/modules/_shared-key.js | 5 + .../core-js/library/modules/_shared.js | 6 + .../library/modules/_species-constructor.js | 9 + .../core-js/library/modules/_strict-method.js | 9 + .../core-js/library/modules/_string-at.js | 17 + .../library/modules/_string-context.js | 8 + .../core-js/library/modules/_string-html.js | 19 + .../core-js/library/modules/_string-pad.js | 16 + .../core-js/library/modules/_string-repeat.js | 12 + .../core-js/library/modules/_string-trim.js | 30 + .../core-js/library/modules/_string-ws.js | 2 + .../core-js/library/modules/_task.js | 84 + .../library/modules/_to-absolute-index.js | 7 + .../core-js/library/modules/_to-index.js | 10 + .../core-js/library/modules/_to-integer.js | 6 + .../core-js/library/modules/_to-iobject.js | 6 + .../core-js/library/modules/_to-length.js | 6 + .../core-js/library/modules/_to-object.js | 5 + .../core-js/library/modules/_to-primitive.js | 12 + .../core-js/library/modules/_typed-array.js | 480 + .../core-js/library/modules/_typed-buffer.js | 276 + .../core-js/library/modules/_typed.js | 28 + .../core-js/library/modules/_uid.js | 5 + .../core-js/library/modules/_user-agent.js | 4 + .../library/modules/_validate-collection.js | 5 + .../core-js/library/modules/_wks-define.js | 9 + .../core-js/library/modules/_wks-ext.js | 1 + .../core-js/library/modules/_wks.js | 11 + .../core-js/library/modules/core.delay.js | 12 + .../core-js/library/modules/core.dict.js | 157 + .../library/modules/core.function.part.js | 7 + .../modules/core.get-iterator-method.js | 8 + .../library/modules/core.get-iterator.js | 7 + .../library/modules/core.is-iterable.js | 10 + .../library/modules/core.number.iterator.js | 9 + .../library/modules/core.object.classof.js | 3 + .../library/modules/core.object.define.js | 4 + .../library/modules/core.object.is-object.js | 3 + .../library/modules/core.object.make.js | 9 + .../library/modules/core.regexp.escape.js | 5 + .../modules/core.string.escape-html.js | 11 + .../modules/core.string.unescape-html.js | 11 + .../core-js/library/modules/es5.js | 35 + .../library/modules/es6.array.copy-within.js | 6 + .../library/modules/es6.array.every.js | 10 + .../core-js/library/modules/es6.array.fill.js | 6 + .../library/modules/es6.array.filter.js | 10 + .../library/modules/es6.array.find-index.js | 14 + .../core-js/library/modules/es6.array.find.js | 14 + .../library/modules/es6.array.for-each.js | 11 + .../core-js/library/modules/es6.array.from.js | 37 + .../library/modules/es6.array.index-of.js | 15 + .../library/modules/es6.array.is-array.js | 4 + .../library/modules/es6.array.iterator.js | 34 + .../core-js/library/modules/es6.array.join.js | 12 + .../modules/es6.array.last-index-of.js | 22 + .../core-js/library/modules/es6.array.map.js | 10 + .../core-js/library/modules/es6.array.of.js | 19 + .../library/modules/es6.array.reduce-right.js | 10 + .../library/modules/es6.array.reduce.js | 10 + .../library/modules/es6.array.slice.js | 28 + .../core-js/library/modules/es6.array.some.js | 10 + .../core-js/library/modules/es6.array.sort.js | 23 + .../library/modules/es6.array.species.js | 1 + .../core-js/library/modules/es6.date.now.js | 4 + .../library/modules/es6.date.to-iso-string.js | 8 + .../library/modules/es6.date.to-json.js | 19 + .../library/modules/es6.date.to-primitive.js | 0 .../library/modules/es6.date.to-string.js | 0 .../library/modules/es6.function.bind.js | 4 + .../modules/es6.function.has-instance.js | 13 + .../library/modules/es6.function.name.js | 0 .../core-js/library/modules/es6.map.js | 19 + .../core-js/library/modules/es6.math.acosh.js | 18 + .../core-js/library/modules/es6.math.asinh.js | 10 + .../core-js/library/modules/es6.math.atanh.js | 10 + .../core-js/library/modules/es6.math.cbrt.js | 9 + .../core-js/library/modules/es6.math.clz32.js | 8 + .../core-js/library/modules/es6.math.cosh.js | 9 + .../core-js/library/modules/es6.math.expm1.js | 5 + .../library/modules/es6.math.fround.js | 4 + .../core-js/library/modules/es6.math.hypot.js | 25 + .../core-js/library/modules/es6.math.imul.js | 17 + .../core-js/library/modules/es6.math.log10.js | 8 + .../core-js/library/modules/es6.math.log1p.js | 4 + .../core-js/library/modules/es6.math.log2.js | 8 + .../core-js/library/modules/es6.math.sign.js | 4 + .../core-js/library/modules/es6.math.sinh.js | 15 + .../core-js/library/modules/es6.math.tanh.js | 12 + .../core-js/library/modules/es6.math.trunc.js | 8 + .../library/modules/es6.number.constructor.js | 0 .../library/modules/es6.number.epsilon.js | 4 + .../library/modules/es6.number.is-finite.js | 9 + .../library/modules/es6.number.is-integer.js | 4 + .../library/modules/es6.number.is-nan.js | 9 + .../modules/es6.number.is-safe-integer.js | 10 + .../modules/es6.number.max-safe-integer.js | 4 + .../modules/es6.number.min-safe-integer.js | 4 + .../library/modules/es6.number.parse-float.js | 4 + .../library/modules/es6.number.parse-int.js | 4 + .../library/modules/es6.number.to-fixed.js | 114 + .../modules/es6.number.to-precision.js | 18 + .../library/modules/es6.object.assign.js | 4 + .../library/modules/es6.object.create.js | 3 + .../modules/es6.object.define-properties.js | 3 + .../modules/es6.object.define-property.js | 3 + .../library/modules/es6.object.freeze.js | 9 + .../es6.object.get-own-property-descriptor.js | 9 + .../es6.object.get-own-property-names.js | 4 + .../modules/es6.object.get-prototype-of.js | 9 + .../modules/es6.object.is-extensible.js | 8 + .../library/modules/es6.object.is-frozen.js | 8 + .../library/modules/es6.object.is-sealed.js | 8 + .../core-js/library/modules/es6.object.is.js | 3 + .../library/modules/es6.object.keys.js | 9 + .../modules/es6.object.prevent-extensions.js | 9 + .../library/modules/es6.object.seal.js | 9 + .../modules/es6.object.set-prototype-of.js | 3 + .../library/modules/es6.object.to-string.js | 0 .../library/modules/es6.parse-float.js | 4 + .../core-js/library/modules/es6.parse-int.js | 4 + .../core-js/library/modules/es6.promise.js | 273 + .../library/modules/es6.reflect.apply.js | 16 + .../library/modules/es6.reflect.construct.js | 47 + .../modules/es6.reflect.define-property.js | 23 + .../modules/es6.reflect.delete-property.js | 11 + .../library/modules/es6.reflect.enumerate.js | 26 + ...es6.reflect.get-own-property-descriptor.js | 10 + .../modules/es6.reflect.get-prototype-of.js | 10 + .../library/modules/es6.reflect.get.js | 21 + .../library/modules/es6.reflect.has.js | 8 + .../modules/es6.reflect.is-extensible.js | 11 + .../library/modules/es6.reflect.own-keys.js | 4 + .../modules/es6.reflect.prevent-extensions.js | 16 + .../modules/es6.reflect.set-prototype-of.js | 15 + .../library/modules/es6.reflect.set.js | 31 + .../library/modules/es6.regexp.constructor.js | 1 + .../library/modules/es6.regexp.flags.js | 0 .../library/modules/es6.regexp.match.js | 0 .../library/modules/es6.regexp.replace.js | 0 .../library/modules/es6.regexp.search.js | 0 .../library/modules/es6.regexp.split.js | 0 .../library/modules/es6.regexp.to-string.js | 0 .../core-js/library/modules/es6.set.js | 14 + .../library/modules/es6.string.anchor.js | 7 + .../core-js/library/modules/es6.string.big.js | 7 + .../library/modules/es6.string.blink.js | 7 + .../library/modules/es6.string.bold.js | 7 + .../modules/es6.string.code-point-at.js | 9 + .../library/modules/es6.string.ends-with.js | 20 + .../library/modules/es6.string.fixed.js | 7 + .../library/modules/es6.string.fontcolor.js | 7 + .../library/modules/es6.string.fontsize.js | 7 + .../modules/es6.string.from-code-point.js | 23 + .../library/modules/es6.string.includes.js | 12 + .../library/modules/es6.string.italics.js | 7 + .../library/modules/es6.string.iterator.js | 17 + .../library/modules/es6.string.link.js | 7 + .../core-js/library/modules/es6.string.raw.js | 18 + .../library/modules/es6.string.repeat.js | 6 + .../library/modules/es6.string.small.js | 7 + .../library/modules/es6.string.starts-with.js | 18 + .../library/modules/es6.string.strike.js | 7 + .../core-js/library/modules/es6.string.sub.js | 7 + .../core-js/library/modules/es6.string.sup.js | 7 + .../library/modules/es6.string.trim.js | 7 + .../core-js/library/modules/es6.symbol.js | 234 + .../library/modules/es6.typed.array-buffer.js | 46 + .../library/modules/es6.typed.data-view.js | 4 + .../modules/es6.typed.float32-array.js | 5 + .../modules/es6.typed.float64-array.js | 5 + .../library/modules/es6.typed.int16-array.js | 5 + .../library/modules/es6.typed.int32-array.js | 5 + .../library/modules/es6.typed.int8-array.js | 5 + .../library/modules/es6.typed.uint16-array.js | 5 + .../library/modules/es6.typed.uint32-array.js | 5 + .../library/modules/es6.typed.uint8-array.js | 5 + .../modules/es6.typed.uint8-clamped-array.js | 5 + .../core-js/library/modules/es6.weak-map.js | 59 + .../core-js/library/modules/es6.weak-set.js | 14 + .../library/modules/es7.array.flat-map.js | 22 + .../library/modules/es7.array.flatten.js | 21 + .../library/modules/es7.array.includes.js | 12 + .../core-js/library/modules/es7.asap.js | 12 + .../library/modules/es7.error.is-error.js | 9 + .../core-js/library/modules/es7.global.js | 4 + .../core-js/library/modules/es7.map.from.js | 2 + .../core-js/library/modules/es7.map.of.js | 2 + .../library/modules/es7.map.to-json.js | 4 + .../core-js/library/modules/es7.math.clamp.js | 8 + .../library/modules/es7.math.deg-per-rad.js | 4 + .../library/modules/es7.math.degrees.js | 9 + .../library/modules/es7.math.fscale.js | 10 + .../core-js/library/modules/es7.math.iaddh.js | 11 + .../core-js/library/modules/es7.math.imulh.js | 16 + .../core-js/library/modules/es7.math.isubh.js | 11 + .../library/modules/es7.math.rad-per-deg.js | 4 + .../library/modules/es7.math.radians.js | 9 + .../core-js/library/modules/es7.math.scale.js | 4 + .../library/modules/es7.math.signbit.js | 7 + .../core-js/library/modules/es7.math.umulh.js | 16 + .../modules/es7.object.define-getter.js | 12 + .../modules/es7.object.define-setter.js | 12 + .../library/modules/es7.object.entries.js | 9 + ...es7.object.get-own-property-descriptors.js | 22 + .../modules/es7.object.lookup-getter.js | 18 + .../modules/es7.object.lookup-setter.js | 18 + .../library/modules/es7.object.values.js | 9 + .../core-js/library/modules/es7.observable.js | 199 + .../library/modules/es7.promise.finally.js | 20 + .../library/modules/es7.promise.try.js | 12 + .../modules/es7.reflect.define-metadata.js | 8 + .../modules/es7.reflect.delete-metadata.js | 15 + .../modules/es7.reflect.get-metadata-keys.js | 19 + .../modules/es7.reflect.get-metadata.js | 17 + .../es7.reflect.get-own-metadata-keys.js | 8 + .../modules/es7.reflect.get-own-metadata.js | 9 + .../modules/es7.reflect.has-metadata.js | 16 + .../modules/es7.reflect.has-own-metadata.js | 9 + .../library/modules/es7.reflect.metadata.js | 15 + .../core-js/library/modules/es7.set.from.js | 2 + .../core-js/library/modules/es7.set.of.js | 2 + .../library/modules/es7.set.to-json.js | 4 + .../core-js/library/modules/es7.string.at.js | 10 + .../library/modules/es7.string.match-all.js | 30 + .../library/modules/es7.string.pad-end.js | 12 + .../library/modules/es7.string.pad-start.js | 12 + .../library/modules/es7.string.trim-left.js | 7 + .../library/modules/es7.string.trim-right.js | 7 + .../modules/es7.symbol.async-iterator.js | 1 + .../library/modules/es7.symbol.observable.js | 1 + .../library/modules/es7.system.global.js | 4 + .../library/modules/es7.weak-map.from.js | 2 + .../library/modules/es7.weak-map.of.js | 2 + .../library/modules/es7.weak-set.from.js | 2 + .../library/modules/es7.weak-set.of.js | 2 + .../library/modules/web.dom.iterable.js | 19 + .../core-js/library/modules/web.immediate.js | 6 + .../core-js/library/modules/web.timers.js | 20 + socket/node_modules/core-js/library/shim.js | 197 + .../node_modules/core-js/library/stage/0.js | 10 + .../node_modules/core-js/library/stage/1.js | 23 + .../node_modules/core-js/library/stage/2.js | 4 + .../node_modules/core-js/library/stage/3.js | 4 + .../node_modules/core-js/library/stage/4.js | 11 + .../core-js/library/stage/index.js | 1 + .../node_modules/core-js/library/stage/pre.js | 10 + .../core-js/library/web/dom-collections.js | 2 + .../core-js/library/web/immediate.js | 2 + .../node_modules/core-js/library/web/index.js | 4 + .../core-js/library/web/timers.js | 2 + .../core-js/modules/_a-function.js | 4 + .../core-js/modules/_a-number-value.js | 5 + .../core-js/modules/_add-to-unscopables.js | 7 + .../core-js/modules/_an-instance.js | 5 + .../core-js/modules/_an-object.js | 5 + .../core-js/modules/_array-copy-within.js | 26 + .../core-js/modules/_array-fill.js | 15 + .../core-js/modules/_array-from-iterable.js | 7 + .../core-js/modules/_array-includes.js | 23 + .../core-js/modules/_array-methods.js | 44 + .../core-js/modules/_array-reduce.js | 28 + .../modules/_array-species-constructor.js | 16 + .../core-js/modules/_array-species-create.js | 6 + socket/node_modules/core-js/modules/_bind.js | 25 + .../node_modules/core-js/modules/_classof.js | 23 + socket/node_modules/core-js/modules/_cof.js | 5 + .../core-js/modules/_collection-strong.js | 144 + .../core-js/modules/_collection-to-json.js | 9 + .../core-js/modules/_collection-weak.js | 85 + .../core-js/modules/_collection.js | 85 + socket/node_modules/core-js/modules/_core.js | 2 + .../core-js/modules/_create-property.js | 8 + socket/node_modules/core-js/modules/_ctx.js | 20 + .../core-js/modules/_date-to-iso-string.js | 26 + .../core-js/modules/_date-to-primitive.js | 9 + .../node_modules/core-js/modules/_defined.js | 5 + .../core-js/modules/_descriptors.js | 4 + .../core-js/modules/_dom-create.js | 7 + .../core-js/modules/_entry-virtual.js | 5 + .../core-js/modules/_enum-bug-keys.js | 4 + .../core-js/modules/_enum-keys.js | 15 + .../node_modules/core-js/modules/_export.js | 43 + .../core-js/modules/_fails-is-regexp.js | 12 + socket/node_modules/core-js/modules/_fails.js | 7 + .../core-js/modules/_fix-re-wks.js | 28 + socket/node_modules/core-js/modules/_flags.js | 13 + .../core-js/modules/_flatten-into-array.js | 39 + .../node_modules/core-js/modules/_for-of.js | 25 + .../node_modules/core-js/modules/_global.js | 6 + socket/node_modules/core-js/modules/_has.js | 4 + socket/node_modules/core-js/modules/_hide.js | 8 + socket/node_modules/core-js/modules/_html.js | 2 + .../core-js/modules/_ie8-dom-define.js | 3 + .../core-js/modules/_inherit-if-required.js | 9 + .../node_modules/core-js/modules/_invoke.js | 16 + .../node_modules/core-js/modules/_iobject.js | 6 + .../core-js/modules/_is-array-iter.js | 8 + .../node_modules/core-js/modules/_is-array.js | 5 + .../core-js/modules/_is-integer.js | 6 + .../core-js/modules/_is-object.js | 3 + .../core-js/modules/_is-regexp.js | 8 + .../core-js/modules/_iter-call.js | 12 + .../core-js/modules/_iter-create.js | 13 + .../core-js/modules/_iter-define.js | 70 + .../core-js/modules/_iter-detect.js | 22 + .../core-js/modules/_iter-step.js | 3 + .../core-js/modules/_iterators.js | 1 + socket/node_modules/core-js/modules/_keyof.js | 10 + .../node_modules/core-js/modules/_library.js | 1 + .../core-js/modules/_math-expm1.js | 10 + .../core-js/modules/_math-fround.js | 23 + .../core-js/modules/_math-log1p.js | 4 + .../core-js/modules/_math-scale.js | 18 + .../core-js/modules/_math-sign.js | 5 + socket/node_modules/core-js/modules/_meta.js | 53 + .../node_modules/core-js/modules/_metadata.js | 51 + .../core-js/modules/_microtask.js | 68 + .../modules/_new-promise-capability.js | 18 + .../core-js/modules/_object-assign.js | 34 + .../core-js/modules/_object-create.js | 41 + .../core-js/modules/_object-define.js | 13 + .../core-js/modules/_object-dp.js | 16 + .../core-js/modules/_object-dps.js | 13 + .../core-js/modules/_object-forced-pam.js | 9 + .../core-js/modules/_object-gopd.js | 16 + .../core-js/modules/_object-gopn-ext.js | 19 + .../core-js/modules/_object-gopn.js | 7 + .../core-js/modules/_object-gops.js | 1 + .../core-js/modules/_object-gpo.js | 13 + .../core-js/modules/_object-keys-internal.js | 17 + .../core-js/modules/_object-keys.js | 7 + .../core-js/modules/_object-pie.js | 1 + .../core-js/modules/_object-sap.js | 10 + .../core-js/modules/_object-to-array.js | 16 + .../node_modules/core-js/modules/_own-keys.js | 10 + .../core-js/modules/_parse-float.js | 8 + .../core-js/modules/_parse-int.js | 9 + .../node_modules/core-js/modules/_partial.js | 25 + socket/node_modules/core-js/modules/_path.js | 1 + .../node_modules/core-js/modules/_perform.js | 7 + .../core-js/modules/_promise-resolve.js | 12 + .../core-js/modules/_property-desc.js | 8 + .../core-js/modules/_redefine-all.js | 5 + .../node_modules/core-js/modules/_redefine.js | 31 + .../node_modules/core-js/modules/_replacer.js | 8 + .../core-js/modules/_same-value.js | 5 + .../core-js/modules/_set-collection-from.js | 28 + .../core-js/modules/_set-collection-of.js | 12 + .../core-js/modules/_set-proto.js | 25 + .../core-js/modules/_set-species.js | 13 + .../core-js/modules/_set-to-string-tag.js | 7 + .../core-js/modules/_shared-key.js | 5 + .../node_modules/core-js/modules/_shared.js | 6 + .../core-js/modules/_species-constructor.js | 9 + .../core-js/modules/_strict-method.js | 9 + .../core-js/modules/_string-at.js | 17 + .../core-js/modules/_string-context.js | 8 + .../core-js/modules/_string-html.js | 19 + .../core-js/modules/_string-pad.js | 16 + .../core-js/modules/_string-repeat.js | 12 + .../core-js/modules/_string-trim.js | 30 + .../core-js/modules/_string-ws.js | 2 + socket/node_modules/core-js/modules/_task.js | 84 + .../core-js/modules/_to-absolute-index.js | 7 + .../node_modules/core-js/modules/_to-index.js | 10 + .../core-js/modules/_to-integer.js | 6 + .../core-js/modules/_to-iobject.js | 6 + .../core-js/modules/_to-length.js | 6 + .../core-js/modules/_to-object.js | 5 + .../core-js/modules/_to-primitive.js | 12 + .../core-js/modules/_typed-array.js | 480 + .../core-js/modules/_typed-buffer.js | 276 + socket/node_modules/core-js/modules/_typed.js | 28 + socket/node_modules/core-js/modules/_uid.js | 5 + .../core-js/modules/_user-agent.js | 4 + .../core-js/modules/_validate-collection.js | 5 + .../core-js/modules/_wks-define.js | 9 + .../node_modules/core-js/modules/_wks-ext.js | 1 + socket/node_modules/core-js/modules/_wks.js | 11 + .../core-js/modules/core.delay.js | 12 + .../node_modules/core-js/modules/core.dict.js | 157 + .../core-js/modules/core.function.part.js | 7 + .../modules/core.get-iterator-method.js | 8 + .../core-js/modules/core.get-iterator.js | 7 + .../core-js/modules/core.is-iterable.js | 10 + .../core-js/modules/core.number.iterator.js | 9 + .../core-js/modules/core.object.classof.js | 3 + .../core-js/modules/core.object.define.js | 4 + .../core-js/modules/core.object.is-object.js | 3 + .../core-js/modules/core.object.make.js | 9 + .../core-js/modules/core.regexp.escape.js | 5 + .../modules/core.string.escape-html.js | 11 + .../modules/core.string.unescape-html.js | 11 + socket/node_modules/core-js/modules/es5.js | 35 + .../core-js/modules/es6.array.copy-within.js | 6 + .../core-js/modules/es6.array.every.js | 10 + .../core-js/modules/es6.array.fill.js | 6 + .../core-js/modules/es6.array.filter.js | 10 + .../core-js/modules/es6.array.find-index.js | 14 + .../core-js/modules/es6.array.find.js | 14 + .../core-js/modules/es6.array.for-each.js | 11 + .../core-js/modules/es6.array.from.js | 37 + .../core-js/modules/es6.array.index-of.js | 15 + .../core-js/modules/es6.array.is-array.js | 4 + .../core-js/modules/es6.array.iterator.js | 34 + .../core-js/modules/es6.array.join.js | 12 + .../modules/es6.array.last-index-of.js | 22 + .../core-js/modules/es6.array.map.js | 10 + .../core-js/modules/es6.array.of.js | 19 + .../core-js/modules/es6.array.reduce-right.js | 10 + .../core-js/modules/es6.array.reduce.js | 10 + .../core-js/modules/es6.array.slice.js | 28 + .../core-js/modules/es6.array.some.js | 10 + .../core-js/modules/es6.array.sort.js | 23 + .../core-js/modules/es6.array.species.js | 1 + .../core-js/modules/es6.date.now.js | 4 + .../core-js/modules/es6.date.to-iso-string.js | 8 + .../core-js/modules/es6.date.to-json.js | 16 + .../core-js/modules/es6.date.to-primitive.js | 4 + .../core-js/modules/es6.date.to-string.js | 12 + .../core-js/modules/es6.function.bind.js | 4 + .../modules/es6.function.has-instance.js | 13 + .../core-js/modules/es6.function.name.js | 16 + .../node_modules/core-js/modules/es6.map.js | 19 + .../core-js/modules/es6.math.acosh.js | 18 + .../core-js/modules/es6.math.asinh.js | 10 + .../core-js/modules/es6.math.atanh.js | 10 + .../core-js/modules/es6.math.cbrt.js | 9 + .../core-js/modules/es6.math.clz32.js | 8 + .../core-js/modules/es6.math.cosh.js | 9 + .../core-js/modules/es6.math.expm1.js | 5 + .../core-js/modules/es6.math.fround.js | 4 + .../core-js/modules/es6.math.hypot.js | 25 + .../core-js/modules/es6.math.imul.js | 17 + .../core-js/modules/es6.math.log10.js | 8 + .../core-js/modules/es6.math.log1p.js | 4 + .../core-js/modules/es6.math.log2.js | 8 + .../core-js/modules/es6.math.sign.js | 4 + .../core-js/modules/es6.math.sinh.js | 15 + .../core-js/modules/es6.math.tanh.js | 12 + .../core-js/modules/es6.math.trunc.js | 8 + .../core-js/modules/es6.number.constructor.js | 69 + .../core-js/modules/es6.number.epsilon.js | 4 + .../core-js/modules/es6.number.is-finite.js | 9 + .../core-js/modules/es6.number.is-integer.js | 4 + .../core-js/modules/es6.number.is-nan.js | 9 + .../modules/es6.number.is-safe-integer.js | 10 + .../modules/es6.number.max-safe-integer.js | 4 + .../modules/es6.number.min-safe-integer.js | 4 + .../core-js/modules/es6.number.parse-float.js | 4 + .../core-js/modules/es6.number.parse-int.js | 4 + .../core-js/modules/es6.number.to-fixed.js | 114 + .../modules/es6.number.to-precision.js | 18 + .../core-js/modules/es6.object.assign.js | 4 + .../core-js/modules/es6.object.create.js | 3 + .../modules/es6.object.define-properties.js | 3 + .../modules/es6.object.define-property.js | 3 + .../core-js/modules/es6.object.freeze.js | 9 + .../es6.object.get-own-property-descriptor.js | 9 + .../es6.object.get-own-property-names.js | 4 + .../modules/es6.object.get-prototype-of.js | 9 + .../modules/es6.object.is-extensible.js | 8 + .../core-js/modules/es6.object.is-frozen.js | 8 + .../core-js/modules/es6.object.is-sealed.js | 8 + .../core-js/modules/es6.object.is.js | 3 + .../core-js/modules/es6.object.keys.js | 9 + .../modules/es6.object.prevent-extensions.js | 9 + .../core-js/modules/es6.object.seal.js | 9 + .../modules/es6.object.set-prototype-of.js | 3 + .../core-js/modules/es6.object.to-string.js | 10 + .../core-js/modules/es6.parse-float.js | 4 + .../core-js/modules/es6.parse-int.js | 4 + .../core-js/modules/es6.promise.js | 273 + .../core-js/modules/es6.reflect.apply.js | 16 + .../core-js/modules/es6.reflect.construct.js | 47 + .../modules/es6.reflect.define-property.js | 23 + .../modules/es6.reflect.delete-property.js | 11 + .../core-js/modules/es6.reflect.enumerate.js | 26 + ...es6.reflect.get-own-property-descriptor.js | 10 + .../modules/es6.reflect.get-prototype-of.js | 10 + .../core-js/modules/es6.reflect.get.js | 21 + .../core-js/modules/es6.reflect.has.js | 8 + .../modules/es6.reflect.is-extensible.js | 11 + .../core-js/modules/es6.reflect.own-keys.js | 4 + .../modules/es6.reflect.prevent-extensions.js | 16 + .../modules/es6.reflect.set-prototype-of.js | 15 + .../core-js/modules/es6.reflect.set.js | 31 + .../core-js/modules/es6.regexp.constructor.js | 43 + .../core-js/modules/es6.regexp.flags.js | 5 + .../core-js/modules/es6.regexp.match.js | 10 + .../core-js/modules/es6.regexp.replace.js | 12 + .../core-js/modules/es6.regexp.search.js | 10 + .../core-js/modules/es6.regexp.split.js | 71 + .../core-js/modules/es6.regexp.to-string.js | 25 + .../node_modules/core-js/modules/es6.set.js | 14 + .../core-js/modules/es6.string.anchor.js | 7 + .../core-js/modules/es6.string.big.js | 7 + .../core-js/modules/es6.string.blink.js | 7 + .../core-js/modules/es6.string.bold.js | 7 + .../modules/es6.string.code-point-at.js | 9 + .../core-js/modules/es6.string.ends-with.js | 20 + .../core-js/modules/es6.string.fixed.js | 7 + .../core-js/modules/es6.string.fontcolor.js | 7 + .../core-js/modules/es6.string.fontsize.js | 7 + .../modules/es6.string.from-code-point.js | 23 + .../core-js/modules/es6.string.includes.js | 12 + .../core-js/modules/es6.string.italics.js | 7 + .../core-js/modules/es6.string.iterator.js | 17 + .../core-js/modules/es6.string.link.js | 7 + .../core-js/modules/es6.string.raw.js | 18 + .../core-js/modules/es6.string.repeat.js | 6 + .../core-js/modules/es6.string.small.js | 7 + .../core-js/modules/es6.string.starts-with.js | 18 + .../core-js/modules/es6.string.strike.js | 7 + .../core-js/modules/es6.string.sub.js | 7 + .../core-js/modules/es6.string.sup.js | 7 + .../core-js/modules/es6.string.trim.js | 7 + .../core-js/modules/es6.symbol.js | 234 + .../core-js/modules/es6.typed.array-buffer.js | 46 + .../core-js/modules/es6.typed.data-view.js | 4 + .../modules/es6.typed.float32-array.js | 5 + .../modules/es6.typed.float64-array.js | 5 + .../core-js/modules/es6.typed.int16-array.js | 5 + .../core-js/modules/es6.typed.int32-array.js | 5 + .../core-js/modules/es6.typed.int8-array.js | 5 + .../core-js/modules/es6.typed.uint16-array.js | 5 + .../core-js/modules/es6.typed.uint32-array.js | 5 + .../core-js/modules/es6.typed.uint8-array.js | 5 + .../modules/es6.typed.uint8-clamped-array.js | 5 + .../core-js/modules/es6.weak-map.js | 59 + .../core-js/modules/es6.weak-set.js | 14 + .../core-js/modules/es7.array.flat-map.js | 22 + .../core-js/modules/es7.array.flatten.js | 21 + .../core-js/modules/es7.array.includes.js | 12 + .../node_modules/core-js/modules/es7.asap.js | 12 + .../core-js/modules/es7.error.is-error.js | 9 + .../core-js/modules/es7.global.js | 4 + .../core-js/modules/es7.map.from.js | 2 + .../core-js/modules/es7.map.of.js | 2 + .../core-js/modules/es7.map.to-json.js | 4 + .../core-js/modules/es7.math.clamp.js | 8 + .../core-js/modules/es7.math.deg-per-rad.js | 4 + .../core-js/modules/es7.math.degrees.js | 9 + .../core-js/modules/es7.math.fscale.js | 10 + .../core-js/modules/es7.math.iaddh.js | 11 + .../core-js/modules/es7.math.imulh.js | 16 + .../core-js/modules/es7.math.isubh.js | 11 + .../core-js/modules/es7.math.rad-per-deg.js | 4 + .../core-js/modules/es7.math.radians.js | 9 + .../core-js/modules/es7.math.scale.js | 4 + .../core-js/modules/es7.math.signbit.js | 7 + .../core-js/modules/es7.math.umulh.js | 16 + .../modules/es7.object.define-getter.js | 12 + .../modules/es7.object.define-setter.js | 12 + .../core-js/modules/es7.object.entries.js | 9 + ...es7.object.get-own-property-descriptors.js | 22 + .../modules/es7.object.lookup-getter.js | 18 + .../modules/es7.object.lookup-setter.js | 18 + .../core-js/modules/es7.object.values.js | 9 + .../core-js/modules/es7.observable.js | 199 + .../core-js/modules/es7.promise.finally.js | 20 + .../core-js/modules/es7.promise.try.js | 12 + .../modules/es7.reflect.define-metadata.js | 8 + .../modules/es7.reflect.delete-metadata.js | 15 + .../modules/es7.reflect.get-metadata-keys.js | 19 + .../modules/es7.reflect.get-metadata.js | 17 + .../es7.reflect.get-own-metadata-keys.js | 8 + .../modules/es7.reflect.get-own-metadata.js | 9 + .../modules/es7.reflect.has-metadata.js | 16 + .../modules/es7.reflect.has-own-metadata.js | 9 + .../core-js/modules/es7.reflect.metadata.js | 15 + .../core-js/modules/es7.set.from.js | 2 + .../core-js/modules/es7.set.of.js | 2 + .../core-js/modules/es7.set.to-json.js | 4 + .../core-js/modules/es7.string.at.js | 10 + .../core-js/modules/es7.string.match-all.js | 30 + .../core-js/modules/es7.string.pad-end.js | 12 + .../core-js/modules/es7.string.pad-start.js | 12 + .../core-js/modules/es7.string.trim-left.js | 7 + .../core-js/modules/es7.string.trim-right.js | 7 + .../modules/es7.symbol.async-iterator.js | 1 + .../core-js/modules/es7.symbol.observable.js | 1 + .../core-js/modules/es7.system.global.js | 4 + .../core-js/modules/es7.weak-map.from.js | 2 + .../core-js/modules/es7.weak-map.of.js | 2 + .../core-js/modules/es7.weak-set.from.js | 2 + .../core-js/modules/es7.weak-set.of.js | 2 + .../modules/library/_add-to-unscopables.js | 1 + .../core-js/modules/library/_collection.js | 59 + .../core-js/modules/library/_export.js | 61 + .../core-js/modules/library/_library.js | 1 + .../core-js/modules/library/_path.js | 1 + .../core-js/modules/library/_redefine-all.js | 7 + .../core-js/modules/library/_redefine.js | 1 + .../core-js/modules/library/_set-species.js | 14 + .../modules/library/es6.date.to-json.js | 19 + .../modules/library/es6.date.to-primitive.js | 0 .../modules/library/es6.date.to-string.js | 0 .../modules/library/es6.function.name.js | 0 .../modules/library/es6.number.constructor.js | 0 .../modules/library/es6.object.to-string.js | 0 .../modules/library/es6.regexp.constructor.js | 1 + .../modules/library/es6.regexp.flags.js | 0 .../modules/library/es6.regexp.match.js | 0 .../modules/library/es6.regexp.replace.js | 0 .../modules/library/es6.regexp.search.js | 0 .../modules/library/es6.regexp.split.js | 0 .../modules/library/es6.regexp.to-string.js | 0 .../modules/library/web.dom.iterable.js | 19 + .../core-js/modules/web.dom.iterable.js | 58 + .../core-js/modules/web.immediate.js | 6 + .../core-js/modules/web.timers.js | 20 + socket/node_modules/core-js/package.json | 101 + socket/node_modules/core-js/shim.js | 197 + socket/node_modules/core-js/stage/0.js | 10 + socket/node_modules/core-js/stage/1.js | 23 + socket/node_modules/core-js/stage/2.js | 4 + socket/node_modules/core-js/stage/3.js | 4 + socket/node_modules/core-js/stage/4.js | 11 + socket/node_modules/core-js/stage/index.js | 1 + socket/node_modules/core-js/stage/pre.js | 10 + .../core-js/web/dom-collections.js | 2 + socket/node_modules/core-js/web/immediate.js | 2 + socket/node_modules/core-js/web/index.js | 4 + socket/node_modules/core-js/web/timers.js | 2 + socket/node_modules/crc/.npmignore | 4 + socket/node_modules/crc/LICENSE | 22 + socket/node_modules/crc/README.md | 89 + socket/node_modules/crc/lib/crc.js | 71 + socket/node_modules/crc/lib/crc1.js | 21 + socket/node_modules/crc/lib/crc16.js | 25 + socket/node_modules/crc/lib/crc16_ccitt.js | 25 + socket/node_modules/crc/lib/crc16_modbus.js | 25 + socket/node_modules/crc/lib/crc24.js | 25 + socket/node_modules/crc/lib/crc32.js | 25 + socket/node_modules/crc/lib/crc8.js | 25 + socket/node_modules/crc/lib/crc8_1wire.js | 25 + socket/node_modules/crc/lib/create.js | 10 + socket/node_modules/crc/lib/hex.js | 9 + socket/node_modules/crc/lib/index.js | 11 + socket/node_modules/crc/package.json | 61 + socket/node_modules/debug/.jshintrc | 3 + socket/node_modules/debug/.npmignore | 6 + socket/node_modules/debug/History.md | 150 + socket/node_modules/debug/Makefile | 33 + socket/node_modules/debug/Readme.md | 156 + socket/node_modules/debug/browser.js | 147 + socket/node_modules/debug/component.json | 19 + socket/node_modules/debug/debug.js | 197 + socket/node_modules/debug/node.js | 129 + .../debug/node_modules/ms/.npmignore | 5 + .../debug/node_modules/ms/README.md | 33 + .../debug/node_modules/ms/index.js | 111 + .../debug/node_modules/ms/package.json | 49 + socket/node_modules/debug/package.json | 72 + socket/node_modules/depd/History.md | 62 + socket/node_modules/depd/LICENSE | 22 + socket/node_modules/depd/Readme.md | 266 + socket/node_modules/depd/index.js | 522 + .../depd/lib/compat/buffer-concat.js | 33 + .../depd/lib/compat/callsite-tostring.js | 101 + socket/node_modules/depd/lib/compat/index.js | 69 + socket/node_modules/depd/package.json | 72 + socket/node_modules/destroy/README.md | 38 + socket/node_modules/destroy/index.js | 36 + socket/node_modules/destroy/package.json | 71 + socket/node_modules/ee-first/LICENSE | 22 + socket/node_modules/ee-first/README.md | 80 + socket/node_modules/ee-first/index.js | 68 + socket/node_modules/ee-first/package.json | 63 + socket/node_modules/encodeurl/HISTORY.md | 14 + socket/node_modules/encodeurl/LICENSE | 22 + socket/node_modules/encodeurl/README.md | 128 + socket/node_modules/encodeurl/index.js | 60 + socket/node_modules/encodeurl/package.json | 75 + socket/node_modules/encoding/.npmignore | 1 + socket/node_modules/encoding/.travis.yml | 25 + socket/node_modules/encoding/LICENSE | 16 + socket/node_modules/encoding/README.md | 52 + socket/node_modules/encoding/lib/encoding.js | 113 + .../node_modules/encoding/lib/iconv-loader.js | 14 + socket/node_modules/encoding/package.json | 53 + socket/node_modules/encoding/test/test.js | 75 + socket/node_modules/engine.io-client/LICENSE | 22 + .../node_modules/engine.io-client/README.md | 299 + .../engine.io-client/engine.io.js | 4660 ++ .../engine.io-client/lib/index.js | 10 + .../engine.io-client/lib/socket.js | 743 + .../engine.io-client/lib/transport.js | 157 + .../engine.io-client/lib/transports/index.js | 53 + .../lib/transports/polling-jsonp.js | 231 + .../lib/transports/polling-xhr.js | 413 + .../lib/transports/polling.js | 245 + .../lib/transports/websocket.js | 286 + .../engine.io-client/lib/xmlhttprequest.js | 37 + .../node_modules/debug/.coveralls.yml | 1 + .../node_modules/debug/.eslintrc | 11 + .../node_modules/debug/.npmignore | 9 + .../node_modules/debug/.travis.yml | 14 + .../node_modules/debug/CHANGELOG.md | 362 + .../node_modules/debug/LICENSE | 19 + .../node_modules/debug/Makefile | 50 + .../node_modules/debug/README.md | 312 + .../node_modules/debug/component.json | 19 + .../node_modules/debug/karma.conf.js | 70 + .../node_modules/debug/node.js | 1 + .../node_modules/debug/package.json | 88 + .../node_modules/debug/src/browser.js | 185 + .../node_modules/debug/src/debug.js | 202 + .../node_modules/debug/src/index.js | 10 + .../node_modules/debug/src/inspector-log.js | 15 + .../node_modules/debug/src/node.js | 248 + .../engine.io-client/node_modules/ms/index.js | 152 + .../node_modules/ms/license.md | 21 + .../node_modules/ms/package.json | 69 + .../node_modules/ms/readme.md | 51 + .../engine.io-client/package.json | 111 + socket/node_modules/engine.io-parser/LICENSE | 22 + .../node_modules/engine.io-parser/Readme.md | 202 + .../engine.io-parser/lib/browser.js | 606 + .../engine.io-parser/lib/index.js | 480 + .../node_modules/engine.io-parser/lib/keys.js | 19 + .../node_modules/engine.io-parser/lib/utf8.js | 255 + .../engine.io-parser/package.json | 62 + socket/node_modules/engine.io/LICENSE | 19 + socket/node_modules/engine.io/README.md | 539 + .../node_modules/engine.io/lib/engine.io.js | 126 + socket/node_modules/engine.io/lib/server.js | 579 + socket/node_modules/engine.io/lib/socket.js | 486 + .../node_modules/engine.io/lib/transport.js | 128 + .../engine.io/lib/transports/index.js | 36 + .../engine.io/lib/transports/polling-jsonp.js | 75 + .../engine.io/lib/transports/polling-xhr.js | 69 + .../engine.io/lib/transports/polling.js | 407 + .../engine.io/lib/transports/websocket.js | 134 + .../engine.io/node_modules/accepts/HISTORY.md | 212 + .../engine.io/node_modules/accepts/LICENSE | 23 + .../engine.io/node_modules/accepts/README.md | 135 + .../engine.io/node_modules/accepts/index.js | 231 + .../node_modules/accepts/package.json | 77 + .../engine.io/node_modules/cookie/HISTORY.md | 118 + .../engine.io/node_modules/cookie/LICENSE | 24 + .../engine.io/node_modules/cookie/README.md | 220 + .../engine.io/node_modules/cookie/index.js | 195 + .../node_modules/cookie/package.json | 71 + .../node_modules/debug/.coveralls.yml | 1 + .../engine.io/node_modules/debug/.eslintrc | 11 + .../engine.io/node_modules/debug/.npmignore | 9 + .../engine.io/node_modules/debug/.travis.yml | 14 + .../engine.io/node_modules/debug/CHANGELOG.md | 362 + .../engine.io/node_modules/debug/LICENSE | 19 + .../engine.io/node_modules/debug/Makefile | 50 + .../engine.io/node_modules/debug/README.md | 312 + .../node_modules/debug/component.json | 19 + .../node_modules/debug/karma.conf.js | 70 + .../engine.io/node_modules/debug/node.js | 1 + .../engine.io/node_modules/debug/package.json | 88 + .../node_modules/debug/src/browser.js | 185 + .../engine.io/node_modules/debug/src/debug.js | 202 + .../engine.io/node_modules/debug/src/index.js | 10 + .../node_modules/debug/src/inspector-log.js | 15 + .../engine.io/node_modules/debug/src/node.js | 248 + .../engine.io/node_modules/mime-db/HISTORY.md | 368 + .../engine.io/node_modules/mime-db/LICENSE | 22 + .../engine.io/node_modules/mime-db/README.md | 94 + .../engine.io/node_modules/mime-db/db.json | 7088 +++ .../engine.io/node_modules/mime-db/index.js | 11 + .../node_modules/mime-db/package.json | 100 + .../node_modules/mime-types/HISTORY.md | 260 + .../engine.io/node_modules/mime-types/LICENSE | 23 + .../node_modules/mime-types/README.md | 108 + .../node_modules/mime-types/index.js | 188 + .../node_modules/mime-types/package.json | 86 + .../engine.io/node_modules/ms/index.js | 152 + .../engine.io/node_modules/ms/license.md | 21 + .../engine.io/node_modules/ms/package.json | 69 + .../engine.io/node_modules/ms/readme.md | 51 + .../node_modules/negotiator/HISTORY.md | 98 + .../engine.io/node_modules/negotiator/LICENSE | 24 + .../node_modules/negotiator/README.md | 203 + .../node_modules/negotiator/index.js | 124 + .../node_modules/negotiator/lib/charset.js | 169 + .../node_modules/negotiator/lib/encoding.js | 184 + .../node_modules/negotiator/lib/language.js | 179 + .../node_modules/negotiator/lib/mediaType.js | 294 + .../node_modules/negotiator/package.json | 81 + socket/node_modules/engine.io/package.json | 96 + socket/node_modules/escape-html/.npmignore | 2 + socket/node_modules/escape-html/Makefile | 11 + socket/node_modules/escape-html/Readme.md | 15 + .../node_modules/escape-html/component.json | 10 + socket/node_modules/escape-html/index.js | 16 + socket/node_modules/escape-html/package.json | 54 + .../escape-string-regexp/index.js | 11 + .../node_modules/escape-string-regexp/license | 21 + .../escape-string-regexp/package.json | 81 + .../escape-string-regexp/readme.md | 27 + socket/node_modules/esutils/LICENSE.BSD | 19 + socket/node_modules/esutils/README.md | 169 + socket/node_modules/esutils/lib/ast.js | 144 + socket/node_modules/esutils/lib/code.js | 135 + socket/node_modules/esutils/lib/keyword.js | 165 + socket/node_modules/esutils/lib/utils.js | 33 + socket/node_modules/esutils/package.json | 78 + socket/node_modules/etag/HISTORY.md | 43 + socket/node_modules/etag/LICENSE | 22 + socket/node_modules/etag/README.md | 141 + socket/node_modules/etag/index.js | 161 + socket/node_modules/etag/package.json | 80 + socket/node_modules/express/.npmignore | 11 + socket/node_modules/express/History.md | 2356 + socket/node_modules/express/LICENSE | 22 + socket/node_modules/express/Readme.md | 128 + socket/node_modules/express/index.js | 2 + .../node_modules/express/lib/application.js | 568 + socket/node_modules/express/lib/express.js | 93 + .../express/lib/middleware/init.js | 26 + .../express/lib/middleware/query.js | 30 + socket/node_modules/express/lib/request.js | 460 + socket/node_modules/express/lib/response.js | 967 + .../node_modules/express/lib/router/index.js | 576 + .../node_modules/express/lib/router/layer.js | 159 + .../node_modules/express/lib/router/match.js | 56 + .../node_modules/express/lib/router/route.js | 175 + socket/node_modules/express/lib/utils.js | 291 + socket/node_modules/express/lib/view.js | 77 + .../express/node_modules/ee-first/LICENSE | 22 + .../express/node_modules/ee-first/README.md | 63 + .../express/node_modules/ee-first/index.js | 60 + .../node_modules/ee-first/package.json | 63 + .../express/node_modules/ms/.npmignore | 5 + .../express/node_modules/ms/README.md | 33 + .../express/node_modules/ms/index.js | 111 + .../express/node_modules/ms/package.json | 49 + .../express/node_modules/send/History.md | 205 + .../express/node_modules/send/LICENSE | 23 + .../express/node_modules/send/Readme.md | 182 + .../express/node_modules/send/index.js | 773 + .../send/node_modules/on-finished/HISTORY.md | 66 + .../send/node_modules/on-finished/LICENSE | 23 + .../send/node_modules/on-finished/README.md | 90 + .../send/node_modules/on-finished/index.js | 127 + .../node_modules/on-finished/package.json | 70 + .../express/node_modules/send/package.json | 87 + socket/node_modules/express/package.json | 147 + socket/node_modules/fbjs/CHANGELOG.md | 214 + socket/node_modules/fbjs/LICENSE | 20 + socket/node_modules/fbjs/README.md | 46 + socket/node_modules/fbjs/flow/lib/dev.js | 8 + socket/node_modules/fbjs/index.js | 10 + socket/node_modules/fbjs/lib/CSSCore.js | 119 + socket/node_modules/fbjs/lib/CSSCore.js.flow | 116 + socket/node_modules/fbjs/lib/DataTransfer.js | 219 + .../fbjs/lib/DataTransfer.js.flow | 194 + socket/node_modules/fbjs/lib/Deferred.js | 79 + socket/node_modules/fbjs/lib/Deferred.js.flow | 73 + socket/node_modules/fbjs/lib/ErrorUtils.js | 26 + .../node_modules/fbjs/lib/ErrorUtils.js.flow | 25 + socket/node_modules/fbjs/lib/EventListener.js | 74 + .../fbjs/lib/EventListener.js.flow | 73 + .../fbjs/lib/ExecutionEnvironment.js | 33 + .../fbjs/lib/ExecutionEnvironment.js.flow | 34 + socket/node_modules/fbjs/lib/Keys.js | 34 + socket/node_modules/fbjs/lib/Keys.js.flow | 33 + socket/node_modules/fbjs/lib/Map.js | 11 + socket/node_modules/fbjs/lib/Map.js.flow | 10 + .../node_modules/fbjs/lib/PhotosMimeType.js | 26 + .../fbjs/lib/PhotosMimeType.js.flow | 26 + socket/node_modules/fbjs/lib/Promise.js | 11 + socket/node_modules/fbjs/lib/Promise.js.flow | 10 + .../node_modules/fbjs/lib/Promise.native.js | 25 + .../fbjs/lib/Promise.native.js.flow | 25 + socket/node_modules/fbjs/lib/PromiseMap.js | 57 + .../node_modules/fbjs/lib/PromiseMap.js.flow | 53 + socket/node_modules/fbjs/lib/Scroll.js | 83 + socket/node_modules/fbjs/lib/Scroll.js.flow | 82 + socket/node_modules/fbjs/lib/Set.js | 11 + socket/node_modules/fbjs/lib/Set.js.flow | 10 + socket/node_modules/fbjs/lib/Style.js | 62 + socket/node_modules/fbjs/lib/Style.js.flow | 61 + socket/node_modules/fbjs/lib/TokenizeUtil.js | 35 + .../fbjs/lib/TokenizeUtil.js.flow | 34 + .../node_modules/fbjs/lib/TouchEventUtils.js | 32 + .../fbjs/lib/TouchEventUtils.js.flow | 31 + socket/node_modules/fbjs/lib/URI.js | 28 + socket/node_modules/fbjs/lib/URI.js.flow | 25 + socket/node_modules/fbjs/lib/UnicodeBidi.js | 154 + .../node_modules/fbjs/lib/UnicodeBidi.js.flow | 157 + .../fbjs/lib/UnicodeBidiDirection.js | 106 + .../fbjs/lib/UnicodeBidiDirection.js.flow | 110 + .../fbjs/lib/UnicodeBidiService.js | 98 + .../fbjs/lib/UnicodeBidiService.js.flow | 95 + socket/node_modules/fbjs/lib/UnicodeCJK.js | 172 + .../node_modules/fbjs/lib/UnicodeCJK.js.flow | 173 + .../fbjs/lib/UnicodeHangulKorean.js | 135 + .../fbjs/lib/UnicodeHangulKorean.js.flow | 136 + socket/node_modules/fbjs/lib/UnicodeUtils.js | 212 + .../fbjs/lib/UnicodeUtils.js.flow | 213 + .../fbjs/lib/UnicodeUtilsExtra.js | 227 + .../fbjs/lib/UnicodeUtilsExtra.js.flow | 184 + socket/node_modules/fbjs/lib/UserAgent.js | 239 + .../node_modules/fbjs/lib/UserAgent.js.flow | 236 + socket/node_modules/fbjs/lib/UserAgentData.js | 80 + .../fbjs/lib/UserAgentData.js.flow | 81 + socket/node_modules/fbjs/lib/VersionRange.js | 380 + .../fbjs/lib/VersionRange.js.flow | 371 + .../fbjs/lib/__mocks__/ErrorUtils.js | 20 + .../node_modules/fbjs/lib/__mocks__/base62.js | 10 + .../node_modules/fbjs/lib/__mocks__/crc32.js | 10 + .../node_modules/fbjs/lib/__mocks__/fetch.js | 26 + .../fbjs/lib/__mocks__/fetchWithRetries.js | 31 + .../fbjs/lib/__mocks__/nullthrows.js | 12 + .../fbjs/lib/_shouldPolyfillES6Collection.js | 39 + .../lib/_shouldPolyfillES6Collection.js.flow | 38 + socket/node_modules/fbjs/lib/areEqual.js | 106 + socket/node_modules/fbjs/lib/areEqual.js.flow | 105 + socket/node_modules/fbjs/lib/base62.js | 26 + socket/node_modules/fbjs/lib/base62.js.flow | 27 + socket/node_modules/fbjs/lib/camelize.js | 29 + socket/node_modules/fbjs/lib/camelize.js.flow | 28 + .../fbjs/lib/camelizeStyleName.js | 37 + .../fbjs/lib/camelizeStyleName.js.flow | 38 + socket/node_modules/fbjs/lib/compactArray.js | 27 + .../fbjs/lib/compactArray.js.flow | 28 + .../node_modules/fbjs/lib/concatAllArray.js | 33 + .../fbjs/lib/concatAllArray.js.flow | 32 + socket/node_modules/fbjs/lib/containsNode.js | 37 + .../fbjs/lib/containsNode.js.flow | 36 + socket/node_modules/fbjs/lib/countDistinct.js | 51 + .../fbjs/lib/countDistinct.js.flow | 31 + socket/node_modules/fbjs/lib/crc32.js | 27 + socket/node_modules/fbjs/lib/crc32.js.flow | 26 + .../fbjs/lib/createArrayFromMixed.js | 124 + .../fbjs/lib/createArrayFromMixed.js.flow | 123 + .../fbjs/lib/createNodesFromMarkup.js | 81 + .../fbjs/lib/createNodesFromMarkup.js.flow | 80 + socket/node_modules/fbjs/lib/cx.js | 39 + socket/node_modules/fbjs/lib/cx.js.flow | 36 + socket/node_modules/fbjs/lib/distinctArray.js | 22 + .../fbjs/lib/distinctArray.js.flow | 21 + socket/node_modules/fbjs/lib/emptyFunction.js | 36 + .../fbjs/lib/emptyFunction.js.flow | 35 + socket/node_modules/fbjs/lib/emptyObject.js | 17 + .../node_modules/fbjs/lib/emptyObject.js.flow | 18 + socket/node_modules/fbjs/lib/enumerate.js | 305 + .../node_modules/fbjs/lib/enumerate.js.flow | 263 + .../node_modules/fbjs/lib/equalsIterable.js | 64 + .../fbjs/lib/equalsIterable.js.flow | 65 + socket/node_modules/fbjs/lib/equalsSet.js | 27 + .../node_modules/fbjs/lib/equalsSet.js.flow | 28 + socket/node_modules/fbjs/lib/everyObject.js | 44 + .../node_modules/fbjs/lib/everyObject.js.flow | 45 + socket/node_modules/fbjs/lib/everySet.js | 30 + socket/node_modules/fbjs/lib/everySet.js.flow | 33 + socket/node_modules/fbjs/lib/fetch.js | 19 + socket/node_modules/fbjs/lib/fetch.js.flow | 20 + .../node_modules/fbjs/lib/fetchWithRetries.js | 111 + .../fbjs/lib/fetchWithRetries.js.flow | 115 + socket/node_modules/fbjs/lib/filterObject.js | 49 + .../fbjs/lib/filterObject.js.flow | 50 + socket/node_modules/fbjs/lib/flatMapArray.js | 35 + .../fbjs/lib/flatMapArray.js.flow | 34 + socket/node_modules/fbjs/lib/flattenArray.js | 46 + .../fbjs/lib/flattenArray.js.flow | 45 + socket/node_modules/fbjs/lib/focusNode.js | 24 + .../node_modules/fbjs/lib/focusNode.js.flow | 25 + socket/node_modules/fbjs/lib/forEachObject.js | 40 + .../fbjs/lib/forEachObject.js.flow | 41 + .../node_modules/fbjs/lib/getActiveElement.js | 36 + .../fbjs/lib/getActiveElement.js.flow | 35 + .../fbjs/lib/getDocumentScrollElement.js | 31 + .../fbjs/lib/getDocumentScrollElement.js.flow | 32 + .../fbjs/lib/getElementPosition.js | 31 + .../fbjs/lib/getElementPosition.js.flow | 30 + .../node_modules/fbjs/lib/getElementRect.js | 48 + .../fbjs/lib/getElementRect.js.flow | 47 + socket/node_modules/fbjs/lib/getMarkupWrap.js | 92 + .../fbjs/lib/getMarkupWrap.js.flow | 91 + .../fbjs/lib/getScrollPosition.js | 45 + .../fbjs/lib/getScrollPosition.js.flow | 46 + .../node_modules/fbjs/lib/getStyleProperty.js | 51 + .../fbjs/lib/getStyleProperty.js.flow | 50 + .../fbjs/lib/getUnboundedScrollPosition.js | 36 + .../lib/getUnboundedScrollPosition.js.flow | 37 + .../fbjs/lib/getViewportDimensions.js | 57 + .../fbjs/lib/getViewportDimensions.js.flow | 60 + socket/node_modules/fbjs/lib/groupArray.js | 34 + .../node_modules/fbjs/lib/groupArray.js.flow | 35 + socket/node_modules/fbjs/lib/hyphenate.js | 30 + .../node_modules/fbjs/lib/hyphenate.js.flow | 29 + .../fbjs/lib/hyphenateStyleName.js | 36 + .../fbjs/lib/hyphenateStyleName.js.flow | 37 + socket/node_modules/fbjs/lib/invariant.js | 53 + .../node_modules/fbjs/lib/invariant.js.flow | 54 + socket/node_modules/fbjs/lib/isEmpty.js | 43 + socket/node_modules/fbjs/lib/isEmpty.js.flow | 44 + socket/node_modules/fbjs/lib/isNode.js | 22 + socket/node_modules/fbjs/lib/isNode.js.flow | 21 + socket/node_modules/fbjs/lib/isTextNode.js | 22 + .../node_modules/fbjs/lib/isTextNode.js.flow | 21 + socket/node_modules/fbjs/lib/joinClasses.js | 37 + .../node_modules/fbjs/lib/joinClasses.js.flow | 38 + socket/node_modules/fbjs/lib/keyMirror.js | 45 + .../node_modules/fbjs/lib/keyMirror.js.flow | 46 + .../fbjs/lib/keyMirrorRecursive.js | 67 + .../fbjs/lib/keyMirrorRecursive.js.flow | 68 + socket/node_modules/fbjs/lib/keyOf.js | 32 + socket/node_modules/fbjs/lib/keyOf.js.flow | 31 + socket/node_modules/fbjs/lib/mapObject.js | 48 + .../node_modules/fbjs/lib/mapObject.js.flow | 49 + socket/node_modules/fbjs/lib/maxBy.js | 30 + socket/node_modules/fbjs/lib/maxBy.js.flow | 25 + .../fbjs/lib/memoizeStringOnly.js | 27 + .../fbjs/lib/memoizeStringOnly.js.flow | 28 + socket/node_modules/fbjs/lib/minBy.js | 59 + socket/node_modules/fbjs/lib/minBy.js.flow | 35 + .../node_modules/fbjs/lib/monitorCodeUse.js | 24 + .../fbjs/lib/monitorCodeUse.js.flow | 25 + .../fbjs/lib/nativeRequestAnimationFrame.js | 13 + .../lib/nativeRequestAnimationFrame.js.flow | 12 + socket/node_modules/fbjs/lib/nullthrows.js | 19 + .../node_modules/fbjs/lib/nullthrows.js.flow | 18 + .../node_modules/fbjs/lib/partitionArray.js | 31 + .../fbjs/lib/partitionArray.js.flow | 30 + .../node_modules/fbjs/lib/partitionObject.js | 30 + .../fbjs/lib/partitionObject.js.flow | 31 + .../fbjs/lib/partitionObjectByKey.js | 24 + .../fbjs/lib/partitionObjectByKey.js.flow | 23 + socket/node_modules/fbjs/lib/performance.js | 20 + .../node_modules/fbjs/lib/performance.js.flow | 21 + .../node_modules/fbjs/lib/performanceNow.js | 31 + .../fbjs/lib/performanceNow.js.flow | 26 + .../node_modules/fbjs/lib/removeFromArray.js | 23 + .../fbjs/lib/removeFromArray.js.flow | 22 + .../fbjs/lib/requestAnimationFrame.js | 28 + .../fbjs/lib/requestAnimationFrame.js.flow | 27 + .../node_modules/fbjs/lib/resolveImmediate.js | 29 + .../fbjs/lib/resolveImmediate.js.flow | 26 + socket/node_modules/fbjs/lib/setImmediate.js | 15 + .../fbjs/lib/setImmediate.js.flow | 16 + socket/node_modules/fbjs/lib/shallowEqual.js | 65 + .../fbjs/lib/shallowEqual.js.flow | 66 + socket/node_modules/fbjs/lib/someObject.js | 44 + .../node_modules/fbjs/lib/someObject.js.flow | 45 + socket/node_modules/fbjs/lib/someSet.js | 30 + socket/node_modules/fbjs/lib/someSet.js.flow | 33 + socket/node_modules/fbjs/lib/sprintf.js | 32 + socket/node_modules/fbjs/lib/sprintf.js.flow | 25 + socket/node_modules/fbjs/lib/warning.js | 62 + socket/node_modules/fbjs/lib/warning.js.flow | 53 + .../fbjs/lib/xhrSimpleDataSerializer.js | 20 + .../fbjs/lib/xhrSimpleDataSerializer.js.flow | 19 + socket/node_modules/fbjs/module-map.json | 99 + .../fbjs/node_modules/core-js/CHANGELOG.md | 409 + .../fbjs/node_modules/core-js/Gruntfile.js | 2 + .../fbjs/node_modules/core-js/LICENSE | 19 + .../fbjs/node_modules/core-js/bower.json | 34 + .../node_modules/core-js/build/Gruntfile.ls | 84 + .../fbjs/node_modules/core-js/build/build.ls | 218 + .../fbjs/node_modules/core-js/build/config.js | 8 + .../fbjs/node_modules/core-js/build/index.js | 98 + .../fbjs/node_modules/core-js/client/core.js | 4910 ++ .../node_modules/core-js/client/core.min.js | 9 + .../core-js/client/core.min.js.map | 1 + .../node_modules/core-js/client/library.js | 4550 ++ .../core-js/client/library.min.js | 9 + .../core-js/client/library.min.js.map | 1 + .../fbjs/node_modules/core-js/client/shim.js | 4551 ++ .../node_modules/core-js/client/shim.min.js | 9 + .../core-js/client/shim.min.js.map | 1 + .../fbjs/node_modules/core-js/core/_.js | 2 + .../fbjs/node_modules/core-js/core/delay.js | 2 + .../fbjs/node_modules/core-js/core/dict.js | 2 + .../node_modules/core-js/core/function.js | 2 + .../fbjs/node_modules/core-js/core/index.js | 15 + .../fbjs/node_modules/core-js/core/log.js | 2 + .../fbjs/node_modules/core-js/core/number.js | 2 + .../fbjs/node_modules/core-js/core/object.js | 5 + .../fbjs/node_modules/core-js/core/string.js | 3 + .../fbjs/node_modules/core-js/es5/index.js | 9 + .../fbjs/node_modules/core-js/es6/array.js | 10 + .../fbjs/node_modules/core-js/es6/function.js | 3 + .../fbjs/node_modules/core-js/es6/index.js | 87 + .../fbjs/node_modules/core-js/es6/map.js | 5 + .../fbjs/node_modules/core-js/es6/math.js | 18 + .../fbjs/node_modules/core-js/es6/number.js | 11 + .../fbjs/node_modules/core-js/es6/object.js | 17 + .../fbjs/node_modules/core-js/es6/promise.js | 5 + .../fbjs/node_modules/core-js/es6/reflect.js | 15 + .../fbjs/node_modules/core-js/es6/regexp.js | 7 + .../fbjs/node_modules/core-js/es6/set.js | 5 + .../fbjs/node_modules/core-js/es6/string.js | 14 + .../fbjs/node_modules/core-js/es6/symbol.js | 3 + .../fbjs/node_modules/core-js/es6/weak-map.js | 4 + .../fbjs/node_modules/core-js/es6/weak-set.js | 4 + .../fbjs/node_modules/core-js/es7/array.js | 2 + .../fbjs/node_modules/core-js/es7/index.js | 13 + .../fbjs/node_modules/core-js/es7/map.js | 2 + .../fbjs/node_modules/core-js/es7/object.js | 4 + .../fbjs/node_modules/core-js/es7/regexp.js | 2 + .../fbjs/node_modules/core-js/es7/set.js | 2 + .../fbjs/node_modules/core-js/es7/string.js | 6 + .../fbjs/node_modules/core-js/fn/_.js | 2 + .../node_modules/core-js/fn/array/concat.js | 2 + .../core-js/fn/array/copy-within.js | 2 + .../node_modules/core-js/fn/array/entries.js | 2 + .../node_modules/core-js/fn/array/every.js | 2 + .../node_modules/core-js/fn/array/fill.js | 2 + .../node_modules/core-js/fn/array/filter.js | 2 + .../core-js/fn/array/find-index.js | 2 + .../node_modules/core-js/fn/array/find.js | 2 + .../node_modules/core-js/fn/array/for-each.js | 2 + .../node_modules/core-js/fn/array/from.js | 3 + .../node_modules/core-js/fn/array/includes.js | 2 + .../node_modules/core-js/fn/array/index-of.js | 2 + .../node_modules/core-js/fn/array/index.js | 12 + .../node_modules/core-js/fn/array/iterator.js | 2 + .../node_modules/core-js/fn/array/join.js | 2 + .../node_modules/core-js/fn/array/keys.js | 2 + .../core-js/fn/array/last-index-of.js | 2 + .../fbjs/node_modules/core-js/fn/array/map.js | 2 + .../fbjs/node_modules/core-js/fn/array/of.js | 2 + .../fbjs/node_modules/core-js/fn/array/pop.js | 2 + .../node_modules/core-js/fn/array/push.js | 2 + .../core-js/fn/array/reduce-right.js | 2 + .../node_modules/core-js/fn/array/reduce.js | 2 + .../node_modules/core-js/fn/array/reverse.js | 2 + .../node_modules/core-js/fn/array/shift.js | 2 + .../node_modules/core-js/fn/array/slice.js | 2 + .../node_modules/core-js/fn/array/some.js | 2 + .../node_modules/core-js/fn/array/sort.js | 2 + .../node_modules/core-js/fn/array/splice.js | 2 + .../node_modules/core-js/fn/array/unshift.js | 2 + .../node_modules/core-js/fn/array/values.js | 2 + .../core-js/fn/clear-immediate.js | 2 + .../fbjs/node_modules/core-js/fn/delay.js | 2 + .../fbjs/node_modules/core-js/fn/dict.js | 2 + .../core-js/fn/function/has-instance.js | 2 + .../node_modules/core-js/fn/function/index.js | 4 + .../node_modules/core-js/fn/function/name.js | 1 + .../node_modules/core-js/fn/function/part.js | 2 + .../core-js/fn/get-iterator-method.js | 3 + .../node_modules/core-js/fn/get-iterator.js | 3 + .../core-js/fn/html-collection/index.js | 2 + .../core-js/fn/html-collection/iterator.js | 2 + .../node_modules/core-js/fn/is-iterable.js | 3 + .../node_modules/core-js/fn/json/stringify.js | 4 + .../fbjs/node_modules/core-js/fn/log.js | 2 + .../fbjs/node_modules/core-js/fn/map.js | 6 + .../node_modules/core-js/fn/math/acosh.js | 2 + .../node_modules/core-js/fn/math/asinh.js | 2 + .../node_modules/core-js/fn/math/atanh.js | 2 + .../fbjs/node_modules/core-js/fn/math/cbrt.js | 2 + .../node_modules/core-js/fn/math/clz32.js | 2 + .../fbjs/node_modules/core-js/fn/math/cosh.js | 2 + .../node_modules/core-js/fn/math/expm1.js | 2 + .../node_modules/core-js/fn/math/fround.js | 2 + .../node_modules/core-js/fn/math/hypot.js | 2 + .../fbjs/node_modules/core-js/fn/math/imul.js | 2 + .../node_modules/core-js/fn/math/index.js | 18 + .../node_modules/core-js/fn/math/log10.js | 2 + .../node_modules/core-js/fn/math/log1p.js | 2 + .../fbjs/node_modules/core-js/fn/math/log2.js | 2 + .../fbjs/node_modules/core-js/fn/math/sign.js | 2 + .../fbjs/node_modules/core-js/fn/math/sinh.js | 2 + .../fbjs/node_modules/core-js/fn/math/tanh.js | 2 + .../node_modules/core-js/fn/math/trunc.js | 2 + .../core-js/fn/node-list/index.js | 2 + .../core-js/fn/node-list/iterator.js | 2 + .../node_modules/core-js/fn/number/epsilon.js | 2 + .../node_modules/core-js/fn/number/index.js | 12 + .../core-js/fn/number/is-finite.js | 2 + .../core-js/fn/number/is-integer.js | 2 + .../node_modules/core-js/fn/number/is-nan.js | 2 + .../core-js/fn/number/is-safe-integer.js | 2 + .../core-js/fn/number/iterator.js | 5 + .../core-js/fn/number/max-safe-integer.js | 2 + .../core-js/fn/number/min-safe-integer.js | 2 + .../core-js/fn/number/parse-float.js | 2 + .../core-js/fn/number/parse-int.js | 2 + .../node_modules/core-js/fn/object/assign.js | 2 + .../node_modules/core-js/fn/object/classof.js | 2 + .../node_modules/core-js/fn/object/create.js | 4 + .../core-js/fn/object/define-properties.js | 4 + .../core-js/fn/object/define-property.js | 4 + .../node_modules/core-js/fn/object/define.js | 2 + .../node_modules/core-js/fn/object/entries.js | 2 + .../node_modules/core-js/fn/object/freeze.js | 2 + .../fn/object/get-own-property-descriptor.js | 5 + .../fn/object/get-own-property-descriptors.js | 2 + .../fn/object/get-own-property-names.js | 5 + .../fn/object/get-own-property-symbols.js | 2 + .../core-js/fn/object/get-prototype-of.js | 2 + .../node_modules/core-js/fn/object/index.js | 23 + .../core-js/fn/object/is-extensible.js | 2 + .../core-js/fn/object/is-frozen.js | 2 + .../core-js/fn/object/is-object.js | 2 + .../core-js/fn/object/is-sealed.js | 2 + .../fbjs/node_modules/core-js/fn/object/is.js | 2 + .../node_modules/core-js/fn/object/keys.js | 2 + .../node_modules/core-js/fn/object/make.js | 2 + .../core-js/fn/object/prevent-extensions.js | 2 + .../node_modules/core-js/fn/object/seal.js | 2 + .../core-js/fn/object/set-prototype-of.js | 2 + .../node_modules/core-js/fn/object/values.js | 2 + .../fbjs/node_modules/core-js/fn/promise.js | 5 + .../node_modules/core-js/fn/reflect/apply.js | 2 + .../core-js/fn/reflect/construct.js | 2 + .../core-js/fn/reflect/define-property.js | 2 + .../core-js/fn/reflect/delete-property.js | 2 + .../core-js/fn/reflect/enumerate.js | 2 + .../fn/reflect/get-own-property-descriptor.js | 2 + .../core-js/fn/reflect/get-prototype-of.js | 2 + .../node_modules/core-js/fn/reflect/get.js | 2 + .../node_modules/core-js/fn/reflect/has.js | 2 + .../node_modules/core-js/fn/reflect/index.js | 15 + .../core-js/fn/reflect/is-extensible.js | 2 + .../core-js/fn/reflect/own-keys.js | 2 + .../core-js/fn/reflect/prevent-extensions.js | 2 + .../core-js/fn/reflect/set-prototype-of.js | 2 + .../node_modules/core-js/fn/reflect/set.js | 2 + .../node_modules/core-js/fn/regexp/escape.js | 2 + .../node_modules/core-js/fn/regexp/index.js | 8 + .../node_modules/core-js/fn/set-immediate.js | 2 + .../node_modules/core-js/fn/set-interval.js | 2 + .../node_modules/core-js/fn/set-timeout.js | 2 + .../fbjs/node_modules/core-js/fn/set.js | 6 + .../fbjs/node_modules/core-js/fn/string/at.js | 2 + .../core-js/fn/string/code-point-at.js | 2 + .../core-js/fn/string/ends-with.js | 2 + .../core-js/fn/string/escape-html.js | 2 + .../core-js/fn/string/from-code-point.js | 2 + .../core-js/fn/string/includes.js | 2 + .../node_modules/core-js/fn/string/index.js | 21 + .../core-js/fn/string/iterator.js | 5 + .../core-js/fn/string/pad-left.js | 2 + .../core-js/fn/string/pad-right.js | 2 + .../node_modules/core-js/fn/string/raw.js | 2 + .../node_modules/core-js/fn/string/repeat.js | 2 + .../core-js/fn/string/starts-with.js | 2 + .../core-js/fn/string/trim-left.js | 2 + .../core-js/fn/string/trim-right.js | 2 + .../node_modules/core-js/fn/string/trim.js | 2 + .../core-js/fn/string/unescape-html.js | 2 + .../node_modules/core-js/fn/symbol/for.js | 2 + .../core-js/fn/symbol/has-instance.js | 1 + .../node_modules/core-js/fn/symbol/index.js | 3 + .../core-js/fn/symbol/is-concat-spreadable.js | 1 + .../core-js/fn/symbol/iterator.js | 3 + .../node_modules/core-js/fn/symbol/key-for.js | 2 + .../node_modules/core-js/fn/symbol/match.js | 2 + .../node_modules/core-js/fn/symbol/replace.js | 2 + .../node_modules/core-js/fn/symbol/search.js | 2 + .../node_modules/core-js/fn/symbol/species.js | 1 + .../node_modules/core-js/fn/symbol/split.js | 2 + .../core-js/fn/symbol/to-primitive.js | 1 + .../core-js/fn/symbol/to-string-tag.js | 2 + .../core-js/fn/symbol/unscopables.js | 1 + .../fbjs/node_modules/core-js/fn/weak-map.js | 4 + .../fbjs/node_modules/core-js/fn/weak-set.js | 4 + .../fbjs/node_modules/core-js/index.js | 16 + .../fbjs/node_modules/core-js/js/array.js | 2 + .../fbjs/node_modules/core-js/js/index.js | 2 + .../node_modules/core-js/library/core/_.js | 2 + .../core-js/library/core/delay.js | 2 + .../node_modules/core-js/library/core/dict.js | 2 + .../core-js/library/core/function.js | 2 + .../core-js/library/core/index.js | 15 + .../node_modules/core-js/library/core/log.js | 2 + .../core-js/library/core/number.js | 2 + .../core-js/library/core/object.js | 5 + .../core-js/library/core/string.js | 3 + .../node_modules/core-js/library/es5/index.js | 9 + .../node_modules/core-js/library/es6/array.js | 10 + .../core-js/library/es6/function.js | 3 + .../node_modules/core-js/library/es6/index.js | 87 + .../node_modules/core-js/library/es6/map.js | 5 + .../node_modules/core-js/library/es6/math.js | 18 + .../core-js/library/es6/number.js | 11 + .../core-js/library/es6/object.js | 17 + .../core-js/library/es6/promise.js | 5 + .../core-js/library/es6/reflect.js | 15 + .../core-js/library/es6/regexp.js | 7 + .../node_modules/core-js/library/es6/set.js | 5 + .../core-js/library/es6/string.js | 14 + .../core-js/library/es6/symbol.js | 3 + .../core-js/library/es6/weak-map.js | 4 + .../core-js/library/es6/weak-set.js | 4 + .../node_modules/core-js/library/es7/array.js | 2 + .../node_modules/core-js/library/es7/index.js | 13 + .../node_modules/core-js/library/es7/map.js | 2 + .../core-js/library/es7/object.js | 4 + .../core-js/library/es7/regexp.js | 2 + .../node_modules/core-js/library/es7/set.js | 2 + .../core-js/library/es7/string.js | 6 + .../fbjs/node_modules/core-js/library/fn/_.js | 2 + .../core-js/library/fn/array/concat.js | 2 + .../core-js/library/fn/array/copy-within.js | 2 + .../core-js/library/fn/array/entries.js | 2 + .../core-js/library/fn/array/every.js | 2 + .../core-js/library/fn/array/fill.js | 2 + .../core-js/library/fn/array/filter.js | 2 + .../core-js/library/fn/array/find-index.js | 2 + .../core-js/library/fn/array/find.js | 2 + .../core-js/library/fn/array/for-each.js | 2 + .../core-js/library/fn/array/from.js | 3 + .../core-js/library/fn/array/includes.js | 2 + .../core-js/library/fn/array/index-of.js | 2 + .../core-js/library/fn/array/index.js | 12 + .../core-js/library/fn/array/iterator.js | 2 + .../core-js/library/fn/array/join.js | 2 + .../core-js/library/fn/array/keys.js | 2 + .../core-js/library/fn/array/last-index-of.js | 2 + .../core-js/library/fn/array/map.js | 2 + .../core-js/library/fn/array/of.js | 2 + .../core-js/library/fn/array/pop.js | 2 + .../core-js/library/fn/array/push.js | 2 + .../core-js/library/fn/array/reduce-right.js | 2 + .../core-js/library/fn/array/reduce.js | 2 + .../core-js/library/fn/array/reverse.js | 2 + .../core-js/library/fn/array/shift.js | 2 + .../core-js/library/fn/array/slice.js | 2 + .../core-js/library/fn/array/some.js | 2 + .../core-js/library/fn/array/sort.js | 2 + .../core-js/library/fn/array/splice.js | 2 + .../core-js/library/fn/array/unshift.js | 2 + .../core-js/library/fn/array/values.js | 2 + .../core-js/library/fn/clear-immediate.js | 2 + .../node_modules/core-js/library/fn/delay.js | 2 + .../node_modules/core-js/library/fn/dict.js | 2 + .../library/fn/function/has-instance.js | 2 + .../core-js/library/fn/function/index.js | 4 + .../core-js/library/fn/function/name.js | 1 + .../core-js/library/fn/function/part.js | 2 + .../core-js/library/fn/get-iterator-method.js | 3 + .../core-js/library/fn/get-iterator.js | 3 + .../library/fn/html-collection/index.js | 2 + .../library/fn/html-collection/iterator.js | 2 + .../core-js/library/fn/is-iterable.js | 3 + .../core-js/library/fn/json/stringify.js | 4 + .../node_modules/core-js/library/fn/log.js | 2 + .../node_modules/core-js/library/fn/map.js | 6 + .../core-js/library/fn/math/acosh.js | 2 + .../core-js/library/fn/math/asinh.js | 2 + .../core-js/library/fn/math/atanh.js | 2 + .../core-js/library/fn/math/cbrt.js | 2 + .../core-js/library/fn/math/clz32.js | 2 + .../core-js/library/fn/math/cosh.js | 2 + .../core-js/library/fn/math/expm1.js | 2 + .../core-js/library/fn/math/fround.js | 2 + .../core-js/library/fn/math/hypot.js | 2 + .../core-js/library/fn/math/imul.js | 2 + .../core-js/library/fn/math/index.js | 18 + .../core-js/library/fn/math/log10.js | 2 + .../core-js/library/fn/math/log1p.js | 2 + .../core-js/library/fn/math/log2.js | 2 + .../core-js/library/fn/math/sign.js | 2 + .../core-js/library/fn/math/sinh.js | 2 + .../core-js/library/fn/math/tanh.js | 2 + .../core-js/library/fn/math/trunc.js | 2 + .../core-js/library/fn/node-list/index.js | 2 + .../core-js/library/fn/node-list/iterator.js | 2 + .../core-js/library/fn/number/epsilon.js | 2 + .../core-js/library/fn/number/index.js | 12 + .../core-js/library/fn/number/is-finite.js | 2 + .../core-js/library/fn/number/is-integer.js | 2 + .../core-js/library/fn/number/is-nan.js | 2 + .../library/fn/number/is-safe-integer.js | 2 + .../core-js/library/fn/number/iterator.js | 5 + .../library/fn/number/max-safe-integer.js | 2 + .../library/fn/number/min-safe-integer.js | 2 + .../core-js/library/fn/number/parse-float.js | 2 + .../core-js/library/fn/number/parse-int.js | 2 + .../core-js/library/fn/object/assign.js | 2 + .../core-js/library/fn/object/classof.js | 2 + .../core-js/library/fn/object/create.js | 4 + .../library/fn/object/define-properties.js | 4 + .../library/fn/object/define-property.js | 4 + .../core-js/library/fn/object/define.js | 2 + .../core-js/library/fn/object/entries.js | 2 + .../core-js/library/fn/object/freeze.js | 2 + .../fn/object/get-own-property-descriptor.js | 5 + .../fn/object/get-own-property-descriptors.js | 2 + .../fn/object/get-own-property-names.js | 5 + .../fn/object/get-own-property-symbols.js | 2 + .../library/fn/object/get-prototype-of.js | 2 + .../core-js/library/fn/object/index.js | 23 + .../library/fn/object/is-extensible.js | 2 + .../core-js/library/fn/object/is-frozen.js | 2 + .../core-js/library/fn/object/is-object.js | 2 + .../core-js/library/fn/object/is-sealed.js | 2 + .../core-js/library/fn/object/is.js | 2 + .../core-js/library/fn/object/keys.js | 2 + .../core-js/library/fn/object/make.js | 2 + .../library/fn/object/prevent-extensions.js | 2 + .../core-js/library/fn/object/seal.js | 2 + .../library/fn/object/set-prototype-of.js | 2 + .../core-js/library/fn/object/values.js | 2 + .../core-js/library/fn/promise.js | 5 + .../core-js/library/fn/reflect/apply.js | 2 + .../core-js/library/fn/reflect/construct.js | 2 + .../library/fn/reflect/define-property.js | 2 + .../library/fn/reflect/delete-property.js | 2 + .../core-js/library/fn/reflect/enumerate.js | 2 + .../fn/reflect/get-own-property-descriptor.js | 2 + .../library/fn/reflect/get-prototype-of.js | 2 + .../core-js/library/fn/reflect/get.js | 2 + .../core-js/library/fn/reflect/has.js | 2 + .../core-js/library/fn/reflect/index.js | 15 + .../library/fn/reflect/is-extensible.js | 2 + .../core-js/library/fn/reflect/own-keys.js | 2 + .../library/fn/reflect/prevent-extensions.js | 2 + .../library/fn/reflect/set-prototype-of.js | 2 + .../core-js/library/fn/reflect/set.js | 2 + .../core-js/library/fn/regexp/escape.js | 2 + .../core-js/library/fn/regexp/index.js | 8 + .../core-js/library/fn/set-immediate.js | 2 + .../core-js/library/fn/set-interval.js | 2 + .../core-js/library/fn/set-timeout.js | 2 + .../node_modules/core-js/library/fn/set.js | 6 + .../core-js/library/fn/string/at.js | 2 + .../library/fn/string/code-point-at.js | 2 + .../core-js/library/fn/string/ends-with.js | 2 + .../core-js/library/fn/string/escape-html.js | 2 + .../library/fn/string/from-code-point.js | 2 + .../core-js/library/fn/string/includes.js | 2 + .../core-js/library/fn/string/index.js | 21 + .../core-js/library/fn/string/iterator.js | 5 + .../core-js/library/fn/string/pad-left.js | 2 + .../core-js/library/fn/string/pad-right.js | 2 + .../core-js/library/fn/string/raw.js | 2 + .../core-js/library/fn/string/repeat.js | 2 + .../core-js/library/fn/string/starts-with.js | 2 + .../core-js/library/fn/string/trim-left.js | 2 + .../core-js/library/fn/string/trim-right.js | 2 + .../core-js/library/fn/string/trim.js | 2 + .../library/fn/string/unescape-html.js | 2 + .../core-js/library/fn/symbol/for.js | 2 + .../core-js/library/fn/symbol/has-instance.js | 1 + .../core-js/library/fn/symbol/index.js | 3 + .../library/fn/symbol/is-concat-spreadable.js | 1 + .../core-js/library/fn/symbol/iterator.js | 3 + .../core-js/library/fn/symbol/key-for.js | 2 + .../core-js/library/fn/symbol/match.js | 2 + .../core-js/library/fn/symbol/replace.js | 2 + .../core-js/library/fn/symbol/search.js | 2 + .../core-js/library/fn/symbol/species.js | 1 + .../core-js/library/fn/symbol/split.js | 2 + .../core-js/library/fn/symbol/to-primitive.js | 1 + .../library/fn/symbol/to-string-tag.js | 2 + .../core-js/library/fn/symbol/unscopables.js | 1 + .../core-js/library/fn/weak-map.js | 4 + .../core-js/library/fn/weak-set.js | 4 + .../node_modules/core-js/library/index.js | 16 + .../node_modules/core-js/library/js/array.js | 2 + .../node_modules/core-js/library/js/index.js | 2 + .../core-js/library/modules/$.a-function.js | 4 + .../library/modules/$.add-to-unscopables.js | 1 + .../core-js/library/modules/$.an-object.js | 5 + .../library/modules/$.array-copy-within.js | 27 + .../core-js/library/modules/$.array-fill.js | 16 + .../library/modules/$.array-includes.js | 21 + .../library/modules/$.array-methods.js | 43 + .../library/modules/$.array-species-create.js | 16 + .../core-js/library/modules/$.buffer.js | 288 + .../core-js/library/modules/$.classof.js | 16 + .../core-js/library/modules/$.cof.js | 5 + .../library/modules/$.collection-strong.js | 159 + .../library/modules/$.collection-to-json.js | 11 + .../library/modules/$.collection-weak.js | 86 + .../core-js/library/modules/$.collection.js | 55 + .../core-js/library/modules/$.core.js | 2 + .../core-js/library/modules/$.ctx.js | 20 + .../core-js/library/modules/$.defined.js | 5 + .../core-js/library/modules/$.descriptors.js | 4 + .../core-js/library/modules/$.dom-create.js | 7 + .../core-js/library/modules/$.enum-keys.js | 14 + .../core-js/library/modules/$.export.js | 46 + .../library/modules/$.fails-is-regexp.js | 12 + .../core-js/library/modules/$.fails.js | 7 + .../core-js/library/modules/$.fix-re-wks.js | 26 + .../core-js/library/modules/$.flags.js | 13 + .../core-js/library/modules/$.for-of.js | 19 + .../core-js/library/modules/$.get-names.js | 20 + .../core-js/library/modules/$.global.js | 4 + .../core-js/library/modules/$.has.js | 4 + .../core-js/library/modules/$.hide.js | 8 + .../core-js/library/modules/$.html.js | 1 + .../core-js/library/modules/$.invoke.js | 16 + .../core-js/library/modules/$.iobject.js | 5 + .../library/modules/$.is-array-iter.js | 8 + .../core-js/library/modules/$.is-array.js | 5 + .../core-js/library/modules/$.is-integer.js | 6 + .../core-js/library/modules/$.is-object.js | 3 + .../core-js/library/modules/$.is-regexp.js | 8 + .../core-js/library/modules/$.iter-call.js | 12 + .../core-js/library/modules/$.iter-create.js | 13 + .../core-js/library/modules/$.iter-define.js | 66 + .../core-js/library/modules/$.iter-detect.js | 21 + .../core-js/library/modules/$.iter-step.js | 3 + .../core-js/library/modules/$.iterators.js | 1 + .../node_modules/core-js/library/modules/$.js | 13 + .../core-js/library/modules/$.keyof.js | 10 + .../core-js/library/modules/$.library.js | 1 + .../core-js/library/modules/$.math-expm1.js | 4 + .../core-js/library/modules/$.math-log1p.js | 4 + .../core-js/library/modules/$.math-sign.js | 4 + .../core-js/library/modules/$.microtask.js | 64 + .../library/modules/$.object-assign.js | 33 + .../library/modules/$.object-define.js | 11 + .../core-js/library/modules/$.object-sap.js | 10 + .../library/modules/$.object-to-array.js | 16 + .../core-js/library/modules/$.own-keys.js | 9 + .../core-js/library/modules/$.partial.js | 24 + .../core-js/library/modules/$.path.js | 1 + .../library/modules/$.property-desc.js | 8 + .../core-js/library/modules/$.redefine-all.js | 5 + .../core-js/library/modules/$.redefine.js | 1 + .../core-js/library/modules/$.replacer.js | 8 + .../core-js/library/modules/$.same-value.js | 4 + .../core-js/library/modules/$.set-proto.js | 26 + .../core-js/library/modules/$.set-species.js | 13 + .../library/modules/$.set-to-string-tag.js | 7 + .../core-js/library/modules/$.shared.js | 6 + .../library/modules/$.species-constructor.js | 8 + .../core-js/library/modules/$.strict-new.js | 4 + .../core-js/library/modules/$.string-at.js | 17 + .../library/modules/$.string-context.js | 8 + .../core-js/library/modules/$.string-pad.js | 17 + .../library/modules/$.string-repeat.js | 12 + .../core-js/library/modules/$.string-trim.js | 29 + .../core-js/library/modules/$.task.js | 75 + .../core-js/library/modules/$.to-index.js | 7 + .../core-js/library/modules/$.to-integer.js | 6 + .../core-js/library/modules/$.to-iobject.js | 6 + .../core-js/library/modules/$.to-length.js | 6 + .../core-js/library/modules/$.to-object.js | 5 + .../core-js/library/modules/$.to-primitive.js | 12 + .../core-js/library/modules/$.typed-array.js | 365 + .../core-js/library/modules/$.typed.js | 36 + .../core-js/library/modules/$.uid.js | 5 + .../core-js/library/modules/$.wks.js | 7 + .../core-js/library/modules/core.delay.js | 12 + .../core-js/library/modules/core.dict.js | 153 + .../library/modules/core.function.part.js | 7 + .../modules/core.get-iterator-method.js | 8 + .../library/modules/core.get-iterator.js | 7 + .../library/modules/core.is-iterable.js | 9 + .../core-js/library/modules/core.log.js | 26 + .../library/modules/core.number.iterator.js | 9 + .../library/modules/core.object.classof.js | 3 + .../library/modules/core.object.define.js | 4 + .../library/modules/core.object.is-object.js | 3 + .../library/modules/core.object.make.js | 9 + .../modules/core.string.escape-html.js | 11 + .../modules/core.string.unescape-html.js | 11 + .../core-js/library/modules/es5.js | 276 + .../library/modules/es6.array.copy-within.js | 6 + .../core-js/library/modules/es6.array.fill.js | 6 + .../library/modules/es6.array.find-index.js | 14 + .../core-js/library/modules/es6.array.find.js | 14 + .../core-js/library/modules/es6.array.from.js | 36 + .../library/modules/es6.array.iterator.js | 34 + .../core-js/library/modules/es6.array.of.js | 19 + .../library/modules/es6.array.species.js | 1 + .../library/modules/es6.date.to-string.js | 0 .../modules/es6.function.has-instance.js | 13 + .../library/modules/es6.function.name.js | 0 .../core-js/library/modules/es6.map.js | 17 + .../core-js/library/modules/es6.math.acosh.js | 14 + .../core-js/library/modules/es6.math.asinh.js | 8 + .../core-js/library/modules/es6.math.atanh.js | 8 + .../core-js/library/modules/es6.math.cbrt.js | 9 + .../core-js/library/modules/es6.math.clz32.js | 8 + .../core-js/library/modules/es6.math.cosh.js | 9 + .../core-js/library/modules/es6.math.expm1.js | 4 + .../library/modules/es6.math.fround.js | 26 + .../core-js/library/modules/es6.math.hypot.js | 26 + .../core-js/library/modules/es6.math.imul.js | 17 + .../core-js/library/modules/es6.math.log10.js | 8 + .../core-js/library/modules/es6.math.log1p.js | 4 + .../core-js/library/modules/es6.math.log2.js | 8 + .../core-js/library/modules/es6.math.sign.js | 4 + .../core-js/library/modules/es6.math.sinh.js | 15 + .../core-js/library/modules/es6.math.tanh.js | 12 + .../core-js/library/modules/es6.math.trunc.js | 8 + .../library/modules/es6.number.constructor.js | 0 .../library/modules/es6.number.epsilon.js | 4 + .../library/modules/es6.number.is-finite.js | 9 + .../library/modules/es6.number.is-integer.js | 4 + .../library/modules/es6.number.is-nan.js | 8 + .../modules/es6.number.is-safe-integer.js | 10 + .../modules/es6.number.max-safe-integer.js | 4 + .../modules/es6.number.min-safe-integer.js | 4 + .../library/modules/es6.number.parse-float.js | 4 + .../library/modules/es6.number.parse-int.js | 4 + .../library/modules/es6.object.assign.js | 4 + .../library/modules/es6.object.freeze.js | 8 + .../es6.object.get-own-property-descriptor.js | 8 + .../es6.object.get-own-property-names.js | 4 + .../modules/es6.object.get-prototype-of.js | 8 + .../modules/es6.object.is-extensible.js | 8 + .../library/modules/es6.object.is-frozen.js | 8 + .../library/modules/es6.object.is-sealed.js | 8 + .../core-js/library/modules/es6.object.is.js | 3 + .../library/modules/es6.object.keys.js | 8 + .../modules/es6.object.prevent-extensions.js | 8 + .../library/modules/es6.object.seal.js | 8 + .../modules/es6.object.set-prototype-of.js | 3 + .../library/modules/es6.object.to-string.js | 0 .../core-js/library/modules/es6.promise.js | 293 + .../library/modules/es6.reflect.apply.js | 10 + .../library/modules/es6.reflect.construct.js | 39 + .../modules/es6.reflect.define-property.js | 19 + .../modules/es6.reflect.delete-property.js | 11 + .../library/modules/es6.reflect.enumerate.js | 26 + ...es6.reflect.get-own-property-descriptor.js | 10 + .../modules/es6.reflect.get-prototype-of.js | 10 + .../library/modules/es6.reflect.get.js | 20 + .../library/modules/es6.reflect.has.js | 8 + .../modules/es6.reflect.is-extensible.js | 11 + .../library/modules/es6.reflect.own-keys.js | 4 + .../modules/es6.reflect.prevent-extensions.js | 16 + .../modules/es6.reflect.set-prototype-of.js | 15 + .../library/modules/es6.reflect.set.js | 29 + .../library/modules/es6.regexp.constructor.js | 1 + .../library/modules/es6.regexp.flags.js | 0 .../library/modules/es6.regexp.match.js | 0 .../library/modules/es6.regexp.replace.js | 0 .../library/modules/es6.regexp.search.js | 0 .../library/modules/es6.regexp.split.js | 0 .../core-js/library/modules/es6.set.js | 12 + .../modules/es6.string.code-point-at.js | 9 + .../library/modules/es6.string.ends-with.js | 21 + .../modules/es6.string.from-code-point.js | 24 + .../library/modules/es6.string.includes.js | 12 + .../library/modules/es6.string.iterator.js | 17 + .../core-js/library/modules/es6.string.raw.js | 19 + .../library/modules/es6.string.repeat.js | 6 + .../library/modules/es6.string.starts-with.js | 19 + .../library/modules/es6.string.trim.js | 7 + .../core-js/library/modules/es6.symbol.js | 227 + .../library/modules/es6.typed.array-buffer.js | 43 + .../library/modules/es6.typed.data-view.js | 4 + .../modules/es6.typed.float32-array.js | 5 + .../modules/es6.typed.float64-array.js | 5 + .../library/modules/es6.typed.int16-array.js | 5 + .../library/modules/es6.typed.int32-array.js | 5 + .../library/modules/es6.typed.int8-array.js | 5 + .../library/modules/es6.typed.uint16-array.js | 5 + .../library/modules/es6.typed.uint32-array.js | 5 + .../library/modules/es6.typed.uint8-array.js | 5 + .../modules/es6.typed.uint8-clamped-array.js | 5 + .../core-js/library/modules/es6.weak-map.js | 43 + .../core-js/library/modules/es6.weak-set.js | 12 + .../library/modules/es7.array.includes.js | 12 + .../library/modules/es7.map.to-json.js | 4 + .../library/modules/es7.object.entries.js | 9 + ...es7.object.get-own-property-descriptors.js | 23 + .../library/modules/es7.object.values.js | 9 + .../library/modules/es7.regexp.escape.js | 5 + .../library/modules/es7.set.to-json.js | 4 + .../core-js/library/modules/es7.string.at.js | 10 + .../library/modules/es7.string.pad-left.js | 9 + .../library/modules/es7.string.pad-right.js | 9 + .../library/modules/es7.string.trim-left.js | 7 + .../library/modules/es7.string.trim-right.js | 7 + .../library/modules/js.array.statics.js | 17 + .../library/modules/web.dom.iterable.js | 3 + .../core-js/library/modules/web.immediate.js | 6 + .../core-js/library/modules/web.timers.js | 20 + .../fbjs/node_modules/core-js/library/shim.js | 104 + .../node_modules/core-js/library/web/dom.js | 2 + .../core-js/library/web/immediate.js | 2 + .../node_modules/core-js/library/web/index.js | 4 + .../core-js/library/web/timers.js | 2 + .../core-js/modules/$.a-function.js | 4 + .../core-js/modules/$.add-to-unscopables.js | 7 + .../core-js/modules/$.an-object.js | 5 + .../core-js/modules/$.array-copy-within.js | 27 + .../core-js/modules/$.array-fill.js | 16 + .../core-js/modules/$.array-includes.js | 21 + .../core-js/modules/$.array-methods.js | 43 + .../core-js/modules/$.array-species-create.js | 16 + .../node_modules/core-js/modules/$.buffer.js | 288 + .../node_modules/core-js/modules/$.classof.js | 16 + .../node_modules/core-js/modules/$.cof.js | 5 + .../core-js/modules/$.collection-strong.js | 159 + .../core-js/modules/$.collection-to-json.js | 11 + .../core-js/modules/$.collection-weak.js | 86 + .../core-js/modules/$.collection.js | 79 + .../node_modules/core-js/modules/$.core.js | 2 + .../node_modules/core-js/modules/$.ctx.js | 20 + .../node_modules/core-js/modules/$.defined.js | 5 + .../core-js/modules/$.descriptors.js | 4 + .../core-js/modules/$.dom-create.js | 7 + .../core-js/modules/$.enum-keys.js | 14 + .../node_modules/core-js/modules/$.export.js | 41 + .../core-js/modules/$.fails-is-regexp.js | 12 + .../node_modules/core-js/modules/$.fails.js | 7 + .../core-js/modules/$.fix-re-wks.js | 26 + .../node_modules/core-js/modules/$.flags.js | 13 + .../node_modules/core-js/modules/$.for-of.js | 19 + .../core-js/modules/$.get-names.js | 20 + .../node_modules/core-js/modules/$.global.js | 4 + .../node_modules/core-js/modules/$.has.js | 4 + .../node_modules/core-js/modules/$.hide.js | 8 + .../node_modules/core-js/modules/$.html.js | 1 + .../node_modules/core-js/modules/$.invoke.js | 16 + .../node_modules/core-js/modules/$.iobject.js | 5 + .../core-js/modules/$.is-array-iter.js | 8 + .../core-js/modules/$.is-array.js | 5 + .../core-js/modules/$.is-integer.js | 6 + .../core-js/modules/$.is-object.js | 3 + .../core-js/modules/$.is-regexp.js | 8 + .../core-js/modules/$.iter-call.js | 12 + .../core-js/modules/$.iter-create.js | 13 + .../core-js/modules/$.iter-define.js | 66 + .../core-js/modules/$.iter-detect.js | 21 + .../core-js/modules/$.iter-step.js | 3 + .../core-js/modules/$.iterators.js | 1 + .../fbjs/node_modules/core-js/modules/$.js | 13 + .../node_modules/core-js/modules/$.keyof.js | 10 + .../node_modules/core-js/modules/$.library.js | 1 + .../core-js/modules/$.math-expm1.js | 4 + .../core-js/modules/$.math-log1p.js | 4 + .../core-js/modules/$.math-sign.js | 4 + .../core-js/modules/$.microtask.js | 64 + .../core-js/modules/$.object-assign.js | 33 + .../core-js/modules/$.object-define.js | 11 + .../core-js/modules/$.object-sap.js | 10 + .../core-js/modules/$.object-to-array.js | 16 + .../core-js/modules/$.own-keys.js | 9 + .../node_modules/core-js/modules/$.partial.js | 24 + .../node_modules/core-js/modules/$.path.js | 1 + .../core-js/modules/$.property-desc.js | 8 + .../core-js/modules/$.redefine-all.js | 5 + .../core-js/modules/$.redefine.js | 27 + .../core-js/modules/$.replacer.js | 8 + .../core-js/modules/$.same-value.js | 4 + .../core-js/modules/$.set-proto.js | 26 + .../core-js/modules/$.set-species.js | 13 + .../core-js/modules/$.set-to-string-tag.js | 7 + .../node_modules/core-js/modules/$.shared.js | 6 + .../core-js/modules/$.species-constructor.js | 8 + .../core-js/modules/$.strict-new.js | 4 + .../core-js/modules/$.string-at.js | 17 + .../core-js/modules/$.string-context.js | 8 + .../core-js/modules/$.string-pad.js | 17 + .../core-js/modules/$.string-repeat.js | 12 + .../core-js/modules/$.string-trim.js | 29 + .../node_modules/core-js/modules/$.task.js | 75 + .../core-js/modules/$.to-index.js | 7 + .../core-js/modules/$.to-integer.js | 6 + .../core-js/modules/$.to-iobject.js | 6 + .../core-js/modules/$.to-length.js | 6 + .../core-js/modules/$.to-object.js | 5 + .../core-js/modules/$.to-primitive.js | 12 + .../core-js/modules/$.typed-array.js | 365 + .../node_modules/core-js/modules/$.typed.js | 36 + .../node_modules/core-js/modules/$.uid.js | 5 + .../node_modules/core-js/modules/$.wks.js | 7 + .../core-js/modules/core.delay.js | 12 + .../node_modules/core-js/modules/core.dict.js | 153 + .../core-js/modules/core.function.part.js | 7 + .../modules/core.get-iterator-method.js | 8 + .../core-js/modules/core.get-iterator.js | 7 + .../core-js/modules/core.is-iterable.js | 9 + .../node_modules/core-js/modules/core.log.js | 26 + .../core-js/modules/core.number.iterator.js | 9 + .../core-js/modules/core.object.classof.js | 3 + .../core-js/modules/core.object.define.js | 4 + .../core-js/modules/core.object.is-object.js | 3 + .../core-js/modules/core.object.make.js | 9 + .../modules/core.string.escape-html.js | 11 + .../modules/core.string.unescape-html.js | 11 + .../fbjs/node_modules/core-js/modules/es5.js | 276 + .../core-js/modules/es6.array.copy-within.js | 6 + .../core-js/modules/es6.array.fill.js | 6 + .../core-js/modules/es6.array.find-index.js | 14 + .../core-js/modules/es6.array.find.js | 14 + .../core-js/modules/es6.array.from.js | 36 + .../core-js/modules/es6.array.iterator.js | 34 + .../core-js/modules/es6.array.of.js | 19 + .../core-js/modules/es6.array.species.js | 1 + .../core-js/modules/es6.date.to-string.js | 10 + .../modules/es6.function.has-instance.js | 13 + .../core-js/modules/es6.function.name.js | 16 + .../node_modules/core-js/modules/es6.map.js | 17 + .../core-js/modules/es6.math.acosh.js | 14 + .../core-js/modules/es6.math.asinh.js | 8 + .../core-js/modules/es6.math.atanh.js | 8 + .../core-js/modules/es6.math.cbrt.js | 9 + .../core-js/modules/es6.math.clz32.js | 8 + .../core-js/modules/es6.math.cosh.js | 9 + .../core-js/modules/es6.math.expm1.js | 4 + .../core-js/modules/es6.math.fround.js | 26 + .../core-js/modules/es6.math.hypot.js | 26 + .../core-js/modules/es6.math.imul.js | 17 + .../core-js/modules/es6.math.log10.js | 8 + .../core-js/modules/es6.math.log1p.js | 4 + .../core-js/modules/es6.math.log2.js | 8 + .../core-js/modules/es6.math.sign.js | 4 + .../core-js/modules/es6.math.sinh.js | 15 + .../core-js/modules/es6.math.tanh.js | 12 + .../core-js/modules/es6.math.trunc.js | 8 + .../core-js/modules/es6.number.constructor.js | 66 + .../core-js/modules/es6.number.epsilon.js | 4 + .../core-js/modules/es6.number.is-finite.js | 9 + .../core-js/modules/es6.number.is-integer.js | 4 + .../core-js/modules/es6.number.is-nan.js | 8 + .../modules/es6.number.is-safe-integer.js | 10 + .../modules/es6.number.max-safe-integer.js | 4 + .../modules/es6.number.min-safe-integer.js | 4 + .../core-js/modules/es6.number.parse-float.js | 4 + .../core-js/modules/es6.number.parse-int.js | 4 + .../core-js/modules/es6.object.assign.js | 4 + .../core-js/modules/es6.object.freeze.js | 8 + .../es6.object.get-own-property-descriptor.js | 8 + .../es6.object.get-own-property-names.js | 4 + .../modules/es6.object.get-prototype-of.js | 8 + .../modules/es6.object.is-extensible.js | 8 + .../core-js/modules/es6.object.is-frozen.js | 8 + .../core-js/modules/es6.object.is-sealed.js | 8 + .../core-js/modules/es6.object.is.js | 3 + .../core-js/modules/es6.object.keys.js | 8 + .../modules/es6.object.prevent-extensions.js | 8 + .../core-js/modules/es6.object.seal.js | 8 + .../modules/es6.object.set-prototype-of.js | 3 + .../core-js/modules/es6.object.to-string.js | 10 + .../core-js/modules/es6.promise.js | 293 + .../core-js/modules/es6.reflect.apply.js | 10 + .../core-js/modules/es6.reflect.construct.js | 39 + .../modules/es6.reflect.define-property.js | 19 + .../modules/es6.reflect.delete-property.js | 11 + .../core-js/modules/es6.reflect.enumerate.js | 26 + ...es6.reflect.get-own-property-descriptor.js | 10 + .../modules/es6.reflect.get-prototype-of.js | 10 + .../core-js/modules/es6.reflect.get.js | 20 + .../core-js/modules/es6.reflect.has.js | 8 + .../modules/es6.reflect.is-extensible.js | 11 + .../core-js/modules/es6.reflect.own-keys.js | 4 + .../modules/es6.reflect.prevent-extensions.js | 16 + .../modules/es6.reflect.set-prototype-of.js | 15 + .../core-js/modules/es6.reflect.set.js | 29 + .../core-js/modules/es6.regexp.constructor.js | 38 + .../core-js/modules/es6.regexp.flags.js | 6 + .../core-js/modules/es6.regexp.match.js | 10 + .../core-js/modules/es6.regexp.replace.js | 12 + .../core-js/modules/es6.regexp.search.js | 10 + .../core-js/modules/es6.regexp.split.js | 12 + .../node_modules/core-js/modules/es6.set.js | 12 + .../modules/es6.string.code-point-at.js | 9 + .../core-js/modules/es6.string.ends-with.js | 21 + .../modules/es6.string.from-code-point.js | 24 + .../core-js/modules/es6.string.includes.js | 12 + .../core-js/modules/es6.string.iterator.js | 17 + .../core-js/modules/es6.string.raw.js | 19 + .../core-js/modules/es6.string.repeat.js | 6 + .../core-js/modules/es6.string.starts-with.js | 19 + .../core-js/modules/es6.string.trim.js | 7 + .../core-js/modules/es6.symbol.js | 227 + .../core-js/modules/es6.typed.array-buffer.js | 43 + .../core-js/modules/es6.typed.data-view.js | 4 + .../modules/es6.typed.float32-array.js | 5 + .../modules/es6.typed.float64-array.js | 5 + .../core-js/modules/es6.typed.int16-array.js | 5 + .../core-js/modules/es6.typed.int32-array.js | 5 + .../core-js/modules/es6.typed.int8-array.js | 5 + .../core-js/modules/es6.typed.uint16-array.js | 5 + .../core-js/modules/es6.typed.uint32-array.js | 5 + .../core-js/modules/es6.typed.uint8-array.js | 5 + .../modules/es6.typed.uint8-clamped-array.js | 5 + .../core-js/modules/es6.weak-map.js | 43 + .../core-js/modules/es6.weak-set.js | 12 + .../core-js/modules/es7.array.includes.js | 12 + .../core-js/modules/es7.map.to-json.js | 4 + .../core-js/modules/es7.object.entries.js | 9 + ...es7.object.get-own-property-descriptors.js | 23 + .../core-js/modules/es7.object.values.js | 9 + .../core-js/modules/es7.regexp.escape.js | 5 + .../core-js/modules/es7.set.to-json.js | 4 + .../core-js/modules/es7.string.at.js | 10 + .../core-js/modules/es7.string.pad-left.js | 9 + .../core-js/modules/es7.string.pad-right.js | 9 + .../core-js/modules/es7.string.trim-left.js | 7 + .../core-js/modules/es7.string.trim-right.js | 7 + .../core-js/modules/js.array.statics.js | 17 + .../modules/library/$.add-to-unscopables.js | 1 + .../core-js/modules/library/$.collection.js | 55 + .../core-js/modules/library/$.export.js | 46 + .../core-js/modules/library/$.library.js | 1 + .../core-js/modules/library/$.path.js | 1 + .../core-js/modules/library/$.redefine.js | 1 + .../core-js/modules/library/$.set-species.js | 13 + .../modules/library/es6.date.to-string.js | 0 .../modules/library/es6.function.name.js | 0 .../modules/library/es6.number.constructor.js | 0 .../modules/library/es6.object.to-string.js | 0 .../modules/library/es6.regexp.constructor.js | 1 + .../modules/library/es6.regexp.flags.js | 0 .../modules/library/es6.regexp.match.js | 0 .../modules/library/es6.regexp.replace.js | 0 .../modules/library/es6.regexp.search.js | 0 .../modules/library/es6.regexp.split.js | 0 .../modules/library/web.dom.iterable.js | 3 + .../core-js/modules/web.dom.iterable.js | 12 + .../core-js/modules/web.immediate.js | 6 + .../core-js/modules/web.timers.js | 20 + .../fbjs/node_modules/core-js/package.json | 88 + .../fbjs/node_modules/core-js/shim.js | 104 + .../fbjs/node_modules/core-js/web/dom.js | 2 + .../node_modules/core-js/web/immediate.js | 2 + .../fbjs/node_modules/core-js/web/index.js | 4 + .../fbjs/node_modules/core-js/web/timers.js | 2 + socket/node_modules/fbjs/package.json | 112 + socket/node_modules/finalhandler/HISTORY.md | 33 + socket/node_modules/finalhandler/LICENSE | 22 + socket/node_modules/finalhandler/README.md | 133 + socket/node_modules/finalhandler/index.js | 163 + socket/node_modules/finalhandler/package.json | 67 + socket/node_modules/forwarded/HISTORY.md | 16 + socket/node_modules/forwarded/LICENSE | 22 + socket/node_modules/forwarded/README.md | 57 + socket/node_modules/forwarded/index.js | 76 + socket/node_modules/forwarded/package.json | 78 + socket/node_modules/fresh/HISTORY.md | 24 + socket/node_modules/fresh/LICENSE | 22 + socket/node_modules/fresh/README.md | 58 + socket/node_modules/fresh/index.js | 53 + socket/node_modules/fresh/package.json | 70 + socket/node_modules/globals/globals.json | 1294 + socket/node_modules/globals/index.js | 1 + socket/node_modules/globals/license | 21 + socket/node_modules/globals/package.json | 67 + socket/node_modules/globals/readme.md | 41 + socket/node_modules/has-ansi/index.js | 4 + socket/node_modules/has-ansi/license | 21 + socket/node_modules/has-ansi/package.json | 95 + socket/node_modules/has-ansi/readme.md | 36 + socket/node_modules/has-binary2/History.md | 39 + socket/node_modules/has-binary2/LICENSE | 20 + socket/node_modules/has-binary2/README.md | 4 + socket/node_modules/has-binary2/index.js | 62 + socket/node_modules/has-binary2/package.json | 50 + socket/node_modules/has-cors/.npmignore | 3 + socket/node_modules/has-cors/History.md | 21 + socket/node_modules/has-cors/Makefile | 11 + socket/node_modules/has-cors/Readme.md | 24 + socket/node_modules/has-cors/component.json | 13 + socket/node_modules/has-cors/index.js | 17 + socket/node_modules/has-cors/package.json | 66 + socket/node_modules/has-cors/test.js | 24 + socket/node_modules/http-errors/HISTORY.md | 124 + socket/node_modules/http-errors/LICENSE | 23 + socket/node_modules/http-errors/README.md | 135 + socket/node_modules/http-errors/index.js | 260 + .../http-errors/node_modules/depd/History.md | 90 + .../http-errors/node_modules/depd/LICENSE | 22 + .../http-errors/node_modules/depd/Readme.md | 283 + .../http-errors/node_modules/depd/index.js | 520 + .../node_modules/depd/lib/browser/index.js | 77 + .../depd/lib/compat/callsite-tostring.js | 103 + .../depd/lib/compat/event-listener-count.js | 22 + .../node_modules/depd/lib/compat/index.js | 79 + .../node_modules/depd/package.json | 76 + socket/node_modules/http-errors/package.json | 90 + socket/node_modules/iconv-lite/.npmignore | 6 + socket/node_modules/iconv-lite/.travis.yml | 23 + socket/node_modules/iconv-lite/Changelog.md | 134 + socket/node_modules/iconv-lite/LICENSE | 21 + socket/node_modules/iconv-lite/README.md | 160 + .../iconv-lite/encodings/dbcs-codec.js | 555 + .../iconv-lite/encodings/dbcs-data.js | 176 + .../iconv-lite/encodings/index.js | 22 + .../iconv-lite/encodings/internal.js | 188 + .../iconv-lite/encodings/sbcs-codec.js | 73 + .../encodings/sbcs-data-generated.js | 451 + .../iconv-lite/encodings/sbcs-data.js | 169 + .../encodings/tables/big5-added.json | 122 + .../iconv-lite/encodings/tables/cp936.json | 264 + .../iconv-lite/encodings/tables/cp949.json | 273 + .../iconv-lite/encodings/tables/cp950.json | 177 + .../iconv-lite/encodings/tables/eucjp.json | 182 + .../encodings/tables/gb18030-ranges.json | 1 + .../encodings/tables/gbk-added.json | 55 + .../iconv-lite/encodings/tables/shiftjis.json | 125 + .../iconv-lite/encodings/utf16.js | 177 + .../node_modules/iconv-lite/encodings/utf7.js | 290 + .../iconv-lite/lib/bom-handling.js | 52 + .../iconv-lite/lib/extend-node.js | 215 + socket/node_modules/iconv-lite/lib/index.d.ts | 24 + socket/node_modules/iconv-lite/lib/index.js | 148 + socket/node_modules/iconv-lite/lib/streams.js | 121 + socket/node_modules/iconv-lite/package.json | 123 + socket/node_modules/indexof/.npmignore | 2 + socket/node_modules/indexof/Makefile | 11 + socket/node_modules/indexof/Readme.md | 15 + socket/node_modules/indexof/component.json | 10 + socket/node_modules/indexof/index.js | 10 + socket/node_modules/indexof/package.json | 42 + socket/node_modules/inherits/LICENSE | 16 + socket/node_modules/inherits/README.md | 42 + socket/node_modules/inherits/inherits.js | 7 + .../node_modules/inherits/inherits_browser.js | 23 + socket/node_modules/inherits/package.json | 61 + socket/node_modules/invariant/CHANGELOG.md | 33 + socket/node_modules/invariant/LICENSE | 27 + socket/node_modules/invariant/README.md | 37 + socket/node_modules/invariant/browser.js | 51 + socket/node_modules/invariant/invariant.js | 53 + .../node_modules/invariant/invariant.js.flow | 7 + socket/node_modules/invariant/package.json | 70 + socket/node_modules/ipaddr.js/.npmignore | 2 + socket/node_modules/ipaddr.js/.travis.yml | 10 + socket/node_modules/ipaddr.js/Cakefile | 18 + socket/node_modules/ipaddr.js/LICENSE | 19 + socket/node_modules/ipaddr.js/README.md | 161 + socket/node_modules/ipaddr.js/bower.json | 29 + socket/node_modules/ipaddr.js/ipaddr.min.js | 1 + socket/node_modules/ipaddr.js/lib/ipaddr.js | 467 + socket/node_modules/ipaddr.js/package.json | 64 + .../node_modules/ipaddr.js/src/ipaddr.coffee | 396 + .../ipaddr.js/test/ipaddr.test.coffee | 282 + socket/node_modules/is-stream/index.js | 21 + socket/node_modules/is-stream/license | 21 + socket/node_modules/is-stream/package.json | 70 + socket/node_modules/is-stream/readme.md | 42 + socket/node_modules/isarray/README.md | 54 + socket/node_modules/isarray/index.js | 5 + socket/node_modules/isarray/package.json | 77 + .../isomorphic-fetch/.editorconfig | 12 + .../node_modules/isomorphic-fetch/.jshintrc | 5 + .../node_modules/isomorphic-fetch/.npmignore | 2 + .../node_modules/isomorphic-fetch/.travis.yml | 15 + socket/node_modules/isomorphic-fetch/LICENSE | 21 + .../node_modules/isomorphic-fetch/README.md | 45 + .../node_modules/isomorphic-fetch/bower.json | 7 + .../isomorphic-fetch/fetch-bower.js | 1 + .../isomorphic-fetch/fetch-npm-browserify.js | 6 + .../isomorphic-fetch/fetch-npm-node.js | 16 + .../isomorphic-fetch/package.json | 62 + .../isomorphic-fetch/test/api.test.js | 51 + socket/node_modules/js-tokens/CHANGELOG.md | 134 + socket/node_modules/js-tokens/LICENSE | 21 + socket/node_modules/js-tokens/README.md | 222 + socket/node_modules/js-tokens/index.js | 23 + socket/node_modules/js-tokens/package.json | 65 + socket/node_modules/lodash-es/LICENSE | 47 + socket/node_modules/lodash-es/README.md | 10 + socket/node_modules/lodash-es/_DataView.js | 7 + socket/node_modules/lodash-es/_Hash.js | 32 + socket/node_modules/lodash-es/_LazyWrapper.js | 28 + socket/node_modules/lodash-es/_ListCache.js | 32 + .../node_modules/lodash-es/_LodashWrapper.js | 22 + socket/node_modules/lodash-es/_Map.js | 7 + socket/node_modules/lodash-es/_MapCache.js | 32 + socket/node_modules/lodash-es/_Promise.js | 7 + socket/node_modules/lodash-es/_Set.js | 7 + socket/node_modules/lodash-es/_SetCache.js | 27 + socket/node_modules/lodash-es/_Stack.js | 27 + socket/node_modules/lodash-es/_Symbol.js | 6 + socket/node_modules/lodash-es/_Uint8Array.js | 6 + socket/node_modules/lodash-es/_WeakMap.js | 7 + socket/node_modules/lodash-es/_addMapEntry.js | 15 + socket/node_modules/lodash-es/_addSetEntry.js | 15 + socket/node_modules/lodash-es/_apply.js | 21 + .../lodash-es/_arrayAggregator.js | 22 + socket/node_modules/lodash-es/_arrayEach.js | 22 + .../node_modules/lodash-es/_arrayEachRight.js | 21 + socket/node_modules/lodash-es/_arrayEvery.js | 23 + socket/node_modules/lodash-es/_arrayFilter.js | 25 + .../node_modules/lodash-es/_arrayIncludes.js | 17 + .../lodash-es/_arrayIncludesWith.js | 22 + .../node_modules/lodash-es/_arrayLikeKeys.js | 49 + socket/node_modules/lodash-es/_arrayMap.js | 21 + socket/node_modules/lodash-es/_arrayPush.js | 20 + socket/node_modules/lodash-es/_arrayReduce.js | 26 + .../lodash-es/_arrayReduceRight.js | 24 + socket/node_modules/lodash-es/_arraySample.js | 15 + .../lodash-es/_arraySampleSize.js | 17 + .../node_modules/lodash-es/_arrayShuffle.js | 15 + socket/node_modules/lodash-es/_arraySome.js | 23 + socket/node_modules/lodash-es/_asciiSize.js | 12 + .../node_modules/lodash-es/_asciiToArray.js | 12 + socket/node_modules/lodash-es/_asciiWords.js | 15 + .../lodash-es/_assignMergeValue.js | 20 + socket/node_modules/lodash-es/_assignValue.js | 28 + .../node_modules/lodash-es/_assocIndexOf.js | 21 + .../node_modules/lodash-es/_baseAggregator.js | 21 + socket/node_modules/lodash-es/_baseAssign.js | 17 + .../node_modules/lodash-es/_baseAssignIn.js | 17 + .../lodash-es/_baseAssignValue.js | 25 + socket/node_modules/lodash-es/_baseAt.js | 23 + socket/node_modules/lodash-es/_baseClamp.js | 22 + socket/node_modules/lodash-es/_baseClone.js | 171 + .../node_modules/lodash-es/_baseConforms.js | 18 + .../node_modules/lodash-es/_baseConformsTo.js | 27 + socket/node_modules/lodash-es/_baseCreate.js | 30 + socket/node_modules/lodash-es/_baseDelay.js | 21 + .../node_modules/lodash-es/_baseDifference.js | 67 + socket/node_modules/lodash-es/_baseEach.js | 14 + .../node_modules/lodash-es/_baseEachRight.js | 14 + socket/node_modules/lodash-es/_baseEvery.js | 21 + .../node_modules/lodash-es/_baseExtremum.js | 32 + socket/node_modules/lodash-es/_baseFill.js | 32 + socket/node_modules/lodash-es/_baseFilter.js | 21 + .../node_modules/lodash-es/_baseFindIndex.js | 24 + socket/node_modules/lodash-es/_baseFindKey.js | 23 + socket/node_modules/lodash-es/_baseFlatten.js | 38 + socket/node_modules/lodash-es/_baseFor.js | 16 + socket/node_modules/lodash-es/_baseForOwn.js | 16 + .../lodash-es/_baseForOwnRight.js | 16 + .../node_modules/lodash-es/_baseForRight.js | 15 + .../node_modules/lodash-es/_baseFunctions.js | 19 + socket/node_modules/lodash-es/_baseGet.js | 24 + .../node_modules/lodash-es/_baseGetAllKeys.js | 20 + socket/node_modules/lodash-es/_baseGetTag.js | 28 + socket/node_modules/lodash-es/_baseGt.js | 14 + socket/node_modules/lodash-es/_baseHas.js | 19 + socket/node_modules/lodash-es/_baseHasIn.js | 13 + socket/node_modules/lodash-es/_baseInRange.js | 18 + socket/node_modules/lodash-es/_baseIndexOf.js | 20 + .../lodash-es/_baseIndexOfWith.js | 23 + .../lodash-es/_baseIntersection.js | 74 + .../node_modules/lodash-es/_baseInverter.js | 21 + socket/node_modules/lodash-es/_baseInvoke.js | 24 + .../lodash-es/_baseIsArguments.js | 18 + .../lodash-es/_baseIsArrayBuffer.js | 17 + socket/node_modules/lodash-es/_baseIsDate.js | 18 + socket/node_modules/lodash-es/_baseIsEqual.js | 28 + .../lodash-es/_baseIsEqualDeep.js | 83 + socket/node_modules/lodash-es/_baseIsMap.js | 18 + socket/node_modules/lodash-es/_baseIsMatch.js | 62 + socket/node_modules/lodash-es/_baseIsNaN.js | 12 + .../node_modules/lodash-es/_baseIsNative.js | 47 + .../node_modules/lodash-es/_baseIsRegExp.js | 18 + socket/node_modules/lodash-es/_baseIsSet.js | 18 + .../lodash-es/_baseIsTypedArray.js | 60 + .../node_modules/lodash-es/_baseIteratee.js | 31 + socket/node_modules/lodash-es/_baseKeys.js | 30 + socket/node_modules/lodash-es/_baseKeysIn.js | 33 + socket/node_modules/lodash-es/_baseLodash.js | 10 + socket/node_modules/lodash-es/_baseLt.js | 14 + socket/node_modules/lodash-es/_baseMap.js | 22 + socket/node_modules/lodash-es/_baseMatches.js | 22 + .../lodash-es/_baseMatchesProperty.js | 33 + socket/node_modules/lodash-es/_baseMean.js | 20 + socket/node_modules/lodash-es/_baseMerge.js | 42 + .../node_modules/lodash-es/_baseMergeDeep.js | 94 + socket/node_modules/lodash-es/_baseNth.js | 20 + socket/node_modules/lodash-es/_baseOrderBy.js | 34 + socket/node_modules/lodash-es/_basePick.js | 19 + socket/node_modules/lodash-es/_basePickBy.js | 30 + .../node_modules/lodash-es/_baseProperty.js | 14 + .../lodash-es/_basePropertyDeep.js | 16 + .../node_modules/lodash-es/_basePropertyOf.js | 14 + socket/node_modules/lodash-es/_basePullAll.js | 51 + socket/node_modules/lodash-es/_basePullAt.js | 37 + socket/node_modules/lodash-es/_baseRandom.js | 18 + socket/node_modules/lodash-es/_baseRange.js | 28 + socket/node_modules/lodash-es/_baseReduce.js | 23 + socket/node_modules/lodash-es/_baseRepeat.js | 35 + socket/node_modules/lodash-es/_baseRest.js | 17 + socket/node_modules/lodash-es/_baseSample.js | 15 + .../node_modules/lodash-es/_baseSampleSize.js | 18 + socket/node_modules/lodash-es/_baseSet.js | 47 + socket/node_modules/lodash-es/_baseSetData.js | 17 + .../lodash-es/_baseSetToString.js | 22 + socket/node_modules/lodash-es/_baseShuffle.js | 15 + socket/node_modules/lodash-es/_baseSlice.js | 31 + socket/node_modules/lodash-es/_baseSome.js | 22 + socket/node_modules/lodash-es/_baseSortBy.js | 21 + .../lodash-es/_baseSortedIndex.js | 42 + .../lodash-es/_baseSortedIndexBy.js | 64 + .../node_modules/lodash-es/_baseSortedUniq.js | 30 + socket/node_modules/lodash-es/_baseSum.js | 24 + socket/node_modules/lodash-es/_baseTimes.js | 20 + .../node_modules/lodash-es/_baseToNumber.js | 24 + socket/node_modules/lodash-es/_baseToPairs.js | 18 + .../node_modules/lodash-es/_baseToString.js | 37 + socket/node_modules/lodash-es/_baseUnary.js | 14 + socket/node_modules/lodash-es/_baseUniq.js | 72 + socket/node_modules/lodash-es/_baseUnset.js | 20 + socket/node_modules/lodash-es/_baseUpdate.js | 18 + socket/node_modules/lodash-es/_baseValues.js | 19 + socket/node_modules/lodash-es/_baseWhile.js | 26 + .../lodash-es/_baseWrapperValue.js | 25 + socket/node_modules/lodash-es/_baseXor.js | 36 + .../node_modules/lodash-es/_baseZipObject.js | 23 + socket/node_modules/lodash-es/_cacheHas.js | 13 + .../lodash-es/_castArrayLikeObject.js | 14 + .../node_modules/lodash-es/_castFunction.js | 14 + socket/node_modules/lodash-es/_castPath.js | 21 + socket/node_modules/lodash-es/_castRest.js | 14 + socket/node_modules/lodash-es/_castSlice.js | 18 + .../node_modules/lodash-es/_charsEndIndex.js | 19 + .../lodash-es/_charsStartIndex.js | 20 + .../lodash-es/_cloneArrayBuffer.js | 16 + socket/node_modules/lodash-es/_cloneBuffer.js | 35 + .../node_modules/lodash-es/_cloneDataView.js | 16 + socket/node_modules/lodash-es/_cloneMap.js | 22 + socket/node_modules/lodash-es/_cloneRegExp.js | 17 + socket/node_modules/lodash-es/_cloneSet.js | 22 + socket/node_modules/lodash-es/_cloneSymbol.js | 18 + .../lodash-es/_cloneTypedArray.js | 16 + .../lodash-es/_compareAscending.js | 41 + .../lodash-es/_compareMultiple.js | 44 + socket/node_modules/lodash-es/_composeArgs.js | 39 + .../lodash-es/_composeArgsRight.js | 41 + socket/node_modules/lodash-es/_copyArray.js | 20 + socket/node_modules/lodash-es/_copyObject.js | 40 + socket/node_modules/lodash-es/_copySymbols.js | 16 + .../node_modules/lodash-es/_copySymbolsIn.js | 16 + socket/node_modules/lodash-es/_coreJsData.js | 6 + .../node_modules/lodash-es/_countHolders.js | 21 + .../lodash-es/_createAggregator.js | 23 + .../node_modules/lodash-es/_createAssigner.js | 37 + .../node_modules/lodash-es/_createBaseEach.js | 32 + .../node_modules/lodash-es/_createBaseFor.js | 25 + socket/node_modules/lodash-es/_createBind.js | 28 + .../lodash-es/_createCaseFirst.js | 33 + .../lodash-es/_createCompounder.js | 24 + socket/node_modules/lodash-es/_createCtor.js | 37 + socket/node_modules/lodash-es/_createCurry.js | 46 + socket/node_modules/lodash-es/_createFind.js | 25 + socket/node_modules/lodash-es/_createFlow.js | 78 + .../node_modules/lodash-es/_createHybrid.js | 92 + .../node_modules/lodash-es/_createInverter.js | 17 + .../lodash-es/_createMathOperation.js | 38 + socket/node_modules/lodash-es/_createOver.js | 27 + .../node_modules/lodash-es/_createPadding.js | 33 + .../node_modules/lodash-es/_createPartial.js | 43 + socket/node_modules/lodash-es/_createRange.js | 30 + .../node_modules/lodash-es/_createRecurry.js | 56 + .../lodash-es/_createRelationalOperation.js | 20 + socket/node_modules/lodash-es/_createRound.js | 33 + socket/node_modules/lodash-es/_createSet.js | 19 + .../node_modules/lodash-es/_createToPairs.js | 30 + socket/node_modules/lodash-es/_createWrap.js | 106 + .../lodash-es/_customDefaultsAssignIn.js | 29 + .../lodash-es/_customDefaultsMerge.js | 28 + .../lodash-es/_customOmitClone.js | 16 + .../node_modules/lodash-es/_deburrLetter.js | 71 + .../node_modules/lodash-es/_defineProperty.js | 11 + socket/node_modules/lodash-es/_equalArrays.js | 83 + socket/node_modules/lodash-es/_equalByTag.js | 112 + .../node_modules/lodash-es/_equalObjects.js | 89 + .../node_modules/lodash-es/_escapeHtmlChar.js | 21 + .../lodash-es/_escapeStringChar.js | 22 + socket/node_modules/lodash-es/_flatRest.js | 16 + socket/node_modules/lodash-es/_freeGlobal.js | 4 + socket/node_modules/lodash-es/_getAllKeys.js | 16 + .../node_modules/lodash-es/_getAllKeysIn.js | 17 + socket/node_modules/lodash-es/_getData.js | 15 + socket/node_modules/lodash-es/_getFuncName.js | 31 + socket/node_modules/lodash-es/_getHolder.js | 13 + socket/node_modules/lodash-es/_getMapData.js | 18 + .../node_modules/lodash-es/_getMatchData.js | 24 + socket/node_modules/lodash-es/_getNative.js | 17 + .../node_modules/lodash-es/_getPrototype.js | 6 + socket/node_modules/lodash-es/_getRawTag.js | 46 + socket/node_modules/lodash-es/_getSymbols.js | 30 + .../node_modules/lodash-es/_getSymbolsIn.js | 25 + socket/node_modules/lodash-es/_getTag.js | 58 + socket/node_modules/lodash-es/_getValue.js | 13 + socket/node_modules/lodash-es/_getView.js | 33 + .../node_modules/lodash-es/_getWrapDetails.js | 17 + socket/node_modules/lodash-es/_hasPath.js | 39 + socket/node_modules/lodash-es/_hasUnicode.js | 26 + .../node_modules/lodash-es/_hasUnicodeWord.js | 15 + socket/node_modules/lodash-es/_hashClear.js | 15 + socket/node_modules/lodash-es/_hashDelete.js | 17 + socket/node_modules/lodash-es/_hashGet.js | 30 + socket/node_modules/lodash-es/_hashHas.js | 23 + socket/node_modules/lodash-es/_hashSet.js | 23 + .../node_modules/lodash-es/_initCloneArray.js | 26 + .../node_modules/lodash-es/_initCloneByTag.js | 77 + .../lodash-es/_initCloneObject.js | 18 + .../lodash-es/_insertWrapDetails.js | 23 + .../node_modules/lodash-es/_isFlattenable.js | 20 + socket/node_modules/lodash-es/_isIndex.js | 25 + .../node_modules/lodash-es/_isIterateeCall.js | 30 + socket/node_modules/lodash-es/_isKey.js | 29 + socket/node_modules/lodash-es/_isKeyable.js | 15 + socket/node_modules/lodash-es/_isLaziable.js | 28 + socket/node_modules/lodash-es/_isMaskable.js | 14 + socket/node_modules/lodash-es/_isMasked.js | 20 + socket/node_modules/lodash-es/_isPrototype.js | 18 + .../lodash-es/_isStrictComparable.js | 15 + .../lodash-es/_iteratorToArray.js | 18 + socket/node_modules/lodash-es/_lazyClone.js | 23 + socket/node_modules/lodash-es/_lazyReverse.js | 23 + socket/node_modules/lodash-es/_lazyValue.js | 69 + .../node_modules/lodash-es/_listCacheClear.js | 13 + .../lodash-es/_listCacheDelete.js | 35 + .../node_modules/lodash-es/_listCacheGet.js | 19 + .../node_modules/lodash-es/_listCacheHas.js | 16 + .../node_modules/lodash-es/_listCacheSet.js | 26 + .../node_modules/lodash-es/_mapCacheClear.js | 21 + .../node_modules/lodash-es/_mapCacheDelete.js | 18 + socket/node_modules/lodash-es/_mapCacheGet.js | 16 + socket/node_modules/lodash-es/_mapCacheHas.js | 16 + socket/node_modules/lodash-es/_mapCacheSet.js | 22 + socket/node_modules/lodash-es/_mapToArray.js | 18 + .../lodash-es/_matchesStrictComparable.js | 20 + .../node_modules/lodash-es/_memoizeCapped.js | 26 + socket/node_modules/lodash-es/_mergeData.js | 90 + socket/node_modules/lodash-es/_metaMap.js | 6 + .../node_modules/lodash-es/_nativeCreate.js | 6 + socket/node_modules/lodash-es/_nativeKeys.js | 6 + .../node_modules/lodash-es/_nativeKeysIn.js | 20 + socket/node_modules/lodash-es/_nodeUtil.js | 22 + .../node_modules/lodash-es/_objectToString.js | 22 + socket/node_modules/lodash-es/_overArg.js | 15 + socket/node_modules/lodash-es/_overRest.js | 36 + socket/node_modules/lodash-es/_parent.js | 16 + socket/node_modules/lodash-es/_reEscape.js | 4 + socket/node_modules/lodash-es/_reEvaluate.js | 4 + .../node_modules/lodash-es/_reInterpolate.js | 4 + socket/node_modules/lodash-es/_realNames.js | 4 + socket/node_modules/lodash-es/_reorder.js | 29 + .../node_modules/lodash-es/_replaceHolders.js | 29 + socket/node_modules/lodash-es/_root.js | 9 + socket/node_modules/lodash-es/_safeGet.js | 15 + socket/node_modules/lodash-es/_setCacheAdd.js | 19 + socket/node_modules/lodash-es/_setCacheHas.js | 14 + socket/node_modules/lodash-es/_setData.js | 20 + socket/node_modules/lodash-es/_setToArray.js | 18 + socket/node_modules/lodash-es/_setToPairs.js | 18 + socket/node_modules/lodash-es/_setToString.js | 14 + .../lodash-es/_setWrapToString.js | 21 + socket/node_modules/lodash-es/_shortOut.js | 37 + socket/node_modules/lodash-es/_shuffleSelf.js | 28 + socket/node_modules/lodash-es/_stackClear.js | 15 + socket/node_modules/lodash-es/_stackDelete.js | 18 + socket/node_modules/lodash-es/_stackGet.js | 14 + socket/node_modules/lodash-es/_stackHas.js | 14 + socket/node_modules/lodash-es/_stackSet.js | 34 + .../node_modules/lodash-es/_strictIndexOf.js | 23 + .../lodash-es/_strictLastIndexOf.js | 21 + socket/node_modules/lodash-es/_stringSize.js | 18 + .../node_modules/lodash-es/_stringToArray.js | 18 + .../node_modules/lodash-es/_stringToPath.js | 27 + socket/node_modules/lodash-es/_toKey.js | 21 + socket/node_modules/lodash-es/_toSource.js | 26 + .../lodash-es/_unescapeHtmlChar.js | 21 + socket/node_modules/lodash-es/_unicodeSize.js | 44 + .../node_modules/lodash-es/_unicodeToArray.js | 40 + .../node_modules/lodash-es/_unicodeWords.js | 69 + .../lodash-es/_updateWrapDetails.js | 46 + .../node_modules/lodash-es/_wrapperClone.js | 23 + socket/node_modules/lodash-es/add.js | 22 + socket/node_modules/lodash-es/after.js | 42 + .../node_modules/lodash-es/array.default.js | 81 + socket/node_modules/lodash-es/array.js | 66 + socket/node_modules/lodash-es/ary.js | 29 + socket/node_modules/lodash-es/assign.js | 58 + socket/node_modules/lodash-es/assignIn.js | 40 + socket/node_modules/lodash-es/assignInWith.js | 38 + socket/node_modules/lodash-es/assignWith.js | 37 + socket/node_modules/lodash-es/at.js | 23 + socket/node_modules/lodash-es/attempt.js | 35 + socket/node_modules/lodash-es/before.js | 40 + socket/node_modules/lodash-es/bind.js | 57 + socket/node_modules/lodash-es/bindAll.js | 41 + socket/node_modules/lodash-es/bindKey.js | 68 + socket/node_modules/lodash-es/camelCase.js | 29 + socket/node_modules/lodash-es/capitalize.js | 23 + socket/node_modules/lodash-es/castArray.js | 44 + socket/node_modules/lodash-es/ceil.js | 26 + socket/node_modules/lodash-es/chain.js | 38 + socket/node_modules/lodash-es/chunk.js | 50 + socket/node_modules/lodash-es/clamp.js | 39 + socket/node_modules/lodash-es/clone.js | 36 + socket/node_modules/lodash-es/cloneDeep.js | 29 + .../node_modules/lodash-es/cloneDeepWith.js | 40 + socket/node_modules/lodash-es/cloneWith.js | 42 + .../lodash-es/collection.default.js | 37 + socket/node_modules/lodash-es/collection.js | 29 + socket/node_modules/lodash-es/commit.js | 33 + socket/node_modules/lodash-es/compact.js | 31 + socket/node_modules/lodash-es/concat.js | 43 + socket/node_modules/lodash-es/cond.js | 60 + socket/node_modules/lodash-es/conforms.js | 35 + socket/node_modules/lodash-es/conformsTo.js | 32 + socket/node_modules/lodash-es/constant.js | 26 + socket/node_modules/lodash-es/countBy.js | 40 + socket/node_modules/lodash-es/create.js | 43 + socket/node_modules/lodash-es/curry.js | 57 + socket/node_modules/lodash-es/curryRight.js | 54 + socket/node_modules/lodash-es/date.default.js | 5 + socket/node_modules/lodash-es/date.js | 2 + socket/node_modules/lodash-es/debounce.js | 190 + socket/node_modules/lodash-es/deburr.js | 45 + socket/node_modules/lodash-es/defaultTo.js | 25 + socket/node_modules/lodash-es/defaults.js | 64 + socket/node_modules/lodash-es/defaultsDeep.js | 30 + socket/node_modules/lodash-es/defer.js | 26 + socket/node_modules/lodash-es/delay.js | 28 + socket/node_modules/lodash-es/difference.js | 33 + socket/node_modules/lodash-es/differenceBy.js | 44 + .../node_modules/lodash-es/differenceWith.js | 40 + socket/node_modules/lodash-es/divide.js | 22 + socket/node_modules/lodash-es/drop.js | 38 + socket/node_modules/lodash-es/dropRight.js | 39 + .../node_modules/lodash-es/dropRightWhile.js | 45 + socket/node_modules/lodash-es/dropWhile.js | 45 + socket/node_modules/lodash-es/each.js | 1 + socket/node_modules/lodash-es/eachRight.js | 1 + socket/node_modules/lodash-es/endsWith.js | 43 + socket/node_modules/lodash-es/entries.js | 1 + socket/node_modules/lodash-es/entriesIn.js | 1 + socket/node_modules/lodash-es/eq.js | 37 + socket/node_modules/lodash-es/escape.js | 43 + socket/node_modules/lodash-es/escapeRegExp.js | 32 + socket/node_modules/lodash-es/every.js | 56 + socket/node_modules/lodash-es/extend.js | 1 + socket/node_modules/lodash-es/extendWith.js | 1 + socket/node_modules/lodash-es/fill.js | 45 + socket/node_modules/lodash-es/filter.js | 48 + socket/node_modules/lodash-es/find.js | 42 + socket/node_modules/lodash-es/findIndex.js | 55 + socket/node_modules/lodash-es/findKey.js | 44 + socket/node_modules/lodash-es/findLast.js | 25 + .../node_modules/lodash-es/findLastIndex.js | 59 + socket/node_modules/lodash-es/findLastKey.js | 44 + socket/node_modules/lodash-es/first.js | 1 + socket/node_modules/lodash-es/flatMap.js | 29 + socket/node_modules/lodash-es/flatMapDeep.js | 31 + socket/node_modules/lodash-es/flatMapDepth.js | 31 + socket/node_modules/lodash-es/flatten.js | 22 + socket/node_modules/lodash-es/flattenDeep.js | 25 + socket/node_modules/lodash-es/flattenDepth.js | 33 + socket/node_modules/lodash-es/flip.js | 28 + socket/node_modules/lodash-es/floor.js | 26 + socket/node_modules/lodash-es/flow.js | 27 + socket/node_modules/lodash-es/flowRight.js | 26 + socket/node_modules/lodash-es/forEach.js | 41 + socket/node_modules/lodash-es/forEachRight.js | 31 + socket/node_modules/lodash-es/forIn.js | 39 + socket/node_modules/lodash-es/forInRight.js | 37 + socket/node_modules/lodash-es/forOwn.js | 36 + socket/node_modules/lodash-es/forOwnRight.js | 34 + socket/node_modules/lodash-es/fromPairs.js | 28 + .../lodash-es/function.default.js | 31 + socket/node_modules/lodash-es/function.js | 24 + socket/node_modules/lodash-es/functions.js | 31 + socket/node_modules/lodash-es/functionsIn.js | 31 + socket/node_modules/lodash-es/get.js | 33 + socket/node_modules/lodash-es/groupBy.js | 41 + socket/node_modules/lodash-es/gt.js | 29 + socket/node_modules/lodash-es/gte.js | 30 + socket/node_modules/lodash-es/has.js | 35 + socket/node_modules/lodash-es/hasIn.js | 34 + socket/node_modules/lodash-es/head.js | 23 + socket/node_modules/lodash-es/identity.js | 21 + socket/node_modules/lodash-es/inRange.js | 55 + socket/node_modules/lodash-es/includes.js | 53 + socket/node_modules/lodash-es/indexOf.js | 42 + socket/node_modules/lodash-es/initial.js | 22 + socket/node_modules/lodash-es/intersection.js | 30 + .../node_modules/lodash-es/intersectionBy.js | 45 + .../lodash-es/intersectionWith.js | 41 + socket/node_modules/lodash-es/invert.js | 42 + socket/node_modules/lodash-es/invertBy.js | 56 + socket/node_modules/lodash-es/invoke.js | 24 + socket/node_modules/lodash-es/invokeMap.js | 41 + socket/node_modules/lodash-es/isArguments.js | 36 + socket/node_modules/lodash-es/isArray.js | 26 + .../node_modules/lodash-es/isArrayBuffer.js | 27 + socket/node_modules/lodash-es/isArrayLike.js | 33 + .../lodash-es/isArrayLikeObject.js | 33 + socket/node_modules/lodash-es/isBoolean.js | 29 + socket/node_modules/lodash-es/isBuffer.js | 38 + socket/node_modules/lodash-es/isDate.js | 27 + socket/node_modules/lodash-es/isElement.js | 25 + socket/node_modules/lodash-es/isEmpty.js | 77 + socket/node_modules/lodash-es/isEqual.js | 35 + socket/node_modules/lodash-es/isEqualWith.js | 41 + socket/node_modules/lodash-es/isError.js | 36 + socket/node_modules/lodash-es/isFinite.js | 36 + socket/node_modules/lodash-es/isFunction.js | 37 + socket/node_modules/lodash-es/isInteger.js | 33 + socket/node_modules/lodash-es/isLength.js | 35 + socket/node_modules/lodash-es/isMap.js | 27 + socket/node_modules/lodash-es/isMatch.js | 36 + socket/node_modules/lodash-es/isMatchWith.js | 41 + socket/node_modules/lodash-es/isNaN.js | 38 + socket/node_modules/lodash-es/isNative.js | 40 + socket/node_modules/lodash-es/isNil.js | 25 + socket/node_modules/lodash-es/isNull.js | 22 + socket/node_modules/lodash-es/isNumber.js | 38 + socket/node_modules/lodash-es/isObject.js | 31 + socket/node_modules/lodash-es/isObjectLike.js | 29 + .../node_modules/lodash-es/isPlainObject.js | 62 + socket/node_modules/lodash-es/isRegExp.js | 27 + .../node_modules/lodash-es/isSafeInteger.js | 37 + socket/node_modules/lodash-es/isSet.js | 27 + socket/node_modules/lodash-es/isString.js | 30 + socket/node_modules/lodash-es/isSymbol.js | 29 + socket/node_modules/lodash-es/isTypedArray.js | 27 + socket/node_modules/lodash-es/isUndefined.js | 22 + socket/node_modules/lodash-es/isWeakMap.js | 28 + socket/node_modules/lodash-es/isWeakSet.js | 28 + socket/node_modules/lodash-es/iteratee.js | 53 + socket/node_modules/lodash-es/join.js | 26 + socket/node_modules/lodash-es/kebabCase.js | 28 + socket/node_modules/lodash-es/keyBy.js | 36 + socket/node_modules/lodash-es/keys.js | 37 + socket/node_modules/lodash-es/keysIn.js | 32 + socket/node_modules/lodash-es/lang.default.js | 71 + socket/node_modules/lodash-es/lang.js | 57 + socket/node_modules/lodash-es/last.js | 20 + socket/node_modules/lodash-es/lastIndexOf.js | 46 + .../node_modules/lodash-es/lodash.default.js | 642 + socket/node_modules/lodash-es/lodash.js | 331 + socket/node_modules/lodash-es/lowerCase.js | 27 + socket/node_modules/lodash-es/lowerFirst.js | 22 + socket/node_modules/lodash-es/lt.js | 29 + socket/node_modules/lodash-es/lte.js | 30 + socket/node_modules/lodash-es/map.js | 53 + socket/node_modules/lodash-es/mapKeys.js | 36 + socket/node_modules/lodash-es/mapValues.js | 43 + socket/node_modules/lodash-es/matches.js | 39 + .../node_modules/lodash-es/matchesProperty.js | 37 + socket/node_modules/lodash-es/math.default.js | 21 + socket/node_modules/lodash-es/math.js | 16 + socket/node_modules/lodash-es/max.js | 29 + socket/node_modules/lodash-es/maxBy.js | 34 + socket/node_modules/lodash-es/mean.js | 22 + socket/node_modules/lodash-es/meanBy.js | 31 + socket/node_modules/lodash-es/memoize.js | 73 + socket/node_modules/lodash-es/merge.js | 39 + socket/node_modules/lodash-es/mergeWith.js | 39 + socket/node_modules/lodash-es/method.js | 34 + socket/node_modules/lodash-es/methodOf.js | 33 + socket/node_modules/lodash-es/min.js | 29 + socket/node_modules/lodash-es/minBy.js | 34 + socket/node_modules/lodash-es/mixin.js | 74 + socket/node_modules/lodash-es/multiply.js | 22 + socket/node_modules/lodash-es/negate.js | 40 + socket/node_modules/lodash-es/next.js | 35 + socket/node_modules/lodash-es/noop.js | 17 + socket/node_modules/lodash-es/now.js | 23 + socket/node_modules/lodash-es/nth.js | 29 + socket/node_modules/lodash-es/nthArg.js | 32 + .../node_modules/lodash-es/number.default.js | 7 + socket/node_modules/lodash-es/number.js | 4 + .../node_modules/lodash-es/object.default.js | 60 + socket/node_modules/lodash-es/object.js | 48 + socket/node_modules/lodash-es/omit.js | 57 + socket/node_modules/lodash-es/omitBy.js | 29 + socket/node_modules/lodash-es/once.js | 25 + socket/node_modules/lodash-es/orderBy.js | 47 + socket/node_modules/lodash-es/over.js | 24 + socket/node_modules/lodash-es/overArgs.js | 61 + socket/node_modules/lodash-es/overEvery.js | 30 + socket/node_modules/lodash-es/overSome.js | 30 + socket/node_modules/lodash-es/package.json | 74 + socket/node_modules/lodash-es/pad.js | 49 + socket/node_modules/lodash-es/padEnd.js | 39 + socket/node_modules/lodash-es/padStart.js | 39 + socket/node_modules/lodash-es/parseInt.js | 43 + socket/node_modules/lodash-es/partial.js | 50 + socket/node_modules/lodash-es/partialRight.js | 49 + socket/node_modules/lodash-es/partition.js | 43 + socket/node_modules/lodash-es/pick.js | 25 + socket/node_modules/lodash-es/pickBy.js | 37 + socket/node_modules/lodash-es/plant.js | 48 + socket/node_modules/lodash-es/property.js | 32 + socket/node_modules/lodash-es/propertyOf.js | 30 + socket/node_modules/lodash-es/pull.js | 29 + socket/node_modules/lodash-es/pullAll.js | 29 + socket/node_modules/lodash-es/pullAllBy.js | 33 + socket/node_modules/lodash-es/pullAllWith.js | 32 + socket/node_modules/lodash-es/pullAt.js | 43 + socket/node_modules/lodash-es/random.js | 82 + socket/node_modules/lodash-es/range.js | 46 + socket/node_modules/lodash-es/rangeRight.js | 41 + socket/node_modules/lodash-es/rearg.js | 33 + socket/node_modules/lodash-es/reduce.js | 51 + socket/node_modules/lodash-es/reduceRight.js | 36 + socket/node_modules/lodash-es/reject.js | 46 + socket/node_modules/lodash-es/remove.js | 53 + socket/node_modules/lodash-es/repeat.js | 37 + socket/node_modules/lodash-es/replace.js | 29 + socket/node_modules/lodash-es/rest.js | 40 + socket/node_modules/lodash-es/result.js | 56 + socket/node_modules/lodash-es/reverse.js | 34 + socket/node_modules/lodash-es/round.js | 26 + socket/node_modules/lodash-es/sample.js | 24 + socket/node_modules/lodash-es/sampleSize.js | 37 + socket/node_modules/lodash-es/seq.default.js | 20 + socket/node_modules/lodash-es/seq.js | 15 + socket/node_modules/lodash-es/set.js | 35 + socket/node_modules/lodash-es/setWith.js | 32 + socket/node_modules/lodash-es/shuffle.js | 25 + socket/node_modules/lodash-es/size.js | 46 + socket/node_modules/lodash-es/slice.js | 37 + socket/node_modules/lodash-es/snakeCase.js | 28 + socket/node_modules/lodash-es/some.js | 51 + socket/node_modules/lodash-es/sortBy.js | 48 + socket/node_modules/lodash-es/sortedIndex.js | 24 + .../node_modules/lodash-es/sortedIndexBy.js | 33 + .../node_modules/lodash-es/sortedIndexOf.js | 31 + .../node_modules/lodash-es/sortedLastIndex.js | 25 + .../lodash-es/sortedLastIndexBy.js | 33 + .../lodash-es/sortedLastIndexOf.js | 31 + socket/node_modules/lodash-es/sortedUniq.js | 24 + socket/node_modules/lodash-es/sortedUniqBy.js | 26 + socket/node_modules/lodash-es/split.js | 52 + socket/node_modules/lodash-es/spread.js | 63 + socket/node_modules/lodash-es/startCase.js | 29 + socket/node_modules/lodash-es/startsWith.js | 39 + .../node_modules/lodash-es/string.default.js | 41 + socket/node_modules/lodash-es/string.js | 32 + socket/node_modules/lodash-es/stubArray.js | 23 + socket/node_modules/lodash-es/stubFalse.js | 18 + socket/node_modules/lodash-es/stubObject.js | 23 + socket/node_modules/lodash-es/stubString.js | 18 + socket/node_modules/lodash-es/stubTrue.js | 18 + socket/node_modules/lodash-es/subtract.js | 22 + socket/node_modules/lodash-es/sum.js | 24 + socket/node_modules/lodash-es/sumBy.js | 33 + socket/node_modules/lodash-es/tail.js | 22 + socket/node_modules/lodash-es/take.js | 37 + socket/node_modules/lodash-es/takeRight.js | 39 + .../node_modules/lodash-es/takeRightWhile.js | 45 + socket/node_modules/lodash-es/takeWhile.js | 45 + socket/node_modules/lodash-es/tap.js | 29 + socket/node_modules/lodash-es/template.js | 238 + .../lodash-es/templateSettings.js | 67 + socket/node_modules/lodash-es/throttle.js | 69 + socket/node_modules/lodash-es/thru.js | 28 + socket/node_modules/lodash-es/times.js | 51 + socket/node_modules/lodash-es/toArray.js | 58 + socket/node_modules/lodash-es/toFinite.js | 42 + socket/node_modules/lodash-es/toInteger.js | 36 + socket/node_modules/lodash-es/toIterator.js | 23 + socket/node_modules/lodash-es/toJSON.js | 1 + socket/node_modules/lodash-es/toLength.js | 38 + socket/node_modules/lodash-es/toLower.js | 28 + socket/node_modules/lodash-es/toNumber.js | 66 + socket/node_modules/lodash-es/toPairs.js | 30 + socket/node_modules/lodash-es/toPairsIn.js | 30 + socket/node_modules/lodash-es/toPath.js | 33 + .../node_modules/lodash-es/toPlainObject.js | 32 + .../node_modules/lodash-es/toSafeInteger.js | 37 + socket/node_modules/lodash-es/toString.js | 28 + socket/node_modules/lodash-es/toUpper.js | 28 + socket/node_modules/lodash-es/transform.js | 65 + socket/node_modules/lodash-es/trim.js | 49 + socket/node_modules/lodash-es/trimEnd.js | 43 + socket/node_modules/lodash-es/trimStart.js | 43 + socket/node_modules/lodash-es/truncate.js | 111 + socket/node_modules/lodash-es/unary.js | 22 + socket/node_modules/lodash-es/unescape.js | 34 + socket/node_modules/lodash-es/union.js | 26 + socket/node_modules/lodash-es/unionBy.js | 39 + socket/node_modules/lodash-es/unionWith.js | 34 + socket/node_modules/lodash-es/uniq.js | 25 + socket/node_modules/lodash-es/uniqBy.js | 31 + socket/node_modules/lodash-es/uniqWith.js | 28 + socket/node_modules/lodash-es/uniqueId.js | 28 + socket/node_modules/lodash-es/unset.js | 34 + socket/node_modules/lodash-es/unzip.js | 45 + socket/node_modules/lodash-es/unzipWith.js | 39 + socket/node_modules/lodash-es/update.js | 35 + socket/node_modules/lodash-es/updateWith.js | 33 + socket/node_modules/lodash-es/upperCase.js | 27 + socket/node_modules/lodash-es/upperFirst.js | 22 + socket/node_modules/lodash-es/util.default.js | 42 + socket/node_modules/lodash-es/util.js | 33 + socket/node_modules/lodash-es/value.js | 1 + socket/node_modules/lodash-es/valueOf.js | 1 + socket/node_modules/lodash-es/values.js | 34 + socket/node_modules/lodash-es/valuesIn.js | 32 + socket/node_modules/lodash-es/without.js | 31 + socket/node_modules/lodash-es/words.js | 35 + socket/node_modules/lodash-es/wrap.js | 30 + socket/node_modules/lodash-es/wrapperAt.js | 48 + socket/node_modules/lodash-es/wrapperChain.js | 34 + .../node_modules/lodash-es/wrapperLodash.js | 147 + .../node_modules/lodash-es/wrapperReverse.js | 44 + socket/node_modules/lodash-es/wrapperValue.js | 21 + socket/node_modules/lodash-es/xor.js | 28 + socket/node_modules/lodash-es/xorBy.js | 39 + socket/node_modules/lodash-es/xorWith.js | 34 + socket/node_modules/lodash-es/zip.js | 22 + socket/node_modules/lodash-es/zipObject.js | 24 + .../node_modules/lodash-es/zipObjectDeep.js | 23 + socket/node_modules/lodash-es/zipWith.js | 32 + socket/node_modules/lodash/LICENSE | 47 + socket/node_modules/lodash/README.md | 39 + socket/node_modules/lodash/_DataView.js | 7 + socket/node_modules/lodash/_Hash.js | 32 + socket/node_modules/lodash/_LazyWrapper.js | 28 + socket/node_modules/lodash/_ListCache.js | 32 + socket/node_modules/lodash/_LodashWrapper.js | 22 + socket/node_modules/lodash/_Map.js | 7 + socket/node_modules/lodash/_MapCache.js | 32 + socket/node_modules/lodash/_Promise.js | 7 + socket/node_modules/lodash/_Set.js | 7 + socket/node_modules/lodash/_SetCache.js | 27 + socket/node_modules/lodash/_Stack.js | 27 + socket/node_modules/lodash/_Symbol.js | 6 + socket/node_modules/lodash/_Uint8Array.js | 6 + socket/node_modules/lodash/_WeakMap.js | 7 + socket/node_modules/lodash/_apply.js | 21 + .../node_modules/lodash/_arrayAggregator.js | 22 + socket/node_modules/lodash/_arrayEach.js | 22 + socket/node_modules/lodash/_arrayEachRight.js | 21 + socket/node_modules/lodash/_arrayEvery.js | 23 + socket/node_modules/lodash/_arrayFilter.js | 25 + socket/node_modules/lodash/_arrayIncludes.js | 17 + .../node_modules/lodash/_arrayIncludesWith.js | 22 + socket/node_modules/lodash/_arrayLikeKeys.js | 49 + socket/node_modules/lodash/_arrayMap.js | 21 + socket/node_modules/lodash/_arrayPush.js | 20 + socket/node_modules/lodash/_arrayReduce.js | 26 + .../node_modules/lodash/_arrayReduceRight.js | 24 + socket/node_modules/lodash/_arraySample.js | 15 + .../node_modules/lodash/_arraySampleSize.js | 17 + socket/node_modules/lodash/_arrayShuffle.js | 15 + socket/node_modules/lodash/_arraySome.js | 23 + socket/node_modules/lodash/_asciiSize.js | 12 + socket/node_modules/lodash/_asciiToArray.js | 12 + socket/node_modules/lodash/_asciiWords.js | 15 + .../node_modules/lodash/_assignMergeValue.js | 20 + socket/node_modules/lodash/_assignValue.js | 28 + socket/node_modules/lodash/_assocIndexOf.js | 21 + socket/node_modules/lodash/_baseAggregator.js | 21 + socket/node_modules/lodash/_baseAssign.js | 17 + socket/node_modules/lodash/_baseAssignIn.js | 17 + .../node_modules/lodash/_baseAssignValue.js | 25 + socket/node_modules/lodash/_baseAt.js | 23 + socket/node_modules/lodash/_baseClamp.js | 22 + socket/node_modules/lodash/_baseClone.js | 171 + socket/node_modules/lodash/_baseConforms.js | 18 + socket/node_modules/lodash/_baseConformsTo.js | 27 + socket/node_modules/lodash/_baseCreate.js | 30 + socket/node_modules/lodash/_baseDelay.js | 21 + socket/node_modules/lodash/_baseDifference.js | 67 + socket/node_modules/lodash/_baseEach.js | 14 + socket/node_modules/lodash/_baseEachRight.js | 14 + socket/node_modules/lodash/_baseEvery.js | 21 + socket/node_modules/lodash/_baseExtremum.js | 32 + socket/node_modules/lodash/_baseFill.js | 32 + socket/node_modules/lodash/_baseFilter.js | 21 + socket/node_modules/lodash/_baseFindIndex.js | 24 + socket/node_modules/lodash/_baseFindKey.js | 23 + socket/node_modules/lodash/_baseFlatten.js | 38 + socket/node_modules/lodash/_baseFor.js | 16 + socket/node_modules/lodash/_baseForOwn.js | 16 + .../node_modules/lodash/_baseForOwnRight.js | 16 + socket/node_modules/lodash/_baseForRight.js | 15 + socket/node_modules/lodash/_baseFunctions.js | 19 + socket/node_modules/lodash/_baseGet.js | 24 + socket/node_modules/lodash/_baseGetAllKeys.js | 20 + socket/node_modules/lodash/_baseGetTag.js | 28 + socket/node_modules/lodash/_baseGt.js | 14 + socket/node_modules/lodash/_baseHas.js | 19 + socket/node_modules/lodash/_baseHasIn.js | 13 + socket/node_modules/lodash/_baseInRange.js | 18 + socket/node_modules/lodash/_baseIndexOf.js | 20 + .../node_modules/lodash/_baseIndexOfWith.js | 23 + .../node_modules/lodash/_baseIntersection.js | 74 + socket/node_modules/lodash/_baseInverter.js | 21 + socket/node_modules/lodash/_baseInvoke.js | 24 + .../node_modules/lodash/_baseIsArguments.js | 18 + .../node_modules/lodash/_baseIsArrayBuffer.js | 17 + socket/node_modules/lodash/_baseIsDate.js | 18 + socket/node_modules/lodash/_baseIsEqual.js | 28 + .../node_modules/lodash/_baseIsEqualDeep.js | 83 + socket/node_modules/lodash/_baseIsMap.js | 18 + socket/node_modules/lodash/_baseIsMatch.js | 62 + socket/node_modules/lodash/_baseIsNaN.js | 12 + socket/node_modules/lodash/_baseIsNative.js | 47 + socket/node_modules/lodash/_baseIsRegExp.js | 18 + socket/node_modules/lodash/_baseIsSet.js | 18 + .../node_modules/lodash/_baseIsTypedArray.js | 60 + socket/node_modules/lodash/_baseIteratee.js | 31 + socket/node_modules/lodash/_baseKeys.js | 30 + socket/node_modules/lodash/_baseKeysIn.js | 33 + socket/node_modules/lodash/_baseLodash.js | 10 + socket/node_modules/lodash/_baseLt.js | 14 + socket/node_modules/lodash/_baseMap.js | 22 + socket/node_modules/lodash/_baseMatches.js | 22 + .../lodash/_baseMatchesProperty.js | 33 + socket/node_modules/lodash/_baseMean.js | 20 + socket/node_modules/lodash/_baseMerge.js | 42 + socket/node_modules/lodash/_baseMergeDeep.js | 94 + socket/node_modules/lodash/_baseNth.js | 20 + socket/node_modules/lodash/_baseOrderBy.js | 34 + socket/node_modules/lodash/_basePick.js | 19 + socket/node_modules/lodash/_basePickBy.js | 30 + socket/node_modules/lodash/_baseProperty.js | 14 + .../node_modules/lodash/_basePropertyDeep.js | 16 + socket/node_modules/lodash/_basePropertyOf.js | 14 + socket/node_modules/lodash/_basePullAll.js | 51 + socket/node_modules/lodash/_basePullAt.js | 37 + socket/node_modules/lodash/_baseRandom.js | 18 + socket/node_modules/lodash/_baseRange.js | 28 + socket/node_modules/lodash/_baseReduce.js | 23 + socket/node_modules/lodash/_baseRepeat.js | 35 + socket/node_modules/lodash/_baseRest.js | 17 + socket/node_modules/lodash/_baseSample.js | 15 + socket/node_modules/lodash/_baseSampleSize.js | 18 + socket/node_modules/lodash/_baseSet.js | 47 + socket/node_modules/lodash/_baseSetData.js | 17 + .../node_modules/lodash/_baseSetToString.js | 22 + socket/node_modules/lodash/_baseShuffle.js | 15 + socket/node_modules/lodash/_baseSlice.js | 31 + socket/node_modules/lodash/_baseSome.js | 22 + socket/node_modules/lodash/_baseSortBy.js | 21 + .../node_modules/lodash/_baseSortedIndex.js | 42 + .../node_modules/lodash/_baseSortedIndexBy.js | 64 + socket/node_modules/lodash/_baseSortedUniq.js | 30 + socket/node_modules/lodash/_baseSum.js | 24 + socket/node_modules/lodash/_baseTimes.js | 20 + socket/node_modules/lodash/_baseToNumber.js | 24 + socket/node_modules/lodash/_baseToPairs.js | 18 + socket/node_modules/lodash/_baseToString.js | 37 + socket/node_modules/lodash/_baseUnary.js | 14 + socket/node_modules/lodash/_baseUniq.js | 72 + socket/node_modules/lodash/_baseUnset.js | 20 + socket/node_modules/lodash/_baseUpdate.js | 18 + socket/node_modules/lodash/_baseValues.js | 19 + socket/node_modules/lodash/_baseWhile.js | 26 + .../node_modules/lodash/_baseWrapperValue.js | 25 + socket/node_modules/lodash/_baseXor.js | 36 + socket/node_modules/lodash/_baseZipObject.js | 23 + socket/node_modules/lodash/_cacheHas.js | 13 + .../lodash/_castArrayLikeObject.js | 14 + socket/node_modules/lodash/_castFunction.js | 14 + socket/node_modules/lodash/_castPath.js | 21 + socket/node_modules/lodash/_castRest.js | 14 + socket/node_modules/lodash/_castSlice.js | 18 + socket/node_modules/lodash/_charsEndIndex.js | 19 + .../node_modules/lodash/_charsStartIndex.js | 20 + .../node_modules/lodash/_cloneArrayBuffer.js | 16 + socket/node_modules/lodash/_cloneBuffer.js | 35 + socket/node_modules/lodash/_cloneDataView.js | 16 + socket/node_modules/lodash/_cloneRegExp.js | 17 + socket/node_modules/lodash/_cloneSymbol.js | 18 + .../node_modules/lodash/_cloneTypedArray.js | 16 + .../node_modules/lodash/_compareAscending.js | 41 + .../node_modules/lodash/_compareMultiple.js | 44 + socket/node_modules/lodash/_composeArgs.js | 39 + .../node_modules/lodash/_composeArgsRight.js | 41 + socket/node_modules/lodash/_copyArray.js | 20 + socket/node_modules/lodash/_copyObject.js | 40 + socket/node_modules/lodash/_copySymbols.js | 16 + socket/node_modules/lodash/_copySymbolsIn.js | 16 + socket/node_modules/lodash/_coreJsData.js | 6 + socket/node_modules/lodash/_countHolders.js | 21 + .../node_modules/lodash/_createAggregator.js | 23 + socket/node_modules/lodash/_createAssigner.js | 37 + socket/node_modules/lodash/_createBaseEach.js | 32 + socket/node_modules/lodash/_createBaseFor.js | 25 + socket/node_modules/lodash/_createBind.js | 28 + .../node_modules/lodash/_createCaseFirst.js | 33 + .../node_modules/lodash/_createCompounder.js | 24 + socket/node_modules/lodash/_createCtor.js | 37 + socket/node_modules/lodash/_createCurry.js | 46 + socket/node_modules/lodash/_createFind.js | 25 + socket/node_modules/lodash/_createFlow.js | 78 + socket/node_modules/lodash/_createHybrid.js | 92 + socket/node_modules/lodash/_createInverter.js | 17 + .../lodash/_createMathOperation.js | 38 + socket/node_modules/lodash/_createOver.js | 27 + socket/node_modules/lodash/_createPadding.js | 33 + socket/node_modules/lodash/_createPartial.js | 43 + socket/node_modules/lodash/_createRange.js | 30 + socket/node_modules/lodash/_createRecurry.js | 56 + .../lodash/_createRelationalOperation.js | 20 + socket/node_modules/lodash/_createRound.js | 33 + socket/node_modules/lodash/_createSet.js | 19 + socket/node_modules/lodash/_createToPairs.js | 30 + socket/node_modules/lodash/_createWrap.js | 106 + .../lodash/_customDefaultsAssignIn.js | 29 + .../lodash/_customDefaultsMerge.js | 28 + .../node_modules/lodash/_customOmitClone.js | 16 + socket/node_modules/lodash/_deburrLetter.js | 71 + socket/node_modules/lodash/_defineProperty.js | 11 + socket/node_modules/lodash/_equalArrays.js | 83 + socket/node_modules/lodash/_equalByTag.js | 112 + socket/node_modules/lodash/_equalObjects.js | 89 + socket/node_modules/lodash/_escapeHtmlChar.js | 21 + .../node_modules/lodash/_escapeStringChar.js | 22 + socket/node_modules/lodash/_flatRest.js | 16 + socket/node_modules/lodash/_freeGlobal.js | 4 + socket/node_modules/lodash/_getAllKeys.js | 16 + socket/node_modules/lodash/_getAllKeysIn.js | 17 + socket/node_modules/lodash/_getData.js | 15 + socket/node_modules/lodash/_getFuncName.js | 31 + socket/node_modules/lodash/_getHolder.js | 13 + socket/node_modules/lodash/_getMapData.js | 18 + socket/node_modules/lodash/_getMatchData.js | 24 + socket/node_modules/lodash/_getNative.js | 17 + socket/node_modules/lodash/_getPrototype.js | 6 + socket/node_modules/lodash/_getRawTag.js | 46 + socket/node_modules/lodash/_getSymbols.js | 30 + socket/node_modules/lodash/_getSymbolsIn.js | 25 + socket/node_modules/lodash/_getTag.js | 58 + socket/node_modules/lodash/_getValue.js | 13 + socket/node_modules/lodash/_getView.js | 33 + socket/node_modules/lodash/_getWrapDetails.js | 17 + socket/node_modules/lodash/_hasPath.js | 39 + socket/node_modules/lodash/_hasUnicode.js | 26 + socket/node_modules/lodash/_hasUnicodeWord.js | 15 + socket/node_modules/lodash/_hashClear.js | 15 + socket/node_modules/lodash/_hashDelete.js | 17 + socket/node_modules/lodash/_hashGet.js | 30 + socket/node_modules/lodash/_hashHas.js | 23 + socket/node_modules/lodash/_hashSet.js | 23 + socket/node_modules/lodash/_initCloneArray.js | 26 + socket/node_modules/lodash/_initCloneByTag.js | 77 + .../node_modules/lodash/_initCloneObject.js | 18 + .../node_modules/lodash/_insertWrapDetails.js | 23 + socket/node_modules/lodash/_isFlattenable.js | 20 + socket/node_modules/lodash/_isIndex.js | 25 + socket/node_modules/lodash/_isIterateeCall.js | 30 + socket/node_modules/lodash/_isKey.js | 29 + socket/node_modules/lodash/_isKeyable.js | 15 + socket/node_modules/lodash/_isLaziable.js | 28 + socket/node_modules/lodash/_isMaskable.js | 14 + socket/node_modules/lodash/_isMasked.js | 20 + socket/node_modules/lodash/_isPrototype.js | 18 + .../lodash/_isStrictComparable.js | 15 + .../node_modules/lodash/_iteratorToArray.js | 18 + socket/node_modules/lodash/_lazyClone.js | 23 + socket/node_modules/lodash/_lazyReverse.js | 23 + socket/node_modules/lodash/_lazyValue.js | 69 + socket/node_modules/lodash/_listCacheClear.js | 13 + .../node_modules/lodash/_listCacheDelete.js | 35 + socket/node_modules/lodash/_listCacheGet.js | 19 + socket/node_modules/lodash/_listCacheHas.js | 16 + socket/node_modules/lodash/_listCacheSet.js | 26 + socket/node_modules/lodash/_mapCacheClear.js | 21 + socket/node_modules/lodash/_mapCacheDelete.js | 18 + socket/node_modules/lodash/_mapCacheGet.js | 16 + socket/node_modules/lodash/_mapCacheHas.js | 16 + socket/node_modules/lodash/_mapCacheSet.js | 22 + socket/node_modules/lodash/_mapToArray.js | 18 + .../lodash/_matchesStrictComparable.js | 20 + socket/node_modules/lodash/_memoizeCapped.js | 26 + socket/node_modules/lodash/_mergeData.js | 90 + socket/node_modules/lodash/_metaMap.js | 6 + socket/node_modules/lodash/_nativeCreate.js | 6 + socket/node_modules/lodash/_nativeKeys.js | 6 + socket/node_modules/lodash/_nativeKeysIn.js | 20 + socket/node_modules/lodash/_nodeUtil.js | 22 + socket/node_modules/lodash/_objectToString.js | 22 + socket/node_modules/lodash/_overArg.js | 15 + socket/node_modules/lodash/_overRest.js | 36 + socket/node_modules/lodash/_parent.js | 16 + socket/node_modules/lodash/_reEscape.js | 4 + socket/node_modules/lodash/_reEvaluate.js | 4 + socket/node_modules/lodash/_reInterpolate.js | 4 + socket/node_modules/lodash/_realNames.js | 4 + socket/node_modules/lodash/_reorder.js | 29 + socket/node_modules/lodash/_replaceHolders.js | 29 + socket/node_modules/lodash/_root.js | 9 + socket/node_modules/lodash/_safeGet.js | 15 + socket/node_modules/lodash/_setCacheAdd.js | 19 + socket/node_modules/lodash/_setCacheHas.js | 14 + socket/node_modules/lodash/_setData.js | 20 + socket/node_modules/lodash/_setToArray.js | 18 + socket/node_modules/lodash/_setToPairs.js | 18 + socket/node_modules/lodash/_setToString.js | 14 + .../node_modules/lodash/_setWrapToString.js | 21 + socket/node_modules/lodash/_shortOut.js | 37 + socket/node_modules/lodash/_shuffleSelf.js | 28 + socket/node_modules/lodash/_stackClear.js | 15 + socket/node_modules/lodash/_stackDelete.js | 18 + socket/node_modules/lodash/_stackGet.js | 14 + socket/node_modules/lodash/_stackHas.js | 14 + socket/node_modules/lodash/_stackSet.js | 34 + socket/node_modules/lodash/_strictIndexOf.js | 23 + .../node_modules/lodash/_strictLastIndexOf.js | 21 + socket/node_modules/lodash/_stringSize.js | 18 + socket/node_modules/lodash/_stringToArray.js | 18 + socket/node_modules/lodash/_stringToPath.js | 27 + socket/node_modules/lodash/_toKey.js | 21 + socket/node_modules/lodash/_toSource.js | 26 + .../node_modules/lodash/_unescapeHtmlChar.js | 21 + socket/node_modules/lodash/_unicodeSize.js | 44 + socket/node_modules/lodash/_unicodeToArray.js | 40 + socket/node_modules/lodash/_unicodeWords.js | 69 + .../node_modules/lodash/_updateWrapDetails.js | 46 + socket/node_modules/lodash/_wrapperClone.js | 23 + socket/node_modules/lodash/add.js | 22 + socket/node_modules/lodash/after.js | 42 + socket/node_modules/lodash/array.js | 67 + socket/node_modules/lodash/ary.js | 29 + socket/node_modules/lodash/assign.js | 58 + socket/node_modules/lodash/assignIn.js | 40 + socket/node_modules/lodash/assignInWith.js | 38 + socket/node_modules/lodash/assignWith.js | 37 + socket/node_modules/lodash/at.js | 23 + socket/node_modules/lodash/attempt.js | 35 + socket/node_modules/lodash/before.js | 40 + socket/node_modules/lodash/bind.js | 57 + socket/node_modules/lodash/bindAll.js | 41 + socket/node_modules/lodash/bindKey.js | 68 + socket/node_modules/lodash/camelCase.js | 29 + socket/node_modules/lodash/capitalize.js | 23 + socket/node_modules/lodash/castArray.js | 44 + socket/node_modules/lodash/ceil.js | 26 + socket/node_modules/lodash/chain.js | 38 + socket/node_modules/lodash/chunk.js | 50 + socket/node_modules/lodash/clamp.js | 39 + socket/node_modules/lodash/clone.js | 36 + socket/node_modules/lodash/cloneDeep.js | 29 + socket/node_modules/lodash/cloneDeepWith.js | 40 + socket/node_modules/lodash/cloneWith.js | 42 + socket/node_modules/lodash/collection.js | 30 + socket/node_modules/lodash/commit.js | 33 + socket/node_modules/lodash/compact.js | 31 + socket/node_modules/lodash/concat.js | 43 + socket/node_modules/lodash/cond.js | 60 + socket/node_modules/lodash/conforms.js | 35 + socket/node_modules/lodash/conformsTo.js | 32 + socket/node_modules/lodash/constant.js | 26 + socket/node_modules/lodash/core.js | 3854 ++ socket/node_modules/lodash/core.min.js | 29 + socket/node_modules/lodash/countBy.js | 40 + socket/node_modules/lodash/create.js | 43 + socket/node_modules/lodash/curry.js | 57 + socket/node_modules/lodash/curryRight.js | 54 + socket/node_modules/lodash/date.js | 3 + socket/node_modules/lodash/debounce.js | 190 + socket/node_modules/lodash/deburr.js | 45 + socket/node_modules/lodash/defaultTo.js | 25 + socket/node_modules/lodash/defaults.js | 64 + socket/node_modules/lodash/defaultsDeep.js | 30 + socket/node_modules/lodash/defer.js | 26 + socket/node_modules/lodash/delay.js | 28 + socket/node_modules/lodash/difference.js | 33 + socket/node_modules/lodash/differenceBy.js | 44 + socket/node_modules/lodash/differenceWith.js | 40 + socket/node_modules/lodash/divide.js | 22 + socket/node_modules/lodash/drop.js | 38 + socket/node_modules/lodash/dropRight.js | 39 + socket/node_modules/lodash/dropRightWhile.js | 45 + socket/node_modules/lodash/dropWhile.js | 45 + socket/node_modules/lodash/each.js | 1 + socket/node_modules/lodash/eachRight.js | 1 + socket/node_modules/lodash/endsWith.js | 43 + socket/node_modules/lodash/entries.js | 1 + socket/node_modules/lodash/entriesIn.js | 1 + socket/node_modules/lodash/eq.js | 37 + socket/node_modules/lodash/escape.js | 43 + socket/node_modules/lodash/escapeRegExp.js | 32 + socket/node_modules/lodash/every.js | 56 + socket/node_modules/lodash/extend.js | 1 + socket/node_modules/lodash/extendWith.js | 1 + socket/node_modules/lodash/fill.js | 45 + socket/node_modules/lodash/filter.js | 48 + socket/node_modules/lodash/find.js | 42 + socket/node_modules/lodash/findIndex.js | 55 + socket/node_modules/lodash/findKey.js | 44 + socket/node_modules/lodash/findLast.js | 25 + socket/node_modules/lodash/findLastIndex.js | 59 + socket/node_modules/lodash/findLastKey.js | 44 + socket/node_modules/lodash/first.js | 1 + socket/node_modules/lodash/flatMap.js | 29 + socket/node_modules/lodash/flatMapDeep.js | 31 + socket/node_modules/lodash/flatMapDepth.js | 31 + socket/node_modules/lodash/flatten.js | 22 + socket/node_modules/lodash/flattenDeep.js | 25 + socket/node_modules/lodash/flattenDepth.js | 33 + socket/node_modules/lodash/flip.js | 28 + socket/node_modules/lodash/floor.js | 26 + socket/node_modules/lodash/flow.js | 27 + socket/node_modules/lodash/flowRight.js | 26 + socket/node_modules/lodash/forEach.js | 41 + socket/node_modules/lodash/forEachRight.js | 31 + socket/node_modules/lodash/forIn.js | 39 + socket/node_modules/lodash/forInRight.js | 37 + socket/node_modules/lodash/forOwn.js | 36 + socket/node_modules/lodash/forOwnRight.js | 34 + socket/node_modules/lodash/fp.js | 2 + socket/node_modules/lodash/fp/F.js | 1 + socket/node_modules/lodash/fp/T.js | 1 + socket/node_modules/lodash/fp/__.js | 1 + socket/node_modules/lodash/fp/_baseConvert.js | 573 + .../node_modules/lodash/fp/_convertBrowser.js | 18 + .../node_modules/lodash/fp/_falseOptions.js | 7 + socket/node_modules/lodash/fp/_mapping.js | 368 + socket/node_modules/lodash/fp/_util.js | 16 + socket/node_modules/lodash/fp/add.js | 5 + socket/node_modules/lodash/fp/after.js | 5 + socket/node_modules/lodash/fp/all.js | 1 + socket/node_modules/lodash/fp/allPass.js | 1 + socket/node_modules/lodash/fp/always.js | 1 + socket/node_modules/lodash/fp/any.js | 1 + socket/node_modules/lodash/fp/anyPass.js | 1 + socket/node_modules/lodash/fp/apply.js | 1 + socket/node_modules/lodash/fp/array.js | 2 + socket/node_modules/lodash/fp/ary.js | 5 + socket/node_modules/lodash/fp/assign.js | 5 + socket/node_modules/lodash/fp/assignAll.js | 5 + .../node_modules/lodash/fp/assignAllWith.js | 5 + socket/node_modules/lodash/fp/assignIn.js | 5 + socket/node_modules/lodash/fp/assignInAll.js | 5 + .../node_modules/lodash/fp/assignInAllWith.js | 5 + socket/node_modules/lodash/fp/assignInWith.js | 5 + socket/node_modules/lodash/fp/assignWith.js | 5 + socket/node_modules/lodash/fp/assoc.js | 1 + socket/node_modules/lodash/fp/assocPath.js | 1 + socket/node_modules/lodash/fp/at.js | 5 + socket/node_modules/lodash/fp/attempt.js | 5 + socket/node_modules/lodash/fp/before.js | 5 + socket/node_modules/lodash/fp/bind.js | 5 + socket/node_modules/lodash/fp/bindAll.js | 5 + socket/node_modules/lodash/fp/bindKey.js | 5 + socket/node_modules/lodash/fp/camelCase.js | 5 + socket/node_modules/lodash/fp/capitalize.js | 5 + socket/node_modules/lodash/fp/castArray.js | 5 + socket/node_modules/lodash/fp/ceil.js | 5 + socket/node_modules/lodash/fp/chain.js | 5 + socket/node_modules/lodash/fp/chunk.js | 5 + socket/node_modules/lodash/fp/clamp.js | 5 + socket/node_modules/lodash/fp/clone.js | 5 + socket/node_modules/lodash/fp/cloneDeep.js | 5 + .../node_modules/lodash/fp/cloneDeepWith.js | 5 + socket/node_modules/lodash/fp/cloneWith.js | 5 + socket/node_modules/lodash/fp/collection.js | 2 + socket/node_modules/lodash/fp/commit.js | 5 + socket/node_modules/lodash/fp/compact.js | 5 + socket/node_modules/lodash/fp/complement.js | 1 + socket/node_modules/lodash/fp/compose.js | 1 + socket/node_modules/lodash/fp/concat.js | 5 + socket/node_modules/lodash/fp/cond.js | 5 + socket/node_modules/lodash/fp/conforms.js | 1 + socket/node_modules/lodash/fp/conformsTo.js | 5 + socket/node_modules/lodash/fp/constant.js | 5 + socket/node_modules/lodash/fp/contains.js | 1 + socket/node_modules/lodash/fp/convert.js | 18 + socket/node_modules/lodash/fp/countBy.js | 5 + socket/node_modules/lodash/fp/create.js | 5 + socket/node_modules/lodash/fp/curry.js | 5 + socket/node_modules/lodash/fp/curryN.js | 5 + socket/node_modules/lodash/fp/curryRight.js | 5 + socket/node_modules/lodash/fp/curryRightN.js | 5 + socket/node_modules/lodash/fp/date.js | 2 + socket/node_modules/lodash/fp/debounce.js | 5 + socket/node_modules/lodash/fp/deburr.js | 5 + socket/node_modules/lodash/fp/defaultTo.js | 5 + socket/node_modules/lodash/fp/defaults.js | 5 + socket/node_modules/lodash/fp/defaultsAll.js | 5 + socket/node_modules/lodash/fp/defaultsDeep.js | 5 + .../node_modules/lodash/fp/defaultsDeepAll.js | 5 + socket/node_modules/lodash/fp/defer.js | 5 + socket/node_modules/lodash/fp/delay.js | 5 + socket/node_modules/lodash/fp/difference.js | 5 + socket/node_modules/lodash/fp/differenceBy.js | 5 + .../node_modules/lodash/fp/differenceWith.js | 5 + socket/node_modules/lodash/fp/dissoc.js | 1 + socket/node_modules/lodash/fp/dissocPath.js | 1 + socket/node_modules/lodash/fp/divide.js | 5 + socket/node_modules/lodash/fp/drop.js | 5 + socket/node_modules/lodash/fp/dropLast.js | 1 + .../node_modules/lodash/fp/dropLastWhile.js | 1 + socket/node_modules/lodash/fp/dropRight.js | 5 + .../node_modules/lodash/fp/dropRightWhile.js | 5 + socket/node_modules/lodash/fp/dropWhile.js | 5 + socket/node_modules/lodash/fp/each.js | 1 + socket/node_modules/lodash/fp/eachRight.js | 1 + socket/node_modules/lodash/fp/endsWith.js | 5 + socket/node_modules/lodash/fp/entries.js | 1 + socket/node_modules/lodash/fp/entriesIn.js | 1 + socket/node_modules/lodash/fp/eq.js | 5 + socket/node_modules/lodash/fp/equals.js | 1 + socket/node_modules/lodash/fp/escape.js | 5 + socket/node_modules/lodash/fp/escapeRegExp.js | 5 + socket/node_modules/lodash/fp/every.js | 5 + socket/node_modules/lodash/fp/extend.js | 1 + socket/node_modules/lodash/fp/extendAll.js | 1 + .../node_modules/lodash/fp/extendAllWith.js | 1 + socket/node_modules/lodash/fp/extendWith.js | 1 + socket/node_modules/lodash/fp/fill.js | 5 + socket/node_modules/lodash/fp/filter.js | 5 + socket/node_modules/lodash/fp/find.js | 5 + socket/node_modules/lodash/fp/findFrom.js | 5 + socket/node_modules/lodash/fp/findIndex.js | 5 + .../node_modules/lodash/fp/findIndexFrom.js | 5 + socket/node_modules/lodash/fp/findKey.js | 5 + socket/node_modules/lodash/fp/findLast.js | 5 + socket/node_modules/lodash/fp/findLastFrom.js | 5 + .../node_modules/lodash/fp/findLastIndex.js | 5 + .../lodash/fp/findLastIndexFrom.js | 5 + socket/node_modules/lodash/fp/findLastKey.js | 5 + socket/node_modules/lodash/fp/first.js | 1 + socket/node_modules/lodash/fp/flatMap.js | 5 + socket/node_modules/lodash/fp/flatMapDeep.js | 5 + socket/node_modules/lodash/fp/flatMapDepth.js | 5 + socket/node_modules/lodash/fp/flatten.js | 5 + socket/node_modules/lodash/fp/flattenDeep.js | 5 + socket/node_modules/lodash/fp/flattenDepth.js | 5 + socket/node_modules/lodash/fp/flip.js | 5 + socket/node_modules/lodash/fp/floor.js | 5 + socket/node_modules/lodash/fp/flow.js | 5 + socket/node_modules/lodash/fp/flowRight.js | 5 + socket/node_modules/lodash/fp/forEach.js | 5 + socket/node_modules/lodash/fp/forEachRight.js | 5 + socket/node_modules/lodash/fp/forIn.js | 5 + socket/node_modules/lodash/fp/forInRight.js | 5 + socket/node_modules/lodash/fp/forOwn.js | 5 + socket/node_modules/lodash/fp/forOwnRight.js | 5 + socket/node_modules/lodash/fp/fromPairs.js | 5 + socket/node_modules/lodash/fp/function.js | 2 + socket/node_modules/lodash/fp/functions.js | 5 + socket/node_modules/lodash/fp/functionsIn.js | 5 + socket/node_modules/lodash/fp/get.js | 5 + socket/node_modules/lodash/fp/getOr.js | 5 + socket/node_modules/lodash/fp/groupBy.js | 5 + socket/node_modules/lodash/fp/gt.js | 5 + socket/node_modules/lodash/fp/gte.js | 5 + socket/node_modules/lodash/fp/has.js | 5 + socket/node_modules/lodash/fp/hasIn.js | 5 + socket/node_modules/lodash/fp/head.js | 5 + socket/node_modules/lodash/fp/identical.js | 1 + socket/node_modules/lodash/fp/identity.js | 5 + socket/node_modules/lodash/fp/inRange.js | 5 + socket/node_modules/lodash/fp/includes.js | 5 + socket/node_modules/lodash/fp/includesFrom.js | 5 + socket/node_modules/lodash/fp/indexBy.js | 1 + socket/node_modules/lodash/fp/indexOf.js | 5 + socket/node_modules/lodash/fp/indexOfFrom.js | 5 + socket/node_modules/lodash/fp/init.js | 1 + socket/node_modules/lodash/fp/initial.js | 5 + socket/node_modules/lodash/fp/intersection.js | 5 + .../node_modules/lodash/fp/intersectionBy.js | 5 + .../lodash/fp/intersectionWith.js | 5 + socket/node_modules/lodash/fp/invert.js | 5 + socket/node_modules/lodash/fp/invertBy.js | 5 + socket/node_modules/lodash/fp/invertObj.js | 1 + socket/node_modules/lodash/fp/invoke.js | 5 + socket/node_modules/lodash/fp/invokeArgs.js | 5 + .../node_modules/lodash/fp/invokeArgsMap.js | 5 + socket/node_modules/lodash/fp/invokeMap.js | 5 + socket/node_modules/lodash/fp/isArguments.js | 5 + socket/node_modules/lodash/fp/isArray.js | 5 + .../node_modules/lodash/fp/isArrayBuffer.js | 5 + socket/node_modules/lodash/fp/isArrayLike.js | 5 + .../lodash/fp/isArrayLikeObject.js | 5 + socket/node_modules/lodash/fp/isBoolean.js | 5 + socket/node_modules/lodash/fp/isBuffer.js | 5 + socket/node_modules/lodash/fp/isDate.js | 5 + socket/node_modules/lodash/fp/isElement.js | 5 + socket/node_modules/lodash/fp/isEmpty.js | 5 + socket/node_modules/lodash/fp/isEqual.js | 5 + socket/node_modules/lodash/fp/isEqualWith.js | 5 + socket/node_modules/lodash/fp/isError.js | 5 + socket/node_modules/lodash/fp/isFinite.js | 5 + socket/node_modules/lodash/fp/isFunction.js | 5 + socket/node_modules/lodash/fp/isInteger.js | 5 + socket/node_modules/lodash/fp/isLength.js | 5 + socket/node_modules/lodash/fp/isMap.js | 5 + socket/node_modules/lodash/fp/isMatch.js | 5 + socket/node_modules/lodash/fp/isMatchWith.js | 5 + socket/node_modules/lodash/fp/isNaN.js | 5 + socket/node_modules/lodash/fp/isNative.js | 5 + socket/node_modules/lodash/fp/isNil.js | 5 + socket/node_modules/lodash/fp/isNull.js | 5 + socket/node_modules/lodash/fp/isNumber.js | 5 + socket/node_modules/lodash/fp/isObject.js | 5 + socket/node_modules/lodash/fp/isObjectLike.js | 5 + .../node_modules/lodash/fp/isPlainObject.js | 5 + socket/node_modules/lodash/fp/isRegExp.js | 5 + .../node_modules/lodash/fp/isSafeInteger.js | 5 + socket/node_modules/lodash/fp/isSet.js | 5 + socket/node_modules/lodash/fp/isString.js | 5 + socket/node_modules/lodash/fp/isSymbol.js | 5 + socket/node_modules/lodash/fp/isTypedArray.js | 5 + socket/node_modules/lodash/fp/isUndefined.js | 5 + socket/node_modules/lodash/fp/isWeakMap.js | 5 + socket/node_modules/lodash/fp/isWeakSet.js | 5 + socket/node_modules/lodash/fp/iteratee.js | 5 + socket/node_modules/lodash/fp/join.js | 5 + socket/node_modules/lodash/fp/juxt.js | 1 + socket/node_modules/lodash/fp/kebabCase.js | 5 + socket/node_modules/lodash/fp/keyBy.js | 5 + socket/node_modules/lodash/fp/keys.js | 5 + socket/node_modules/lodash/fp/keysIn.js | 5 + socket/node_modules/lodash/fp/lang.js | 2 + socket/node_modules/lodash/fp/last.js | 5 + socket/node_modules/lodash/fp/lastIndexOf.js | 5 + .../node_modules/lodash/fp/lastIndexOfFrom.js | 5 + socket/node_modules/lodash/fp/lowerCase.js | 5 + socket/node_modules/lodash/fp/lowerFirst.js | 5 + socket/node_modules/lodash/fp/lt.js | 5 + socket/node_modules/lodash/fp/lte.js | 5 + socket/node_modules/lodash/fp/map.js | 5 + socket/node_modules/lodash/fp/mapKeys.js | 5 + socket/node_modules/lodash/fp/mapValues.js | 5 + socket/node_modules/lodash/fp/matches.js | 1 + .../node_modules/lodash/fp/matchesProperty.js | 5 + socket/node_modules/lodash/fp/math.js | 2 + socket/node_modules/lodash/fp/max.js | 5 + socket/node_modules/lodash/fp/maxBy.js | 5 + socket/node_modules/lodash/fp/mean.js | 5 + socket/node_modules/lodash/fp/meanBy.js | 5 + socket/node_modules/lodash/fp/memoize.js | 5 + socket/node_modules/lodash/fp/merge.js | 5 + socket/node_modules/lodash/fp/mergeAll.js | 5 + socket/node_modules/lodash/fp/mergeAllWith.js | 5 + socket/node_modules/lodash/fp/mergeWith.js | 5 + socket/node_modules/lodash/fp/method.js | 5 + socket/node_modules/lodash/fp/methodOf.js | 5 + socket/node_modules/lodash/fp/min.js | 5 + socket/node_modules/lodash/fp/minBy.js | 5 + socket/node_modules/lodash/fp/mixin.js | 5 + socket/node_modules/lodash/fp/multiply.js | 5 + socket/node_modules/lodash/fp/nAry.js | 1 + socket/node_modules/lodash/fp/negate.js | 5 + socket/node_modules/lodash/fp/next.js | 5 + socket/node_modules/lodash/fp/noop.js | 5 + socket/node_modules/lodash/fp/now.js | 5 + socket/node_modules/lodash/fp/nth.js | 5 + socket/node_modules/lodash/fp/nthArg.js | 5 + socket/node_modules/lodash/fp/number.js | 2 + socket/node_modules/lodash/fp/object.js | 2 + socket/node_modules/lodash/fp/omit.js | 5 + socket/node_modules/lodash/fp/omitAll.js | 1 + socket/node_modules/lodash/fp/omitBy.js | 5 + socket/node_modules/lodash/fp/once.js | 5 + socket/node_modules/lodash/fp/orderBy.js | 5 + socket/node_modules/lodash/fp/over.js | 5 + socket/node_modules/lodash/fp/overArgs.js | 5 + socket/node_modules/lodash/fp/overEvery.js | 5 + socket/node_modules/lodash/fp/overSome.js | 5 + socket/node_modules/lodash/fp/pad.js | 5 + socket/node_modules/lodash/fp/padChars.js | 5 + socket/node_modules/lodash/fp/padCharsEnd.js | 5 + .../node_modules/lodash/fp/padCharsStart.js | 5 + socket/node_modules/lodash/fp/padEnd.js | 5 + socket/node_modules/lodash/fp/padStart.js | 5 + socket/node_modules/lodash/fp/parseInt.js | 5 + socket/node_modules/lodash/fp/partial.js | 5 + socket/node_modules/lodash/fp/partialRight.js | 5 + socket/node_modules/lodash/fp/partition.js | 5 + socket/node_modules/lodash/fp/path.js | 1 + socket/node_modules/lodash/fp/pathEq.js | 1 + socket/node_modules/lodash/fp/pathOr.js | 1 + socket/node_modules/lodash/fp/paths.js | 1 + socket/node_modules/lodash/fp/pick.js | 5 + socket/node_modules/lodash/fp/pickAll.js | 1 + socket/node_modules/lodash/fp/pickBy.js | 5 + socket/node_modules/lodash/fp/pipe.js | 1 + socket/node_modules/lodash/fp/placeholder.js | 6 + socket/node_modules/lodash/fp/plant.js | 5 + socket/node_modules/lodash/fp/pluck.js | 1 + socket/node_modules/lodash/fp/prop.js | 1 + socket/node_modules/lodash/fp/propEq.js | 1 + socket/node_modules/lodash/fp/propOr.js | 1 + socket/node_modules/lodash/fp/property.js | 1 + socket/node_modules/lodash/fp/propertyOf.js | 5 + socket/node_modules/lodash/fp/props.js | 1 + socket/node_modules/lodash/fp/pull.js | 5 + socket/node_modules/lodash/fp/pullAll.js | 5 + socket/node_modules/lodash/fp/pullAllBy.js | 5 + socket/node_modules/lodash/fp/pullAllWith.js | 5 + socket/node_modules/lodash/fp/pullAt.js | 5 + socket/node_modules/lodash/fp/random.js | 5 + socket/node_modules/lodash/fp/range.js | 5 + socket/node_modules/lodash/fp/rangeRight.js | 5 + socket/node_modules/lodash/fp/rangeStep.js | 5 + .../node_modules/lodash/fp/rangeStepRight.js | 5 + socket/node_modules/lodash/fp/rearg.js | 5 + socket/node_modules/lodash/fp/reduce.js | 5 + socket/node_modules/lodash/fp/reduceRight.js | 5 + socket/node_modules/lodash/fp/reject.js | 5 + socket/node_modules/lodash/fp/remove.js | 5 + socket/node_modules/lodash/fp/repeat.js | 5 + socket/node_modules/lodash/fp/replace.js | 5 + socket/node_modules/lodash/fp/rest.js | 5 + socket/node_modules/lodash/fp/restFrom.js | 5 + socket/node_modules/lodash/fp/result.js | 5 + socket/node_modules/lodash/fp/reverse.js | 5 + socket/node_modules/lodash/fp/round.js | 5 + socket/node_modules/lodash/fp/sample.js | 5 + socket/node_modules/lodash/fp/sampleSize.js | 5 + socket/node_modules/lodash/fp/seq.js | 2 + socket/node_modules/lodash/fp/set.js | 5 + socket/node_modules/lodash/fp/setWith.js | 5 + socket/node_modules/lodash/fp/shuffle.js | 5 + socket/node_modules/lodash/fp/size.js | 5 + socket/node_modules/lodash/fp/slice.js | 5 + socket/node_modules/lodash/fp/snakeCase.js | 5 + socket/node_modules/lodash/fp/some.js | 5 + socket/node_modules/lodash/fp/sortBy.js | 5 + socket/node_modules/lodash/fp/sortedIndex.js | 5 + .../node_modules/lodash/fp/sortedIndexBy.js | 5 + .../node_modules/lodash/fp/sortedIndexOf.js | 5 + .../node_modules/lodash/fp/sortedLastIndex.js | 5 + .../lodash/fp/sortedLastIndexBy.js | 5 + .../lodash/fp/sortedLastIndexOf.js | 5 + socket/node_modules/lodash/fp/sortedUniq.js | 5 + socket/node_modules/lodash/fp/sortedUniqBy.js | 5 + socket/node_modules/lodash/fp/split.js | 5 + socket/node_modules/lodash/fp/spread.js | 5 + socket/node_modules/lodash/fp/spreadFrom.js | 5 + socket/node_modules/lodash/fp/startCase.js | 5 + socket/node_modules/lodash/fp/startsWith.js | 5 + socket/node_modules/lodash/fp/string.js | 2 + socket/node_modules/lodash/fp/stubArray.js | 5 + socket/node_modules/lodash/fp/stubFalse.js | 5 + socket/node_modules/lodash/fp/stubObject.js | 5 + socket/node_modules/lodash/fp/stubString.js | 5 + socket/node_modules/lodash/fp/stubTrue.js | 5 + socket/node_modules/lodash/fp/subtract.js | 5 + socket/node_modules/lodash/fp/sum.js | 5 + socket/node_modules/lodash/fp/sumBy.js | 5 + .../lodash/fp/symmetricDifference.js | 1 + .../lodash/fp/symmetricDifferenceBy.js | 1 + .../lodash/fp/symmetricDifferenceWith.js | 1 + socket/node_modules/lodash/fp/tail.js | 5 + socket/node_modules/lodash/fp/take.js | 5 + socket/node_modules/lodash/fp/takeLast.js | 1 + .../node_modules/lodash/fp/takeLastWhile.js | 1 + socket/node_modules/lodash/fp/takeRight.js | 5 + .../node_modules/lodash/fp/takeRightWhile.js | 5 + socket/node_modules/lodash/fp/takeWhile.js | 5 + socket/node_modules/lodash/fp/tap.js | 5 + socket/node_modules/lodash/fp/template.js | 5 + .../lodash/fp/templateSettings.js | 5 + socket/node_modules/lodash/fp/throttle.js | 5 + socket/node_modules/lodash/fp/thru.js | 5 + socket/node_modules/lodash/fp/times.js | 5 + socket/node_modules/lodash/fp/toArray.js | 5 + socket/node_modules/lodash/fp/toFinite.js | 5 + socket/node_modules/lodash/fp/toInteger.js | 5 + socket/node_modules/lodash/fp/toIterator.js | 5 + socket/node_modules/lodash/fp/toJSON.js | 5 + socket/node_modules/lodash/fp/toLength.js | 5 + socket/node_modules/lodash/fp/toLower.js | 5 + socket/node_modules/lodash/fp/toNumber.js | 5 + socket/node_modules/lodash/fp/toPairs.js | 5 + socket/node_modules/lodash/fp/toPairsIn.js | 5 + socket/node_modules/lodash/fp/toPath.js | 5 + .../node_modules/lodash/fp/toPlainObject.js | 5 + .../node_modules/lodash/fp/toSafeInteger.js | 5 + socket/node_modules/lodash/fp/toString.js | 5 + socket/node_modules/lodash/fp/toUpper.js | 5 + socket/node_modules/lodash/fp/transform.js | 5 + socket/node_modules/lodash/fp/trim.js | 5 + socket/node_modules/lodash/fp/trimChars.js | 5 + socket/node_modules/lodash/fp/trimCharsEnd.js | 5 + .../node_modules/lodash/fp/trimCharsStart.js | 5 + socket/node_modules/lodash/fp/trimEnd.js | 5 + socket/node_modules/lodash/fp/trimStart.js | 5 + socket/node_modules/lodash/fp/truncate.js | 5 + socket/node_modules/lodash/fp/unapply.js | 1 + socket/node_modules/lodash/fp/unary.js | 5 + socket/node_modules/lodash/fp/unescape.js | 5 + socket/node_modules/lodash/fp/union.js | 5 + socket/node_modules/lodash/fp/unionBy.js | 5 + socket/node_modules/lodash/fp/unionWith.js | 5 + socket/node_modules/lodash/fp/uniq.js | 5 + socket/node_modules/lodash/fp/uniqBy.js | 5 + socket/node_modules/lodash/fp/uniqWith.js | 5 + socket/node_modules/lodash/fp/uniqueId.js | 5 + socket/node_modules/lodash/fp/unnest.js | 1 + socket/node_modules/lodash/fp/unset.js | 5 + socket/node_modules/lodash/fp/unzip.js | 5 + socket/node_modules/lodash/fp/unzipWith.js | 5 + socket/node_modules/lodash/fp/update.js | 5 + socket/node_modules/lodash/fp/updateWith.js | 5 + socket/node_modules/lodash/fp/upperCase.js | 5 + socket/node_modules/lodash/fp/upperFirst.js | 5 + socket/node_modules/lodash/fp/useWith.js | 1 + socket/node_modules/lodash/fp/util.js | 2 + socket/node_modules/lodash/fp/value.js | 5 + socket/node_modules/lodash/fp/valueOf.js | 5 + socket/node_modules/lodash/fp/values.js | 5 + socket/node_modules/lodash/fp/valuesIn.js | 5 + socket/node_modules/lodash/fp/where.js | 1 + socket/node_modules/lodash/fp/whereEq.js | 1 + socket/node_modules/lodash/fp/without.js | 5 + socket/node_modules/lodash/fp/words.js | 5 + socket/node_modules/lodash/fp/wrap.js | 5 + socket/node_modules/lodash/fp/wrapperAt.js | 5 + socket/node_modules/lodash/fp/wrapperChain.js | 5 + .../node_modules/lodash/fp/wrapperLodash.js | 5 + .../node_modules/lodash/fp/wrapperReverse.js | 5 + socket/node_modules/lodash/fp/wrapperValue.js | 5 + socket/node_modules/lodash/fp/xor.js | 5 + socket/node_modules/lodash/fp/xorBy.js | 5 + socket/node_modules/lodash/fp/xorWith.js | 5 + socket/node_modules/lodash/fp/zip.js | 5 + socket/node_modules/lodash/fp/zipAll.js | 5 + socket/node_modules/lodash/fp/zipObj.js | 1 + socket/node_modules/lodash/fp/zipObject.js | 5 + .../node_modules/lodash/fp/zipObjectDeep.js | 5 + socket/node_modules/lodash/fp/zipWith.js | 5 + socket/node_modules/lodash/fromPairs.js | 28 + socket/node_modules/lodash/function.js | 25 + socket/node_modules/lodash/functions.js | 31 + socket/node_modules/lodash/functionsIn.js | 31 + socket/node_modules/lodash/get.js | 33 + socket/node_modules/lodash/groupBy.js | 41 + socket/node_modules/lodash/gt.js | 29 + socket/node_modules/lodash/gte.js | 30 + socket/node_modules/lodash/has.js | 35 + socket/node_modules/lodash/hasIn.js | 34 + socket/node_modules/lodash/head.js | 23 + socket/node_modules/lodash/identity.js | 21 + socket/node_modules/lodash/inRange.js | 55 + socket/node_modules/lodash/includes.js | 53 + socket/node_modules/lodash/index.js | 1 + socket/node_modules/lodash/indexOf.js | 42 + socket/node_modules/lodash/initial.js | 22 + socket/node_modules/lodash/intersection.js | 30 + socket/node_modules/lodash/intersectionBy.js | 45 + .../node_modules/lodash/intersectionWith.js | 41 + socket/node_modules/lodash/invert.js | 42 + socket/node_modules/lodash/invertBy.js | 56 + socket/node_modules/lodash/invoke.js | 24 + socket/node_modules/lodash/invokeMap.js | 41 + socket/node_modules/lodash/isArguments.js | 36 + socket/node_modules/lodash/isArray.js | 26 + socket/node_modules/lodash/isArrayBuffer.js | 27 + socket/node_modules/lodash/isArrayLike.js | 33 + .../node_modules/lodash/isArrayLikeObject.js | 33 + socket/node_modules/lodash/isBoolean.js | 29 + socket/node_modules/lodash/isBuffer.js | 38 + socket/node_modules/lodash/isDate.js | 27 + socket/node_modules/lodash/isElement.js | 25 + socket/node_modules/lodash/isEmpty.js | 77 + socket/node_modules/lodash/isEqual.js | 35 + socket/node_modules/lodash/isEqualWith.js | 41 + socket/node_modules/lodash/isError.js | 36 + socket/node_modules/lodash/isFinite.js | 36 + socket/node_modules/lodash/isFunction.js | 37 + socket/node_modules/lodash/isInteger.js | 33 + socket/node_modules/lodash/isLength.js | 35 + socket/node_modules/lodash/isMap.js | 27 + socket/node_modules/lodash/isMatch.js | 36 + socket/node_modules/lodash/isMatchWith.js | 41 + socket/node_modules/lodash/isNaN.js | 38 + socket/node_modules/lodash/isNative.js | 40 + socket/node_modules/lodash/isNil.js | 25 + socket/node_modules/lodash/isNull.js | 22 + socket/node_modules/lodash/isNumber.js | 38 + socket/node_modules/lodash/isObject.js | 31 + socket/node_modules/lodash/isObjectLike.js | 29 + socket/node_modules/lodash/isPlainObject.js | 62 + socket/node_modules/lodash/isRegExp.js | 27 + socket/node_modules/lodash/isSafeInteger.js | 37 + socket/node_modules/lodash/isSet.js | 27 + socket/node_modules/lodash/isString.js | 30 + socket/node_modules/lodash/isSymbol.js | 29 + socket/node_modules/lodash/isTypedArray.js | 27 + socket/node_modules/lodash/isUndefined.js | 22 + socket/node_modules/lodash/isWeakMap.js | 28 + socket/node_modules/lodash/isWeakSet.js | 28 + socket/node_modules/lodash/iteratee.js | 53 + socket/node_modules/lodash/join.js | 26 + socket/node_modules/lodash/kebabCase.js | 28 + socket/node_modules/lodash/keyBy.js | 36 + socket/node_modules/lodash/keys.js | 37 + socket/node_modules/lodash/keysIn.js | 32 + socket/node_modules/lodash/lang.js | 58 + socket/node_modules/lodash/last.js | 20 + socket/node_modules/lodash/lastIndexOf.js | 46 + socket/node_modules/lodash/lodash.js | 17097 ++++++ socket/node_modules/lodash/lodash.min.js | 137 + socket/node_modules/lodash/lowerCase.js | 27 + socket/node_modules/lodash/lowerFirst.js | 22 + socket/node_modules/lodash/lt.js | 29 + socket/node_modules/lodash/lte.js | 30 + socket/node_modules/lodash/map.js | 53 + socket/node_modules/lodash/mapKeys.js | 36 + socket/node_modules/lodash/mapValues.js | 43 + socket/node_modules/lodash/matches.js | 39 + socket/node_modules/lodash/matchesProperty.js | 37 + socket/node_modules/lodash/math.js | 17 + socket/node_modules/lodash/max.js | 29 + socket/node_modules/lodash/maxBy.js | 34 + socket/node_modules/lodash/mean.js | 22 + socket/node_modules/lodash/meanBy.js | 31 + socket/node_modules/lodash/memoize.js | 73 + socket/node_modules/lodash/merge.js | 39 + socket/node_modules/lodash/mergeWith.js | 39 + socket/node_modules/lodash/method.js | 34 + socket/node_modules/lodash/methodOf.js | 33 + socket/node_modules/lodash/min.js | 29 + socket/node_modules/lodash/minBy.js | 34 + socket/node_modules/lodash/mixin.js | 74 + socket/node_modules/lodash/multiply.js | 22 + socket/node_modules/lodash/negate.js | 40 + socket/node_modules/lodash/next.js | 35 + socket/node_modules/lodash/noop.js | 17 + socket/node_modules/lodash/now.js | 23 + socket/node_modules/lodash/nth.js | 29 + socket/node_modules/lodash/nthArg.js | 32 + socket/node_modules/lodash/number.js | 5 + socket/node_modules/lodash/object.js | 49 + socket/node_modules/lodash/omit.js | 57 + socket/node_modules/lodash/omitBy.js | 29 + socket/node_modules/lodash/once.js | 25 + socket/node_modules/lodash/orderBy.js | 47 + socket/node_modules/lodash/over.js | 24 + socket/node_modules/lodash/overArgs.js | 61 + socket/node_modules/lodash/overEvery.js | 30 + socket/node_modules/lodash/overSome.js | 30 + socket/node_modules/lodash/package.json | 69 + socket/node_modules/lodash/pad.js | 49 + socket/node_modules/lodash/padEnd.js | 39 + socket/node_modules/lodash/padStart.js | 39 + socket/node_modules/lodash/parseInt.js | 43 + socket/node_modules/lodash/partial.js | 50 + socket/node_modules/lodash/partialRight.js | 49 + socket/node_modules/lodash/partition.js | 43 + socket/node_modules/lodash/pick.js | 25 + socket/node_modules/lodash/pickBy.js | 37 + socket/node_modules/lodash/plant.js | 48 + socket/node_modules/lodash/property.js | 32 + socket/node_modules/lodash/propertyOf.js | 30 + socket/node_modules/lodash/pull.js | 29 + socket/node_modules/lodash/pullAll.js | 29 + socket/node_modules/lodash/pullAllBy.js | 33 + socket/node_modules/lodash/pullAllWith.js | 32 + socket/node_modules/lodash/pullAt.js | 43 + socket/node_modules/lodash/random.js | 82 + socket/node_modules/lodash/range.js | 46 + socket/node_modules/lodash/rangeRight.js | 41 + socket/node_modules/lodash/rearg.js | 33 + socket/node_modules/lodash/reduce.js | 51 + socket/node_modules/lodash/reduceRight.js | 36 + socket/node_modules/lodash/reject.js | 46 + socket/node_modules/lodash/remove.js | 53 + socket/node_modules/lodash/repeat.js | 37 + socket/node_modules/lodash/replace.js | 29 + socket/node_modules/lodash/rest.js | 40 + socket/node_modules/lodash/result.js | 56 + socket/node_modules/lodash/reverse.js | 34 + socket/node_modules/lodash/round.js | 26 + socket/node_modules/lodash/sample.js | 24 + socket/node_modules/lodash/sampleSize.js | 37 + socket/node_modules/lodash/seq.js | 16 + socket/node_modules/lodash/set.js | 35 + socket/node_modules/lodash/setWith.js | 32 + socket/node_modules/lodash/shuffle.js | 25 + socket/node_modules/lodash/size.js | 46 + socket/node_modules/lodash/slice.js | 37 + socket/node_modules/lodash/snakeCase.js | 28 + socket/node_modules/lodash/some.js | 51 + socket/node_modules/lodash/sortBy.js | 48 + socket/node_modules/lodash/sortedIndex.js | 24 + socket/node_modules/lodash/sortedIndexBy.js | 33 + socket/node_modules/lodash/sortedIndexOf.js | 31 + socket/node_modules/lodash/sortedLastIndex.js | 25 + .../node_modules/lodash/sortedLastIndexBy.js | 33 + .../node_modules/lodash/sortedLastIndexOf.js | 31 + socket/node_modules/lodash/sortedUniq.js | 24 + socket/node_modules/lodash/sortedUniqBy.js | 26 + socket/node_modules/lodash/split.js | 52 + socket/node_modules/lodash/spread.js | 63 + socket/node_modules/lodash/startCase.js | 29 + socket/node_modules/lodash/startsWith.js | 39 + socket/node_modules/lodash/string.js | 33 + socket/node_modules/lodash/stubArray.js | 23 + socket/node_modules/lodash/stubFalse.js | 18 + socket/node_modules/lodash/stubObject.js | 23 + socket/node_modules/lodash/stubString.js | 18 + socket/node_modules/lodash/stubTrue.js | 18 + socket/node_modules/lodash/subtract.js | 22 + socket/node_modules/lodash/sum.js | 24 + socket/node_modules/lodash/sumBy.js | 33 + socket/node_modules/lodash/tail.js | 22 + socket/node_modules/lodash/take.js | 37 + socket/node_modules/lodash/takeRight.js | 39 + socket/node_modules/lodash/takeRightWhile.js | 45 + socket/node_modules/lodash/takeWhile.js | 45 + socket/node_modules/lodash/tap.js | 29 + socket/node_modules/lodash/template.js | 238 + .../node_modules/lodash/templateSettings.js | 67 + socket/node_modules/lodash/throttle.js | 69 + socket/node_modules/lodash/thru.js | 28 + socket/node_modules/lodash/times.js | 51 + socket/node_modules/lodash/toArray.js | 58 + socket/node_modules/lodash/toFinite.js | 42 + socket/node_modules/lodash/toInteger.js | 36 + socket/node_modules/lodash/toIterator.js | 23 + socket/node_modules/lodash/toJSON.js | 1 + socket/node_modules/lodash/toLength.js | 38 + socket/node_modules/lodash/toLower.js | 28 + socket/node_modules/lodash/toNumber.js | 66 + socket/node_modules/lodash/toPairs.js | 30 + socket/node_modules/lodash/toPairsIn.js | 30 + socket/node_modules/lodash/toPath.js | 33 + socket/node_modules/lodash/toPlainObject.js | 32 + socket/node_modules/lodash/toSafeInteger.js | 37 + socket/node_modules/lodash/toString.js | 28 + socket/node_modules/lodash/toUpper.js | 28 + socket/node_modules/lodash/transform.js | 65 + socket/node_modules/lodash/trim.js | 49 + socket/node_modules/lodash/trimEnd.js | 43 + socket/node_modules/lodash/trimStart.js | 43 + socket/node_modules/lodash/truncate.js | 111 + socket/node_modules/lodash/unary.js | 22 + socket/node_modules/lodash/unescape.js | 34 + socket/node_modules/lodash/union.js | 26 + socket/node_modules/lodash/unionBy.js | 39 + socket/node_modules/lodash/unionWith.js | 34 + socket/node_modules/lodash/uniq.js | 25 + socket/node_modules/lodash/uniqBy.js | 31 + socket/node_modules/lodash/uniqWith.js | 28 + socket/node_modules/lodash/uniqueId.js | 28 + socket/node_modules/lodash/unset.js | 34 + socket/node_modules/lodash/unzip.js | 45 + socket/node_modules/lodash/unzipWith.js | 39 + socket/node_modules/lodash/update.js | 35 + socket/node_modules/lodash/updateWith.js | 33 + socket/node_modules/lodash/upperCase.js | 27 + socket/node_modules/lodash/upperFirst.js | 22 + socket/node_modules/lodash/util.js | 34 + socket/node_modules/lodash/value.js | 1 + socket/node_modules/lodash/valueOf.js | 1 + socket/node_modules/lodash/values.js | 34 + socket/node_modules/lodash/valuesIn.js | 32 + socket/node_modules/lodash/without.js | 31 + socket/node_modules/lodash/words.js | 35 + socket/node_modules/lodash/wrap.js | 30 + socket/node_modules/lodash/wrapperAt.js | 48 + socket/node_modules/lodash/wrapperChain.js | 34 + socket/node_modules/lodash/wrapperLodash.js | 147 + socket/node_modules/lodash/wrapperReverse.js | 44 + socket/node_modules/lodash/wrapperValue.js | 21 + socket/node_modules/lodash/xor.js | 28 + socket/node_modules/lodash/xorBy.js | 39 + socket/node_modules/lodash/xorWith.js | 34 + socket/node_modules/lodash/zip.js | 22 + socket/node_modules/lodash/zipObject.js | 24 + socket/node_modules/lodash/zipObjectDeep.js | 23 + socket/node_modules/lodash/zipWith.js | 32 + socket/node_modules/loose-envify/.npmignore | 3 + socket/node_modules/loose-envify/LICENSE | 21 + socket/node_modules/loose-envify/README.md | 45 + socket/node_modules/loose-envify/cli.js | 16 + socket/node_modules/loose-envify/custom.js | 4 + socket/node_modules/loose-envify/index.js | 3 + .../node_modules/loose-envify/loose-envify.js | 36 + socket/node_modules/loose-envify/package.json | 69 + socket/node_modules/loose-envify/replace.js | 65 + socket/node_modules/media-typer/HISTORY.md | 22 + socket/node_modules/media-typer/LICENSE | 22 + socket/node_modules/media-typer/README.md | 81 + socket/node_modules/media-typer/index.js | 270 + socket/node_modules/media-typer/package.json | 62 + .../node_modules/merge-descriptors/.npmignore | 59 + .../node_modules/merge-descriptors/README.md | 49 + .../merge-descriptors/component.json | 10 + .../node_modules/merge-descriptors/index.js | 8 + .../merge-descriptors/package.json | 47 + socket/node_modules/methods/.npmignore | 1 + socket/node_modules/methods/History.md | 20 + socket/node_modules/methods/LICENSE | 23 + socket/node_modules/methods/Readme.md | 4 + socket/node_modules/methods/index.js | 41 + socket/node_modules/methods/package.json | 53 + socket/node_modules/methods/test/methods.js | 33 + socket/node_modules/mime-db/HISTORY.md | 212 + socket/node_modules/mime-db/LICENSE | 22 + socket/node_modules/mime-db/README.md | 76 + socket/node_modules/mime-db/db.json | 6359 +++ socket/node_modules/mime-db/index.js | 11 + socket/node_modules/mime-db/package.json | 93 + socket/node_modules/mime-types/HISTORY.md | 115 + socket/node_modules/mime-types/LICENSE | 22 + socket/node_modules/mime-types/README.md | 102 + socket/node_modules/mime-types/index.js | 63 + socket/node_modules/mime-types/package.json | 80 + socket/node_modules/mime/LICENSE | 19 + socket/node_modules/mime/README.md | 66 + socket/node_modules/mime/mime.js | 114 + socket/node_modules/mime/package.json | 58 + socket/node_modules/mime/test.js | 84 + socket/node_modules/mime/types/mime.types | 1588 + socket/node_modules/mime/types/node.types | 77 + socket/node_modules/mobx/CHANGELOG.md | 1059 + socket/node_modules/mobx/LICENSE | 21 + socket/node_modules/mobx/README.md | 395 + socket/node_modules/mobx/bower.json | 36 + socket/node_modules/mobx/lib/api/action.d.ts | 33 + socket/node_modules/mobx/lib/api/autorun.d.ts | 59 + .../node_modules/mobx/lib/api/computed.d.ts | 22 + .../mobx/lib/api/createtransformer.d.ts | 2 + socket/node_modules/mobx/lib/api/expr.d.ts | 15 + .../mobx/lib/api/extendobservable.d.ts | 4 + socket/node_modules/mobx/lib/api/extras.d.ts | 10 + .../mobx/lib/api/intercept-read.d.ts | 10 + .../node_modules/mobx/lib/api/intercept.d.ts | 12 + .../node_modules/mobx/lib/api/iscomputed.d.ts | 1 + .../mobx/lib/api/isobservable.d.ts | 6 + .../node_modules/mobx/lib/api/observable.d.ts | 61 + .../mobx/lib/api/observabledecorator.d.ts | 2 + socket/node_modules/mobx/lib/api/observe.d.ts | 12 + socket/node_modules/mobx/lib/api/tojs.d.ts | 6 + .../mobx/lib/api/transaction.d.ts | 8 + socket/node_modules/mobx/lib/api/whyrun.d.ts | 4 + socket/node_modules/mobx/lib/core/action.d.ts | 11 + socket/node_modules/mobx/lib/core/atom.d.ts | 49 + .../mobx/lib/core/computedvalue.d.ts | 82 + .../mobx/lib/core/derivation.d.ts | 68 + .../mobx/lib/core/globalstate.d.ts | 80 + .../mobx/lib/core/observable.d.ts | 42 + .../node_modules/mobx/lib/core/reaction.d.ts | 65 + socket/node_modules/mobx/lib/core/spy.d.ts | 6 + socket/node_modules/mobx/lib/mobx.d.ts | 217 + socket/node_modules/mobx/lib/mobx.js | 3759 ++ socket/node_modules/mobx/lib/mobx.js.flow | 523 + socket/node_modules/mobx/lib/mobx.min.js | 4 + socket/node_modules/mobx/lib/mobx.min.js.map | 1 + socket/node_modules/mobx/lib/mobx.module.js | 3714 ++ socket/node_modules/mobx/lib/mobx.umd.js | 3765 ++ socket/node_modules/mobx/lib/mobx.umd.min.js | 4 + .../node_modules/mobx/lib/mobx.umd.min.js.map | 1 + .../node_modules/mobx/lib/types/comparer.d.ts | 8 + .../mobx/lib/types/intercept-utils.d.ts | 9 + .../mobx/lib/types/listen-utils.d.ts | 8 + .../mobx/lib/types/modifiers-old.d.ts | 8 + .../mobx/lib/types/modifiers.d.ts | 15 + .../mobx/lib/types/observablearray.d.ts | 80 + .../mobx/lib/types/observablemap.d.ts | 97 + .../mobx/lib/types/observableobject.d.ts | 52 + .../mobx/lib/types/observablevalue.d.ts | 41 + .../mobx/lib/types/type-utils.d.ts | 4 + .../mobx/lib/utils/decorators.d.ts | 25 + .../node_modules/mobx/lib/utils/iterable.d.ts | 9 + .../node_modules/mobx/lib/utils/messages.d.ts | 1 + socket/node_modules/mobx/lib/utils/utils.d.ts | 48 + socket/node_modules/mobx/package.json | 145 + socket/node_modules/moment/CHANGELOG.md | 496 + socket/node_modules/moment/LICENSE | 22 + socket/node_modules/moment/README.md | 58 + socket/node_modules/moment/ender.js | 1 + socket/node_modules/moment/locale/af.js | 73 + socket/node_modules/moment/locale/ar-ma.js | 59 + socket/node_modules/moment/locale/ar-sa.js | 103 + socket/node_modules/moment/locale/ar-tn.js | 57 + socket/node_modules/moment/locale/ar.js | 136 + socket/node_modules/moment/locale/az.js | 104 + socket/node_modules/moment/locale/be.js | 134 + socket/node_modules/moment/locale/bg.js | 90 + socket/node_modules/moment/locale/bn.js | 113 + socket/node_modules/moment/locale/bo.js | 110 + socket/node_modules/moment/locale/br.js | 107 + socket/node_modules/moment/locale/bs.js | 141 + socket/node_modules/moment/locale/ca.js | 79 + socket/node_modules/moment/locale/cs.js | 171 + socket/node_modules/moment/locale/cv.js | 63 + socket/node_modules/moment/locale/cy.js | 79 + socket/node_modules/moment/locale/da.js | 60 + socket/node_modules/moment/locale/de-at.js | 77 + socket/node_modules/moment/locale/de.js | 76 + socket/node_modules/moment/locale/dv.js | 99 + socket/node_modules/moment/locale/el.js | 98 + socket/node_modules/moment/locale/en-au.js | 66 + socket/node_modules/moment/locale/en-ca.js | 63 + socket/node_modules/moment/locale/en-gb.js | 67 + socket/node_modules/moment/locale/en-ie.js | 67 + socket/node_modules/moment/locale/en-nz.js | 66 + socket/node_modules/moment/locale/eo.js | 73 + socket/node_modules/moment/locale/es.js | 79 + socket/node_modules/moment/locale/et.js | 80 + socket/node_modules/moment/locale/eu.js | 64 + socket/node_modules/moment/locale/fa.js | 105 + socket/node_modules/moment/locale/fi.js | 107 + socket/node_modules/moment/locale/fo.js | 60 + socket/node_modules/moment/locale/fr-ca.js | 58 + socket/node_modules/moment/locale/fr-ch.js | 62 + socket/node_modules/moment/locale/fr.js | 62 + socket/node_modules/moment/locale/fy.js | 71 + socket/node_modules/moment/locale/gd.js | 76 + socket/node_modules/moment/locale/gl.js | 75 + socket/node_modules/moment/locale/he.js | 82 + socket/node_modules/moment/locale/hi.js | 123 + socket/node_modules/moment/locale/hr.js | 143 + socket/node_modules/moment/locale/hu.js | 109 + socket/node_modules/moment/locale/hy-am.js | 95 + socket/node_modules/moment/locale/id.js | 83 + socket/node_modules/moment/locale/is.js | 127 + socket/node_modules/moment/locale/it.js | 70 + socket/node_modules/moment/locale/ja.js | 65 + socket/node_modules/moment/locale/jv.js | 83 + socket/node_modules/moment/locale/ka.js | 89 + socket/node_modules/moment/locale/kk.js | 87 + socket/node_modules/moment/locale/km.js | 58 + socket/node_modules/moment/locale/ko.js | 68 + socket/node_modules/moment/locale/lb.js | 134 + socket/node_modules/moment/locale/lo.js | 69 + socket/node_modules/moment/locale/lt.js | 115 + socket/node_modules/moment/locale/lv.js | 96 + socket/node_modules/moment/locale/me.js | 109 + socket/node_modules/moment/locale/mk.js | 90 + socket/node_modules/moment/locale/ml.js | 71 + socket/node_modules/moment/locale/mr.js | 158 + socket/node_modules/moment/locale/ms-my.js | 82 + socket/node_modules/moment/locale/ms.js | 82 + socket/node_modules/moment/locale/my.js | 93 + socket/node_modules/moment/locale/nb.js | 61 + socket/node_modules/moment/locale/ne.js | 121 + socket/node_modules/moment/locale/nl.js | 71 + socket/node_modules/moment/locale/nn.js | 60 + socket/node_modules/moment/locale/pl.js | 105 + socket/node_modules/moment/locale/pt-br.js | 60 + socket/node_modules/moment/locale/pt.js | 64 + socket/node_modules/moment/locale/ro.js | 74 + socket/node_modules/moment/locale/ru.js | 166 + socket/node_modules/moment/locale/se.js | 61 + socket/node_modules/moment/locale/si.js | 66 + socket/node_modules/moment/locale/sk.js | 150 + socket/node_modules/moment/locale/sl.js | 160 + socket/node_modules/moment/locale/sq.js | 69 + socket/node_modules/moment/locale/sr-cyrl.js | 108 + socket/node_modules/moment/locale/sr.js | 108 + socket/node_modules/moment/locale/sv.js | 67 + socket/node_modules/moment/locale/sw.js | 58 + socket/node_modules/moment/locale/ta.js | 129 + socket/node_modules/moment/locale/te.js | 88 + socket/node_modules/moment/locale/th.js | 65 + socket/node_modules/moment/locale/tl-ph.js | 62 + socket/node_modules/moment/locale/tlh.js | 119 + socket/node_modules/moment/locale/tr.js | 90 + socket/node_modules/moment/locale/tzl.js | 87 + socket/node_modules/moment/locale/tzm-latn.js | 58 + socket/node_modules/moment/locale/tzm.js | 58 + socket/node_modules/moment/locale/uk.js | 146 + socket/node_modules/moment/locale/uz.js | 58 + socket/node_modules/moment/locale/vi.js | 66 + socket/node_modules/moment/locale/zh-cn.js | 127 + socket/node_modules/moment/locale/zh-tw.js | 101 + socket/node_modules/moment/min/locales.js | 7548 +++ socket/node_modules/moment/min/locales.min.js | 72 + .../moment/min/moment-with-locales.js | 11144 ++++ .../moment/min/moment-with-locales.min.js | 74 + socket/node_modules/moment/min/moment.min.js | 7 + socket/node_modules/moment/min/tests.js | 46196 ++++++++++++++++ socket/node_modules/moment/moment.js | 3606 ++ socket/node_modules/moment/package.js | 11 + socket/node_modules/moment/package.json | 142 + socket/node_modules/ms/index.js | 162 + socket/node_modules/ms/license.md | 21 + socket/node_modules/ms/package.json | 67 + socket/node_modules/ms/readme.md | 60 + socket/node_modules/negotiator/LICENSE | 23 + socket/node_modules/negotiator/README.md | 161 + socket/node_modules/negotiator/lib/charset.js | 87 + .../node_modules/negotiator/lib/encoding.js | 117 + .../node_modules/negotiator/lib/language.js | 100 + .../node_modules/negotiator/lib/mediaType.js | 122 + .../node_modules/negotiator/lib/negotiator.js | 37 + socket/node_modules/negotiator/package.json | 74 + socket/node_modules/node-fetch/.npmignore | 41 + socket/node_modules/node-fetch/.travis.yml | 12 + socket/node_modules/node-fetch/CHANGELOG.md | 162 + .../node_modules/node-fetch/ERROR-HANDLING.md | 21 + socket/node_modules/node-fetch/LICENSE.md | 22 + socket/node_modules/node-fetch/LIMITS.md | 27 + socket/node_modules/node-fetch/README.md | 210 + socket/node_modules/node-fetch/index.js | 271 + socket/node_modules/node-fetch/lib/body.js | 261 + .../node-fetch/lib/fetch-error.js | 33 + socket/node_modules/node-fetch/lib/headers.js | 141 + socket/node_modules/node-fetch/lib/index.js | 1416 + socket/node_modules/node-fetch/lib/request.js | 75 + .../node_modules/node-fetch/lib/response.js | 50 + socket/node_modules/node-fetch/package.json | 69 + socket/node_modules/node-fetch/test/dummy.txt | 1 + socket/node_modules/node-fetch/test/server.js | 340 + socket/node_modules/node-fetch/test/test.js | 1489 + socket/node_modules/object-assign/index.js | 90 + socket/node_modules/object-assign/license | 21 + .../node_modules/object-assign/package.json | 74 + socket/node_modules/object-assign/readme.md | 61 + .../node_modules/object-component/.npmignore | 3 + .../node_modules/object-component/History.md | 10 + socket/node_modules/object-component/Makefile | 16 + .../node_modules/object-component/Readme.md | 31 + .../object-component/component.json | 10 + socket/node_modules/object-component/index.js | 84 + .../object-component/package.json | 39 + .../object-component/test/object.js | 48 + socket/node_modules/on-finished/HISTORY.md | 71 + socket/node_modules/on-finished/LICENSE | 23 + socket/node_modules/on-finished/README.md | 102 + socket/node_modules/on-finished/index.js | 191 + socket/node_modules/on-finished/package.json | 70 + socket/node_modules/parseqs/.npmignore | 3 + socket/node_modules/parseqs/LICENSE | 21 + socket/node_modules/parseqs/Makefile | 3 + socket/node_modules/parseqs/README.md | 1 + socket/node_modules/parseqs/index.js | 37 + socket/node_modules/parseqs/package.json | 53 + socket/node_modules/parseqs/test.js | 27 + socket/node_modules/parseuri/.npmignore | 2 + socket/node_modules/parseuri/History.md | 5 + socket/node_modules/parseuri/LICENSE | 21 + socket/node_modules/parseuri/Makefile | 3 + socket/node_modules/parseuri/README.md | 2 + socket/node_modules/parseuri/index.js | 39 + socket/node_modules/parseuri/package.json | 51 + socket/node_modules/parseuri/test.js | 51 + socket/node_modules/parseurl/HISTORY.md | 53 + socket/node_modules/parseurl/LICENSE | 24 + socket/node_modules/parseurl/README.md | 124 + socket/node_modules/parseurl/index.js | 154 + socket/node_modules/parseurl/package.json | 80 + socket/node_modules/path-to-regexp/.npmignore | 2 + socket/node_modules/path-to-regexp/History.md | 16 + socket/node_modules/path-to-regexp/Readme.md | 33 + .../path-to-regexp/component.json | 15 + socket/node_modules/path-to-regexp/index.js | 70 + .../node_modules/path-to-regexp/package.json | 54 + socket/node_modules/path-to-regexp/test.js | 616 + socket/node_modules/pillarjs/README.md | 65 + .../pillarjs/_book/1_LIFECYCLE_METHODS.html | 363 + .../pillarjs/_book/2_STRING_RENDER.html | 336 + .../pillarjs/_book/3_TEMPLATE_RENDER.html | 348 + .../pillarjs/_book/4_HANDLING_INPUT.html | 348 + .../node_modules/pillarjs/_book/5_FLAGS.html | 333 + .../pillarjs/_book/6_SHADOW_DOM.html | 336 + .../pillarjs/_book/7_DEVTOOLS.html | 335 + .../gitbook/fonts/fontawesome/FontAwesome.otf | Bin 0 -> 124988 bytes .../fonts/fontawesome/fontawesome-webfont.eot | Bin 0 -> 76518 bytes .../fonts/fontawesome/fontawesome-webfont.svg | 685 + .../fonts/fontawesome/fontawesome-webfont.ttf | Bin 0 -> 152796 bytes .../fontawesome/fontawesome-webfont.woff | Bin 0 -> 90412 bytes .../fontawesome/fontawesome-webfont.woff2 | Bin 0 -> 71896 bytes .../fontsettings.js | 240 + .../gitbook-plugin-fontsettings/website.css | 291 + .../gitbook-plugin-highlight/ebook.css | 135 + .../gitbook-plugin-highlight/website.css | 434 + .../gitbook/gitbook-plugin-lunr/lunr.min.js | 7 + .../gitbook-plugin-lunr/search-lunr.js | 59 + .../gitbook/gitbook-plugin-search/lunr.min.js | 7 + .../gitbook-plugin-search/search-engine.js | 50 + .../gitbook/gitbook-plugin-search/search.css | 35 + .../gitbook/gitbook-plugin-search/search.js | 213 + .../gitbook/gitbook-plugin-sharing/buttons.js | 90 + .../pillarjs/_book/gitbook/gitbook.js | 4 + .../apple-touch-icon-precomposed-152.png | Bin 0 -> 4817 bytes .../pillarjs/_book/gitbook/images/favicon.ico | Bin 0 -> 4286 bytes .../pillarjs/_book/gitbook/style.css | 9 + .../pillarjs/_book/gitbook/theme.js | 4 + .../pillarjs/_book/img/devtools.png | Bin 0 -> 237459 bytes socket/node_modules/pillarjs/_book/index.html | 574 + .../pillarjs/_book/search_index.json | 1 + socket/node_modules/pillarjs/book.json | 3 + socket/node_modules/pillarjs/dist/index.js | 1983 + .../pillarjs/docs/1_LIFECYCLE_METHODS.md | 18 + .../pillarjs/docs/2_STRING_RENDER.md | 23 + .../pillarjs/docs/3_TEMPLATE_RENDER.md | 43 + .../pillarjs/docs/4_HANDLING_INPUT.md | 36 + socket/node_modules/pillarjs/docs/5_FLAGS.md | 22 + .../pillarjs/docs/6_SHADOW_DOM.md | 20 + .../node_modules/pillarjs/docs/7_DEVTOOLS.md | 28 + socket/node_modules/pillarjs/docs/README.md | 330 + socket/node_modules/pillarjs/docs/SUMMARY.md | 10 + .../pillarjs/docs/img/devtools.png | Bin 0 -> 237459 bytes socket/node_modules/pillarjs/index.html | 39 + socket/node_modules/pillarjs/package.json | 131 + socket/node_modules/pillarjs/rollup.config.js | 31 + .../node_modules/preact-markup/.editorconfig | 15 + .../node_modules/preact-markup/.eslintignore | 2 + socket/node_modules/preact-markup/.npmignore | 1 + socket/node_modules/preact-markup/.travis.yml | 3 + socket/node_modules/preact-markup/LICENSE | 21 + socket/node_modules/preact-markup/README.md | 101 + .../preact-markup/dist/preact-markup.js | 294 + .../preact-markup/dist/preact-markup.js.map | 1 + .../preact-markup/dist/preact-markup.min.js | 2 + .../dist/preact-markup.min.js.map | 1 + .../node_modules/preact-markup/karma.conf.js | 55 + .../node_modules/preact-markup/package.json | 109 + .../preact-markup/rollup.config.js | 29 + .../node_modules/preact-markup/src/index.js | 62 + .../preact-markup/src/markup-to-vdom.js | 45 + .../preact-markup/src/parse-markup.js | 69 + .../node_modules/preact-markup/src/to-vdom.js | 69 + .../node_modules/preact-markup/test/_setup.js | 5 + .../node_modules/preact-markup/test/index.js | 328 + socket/node_modules/preact-redux/LICENSE | 21 + socket/node_modules/preact-redux/README.md | 49 + .../preact-redux/dist/preact-redux.esm.js | 1223 + .../preact-redux/dist/preact-redux.esm.js.map | 1 + .../preact-redux/dist/preact-redux.js | 1228 + .../preact-redux/dist/preact-redux.js.map | 1 + .../preact-redux/dist/preact-redux.min.js | 2 + .../preact-redux/dist/preact-redux.min.js.map | 1 + socket/node_modules/preact-redux/package.json | 126 + .../node_modules/preact-redux/src/compat.js | 7 + socket/node_modules/preact-redux/src/empty.js | 1 + socket/node_modules/preact-redux/src/index.js | 3 + .../preact-redux/src/preact-redux.d.ts | 279 + .../preact-redux/src/prop-types.js | 11 + .../preact-render-to-string/.babelrc | 10 + .../preact-render-to-string/.eslintrc | 55 + .../preact-render-to-string/.npmignore | 3 + .../preact-render-to-string/.travis.yml | 3 + .../preact-render-to-string/LICENSE | 21 + .../preact-render-to-string/README.md | 102 + .../preact-render-to-string/dist/index.d.ts | 14 + .../preact-render-to-string/dist/index.js | 290 + .../preact-render-to-string/dist/index.js.map | 1 + .../preact-render-to-string/dist/jsx.js | 719 + .../preact-render-to-string/dist/jsx.js.map | 1 + .../preact-render-to-string/jsx.js | 1 + .../preact-render-to-string/package.json | 90 + .../preact-render-to-string/rollup.config.js | 35 + .../preact-render-to-string/src/index.d.ts | 14 + .../preact-render-to-string/src/index.js | 239 + .../preact-render-to-string/src/jsx.js | 67 + .../preact-render-to-string/src/polyfills.js | 7 + .../preact-render-to-string/src/util.js | 79 + .../preact-render-to-string/test/index.js | 19 + .../preact-render-to-string/test/jsx.js | 187 + .../preact-render-to-string/test/pretty.js | 68 + .../preact-render-to-string/test/render.js | 542 + .../test/shallowRender.js | 36 + .../preact-render-to-string/typings.json | 5 + socket/node_modules/preact/LICENSE | 21 + socket/node_modules/preact/README.md | 553 + socket/node_modules/preact/debug.js | 112 + socket/node_modules/preact/debug.js.map | 1 + socket/node_modules/preact/debug/index.js | 121 + socket/node_modules/preact/devtools.js | 407 + socket/node_modules/preact/devtools.js.map | 1 + .../node_modules/preact/devtools/devtools.js | 391 + socket/node_modules/preact/devtools/index.js | 4 + socket/node_modules/preact/dist/preact.d.ts | 776 + socket/node_modules/preact/dist/preact.dev.js | 1009 + .../preact/dist/preact.dev.js.map | 1 + socket/node_modules/preact/dist/preact.esm.js | 1006 + .../preact/dist/preact.esm.js.map | 1 + socket/node_modules/preact/dist/preact.js | 408 + .../node_modules/preact/dist/preact.js.flow | 13 + socket/node_modules/preact/dist/preact.js.map | 1 + socket/node_modules/preact/dist/preact.min.js | 2 + .../preact/dist/preact.min.js.map | 1 + socket/node_modules/preact/package.json | 168 + .../node_modules/preact/src/clone-element.js | 16 + socket/node_modules/preact/src/component.js | 81 + socket/node_modules/preact/src/constants.js | 13 + socket/node_modules/preact/src/dom/index.js | 109 + socket/node_modules/preact/src/h.js | 83 + socket/node_modules/preact/src/options.js | 27 + socket/node_modules/preact/src/preact.d.ts | 776 + socket/node_modules/preact/src/preact.js | 26 + socket/node_modules/preact/src/preact.js.flow | 13 + .../node_modules/preact/src/render-queue.js | 21 + socket/node_modules/preact/src/render.js | 20 + socket/node_modules/preact/src/util.js | 20 + .../preact/src/vdom/component-recycler.js | 49 + .../node_modules/preact/src/vdom/component.js | 275 + socket/node_modules/preact/src/vdom/diff.js | 310 + socket/node_modules/preact/src/vdom/index.js | 56 + socket/node_modules/preact/src/vnode.js | 2 + socket/node_modules/preact/typings.json | 5 + socket/node_modules/pretty-format/.npmignore | 3 + socket/node_modules/pretty-format/LICENSE.md | 15 + socket/node_modules/pretty-format/README.md | 94 + socket/node_modules/pretty-format/index.js | 343 + .../node_modules/pretty-format/package.json | 59 + .../pretty-format/plugins/ReactElement.js | 74 + .../plugins/ReactTestComponent.js | 58 + .../node_modules/pretty-format/printString.js | 7 + socket/node_modules/promise/.jshintrc | 5 + socket/node_modules/promise/.npmignore | 7 + socket/node_modules/promise/LICENSE | 19 + socket/node_modules/promise/Readme.md | 231 + socket/node_modules/promise/build.js | 69 + socket/node_modules/promise/core.js | 5 + socket/node_modules/promise/domains/core.js | 213 + socket/node_modules/promise/domains/done.js | 13 + .../promise/domains/es6-extensions.js | 107 + .../node_modules/promise/domains/finally.js | 16 + socket/node_modules/promise/domains/index.js | 8 + .../promise/domains/node-extensions.js | 130 + .../promise/domains/rejection-tracking.js | 113 + .../promise/domains/synchronous.js | 62 + socket/node_modules/promise/index.d.ts | 256 + socket/node_modules/promise/index.js | 3 + socket/node_modules/promise/lib/core.js | 213 + socket/node_modules/promise/lib/done.js | 13 + .../promise/lib/es6-extensions.js | 107 + socket/node_modules/promise/lib/finally.js | 16 + socket/node_modules/promise/lib/index.js | 8 + .../promise/lib/node-extensions.js | 130 + .../promise/lib/rejection-tracking.js | 113 + .../node_modules/promise/lib/synchronous.js | 62 + socket/node_modules/promise/package.json | 66 + socket/node_modules/promise/polyfill-done.js | 12 + socket/node_modules/promise/polyfill.js | 10 + .../node_modules/promise/setimmediate/core.js | 213 + .../node_modules/promise/setimmediate/done.js | 13 + .../promise/setimmediate/es6-extensions.js | 107 + .../promise/setimmediate/finally.js | 16 + .../promise/setimmediate/index.js | 8 + .../promise/setimmediate/node-extensions.js | 130 + .../setimmediate/rejection-tracking.js | 113 + .../promise/setimmediate/synchronous.js | 62 + socket/node_modules/promise/src/core.js | 213 + socket/node_modules/promise/src/done.js | 13 + .../promise/src/es6-extensions.js | 107 + socket/node_modules/promise/src/finally.js | 16 + socket/node_modules/promise/src/index.js | 8 + .../promise/src/node-extensions.js | 130 + .../promise/src/rejection-tracking.js | 113 + .../node_modules/promise/src/synchronous.js | 62 + socket/node_modules/proxy-addr/HISTORY.md | 80 + socket/node_modules/proxy-addr/LICENSE | 22 + socket/node_modules/proxy-addr/README.md | 137 + socket/node_modules/proxy-addr/index.js | 347 + socket/node_modules/proxy-addr/package.json | 73 + socket/node_modules/q/CHANGES.md | 786 + socket/node_modules/q/LICENSE | 18 + socket/node_modules/q/README.md | 881 + socket/node_modules/q/package.json | 119 + socket/node_modules/q/q.js | 2048 + socket/node_modules/q/queue.js | 35 + socket/node_modules/qs/.jshintignore | 1 + socket/node_modules/qs/.jshintrc | 10 + socket/node_modules/qs/.npmignore | 18 + socket/node_modules/qs/.travis.yml | 4 + socket/node_modules/qs/CHANGELOG.md | 47 + socket/node_modules/qs/CONTRIBUTING.md | 1 + socket/node_modules/qs/LICENSE | 28 + socket/node_modules/qs/Makefile | 8 + socket/node_modules/qs/README.md | 213 + socket/node_modules/qs/index.js | 1 + socket/node_modules/qs/lib/index.js | 15 + socket/node_modules/qs/lib/parse.js | 156 + socket/node_modules/qs/lib/stringify.js | 58 + socket/node_modules/qs/lib/utils.js | 139 + socket/node_modules/qs/package.json | 60 + socket/node_modules/qs/test/parse.js | 391 + socket/node_modules/qs/test/stringify.js | 139 + socket/node_modules/range-parser/HISTORY.md | 40 + socket/node_modules/range-parser/LICENSE | 22 + socket/node_modules/range-parser/README.md | 57 + socket/node_modules/range-parser/index.js | 63 + socket/node_modules/range-parser/package.json | 68 + socket/node_modules/redux/CHANGELOG.md | 4 + socket/node_modules/redux/LICENSE.md | 21 + socket/node_modules/redux/README.md | 235 + socket/node_modules/redux/dist/redux.js | 784 + socket/node_modules/redux/dist/redux.min.js | 1 + .../node_modules/redux/es/applyMiddleware.js | 48 + .../redux/es/bindActionCreators.js | 47 + .../node_modules/redux/es/combineReducers.js | 130 + socket/node_modules/redux/es/compose.js | 32 + socket/node_modules/redux/es/createStore.js | 248 + socket/node_modules/redux/es/index.js | 18 + socket/node_modules/redux/es/utils/warning.js | 21 + socket/node_modules/redux/index.d.ts | 437 + .../node_modules/redux/lib/applyMiddleware.js | 58 + .../redux/lib/bindActionCreators.js | 51 + .../node_modules/redux/lib/combineReducers.js | 143 + socket/node_modules/redux/lib/compose.js | 36 + socket/node_modules/redux/lib/createStore.js | 261 + socket/node_modules/redux/lib/index.js | 46 + .../node_modules/redux/lib/utils/warning.js | 25 + socket/node_modules/redux/package.json | 157 + .../node_modules/redux/src/applyMiddleware.js | 37 + .../redux/src/bindActionCreators.js | 48 + .../node_modules/redux/src/combineReducers.js | 160 + socket/node_modules/redux/src/compose.js | 22 + socket/node_modules/redux/src/createStore.js | 254 + socket/node_modules/redux/src/index.js | 34 + .../node_modules/redux/src/utils/warning.js | 21 + .../regenerator-runtime/README.md | 31 + .../regenerator-runtime/package.json | 46 + .../node_modules/regenerator-runtime/path.js | 11 + .../regenerator-runtime/runtime-module.js | 35 + .../regenerator-runtime/runtime.js | 727 + socket/node_modules/safe-buffer/.travis.yml | 7 + socket/node_modules/safe-buffer/LICENSE | 21 + socket/node_modules/safe-buffer/README.md | 584 + socket/node_modules/safe-buffer/index.js | 62 + socket/node_modules/safe-buffer/package.json | 62 + socket/node_modules/safe-buffer/test.js | 101 + socket/node_modules/send/HISTORY.md | 462 + socket/node_modules/send/LICENSE | 23 + socket/node_modules/send/README.md | 306 + socket/node_modules/send/index.js | 1130 + .../node_modules/send/node_modules/.bin/mime | 1 + .../send/node_modules/debug/.coveralls.yml | 1 + .../send/node_modules/debug/.eslintrc | 11 + .../send/node_modules/debug/.npmignore | 9 + .../send/node_modules/debug/.travis.yml | 14 + .../send/node_modules/debug/CHANGELOG.md | 362 + .../send/node_modules/debug/LICENSE | 19 + .../send/node_modules/debug/Makefile | 50 + .../send/node_modules/debug/README.md | 312 + .../send/node_modules/debug/component.json | 19 + .../send/node_modules/debug/karma.conf.js | 70 + .../send/node_modules/debug/node.js | 1 + .../send/node_modules/debug/package.json | 88 + .../send/node_modules/debug/src/browser.js | 185 + .../send/node_modules/debug/src/debug.js | 202 + .../send/node_modules/debug/src/index.js | 10 + .../node_modules/debug/src/inspector-log.js | 15 + .../send/node_modules/debug/src/node.js | 248 + .../send/node_modules/depd/History.md | 96 + .../send/node_modules/depd/LICENSE | 22 + .../send/node_modules/depd/Readme.md | 280 + .../send/node_modules/depd/index.js | 522 + .../node_modules/depd/lib/browser/index.js | 77 + .../depd/lib/compat/callsite-tostring.js | 103 + .../depd/lib/compat/event-listener-count.js | 22 + .../node_modules/depd/lib/compat/index.js | 79 + .../send/node_modules/depd/package.json | 76 + .../send/node_modules/destroy/LICENSE | 22 + .../send/node_modules/destroy/README.md | 60 + .../send/node_modules/destroy/index.js | 75 + .../send/node_modules/destroy/package.json | 71 + .../send/node_modules/ee-first/LICENSE | 22 + .../send/node_modules/ee-first/README.md | 80 + .../send/node_modules/ee-first/index.js | 95 + .../send/node_modules/ee-first/package.json | 63 + .../send/node_modules/escape-html/LICENSE | 24 + .../send/node_modules/escape-html/Readme.md | 43 + .../send/node_modules/escape-html/index.js | 78 + .../node_modules/escape-html/package.json | 56 + .../send/node_modules/etag/HISTORY.md | 83 + .../send/node_modules/etag/LICENSE | 22 + .../send/node_modules/etag/README.md | 159 + .../send/node_modules/etag/index.js | 131 + .../send/node_modules/etag/package.json | 85 + .../send/node_modules/fresh/HISTORY.md | 70 + .../send/node_modules/fresh/LICENSE | 23 + .../send/node_modules/fresh/README.md | 119 + .../send/node_modules/fresh/index.js | 137 + .../send/node_modules/fresh/package.json | 89 + .../send/node_modules/mime/LICENSE | 21 + .../send/node_modules/mime/README.md | 90 + .../send/node_modules/mime/build/build.js | 11 + .../send/node_modules/mime/build/test.js | 60 + .../send/node_modules/mime/cli.js | 8 + .../send/node_modules/mime/mime.js | 108 + .../send/node_modules/mime/package.json | 67 + .../send/node_modules/mime/types.json | 1 + .../send/node_modules/ms/index.js | 152 + .../send/node_modules/ms/license.md | 21 + .../send/node_modules/ms/package.json | 70 + .../send/node_modules/ms/readme.md | 51 + .../send/node_modules/on-finished/HISTORY.md | 88 + .../send/node_modules/on-finished/LICENSE | 23 + .../send/node_modules/on-finished/README.md | 154 + .../send/node_modules/on-finished/index.js | 196 + .../node_modules/on-finished/package.json | 70 + .../send/node_modules/range-parser/HISTORY.md | 51 + .../send/node_modules/range-parser/LICENSE | 23 + .../send/node_modules/range-parser/README.md | 75 + .../send/node_modules/range-parser/index.js | 158 + .../node_modules/range-parser/package.json | 86 + socket/node_modules/send/package.json | 103 + socket/node_modules/serve-static/HISTORY.md | 193 + socket/node_modules/serve-static/LICENSE | 25 + socket/node_modules/serve-static/README.md | 159 + socket/node_modules/serve-static/index.js | 137 + .../node_modules/ee-first/LICENSE | 22 + .../node_modules/ee-first/README.md | 63 + .../node_modules/ee-first/index.js | 60 + .../node_modules/ee-first/package.json | 63 + .../serve-static/node_modules/ms/.npmignore | 5 + .../serve-static/node_modules/ms/README.md | 33 + .../serve-static/node_modules/ms/index.js | 111 + .../serve-static/node_modules/ms/package.json | 49 + .../node_modules/on-finished/HISTORY.md | 66 + .../node_modules/on-finished/LICENSE | 23 + .../node_modules/on-finished/README.md | 90 + .../node_modules/on-finished/index.js | 127 + .../node_modules/on-finished/package.json | 70 + .../serve-static/node_modules/send/History.md | 205 + .../serve-static/node_modules/send/LICENSE | 23 + .../serve-static/node_modules/send/Readme.md | 182 + .../serve-static/node_modules/send/index.js | 773 + .../node_modules/send/package.json | 85 + socket/node_modules/serve-static/package.json | 77 + socket/node_modules/setimmediate/LICENSE.txt | 20 + socket/node_modules/setimmediate/package.json | 74 + .../node_modules/setimmediate/setImmediate.js | 186 + socket/node_modules/setprototypeof/LICENSE | 13 + socket/node_modules/setprototypeof/README.md | 21 + socket/node_modules/setprototypeof/index.js | 15 + .../node_modules/setprototypeof/package.json | 51 + .../node_modules/socket.io-adapter/.npmignore | 1 + socket/node_modules/socket.io-adapter/LICENSE | 20 + .../node_modules/socket.io-adapter/Readme.md | 16 + .../node_modules/socket.io-adapter/index.js | 263 + .../socket.io-adapter/package.json | 39 + socket/node_modules/socket.io-client/LICENSE | 22 + .../node_modules/socket.io-client/README.md | 57 + .../socket.io-client/dist/socket.io.js | 3 + .../socket.io-client/dist/socket.io.js.map | 1 + .../socket.io-client/dist/socket.io.slim.js | 3 + .../dist/socket.io.slim.js.map | 1 + .../socket.io-client/lib/index.js | 94 + .../socket.io-client/lib/manager.js | 573 + .../node_modules/socket.io-client/lib/on.js | 24 + .../socket.io-client/lib/socket.js | 418 + .../node_modules/socket.io-client/lib/url.js | 75 + .../node_modules/debug/.coveralls.yml | 1 + .../node_modules/debug/.eslintrc | 11 + .../node_modules/debug/.npmignore | 9 + .../node_modules/debug/.travis.yml | 14 + .../node_modules/debug/CHANGELOG.md | 362 + .../node_modules/debug/LICENSE | 19 + .../node_modules/debug/Makefile | 50 + .../node_modules/debug/README.md | 312 + .../node_modules/debug/component.json | 19 + .../node_modules/debug/karma.conf.js | 70 + .../node_modules/debug/node.js | 1 + .../node_modules/debug/package.json | 88 + .../node_modules/debug/src/browser.js | 185 + .../node_modules/debug/src/debug.js | 202 + .../node_modules/debug/src/index.js | 10 + .../node_modules/debug/src/inspector-log.js | 15 + .../node_modules/debug/src/node.js | 248 + .../socket.io-client/node_modules/ms/index.js | 152 + .../node_modules/ms/license.md | 21 + .../node_modules/ms/package.json | 69 + .../node_modules/ms/readme.md | 51 + .../socket.io-client/package.json | 115 + .../node_modules/socket.io-parser/History.md | 160 + socket/node_modules/socket.io-parser/LICENSE | 20 + .../node_modules/socket.io-parser/Readme.md | 73 + .../node_modules/socket.io-parser/binary.js | 141 + socket/node_modules/socket.io-parser/index.js | 400 + .../socket.io-parser/is-buffer.js | 13 + .../node_modules/debug/.coveralls.yml | 1 + .../node_modules/debug/.eslintrc | 11 + .../node_modules/debug/.npmignore | 9 + .../node_modules/debug/.travis.yml | 14 + .../node_modules/debug/CHANGELOG.md | 362 + .../node_modules/debug/LICENSE | 19 + .../node_modules/debug/Makefile | 50 + .../node_modules/debug/README.md | 312 + .../node_modules/debug/component.json | 19 + .../node_modules/debug/karma.conf.js | 70 + .../node_modules/debug/node.js | 1 + .../node_modules/debug/package.json | 88 + .../node_modules/debug/src/browser.js | 185 + .../node_modules/debug/src/debug.js | 202 + .../node_modules/debug/src/index.js | 10 + .../node_modules/debug/src/inspector-log.js | 15 + .../node_modules/debug/src/node.js | 248 + .../socket.io-parser/node_modules/ms/index.js | 152 + .../node_modules/ms/license.md | 21 + .../node_modules/ms/package.json | 69 + .../node_modules/ms/readme.md | 51 + .../socket.io-parser/package.json | 62 + socket/node_modules/socket.io/LICENSE | 22 + socket/node_modules/socket.io/Readme.md | 242 + socket/node_modules/socket.io/lib/client.js | 252 + socket/node_modules/socket.io/lib/index.js | 474 + .../node_modules/socket.io/lib/namespace.js | 279 + socket/node_modules/socket.io/lib/socket.js | 557 + .../node_modules/debug/.coveralls.yml | 1 + .../socket.io/node_modules/debug/.eslintrc | 11 + .../socket.io/node_modules/debug/.npmignore | 9 + .../socket.io/node_modules/debug/.travis.yml | 14 + .../socket.io/node_modules/debug/CHANGELOG.md | 362 + .../socket.io/node_modules/debug/LICENSE | 19 + .../socket.io/node_modules/debug/Makefile | 50 + .../socket.io/node_modules/debug/README.md | 312 + .../node_modules/debug/component.json | 19 + .../node_modules/debug/karma.conf.js | 70 + .../socket.io/node_modules/debug/node.js | 1 + .../socket.io/node_modules/debug/package.json | 88 + .../node_modules/debug/src/browser.js | 185 + .../socket.io/node_modules/debug/src/debug.js | 202 + .../socket.io/node_modules/debug/src/index.js | 10 + .../node_modules/debug/src/inspector-log.js | 15 + .../socket.io/node_modules/debug/src/node.js | 248 + .../socket.io/node_modules/ms/index.js | 152 + .../socket.io/node_modules/ms/license.md | 21 + .../socket.io/node_modules/ms/package.json | 69 + .../socket.io/node_modules/ms/readme.md | 51 + socket/node_modules/socket.io/package.json | 87 + socket/node_modules/statuses/HISTORY.md | 60 + socket/node_modules/statuses/LICENSE | 23 + socket/node_modules/statuses/README.md | 127 + socket/node_modules/statuses/codes.json | 65 + socket/node_modules/statuses/index.js | 113 + socket/node_modules/statuses/package.json | 88 + socket/node_modules/strip-ansi/index.js | 6 + socket/node_modules/strip-ansi/license | 21 + socket/node_modules/strip-ansi/package.json | 101 + socket/node_modules/strip-ansi/readme.md | 33 + socket/node_modules/supports-color/index.js | 50 + socket/node_modules/supports-color/license | 21 + .../node_modules/supports-color/package.json | 89 + socket/node_modules/supports-color/readme.md | 36 + .../symbol-observable/CHANGELOG.md | 136 + .../symbol-observable/es/index.js | 19 + .../symbol-observable/es/ponyfill.js | 17 + .../node_modules/symbol-observable/index.d.ts | 12 + .../node_modules/symbol-observable/index.js | 1 + .../symbol-observable/lib/index.js | 29 + .../symbol-observable/lib/ponyfill.js | 23 + socket/node_modules/symbol-observable/license | 22 + .../symbol-observable/package.json | 81 + .../node_modules/symbol-observable/readme.md | 31 + socket/node_modules/to-array/.npmignore | 3 + socket/node_modules/to-array/LICENCE | 19 + socket/node_modules/to-array/README.md | 22 + socket/node_modules/to-array/index.js | 13 + socket/node_modules/to-array/package.json | 68 + .../node_modules/to-fast-properties/index.js | 11 + .../node_modules/to-fast-properties/license | 22 + .../to-fast-properties/package.json | 67 + .../node_modules/to-fast-properties/readme.md | 37 + socket/node_modules/type-is/HISTORY.md | 115 + socket/node_modules/type-is/LICENSE | 21 + socket/node_modules/type-is/README.md | 117 + socket/node_modules/type-is/index.js | 228 + socket/node_modules/type-is/package.json | 76 + socket/node_modules/ua-parser-js/.npmignore | 24 + socket/node_modules/ua-parser-js/.travis.yml | 13 + socket/node_modules/ua-parser-js/bower.json | 17 + .../ua-parser-js/dist/ua-parser.html | 1 + .../ua-parser-js/dist/ua-parser.min.js | 9 + .../ua-parser-js/dist/ua-parser.pack.js | 9 + socket/node_modules/ua-parser-js/package.js | 12 + socket/node_modules/ua-parser-js/package.json | 329 + socket/node_modules/ua-parser-js/readme.md | 329 + .../ua-parser-js/src/ua-parser.js | 1072 + .../ua-parser-js/test/browser-test.json | 982 + .../ua-parser-js/test/cpu-test.json | 106 + .../ua-parser-js/test/device-test.json | 819 + .../ua-parser-js/test/engine-test.json | 74 + .../ua-parser-js/test/mediaplayer-test.json | 582 + .../ua-parser-js/test/os-test.json | 641 + socket/node_modules/ua-parser-js/test/test.js | 113 + socket/node_modules/ultron/LICENSE | 22 + socket/node_modules/ultron/README.md | 113 + socket/node_modules/ultron/index.js | 136 + socket/node_modules/ultron/package.json | 68 + socket/node_modules/utils-merge/.travis.yml | 6 + socket/node_modules/utils-merge/LICENSE | 20 + socket/node_modules/utils-merge/README.md | 34 + socket/node_modules/utils-merge/index.js | 23 + socket/node_modules/utils-merge/package.json | 65 + socket/node_modules/uws/LICENSE | 17 + socket/node_modules/uws/README.md | 32 + socket/node_modules/uws/binding.gyp | 80 + socket/node_modules/uws/build/Makefile | 329 + .../obj.target/action_after_build.stamp.d | 1 + .../.deps/Release/obj.target/uws.node.d | 1 + .../Release/obj.target/uws/src/Extensions.o.d | 5 + .../Release/obj.target/uws/src/Group.o.d | 113 + .../Release/obj.target/uws/src/HTTPSocket.o.d | 107 + .../.deps/Release/obj.target/uws/src/Hub.o.d | 114 + .../Release/obj.target/uws/src/Networking.o.d | 100 + .../.deps/Release/obj.target/uws/src/Node.o.d | 102 + .../Release/obj.target/uws/src/Socket.o.d | 101 + .../Release/obj.target/uws/src/WebSocket.o.d | 113 + .../Release/obj.target/uws/src/addon.o.d | 134 + .../build/Release/.deps/Release/uws.node.d | 1 + .../uws/build/Release/.deps/uws.d | 1 + .../obj.target/action_after_build.stamp | 0 .../uws/build/Release/obj.target/uws.node | Bin 0 -> 250200 bytes .../Release/obj.target/uws/src/Extensions.o | Bin 0 -> 8392 bytes .../build/Release/obj.target/uws/src/Group.o | Bin 0 -> 119120 bytes .../Release/obj.target/uws/src/HTTPSocket.o | Bin 0 -> 38880 bytes .../build/Release/obj.target/uws/src/Hub.o | Bin 0 -> 38336 bytes .../Release/obj.target/uws/src/Networking.o | Bin 0 -> 12552 bytes .../build/Release/obj.target/uws/src/Node.o | Bin 0 -> 5744 bytes .../build/Release/obj.target/uws/src/Socket.o | Bin 0 -> 2416 bytes .../Release/obj.target/uws/src/WebSocket.o | Bin 0 -> 80040 bytes .../build/Release/obj.target/uws/src/addon.o | Bin 0 -> 181776 bytes .../node_modules/uws/build/Release/uws.node | Bin 0 -> 250200 bytes .../uws/build/action_after_build.target.mk | 38 + .../node_modules/uws/build/binding.Makefile | 6 + socket/node_modules/uws/build/config.gypi | 183 + socket/node_modules/uws/build/uws.target.mk | 146 + socket/node_modules/uws/build_log.txt | 264 + socket/node_modules/uws/package.json | 55 + socket/node_modules/uws/src/Asio.h | 184 + socket/node_modules/uws/src/Backend.h | 15 + socket/node_modules/uws/src/Epoll.cpp | 60 + socket/node_modules/uws/src/Epoll.h | 257 + socket/node_modules/uws/src/Extensions.cpp | 131 + socket/node_modules/uws/src/Extensions.h | 29 + socket/node_modules/uws/src/Group.cpp | 263 + socket/node_modules/uws/src/Group.h | 144 + socket/node_modules/uws/src/HTTPSocket.cpp | 310 + socket/node_modules/uws/src/HTTPSocket.h | 285 + socket/node_modules/uws/src/Hub.cpp | 177 + socket/node_modules/uws/src/Hub.h | 97 + socket/node_modules/uws/src/Libuv.h | 175 + socket/node_modules/uws/src/Networking.cpp | 78 + socket/node_modules/uws/src/Networking.h | 259 + socket/node_modules/uws/src/Node.cpp | 83 + socket/node_modules/uws/src/Node.h | 198 + socket/node_modules/uws/src/Socket.cpp | 28 + socket/node_modules/uws/src/Socket.h | 507 + socket/node_modules/uws/src/WebSocket.cpp | 405 + socket/node_modules/uws/src/WebSocket.h | 89 + .../node_modules/uws/src/WebSocketProtocol.h | 377 + socket/node_modules/uws/src/addon.cpp | 24 + socket/node_modules/uws/src/addon.h | 464 + socket/node_modules/uws/src/http.h | 357 + socket/node_modules/uws/src/uWS.h | 6 + socket/node_modules/uws/uws.js | 563 + socket/node_modules/uws/uws_darwin_46.node | Bin 0 -> 377568 bytes socket/node_modules/uws/uws_darwin_47.node | Bin 0 -> 377568 bytes socket/node_modules/uws/uws_darwin_48.node | Bin 0 -> 377560 bytes socket/node_modules/uws/uws_darwin_51.node | Bin 0 -> 377616 bytes socket/node_modules/uws/uws_linux_46.node | Bin 0 -> 1563976 bytes socket/node_modules/uws/uws_linux_47.node | Bin 0 -> 1563976 bytes socket/node_modules/uws/uws_linux_48.node | Bin 0 -> 1563976 bytes socket/node_modules/uws/uws_linux_51.node | Bin 0 -> 1563976 bytes socket/node_modules/uws/uws_linux_59.node | Bin 0 -> 250200 bytes socket/node_modules/uws/uws_win32_48.node | Bin 0 -> 641024 bytes socket/node_modules/uws/uws_win32_51.node | Bin 0 -> 641536 bytes socket/node_modules/vary/HISTORY.md | 23 + socket/node_modules/vary/LICENSE | 22 + socket/node_modules/vary/README.md | 91 + socket/node_modules/vary/index.js | 117 + socket/node_modules/vary/package.json | 67 + socket/node_modules/whatwg-fetch/LICENSE | 20 + socket/node_modules/whatwg-fetch/README.md | 282 + socket/node_modules/whatwg-fetch/fetch.js | 461 + socket/node_modules/whatwg-fetch/package.json | 55 + socket/node_modules/ws/LICENSE | 21 + socket/node_modules/ws/README.md | 341 + socket/node_modules/ws/index.js | 15 + socket/node_modules/ws/lib/.DS_Store | Bin 0 -> 6148 bytes socket/node_modules/ws/lib/BufferUtil.js | 71 + socket/node_modules/ws/lib/Constants.js | 10 + socket/node_modules/ws/lib/ErrorCodes.js | 28 + socket/node_modules/ws/lib/EventTarget.js | 151 + socket/node_modules/ws/lib/Extensions.js | 203 + .../node_modules/ws/lib/PerMessageDeflate.js | 507 + socket/node_modules/ws/lib/Receiver.js | 553 + socket/node_modules/ws/lib/Sender.js | 412 + socket/node_modules/ws/lib/Validation.js | 17 + socket/node_modules/ws/lib/WebSocket.js | 717 + socket/node_modules/ws/lib/WebSocketServer.js | 326 + socket/node_modules/ws/package.json | 81 + .../node_modules/xmlhttprequest-ssl/LICENSE | 22 + .../node_modules/xmlhttprequest-ssl/README.md | 63 + .../xmlhttprequest-ssl/autotest.watchr | 8 + .../xmlhttprequest-ssl/example/demo.js | 16 + .../xmlhttprequest-ssl/lib/XMLHttpRequest.js | 651 + .../xmlhttprequest-ssl/package.json | 63 + .../tests/test-constants.js | 13 + .../xmlhttprequest-ssl/tests/test-events.js | 50 + .../tests/test-exceptions.js | 59 + .../xmlhttprequest-ssl/tests/test-headers.js | 76 + .../tests/test-redirect-302.js | 41 + .../tests/test-redirect-303.js | 41 + .../tests/test-redirect-307.js | 43 + .../tests/test-request-methods.js | 62 + .../tests/test-request-protocols.js | 32 + .../xmlhttprequest-ssl/tests/testdata.txt | 1 + socket/node_modules/yeast/LICENSE | 22 + socket/node_modules/yeast/README.md | 82 + socket/node_modules/yeast/index.js | 68 + socket/node_modules/yeast/package.json | 64 + socket/node_modules/zeit/LICENSE | 202 + socket/node_modules/zeit/README.md | 205 + .../zeit/examples/schedulerExamples.js | 38 + socket/node_modules/zeit/index.js | 6 + socket/node_modules/zeit/lib/clock.js | 220 + socket/node_modules/zeit/lib/scheduler.js | 182 + socket/node_modules/zeit/lib/util.js | 16 + .../zeit/node_modules/lodash/LICENSE | 23 + .../zeit/node_modules/lodash/README.md | 40 + .../zeit/node_modules/lodash/_Hash.js | 18 + .../zeit/node_modules/lodash/_LazyWrapper.js | 27 + .../node_modules/lodash/_LodashWrapper.js | 22 + .../zeit/node_modules/lodash/_Map.js | 7 + .../zeit/node_modules/lodash/_MapCache.js | 32 + .../zeit/node_modules/lodash/_Reflect.js | 6 + .../zeit/node_modules/lodash/_Set.js | 7 + .../zeit/node_modules/lodash/_SetCache.js | 25 + .../zeit/node_modules/lodash/_Stack.js | 32 + .../zeit/node_modules/lodash/_Symbol.js | 6 + .../zeit/node_modules/lodash/_Uint8Array.js | 6 + .../zeit/node_modules/lodash/_WeakMap.js | 7 + .../zeit/node_modules/lodash/_addMapEntry.js | 14 + .../zeit/node_modules/lodash/_addSetEntry.js | 14 + .../zeit/node_modules/lodash/_apply.js | 22 + .../node_modules/lodash/_arrayAggregator.js | 22 + .../zeit/node_modules/lodash/_arrayConcat.js | 25 + .../zeit/node_modules/lodash/_arrayEach.js | 22 + .../node_modules/lodash/_arrayEachRight.js | 21 + .../zeit/node_modules/lodash/_arrayEvery.js | 22 + .../zeit/node_modules/lodash/_arrayFilter.js | 25 + .../node_modules/lodash/_arrayIncludes.js | 16 + .../node_modules/lodash/_arrayIncludesWith.js | 23 + .../zeit/node_modules/lodash/_arrayMap.js | 21 + .../zeit/node_modules/lodash/_arrayPush.js | 20 + .../zeit/node_modules/lodash/_arrayReduce.js | 25 + .../node_modules/lodash/_arrayReduceRight.js | 23 + .../zeit/node_modules/lodash/_arraySome.js | 22 + .../node_modules/lodash/_assignInDefaults.js | 27 + .../node_modules/lodash/_assignMergeValue.js | 18 + .../zeit/node_modules/lodash/_assignValue.js | 28 + .../zeit/node_modules/lodash/_assocDelete.js | 31 + .../zeit/node_modules/lodash/_assocGet.js | 16 + .../zeit/node_modules/lodash/_assocHas.js | 15 + .../zeit/node_modules/lodash/_assocIndexOf.js | 22 + .../zeit/node_modules/lodash/_assocSet.js | 20 + .../node_modules/lodash/_baseAggregator.js | 21 + .../zeit/node_modules/lodash/_baseAssign.js | 17 + .../zeit/node_modules/lodash/_baseAt.js | 23 + .../lodash/_baseCastArrayLikeObject.js | 14 + .../node_modules/lodash/_baseCastFunction.js | 14 + .../zeit/node_modules/lodash/_baseCastPath.js | 15 + .../zeit/node_modules/lodash/_baseClamp.js | 22 + .../zeit/node_modules/lodash/_baseClone.js | 129 + .../zeit/node_modules/lodash/_baseConforms.js | 32 + .../zeit/node_modules/lodash/_baseCreate.js | 18 + .../zeit/node_modules/lodash/_baseDelay.js | 21 + .../node_modules/lodash/_baseDifference.js | 66 + .../zeit/node_modules/lodash/_baseEach.js | 14 + .../node_modules/lodash/_baseEachRight.js | 14 + .../zeit/node_modules/lodash/_baseEvery.js | 20 + .../zeit/node_modules/lodash/_baseExtremum.js | 30 + .../zeit/node_modules/lodash/_baseFill.js | 32 + .../zeit/node_modules/lodash/_baseFilter.js | 21 + .../zeit/node_modules/lodash/_baseFind.js | 24 + .../node_modules/lodash/_baseFindIndex.js | 23 + .../zeit/node_modules/lodash/_baseFlatten.js | 39 + .../zeit/node_modules/lodash/_baseFor.js | 17 + .../zeit/node_modules/lodash/_baseForIn.js | 16 + .../zeit/node_modules/lodash/_baseForOwn.js | 16 + .../node_modules/lodash/_baseForOwnRight.js | 16 + .../zeit/node_modules/lodash/_baseForRight.js | 15 + .../node_modules/lodash/_baseFunctions.js | 19 + .../zeit/node_modules/lodash/_baseGet.js | 24 + .../zeit/node_modules/lodash/_baseHas.js | 26 + .../zeit/node_modules/lodash/_baseHasIn.js | 13 + .../zeit/node_modules/lodash/_baseInRange.js | 18 + .../zeit/node_modules/lodash/_baseIndexOf.js | 27 + .../node_modules/lodash/_baseIntersection.js | 68 + .../zeit/node_modules/lodash/_baseInverter.js | 21 + .../zeit/node_modules/lodash/_baseInvoke.js | 27 + .../zeit/node_modules/lodash/_baseIsEqual.js | 30 + .../node_modules/lodash/_baseIsEqualDeep.js | 83 + .../zeit/node_modules/lodash/_baseIsMatch.js | 61 + .../zeit/node_modules/lodash/_baseIteratee.js | 30 + .../zeit/node_modules/lodash/_baseKeys.js | 16 + .../zeit/node_modules/lodash/_baseKeysIn.js | 36 + .../zeit/node_modules/lodash/_baseLodash.js | 10 + .../zeit/node_modules/lodash/_baseMap.js | 22 + .../zeit/node_modules/lodash/_baseMatches.js | 30 + .../lodash/_baseMatchesProperty.js | 26 + .../zeit/node_modules/lodash/_baseMerge.js | 50 + .../node_modules/lodash/_baseMergeDeep.js | 81 + .../zeit/node_modules/lodash/_baseOrderBy.js | 36 + .../zeit/node_modules/lodash/_basePick.js | 22 + .../zeit/node_modules/lodash/_basePickBy.js | 21 + .../zeit/node_modules/lodash/_baseProperty.js | 14 + .../node_modules/lodash/_basePropertyDeep.js | 16 + .../zeit/node_modules/lodash/_basePullAll.js | 15 + .../node_modules/lodash/_basePullAllBy.js | 43 + .../zeit/node_modules/lodash/_basePullAt.js | 49 + .../zeit/node_modules/lodash/_baseRandom.js | 18 + .../zeit/node_modules/lodash/_baseRange.js | 28 + .../zeit/node_modules/lodash/_baseReduce.js | 22 + .../zeit/node_modules/lodash/_baseSet.js | 45 + .../zeit/node_modules/lodash/_baseSetData.js | 17 + .../zeit/node_modules/lodash/_baseSlice.js | 31 + .../zeit/node_modules/lodash/_baseSome.js | 21 + .../zeit/node_modules/lodash/_baseSortBy.js | 21 + .../node_modules/lodash/_baseSortedIndex.js | 40 + .../node_modules/lodash/_baseSortedIndexBy.js | 56 + .../node_modules/lodash/_baseSortedUniq.js | 14 + .../node_modules/lodash/_baseSortedUniqBy.js | 33 + .../zeit/node_modules/lodash/_baseSum.js | 23 + .../zeit/node_modules/lodash/_baseTimes.js | 20 + .../zeit/node_modules/lodash/_baseToPairs.js | 18 + .../zeit/node_modules/lodash/_baseUnary.js | 14 + .../zeit/node_modules/lodash/_baseUniq.js | 71 + .../zeit/node_modules/lodash/_baseUnset.js | 22 + .../zeit/node_modules/lodash/_baseValues.js | 19 + .../zeit/node_modules/lodash/_baseWhile.js | 26 + .../node_modules/lodash/_baseWrapperValue.js | 25 + .../zeit/node_modules/lodash/_baseXor.js | 30 + .../node_modules/lodash/_baseZipObject.js | 22 + .../zeit/node_modules/lodash/_cacheHas.js | 25 + .../zeit/node_modules/lodash/_cachePush.js | 27 + .../node_modules/lodash/_charsEndIndex.js | 19 + .../node_modules/lodash/_charsStartIndex.js | 20 + .../zeit/node_modules/lodash/_checkGlobal.js | 12 + .../node_modules/lodash/_cloneArrayBuffer.js | 19 + .../zeit/node_modules/lodash/_cloneBuffer.js | 20 + .../zeit/node_modules/lodash/_cloneMap.js | 17 + .../zeit/node_modules/lodash/_cloneRegExp.js | 19 + .../zeit/node_modules/lodash/_cloneSet.js | 17 + .../zeit/node_modules/lodash/_cloneSymbol.js | 18 + .../node_modules/lodash/_cloneTypedArray.js | 19 + .../node_modules/lodash/_compareAscending.js | 33 + .../node_modules/lodash/_compareMultiple.js | 44 + .../zeit/node_modules/lodash/_composeArgs.js | 34 + .../node_modules/lodash/_composeArgsRight.js | 36 + .../zeit/node_modules/lodash/_copyArray.js | 20 + .../zeit/node_modules/lodash/_copyObject.js | 16 + .../node_modules/lodash/_copyObjectWith.js | 32 + .../zeit/node_modules/lodash/_copySymbols.js | 16 + .../node_modules/lodash/_createAggregator.js | 23 + .../node_modules/lodash/_createAssigner.js | 37 + .../node_modules/lodash/_createBaseEach.js | 32 + .../node_modules/lodash/_createBaseFor.js | 25 + .../node_modules/lodash/_createBaseWrapper.js | 28 + .../node_modules/lodash/_createCaseFirst.js | 38 + .../node_modules/lodash/_createCompounder.js | 18 + .../node_modules/lodash/_createCtorWrapper.js | 37 + .../lodash/_createCurryWrapper.js | 42 + .../zeit/node_modules/lodash/_createFlow.js | 83 + .../lodash/_createHybridWrapper.js | 88 + .../node_modules/lodash/_createInverter.js | 17 + .../zeit/node_modules/lodash/_createOver.js | 26 + .../node_modules/lodash/_createPadding.js | 47 + .../lodash/_createPartialWrapper.js | 43 + .../zeit/node_modules/lodash/_createRange.js | 31 + .../lodash/_createRecurryWrapper.js | 56 + .../zeit/node_modules/lodash/_createRound.js | 30 + .../zeit/node_modules/lodash/_createSet.js | 15 + .../node_modules/lodash/_createWrapper.js | 105 + .../zeit/node_modules/lodash/_deburrLetter.js | 33 + .../zeit/node_modules/lodash/_equalArrays.js | 72 + .../zeit/node_modules/lodash/_equalByTag.js | 88 + .../zeit/node_modules/lodash/_equalObjects.js | 82 + .../node_modules/lodash/_escapeHtmlChar.js | 22 + .../node_modules/lodash/_escapeStringChar.js | 22 + .../zeit/node_modules/lodash/_getData.js | 15 + .../zeit/node_modules/lodash/_getFuncName.js | 31 + .../zeit/node_modules/lodash/_getLength.js | 15 + .../zeit/node_modules/lodash/_getMatchData.js | 21 + .../zeit/node_modules/lodash/_getNative.js | 16 + .../zeit/node_modules/lodash/_getSymbols.js | 15 + .../zeit/node_modules/lodash/_getTag.js | 59 + .../zeit/node_modules/lodash/_getView.js | 33 + .../zeit/node_modules/lodash/_hasPath.js | 40 + .../zeit/node_modules/lodash/_hashDelete.js | 15 + .../zeit/node_modules/lodash/_hashGet.js | 28 + .../zeit/node_modules/lodash/_hashHas.js | 21 + .../zeit/node_modules/lodash/_hashSet.js | 18 + .../zeit/node_modules/lodash/_indexKeys.js | 24 + .../zeit/node_modules/lodash/_indexOfNaN.js | 23 + .../node_modules/lodash/_initCloneArray.js | 26 + .../node_modules/lodash/_initCloneByTag.js | 74 + .../node_modules/lodash/_initCloneObject.js | 20 + .../zeit/node_modules/lodash/_isHostObject.js | 20 + .../zeit/node_modules/lodash/_isIndex.js | 21 + .../node_modules/lodash/_isIterateeCall.js | 28 + .../zeit/node_modules/lodash/_isKey.js | 24 + .../zeit/node_modules/lodash/_isKeyable.js | 14 + .../zeit/node_modules/lodash/_isLaziable.js | 27 + .../zeit/node_modules/lodash/_isPrototype.js | 18 + .../lodash/_isStrictComparable.js | 15 + .../node_modules/lodash/_iteratorToArray.js | 18 + .../zeit/node_modules/lodash/_lazyClone.js | 23 + .../zeit/node_modules/lodash/_lazyReverse.js | 23 + .../zeit/node_modules/lodash/_lazyValue.js | 73 + .../zeit/node_modules/lodash/_mapClear.js | 19 + .../zeit/node_modules/lodash/_mapDelete.js | 23 + .../zeit/node_modules/lodash/_mapGet.js | 23 + .../zeit/node_modules/lodash/_mapHas.js | 23 + .../zeit/node_modules/lodash/_mapSet.js | 28 + .../zeit/node_modules/lodash/_mapToArray.js | 18 + .../zeit/node_modules/lodash/_mergeData.js | 90 + .../node_modules/lodash/_mergeDefaults.js | 24 + .../zeit/node_modules/lodash/_metaMap.js | 6 + .../zeit/node_modules/lodash/_nativeCreate.js | 6 + .../zeit/node_modules/lodash/_parent.js | 16 + .../zeit/node_modules/lodash/_reEscape.js | 4 + .../zeit/node_modules/lodash/_reEvaluate.js | 4 + .../node_modules/lodash/_reInterpolate.js | 4 + .../zeit/node_modules/lodash/_realNames.js | 4 + .../zeit/node_modules/lodash/_reorder.js | 29 + .../node_modules/lodash/_replaceHolders.js | 28 + .../zeit/node_modules/lodash/_root.js | 41 + .../zeit/node_modules/lodash/_setData.js | 41 + .../zeit/node_modules/lodash/_setToArray.js | 18 + .../zeit/node_modules/lodash/_stackClear.js | 12 + .../zeit/node_modules/lodash/_stackDelete.js | 19 + .../zeit/node_modules/lodash/_stackGet.js | 19 + .../zeit/node_modules/lodash/_stackHas.js | 19 + .../zeit/node_modules/lodash/_stackSet.js | 36 + .../zeit/node_modules/lodash/_stringSize.js | 48 + .../node_modules/lodash/_stringToArray.js | 38 + .../zeit/node_modules/lodash/_stringToPath.js | 24 + .../node_modules/lodash/_unescapeHtmlChar.js | 22 + .../zeit/node_modules/lodash/_wrapperClone.js | 23 + .../zeit/node_modules/lodash/add.js | 29 + .../zeit/node_modules/lodash/after.js | 41 + .../zeit/node_modules/lodash/array.js | 64 + .../zeit/node_modules/lodash/ary.js | 28 + .../zeit/node_modules/lodash/assign.js | 39 + .../zeit/node_modules/lodash/assignIn.js | 38 + .../zeit/node_modules/lodash/assignInWith.js | 36 + .../zeit/node_modules/lodash/assignWith.js | 35 + .../zeit/node_modules/lodash/at.js | 29 + .../zeit/node_modules/lodash/attempt.js | 33 + .../zeit/node_modules/lodash/before.js | 39 + .../zeit/node_modules/lodash/bind.js | 58 + .../zeit/node_modules/lodash/bindAll.js | 39 + .../zeit/node_modules/lodash/bindKey.js | 68 + .../zeit/node_modules/lodash/camelCase.js | 28 + .../zeit/node_modules/lodash/capitalize.js | 22 + .../zeit/node_modules/lodash/castArray.js | 43 + .../zeit/node_modules/lodash/ceil.js | 25 + .../zeit/node_modules/lodash/chain.js | 36 + .../zeit/node_modules/lodash/chunk.js | 44 + .../zeit/node_modules/lodash/clamp.js | 38 + .../zeit/node_modules/lodash/clone.js | 31 + .../zeit/node_modules/lodash/cloneDeep.js | 23 + .../zeit/node_modules/lodash/cloneDeepWith.js | 33 + .../zeit/node_modules/lodash/cloneWith.js | 36 + .../zeit/node_modules/lodash/collection.js | 29 + .../zeit/node_modules/lodash/commit.js | 32 + .../zeit/node_modules/lodash/compact.js | 30 + .../zeit/node_modules/lodash/concat.js | 35 + .../zeit/node_modules/lodash/cond.js | 58 + .../zeit/node_modules/lodash/conforms.js | 28 + .../zeit/node_modules/lodash/constant.js | 23 + .../zeit/node_modules/lodash/core.js | 3824 ++ .../zeit/node_modules/lodash/countBy.js | 33 + .../zeit/node_modules/lodash/create.js | 41 + .../zeit/node_modules/lodash/curry.js | 56 + .../zeit/node_modules/lodash/curryRight.js | 53 + .../zeit/node_modules/lodash/date.js | 3 + .../zeit/node_modules/lodash/debounce.js | 177 + .../zeit/node_modules/lodash/deburr.js | 39 + .../zeit/node_modules/lodash/defaults.js | 30 + .../zeit/node_modules/lodash/defaultsDeep.js | 29 + .../zeit/node_modules/lodash/defer.js | 25 + .../zeit/node_modules/lodash/delay.js | 27 + .../zeit/node_modules/lodash/difference.js | 28 + .../zeit/node_modules/lodash/differenceBy.js | 39 + .../node_modules/lodash/differenceWith.js | 36 + .../zeit/node_modules/lodash/drop.js | 37 + .../zeit/node_modules/lodash/dropRight.js | 38 + .../node_modules/lodash/dropRightWhile.js | 44 + .../zeit/node_modules/lodash/dropWhile.js | 44 + .../zeit/node_modules/lodash/each.js | 1 + .../zeit/node_modules/lodash/eachRight.js | 1 + .../zeit/node_modules/lodash/endsWith.js | 39 + .../zeit/node_modules/lodash/eq.js | 35 + .../zeit/node_modules/lodash/escape.js | 47 + .../zeit/node_modules/lodash/escapeRegExp.js | 28 + .../zeit/node_modules/lodash/every.js | 49 + .../zeit/node_modules/lodash/extend.js | 1 + .../zeit/node_modules/lodash/extendWith.js | 1 + .../zeit/node_modules/lodash/fill.js | 44 + .../zeit/node_modules/lodash/filter.js | 44 + .../zeit/node_modules/lodash/find.js | 50 + .../zeit/node_modules/lodash/findIndex.js | 43 + .../zeit/node_modules/lodash/findKey.js | 42 + .../zeit/node_modules/lodash/findLast.js | 33 + .../zeit/node_modules/lodash/findLastIndex.js | 43 + .../zeit/node_modules/lodash/findLastKey.js | 42 + .../zeit/node_modules/lodash/flatMap.js | 28 + .../zeit/node_modules/lodash/flatten.js | 21 + .../zeit/node_modules/lodash/flattenDeep.js | 24 + .../zeit/node_modules/lodash/flattenDepth.js | 32 + .../zeit/node_modules/lodash/flip.js | 27 + .../zeit/node_modules/lodash/floor.js | 25 + .../zeit/node_modules/lodash/flow.js | 25 + .../zeit/node_modules/lodash/flowRight.js | 24 + .../zeit/node_modules/lodash/forEach.js | 40 + .../zeit/node_modules/lodash/forEachRight.js | 30 + .../zeit/node_modules/lodash/forIn.js | 37 + .../zeit/node_modules/lodash/forInRight.js | 35 + .../zeit/node_modules/lodash/forOwn.js | 34 + .../zeit/node_modules/lodash/forOwnRight.js | 32 + .../zeit/node_modules/lodash/fp.js | 2 + .../node_modules/lodash/fp/_baseConvert.js | 280 + .../node_modules/lodash/fp/_convertBrowser.js | 17 + .../zeit/node_modules/lodash/fp/_mapping.js | 233 + .../zeit/node_modules/lodash/fp/_util.js | 12 + .../zeit/node_modules/lodash/fp/add.js | 2 + .../zeit/node_modules/lodash/fp/after.js | 2 + .../zeit/node_modules/lodash/fp/all.js | 1 + .../zeit/node_modules/lodash/fp/allPass.js | 1 + .../zeit/node_modules/lodash/fp/apply.js | 1 + .../zeit/node_modules/lodash/fp/array.js | 2 + .../zeit/node_modules/lodash/fp/ary.js | 2 + .../zeit/node_modules/lodash/fp/assign.js | 2 + .../zeit/node_modules/lodash/fp/assignIn.js | 2 + .../node_modules/lodash/fp/assignInWith.js | 2 + .../zeit/node_modules/lodash/fp/assignWith.js | 2 + .../zeit/node_modules/lodash/fp/assoc.js | 1 + .../zeit/node_modules/lodash/fp/assocPath.js | 1 + .../zeit/node_modules/lodash/fp/at.js | 2 + .../zeit/node_modules/lodash/fp/attempt.js | 2 + .../zeit/node_modules/lodash/fp/before.js | 2 + .../zeit/node_modules/lodash/fp/bind.js | 2 + .../zeit/node_modules/lodash/fp/bindAll.js | 1 + .../zeit/node_modules/lodash/fp/bindKey.js | 2 + .../zeit/node_modules/lodash/fp/camelCase.js | 1 + .../zeit/node_modules/lodash/fp/capitalize.js | 1 + .../zeit/node_modules/lodash/fp/castArray.js | 2 + .../zeit/node_modules/lodash/fp/ceil.js | 2 + .../zeit/node_modules/lodash/fp/chain.js | 1 + .../zeit/node_modules/lodash/fp/chunk.js | 2 + .../zeit/node_modules/lodash/fp/clamp.js | 2 + .../zeit/node_modules/lodash/fp/clone.js | 1 + .../zeit/node_modules/lodash/fp/cloneDeep.js | 1 + .../node_modules/lodash/fp/cloneDeepWith.js | 2 + .../zeit/node_modules/lodash/fp/cloneWith.js | 2 + .../zeit/node_modules/lodash/fp/collection.js | 2 + .../zeit/node_modules/lodash/fp/commit.js | 1 + .../zeit/node_modules/lodash/fp/compact.js | 1 + .../zeit/node_modules/lodash/fp/compose.js | 1 + .../zeit/node_modules/lodash/fp/concat.js | 2 + .../zeit/node_modules/lodash/fp/cond.js | 1 + .../zeit/node_modules/lodash/fp/conforms.js | 1 + .../zeit/node_modules/lodash/fp/constant.js | 1 + .../zeit/node_modules/lodash/fp/contains.js | 1 + .../zeit/node_modules/lodash/fp/convert.js | 17 + .../zeit/node_modules/lodash/fp/countBy.js | 2 + .../zeit/node_modules/lodash/fp/create.js | 2 + .../zeit/node_modules/lodash/fp/curry.js | 2 + .../zeit/node_modules/lodash/fp/curryN.js | 2 + .../zeit/node_modules/lodash/fp/curryRight.js | 2 + .../node_modules/lodash/fp/curryRightN.js | 2 + .../zeit/node_modules/lodash/fp/date.js | 2 + .../zeit/node_modules/lodash/fp/debounce.js | 2 + .../zeit/node_modules/lodash/fp/deburr.js | 1 + .../zeit/node_modules/lodash/fp/defaults.js | 2 + .../node_modules/lodash/fp/defaultsDeep.js | 2 + .../zeit/node_modules/lodash/fp/defer.js | 1 + .../zeit/node_modules/lodash/fp/delay.js | 2 + .../zeit/node_modules/lodash/fp/difference.js | 2 + .../node_modules/lodash/fp/differenceBy.js | 2 + .../node_modules/lodash/fp/differenceWith.js | 2 + .../zeit/node_modules/lodash/fp/dissoc.js | 1 + .../zeit/node_modules/lodash/fp/dissocPath.js | 1 + .../zeit/node_modules/lodash/fp/drop.js | 2 + .../zeit/node_modules/lodash/fp/dropRight.js | 2 + .../node_modules/lodash/fp/dropRightWhile.js | 2 + .../zeit/node_modules/lodash/fp/dropWhile.js | 2 + .../zeit/node_modules/lodash/fp/each.js | 1 + .../zeit/node_modules/lodash/fp/eachRight.js | 1 + .../zeit/node_modules/lodash/fp/endsWith.js | 2 + .../zeit/node_modules/lodash/fp/eq.js | 2 + .../zeit/node_modules/lodash/fp/equals.js | 1 + .../zeit/node_modules/lodash/fp/escape.js | 1 + .../node_modules/lodash/fp/escapeRegExp.js | 1 + .../zeit/node_modules/lodash/fp/every.js | 2 + .../zeit/node_modules/lodash/fp/extend.js | 1 + .../zeit/node_modules/lodash/fp/extendWith.js | 1 + .../zeit/node_modules/lodash/fp/fill.js | 2 + .../zeit/node_modules/lodash/fp/filter.js | 2 + .../zeit/node_modules/lodash/fp/find.js | 2 + .../zeit/node_modules/lodash/fp/findIndex.js | 2 + .../zeit/node_modules/lodash/fp/findKey.js | 2 + .../zeit/node_modules/lodash/fp/findLast.js | 2 + .../node_modules/lodash/fp/findLastIndex.js | 2 + .../node_modules/lodash/fp/findLastKey.js | 2 + .../zeit/node_modules/lodash/fp/first.js | 1 + .../zeit/node_modules/lodash/fp/flatMap.js | 2 + .../zeit/node_modules/lodash/fp/flatten.js | 1 + .../node_modules/lodash/fp/flattenDeep.js | 1 + .../node_modules/lodash/fp/flattenDepth.js | 2 + .../zeit/node_modules/lodash/fp/flip.js | 1 + .../zeit/node_modules/lodash/fp/floor.js | 2 + .../zeit/node_modules/lodash/fp/flow.js | 1 + .../zeit/node_modules/lodash/fp/flowRight.js | 1 + .../zeit/node_modules/lodash/fp/forEach.js | 2 + .../node_modules/lodash/fp/forEachRight.js | 2 + .../zeit/node_modules/lodash/fp/forIn.js | 2 + .../zeit/node_modules/lodash/fp/forInRight.js | 2 + .../zeit/node_modules/lodash/fp/forOwn.js | 2 + .../node_modules/lodash/fp/forOwnRight.js | 2 + .../zeit/node_modules/lodash/fp/fromPairs.js | 2 + .../zeit/node_modules/lodash/fp/function.js | 2 + .../zeit/node_modules/lodash/fp/functions.js | 1 + .../node_modules/lodash/fp/functionsIn.js | 1 + .../zeit/node_modules/lodash/fp/get.js | 2 + .../zeit/node_modules/lodash/fp/getOr.js | 2 + .../zeit/node_modules/lodash/fp/groupBy.js | 2 + .../zeit/node_modules/lodash/fp/gt.js | 2 + .../zeit/node_modules/lodash/fp/gte.js | 2 + .../zeit/node_modules/lodash/fp/has.js | 2 + .../zeit/node_modules/lodash/fp/hasIn.js | 2 + .../zeit/node_modules/lodash/fp/head.js | 1 + .../zeit/node_modules/lodash/fp/identity.js | 1 + .../zeit/node_modules/lodash/fp/inRange.js | 2 + .../zeit/node_modules/lodash/fp/includes.js | 2 + .../zeit/node_modules/lodash/fp/indexOf.js | 2 + .../zeit/node_modules/lodash/fp/init.js | 1 + .../zeit/node_modules/lodash/fp/initial.js | 1 + .../node_modules/lodash/fp/intersection.js | 2 + .../node_modules/lodash/fp/intersectionBy.js | 2 + .../lodash/fp/intersectionWith.js | 2 + .../zeit/node_modules/lodash/fp/invert.js | 2 + .../zeit/node_modules/lodash/fp/invertBy.js | 2 + .../zeit/node_modules/lodash/fp/invoke.js | 2 + .../zeit/node_modules/lodash/fp/invokeMap.js | 2 + .../node_modules/lodash/fp/isArguments.js | 1 + .../zeit/node_modules/lodash/fp/isArray.js | 1 + .../node_modules/lodash/fp/isArrayBuffer.js | 1 + .../node_modules/lodash/fp/isArrayLike.js | 1 + .../lodash/fp/isArrayLikeObject.js | 1 + .../zeit/node_modules/lodash/fp/isBoolean.js | 1 + .../zeit/node_modules/lodash/fp/isBuffer.js | 1 + .../zeit/node_modules/lodash/fp/isDate.js | 1 + .../zeit/node_modules/lodash/fp/isElement.js | 1 + .../zeit/node_modules/lodash/fp/isEmpty.js | 1 + .../zeit/node_modules/lodash/fp/isEqual.js | 2 + .../node_modules/lodash/fp/isEqualWith.js | 2 + .../zeit/node_modules/lodash/fp/isError.js | 1 + .../zeit/node_modules/lodash/fp/isFinite.js | 1 + .../zeit/node_modules/lodash/fp/isFunction.js | 1 + .../zeit/node_modules/lodash/fp/isInteger.js | 1 + .../zeit/node_modules/lodash/fp/isLength.js | 1 + .../zeit/node_modules/lodash/fp/isMap.js | 1 + .../zeit/node_modules/lodash/fp/isMatch.js | 2 + .../node_modules/lodash/fp/isMatchWith.js | 2 + .../zeit/node_modules/lodash/fp/isNaN.js | 1 + .../zeit/node_modules/lodash/fp/isNative.js | 1 + .../zeit/node_modules/lodash/fp/isNil.js | 1 + .../zeit/node_modules/lodash/fp/isNull.js | 1 + .../zeit/node_modules/lodash/fp/isNumber.js | 1 + .../zeit/node_modules/lodash/fp/isObject.js | 1 + .../node_modules/lodash/fp/isObjectLike.js | 1 + .../node_modules/lodash/fp/isPlainObject.js | 1 + .../zeit/node_modules/lodash/fp/isRegExp.js | 1 + .../node_modules/lodash/fp/isSafeInteger.js | 1 + .../zeit/node_modules/lodash/fp/isSet.js | 1 + .../zeit/node_modules/lodash/fp/isString.js | 1 + .../zeit/node_modules/lodash/fp/isSymbol.js | 1 + .../node_modules/lodash/fp/isTypedArray.js | 1 + .../node_modules/lodash/fp/isUndefined.js | 1 + .../zeit/node_modules/lodash/fp/isWeakMap.js | 1 + .../zeit/node_modules/lodash/fp/isWeakSet.js | 1 + .../zeit/node_modules/lodash/fp/iteratee.js | 2 + .../zeit/node_modules/lodash/fp/join.js | 2 + .../zeit/node_modules/lodash/fp/kebabCase.js | 1 + .../zeit/node_modules/lodash/fp/keyBy.js | 2 + .../zeit/node_modules/lodash/fp/keys.js | 1 + .../zeit/node_modules/lodash/fp/keysIn.js | 1 + .../zeit/node_modules/lodash/fp/lang.js | 2 + .../zeit/node_modules/lodash/fp/last.js | 1 + .../node_modules/lodash/fp/lastIndexOf.js | 2 + .../zeit/node_modules/lodash/fp/lowerCase.js | 1 + .../zeit/node_modules/lodash/fp/lowerFirst.js | 1 + .../zeit/node_modules/lodash/fp/lt.js | 2 + .../zeit/node_modules/lodash/fp/lte.js | 2 + .../zeit/node_modules/lodash/fp/map.js | 2 + .../zeit/node_modules/lodash/fp/mapKeys.js | 2 + .../zeit/node_modules/lodash/fp/mapObj.js | 1 + .../zeit/node_modules/lodash/fp/mapValues.js | 2 + .../zeit/node_modules/lodash/fp/matches.js | 1 + .../node_modules/lodash/fp/matchesProperty.js | 2 + .../zeit/node_modules/lodash/fp/math.js | 2 + .../zeit/node_modules/lodash/fp/max.js | 1 + .../zeit/node_modules/lodash/fp/maxBy.js | 2 + .../zeit/node_modules/lodash/fp/mean.js | 1 + .../zeit/node_modules/lodash/fp/memoize.js | 2 + .../zeit/node_modules/lodash/fp/merge.js | 2 + .../zeit/node_modules/lodash/fp/mergeWith.js | 2 + .../zeit/node_modules/lodash/fp/method.js | 2 + .../zeit/node_modules/lodash/fp/methodOf.js | 2 + .../zeit/node_modules/lodash/fp/min.js | 1 + .../zeit/node_modules/lodash/fp/minBy.js | 2 + .../zeit/node_modules/lodash/fp/mixin.js | 2 + .../zeit/node_modules/lodash/fp/nAry.js | 1 + .../zeit/node_modules/lodash/fp/negate.js | 1 + .../zeit/node_modules/lodash/fp/next.js | 1 + .../zeit/node_modules/lodash/fp/noop.js | 1 + .../zeit/node_modules/lodash/fp/now.js | 1 + .../zeit/node_modules/lodash/fp/nthArg.js | 1 + .../zeit/node_modules/lodash/fp/number.js | 2 + .../zeit/node_modules/lodash/fp/object.js | 2 + .../zeit/node_modules/lodash/fp/omit.js | 2 + .../zeit/node_modules/lodash/fp/omitAll.js | 1 + .../zeit/node_modules/lodash/fp/omitBy.js | 2 + .../zeit/node_modules/lodash/fp/once.js | 1 + .../zeit/node_modules/lodash/fp/orderBy.js | 2 + .../zeit/node_modules/lodash/fp/over.js | 2 + .../zeit/node_modules/lodash/fp/overArgs.js | 2 + .../zeit/node_modules/lodash/fp/overEvery.js | 2 + .../zeit/node_modules/lodash/fp/overSome.js | 2 + .../zeit/node_modules/lodash/fp/pad.js | 2 + .../zeit/node_modules/lodash/fp/padEnd.js | 2 + .../zeit/node_modules/lodash/fp/padStart.js | 2 + .../zeit/node_modules/lodash/fp/parseInt.js | 2 + .../zeit/node_modules/lodash/fp/partial.js | 2 + .../node_modules/lodash/fp/partialRight.js | 2 + .../zeit/node_modules/lodash/fp/partition.js | 2 + .../zeit/node_modules/lodash/fp/path.js | 1 + .../zeit/node_modules/lodash/fp/pathEq.js | 1 + .../zeit/node_modules/lodash/fp/pathOr.js | 1 + .../zeit/node_modules/lodash/fp/pick.js | 2 + .../zeit/node_modules/lodash/fp/pickAll.js | 1 + .../zeit/node_modules/lodash/fp/pickBy.js | 2 + .../zeit/node_modules/lodash/fp/pipe.js | 1 + .../zeit/node_modules/lodash/fp/plant.js | 1 + .../zeit/node_modules/lodash/fp/prop.js | 1 + .../zeit/node_modules/lodash/fp/propOf.js | 1 + .../zeit/node_modules/lodash/fp/propOr.js | 1 + .../zeit/node_modules/lodash/fp/property.js | 1 + .../zeit/node_modules/lodash/fp/propertyOf.js | 1 + .../zeit/node_modules/lodash/fp/pull.js | 2 + .../zeit/node_modules/lodash/fp/pullAll.js | 2 + .../zeit/node_modules/lodash/fp/pullAllBy.js | 2 + .../zeit/node_modules/lodash/fp/pullAt.js | 2 + .../zeit/node_modules/lodash/fp/random.js | 2 + .../zeit/node_modules/lodash/fp/range.js | 2 + .../zeit/node_modules/lodash/fp/rangeRight.js | 2 + .../zeit/node_modules/lodash/fp/rearg.js | 2 + .../zeit/node_modules/lodash/fp/reduce.js | 2 + .../node_modules/lodash/fp/reduceRight.js | 2 + .../zeit/node_modules/lodash/fp/reject.js | 2 + .../zeit/node_modules/lodash/fp/remove.js | 2 + .../zeit/node_modules/lodash/fp/repeat.js | 2 + .../zeit/node_modules/lodash/fp/replace.js | 2 + .../zeit/node_modules/lodash/fp/rest.js | 2 + .../zeit/node_modules/lodash/fp/result.js | 2 + .../zeit/node_modules/lodash/fp/reverse.js | 2 + .../zeit/node_modules/lodash/fp/round.js | 2 + .../zeit/node_modules/lodash/fp/sample.js | 1 + .../zeit/node_modules/lodash/fp/sampleSize.js | 2 + .../zeit/node_modules/lodash/fp/seq.js | 2 + .../zeit/node_modules/lodash/fp/set.js | 2 + .../zeit/node_modules/lodash/fp/setWith.js | 2 + .../zeit/node_modules/lodash/fp/shuffle.js | 1 + .../zeit/node_modules/lodash/fp/size.js | 1 + .../zeit/node_modules/lodash/fp/slice.js | 2 + .../zeit/node_modules/lodash/fp/snakeCase.js | 1 + .../zeit/node_modules/lodash/fp/some.js | 2 + .../zeit/node_modules/lodash/fp/somePass.js | 1 + .../zeit/node_modules/lodash/fp/sortBy.js | 2 + .../node_modules/lodash/fp/sortedIndex.js | 2 + .../node_modules/lodash/fp/sortedIndexBy.js | 2 + .../node_modules/lodash/fp/sortedIndexOf.js | 2 + .../node_modules/lodash/fp/sortedLastIndex.js | 2 + .../lodash/fp/sortedLastIndexBy.js | 2 + .../lodash/fp/sortedLastIndexOf.js | 2 + .../zeit/node_modules/lodash/fp/sortedUniq.js | 1 + .../node_modules/lodash/fp/sortedUniqBy.js | 2 + .../zeit/node_modules/lodash/fp/split.js | 2 + .../zeit/node_modules/lodash/fp/spread.js | 2 + .../zeit/node_modules/lodash/fp/startCase.js | 1 + .../zeit/node_modules/lodash/fp/startsWith.js | 2 + .../zeit/node_modules/lodash/fp/string.js | 2 + .../zeit/node_modules/lodash/fp/subtract.js | 2 + .../zeit/node_modules/lodash/fp/sum.js | 1 + .../zeit/node_modules/lodash/fp/sumBy.js | 2 + .../zeit/node_modules/lodash/fp/tail.js | 1 + .../zeit/node_modules/lodash/fp/take.js | 2 + .../zeit/node_modules/lodash/fp/takeRight.js | 2 + .../node_modules/lodash/fp/takeRightWhile.js | 2 + .../zeit/node_modules/lodash/fp/takeWhile.js | 2 + .../zeit/node_modules/lodash/fp/tap.js | 2 + .../zeit/node_modules/lodash/fp/template.js | 2 + .../lodash/fp/templateSettings.js | 1 + .../zeit/node_modules/lodash/fp/throttle.js | 2 + .../zeit/node_modules/lodash/fp/thru.js | 2 + .../zeit/node_modules/lodash/fp/times.js | 2 + .../zeit/node_modules/lodash/fp/toArray.js | 1 + .../zeit/node_modules/lodash/fp/toInteger.js | 1 + .../zeit/node_modules/lodash/fp/toIterator.js | 1 + .../zeit/node_modules/lodash/fp/toJSON.js | 1 + .../zeit/node_modules/lodash/fp/toLength.js | 1 + .../zeit/node_modules/lodash/fp/toLower.js | 1 + .../zeit/node_modules/lodash/fp/toNumber.js | 1 + .../zeit/node_modules/lodash/fp/toPairs.js | 1 + .../zeit/node_modules/lodash/fp/toPairsIn.js | 1 + .../zeit/node_modules/lodash/fp/toPath.js | 1 + .../node_modules/lodash/fp/toPlainObject.js | 1 + .../node_modules/lodash/fp/toSafeInteger.js | 1 + .../zeit/node_modules/lodash/fp/toString.js | 1 + .../zeit/node_modules/lodash/fp/toUpper.js | 1 + .../zeit/node_modules/lodash/fp/transform.js | 2 + .../zeit/node_modules/lodash/fp/trim.js | 2 + .../zeit/node_modules/lodash/fp/trimChars.js | 2 + .../node_modules/lodash/fp/trimCharsEnd.js | 2 + .../node_modules/lodash/fp/trimCharsStart.js | 2 + .../zeit/node_modules/lodash/fp/trimEnd.js | 2 + .../zeit/node_modules/lodash/fp/trimStart.js | 2 + .../zeit/node_modules/lodash/fp/truncate.js | 2 + .../zeit/node_modules/lodash/fp/unapply.js | 1 + .../zeit/node_modules/lodash/fp/unary.js | 1 + .../zeit/node_modules/lodash/fp/unescape.js | 1 + .../zeit/node_modules/lodash/fp/union.js | 2 + .../zeit/node_modules/lodash/fp/unionBy.js | 2 + .../zeit/node_modules/lodash/fp/unionWith.js | 2 + .../zeit/node_modules/lodash/fp/uniq.js | 1 + .../zeit/node_modules/lodash/fp/uniqBy.js | 2 + .../zeit/node_modules/lodash/fp/uniqWith.js | 2 + .../zeit/node_modules/lodash/fp/uniqueId.js | 2 + .../zeit/node_modules/lodash/fp/unnest.js | 1 + .../zeit/node_modules/lodash/fp/unset.js | 2 + .../zeit/node_modules/lodash/fp/unzip.js | 1 + .../zeit/node_modules/lodash/fp/unzipWith.js | 2 + .../zeit/node_modules/lodash/fp/upperCase.js | 1 + .../zeit/node_modules/lodash/fp/upperFirst.js | 1 + .../zeit/node_modules/lodash/fp/useWith.js | 1 + .../zeit/node_modules/lodash/fp/util.js | 2 + .../zeit/node_modules/lodash/fp/value.js | 1 + .../zeit/node_modules/lodash/fp/valueOf.js | 1 + .../zeit/node_modules/lodash/fp/values.js | 1 + .../zeit/node_modules/lodash/fp/valuesIn.js | 1 + .../zeit/node_modules/lodash/fp/whereEq.js | 1 + .../zeit/node_modules/lodash/fp/without.js | 2 + .../zeit/node_modules/lodash/fp/words.js | 2 + .../zeit/node_modules/lodash/fp/wrap.js | 2 + .../zeit/node_modules/lodash/fp/wrapperAt.js | 1 + .../node_modules/lodash/fp/wrapperChain.js | 1 + .../node_modules/lodash/fp/wrapperFlatMap.js | 1 + .../node_modules/lodash/fp/wrapperLodash.js | 1 + .../node_modules/lodash/fp/wrapperReverse.js | 1 + .../node_modules/lodash/fp/wrapperValue.js | 1 + .../zeit/node_modules/lodash/fp/xor.js | 2 + .../zeit/node_modules/lodash/fp/xorBy.js | 2 + .../zeit/node_modules/lodash/fp/xorWith.js | 2 + .../zeit/node_modules/lodash/fp/zip.js | 2 + .../zeit/node_modules/lodash/fp/zipObj.js | 1 + .../zeit/node_modules/lodash/fp/zipObject.js | 2 + .../node_modules/lodash/fp/zipObjectDeep.js | 2 + .../zeit/node_modules/lodash/fp/zipWith.js | 2 + .../zeit/node_modules/lodash/fromPairs.js | 27 + .../zeit/node_modules/lodash/function.js | 25 + .../zeit/node_modules/lodash/functions.js | 29 + .../zeit/node_modules/lodash/functionsIn.js | 29 + .../zeit/node_modules/lodash/get.js | 32 + .../zeit/node_modules/lodash/groupBy.js | 38 + .../zeit/node_modules/lodash/gt.js | 25 + .../zeit/node_modules/lodash/gte.js | 25 + .../zeit/node_modules/lodash/has.js | 34 + .../zeit/node_modules/lodash/hasIn.js | 33 + .../zeit/node_modules/lodash/head.js | 22 + .../zeit/node_modules/lodash/identity.js | 20 + .../zeit/node_modules/lodash/inRange.js | 52 + .../zeit/node_modules/lodash/includes.js | 51 + .../zeit/node_modules/lodash/index.js | 1 + .../zeit/node_modules/lodash/indexOf.js | 41 + .../zeit/node_modules/lodash/initial.js | 20 + .../zeit/node_modules/lodash/intersection.js | 28 + .../node_modules/lodash/intersectionBy.js | 42 + .../node_modules/lodash/intersectionWith.js | 40 + .../zeit/node_modules/lodash/invert.js | 26 + .../zeit/node_modules/lodash/invertBy.js | 43 + .../zeit/node_modules/lodash/invoke.js | 23 + .../zeit/node_modules/lodash/invokeMap.js | 43 + .../zeit/node_modules/lodash/isArguments.js | 43 + .../zeit/node_modules/lodash/isArray.js | 26 + .../zeit/node_modules/lodash/isArrayBuffer.js | 34 + .../zeit/node_modules/lodash/isArrayLike.js | 34 + .../node_modules/lodash/isArrayLikeObject.js | 31 + .../zeit/node_modules/lodash/isBoolean.js | 36 + .../zeit/node_modules/lodash/isBuffer.js | 48 + .../zeit/node_modules/lodash/isDate.js | 35 + .../zeit/node_modules/lodash/isElement.js | 24 + .../zeit/node_modules/lodash/isEmpty.js | 54 + .../zeit/node_modules/lodash/isEqual.js | 34 + .../zeit/node_modules/lodash/isEqualWith.js | 40 + .../zeit/node_modules/lodash/isError.js | 41 + .../zeit/node_modules/lodash/isFinite.js | 34 + .../zeit/node_modules/lodash/isFunction.js | 40 + .../zeit/node_modules/lodash/isInteger.js | 31 + .../zeit/node_modules/lodash/isLength.js | 33 + .../zeit/node_modules/lodash/isMap.js | 27 + .../zeit/node_modules/lodash/isMatch.js | 31 + .../zeit/node_modules/lodash/isMatchWith.js | 40 + .../zeit/node_modules/lodash/isNaN.js | 34 + .../zeit/node_modules/lodash/isNative.js | 53 + .../zeit/node_modules/lodash/isNil.js | 24 + .../zeit/node_modules/lodash/isNull.js | 21 + .../zeit/node_modules/lodash/isNumber.js | 45 + .../zeit/node_modules/lodash/isObject.js | 29 + .../zeit/node_modules/lodash/isObjectLike.js | 28 + .../zeit/node_modules/lodash/isPlainObject.js | 69 + .../zeit/node_modules/lodash/isRegExp.js | 35 + .../zeit/node_modules/lodash/isSafeInteger.js | 35 + .../zeit/node_modules/lodash/isSet.js | 27 + .../zeit/node_modules/lodash/isString.js | 37 + .../zeit/node_modules/lodash/isSymbol.js | 36 + .../zeit/node_modules/lodash/isTypedArray.js | 75 + .../zeit/node_modules/lodash/isUndefined.js | 21 + .../zeit/node_modules/lodash/isWeakMap.js | 27 + .../zeit/node_modules/lodash/isWeakSet.js | 35 + .../zeit/node_modules/lodash/iteratee.js | 38 + .../zeit/node_modules/lodash/join.js | 25 + .../zeit/node_modules/lodash/kebabCase.js | 26 + .../zeit/node_modules/lodash/keyBy.js | 34 + .../zeit/node_modules/lodash/keys.js | 55 + .../zeit/node_modules/lodash/keysIn.js | 54 + .../zeit/node_modules/lodash/lang.js | 56 + .../zeit/node_modules/lodash/last.js | 19 + .../zeit/node_modules/lodash/lastIndexOf.js | 49 + .../zeit/node_modules/lodash/lodash.js | 14898 +++++ .../zeit/node_modules/lodash/lowerCase.js | 26 + .../zeit/node_modules/lodash/lowerFirst.js | 21 + .../zeit/node_modules/lodash/lt.js | 25 + .../zeit/node_modules/lodash/lte.js | 25 + .../zeit/node_modules/lodash/map.js | 52 + .../zeit/node_modules/lodash/mapKeys.js | 32 + .../zeit/node_modules/lodash/mapValues.js | 39 + .../zeit/node_modules/lodash/matches.js | 31 + .../node_modules/lodash/matchesProperty.js | 31 + .../zeit/node_modules/lodash/math.js | 14 + .../zeit/node_modules/lodash/max.js | 28 + .../zeit/node_modules/lodash/maxBy.js | 33 + .../zeit/node_modules/lodash/mean.js | 20 + .../zeit/node_modules/lodash/memoize.js | 71 + .../zeit/node_modules/lodash/merge.js | 37 + .../zeit/node_modules/lodash/mergeWith.js | 45 + .../zeit/node_modules/lodash/method.js | 33 + .../zeit/node_modules/lodash/methodOf.js | 32 + .../zeit/node_modules/lodash/min.js | 28 + .../zeit/node_modules/lodash/minBy.js | 33 + .../zeit/node_modules/lodash/mixin.js | 74 + .../zeit/node_modules/lodash/negate.js | 32 + .../zeit/node_modules/lodash/next.js | 34 + .../zeit/node_modules/lodash/noop.js | 19 + .../zeit/node_modules/lodash/now.js | 19 + .../zeit/node_modules/lodash/nthArg.js | 25 + .../zeit/node_modules/lodash/number.js | 5 + .../zeit/node_modules/lodash/object.js | 44 + .../zeit/node_modules/lodash/omit.js | 34 + .../zeit/node_modules/lodash/omitBy.js | 29 + .../zeit/node_modules/lodash/once.js | 24 + .../zeit/node_modules/lodash/orderBy.js | 45 + .../zeit/node_modules/lodash/over.js | 22 + .../zeit/node_modules/lodash/overArgs.js | 56 + .../zeit/node_modules/lodash/overEvery.js | 28 + .../zeit/node_modules/lodash/overSome.js | 28 + .../zeit/node_modules/lodash/package.json | 71 + .../zeit/node_modules/lodash/pad.js | 47 + .../zeit/node_modules/lodash/padEnd.js | 31 + .../zeit/node_modules/lodash/padStart.js | 31 + .../zeit/node_modules/lodash/parseInt.js | 48 + .../zeit/node_modules/lodash/partial.js | 50 + .../zeit/node_modules/lodash/partialRight.js | 49 + .../zeit/node_modules/lodash/partition.js | 42 + .../zeit/node_modules/lodash/pick.js | 26 + .../zeit/node_modules/lodash/pickBy.js | 25 + .../zeit/node_modules/lodash/plant.js | 47 + .../zeit/node_modules/lodash/property.js | 30 + .../zeit/node_modules/lodash/propertyOf.js | 29 + .../zeit/node_modules/lodash/pull.js | 27 + .../zeit/node_modules/lodash/pullAll.js | 28 + .../zeit/node_modules/lodash/pullAllBy.js | 32 + .../zeit/node_modules/lodash/pullAt.js | 40 + .../zeit/node_modules/lodash/random.js | 81 + .../zeit/node_modules/lodash/range.js | 44 + .../zeit/node_modules/lodash/rangeRight.js | 39 + .../zeit/node_modules/lodash/rearg.js | 34 + .../zeit/node_modules/lodash/reduce.js | 49 + .../zeit/node_modules/lodash/reduceRight.js | 34 + .../zeit/node_modules/lodash/reject.js | 46 + .../zeit/node_modules/lodash/remove.js | 51 + .../zeit/node_modules/lodash/repeat.js | 51 + .../zeit/node_modules/lodash/replace.js | 27 + .../zeit/node_modules/lodash/rest.js | 61 + .../zeit/node_modules/lodash/result.js | 49 + .../zeit/node_modules/lodash/reverse.js | 32 + .../zeit/node_modules/lodash/round.js | 25 + .../zeit/node_modules/lodash/sample.js | 25 + .../zeit/node_modules/lodash/sampleSize.js | 42 + .../zeit/node_modules/lodash/seq.js | 17 + .../zeit/node_modules/lodash/set.js | 34 + .../zeit/node_modules/lodash/setWith.js | 29 + .../zeit/node_modules/lodash/shuffle.js | 24 + .../zeit/node_modules/lodash/size.js | 37 + .../zeit/node_modules/lodash/slice.js | 35 + .../zeit/node_modules/lodash/snakeCase.js | 26 + .../zeit/node_modules/lodash/some.js | 49 + .../zeit/node_modules/lodash/sortBy.js | 52 + .../zeit/node_modules/lodash/sortedIndex.js | 25 + .../zeit/node_modules/lodash/sortedIndexBy.js | 31 + .../zeit/node_modules/lodash/sortedIndexOf.js | 30 + .../node_modules/lodash/sortedLastIndex.js | 23 + .../node_modules/lodash/sortedLastIndexBy.js | 26 + .../node_modules/lodash/sortedLastIndexOf.js | 30 + .../zeit/node_modules/lodash/sortedUniq.js | 23 + .../zeit/node_modules/lodash/sortedUniqBy.js | 25 + .../zeit/node_modules/lodash/split.js | 24 + .../zeit/node_modules/lodash/spread.js | 59 + .../zeit/node_modules/lodash/startCase.js | 27 + .../zeit/node_modules/lodash/startsWith.js | 32 + .../zeit/node_modules/lodash/string.js | 33 + .../zeit/node_modules/lodash/subtract.js | 29 + .../zeit/node_modules/lodash/sum.js | 23 + .../zeit/node_modules/lodash/sumBy.js | 32 + .../zeit/node_modules/lodash/tail.js | 20 + .../zeit/node_modules/lodash/take.js | 36 + .../zeit/node_modules/lodash/takeRight.js | 38 + .../node_modules/lodash/takeRightWhile.js | 44 + .../zeit/node_modules/lodash/takeWhile.js | 44 + .../zeit/node_modules/lodash/tap.js | 28 + .../zeit/node_modules/lodash/template.js | 226 + .../node_modules/lodash/templateSettings.js | 67 + .../zeit/node_modules/lodash/throttle.js | 65 + .../zeit/node_modules/lodash/thru.js | 27 + .../zeit/node_modules/lodash/times.js | 50 + .../zeit/node_modules/lodash/toArray.js | 57 + .../zeit/node_modules/lodash/toInteger.js | 44 + .../zeit/node_modules/lodash/toIterator.js | 22 + .../zeit/node_modules/lodash/toJSON.js | 1 + .../zeit/node_modules/lodash/toLength.js | 36 + .../zeit/node_modules/lodash/toLower.js | 26 + .../zeit/node_modules/lodash/toNumber.js | 59 + .../zeit/node_modules/lodash/toPairs.js | 29 + .../zeit/node_modules/lodash/toPairsIn.js | 29 + .../zeit/node_modules/lodash/toPath.js | 34 + .../zeit/node_modules/lodash/toPlainObject.js | 31 + .../zeit/node_modules/lodash/toSafeInteger.js | 34 + .../zeit/node_modules/lodash/toString.js | 46 + .../zeit/node_modules/lodash/toUpper.js | 26 + .../zeit/node_modules/lodash/transform.js | 60 + .../zeit/node_modules/lodash/trim.js | 50 + .../zeit/node_modules/lodash/trimEnd.js | 44 + .../zeit/node_modules/lodash/trimStart.js | 44 + .../zeit/node_modules/lodash/truncate.js | 119 + .../zeit/node_modules/lodash/unary.js | 21 + .../zeit/node_modules/lodash/unescape.js | 33 + .../zeit/node_modules/lodash/union.js | 24 + .../zeit/node_modules/lodash/unionBy.js | 36 + .../zeit/node_modules/lodash/unionWith.js | 34 + .../zeit/node_modules/lodash/uniq.js | 25 + .../zeit/node_modules/lodash/uniqBy.js | 30 + .../zeit/node_modules/lodash/uniqWith.js | 27 + .../zeit/node_modules/lodash/uniqueId.js | 27 + .../zeit/node_modules/lodash/unset.js | 33 + .../zeit/node_modules/lodash/unzip.js | 44 + .../zeit/node_modules/lodash/unzipWith.js | 37 + .../zeit/node_modules/lodash/upperCase.js | 26 + .../zeit/node_modules/lodash/upperFirst.js | 21 + .../zeit/node_modules/lodash/util.js | 28 + .../zeit/node_modules/lodash/value.js | 1 + .../zeit/node_modules/lodash/valueOf.js | 1 + .../zeit/node_modules/lodash/values.js | 33 + .../zeit/node_modules/lodash/valuesIn.js | 30 + .../zeit/node_modules/lodash/without.js | 27 + .../zeit/node_modules/lodash/words.js | 85 + .../zeit/node_modules/lodash/wrap.js | 30 + .../zeit/node_modules/lodash/wrapperAt.js | 53 + .../zeit/node_modules/lodash/wrapperChain.js | 33 + .../node_modules/lodash/wrapperFlatMap.js | 22 + .../zeit/node_modules/lodash/wrapperLodash.js | 141 + .../node_modules/lodash/wrapperReverse.js | 43 + .../zeit/node_modules/lodash/wrapperValue.js | 20 + .../zeit/node_modules/lodash/xor.js | 24 + .../zeit/node_modules/lodash/xorBy.js | 36 + .../zeit/node_modules/lodash/xorWith.js | 34 + .../zeit/node_modules/lodash/zip.js | 21 + .../zeit/node_modules/lodash/zipObject.js | 23 + .../zeit/node_modules/lodash/zipObjectDeep.js | 22 + .../zeit/node_modules/lodash/zipWith.js | 30 + socket/node_modules/zeit/package.json | 75 + socket/node_modules/zeit/test/clockTest.js | 230 + .../node_modules/zeit/test/schedulerTest.js | 392 + socket/node_modules/zeit/test/utilTest.js | 23 + socket/package-lock.json | 1190 + socket/package.json | 22 + socket/public/control.html | 23 + socket/public/control.js | 43 + socket/public/img/.directory | 4 + socket/public/img/centralized.png | Bin 0 -> 42562 bytes socket/public/img/distribuited-2.png | Bin 0 -> 51017 bytes socket/public/img/distribuited.png | Bin 0 -> 62666 bytes socket/public/img/dots.png | Bin 0 -> 26420 bytes socket/public/img/git-logo.png | Bin 0 -> 2466 bytes socket/public/img/git.png | Bin 0 -> 28693 bytes socket/public/img/gitKraken.png | Bin 0 -> 19489 bytes socket/public/img/git_classic-dev-0.png | Bin 0 -> 17514 bytes socket/public/img/git_classic-dev-1.png | Bin 0 -> 26906 bytes socket/public/img/git_classic-dev-2.png | Bin 0 -> 25529 bytes socket/public/img/git_classic-dev-3.png | Bin 0 -> 20311 bytes socket/public/img/git_classic-dev-4.png | Bin 0 -> 29030 bytes socket/public/img/git_classic-dev-5.png | Bin 0 -> 26687 bytes socket/public/img/git_dots-classic.png | Bin 0 -> 21515 bytes socket/public/img/git_flof-dev-1.png | Bin 0 -> 20196 bytes socket/public/img/git_flow-dev-1.png | Bin 0 -> 40067 bytes socket/public/img/git_flow-dev-10.png | Bin 0 -> 55399 bytes socket/public/img/git_flow-dev-11.png | Bin 0 -> 63024 bytes socket/public/img/git_flow-dev-2.png | Bin 0 -> 53746 bytes socket/public/img/git_flow-dev-3.png | Bin 0 -> 44731 bytes socket/public/img/git_flow-dev-4.png | Bin 0 -> 20341 bytes socket/public/img/git_flow-dev-5.png | Bin 0 -> 44930 bytes socket/public/img/git_flow-dev-6.png | Bin 0 -> 65095 bytes socket/public/img/git_flow-dev-7.png | Bin 0 -> 60152 bytes socket/public/img/git_flow-dev-8.png | Bin 0 -> 42453 bytes socket/public/img/git_flow-dev-9.png | Bin 0 -> 58116 bytes socket/public/img/git_flow-feature-repeat.png | Bin 0 -> 463 bytes socket/public/img/git_flow-feature-start.png | Bin 0 -> 31992 bytes socket/public/img/git_flow-feature-stop.png | Bin 0 -> 23206 bytes .../public/img/git_flow-features-repeat.png | Bin 0 -> 536 bytes socket/public/img/git_repeat-classic.png | Bin 0 -> 425 bytes socket/public/img/git_repeat-classic2.png | Bin 0 -> 423 bytes socket/public/img/git_repeat.png | Bin 0 -> 365 bytes socket/public/img/git_start-classic.png | Bin 0 -> 6378 bytes socket/public/img/git_start.png | Bin 0 -> 7344 bytes socket/public/img/git_stop-classic.png | Bin 0 -> 6358 bytes socket/public/img/git_stop.png | Bin 0 -> 7335 bytes socket/public/img/pendrive.png | Bin 0 -> 67257 bytes socket/public/index.html | 401 + socket/public/main.js | 32 + socket/public/style.css | 275 + 6935 files changed, 462081 insertions(+) create mode 100755 socket/START.sh create mode 100644 socket/index.js create mode 120000 socket/node_modules/.bin/babylon create mode 120000 socket/node_modules/.bin/loose-envify create mode 100644 socket/node_modules/accepts/HISTORY.md create mode 100644 socket/node_modules/accepts/LICENSE create mode 100644 socket/node_modules/accepts/README.md create mode 100644 socket/node_modules/accepts/index.js create mode 100644 socket/node_modules/accepts/package.json create mode 100644 socket/node_modules/after/.npmignore create mode 100644 socket/node_modules/after/.travis.yml create mode 100644 socket/node_modules/after/LICENCE create mode 100644 socket/node_modules/after/README.md create mode 100644 socket/node_modules/after/index.js create mode 100644 socket/node_modules/after/package.json create mode 100644 socket/node_modules/after/test/after-test.js create mode 100644 socket/node_modules/ansi-regex/index.js create mode 100644 socket/node_modules/ansi-regex/license create mode 100644 socket/node_modules/ansi-regex/package.json create mode 100644 socket/node_modules/ansi-regex/readme.md create mode 100644 socket/node_modules/ansi-styles/index.js create mode 100644 socket/node_modules/ansi-styles/license create mode 100644 socket/node_modules/ansi-styles/package.json create mode 100644 socket/node_modules/ansi-styles/readme.md create mode 100644 socket/node_modules/arraybuffer.slice/.npmignore create mode 100644 socket/node_modules/arraybuffer.slice/LICENCE create mode 100644 socket/node_modules/arraybuffer.slice/Makefile create mode 100644 socket/node_modules/arraybuffer.slice/README.md create mode 100644 socket/node_modules/arraybuffer.slice/index.js create mode 100644 socket/node_modules/arraybuffer.slice/package.json create mode 100644 socket/node_modules/arraybuffer.slice/test/slice-buffer.js create mode 100644 socket/node_modules/asap/CHANGES.md create mode 100644 socket/node_modules/asap/LICENSE.md create mode 100644 socket/node_modules/asap/README.md create mode 100644 socket/node_modules/asap/asap.js create mode 100644 socket/node_modules/asap/browser-asap.js create mode 100644 socket/node_modules/asap/browser-raw.js create mode 100644 socket/node_modules/asap/package.json create mode 100644 socket/node_modules/asap/raw.js create mode 100644 socket/node_modules/async-limiter/.travis.yml create mode 100644 socket/node_modules/async-limiter/LICENSE create mode 100644 socket/node_modules/async-limiter/coverage/coverage.json create mode 100644 socket/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.html create mode 100644 socket/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.js.html create mode 100644 socket/node_modules/async-limiter/coverage/lcov-report/base.css create mode 100644 socket/node_modules/async-limiter/coverage/lcov-report/index.html create mode 100644 socket/node_modules/async-limiter/coverage/lcov-report/prettify.css create mode 100644 socket/node_modules/async-limiter/coverage/lcov-report/prettify.js create mode 100644 socket/node_modules/async-limiter/coverage/lcov-report/sort-arrow-sprite.png create mode 100644 socket/node_modules/async-limiter/coverage/lcov-report/sorter.js create mode 100644 socket/node_modules/async-limiter/coverage/lcov.info create mode 100644 socket/node_modules/async-limiter/index.js create mode 100644 socket/node_modules/async-limiter/package.json create mode 100644 socket/node_modules/async-limiter/readme.md create mode 100644 socket/node_modules/babel-code-frame/.npmignore create mode 100644 socket/node_modules/babel-code-frame/README.md create mode 100644 socket/node_modules/babel-code-frame/lib/index.js create mode 100644 socket/node_modules/babel-code-frame/package-lock.json create mode 100644 socket/node_modules/babel-code-frame/package.json create mode 100644 socket/node_modules/babel-helper-function-name/.npmignore create mode 100644 socket/node_modules/babel-helper-function-name/README.md create mode 100644 socket/node_modules/babel-helper-function-name/lib/index.js create mode 100644 socket/node_modules/babel-helper-function-name/package.json create mode 100644 socket/node_modules/babel-helper-get-function-arity/.npmignore create mode 100644 socket/node_modules/babel-helper-get-function-arity/README.md create mode 100644 socket/node_modules/babel-helper-get-function-arity/lib/index.js create mode 100644 socket/node_modules/babel-helper-get-function-arity/package.json create mode 100644 socket/node_modules/babel-messages/.npmignore create mode 100644 socket/node_modules/babel-messages/README.md create mode 100644 socket/node_modules/babel-messages/lib/index.js create mode 100644 socket/node_modules/babel-messages/package.json create mode 100644 socket/node_modules/babel-plugin-syntax-class-properties/.npmignore create mode 100644 socket/node_modules/babel-plugin-syntax-class-properties/README.md create mode 100644 socket/node_modules/babel-plugin-syntax-class-properties/lib/index.js create mode 100644 socket/node_modules/babel-plugin-syntax-class-properties/package.json create mode 100644 socket/node_modules/babel-plugin-transform-class-properties/.npmignore create mode 100644 socket/node_modules/babel-plugin-transform-class-properties/README.md create mode 100644 socket/node_modules/babel-plugin-transform-class-properties/lib/index.js create mode 100644 socket/node_modules/babel-plugin-transform-class-properties/package.json create mode 100644 socket/node_modules/babel-runtime/.npmignore create mode 100644 socket/node_modules/babel-runtime/README.md create mode 100644 socket/node_modules/babel-runtime/core-js.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/concat.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/copy-within.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/entries.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/every.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/fill.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/filter.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/find-index.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/find.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/for-each.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/from.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/includes.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/index-of.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/join.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/keys.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/last-index-of.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/map.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/of.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/pop.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/push.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/reduce-right.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/reduce.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/reverse.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/shift.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/slice.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/some.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/sort.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/splice.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/unshift.js create mode 100644 socket/node_modules/babel-runtime/core-js/array/values.js create mode 100644 socket/node_modules/babel-runtime/core-js/asap.js create mode 100644 socket/node_modules/babel-runtime/core-js/clear-immediate.js create mode 100644 socket/node_modules/babel-runtime/core-js/error/is-error.js create mode 100644 socket/node_modules/babel-runtime/core-js/get-iterator.js create mode 100644 socket/node_modules/babel-runtime/core-js/is-iterable.js create mode 100644 socket/node_modules/babel-runtime/core-js/json/stringify.js create mode 100644 socket/node_modules/babel-runtime/core-js/map.js create mode 100644 socket/node_modules/babel-runtime/core-js/math/acosh.js create mode 100644 socket/node_modules/babel-runtime/core-js/math/asinh.js create mode 100644 socket/node_modules/babel-runtime/core-js/math/atanh.js create mode 100644 socket/node_modules/babel-runtime/core-js/math/cbrt.js create mode 100644 socket/node_modules/babel-runtime/core-js/math/clz32.js create mode 100644 socket/node_modules/babel-runtime/core-js/math/cosh.js create mode 100644 socket/node_modules/babel-runtime/core-js/math/expm1.js create mode 100644 socket/node_modules/babel-runtime/core-js/math/fround.js create mode 100644 socket/node_modules/babel-runtime/core-js/math/hypot.js create mode 100644 socket/node_modules/babel-runtime/core-js/math/iaddh.js create mode 100644 socket/node_modules/babel-runtime/core-js/math/imul.js create mode 100644 socket/node_modules/babel-runtime/core-js/math/imulh.js create mode 100644 socket/node_modules/babel-runtime/core-js/math/isubh.js create mode 100644 socket/node_modules/babel-runtime/core-js/math/log10.js create mode 100644 socket/node_modules/babel-runtime/core-js/math/log1p.js create mode 100644 socket/node_modules/babel-runtime/core-js/math/log2.js create mode 100644 socket/node_modules/babel-runtime/core-js/math/sign.js create mode 100644 socket/node_modules/babel-runtime/core-js/math/sinh.js create mode 100644 socket/node_modules/babel-runtime/core-js/math/tanh.js create mode 100644 socket/node_modules/babel-runtime/core-js/math/trunc.js create mode 100644 socket/node_modules/babel-runtime/core-js/math/umulh.js create mode 100644 socket/node_modules/babel-runtime/core-js/number/epsilon.js create mode 100644 socket/node_modules/babel-runtime/core-js/number/is-finite.js create mode 100644 socket/node_modules/babel-runtime/core-js/number/is-integer.js create mode 100644 socket/node_modules/babel-runtime/core-js/number/is-nan.js create mode 100644 socket/node_modules/babel-runtime/core-js/number/is-safe-integer.js create mode 100644 socket/node_modules/babel-runtime/core-js/number/max-safe-integer.js create mode 100644 socket/node_modules/babel-runtime/core-js/number/min-safe-integer.js create mode 100644 socket/node_modules/babel-runtime/core-js/number/parse-float.js create mode 100644 socket/node_modules/babel-runtime/core-js/number/parse-int.js create mode 100644 socket/node_modules/babel-runtime/core-js/object/assign.js create mode 100644 socket/node_modules/babel-runtime/core-js/object/create.js create mode 100644 socket/node_modules/babel-runtime/core-js/object/define-properties.js create mode 100644 socket/node_modules/babel-runtime/core-js/object/define-property.js create mode 100644 socket/node_modules/babel-runtime/core-js/object/entries.js create mode 100644 socket/node_modules/babel-runtime/core-js/object/freeze.js create mode 100644 socket/node_modules/babel-runtime/core-js/object/get-own-property-descriptor.js create mode 100644 socket/node_modules/babel-runtime/core-js/object/get-own-property-descriptors.js create mode 100644 socket/node_modules/babel-runtime/core-js/object/get-own-property-names.js create mode 100644 socket/node_modules/babel-runtime/core-js/object/get-own-property-symbols.js create mode 100644 socket/node_modules/babel-runtime/core-js/object/get-prototype-of.js create mode 100644 socket/node_modules/babel-runtime/core-js/object/is-extensible.js create mode 100644 socket/node_modules/babel-runtime/core-js/object/is-frozen.js create mode 100644 socket/node_modules/babel-runtime/core-js/object/is-sealed.js create mode 100644 socket/node_modules/babel-runtime/core-js/object/is.js create mode 100644 socket/node_modules/babel-runtime/core-js/object/keys.js create mode 100644 socket/node_modules/babel-runtime/core-js/object/prevent-extensions.js create mode 100644 socket/node_modules/babel-runtime/core-js/object/seal.js create mode 100644 socket/node_modules/babel-runtime/core-js/object/set-prototype-of.js create mode 100644 socket/node_modules/babel-runtime/core-js/object/values.js create mode 100644 socket/node_modules/babel-runtime/core-js/observable.js create mode 100644 socket/node_modules/babel-runtime/core-js/promise.js create mode 100644 socket/node_modules/babel-runtime/core-js/reflect/apply.js create mode 100644 socket/node_modules/babel-runtime/core-js/reflect/construct.js create mode 100644 socket/node_modules/babel-runtime/core-js/reflect/define-metadata.js create mode 100644 socket/node_modules/babel-runtime/core-js/reflect/define-property.js create mode 100644 socket/node_modules/babel-runtime/core-js/reflect/delete-metadata.js create mode 100644 socket/node_modules/babel-runtime/core-js/reflect/delete-property.js create mode 100644 socket/node_modules/babel-runtime/core-js/reflect/enumerate.js create mode 100644 socket/node_modules/babel-runtime/core-js/reflect/get-metadata-keys.js create mode 100644 socket/node_modules/babel-runtime/core-js/reflect/get-metadata.js create mode 100644 socket/node_modules/babel-runtime/core-js/reflect/get-own-metadata-keys.js create mode 100644 socket/node_modules/babel-runtime/core-js/reflect/get-own-metadata.js create mode 100644 socket/node_modules/babel-runtime/core-js/reflect/get-own-property-descriptor.js create mode 100644 socket/node_modules/babel-runtime/core-js/reflect/get-prototype-of.js create mode 100644 socket/node_modules/babel-runtime/core-js/reflect/get.js create mode 100644 socket/node_modules/babel-runtime/core-js/reflect/has-metadata.js create mode 100644 socket/node_modules/babel-runtime/core-js/reflect/has-own-metadata.js create mode 100644 socket/node_modules/babel-runtime/core-js/reflect/has.js create mode 100644 socket/node_modules/babel-runtime/core-js/reflect/is-extensible.js create mode 100644 socket/node_modules/babel-runtime/core-js/reflect/metadata.js create mode 100644 socket/node_modules/babel-runtime/core-js/reflect/own-keys.js create mode 100644 socket/node_modules/babel-runtime/core-js/reflect/prevent-extensions.js create mode 100644 socket/node_modules/babel-runtime/core-js/reflect/set-prototype-of.js create mode 100644 socket/node_modules/babel-runtime/core-js/reflect/set.js create mode 100644 socket/node_modules/babel-runtime/core-js/regexp/escape.js create mode 100644 socket/node_modules/babel-runtime/core-js/set-immediate.js create mode 100644 socket/node_modules/babel-runtime/core-js/set.js create mode 100644 socket/node_modules/babel-runtime/core-js/string/at.js create mode 100644 socket/node_modules/babel-runtime/core-js/string/code-point-at.js create mode 100644 socket/node_modules/babel-runtime/core-js/string/ends-with.js create mode 100644 socket/node_modules/babel-runtime/core-js/string/from-code-point.js create mode 100644 socket/node_modules/babel-runtime/core-js/string/includes.js create mode 100644 socket/node_modules/babel-runtime/core-js/string/match-all.js create mode 100644 socket/node_modules/babel-runtime/core-js/string/pad-end.js create mode 100644 socket/node_modules/babel-runtime/core-js/string/pad-left.js create mode 100644 socket/node_modules/babel-runtime/core-js/string/pad-right.js create mode 100644 socket/node_modules/babel-runtime/core-js/string/pad-start.js create mode 100644 socket/node_modules/babel-runtime/core-js/string/raw.js create mode 100644 socket/node_modules/babel-runtime/core-js/string/repeat.js create mode 100644 socket/node_modules/babel-runtime/core-js/string/starts-with.js create mode 100644 socket/node_modules/babel-runtime/core-js/string/trim-end.js create mode 100644 socket/node_modules/babel-runtime/core-js/string/trim-left.js create mode 100644 socket/node_modules/babel-runtime/core-js/string/trim-right.js create mode 100644 socket/node_modules/babel-runtime/core-js/string/trim-start.js create mode 100644 socket/node_modules/babel-runtime/core-js/string/trim.js create mode 100644 socket/node_modules/babel-runtime/core-js/symbol.js create mode 100644 socket/node_modules/babel-runtime/core-js/symbol/async-iterator.js create mode 100644 socket/node_modules/babel-runtime/core-js/symbol/for.js create mode 100644 socket/node_modules/babel-runtime/core-js/symbol/has-instance.js create mode 100644 socket/node_modules/babel-runtime/core-js/symbol/is-concat-spreadable.js create mode 100644 socket/node_modules/babel-runtime/core-js/symbol/iterator.js create mode 100644 socket/node_modules/babel-runtime/core-js/symbol/key-for.js create mode 100644 socket/node_modules/babel-runtime/core-js/symbol/match.js create mode 100644 socket/node_modules/babel-runtime/core-js/symbol/observable.js create mode 100644 socket/node_modules/babel-runtime/core-js/symbol/replace.js create mode 100644 socket/node_modules/babel-runtime/core-js/symbol/search.js create mode 100644 socket/node_modules/babel-runtime/core-js/symbol/species.js create mode 100644 socket/node_modules/babel-runtime/core-js/symbol/split.js create mode 100644 socket/node_modules/babel-runtime/core-js/symbol/to-primitive.js create mode 100644 socket/node_modules/babel-runtime/core-js/symbol/to-string-tag.js create mode 100644 socket/node_modules/babel-runtime/core-js/symbol/unscopables.js create mode 100644 socket/node_modules/babel-runtime/core-js/system/global.js create mode 100644 socket/node_modules/babel-runtime/core-js/weak-map.js create mode 100644 socket/node_modules/babel-runtime/core-js/weak-set.js create mode 100644 socket/node_modules/babel-runtime/helpers/_async-generator-delegate.js create mode 100644 socket/node_modules/babel-runtime/helpers/_async-generator.js create mode 100644 socket/node_modules/babel-runtime/helpers/_async-iterator.js create mode 100644 socket/node_modules/babel-runtime/helpers/_async-to-generator.js create mode 100644 socket/node_modules/babel-runtime/helpers/_class-call-check.js create mode 100644 socket/node_modules/babel-runtime/helpers/_create-class.js create mode 100644 socket/node_modules/babel-runtime/helpers/_defaults.js create mode 100644 socket/node_modules/babel-runtime/helpers/_define-enumerable-properties.js create mode 100644 socket/node_modules/babel-runtime/helpers/_define-property.js create mode 100644 socket/node_modules/babel-runtime/helpers/_extends.js create mode 100644 socket/node_modules/babel-runtime/helpers/_get.js create mode 100644 socket/node_modules/babel-runtime/helpers/_inherits.js create mode 100644 socket/node_modules/babel-runtime/helpers/_instanceof.js create mode 100644 socket/node_modules/babel-runtime/helpers/_interop-require-default.js create mode 100644 socket/node_modules/babel-runtime/helpers/_interop-require-wildcard.js create mode 100644 socket/node_modules/babel-runtime/helpers/_jsx.js create mode 100644 socket/node_modules/babel-runtime/helpers/_new-arrow-check.js create mode 100644 socket/node_modules/babel-runtime/helpers/_object-destructuring-empty.js create mode 100644 socket/node_modules/babel-runtime/helpers/_object-without-properties.js create mode 100644 socket/node_modules/babel-runtime/helpers/_possible-constructor-return.js create mode 100644 socket/node_modules/babel-runtime/helpers/_self-global.js create mode 100644 socket/node_modules/babel-runtime/helpers/_set.js create mode 100644 socket/node_modules/babel-runtime/helpers/_sliced-to-array-loose.js create mode 100644 socket/node_modules/babel-runtime/helpers/_sliced-to-array.js create mode 100644 socket/node_modules/babel-runtime/helpers/_tagged-template-literal-loose.js create mode 100644 socket/node_modules/babel-runtime/helpers/_tagged-template-literal.js create mode 100644 socket/node_modules/babel-runtime/helpers/_temporal-ref.js create mode 100644 socket/node_modules/babel-runtime/helpers/_temporal-undefined.js create mode 100644 socket/node_modules/babel-runtime/helpers/_to-array.js create mode 100644 socket/node_modules/babel-runtime/helpers/_to-consumable-array.js create mode 100644 socket/node_modules/babel-runtime/helpers/_typeof.js create mode 100644 socket/node_modules/babel-runtime/helpers/async-generator-delegate.js create mode 100644 socket/node_modules/babel-runtime/helpers/async-generator.js create mode 100644 socket/node_modules/babel-runtime/helpers/async-iterator.js create mode 100644 socket/node_modules/babel-runtime/helpers/async-to-generator.js create mode 100644 socket/node_modules/babel-runtime/helpers/asyncGenerator.js create mode 100644 socket/node_modules/babel-runtime/helpers/asyncGeneratorDelegate.js create mode 100644 socket/node_modules/babel-runtime/helpers/asyncIterator.js create mode 100644 socket/node_modules/babel-runtime/helpers/asyncToGenerator.js create mode 100644 socket/node_modules/babel-runtime/helpers/class-call-check.js create mode 100644 socket/node_modules/babel-runtime/helpers/classCallCheck.js create mode 100644 socket/node_modules/babel-runtime/helpers/create-class.js create mode 100644 socket/node_modules/babel-runtime/helpers/createClass.js create mode 100644 socket/node_modules/babel-runtime/helpers/defaults.js create mode 100644 socket/node_modules/babel-runtime/helpers/define-enumerable-properties.js create mode 100644 socket/node_modules/babel-runtime/helpers/define-property.js create mode 100644 socket/node_modules/babel-runtime/helpers/defineEnumerableProperties.js create mode 100644 socket/node_modules/babel-runtime/helpers/defineProperty.js create mode 100644 socket/node_modules/babel-runtime/helpers/extends.js create mode 100644 socket/node_modules/babel-runtime/helpers/get.js create mode 100644 socket/node_modules/babel-runtime/helpers/inherits.js create mode 100644 socket/node_modules/babel-runtime/helpers/instanceof.js create mode 100644 socket/node_modules/babel-runtime/helpers/interop-require-default.js create mode 100644 socket/node_modules/babel-runtime/helpers/interop-require-wildcard.js create mode 100644 socket/node_modules/babel-runtime/helpers/interopRequireDefault.js create mode 100644 socket/node_modules/babel-runtime/helpers/interopRequireWildcard.js create mode 100644 socket/node_modules/babel-runtime/helpers/jsx.js create mode 100644 socket/node_modules/babel-runtime/helpers/new-arrow-check.js create mode 100644 socket/node_modules/babel-runtime/helpers/newArrowCheck.js create mode 100644 socket/node_modules/babel-runtime/helpers/object-destructuring-empty.js create mode 100644 socket/node_modules/babel-runtime/helpers/object-without-properties.js create mode 100644 socket/node_modules/babel-runtime/helpers/objectDestructuringEmpty.js create mode 100644 socket/node_modules/babel-runtime/helpers/objectWithoutProperties.js create mode 100644 socket/node_modules/babel-runtime/helpers/possible-constructor-return.js create mode 100644 socket/node_modules/babel-runtime/helpers/possibleConstructorReturn.js create mode 100644 socket/node_modules/babel-runtime/helpers/self-global.js create mode 100644 socket/node_modules/babel-runtime/helpers/selfGlobal.js create mode 100644 socket/node_modules/babel-runtime/helpers/set.js create mode 100644 socket/node_modules/babel-runtime/helpers/sliced-to-array-loose.js create mode 100644 socket/node_modules/babel-runtime/helpers/sliced-to-array.js create mode 100644 socket/node_modules/babel-runtime/helpers/slicedToArray.js create mode 100644 socket/node_modules/babel-runtime/helpers/slicedToArrayLoose.js create mode 100644 socket/node_modules/babel-runtime/helpers/tagged-template-literal-loose.js create mode 100644 socket/node_modules/babel-runtime/helpers/tagged-template-literal.js create mode 100644 socket/node_modules/babel-runtime/helpers/taggedTemplateLiteral.js create mode 100644 socket/node_modules/babel-runtime/helpers/taggedTemplateLiteralLoose.js create mode 100644 socket/node_modules/babel-runtime/helpers/temporal-ref.js create mode 100644 socket/node_modules/babel-runtime/helpers/temporal-undefined.js create mode 100644 socket/node_modules/babel-runtime/helpers/temporalRef.js create mode 100644 socket/node_modules/babel-runtime/helpers/temporalUndefined.js create mode 100644 socket/node_modules/babel-runtime/helpers/to-array.js create mode 100644 socket/node_modules/babel-runtime/helpers/to-consumable-array.js create mode 100644 socket/node_modules/babel-runtime/helpers/toArray.js create mode 100644 socket/node_modules/babel-runtime/helpers/toConsumableArray.js create mode 100644 socket/node_modules/babel-runtime/helpers/typeof.js create mode 100644 socket/node_modules/babel-runtime/package-lock.json create mode 100644 socket/node_modules/babel-runtime/package.json create mode 100644 socket/node_modules/babel-runtime/regenerator/index.js create mode 100644 socket/node_modules/babel-template/.npmignore create mode 100644 socket/node_modules/babel-template/README.md create mode 100644 socket/node_modules/babel-template/lib/index.js create mode 100644 socket/node_modules/babel-template/package-lock.json create mode 100644 socket/node_modules/babel-template/package.json create mode 100644 socket/node_modules/babel-traverse/.npmignore create mode 100644 socket/node_modules/babel-traverse/README.md create mode 100644 socket/node_modules/babel-traverse/lib/cache.js create mode 100644 socket/node_modules/babel-traverse/lib/context.js create mode 100644 socket/node_modules/babel-traverse/lib/hub.js create mode 100644 socket/node_modules/babel-traverse/lib/index.js create mode 100644 socket/node_modules/babel-traverse/lib/path/ancestry.js create mode 100644 socket/node_modules/babel-traverse/lib/path/comments.js create mode 100644 socket/node_modules/babel-traverse/lib/path/context.js create mode 100644 socket/node_modules/babel-traverse/lib/path/conversion.js create mode 100644 socket/node_modules/babel-traverse/lib/path/evaluation.js create mode 100644 socket/node_modules/babel-traverse/lib/path/family.js create mode 100644 socket/node_modules/babel-traverse/lib/path/index.js create mode 100644 socket/node_modules/babel-traverse/lib/path/inference/index.js create mode 100644 socket/node_modules/babel-traverse/lib/path/inference/inferer-reference.js create mode 100644 socket/node_modules/babel-traverse/lib/path/inference/inferers.js create mode 100644 socket/node_modules/babel-traverse/lib/path/introspection.js create mode 100644 socket/node_modules/babel-traverse/lib/path/lib/hoister.js create mode 100644 socket/node_modules/babel-traverse/lib/path/lib/removal-hooks.js create mode 100644 socket/node_modules/babel-traverse/lib/path/lib/virtual-types.js create mode 100644 socket/node_modules/babel-traverse/lib/path/modification.js create mode 100644 socket/node_modules/babel-traverse/lib/path/removal.js create mode 100644 socket/node_modules/babel-traverse/lib/path/replacement.js create mode 100644 socket/node_modules/babel-traverse/lib/scope/binding.js create mode 100644 socket/node_modules/babel-traverse/lib/scope/index.js create mode 100644 socket/node_modules/babel-traverse/lib/scope/lib/renamer.js create mode 100644 socket/node_modules/babel-traverse/lib/visitors.js create mode 100644 socket/node_modules/babel-traverse/node_modules/debug/.coveralls.yml create mode 100644 socket/node_modules/babel-traverse/node_modules/debug/.eslintrc create mode 100644 socket/node_modules/babel-traverse/node_modules/debug/.npmignore create mode 100644 socket/node_modules/babel-traverse/node_modules/debug/.travis.yml create mode 100644 socket/node_modules/babel-traverse/node_modules/debug/CHANGELOG.md create mode 100644 socket/node_modules/babel-traverse/node_modules/debug/LICENSE create mode 100644 socket/node_modules/babel-traverse/node_modules/debug/Makefile create mode 100644 socket/node_modules/babel-traverse/node_modules/debug/README.md create mode 100644 socket/node_modules/babel-traverse/node_modules/debug/component.json create mode 100644 socket/node_modules/babel-traverse/node_modules/debug/karma.conf.js create mode 100644 socket/node_modules/babel-traverse/node_modules/debug/node.js create mode 100644 socket/node_modules/babel-traverse/node_modules/debug/package.json create mode 100644 socket/node_modules/babel-traverse/node_modules/debug/src/browser.js create mode 100644 socket/node_modules/babel-traverse/node_modules/debug/src/debug.js create mode 100644 socket/node_modules/babel-traverse/node_modules/debug/src/index.js create mode 100644 socket/node_modules/babel-traverse/node_modules/debug/src/inspector-log.js create mode 100644 socket/node_modules/babel-traverse/node_modules/debug/src/node.js create mode 100644 socket/node_modules/babel-traverse/node_modules/ms/index.js create mode 100644 socket/node_modules/babel-traverse/node_modules/ms/license.md create mode 100644 socket/node_modules/babel-traverse/node_modules/ms/package.json create mode 100644 socket/node_modules/babel-traverse/node_modules/ms/readme.md create mode 100644 socket/node_modules/babel-traverse/package-lock.json create mode 100644 socket/node_modules/babel-traverse/package.json create mode 100644 socket/node_modules/babel-types/.npmignore create mode 100644 socket/node_modules/babel-types/README.md create mode 100644 socket/node_modules/babel-types/lib/constants.js create mode 100644 socket/node_modules/babel-types/lib/converters.js create mode 100644 socket/node_modules/babel-types/lib/definitions/core.js create mode 100644 socket/node_modules/babel-types/lib/definitions/es2015.js create mode 100644 socket/node_modules/babel-types/lib/definitions/experimental.js create mode 100644 socket/node_modules/babel-types/lib/definitions/flow.js create mode 100644 socket/node_modules/babel-types/lib/definitions/index.js create mode 100644 socket/node_modules/babel-types/lib/definitions/init.js create mode 100644 socket/node_modules/babel-types/lib/definitions/jsx.js create mode 100644 socket/node_modules/babel-types/lib/definitions/misc.js create mode 100644 socket/node_modules/babel-types/lib/flow.js create mode 100644 socket/node_modules/babel-types/lib/index.js create mode 100644 socket/node_modules/babel-types/lib/react.js create mode 100644 socket/node_modules/babel-types/lib/retrievers.js create mode 100644 socket/node_modules/babel-types/lib/validators.js create mode 100644 socket/node_modules/babel-types/package-lock.json create mode 100644 socket/node_modules/babel-types/package.json create mode 100644 socket/node_modules/babylon/CHANGELOG.md create mode 100644 socket/node_modules/babylon/LICENSE create mode 100644 socket/node_modules/babylon/README.md create mode 100755 socket/node_modules/babylon/bin/babylon.js create mode 100644 socket/node_modules/babylon/bin/generate-identifier-regex.js create mode 100644 socket/node_modules/babylon/lib/index.js create mode 100644 socket/node_modules/babylon/package.json create mode 100644 socket/node_modules/backo2/.npmignore create mode 100644 socket/node_modules/backo2/History.md create mode 100644 socket/node_modules/backo2/Makefile create mode 100644 socket/node_modules/backo2/Readme.md create mode 100644 socket/node_modules/backo2/component.json create mode 100644 socket/node_modules/backo2/index.js create mode 100644 socket/node_modules/backo2/package.json create mode 100644 socket/node_modules/backo2/test/index.js create mode 100644 socket/node_modules/base64-arraybuffer/.npmignore create mode 100644 socket/node_modules/base64-arraybuffer/.travis.yml create mode 100644 socket/node_modules/base64-arraybuffer/LICENSE-MIT create mode 100644 socket/node_modules/base64-arraybuffer/README.md create mode 100644 socket/node_modules/base64-arraybuffer/lib/base64-arraybuffer.js create mode 100644 socket/node_modules/base64-arraybuffer/package.json create mode 100644 socket/node_modules/base64id/.npmignore create mode 100644 socket/node_modules/base64id/LICENSE create mode 100644 socket/node_modules/base64id/README.md create mode 100644 socket/node_modules/base64id/lib/base64id.js create mode 100644 socket/node_modules/base64id/package.json create mode 100644 socket/node_modules/better-assert/.npmignore create mode 100644 socket/node_modules/better-assert/History.md create mode 100644 socket/node_modules/better-assert/Makefile create mode 100644 socket/node_modules/better-assert/Readme.md create mode 100644 socket/node_modules/better-assert/example.js create mode 100644 socket/node_modules/better-assert/index.js create mode 100644 socket/node_modules/better-assert/package.json create mode 100644 socket/node_modules/blob/.npmignore create mode 100644 socket/node_modules/blob/.zuul.yml create mode 100644 socket/node_modules/blob/Makefile create mode 100644 socket/node_modules/blob/README.md create mode 100644 socket/node_modules/blob/index.js create mode 100644 socket/node_modules/blob/package.json create mode 100644 socket/node_modules/blob/test/index.js create mode 100644 socket/node_modules/callsite/.npmignore create mode 100644 socket/node_modules/callsite/History.md create mode 100644 socket/node_modules/callsite/Makefile create mode 100644 socket/node_modules/callsite/Readme.md create mode 100644 socket/node_modules/callsite/index.js create mode 100644 socket/node_modules/callsite/package.json create mode 100644 socket/node_modules/chalk/index.js create mode 100644 socket/node_modules/chalk/license create mode 100644 socket/node_modules/chalk/package.json create mode 100644 socket/node_modules/chalk/readme.md create mode 100644 socket/node_modules/component-bind/.npmignore create mode 100644 socket/node_modules/component-bind/History.md create mode 100644 socket/node_modules/component-bind/Makefile create mode 100644 socket/node_modules/component-bind/Readme.md create mode 100644 socket/node_modules/component-bind/component.json create mode 100644 socket/node_modules/component-bind/index.js create mode 100644 socket/node_modules/component-bind/package.json create mode 100644 socket/node_modules/component-emitter/History.md create mode 100644 socket/node_modules/component-emitter/LICENSE create mode 100644 socket/node_modules/component-emitter/Readme.md create mode 100644 socket/node_modules/component-emitter/index.js create mode 100644 socket/node_modules/component-emitter/package.json create mode 100644 socket/node_modules/component-inherit/.npmignore create mode 100644 socket/node_modules/component-inherit/History.md create mode 100644 socket/node_modules/component-inherit/Makefile create mode 100644 socket/node_modules/component-inherit/Readme.md create mode 100644 socket/node_modules/component-inherit/component.json create mode 100644 socket/node_modules/component-inherit/index.js create mode 100644 socket/node_modules/component-inherit/package.json create mode 100644 socket/node_modules/component-inherit/test/inherit.js create mode 100644 socket/node_modules/cookie-signature/.npmignore create mode 100644 socket/node_modules/cookie-signature/History.md create mode 100644 socket/node_modules/cookie-signature/Makefile create mode 100644 socket/node_modules/cookie-signature/Readme.md create mode 100644 socket/node_modules/cookie-signature/index.js create mode 100644 socket/node_modules/cookie-signature/package.json create mode 100644 socket/node_modules/cookie/.npmignore create mode 100644 socket/node_modules/cookie/LICENSE create mode 100644 socket/node_modules/cookie/README.md create mode 100644 socket/node_modules/cookie/index.js create mode 100644 socket/node_modules/cookie/package.json create mode 100644 socket/node_modules/core-js/CHANGELOG.md create mode 100644 socket/node_modules/core-js/Gruntfile.js create mode 100644 socket/node_modules/core-js/LICENSE create mode 100644 socket/node_modules/core-js/README.md create mode 100644 socket/node_modules/core-js/bower.json create mode 100644 socket/node_modules/core-js/build/Gruntfile.ls create mode 100644 socket/node_modules/core-js/build/build.ls create mode 100644 socket/node_modules/core-js/build/config.js create mode 100644 socket/node_modules/core-js/build/index.js create mode 100644 socket/node_modules/core-js/client/core.js create mode 100644 socket/node_modules/core-js/client/core.min.js create mode 100644 socket/node_modules/core-js/client/core.min.js.map create mode 100644 socket/node_modules/core-js/client/library.js create mode 100644 socket/node_modules/core-js/client/library.min.js create mode 100644 socket/node_modules/core-js/client/library.min.js.map create mode 100644 socket/node_modules/core-js/client/shim.js create mode 100644 socket/node_modules/core-js/client/shim.min.js create mode 100644 socket/node_modules/core-js/client/shim.min.js.map create mode 100644 socket/node_modules/core-js/core/_.js create mode 100644 socket/node_modules/core-js/core/delay.js create mode 100644 socket/node_modules/core-js/core/dict.js create mode 100644 socket/node_modules/core-js/core/function.js create mode 100644 socket/node_modules/core-js/core/index.js create mode 100644 socket/node_modules/core-js/core/number.js create mode 100644 socket/node_modules/core-js/core/object.js create mode 100644 socket/node_modules/core-js/core/regexp.js create mode 100644 socket/node_modules/core-js/core/string.js create mode 100644 socket/node_modules/core-js/es5/index.js create mode 100644 socket/node_modules/core-js/es6/array.js create mode 100644 socket/node_modules/core-js/es6/date.js create mode 100644 socket/node_modules/core-js/es6/function.js create mode 100644 socket/node_modules/core-js/es6/index.js create mode 100644 socket/node_modules/core-js/es6/map.js create mode 100644 socket/node_modules/core-js/es6/math.js create mode 100644 socket/node_modules/core-js/es6/number.js create mode 100644 socket/node_modules/core-js/es6/object.js create mode 100644 socket/node_modules/core-js/es6/parse-float.js create mode 100644 socket/node_modules/core-js/es6/parse-int.js create mode 100644 socket/node_modules/core-js/es6/promise.js create mode 100644 socket/node_modules/core-js/es6/reflect.js create mode 100644 socket/node_modules/core-js/es6/regexp.js create mode 100644 socket/node_modules/core-js/es6/set.js create mode 100644 socket/node_modules/core-js/es6/string.js create mode 100644 socket/node_modules/core-js/es6/symbol.js create mode 100644 socket/node_modules/core-js/es6/typed.js create mode 100644 socket/node_modules/core-js/es6/weak-map.js create mode 100644 socket/node_modules/core-js/es6/weak-set.js create mode 100644 socket/node_modules/core-js/es7/array.js create mode 100644 socket/node_modules/core-js/es7/asap.js create mode 100644 socket/node_modules/core-js/es7/error.js create mode 100644 socket/node_modules/core-js/es7/global.js create mode 100644 socket/node_modules/core-js/es7/index.js create mode 100644 socket/node_modules/core-js/es7/map.js create mode 100644 socket/node_modules/core-js/es7/math.js create mode 100644 socket/node_modules/core-js/es7/object.js create mode 100644 socket/node_modules/core-js/es7/observable.js create mode 100644 socket/node_modules/core-js/es7/promise.js create mode 100644 socket/node_modules/core-js/es7/reflect.js create mode 100644 socket/node_modules/core-js/es7/set.js create mode 100644 socket/node_modules/core-js/es7/string.js create mode 100644 socket/node_modules/core-js/es7/symbol.js create mode 100644 socket/node_modules/core-js/es7/system.js create mode 100644 socket/node_modules/core-js/es7/weak-map.js create mode 100644 socket/node_modules/core-js/es7/weak-set.js create mode 100644 socket/node_modules/core-js/fn/_.js create mode 100644 socket/node_modules/core-js/fn/array/concat.js create mode 100644 socket/node_modules/core-js/fn/array/copy-within.js create mode 100644 socket/node_modules/core-js/fn/array/entries.js create mode 100644 socket/node_modules/core-js/fn/array/every.js create mode 100644 socket/node_modules/core-js/fn/array/fill.js create mode 100644 socket/node_modules/core-js/fn/array/filter.js create mode 100644 socket/node_modules/core-js/fn/array/find-index.js create mode 100644 socket/node_modules/core-js/fn/array/find.js create mode 100644 socket/node_modules/core-js/fn/array/flat-map.js create mode 100644 socket/node_modules/core-js/fn/array/flatten.js create mode 100644 socket/node_modules/core-js/fn/array/for-each.js create mode 100644 socket/node_modules/core-js/fn/array/from.js create mode 100644 socket/node_modules/core-js/fn/array/includes.js create mode 100644 socket/node_modules/core-js/fn/array/index-of.js create mode 100644 socket/node_modules/core-js/fn/array/index.js create mode 100644 socket/node_modules/core-js/fn/array/is-array.js create mode 100644 socket/node_modules/core-js/fn/array/iterator.js create mode 100644 socket/node_modules/core-js/fn/array/join.js create mode 100644 socket/node_modules/core-js/fn/array/keys.js create mode 100644 socket/node_modules/core-js/fn/array/last-index-of.js create mode 100644 socket/node_modules/core-js/fn/array/map.js create mode 100644 socket/node_modules/core-js/fn/array/of.js create mode 100644 socket/node_modules/core-js/fn/array/pop.js create mode 100644 socket/node_modules/core-js/fn/array/push.js create mode 100644 socket/node_modules/core-js/fn/array/reduce-right.js create mode 100644 socket/node_modules/core-js/fn/array/reduce.js create mode 100644 socket/node_modules/core-js/fn/array/reverse.js create mode 100644 socket/node_modules/core-js/fn/array/shift.js create mode 100644 socket/node_modules/core-js/fn/array/slice.js create mode 100644 socket/node_modules/core-js/fn/array/some.js create mode 100644 socket/node_modules/core-js/fn/array/sort.js create mode 100644 socket/node_modules/core-js/fn/array/splice.js create mode 100644 socket/node_modules/core-js/fn/array/unshift.js create mode 100644 socket/node_modules/core-js/fn/array/values.js create mode 100644 socket/node_modules/core-js/fn/array/virtual/copy-within.js create mode 100644 socket/node_modules/core-js/fn/array/virtual/entries.js create mode 100644 socket/node_modules/core-js/fn/array/virtual/every.js create mode 100644 socket/node_modules/core-js/fn/array/virtual/fill.js create mode 100644 socket/node_modules/core-js/fn/array/virtual/filter.js create mode 100644 socket/node_modules/core-js/fn/array/virtual/find-index.js create mode 100644 socket/node_modules/core-js/fn/array/virtual/find.js create mode 100644 socket/node_modules/core-js/fn/array/virtual/flat-map.js create mode 100644 socket/node_modules/core-js/fn/array/virtual/flatten.js create mode 100644 socket/node_modules/core-js/fn/array/virtual/for-each.js create mode 100644 socket/node_modules/core-js/fn/array/virtual/includes.js create mode 100644 socket/node_modules/core-js/fn/array/virtual/index-of.js create mode 100644 socket/node_modules/core-js/fn/array/virtual/index.js create mode 100644 socket/node_modules/core-js/fn/array/virtual/iterator.js create mode 100644 socket/node_modules/core-js/fn/array/virtual/join.js create mode 100644 socket/node_modules/core-js/fn/array/virtual/keys.js create mode 100644 socket/node_modules/core-js/fn/array/virtual/last-index-of.js create mode 100644 socket/node_modules/core-js/fn/array/virtual/map.js create mode 100644 socket/node_modules/core-js/fn/array/virtual/reduce-right.js create mode 100644 socket/node_modules/core-js/fn/array/virtual/reduce.js create mode 100644 socket/node_modules/core-js/fn/array/virtual/slice.js create mode 100644 socket/node_modules/core-js/fn/array/virtual/some.js create mode 100644 socket/node_modules/core-js/fn/array/virtual/sort.js create mode 100644 socket/node_modules/core-js/fn/array/virtual/values.js create mode 100644 socket/node_modules/core-js/fn/asap.js create mode 100644 socket/node_modules/core-js/fn/clear-immediate.js create mode 100644 socket/node_modules/core-js/fn/date/index.js create mode 100644 socket/node_modules/core-js/fn/date/now.js create mode 100644 socket/node_modules/core-js/fn/date/to-iso-string.js create mode 100644 socket/node_modules/core-js/fn/date/to-json.js create mode 100644 socket/node_modules/core-js/fn/date/to-primitive.js create mode 100644 socket/node_modules/core-js/fn/date/to-string.js create mode 100644 socket/node_modules/core-js/fn/delay.js create mode 100644 socket/node_modules/core-js/fn/dict.js create mode 100644 socket/node_modules/core-js/fn/dom-collections/index.js create mode 100644 socket/node_modules/core-js/fn/dom-collections/iterator.js create mode 100644 socket/node_modules/core-js/fn/error/index.js create mode 100644 socket/node_modules/core-js/fn/error/is-error.js create mode 100644 socket/node_modules/core-js/fn/function/bind.js create mode 100644 socket/node_modules/core-js/fn/function/has-instance.js create mode 100644 socket/node_modules/core-js/fn/function/index.js create mode 100644 socket/node_modules/core-js/fn/function/name.js create mode 100644 socket/node_modules/core-js/fn/function/part.js create mode 100644 socket/node_modules/core-js/fn/function/virtual/bind.js create mode 100644 socket/node_modules/core-js/fn/function/virtual/index.js create mode 100644 socket/node_modules/core-js/fn/function/virtual/part.js create mode 100644 socket/node_modules/core-js/fn/get-iterator-method.js create mode 100644 socket/node_modules/core-js/fn/get-iterator.js create mode 100644 socket/node_modules/core-js/fn/global.js create mode 100644 socket/node_modules/core-js/fn/is-iterable.js create mode 100644 socket/node_modules/core-js/fn/json/index.js create mode 100644 socket/node_modules/core-js/fn/json/stringify.js create mode 100644 socket/node_modules/core-js/fn/map.js create mode 100644 socket/node_modules/core-js/fn/map/from.js create mode 100644 socket/node_modules/core-js/fn/map/index.js create mode 100644 socket/node_modules/core-js/fn/map/of.js create mode 100644 socket/node_modules/core-js/fn/math/acosh.js create mode 100644 socket/node_modules/core-js/fn/math/asinh.js create mode 100644 socket/node_modules/core-js/fn/math/atanh.js create mode 100644 socket/node_modules/core-js/fn/math/cbrt.js create mode 100644 socket/node_modules/core-js/fn/math/clamp.js create mode 100644 socket/node_modules/core-js/fn/math/clz32.js create mode 100644 socket/node_modules/core-js/fn/math/cosh.js create mode 100644 socket/node_modules/core-js/fn/math/deg-per-rad.js create mode 100644 socket/node_modules/core-js/fn/math/degrees.js create mode 100644 socket/node_modules/core-js/fn/math/expm1.js create mode 100644 socket/node_modules/core-js/fn/math/fround.js create mode 100644 socket/node_modules/core-js/fn/math/fscale.js create mode 100644 socket/node_modules/core-js/fn/math/hypot.js create mode 100644 socket/node_modules/core-js/fn/math/iaddh.js create mode 100644 socket/node_modules/core-js/fn/math/imul.js create mode 100644 socket/node_modules/core-js/fn/math/imulh.js create mode 100644 socket/node_modules/core-js/fn/math/index.js create mode 100644 socket/node_modules/core-js/fn/math/isubh.js create mode 100644 socket/node_modules/core-js/fn/math/log10.js create mode 100644 socket/node_modules/core-js/fn/math/log1p.js create mode 100644 socket/node_modules/core-js/fn/math/log2.js create mode 100644 socket/node_modules/core-js/fn/math/rad-per-deg.js create mode 100644 socket/node_modules/core-js/fn/math/radians.js create mode 100644 socket/node_modules/core-js/fn/math/scale.js create mode 100644 socket/node_modules/core-js/fn/math/sign.js create mode 100644 socket/node_modules/core-js/fn/math/signbit.js create mode 100644 socket/node_modules/core-js/fn/math/sinh.js create mode 100644 socket/node_modules/core-js/fn/math/tanh.js create mode 100644 socket/node_modules/core-js/fn/math/trunc.js create mode 100644 socket/node_modules/core-js/fn/math/umulh.js create mode 100644 socket/node_modules/core-js/fn/number/constructor.js create mode 100644 socket/node_modules/core-js/fn/number/epsilon.js create mode 100644 socket/node_modules/core-js/fn/number/index.js create mode 100644 socket/node_modules/core-js/fn/number/is-finite.js create mode 100644 socket/node_modules/core-js/fn/number/is-integer.js create mode 100644 socket/node_modules/core-js/fn/number/is-nan.js create mode 100644 socket/node_modules/core-js/fn/number/is-safe-integer.js create mode 100644 socket/node_modules/core-js/fn/number/iterator.js create mode 100644 socket/node_modules/core-js/fn/number/max-safe-integer.js create mode 100644 socket/node_modules/core-js/fn/number/min-safe-integer.js create mode 100644 socket/node_modules/core-js/fn/number/parse-float.js create mode 100644 socket/node_modules/core-js/fn/number/parse-int.js create mode 100644 socket/node_modules/core-js/fn/number/to-fixed.js create mode 100644 socket/node_modules/core-js/fn/number/to-precision.js create mode 100644 socket/node_modules/core-js/fn/number/virtual/index.js create mode 100644 socket/node_modules/core-js/fn/number/virtual/iterator.js create mode 100644 socket/node_modules/core-js/fn/number/virtual/to-fixed.js create mode 100644 socket/node_modules/core-js/fn/number/virtual/to-precision.js create mode 100644 socket/node_modules/core-js/fn/object/assign.js create mode 100644 socket/node_modules/core-js/fn/object/classof.js create mode 100644 socket/node_modules/core-js/fn/object/create.js create mode 100644 socket/node_modules/core-js/fn/object/define-getter.js create mode 100644 socket/node_modules/core-js/fn/object/define-properties.js create mode 100644 socket/node_modules/core-js/fn/object/define-property.js create mode 100644 socket/node_modules/core-js/fn/object/define-setter.js create mode 100644 socket/node_modules/core-js/fn/object/define.js create mode 100644 socket/node_modules/core-js/fn/object/entries.js create mode 100644 socket/node_modules/core-js/fn/object/freeze.js create mode 100644 socket/node_modules/core-js/fn/object/get-own-property-descriptor.js create mode 100644 socket/node_modules/core-js/fn/object/get-own-property-descriptors.js create mode 100644 socket/node_modules/core-js/fn/object/get-own-property-names.js create mode 100644 socket/node_modules/core-js/fn/object/get-own-property-symbols.js create mode 100644 socket/node_modules/core-js/fn/object/get-prototype-of.js create mode 100644 socket/node_modules/core-js/fn/object/index.js create mode 100644 socket/node_modules/core-js/fn/object/is-extensible.js create mode 100644 socket/node_modules/core-js/fn/object/is-frozen.js create mode 100644 socket/node_modules/core-js/fn/object/is-object.js create mode 100644 socket/node_modules/core-js/fn/object/is-sealed.js create mode 100644 socket/node_modules/core-js/fn/object/is.js create mode 100644 socket/node_modules/core-js/fn/object/keys.js create mode 100644 socket/node_modules/core-js/fn/object/lookup-getter.js create mode 100644 socket/node_modules/core-js/fn/object/lookup-setter.js create mode 100644 socket/node_modules/core-js/fn/object/make.js create mode 100644 socket/node_modules/core-js/fn/object/prevent-extensions.js create mode 100644 socket/node_modules/core-js/fn/object/seal.js create mode 100644 socket/node_modules/core-js/fn/object/set-prototype-of.js create mode 100644 socket/node_modules/core-js/fn/object/values.js create mode 100644 socket/node_modules/core-js/fn/observable.js create mode 100644 socket/node_modules/core-js/fn/parse-float.js create mode 100644 socket/node_modules/core-js/fn/parse-int.js create mode 100644 socket/node_modules/core-js/fn/promise.js create mode 100644 socket/node_modules/core-js/fn/promise/finally.js create mode 100644 socket/node_modules/core-js/fn/promise/index.js create mode 100644 socket/node_modules/core-js/fn/promise/try.js create mode 100644 socket/node_modules/core-js/fn/reflect/apply.js create mode 100644 socket/node_modules/core-js/fn/reflect/construct.js create mode 100644 socket/node_modules/core-js/fn/reflect/define-metadata.js create mode 100644 socket/node_modules/core-js/fn/reflect/define-property.js create mode 100644 socket/node_modules/core-js/fn/reflect/delete-metadata.js create mode 100644 socket/node_modules/core-js/fn/reflect/delete-property.js create mode 100644 socket/node_modules/core-js/fn/reflect/enumerate.js create mode 100644 socket/node_modules/core-js/fn/reflect/get-metadata-keys.js create mode 100644 socket/node_modules/core-js/fn/reflect/get-metadata.js create mode 100644 socket/node_modules/core-js/fn/reflect/get-own-metadata-keys.js create mode 100644 socket/node_modules/core-js/fn/reflect/get-own-metadata.js create mode 100644 socket/node_modules/core-js/fn/reflect/get-own-property-descriptor.js create mode 100644 socket/node_modules/core-js/fn/reflect/get-prototype-of.js create mode 100644 socket/node_modules/core-js/fn/reflect/get.js create mode 100644 socket/node_modules/core-js/fn/reflect/has-metadata.js create mode 100644 socket/node_modules/core-js/fn/reflect/has-own-metadata.js create mode 100644 socket/node_modules/core-js/fn/reflect/has.js create mode 100644 socket/node_modules/core-js/fn/reflect/index.js create mode 100644 socket/node_modules/core-js/fn/reflect/is-extensible.js create mode 100644 socket/node_modules/core-js/fn/reflect/metadata.js create mode 100644 socket/node_modules/core-js/fn/reflect/own-keys.js create mode 100644 socket/node_modules/core-js/fn/reflect/prevent-extensions.js create mode 100644 socket/node_modules/core-js/fn/reflect/set-prototype-of.js create mode 100644 socket/node_modules/core-js/fn/reflect/set.js create mode 100644 socket/node_modules/core-js/fn/regexp/constructor.js create mode 100644 socket/node_modules/core-js/fn/regexp/escape.js create mode 100644 socket/node_modules/core-js/fn/regexp/flags.js create mode 100644 socket/node_modules/core-js/fn/regexp/index.js create mode 100644 socket/node_modules/core-js/fn/regexp/match.js create mode 100644 socket/node_modules/core-js/fn/regexp/replace.js create mode 100644 socket/node_modules/core-js/fn/regexp/search.js create mode 100644 socket/node_modules/core-js/fn/regexp/split.js create mode 100644 socket/node_modules/core-js/fn/regexp/to-string.js create mode 100644 socket/node_modules/core-js/fn/set-immediate.js create mode 100644 socket/node_modules/core-js/fn/set-interval.js create mode 100644 socket/node_modules/core-js/fn/set-timeout.js create mode 100644 socket/node_modules/core-js/fn/set.js create mode 100644 socket/node_modules/core-js/fn/set/from.js create mode 100644 socket/node_modules/core-js/fn/set/index.js create mode 100644 socket/node_modules/core-js/fn/set/of.js create mode 100644 socket/node_modules/core-js/fn/string/anchor.js create mode 100644 socket/node_modules/core-js/fn/string/at.js create mode 100644 socket/node_modules/core-js/fn/string/big.js create mode 100644 socket/node_modules/core-js/fn/string/blink.js create mode 100644 socket/node_modules/core-js/fn/string/bold.js create mode 100644 socket/node_modules/core-js/fn/string/code-point-at.js create mode 100644 socket/node_modules/core-js/fn/string/ends-with.js create mode 100644 socket/node_modules/core-js/fn/string/escape-html.js create mode 100644 socket/node_modules/core-js/fn/string/fixed.js create mode 100644 socket/node_modules/core-js/fn/string/fontcolor.js create mode 100644 socket/node_modules/core-js/fn/string/fontsize.js create mode 100644 socket/node_modules/core-js/fn/string/from-code-point.js create mode 100644 socket/node_modules/core-js/fn/string/includes.js create mode 100644 socket/node_modules/core-js/fn/string/index.js create mode 100644 socket/node_modules/core-js/fn/string/italics.js create mode 100644 socket/node_modules/core-js/fn/string/iterator.js create mode 100644 socket/node_modules/core-js/fn/string/link.js create mode 100644 socket/node_modules/core-js/fn/string/match-all.js create mode 100644 socket/node_modules/core-js/fn/string/pad-end.js create mode 100644 socket/node_modules/core-js/fn/string/pad-start.js create mode 100644 socket/node_modules/core-js/fn/string/raw.js create mode 100644 socket/node_modules/core-js/fn/string/repeat.js create mode 100644 socket/node_modules/core-js/fn/string/small.js create mode 100644 socket/node_modules/core-js/fn/string/starts-with.js create mode 100644 socket/node_modules/core-js/fn/string/strike.js create mode 100644 socket/node_modules/core-js/fn/string/sub.js create mode 100644 socket/node_modules/core-js/fn/string/sup.js create mode 100644 socket/node_modules/core-js/fn/string/trim-end.js create mode 100644 socket/node_modules/core-js/fn/string/trim-left.js create mode 100644 socket/node_modules/core-js/fn/string/trim-right.js create mode 100644 socket/node_modules/core-js/fn/string/trim-start.js create mode 100644 socket/node_modules/core-js/fn/string/trim.js create mode 100644 socket/node_modules/core-js/fn/string/unescape-html.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/anchor.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/at.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/big.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/blink.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/bold.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/code-point-at.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/ends-with.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/escape-html.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/fixed.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/fontcolor.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/fontsize.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/includes.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/index.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/italics.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/iterator.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/link.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/match-all.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/pad-end.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/pad-start.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/repeat.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/small.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/starts-with.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/strike.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/sub.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/sup.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/trim-end.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/trim-left.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/trim-right.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/trim-start.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/trim.js create mode 100644 socket/node_modules/core-js/fn/string/virtual/unescape-html.js create mode 100644 socket/node_modules/core-js/fn/symbol/async-iterator.js create mode 100644 socket/node_modules/core-js/fn/symbol/for.js create mode 100644 socket/node_modules/core-js/fn/symbol/has-instance.js create mode 100644 socket/node_modules/core-js/fn/symbol/index.js create mode 100644 socket/node_modules/core-js/fn/symbol/is-concat-spreadable.js create mode 100644 socket/node_modules/core-js/fn/symbol/iterator.js create mode 100644 socket/node_modules/core-js/fn/symbol/key-for.js create mode 100644 socket/node_modules/core-js/fn/symbol/match.js create mode 100644 socket/node_modules/core-js/fn/symbol/observable.js create mode 100644 socket/node_modules/core-js/fn/symbol/replace.js create mode 100644 socket/node_modules/core-js/fn/symbol/search.js create mode 100644 socket/node_modules/core-js/fn/symbol/species.js create mode 100644 socket/node_modules/core-js/fn/symbol/split.js create mode 100644 socket/node_modules/core-js/fn/symbol/to-primitive.js create mode 100644 socket/node_modules/core-js/fn/symbol/to-string-tag.js create mode 100644 socket/node_modules/core-js/fn/symbol/unscopables.js create mode 100644 socket/node_modules/core-js/fn/system/global.js create mode 100644 socket/node_modules/core-js/fn/system/index.js create mode 100644 socket/node_modules/core-js/fn/typed/array-buffer.js create mode 100644 socket/node_modules/core-js/fn/typed/data-view.js create mode 100644 socket/node_modules/core-js/fn/typed/float32-array.js create mode 100644 socket/node_modules/core-js/fn/typed/float64-array.js create mode 100644 socket/node_modules/core-js/fn/typed/index.js create mode 100644 socket/node_modules/core-js/fn/typed/int16-array.js create mode 100644 socket/node_modules/core-js/fn/typed/int32-array.js create mode 100644 socket/node_modules/core-js/fn/typed/int8-array.js create mode 100644 socket/node_modules/core-js/fn/typed/uint16-array.js create mode 100644 socket/node_modules/core-js/fn/typed/uint32-array.js create mode 100644 socket/node_modules/core-js/fn/typed/uint8-array.js create mode 100644 socket/node_modules/core-js/fn/typed/uint8-clamped-array.js create mode 100644 socket/node_modules/core-js/fn/weak-map.js create mode 100644 socket/node_modules/core-js/fn/weak-map/from.js create mode 100644 socket/node_modules/core-js/fn/weak-map/index.js create mode 100644 socket/node_modules/core-js/fn/weak-map/of.js create mode 100644 socket/node_modules/core-js/fn/weak-set.js create mode 100644 socket/node_modules/core-js/fn/weak-set/from.js create mode 100644 socket/node_modules/core-js/fn/weak-set/index.js create mode 100644 socket/node_modules/core-js/fn/weak-set/of.js create mode 100644 socket/node_modules/core-js/index.js create mode 100644 socket/node_modules/core-js/library/core/_.js create mode 100644 socket/node_modules/core-js/library/core/delay.js create mode 100644 socket/node_modules/core-js/library/core/dict.js create mode 100644 socket/node_modules/core-js/library/core/function.js create mode 100644 socket/node_modules/core-js/library/core/index.js create mode 100644 socket/node_modules/core-js/library/core/number.js create mode 100644 socket/node_modules/core-js/library/core/object.js create mode 100644 socket/node_modules/core-js/library/core/regexp.js create mode 100644 socket/node_modules/core-js/library/core/string.js create mode 100644 socket/node_modules/core-js/library/es5/index.js create mode 100644 socket/node_modules/core-js/library/es6/array.js create mode 100644 socket/node_modules/core-js/library/es6/date.js create mode 100644 socket/node_modules/core-js/library/es6/function.js create mode 100644 socket/node_modules/core-js/library/es6/index.js create mode 100644 socket/node_modules/core-js/library/es6/map.js create mode 100644 socket/node_modules/core-js/library/es6/math.js create mode 100644 socket/node_modules/core-js/library/es6/number.js create mode 100644 socket/node_modules/core-js/library/es6/object.js create mode 100644 socket/node_modules/core-js/library/es6/parse-float.js create mode 100644 socket/node_modules/core-js/library/es6/parse-int.js create mode 100644 socket/node_modules/core-js/library/es6/promise.js create mode 100644 socket/node_modules/core-js/library/es6/reflect.js create mode 100644 socket/node_modules/core-js/library/es6/regexp.js create mode 100644 socket/node_modules/core-js/library/es6/set.js create mode 100644 socket/node_modules/core-js/library/es6/string.js create mode 100644 socket/node_modules/core-js/library/es6/symbol.js create mode 100644 socket/node_modules/core-js/library/es6/typed.js create mode 100644 socket/node_modules/core-js/library/es6/weak-map.js create mode 100644 socket/node_modules/core-js/library/es6/weak-set.js create mode 100644 socket/node_modules/core-js/library/es7/array.js create mode 100644 socket/node_modules/core-js/library/es7/asap.js create mode 100644 socket/node_modules/core-js/library/es7/error.js create mode 100644 socket/node_modules/core-js/library/es7/global.js create mode 100644 socket/node_modules/core-js/library/es7/index.js create mode 100644 socket/node_modules/core-js/library/es7/map.js create mode 100644 socket/node_modules/core-js/library/es7/math.js create mode 100644 socket/node_modules/core-js/library/es7/object.js create mode 100644 socket/node_modules/core-js/library/es7/observable.js create mode 100644 socket/node_modules/core-js/library/es7/promise.js create mode 100644 socket/node_modules/core-js/library/es7/reflect.js create mode 100644 socket/node_modules/core-js/library/es7/set.js create mode 100644 socket/node_modules/core-js/library/es7/string.js create mode 100644 socket/node_modules/core-js/library/es7/symbol.js create mode 100644 socket/node_modules/core-js/library/es7/system.js create mode 100644 socket/node_modules/core-js/library/es7/weak-map.js create mode 100644 socket/node_modules/core-js/library/es7/weak-set.js create mode 100644 socket/node_modules/core-js/library/fn/_.js create mode 100644 socket/node_modules/core-js/library/fn/array/concat.js create mode 100644 socket/node_modules/core-js/library/fn/array/copy-within.js create mode 100644 socket/node_modules/core-js/library/fn/array/entries.js create mode 100644 socket/node_modules/core-js/library/fn/array/every.js create mode 100644 socket/node_modules/core-js/library/fn/array/fill.js create mode 100644 socket/node_modules/core-js/library/fn/array/filter.js create mode 100644 socket/node_modules/core-js/library/fn/array/find-index.js create mode 100644 socket/node_modules/core-js/library/fn/array/find.js create mode 100644 socket/node_modules/core-js/library/fn/array/flat-map.js create mode 100644 socket/node_modules/core-js/library/fn/array/flatten.js create mode 100644 socket/node_modules/core-js/library/fn/array/for-each.js create mode 100644 socket/node_modules/core-js/library/fn/array/from.js create mode 100644 socket/node_modules/core-js/library/fn/array/includes.js create mode 100644 socket/node_modules/core-js/library/fn/array/index-of.js create mode 100644 socket/node_modules/core-js/library/fn/array/index.js create mode 100644 socket/node_modules/core-js/library/fn/array/is-array.js create mode 100644 socket/node_modules/core-js/library/fn/array/iterator.js create mode 100644 socket/node_modules/core-js/library/fn/array/join.js create mode 100644 socket/node_modules/core-js/library/fn/array/keys.js create mode 100644 socket/node_modules/core-js/library/fn/array/last-index-of.js create mode 100644 socket/node_modules/core-js/library/fn/array/map.js create mode 100644 socket/node_modules/core-js/library/fn/array/of.js create mode 100644 socket/node_modules/core-js/library/fn/array/pop.js create mode 100644 socket/node_modules/core-js/library/fn/array/push.js create mode 100644 socket/node_modules/core-js/library/fn/array/reduce-right.js create mode 100644 socket/node_modules/core-js/library/fn/array/reduce.js create mode 100644 socket/node_modules/core-js/library/fn/array/reverse.js create mode 100644 socket/node_modules/core-js/library/fn/array/shift.js create mode 100644 socket/node_modules/core-js/library/fn/array/slice.js create mode 100644 socket/node_modules/core-js/library/fn/array/some.js create mode 100644 socket/node_modules/core-js/library/fn/array/sort.js create mode 100644 socket/node_modules/core-js/library/fn/array/splice.js create mode 100644 socket/node_modules/core-js/library/fn/array/unshift.js create mode 100644 socket/node_modules/core-js/library/fn/array/values.js create mode 100644 socket/node_modules/core-js/library/fn/array/virtual/copy-within.js create mode 100644 socket/node_modules/core-js/library/fn/array/virtual/entries.js create mode 100644 socket/node_modules/core-js/library/fn/array/virtual/every.js create mode 100644 socket/node_modules/core-js/library/fn/array/virtual/fill.js create mode 100644 socket/node_modules/core-js/library/fn/array/virtual/filter.js create mode 100644 socket/node_modules/core-js/library/fn/array/virtual/find-index.js create mode 100644 socket/node_modules/core-js/library/fn/array/virtual/find.js create mode 100644 socket/node_modules/core-js/library/fn/array/virtual/flat-map.js create mode 100644 socket/node_modules/core-js/library/fn/array/virtual/flatten.js create mode 100644 socket/node_modules/core-js/library/fn/array/virtual/for-each.js create mode 100644 socket/node_modules/core-js/library/fn/array/virtual/includes.js create mode 100644 socket/node_modules/core-js/library/fn/array/virtual/index-of.js create mode 100644 socket/node_modules/core-js/library/fn/array/virtual/index.js create mode 100644 socket/node_modules/core-js/library/fn/array/virtual/iterator.js create mode 100644 socket/node_modules/core-js/library/fn/array/virtual/join.js create mode 100644 socket/node_modules/core-js/library/fn/array/virtual/keys.js create mode 100644 socket/node_modules/core-js/library/fn/array/virtual/last-index-of.js create mode 100644 socket/node_modules/core-js/library/fn/array/virtual/map.js create mode 100644 socket/node_modules/core-js/library/fn/array/virtual/reduce-right.js create mode 100644 socket/node_modules/core-js/library/fn/array/virtual/reduce.js create mode 100644 socket/node_modules/core-js/library/fn/array/virtual/slice.js create mode 100644 socket/node_modules/core-js/library/fn/array/virtual/some.js create mode 100644 socket/node_modules/core-js/library/fn/array/virtual/sort.js create mode 100644 socket/node_modules/core-js/library/fn/array/virtual/values.js create mode 100644 socket/node_modules/core-js/library/fn/asap.js create mode 100644 socket/node_modules/core-js/library/fn/clear-immediate.js create mode 100644 socket/node_modules/core-js/library/fn/date/index.js create mode 100644 socket/node_modules/core-js/library/fn/date/now.js create mode 100644 socket/node_modules/core-js/library/fn/date/to-iso-string.js create mode 100644 socket/node_modules/core-js/library/fn/date/to-json.js create mode 100644 socket/node_modules/core-js/library/fn/date/to-primitive.js create mode 100644 socket/node_modules/core-js/library/fn/date/to-string.js create mode 100644 socket/node_modules/core-js/library/fn/delay.js create mode 100644 socket/node_modules/core-js/library/fn/dict.js create mode 100644 socket/node_modules/core-js/library/fn/dom-collections/index.js create mode 100644 socket/node_modules/core-js/library/fn/dom-collections/iterator.js create mode 100644 socket/node_modules/core-js/library/fn/error/index.js create mode 100644 socket/node_modules/core-js/library/fn/error/is-error.js create mode 100644 socket/node_modules/core-js/library/fn/function/bind.js create mode 100644 socket/node_modules/core-js/library/fn/function/has-instance.js create mode 100644 socket/node_modules/core-js/library/fn/function/index.js create mode 100644 socket/node_modules/core-js/library/fn/function/name.js create mode 100644 socket/node_modules/core-js/library/fn/function/part.js create mode 100644 socket/node_modules/core-js/library/fn/function/virtual/bind.js create mode 100644 socket/node_modules/core-js/library/fn/function/virtual/index.js create mode 100644 socket/node_modules/core-js/library/fn/function/virtual/part.js create mode 100644 socket/node_modules/core-js/library/fn/get-iterator-method.js create mode 100644 socket/node_modules/core-js/library/fn/get-iterator.js create mode 100644 socket/node_modules/core-js/library/fn/global.js create mode 100644 socket/node_modules/core-js/library/fn/is-iterable.js create mode 100644 socket/node_modules/core-js/library/fn/json/index.js create mode 100644 socket/node_modules/core-js/library/fn/json/stringify.js create mode 100644 socket/node_modules/core-js/library/fn/map.js create mode 100644 socket/node_modules/core-js/library/fn/map/from.js create mode 100644 socket/node_modules/core-js/library/fn/map/index.js create mode 100644 socket/node_modules/core-js/library/fn/map/of.js create mode 100644 socket/node_modules/core-js/library/fn/math/acosh.js create mode 100644 socket/node_modules/core-js/library/fn/math/asinh.js create mode 100644 socket/node_modules/core-js/library/fn/math/atanh.js create mode 100644 socket/node_modules/core-js/library/fn/math/cbrt.js create mode 100644 socket/node_modules/core-js/library/fn/math/clamp.js create mode 100644 socket/node_modules/core-js/library/fn/math/clz32.js create mode 100644 socket/node_modules/core-js/library/fn/math/cosh.js create mode 100644 socket/node_modules/core-js/library/fn/math/deg-per-rad.js create mode 100644 socket/node_modules/core-js/library/fn/math/degrees.js create mode 100644 socket/node_modules/core-js/library/fn/math/expm1.js create mode 100644 socket/node_modules/core-js/library/fn/math/fround.js create mode 100644 socket/node_modules/core-js/library/fn/math/fscale.js create mode 100644 socket/node_modules/core-js/library/fn/math/hypot.js create mode 100644 socket/node_modules/core-js/library/fn/math/iaddh.js create mode 100644 socket/node_modules/core-js/library/fn/math/imul.js create mode 100644 socket/node_modules/core-js/library/fn/math/imulh.js create mode 100644 socket/node_modules/core-js/library/fn/math/index.js create mode 100644 socket/node_modules/core-js/library/fn/math/isubh.js create mode 100644 socket/node_modules/core-js/library/fn/math/log10.js create mode 100644 socket/node_modules/core-js/library/fn/math/log1p.js create mode 100644 socket/node_modules/core-js/library/fn/math/log2.js create mode 100644 socket/node_modules/core-js/library/fn/math/rad-per-deg.js create mode 100644 socket/node_modules/core-js/library/fn/math/radians.js create mode 100644 socket/node_modules/core-js/library/fn/math/scale.js create mode 100644 socket/node_modules/core-js/library/fn/math/sign.js create mode 100644 socket/node_modules/core-js/library/fn/math/signbit.js create mode 100644 socket/node_modules/core-js/library/fn/math/sinh.js create mode 100644 socket/node_modules/core-js/library/fn/math/tanh.js create mode 100644 socket/node_modules/core-js/library/fn/math/trunc.js create mode 100644 socket/node_modules/core-js/library/fn/math/umulh.js create mode 100644 socket/node_modules/core-js/library/fn/number/constructor.js create mode 100644 socket/node_modules/core-js/library/fn/number/epsilon.js create mode 100644 socket/node_modules/core-js/library/fn/number/index.js create mode 100644 socket/node_modules/core-js/library/fn/number/is-finite.js create mode 100644 socket/node_modules/core-js/library/fn/number/is-integer.js create mode 100644 socket/node_modules/core-js/library/fn/number/is-nan.js create mode 100644 socket/node_modules/core-js/library/fn/number/is-safe-integer.js create mode 100644 socket/node_modules/core-js/library/fn/number/iterator.js create mode 100644 socket/node_modules/core-js/library/fn/number/max-safe-integer.js create mode 100644 socket/node_modules/core-js/library/fn/number/min-safe-integer.js create mode 100644 socket/node_modules/core-js/library/fn/number/parse-float.js create mode 100644 socket/node_modules/core-js/library/fn/number/parse-int.js create mode 100644 socket/node_modules/core-js/library/fn/number/to-fixed.js create mode 100644 socket/node_modules/core-js/library/fn/number/to-precision.js create mode 100644 socket/node_modules/core-js/library/fn/number/virtual/index.js create mode 100644 socket/node_modules/core-js/library/fn/number/virtual/iterator.js create mode 100644 socket/node_modules/core-js/library/fn/number/virtual/to-fixed.js create mode 100644 socket/node_modules/core-js/library/fn/number/virtual/to-precision.js create mode 100644 socket/node_modules/core-js/library/fn/object/assign.js create mode 100644 socket/node_modules/core-js/library/fn/object/classof.js create mode 100644 socket/node_modules/core-js/library/fn/object/create.js create mode 100644 socket/node_modules/core-js/library/fn/object/define-getter.js create mode 100644 socket/node_modules/core-js/library/fn/object/define-properties.js create mode 100644 socket/node_modules/core-js/library/fn/object/define-property.js create mode 100644 socket/node_modules/core-js/library/fn/object/define-setter.js create mode 100644 socket/node_modules/core-js/library/fn/object/define.js create mode 100644 socket/node_modules/core-js/library/fn/object/entries.js create mode 100644 socket/node_modules/core-js/library/fn/object/freeze.js create mode 100644 socket/node_modules/core-js/library/fn/object/get-own-property-descriptor.js create mode 100644 socket/node_modules/core-js/library/fn/object/get-own-property-descriptors.js create mode 100644 socket/node_modules/core-js/library/fn/object/get-own-property-names.js create mode 100644 socket/node_modules/core-js/library/fn/object/get-own-property-symbols.js create mode 100644 socket/node_modules/core-js/library/fn/object/get-prototype-of.js create mode 100644 socket/node_modules/core-js/library/fn/object/index.js create mode 100644 socket/node_modules/core-js/library/fn/object/is-extensible.js create mode 100644 socket/node_modules/core-js/library/fn/object/is-frozen.js create mode 100644 socket/node_modules/core-js/library/fn/object/is-object.js create mode 100644 socket/node_modules/core-js/library/fn/object/is-sealed.js create mode 100644 socket/node_modules/core-js/library/fn/object/is.js create mode 100644 socket/node_modules/core-js/library/fn/object/keys.js create mode 100644 socket/node_modules/core-js/library/fn/object/lookup-getter.js create mode 100644 socket/node_modules/core-js/library/fn/object/lookup-setter.js create mode 100644 socket/node_modules/core-js/library/fn/object/make.js create mode 100644 socket/node_modules/core-js/library/fn/object/prevent-extensions.js create mode 100644 socket/node_modules/core-js/library/fn/object/seal.js create mode 100644 socket/node_modules/core-js/library/fn/object/set-prototype-of.js create mode 100644 socket/node_modules/core-js/library/fn/object/values.js create mode 100644 socket/node_modules/core-js/library/fn/observable.js create mode 100644 socket/node_modules/core-js/library/fn/parse-float.js create mode 100644 socket/node_modules/core-js/library/fn/parse-int.js create mode 100644 socket/node_modules/core-js/library/fn/promise.js create mode 100644 socket/node_modules/core-js/library/fn/promise/finally.js create mode 100644 socket/node_modules/core-js/library/fn/promise/index.js create mode 100644 socket/node_modules/core-js/library/fn/promise/try.js create mode 100644 socket/node_modules/core-js/library/fn/reflect/apply.js create mode 100644 socket/node_modules/core-js/library/fn/reflect/construct.js create mode 100644 socket/node_modules/core-js/library/fn/reflect/define-metadata.js create mode 100644 socket/node_modules/core-js/library/fn/reflect/define-property.js create mode 100644 socket/node_modules/core-js/library/fn/reflect/delete-metadata.js create mode 100644 socket/node_modules/core-js/library/fn/reflect/delete-property.js create mode 100644 socket/node_modules/core-js/library/fn/reflect/enumerate.js create mode 100644 socket/node_modules/core-js/library/fn/reflect/get-metadata-keys.js create mode 100644 socket/node_modules/core-js/library/fn/reflect/get-metadata.js create mode 100644 socket/node_modules/core-js/library/fn/reflect/get-own-metadata-keys.js create mode 100644 socket/node_modules/core-js/library/fn/reflect/get-own-metadata.js create mode 100644 socket/node_modules/core-js/library/fn/reflect/get-own-property-descriptor.js create mode 100644 socket/node_modules/core-js/library/fn/reflect/get-prototype-of.js create mode 100644 socket/node_modules/core-js/library/fn/reflect/get.js create mode 100644 socket/node_modules/core-js/library/fn/reflect/has-metadata.js create mode 100644 socket/node_modules/core-js/library/fn/reflect/has-own-metadata.js create mode 100644 socket/node_modules/core-js/library/fn/reflect/has.js create mode 100644 socket/node_modules/core-js/library/fn/reflect/index.js create mode 100644 socket/node_modules/core-js/library/fn/reflect/is-extensible.js create mode 100644 socket/node_modules/core-js/library/fn/reflect/metadata.js create mode 100644 socket/node_modules/core-js/library/fn/reflect/own-keys.js create mode 100644 socket/node_modules/core-js/library/fn/reflect/prevent-extensions.js create mode 100644 socket/node_modules/core-js/library/fn/reflect/set-prototype-of.js create mode 100644 socket/node_modules/core-js/library/fn/reflect/set.js create mode 100644 socket/node_modules/core-js/library/fn/regexp/constructor.js create mode 100644 socket/node_modules/core-js/library/fn/regexp/escape.js create mode 100644 socket/node_modules/core-js/library/fn/regexp/flags.js create mode 100644 socket/node_modules/core-js/library/fn/regexp/index.js create mode 100644 socket/node_modules/core-js/library/fn/regexp/match.js create mode 100644 socket/node_modules/core-js/library/fn/regexp/replace.js create mode 100644 socket/node_modules/core-js/library/fn/regexp/search.js create mode 100644 socket/node_modules/core-js/library/fn/regexp/split.js create mode 100644 socket/node_modules/core-js/library/fn/regexp/to-string.js create mode 100644 socket/node_modules/core-js/library/fn/set-immediate.js create mode 100644 socket/node_modules/core-js/library/fn/set-interval.js create mode 100644 socket/node_modules/core-js/library/fn/set-timeout.js create mode 100644 socket/node_modules/core-js/library/fn/set.js create mode 100644 socket/node_modules/core-js/library/fn/set/from.js create mode 100644 socket/node_modules/core-js/library/fn/set/index.js create mode 100644 socket/node_modules/core-js/library/fn/set/of.js create mode 100644 socket/node_modules/core-js/library/fn/string/anchor.js create mode 100644 socket/node_modules/core-js/library/fn/string/at.js create mode 100644 socket/node_modules/core-js/library/fn/string/big.js create mode 100644 socket/node_modules/core-js/library/fn/string/blink.js create mode 100644 socket/node_modules/core-js/library/fn/string/bold.js create mode 100644 socket/node_modules/core-js/library/fn/string/code-point-at.js create mode 100644 socket/node_modules/core-js/library/fn/string/ends-with.js create mode 100644 socket/node_modules/core-js/library/fn/string/escape-html.js create mode 100644 socket/node_modules/core-js/library/fn/string/fixed.js create mode 100644 socket/node_modules/core-js/library/fn/string/fontcolor.js create mode 100644 socket/node_modules/core-js/library/fn/string/fontsize.js create mode 100644 socket/node_modules/core-js/library/fn/string/from-code-point.js create mode 100644 socket/node_modules/core-js/library/fn/string/includes.js create mode 100644 socket/node_modules/core-js/library/fn/string/index.js create mode 100644 socket/node_modules/core-js/library/fn/string/italics.js create mode 100644 socket/node_modules/core-js/library/fn/string/iterator.js create mode 100644 socket/node_modules/core-js/library/fn/string/link.js create mode 100644 socket/node_modules/core-js/library/fn/string/match-all.js create mode 100644 socket/node_modules/core-js/library/fn/string/pad-end.js create mode 100644 socket/node_modules/core-js/library/fn/string/pad-start.js create mode 100644 socket/node_modules/core-js/library/fn/string/raw.js create mode 100644 socket/node_modules/core-js/library/fn/string/repeat.js create mode 100644 socket/node_modules/core-js/library/fn/string/small.js create mode 100644 socket/node_modules/core-js/library/fn/string/starts-with.js create mode 100644 socket/node_modules/core-js/library/fn/string/strike.js create mode 100644 socket/node_modules/core-js/library/fn/string/sub.js create mode 100644 socket/node_modules/core-js/library/fn/string/sup.js create mode 100644 socket/node_modules/core-js/library/fn/string/trim-end.js create mode 100644 socket/node_modules/core-js/library/fn/string/trim-left.js create mode 100644 socket/node_modules/core-js/library/fn/string/trim-right.js create mode 100644 socket/node_modules/core-js/library/fn/string/trim-start.js create mode 100644 socket/node_modules/core-js/library/fn/string/trim.js create mode 100644 socket/node_modules/core-js/library/fn/string/unescape-html.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/anchor.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/at.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/big.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/blink.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/bold.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/code-point-at.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/ends-with.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/escape-html.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/fixed.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/fontcolor.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/fontsize.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/includes.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/index.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/italics.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/iterator.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/link.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/match-all.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/pad-end.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/pad-start.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/repeat.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/small.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/starts-with.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/strike.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/sub.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/sup.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/trim-end.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/trim-left.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/trim-right.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/trim-start.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/trim.js create mode 100644 socket/node_modules/core-js/library/fn/string/virtual/unescape-html.js create mode 100644 socket/node_modules/core-js/library/fn/symbol/async-iterator.js create mode 100644 socket/node_modules/core-js/library/fn/symbol/for.js create mode 100644 socket/node_modules/core-js/library/fn/symbol/has-instance.js create mode 100644 socket/node_modules/core-js/library/fn/symbol/index.js create mode 100644 socket/node_modules/core-js/library/fn/symbol/is-concat-spreadable.js create mode 100644 socket/node_modules/core-js/library/fn/symbol/iterator.js create mode 100644 socket/node_modules/core-js/library/fn/symbol/key-for.js create mode 100644 socket/node_modules/core-js/library/fn/symbol/match.js create mode 100644 socket/node_modules/core-js/library/fn/symbol/observable.js create mode 100644 socket/node_modules/core-js/library/fn/symbol/replace.js create mode 100644 socket/node_modules/core-js/library/fn/symbol/search.js create mode 100644 socket/node_modules/core-js/library/fn/symbol/species.js create mode 100644 socket/node_modules/core-js/library/fn/symbol/split.js create mode 100644 socket/node_modules/core-js/library/fn/symbol/to-primitive.js create mode 100644 socket/node_modules/core-js/library/fn/symbol/to-string-tag.js create mode 100644 socket/node_modules/core-js/library/fn/symbol/unscopables.js create mode 100644 socket/node_modules/core-js/library/fn/system/global.js create mode 100644 socket/node_modules/core-js/library/fn/system/index.js create mode 100644 socket/node_modules/core-js/library/fn/typed/array-buffer.js create mode 100644 socket/node_modules/core-js/library/fn/typed/data-view.js create mode 100644 socket/node_modules/core-js/library/fn/typed/float32-array.js create mode 100644 socket/node_modules/core-js/library/fn/typed/float64-array.js create mode 100644 socket/node_modules/core-js/library/fn/typed/index.js create mode 100644 socket/node_modules/core-js/library/fn/typed/int16-array.js create mode 100644 socket/node_modules/core-js/library/fn/typed/int32-array.js create mode 100644 socket/node_modules/core-js/library/fn/typed/int8-array.js create mode 100644 socket/node_modules/core-js/library/fn/typed/uint16-array.js create mode 100644 socket/node_modules/core-js/library/fn/typed/uint32-array.js create mode 100644 socket/node_modules/core-js/library/fn/typed/uint8-array.js create mode 100644 socket/node_modules/core-js/library/fn/typed/uint8-clamped-array.js create mode 100644 socket/node_modules/core-js/library/fn/weak-map.js create mode 100644 socket/node_modules/core-js/library/fn/weak-map/from.js create mode 100644 socket/node_modules/core-js/library/fn/weak-map/index.js create mode 100644 socket/node_modules/core-js/library/fn/weak-map/of.js create mode 100644 socket/node_modules/core-js/library/fn/weak-set.js create mode 100644 socket/node_modules/core-js/library/fn/weak-set/from.js create mode 100644 socket/node_modules/core-js/library/fn/weak-set/index.js create mode 100644 socket/node_modules/core-js/library/fn/weak-set/of.js create mode 100644 socket/node_modules/core-js/library/index.js create mode 100644 socket/node_modules/core-js/library/modules/_a-function.js create mode 100644 socket/node_modules/core-js/library/modules/_a-number-value.js create mode 100644 socket/node_modules/core-js/library/modules/_add-to-unscopables.js create mode 100644 socket/node_modules/core-js/library/modules/_an-instance.js create mode 100644 socket/node_modules/core-js/library/modules/_an-object.js create mode 100644 socket/node_modules/core-js/library/modules/_array-copy-within.js create mode 100644 socket/node_modules/core-js/library/modules/_array-fill.js create mode 100644 socket/node_modules/core-js/library/modules/_array-from-iterable.js create mode 100644 socket/node_modules/core-js/library/modules/_array-includes.js create mode 100644 socket/node_modules/core-js/library/modules/_array-methods.js create mode 100644 socket/node_modules/core-js/library/modules/_array-reduce.js create mode 100644 socket/node_modules/core-js/library/modules/_array-species-constructor.js create mode 100644 socket/node_modules/core-js/library/modules/_array-species-create.js create mode 100644 socket/node_modules/core-js/library/modules/_bind.js create mode 100644 socket/node_modules/core-js/library/modules/_classof.js create mode 100644 socket/node_modules/core-js/library/modules/_cof.js create mode 100644 socket/node_modules/core-js/library/modules/_collection-strong.js create mode 100644 socket/node_modules/core-js/library/modules/_collection-to-json.js create mode 100644 socket/node_modules/core-js/library/modules/_collection-weak.js create mode 100644 socket/node_modules/core-js/library/modules/_collection.js create mode 100644 socket/node_modules/core-js/library/modules/_core.js create mode 100644 socket/node_modules/core-js/library/modules/_create-property.js create mode 100644 socket/node_modules/core-js/library/modules/_ctx.js create mode 100644 socket/node_modules/core-js/library/modules/_date-to-iso-string.js create mode 100644 socket/node_modules/core-js/library/modules/_date-to-primitive.js create mode 100644 socket/node_modules/core-js/library/modules/_defined.js create mode 100644 socket/node_modules/core-js/library/modules/_descriptors.js create mode 100644 socket/node_modules/core-js/library/modules/_dom-create.js create mode 100644 socket/node_modules/core-js/library/modules/_entry-virtual.js create mode 100644 socket/node_modules/core-js/library/modules/_enum-bug-keys.js create mode 100644 socket/node_modules/core-js/library/modules/_enum-keys.js create mode 100644 socket/node_modules/core-js/library/modules/_export.js create mode 100644 socket/node_modules/core-js/library/modules/_fails-is-regexp.js create mode 100644 socket/node_modules/core-js/library/modules/_fails.js create mode 100644 socket/node_modules/core-js/library/modules/_fix-re-wks.js create mode 100644 socket/node_modules/core-js/library/modules/_flags.js create mode 100644 socket/node_modules/core-js/library/modules/_flatten-into-array.js create mode 100644 socket/node_modules/core-js/library/modules/_for-of.js create mode 100644 socket/node_modules/core-js/library/modules/_global.js create mode 100644 socket/node_modules/core-js/library/modules/_has.js create mode 100644 socket/node_modules/core-js/library/modules/_hide.js create mode 100644 socket/node_modules/core-js/library/modules/_html.js create mode 100644 socket/node_modules/core-js/library/modules/_ie8-dom-define.js create mode 100644 socket/node_modules/core-js/library/modules/_inherit-if-required.js create mode 100644 socket/node_modules/core-js/library/modules/_invoke.js create mode 100644 socket/node_modules/core-js/library/modules/_iobject.js create mode 100644 socket/node_modules/core-js/library/modules/_is-array-iter.js create mode 100644 socket/node_modules/core-js/library/modules/_is-array.js create mode 100644 socket/node_modules/core-js/library/modules/_is-integer.js create mode 100644 socket/node_modules/core-js/library/modules/_is-object.js create mode 100644 socket/node_modules/core-js/library/modules/_is-regexp.js create mode 100644 socket/node_modules/core-js/library/modules/_iter-call.js create mode 100644 socket/node_modules/core-js/library/modules/_iter-create.js create mode 100644 socket/node_modules/core-js/library/modules/_iter-define.js create mode 100644 socket/node_modules/core-js/library/modules/_iter-detect.js create mode 100644 socket/node_modules/core-js/library/modules/_iter-step.js create mode 100644 socket/node_modules/core-js/library/modules/_iterators.js create mode 100644 socket/node_modules/core-js/library/modules/_keyof.js create mode 100644 socket/node_modules/core-js/library/modules/_library.js create mode 100644 socket/node_modules/core-js/library/modules/_math-expm1.js create mode 100644 socket/node_modules/core-js/library/modules/_math-fround.js create mode 100644 socket/node_modules/core-js/library/modules/_math-log1p.js create mode 100644 socket/node_modules/core-js/library/modules/_math-scale.js create mode 100644 socket/node_modules/core-js/library/modules/_math-sign.js create mode 100644 socket/node_modules/core-js/library/modules/_meta.js create mode 100644 socket/node_modules/core-js/library/modules/_metadata.js create mode 100644 socket/node_modules/core-js/library/modules/_microtask.js create mode 100644 socket/node_modules/core-js/library/modules/_new-promise-capability.js create mode 100644 socket/node_modules/core-js/library/modules/_object-assign.js create mode 100644 socket/node_modules/core-js/library/modules/_object-create.js create mode 100644 socket/node_modules/core-js/library/modules/_object-define.js create mode 100644 socket/node_modules/core-js/library/modules/_object-dp.js create mode 100644 socket/node_modules/core-js/library/modules/_object-dps.js create mode 100644 socket/node_modules/core-js/library/modules/_object-forced-pam.js create mode 100644 socket/node_modules/core-js/library/modules/_object-gopd.js create mode 100644 socket/node_modules/core-js/library/modules/_object-gopn-ext.js create mode 100644 socket/node_modules/core-js/library/modules/_object-gopn.js create mode 100644 socket/node_modules/core-js/library/modules/_object-gops.js create mode 100644 socket/node_modules/core-js/library/modules/_object-gpo.js create mode 100644 socket/node_modules/core-js/library/modules/_object-keys-internal.js create mode 100644 socket/node_modules/core-js/library/modules/_object-keys.js create mode 100644 socket/node_modules/core-js/library/modules/_object-pie.js create mode 100644 socket/node_modules/core-js/library/modules/_object-sap.js create mode 100644 socket/node_modules/core-js/library/modules/_object-to-array.js create mode 100644 socket/node_modules/core-js/library/modules/_own-keys.js create mode 100644 socket/node_modules/core-js/library/modules/_parse-float.js create mode 100644 socket/node_modules/core-js/library/modules/_parse-int.js create mode 100644 socket/node_modules/core-js/library/modules/_partial.js create mode 100644 socket/node_modules/core-js/library/modules/_path.js create mode 100644 socket/node_modules/core-js/library/modules/_perform.js create mode 100644 socket/node_modules/core-js/library/modules/_promise-resolve.js create mode 100644 socket/node_modules/core-js/library/modules/_property-desc.js create mode 100644 socket/node_modules/core-js/library/modules/_redefine-all.js create mode 100644 socket/node_modules/core-js/library/modules/_redefine.js create mode 100644 socket/node_modules/core-js/library/modules/_replacer.js create mode 100644 socket/node_modules/core-js/library/modules/_same-value.js create mode 100644 socket/node_modules/core-js/library/modules/_set-collection-from.js create mode 100644 socket/node_modules/core-js/library/modules/_set-collection-of.js create mode 100644 socket/node_modules/core-js/library/modules/_set-proto.js create mode 100644 socket/node_modules/core-js/library/modules/_set-species.js create mode 100644 socket/node_modules/core-js/library/modules/_set-to-string-tag.js create mode 100644 socket/node_modules/core-js/library/modules/_shared-key.js create mode 100644 socket/node_modules/core-js/library/modules/_shared.js create mode 100644 socket/node_modules/core-js/library/modules/_species-constructor.js create mode 100644 socket/node_modules/core-js/library/modules/_strict-method.js create mode 100644 socket/node_modules/core-js/library/modules/_string-at.js create mode 100644 socket/node_modules/core-js/library/modules/_string-context.js create mode 100644 socket/node_modules/core-js/library/modules/_string-html.js create mode 100644 socket/node_modules/core-js/library/modules/_string-pad.js create mode 100644 socket/node_modules/core-js/library/modules/_string-repeat.js create mode 100644 socket/node_modules/core-js/library/modules/_string-trim.js create mode 100644 socket/node_modules/core-js/library/modules/_string-ws.js create mode 100644 socket/node_modules/core-js/library/modules/_task.js create mode 100644 socket/node_modules/core-js/library/modules/_to-absolute-index.js create mode 100644 socket/node_modules/core-js/library/modules/_to-index.js create mode 100644 socket/node_modules/core-js/library/modules/_to-integer.js create mode 100644 socket/node_modules/core-js/library/modules/_to-iobject.js create mode 100644 socket/node_modules/core-js/library/modules/_to-length.js create mode 100644 socket/node_modules/core-js/library/modules/_to-object.js create mode 100644 socket/node_modules/core-js/library/modules/_to-primitive.js create mode 100644 socket/node_modules/core-js/library/modules/_typed-array.js create mode 100644 socket/node_modules/core-js/library/modules/_typed-buffer.js create mode 100644 socket/node_modules/core-js/library/modules/_typed.js create mode 100644 socket/node_modules/core-js/library/modules/_uid.js create mode 100644 socket/node_modules/core-js/library/modules/_user-agent.js create mode 100644 socket/node_modules/core-js/library/modules/_validate-collection.js create mode 100644 socket/node_modules/core-js/library/modules/_wks-define.js create mode 100644 socket/node_modules/core-js/library/modules/_wks-ext.js create mode 100644 socket/node_modules/core-js/library/modules/_wks.js create mode 100644 socket/node_modules/core-js/library/modules/core.delay.js create mode 100644 socket/node_modules/core-js/library/modules/core.dict.js create mode 100644 socket/node_modules/core-js/library/modules/core.function.part.js create mode 100644 socket/node_modules/core-js/library/modules/core.get-iterator-method.js create mode 100644 socket/node_modules/core-js/library/modules/core.get-iterator.js create mode 100644 socket/node_modules/core-js/library/modules/core.is-iterable.js create mode 100644 socket/node_modules/core-js/library/modules/core.number.iterator.js create mode 100644 socket/node_modules/core-js/library/modules/core.object.classof.js create mode 100644 socket/node_modules/core-js/library/modules/core.object.define.js create mode 100644 socket/node_modules/core-js/library/modules/core.object.is-object.js create mode 100644 socket/node_modules/core-js/library/modules/core.object.make.js create mode 100644 socket/node_modules/core-js/library/modules/core.regexp.escape.js create mode 100644 socket/node_modules/core-js/library/modules/core.string.escape-html.js create mode 100644 socket/node_modules/core-js/library/modules/core.string.unescape-html.js create mode 100644 socket/node_modules/core-js/library/modules/es5.js create mode 100644 socket/node_modules/core-js/library/modules/es6.array.copy-within.js create mode 100644 socket/node_modules/core-js/library/modules/es6.array.every.js create mode 100644 socket/node_modules/core-js/library/modules/es6.array.fill.js create mode 100644 socket/node_modules/core-js/library/modules/es6.array.filter.js create mode 100644 socket/node_modules/core-js/library/modules/es6.array.find-index.js create mode 100644 socket/node_modules/core-js/library/modules/es6.array.find.js create mode 100644 socket/node_modules/core-js/library/modules/es6.array.for-each.js create mode 100644 socket/node_modules/core-js/library/modules/es6.array.from.js create mode 100644 socket/node_modules/core-js/library/modules/es6.array.index-of.js create mode 100644 socket/node_modules/core-js/library/modules/es6.array.is-array.js create mode 100644 socket/node_modules/core-js/library/modules/es6.array.iterator.js create mode 100644 socket/node_modules/core-js/library/modules/es6.array.join.js create mode 100644 socket/node_modules/core-js/library/modules/es6.array.last-index-of.js create mode 100644 socket/node_modules/core-js/library/modules/es6.array.map.js create mode 100644 socket/node_modules/core-js/library/modules/es6.array.of.js create mode 100644 socket/node_modules/core-js/library/modules/es6.array.reduce-right.js create mode 100644 socket/node_modules/core-js/library/modules/es6.array.reduce.js create mode 100644 socket/node_modules/core-js/library/modules/es6.array.slice.js create mode 100644 socket/node_modules/core-js/library/modules/es6.array.some.js create mode 100644 socket/node_modules/core-js/library/modules/es6.array.sort.js create mode 100644 socket/node_modules/core-js/library/modules/es6.array.species.js create mode 100644 socket/node_modules/core-js/library/modules/es6.date.now.js create mode 100644 socket/node_modules/core-js/library/modules/es6.date.to-iso-string.js create mode 100644 socket/node_modules/core-js/library/modules/es6.date.to-json.js create mode 100644 socket/node_modules/core-js/library/modules/es6.date.to-primitive.js create mode 100644 socket/node_modules/core-js/library/modules/es6.date.to-string.js create mode 100644 socket/node_modules/core-js/library/modules/es6.function.bind.js create mode 100644 socket/node_modules/core-js/library/modules/es6.function.has-instance.js create mode 100644 socket/node_modules/core-js/library/modules/es6.function.name.js create mode 100644 socket/node_modules/core-js/library/modules/es6.map.js create mode 100644 socket/node_modules/core-js/library/modules/es6.math.acosh.js create mode 100644 socket/node_modules/core-js/library/modules/es6.math.asinh.js create mode 100644 socket/node_modules/core-js/library/modules/es6.math.atanh.js create mode 100644 socket/node_modules/core-js/library/modules/es6.math.cbrt.js create mode 100644 socket/node_modules/core-js/library/modules/es6.math.clz32.js create mode 100644 socket/node_modules/core-js/library/modules/es6.math.cosh.js create mode 100644 socket/node_modules/core-js/library/modules/es6.math.expm1.js create mode 100644 socket/node_modules/core-js/library/modules/es6.math.fround.js create mode 100644 socket/node_modules/core-js/library/modules/es6.math.hypot.js create mode 100644 socket/node_modules/core-js/library/modules/es6.math.imul.js create mode 100644 socket/node_modules/core-js/library/modules/es6.math.log10.js create mode 100644 socket/node_modules/core-js/library/modules/es6.math.log1p.js create mode 100644 socket/node_modules/core-js/library/modules/es6.math.log2.js create mode 100644 socket/node_modules/core-js/library/modules/es6.math.sign.js create mode 100644 socket/node_modules/core-js/library/modules/es6.math.sinh.js create mode 100644 socket/node_modules/core-js/library/modules/es6.math.tanh.js create mode 100644 socket/node_modules/core-js/library/modules/es6.math.trunc.js create mode 100644 socket/node_modules/core-js/library/modules/es6.number.constructor.js create mode 100644 socket/node_modules/core-js/library/modules/es6.number.epsilon.js create mode 100644 socket/node_modules/core-js/library/modules/es6.number.is-finite.js create mode 100644 socket/node_modules/core-js/library/modules/es6.number.is-integer.js create mode 100644 socket/node_modules/core-js/library/modules/es6.number.is-nan.js create mode 100644 socket/node_modules/core-js/library/modules/es6.number.is-safe-integer.js create mode 100644 socket/node_modules/core-js/library/modules/es6.number.max-safe-integer.js create mode 100644 socket/node_modules/core-js/library/modules/es6.number.min-safe-integer.js create mode 100644 socket/node_modules/core-js/library/modules/es6.number.parse-float.js create mode 100644 socket/node_modules/core-js/library/modules/es6.number.parse-int.js create mode 100644 socket/node_modules/core-js/library/modules/es6.number.to-fixed.js create mode 100644 socket/node_modules/core-js/library/modules/es6.number.to-precision.js create mode 100644 socket/node_modules/core-js/library/modules/es6.object.assign.js create mode 100644 socket/node_modules/core-js/library/modules/es6.object.create.js create mode 100644 socket/node_modules/core-js/library/modules/es6.object.define-properties.js create mode 100644 socket/node_modules/core-js/library/modules/es6.object.define-property.js create mode 100644 socket/node_modules/core-js/library/modules/es6.object.freeze.js create mode 100644 socket/node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js create mode 100644 socket/node_modules/core-js/library/modules/es6.object.get-own-property-names.js create mode 100644 socket/node_modules/core-js/library/modules/es6.object.get-prototype-of.js create mode 100644 socket/node_modules/core-js/library/modules/es6.object.is-extensible.js create mode 100644 socket/node_modules/core-js/library/modules/es6.object.is-frozen.js create mode 100644 socket/node_modules/core-js/library/modules/es6.object.is-sealed.js create mode 100644 socket/node_modules/core-js/library/modules/es6.object.is.js create mode 100644 socket/node_modules/core-js/library/modules/es6.object.keys.js create mode 100644 socket/node_modules/core-js/library/modules/es6.object.prevent-extensions.js create mode 100644 socket/node_modules/core-js/library/modules/es6.object.seal.js create mode 100644 socket/node_modules/core-js/library/modules/es6.object.set-prototype-of.js create mode 100644 socket/node_modules/core-js/library/modules/es6.object.to-string.js create mode 100644 socket/node_modules/core-js/library/modules/es6.parse-float.js create mode 100644 socket/node_modules/core-js/library/modules/es6.parse-int.js create mode 100644 socket/node_modules/core-js/library/modules/es6.promise.js create mode 100644 socket/node_modules/core-js/library/modules/es6.reflect.apply.js create mode 100644 socket/node_modules/core-js/library/modules/es6.reflect.construct.js create mode 100644 socket/node_modules/core-js/library/modules/es6.reflect.define-property.js create mode 100644 socket/node_modules/core-js/library/modules/es6.reflect.delete-property.js create mode 100644 socket/node_modules/core-js/library/modules/es6.reflect.enumerate.js create mode 100644 socket/node_modules/core-js/library/modules/es6.reflect.get-own-property-descriptor.js create mode 100644 socket/node_modules/core-js/library/modules/es6.reflect.get-prototype-of.js create mode 100644 socket/node_modules/core-js/library/modules/es6.reflect.get.js create mode 100644 socket/node_modules/core-js/library/modules/es6.reflect.has.js create mode 100644 socket/node_modules/core-js/library/modules/es6.reflect.is-extensible.js create mode 100644 socket/node_modules/core-js/library/modules/es6.reflect.own-keys.js create mode 100644 socket/node_modules/core-js/library/modules/es6.reflect.prevent-extensions.js create mode 100644 socket/node_modules/core-js/library/modules/es6.reflect.set-prototype-of.js create mode 100644 socket/node_modules/core-js/library/modules/es6.reflect.set.js create mode 100644 socket/node_modules/core-js/library/modules/es6.regexp.constructor.js create mode 100644 socket/node_modules/core-js/library/modules/es6.regexp.flags.js create mode 100644 socket/node_modules/core-js/library/modules/es6.regexp.match.js create mode 100644 socket/node_modules/core-js/library/modules/es6.regexp.replace.js create mode 100644 socket/node_modules/core-js/library/modules/es6.regexp.search.js create mode 100644 socket/node_modules/core-js/library/modules/es6.regexp.split.js create mode 100644 socket/node_modules/core-js/library/modules/es6.regexp.to-string.js create mode 100644 socket/node_modules/core-js/library/modules/es6.set.js create mode 100644 socket/node_modules/core-js/library/modules/es6.string.anchor.js create mode 100644 socket/node_modules/core-js/library/modules/es6.string.big.js create mode 100644 socket/node_modules/core-js/library/modules/es6.string.blink.js create mode 100644 socket/node_modules/core-js/library/modules/es6.string.bold.js create mode 100644 socket/node_modules/core-js/library/modules/es6.string.code-point-at.js create mode 100644 socket/node_modules/core-js/library/modules/es6.string.ends-with.js create mode 100644 socket/node_modules/core-js/library/modules/es6.string.fixed.js create mode 100644 socket/node_modules/core-js/library/modules/es6.string.fontcolor.js create mode 100644 socket/node_modules/core-js/library/modules/es6.string.fontsize.js create mode 100644 socket/node_modules/core-js/library/modules/es6.string.from-code-point.js create mode 100644 socket/node_modules/core-js/library/modules/es6.string.includes.js create mode 100644 socket/node_modules/core-js/library/modules/es6.string.italics.js create mode 100644 socket/node_modules/core-js/library/modules/es6.string.iterator.js create mode 100644 socket/node_modules/core-js/library/modules/es6.string.link.js create mode 100644 socket/node_modules/core-js/library/modules/es6.string.raw.js create mode 100644 socket/node_modules/core-js/library/modules/es6.string.repeat.js create mode 100644 socket/node_modules/core-js/library/modules/es6.string.small.js create mode 100644 socket/node_modules/core-js/library/modules/es6.string.starts-with.js create mode 100644 socket/node_modules/core-js/library/modules/es6.string.strike.js create mode 100644 socket/node_modules/core-js/library/modules/es6.string.sub.js create mode 100644 socket/node_modules/core-js/library/modules/es6.string.sup.js create mode 100644 socket/node_modules/core-js/library/modules/es6.string.trim.js create mode 100644 socket/node_modules/core-js/library/modules/es6.symbol.js create mode 100644 socket/node_modules/core-js/library/modules/es6.typed.array-buffer.js create mode 100644 socket/node_modules/core-js/library/modules/es6.typed.data-view.js create mode 100644 socket/node_modules/core-js/library/modules/es6.typed.float32-array.js create mode 100644 socket/node_modules/core-js/library/modules/es6.typed.float64-array.js create mode 100644 socket/node_modules/core-js/library/modules/es6.typed.int16-array.js create mode 100644 socket/node_modules/core-js/library/modules/es6.typed.int32-array.js create mode 100644 socket/node_modules/core-js/library/modules/es6.typed.int8-array.js create mode 100644 socket/node_modules/core-js/library/modules/es6.typed.uint16-array.js create mode 100644 socket/node_modules/core-js/library/modules/es6.typed.uint32-array.js create mode 100644 socket/node_modules/core-js/library/modules/es6.typed.uint8-array.js create mode 100644 socket/node_modules/core-js/library/modules/es6.typed.uint8-clamped-array.js create mode 100644 socket/node_modules/core-js/library/modules/es6.weak-map.js create mode 100644 socket/node_modules/core-js/library/modules/es6.weak-set.js create mode 100644 socket/node_modules/core-js/library/modules/es7.array.flat-map.js create mode 100644 socket/node_modules/core-js/library/modules/es7.array.flatten.js create mode 100644 socket/node_modules/core-js/library/modules/es7.array.includes.js create mode 100644 socket/node_modules/core-js/library/modules/es7.asap.js create mode 100644 socket/node_modules/core-js/library/modules/es7.error.is-error.js create mode 100644 socket/node_modules/core-js/library/modules/es7.global.js create mode 100644 socket/node_modules/core-js/library/modules/es7.map.from.js create mode 100644 socket/node_modules/core-js/library/modules/es7.map.of.js create mode 100644 socket/node_modules/core-js/library/modules/es7.map.to-json.js create mode 100644 socket/node_modules/core-js/library/modules/es7.math.clamp.js create mode 100644 socket/node_modules/core-js/library/modules/es7.math.deg-per-rad.js create mode 100644 socket/node_modules/core-js/library/modules/es7.math.degrees.js create mode 100644 socket/node_modules/core-js/library/modules/es7.math.fscale.js create mode 100644 socket/node_modules/core-js/library/modules/es7.math.iaddh.js create mode 100644 socket/node_modules/core-js/library/modules/es7.math.imulh.js create mode 100644 socket/node_modules/core-js/library/modules/es7.math.isubh.js create mode 100644 socket/node_modules/core-js/library/modules/es7.math.rad-per-deg.js create mode 100644 socket/node_modules/core-js/library/modules/es7.math.radians.js create mode 100644 socket/node_modules/core-js/library/modules/es7.math.scale.js create mode 100644 socket/node_modules/core-js/library/modules/es7.math.signbit.js create mode 100644 socket/node_modules/core-js/library/modules/es7.math.umulh.js create mode 100644 socket/node_modules/core-js/library/modules/es7.object.define-getter.js create mode 100644 socket/node_modules/core-js/library/modules/es7.object.define-setter.js create mode 100644 socket/node_modules/core-js/library/modules/es7.object.entries.js create mode 100644 socket/node_modules/core-js/library/modules/es7.object.get-own-property-descriptors.js create mode 100644 socket/node_modules/core-js/library/modules/es7.object.lookup-getter.js create mode 100644 socket/node_modules/core-js/library/modules/es7.object.lookup-setter.js create mode 100644 socket/node_modules/core-js/library/modules/es7.object.values.js create mode 100644 socket/node_modules/core-js/library/modules/es7.observable.js create mode 100644 socket/node_modules/core-js/library/modules/es7.promise.finally.js create mode 100644 socket/node_modules/core-js/library/modules/es7.promise.try.js create mode 100644 socket/node_modules/core-js/library/modules/es7.reflect.define-metadata.js create mode 100644 socket/node_modules/core-js/library/modules/es7.reflect.delete-metadata.js create mode 100644 socket/node_modules/core-js/library/modules/es7.reflect.get-metadata-keys.js create mode 100644 socket/node_modules/core-js/library/modules/es7.reflect.get-metadata.js create mode 100644 socket/node_modules/core-js/library/modules/es7.reflect.get-own-metadata-keys.js create mode 100644 socket/node_modules/core-js/library/modules/es7.reflect.get-own-metadata.js create mode 100644 socket/node_modules/core-js/library/modules/es7.reflect.has-metadata.js create mode 100644 socket/node_modules/core-js/library/modules/es7.reflect.has-own-metadata.js create mode 100644 socket/node_modules/core-js/library/modules/es7.reflect.metadata.js create mode 100644 socket/node_modules/core-js/library/modules/es7.set.from.js create mode 100644 socket/node_modules/core-js/library/modules/es7.set.of.js create mode 100644 socket/node_modules/core-js/library/modules/es7.set.to-json.js create mode 100644 socket/node_modules/core-js/library/modules/es7.string.at.js create mode 100644 socket/node_modules/core-js/library/modules/es7.string.match-all.js create mode 100644 socket/node_modules/core-js/library/modules/es7.string.pad-end.js create mode 100644 socket/node_modules/core-js/library/modules/es7.string.pad-start.js create mode 100644 socket/node_modules/core-js/library/modules/es7.string.trim-left.js create mode 100644 socket/node_modules/core-js/library/modules/es7.string.trim-right.js create mode 100644 socket/node_modules/core-js/library/modules/es7.symbol.async-iterator.js create mode 100644 socket/node_modules/core-js/library/modules/es7.symbol.observable.js create mode 100644 socket/node_modules/core-js/library/modules/es7.system.global.js create mode 100644 socket/node_modules/core-js/library/modules/es7.weak-map.from.js create mode 100644 socket/node_modules/core-js/library/modules/es7.weak-map.of.js create mode 100644 socket/node_modules/core-js/library/modules/es7.weak-set.from.js create mode 100644 socket/node_modules/core-js/library/modules/es7.weak-set.of.js create mode 100644 socket/node_modules/core-js/library/modules/web.dom.iterable.js create mode 100644 socket/node_modules/core-js/library/modules/web.immediate.js create mode 100644 socket/node_modules/core-js/library/modules/web.timers.js create mode 100644 socket/node_modules/core-js/library/shim.js create mode 100644 socket/node_modules/core-js/library/stage/0.js create mode 100644 socket/node_modules/core-js/library/stage/1.js create mode 100644 socket/node_modules/core-js/library/stage/2.js create mode 100644 socket/node_modules/core-js/library/stage/3.js create mode 100644 socket/node_modules/core-js/library/stage/4.js create mode 100644 socket/node_modules/core-js/library/stage/index.js create mode 100644 socket/node_modules/core-js/library/stage/pre.js create mode 100644 socket/node_modules/core-js/library/web/dom-collections.js create mode 100644 socket/node_modules/core-js/library/web/immediate.js create mode 100644 socket/node_modules/core-js/library/web/index.js create mode 100644 socket/node_modules/core-js/library/web/timers.js create mode 100644 socket/node_modules/core-js/modules/_a-function.js create mode 100644 socket/node_modules/core-js/modules/_a-number-value.js create mode 100644 socket/node_modules/core-js/modules/_add-to-unscopables.js create mode 100644 socket/node_modules/core-js/modules/_an-instance.js create mode 100644 socket/node_modules/core-js/modules/_an-object.js create mode 100644 socket/node_modules/core-js/modules/_array-copy-within.js create mode 100644 socket/node_modules/core-js/modules/_array-fill.js create mode 100644 socket/node_modules/core-js/modules/_array-from-iterable.js create mode 100644 socket/node_modules/core-js/modules/_array-includes.js create mode 100644 socket/node_modules/core-js/modules/_array-methods.js create mode 100644 socket/node_modules/core-js/modules/_array-reduce.js create mode 100644 socket/node_modules/core-js/modules/_array-species-constructor.js create mode 100644 socket/node_modules/core-js/modules/_array-species-create.js create mode 100644 socket/node_modules/core-js/modules/_bind.js create mode 100644 socket/node_modules/core-js/modules/_classof.js create mode 100644 socket/node_modules/core-js/modules/_cof.js create mode 100644 socket/node_modules/core-js/modules/_collection-strong.js create mode 100644 socket/node_modules/core-js/modules/_collection-to-json.js create mode 100644 socket/node_modules/core-js/modules/_collection-weak.js create mode 100644 socket/node_modules/core-js/modules/_collection.js create mode 100644 socket/node_modules/core-js/modules/_core.js create mode 100644 socket/node_modules/core-js/modules/_create-property.js create mode 100644 socket/node_modules/core-js/modules/_ctx.js create mode 100644 socket/node_modules/core-js/modules/_date-to-iso-string.js create mode 100644 socket/node_modules/core-js/modules/_date-to-primitive.js create mode 100644 socket/node_modules/core-js/modules/_defined.js create mode 100644 socket/node_modules/core-js/modules/_descriptors.js create mode 100644 socket/node_modules/core-js/modules/_dom-create.js create mode 100644 socket/node_modules/core-js/modules/_entry-virtual.js create mode 100644 socket/node_modules/core-js/modules/_enum-bug-keys.js create mode 100644 socket/node_modules/core-js/modules/_enum-keys.js create mode 100644 socket/node_modules/core-js/modules/_export.js create mode 100644 socket/node_modules/core-js/modules/_fails-is-regexp.js create mode 100644 socket/node_modules/core-js/modules/_fails.js create mode 100644 socket/node_modules/core-js/modules/_fix-re-wks.js create mode 100644 socket/node_modules/core-js/modules/_flags.js create mode 100644 socket/node_modules/core-js/modules/_flatten-into-array.js create mode 100644 socket/node_modules/core-js/modules/_for-of.js create mode 100644 socket/node_modules/core-js/modules/_global.js create mode 100644 socket/node_modules/core-js/modules/_has.js create mode 100644 socket/node_modules/core-js/modules/_hide.js create mode 100644 socket/node_modules/core-js/modules/_html.js create mode 100644 socket/node_modules/core-js/modules/_ie8-dom-define.js create mode 100644 socket/node_modules/core-js/modules/_inherit-if-required.js create mode 100644 socket/node_modules/core-js/modules/_invoke.js create mode 100644 socket/node_modules/core-js/modules/_iobject.js create mode 100644 socket/node_modules/core-js/modules/_is-array-iter.js create mode 100644 socket/node_modules/core-js/modules/_is-array.js create mode 100644 socket/node_modules/core-js/modules/_is-integer.js create mode 100644 socket/node_modules/core-js/modules/_is-object.js create mode 100644 socket/node_modules/core-js/modules/_is-regexp.js create mode 100644 socket/node_modules/core-js/modules/_iter-call.js create mode 100644 socket/node_modules/core-js/modules/_iter-create.js create mode 100644 socket/node_modules/core-js/modules/_iter-define.js create mode 100644 socket/node_modules/core-js/modules/_iter-detect.js create mode 100644 socket/node_modules/core-js/modules/_iter-step.js create mode 100644 socket/node_modules/core-js/modules/_iterators.js create mode 100644 socket/node_modules/core-js/modules/_keyof.js create mode 100644 socket/node_modules/core-js/modules/_library.js create mode 100644 socket/node_modules/core-js/modules/_math-expm1.js create mode 100644 socket/node_modules/core-js/modules/_math-fround.js create mode 100644 socket/node_modules/core-js/modules/_math-log1p.js create mode 100644 socket/node_modules/core-js/modules/_math-scale.js create mode 100644 socket/node_modules/core-js/modules/_math-sign.js create mode 100644 socket/node_modules/core-js/modules/_meta.js create mode 100644 socket/node_modules/core-js/modules/_metadata.js create mode 100644 socket/node_modules/core-js/modules/_microtask.js create mode 100644 socket/node_modules/core-js/modules/_new-promise-capability.js create mode 100644 socket/node_modules/core-js/modules/_object-assign.js create mode 100644 socket/node_modules/core-js/modules/_object-create.js create mode 100644 socket/node_modules/core-js/modules/_object-define.js create mode 100644 socket/node_modules/core-js/modules/_object-dp.js create mode 100644 socket/node_modules/core-js/modules/_object-dps.js create mode 100644 socket/node_modules/core-js/modules/_object-forced-pam.js create mode 100644 socket/node_modules/core-js/modules/_object-gopd.js create mode 100644 socket/node_modules/core-js/modules/_object-gopn-ext.js create mode 100644 socket/node_modules/core-js/modules/_object-gopn.js create mode 100644 socket/node_modules/core-js/modules/_object-gops.js create mode 100644 socket/node_modules/core-js/modules/_object-gpo.js create mode 100644 socket/node_modules/core-js/modules/_object-keys-internal.js create mode 100644 socket/node_modules/core-js/modules/_object-keys.js create mode 100644 socket/node_modules/core-js/modules/_object-pie.js create mode 100644 socket/node_modules/core-js/modules/_object-sap.js create mode 100644 socket/node_modules/core-js/modules/_object-to-array.js create mode 100644 socket/node_modules/core-js/modules/_own-keys.js create mode 100644 socket/node_modules/core-js/modules/_parse-float.js create mode 100644 socket/node_modules/core-js/modules/_parse-int.js create mode 100644 socket/node_modules/core-js/modules/_partial.js create mode 100644 socket/node_modules/core-js/modules/_path.js create mode 100644 socket/node_modules/core-js/modules/_perform.js create mode 100644 socket/node_modules/core-js/modules/_promise-resolve.js create mode 100644 socket/node_modules/core-js/modules/_property-desc.js create mode 100644 socket/node_modules/core-js/modules/_redefine-all.js create mode 100644 socket/node_modules/core-js/modules/_redefine.js create mode 100644 socket/node_modules/core-js/modules/_replacer.js create mode 100644 socket/node_modules/core-js/modules/_same-value.js create mode 100644 socket/node_modules/core-js/modules/_set-collection-from.js create mode 100644 socket/node_modules/core-js/modules/_set-collection-of.js create mode 100644 socket/node_modules/core-js/modules/_set-proto.js create mode 100644 socket/node_modules/core-js/modules/_set-species.js create mode 100644 socket/node_modules/core-js/modules/_set-to-string-tag.js create mode 100644 socket/node_modules/core-js/modules/_shared-key.js create mode 100644 socket/node_modules/core-js/modules/_shared.js create mode 100644 socket/node_modules/core-js/modules/_species-constructor.js create mode 100644 socket/node_modules/core-js/modules/_strict-method.js create mode 100644 socket/node_modules/core-js/modules/_string-at.js create mode 100644 socket/node_modules/core-js/modules/_string-context.js create mode 100644 socket/node_modules/core-js/modules/_string-html.js create mode 100644 socket/node_modules/core-js/modules/_string-pad.js create mode 100644 socket/node_modules/core-js/modules/_string-repeat.js create mode 100644 socket/node_modules/core-js/modules/_string-trim.js create mode 100644 socket/node_modules/core-js/modules/_string-ws.js create mode 100644 socket/node_modules/core-js/modules/_task.js create mode 100644 socket/node_modules/core-js/modules/_to-absolute-index.js create mode 100644 socket/node_modules/core-js/modules/_to-index.js create mode 100644 socket/node_modules/core-js/modules/_to-integer.js create mode 100644 socket/node_modules/core-js/modules/_to-iobject.js create mode 100644 socket/node_modules/core-js/modules/_to-length.js create mode 100644 socket/node_modules/core-js/modules/_to-object.js create mode 100644 socket/node_modules/core-js/modules/_to-primitive.js create mode 100644 socket/node_modules/core-js/modules/_typed-array.js create mode 100644 socket/node_modules/core-js/modules/_typed-buffer.js create mode 100644 socket/node_modules/core-js/modules/_typed.js create mode 100644 socket/node_modules/core-js/modules/_uid.js create mode 100644 socket/node_modules/core-js/modules/_user-agent.js create mode 100644 socket/node_modules/core-js/modules/_validate-collection.js create mode 100644 socket/node_modules/core-js/modules/_wks-define.js create mode 100644 socket/node_modules/core-js/modules/_wks-ext.js create mode 100644 socket/node_modules/core-js/modules/_wks.js create mode 100644 socket/node_modules/core-js/modules/core.delay.js create mode 100644 socket/node_modules/core-js/modules/core.dict.js create mode 100644 socket/node_modules/core-js/modules/core.function.part.js create mode 100644 socket/node_modules/core-js/modules/core.get-iterator-method.js create mode 100644 socket/node_modules/core-js/modules/core.get-iterator.js create mode 100644 socket/node_modules/core-js/modules/core.is-iterable.js create mode 100644 socket/node_modules/core-js/modules/core.number.iterator.js create mode 100644 socket/node_modules/core-js/modules/core.object.classof.js create mode 100644 socket/node_modules/core-js/modules/core.object.define.js create mode 100644 socket/node_modules/core-js/modules/core.object.is-object.js create mode 100644 socket/node_modules/core-js/modules/core.object.make.js create mode 100644 socket/node_modules/core-js/modules/core.regexp.escape.js create mode 100644 socket/node_modules/core-js/modules/core.string.escape-html.js create mode 100644 socket/node_modules/core-js/modules/core.string.unescape-html.js create mode 100644 socket/node_modules/core-js/modules/es5.js create mode 100644 socket/node_modules/core-js/modules/es6.array.copy-within.js create mode 100644 socket/node_modules/core-js/modules/es6.array.every.js create mode 100644 socket/node_modules/core-js/modules/es6.array.fill.js create mode 100644 socket/node_modules/core-js/modules/es6.array.filter.js create mode 100644 socket/node_modules/core-js/modules/es6.array.find-index.js create mode 100644 socket/node_modules/core-js/modules/es6.array.find.js create mode 100644 socket/node_modules/core-js/modules/es6.array.for-each.js create mode 100644 socket/node_modules/core-js/modules/es6.array.from.js create mode 100644 socket/node_modules/core-js/modules/es6.array.index-of.js create mode 100644 socket/node_modules/core-js/modules/es6.array.is-array.js create mode 100644 socket/node_modules/core-js/modules/es6.array.iterator.js create mode 100644 socket/node_modules/core-js/modules/es6.array.join.js create mode 100644 socket/node_modules/core-js/modules/es6.array.last-index-of.js create mode 100644 socket/node_modules/core-js/modules/es6.array.map.js create mode 100644 socket/node_modules/core-js/modules/es6.array.of.js create mode 100644 socket/node_modules/core-js/modules/es6.array.reduce-right.js create mode 100644 socket/node_modules/core-js/modules/es6.array.reduce.js create mode 100644 socket/node_modules/core-js/modules/es6.array.slice.js create mode 100644 socket/node_modules/core-js/modules/es6.array.some.js create mode 100644 socket/node_modules/core-js/modules/es6.array.sort.js create mode 100644 socket/node_modules/core-js/modules/es6.array.species.js create mode 100644 socket/node_modules/core-js/modules/es6.date.now.js create mode 100644 socket/node_modules/core-js/modules/es6.date.to-iso-string.js create mode 100644 socket/node_modules/core-js/modules/es6.date.to-json.js create mode 100644 socket/node_modules/core-js/modules/es6.date.to-primitive.js create mode 100644 socket/node_modules/core-js/modules/es6.date.to-string.js create mode 100644 socket/node_modules/core-js/modules/es6.function.bind.js create mode 100644 socket/node_modules/core-js/modules/es6.function.has-instance.js create mode 100644 socket/node_modules/core-js/modules/es6.function.name.js create mode 100644 socket/node_modules/core-js/modules/es6.map.js create mode 100644 socket/node_modules/core-js/modules/es6.math.acosh.js create mode 100644 socket/node_modules/core-js/modules/es6.math.asinh.js create mode 100644 socket/node_modules/core-js/modules/es6.math.atanh.js create mode 100644 socket/node_modules/core-js/modules/es6.math.cbrt.js create mode 100644 socket/node_modules/core-js/modules/es6.math.clz32.js create mode 100644 socket/node_modules/core-js/modules/es6.math.cosh.js create mode 100644 socket/node_modules/core-js/modules/es6.math.expm1.js create mode 100644 socket/node_modules/core-js/modules/es6.math.fround.js create mode 100644 socket/node_modules/core-js/modules/es6.math.hypot.js create mode 100644 socket/node_modules/core-js/modules/es6.math.imul.js create mode 100644 socket/node_modules/core-js/modules/es6.math.log10.js create mode 100644 socket/node_modules/core-js/modules/es6.math.log1p.js create mode 100644 socket/node_modules/core-js/modules/es6.math.log2.js create mode 100644 socket/node_modules/core-js/modules/es6.math.sign.js create mode 100644 socket/node_modules/core-js/modules/es6.math.sinh.js create mode 100644 socket/node_modules/core-js/modules/es6.math.tanh.js create mode 100644 socket/node_modules/core-js/modules/es6.math.trunc.js create mode 100644 socket/node_modules/core-js/modules/es6.number.constructor.js create mode 100644 socket/node_modules/core-js/modules/es6.number.epsilon.js create mode 100644 socket/node_modules/core-js/modules/es6.number.is-finite.js create mode 100644 socket/node_modules/core-js/modules/es6.number.is-integer.js create mode 100644 socket/node_modules/core-js/modules/es6.number.is-nan.js create mode 100644 socket/node_modules/core-js/modules/es6.number.is-safe-integer.js create mode 100644 socket/node_modules/core-js/modules/es6.number.max-safe-integer.js create mode 100644 socket/node_modules/core-js/modules/es6.number.min-safe-integer.js create mode 100644 socket/node_modules/core-js/modules/es6.number.parse-float.js create mode 100644 socket/node_modules/core-js/modules/es6.number.parse-int.js create mode 100644 socket/node_modules/core-js/modules/es6.number.to-fixed.js create mode 100644 socket/node_modules/core-js/modules/es6.number.to-precision.js create mode 100644 socket/node_modules/core-js/modules/es6.object.assign.js create mode 100644 socket/node_modules/core-js/modules/es6.object.create.js create mode 100644 socket/node_modules/core-js/modules/es6.object.define-properties.js create mode 100644 socket/node_modules/core-js/modules/es6.object.define-property.js create mode 100644 socket/node_modules/core-js/modules/es6.object.freeze.js create mode 100644 socket/node_modules/core-js/modules/es6.object.get-own-property-descriptor.js create mode 100644 socket/node_modules/core-js/modules/es6.object.get-own-property-names.js create mode 100644 socket/node_modules/core-js/modules/es6.object.get-prototype-of.js create mode 100644 socket/node_modules/core-js/modules/es6.object.is-extensible.js create mode 100644 socket/node_modules/core-js/modules/es6.object.is-frozen.js create mode 100644 socket/node_modules/core-js/modules/es6.object.is-sealed.js create mode 100644 socket/node_modules/core-js/modules/es6.object.is.js create mode 100644 socket/node_modules/core-js/modules/es6.object.keys.js create mode 100644 socket/node_modules/core-js/modules/es6.object.prevent-extensions.js create mode 100644 socket/node_modules/core-js/modules/es6.object.seal.js create mode 100644 socket/node_modules/core-js/modules/es6.object.set-prototype-of.js create mode 100644 socket/node_modules/core-js/modules/es6.object.to-string.js create mode 100644 socket/node_modules/core-js/modules/es6.parse-float.js create mode 100644 socket/node_modules/core-js/modules/es6.parse-int.js create mode 100644 socket/node_modules/core-js/modules/es6.promise.js create mode 100644 socket/node_modules/core-js/modules/es6.reflect.apply.js create mode 100644 socket/node_modules/core-js/modules/es6.reflect.construct.js create mode 100644 socket/node_modules/core-js/modules/es6.reflect.define-property.js create mode 100644 socket/node_modules/core-js/modules/es6.reflect.delete-property.js create mode 100644 socket/node_modules/core-js/modules/es6.reflect.enumerate.js create mode 100644 socket/node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js create mode 100644 socket/node_modules/core-js/modules/es6.reflect.get-prototype-of.js create mode 100644 socket/node_modules/core-js/modules/es6.reflect.get.js create mode 100644 socket/node_modules/core-js/modules/es6.reflect.has.js create mode 100644 socket/node_modules/core-js/modules/es6.reflect.is-extensible.js create mode 100644 socket/node_modules/core-js/modules/es6.reflect.own-keys.js create mode 100644 socket/node_modules/core-js/modules/es6.reflect.prevent-extensions.js create mode 100644 socket/node_modules/core-js/modules/es6.reflect.set-prototype-of.js create mode 100644 socket/node_modules/core-js/modules/es6.reflect.set.js create mode 100644 socket/node_modules/core-js/modules/es6.regexp.constructor.js create mode 100644 socket/node_modules/core-js/modules/es6.regexp.flags.js create mode 100644 socket/node_modules/core-js/modules/es6.regexp.match.js create mode 100644 socket/node_modules/core-js/modules/es6.regexp.replace.js create mode 100644 socket/node_modules/core-js/modules/es6.regexp.search.js create mode 100644 socket/node_modules/core-js/modules/es6.regexp.split.js create mode 100644 socket/node_modules/core-js/modules/es6.regexp.to-string.js create mode 100644 socket/node_modules/core-js/modules/es6.set.js create mode 100644 socket/node_modules/core-js/modules/es6.string.anchor.js create mode 100644 socket/node_modules/core-js/modules/es6.string.big.js create mode 100644 socket/node_modules/core-js/modules/es6.string.blink.js create mode 100644 socket/node_modules/core-js/modules/es6.string.bold.js create mode 100644 socket/node_modules/core-js/modules/es6.string.code-point-at.js create mode 100644 socket/node_modules/core-js/modules/es6.string.ends-with.js create mode 100644 socket/node_modules/core-js/modules/es6.string.fixed.js create mode 100644 socket/node_modules/core-js/modules/es6.string.fontcolor.js create mode 100644 socket/node_modules/core-js/modules/es6.string.fontsize.js create mode 100644 socket/node_modules/core-js/modules/es6.string.from-code-point.js create mode 100644 socket/node_modules/core-js/modules/es6.string.includes.js create mode 100644 socket/node_modules/core-js/modules/es6.string.italics.js create mode 100644 socket/node_modules/core-js/modules/es6.string.iterator.js create mode 100644 socket/node_modules/core-js/modules/es6.string.link.js create mode 100644 socket/node_modules/core-js/modules/es6.string.raw.js create mode 100644 socket/node_modules/core-js/modules/es6.string.repeat.js create mode 100644 socket/node_modules/core-js/modules/es6.string.small.js create mode 100644 socket/node_modules/core-js/modules/es6.string.starts-with.js create mode 100644 socket/node_modules/core-js/modules/es6.string.strike.js create mode 100644 socket/node_modules/core-js/modules/es6.string.sub.js create mode 100644 socket/node_modules/core-js/modules/es6.string.sup.js create mode 100644 socket/node_modules/core-js/modules/es6.string.trim.js create mode 100644 socket/node_modules/core-js/modules/es6.symbol.js create mode 100644 socket/node_modules/core-js/modules/es6.typed.array-buffer.js create mode 100644 socket/node_modules/core-js/modules/es6.typed.data-view.js create mode 100644 socket/node_modules/core-js/modules/es6.typed.float32-array.js create mode 100644 socket/node_modules/core-js/modules/es6.typed.float64-array.js create mode 100644 socket/node_modules/core-js/modules/es6.typed.int16-array.js create mode 100644 socket/node_modules/core-js/modules/es6.typed.int32-array.js create mode 100644 socket/node_modules/core-js/modules/es6.typed.int8-array.js create mode 100644 socket/node_modules/core-js/modules/es6.typed.uint16-array.js create mode 100644 socket/node_modules/core-js/modules/es6.typed.uint32-array.js create mode 100644 socket/node_modules/core-js/modules/es6.typed.uint8-array.js create mode 100644 socket/node_modules/core-js/modules/es6.typed.uint8-clamped-array.js create mode 100644 socket/node_modules/core-js/modules/es6.weak-map.js create mode 100644 socket/node_modules/core-js/modules/es6.weak-set.js create mode 100644 socket/node_modules/core-js/modules/es7.array.flat-map.js create mode 100644 socket/node_modules/core-js/modules/es7.array.flatten.js create mode 100644 socket/node_modules/core-js/modules/es7.array.includes.js create mode 100644 socket/node_modules/core-js/modules/es7.asap.js create mode 100644 socket/node_modules/core-js/modules/es7.error.is-error.js create mode 100644 socket/node_modules/core-js/modules/es7.global.js create mode 100644 socket/node_modules/core-js/modules/es7.map.from.js create mode 100644 socket/node_modules/core-js/modules/es7.map.of.js create mode 100644 socket/node_modules/core-js/modules/es7.map.to-json.js create mode 100644 socket/node_modules/core-js/modules/es7.math.clamp.js create mode 100644 socket/node_modules/core-js/modules/es7.math.deg-per-rad.js create mode 100644 socket/node_modules/core-js/modules/es7.math.degrees.js create mode 100644 socket/node_modules/core-js/modules/es7.math.fscale.js create mode 100644 socket/node_modules/core-js/modules/es7.math.iaddh.js create mode 100644 socket/node_modules/core-js/modules/es7.math.imulh.js create mode 100644 socket/node_modules/core-js/modules/es7.math.isubh.js create mode 100644 socket/node_modules/core-js/modules/es7.math.rad-per-deg.js create mode 100644 socket/node_modules/core-js/modules/es7.math.radians.js create mode 100644 socket/node_modules/core-js/modules/es7.math.scale.js create mode 100644 socket/node_modules/core-js/modules/es7.math.signbit.js create mode 100644 socket/node_modules/core-js/modules/es7.math.umulh.js create mode 100644 socket/node_modules/core-js/modules/es7.object.define-getter.js create mode 100644 socket/node_modules/core-js/modules/es7.object.define-setter.js create mode 100644 socket/node_modules/core-js/modules/es7.object.entries.js create mode 100644 socket/node_modules/core-js/modules/es7.object.get-own-property-descriptors.js create mode 100644 socket/node_modules/core-js/modules/es7.object.lookup-getter.js create mode 100644 socket/node_modules/core-js/modules/es7.object.lookup-setter.js create mode 100644 socket/node_modules/core-js/modules/es7.object.values.js create mode 100644 socket/node_modules/core-js/modules/es7.observable.js create mode 100644 socket/node_modules/core-js/modules/es7.promise.finally.js create mode 100644 socket/node_modules/core-js/modules/es7.promise.try.js create mode 100644 socket/node_modules/core-js/modules/es7.reflect.define-metadata.js create mode 100644 socket/node_modules/core-js/modules/es7.reflect.delete-metadata.js create mode 100644 socket/node_modules/core-js/modules/es7.reflect.get-metadata-keys.js create mode 100644 socket/node_modules/core-js/modules/es7.reflect.get-metadata.js create mode 100644 socket/node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js create mode 100644 socket/node_modules/core-js/modules/es7.reflect.get-own-metadata.js create mode 100644 socket/node_modules/core-js/modules/es7.reflect.has-metadata.js create mode 100644 socket/node_modules/core-js/modules/es7.reflect.has-own-metadata.js create mode 100644 socket/node_modules/core-js/modules/es7.reflect.metadata.js create mode 100644 socket/node_modules/core-js/modules/es7.set.from.js create mode 100644 socket/node_modules/core-js/modules/es7.set.of.js create mode 100644 socket/node_modules/core-js/modules/es7.set.to-json.js create mode 100644 socket/node_modules/core-js/modules/es7.string.at.js create mode 100644 socket/node_modules/core-js/modules/es7.string.match-all.js create mode 100644 socket/node_modules/core-js/modules/es7.string.pad-end.js create mode 100644 socket/node_modules/core-js/modules/es7.string.pad-start.js create mode 100644 socket/node_modules/core-js/modules/es7.string.trim-left.js create mode 100644 socket/node_modules/core-js/modules/es7.string.trim-right.js create mode 100644 socket/node_modules/core-js/modules/es7.symbol.async-iterator.js create mode 100644 socket/node_modules/core-js/modules/es7.symbol.observable.js create mode 100644 socket/node_modules/core-js/modules/es7.system.global.js create mode 100644 socket/node_modules/core-js/modules/es7.weak-map.from.js create mode 100644 socket/node_modules/core-js/modules/es7.weak-map.of.js create mode 100644 socket/node_modules/core-js/modules/es7.weak-set.from.js create mode 100644 socket/node_modules/core-js/modules/es7.weak-set.of.js create mode 100644 socket/node_modules/core-js/modules/library/_add-to-unscopables.js create mode 100644 socket/node_modules/core-js/modules/library/_collection.js create mode 100644 socket/node_modules/core-js/modules/library/_export.js create mode 100644 socket/node_modules/core-js/modules/library/_library.js create mode 100644 socket/node_modules/core-js/modules/library/_path.js create mode 100644 socket/node_modules/core-js/modules/library/_redefine-all.js create mode 100644 socket/node_modules/core-js/modules/library/_redefine.js create mode 100644 socket/node_modules/core-js/modules/library/_set-species.js create mode 100644 socket/node_modules/core-js/modules/library/es6.date.to-json.js create mode 100644 socket/node_modules/core-js/modules/library/es6.date.to-primitive.js create mode 100644 socket/node_modules/core-js/modules/library/es6.date.to-string.js create mode 100644 socket/node_modules/core-js/modules/library/es6.function.name.js create mode 100644 socket/node_modules/core-js/modules/library/es6.number.constructor.js create mode 100644 socket/node_modules/core-js/modules/library/es6.object.to-string.js create mode 100644 socket/node_modules/core-js/modules/library/es6.regexp.constructor.js create mode 100644 socket/node_modules/core-js/modules/library/es6.regexp.flags.js create mode 100644 socket/node_modules/core-js/modules/library/es6.regexp.match.js create mode 100644 socket/node_modules/core-js/modules/library/es6.regexp.replace.js create mode 100644 socket/node_modules/core-js/modules/library/es6.regexp.search.js create mode 100644 socket/node_modules/core-js/modules/library/es6.regexp.split.js create mode 100644 socket/node_modules/core-js/modules/library/es6.regexp.to-string.js create mode 100644 socket/node_modules/core-js/modules/library/web.dom.iterable.js create mode 100644 socket/node_modules/core-js/modules/web.dom.iterable.js create mode 100644 socket/node_modules/core-js/modules/web.immediate.js create mode 100644 socket/node_modules/core-js/modules/web.timers.js create mode 100644 socket/node_modules/core-js/package.json create mode 100644 socket/node_modules/core-js/shim.js create mode 100644 socket/node_modules/core-js/stage/0.js create mode 100644 socket/node_modules/core-js/stage/1.js create mode 100644 socket/node_modules/core-js/stage/2.js create mode 100644 socket/node_modules/core-js/stage/3.js create mode 100644 socket/node_modules/core-js/stage/4.js create mode 100644 socket/node_modules/core-js/stage/index.js create mode 100644 socket/node_modules/core-js/stage/pre.js create mode 100644 socket/node_modules/core-js/web/dom-collections.js create mode 100644 socket/node_modules/core-js/web/immediate.js create mode 100644 socket/node_modules/core-js/web/index.js create mode 100644 socket/node_modules/core-js/web/timers.js create mode 100644 socket/node_modules/crc/.npmignore create mode 100644 socket/node_modules/crc/LICENSE create mode 100644 socket/node_modules/crc/README.md create mode 100644 socket/node_modules/crc/lib/crc.js create mode 100644 socket/node_modules/crc/lib/crc1.js create mode 100644 socket/node_modules/crc/lib/crc16.js create mode 100644 socket/node_modules/crc/lib/crc16_ccitt.js create mode 100644 socket/node_modules/crc/lib/crc16_modbus.js create mode 100644 socket/node_modules/crc/lib/crc24.js create mode 100644 socket/node_modules/crc/lib/crc32.js create mode 100644 socket/node_modules/crc/lib/crc8.js create mode 100644 socket/node_modules/crc/lib/crc8_1wire.js create mode 100644 socket/node_modules/crc/lib/create.js create mode 100644 socket/node_modules/crc/lib/hex.js create mode 100644 socket/node_modules/crc/lib/index.js create mode 100644 socket/node_modules/crc/package.json create mode 100644 socket/node_modules/debug/.jshintrc create mode 100644 socket/node_modules/debug/.npmignore create mode 100644 socket/node_modules/debug/History.md create mode 100644 socket/node_modules/debug/Makefile create mode 100644 socket/node_modules/debug/Readme.md create mode 100644 socket/node_modules/debug/browser.js create mode 100644 socket/node_modules/debug/component.json create mode 100644 socket/node_modules/debug/debug.js create mode 100644 socket/node_modules/debug/node.js create mode 100644 socket/node_modules/debug/node_modules/ms/.npmignore create mode 100644 socket/node_modules/debug/node_modules/ms/README.md create mode 100644 socket/node_modules/debug/node_modules/ms/index.js create mode 100644 socket/node_modules/debug/node_modules/ms/package.json create mode 100644 socket/node_modules/debug/package.json create mode 100644 socket/node_modules/depd/History.md create mode 100644 socket/node_modules/depd/LICENSE create mode 100644 socket/node_modules/depd/Readme.md create mode 100644 socket/node_modules/depd/index.js create mode 100644 socket/node_modules/depd/lib/compat/buffer-concat.js create mode 100644 socket/node_modules/depd/lib/compat/callsite-tostring.js create mode 100644 socket/node_modules/depd/lib/compat/index.js create mode 100644 socket/node_modules/depd/package.json create mode 100644 socket/node_modules/destroy/README.md create mode 100644 socket/node_modules/destroy/index.js create mode 100644 socket/node_modules/destroy/package.json create mode 100644 socket/node_modules/ee-first/LICENSE create mode 100644 socket/node_modules/ee-first/README.md create mode 100644 socket/node_modules/ee-first/index.js create mode 100644 socket/node_modules/ee-first/package.json create mode 100644 socket/node_modules/encodeurl/HISTORY.md create mode 100644 socket/node_modules/encodeurl/LICENSE create mode 100644 socket/node_modules/encodeurl/README.md create mode 100644 socket/node_modules/encodeurl/index.js create mode 100644 socket/node_modules/encodeurl/package.json create mode 100644 socket/node_modules/encoding/.npmignore create mode 100644 socket/node_modules/encoding/.travis.yml create mode 100644 socket/node_modules/encoding/LICENSE create mode 100644 socket/node_modules/encoding/README.md create mode 100644 socket/node_modules/encoding/lib/encoding.js create mode 100644 socket/node_modules/encoding/lib/iconv-loader.js create mode 100644 socket/node_modules/encoding/package.json create mode 100644 socket/node_modules/encoding/test/test.js create mode 100644 socket/node_modules/engine.io-client/LICENSE create mode 100644 socket/node_modules/engine.io-client/README.md create mode 100644 socket/node_modules/engine.io-client/engine.io.js create mode 100644 socket/node_modules/engine.io-client/lib/index.js create mode 100644 socket/node_modules/engine.io-client/lib/socket.js create mode 100644 socket/node_modules/engine.io-client/lib/transport.js create mode 100755 socket/node_modules/engine.io-client/lib/transports/index.js create mode 100644 socket/node_modules/engine.io-client/lib/transports/polling-jsonp.js create mode 100755 socket/node_modules/engine.io-client/lib/transports/polling-xhr.js create mode 100644 socket/node_modules/engine.io-client/lib/transports/polling.js create mode 100644 socket/node_modules/engine.io-client/lib/transports/websocket.js create mode 100644 socket/node_modules/engine.io-client/lib/xmlhttprequest.js create mode 100644 socket/node_modules/engine.io-client/node_modules/debug/.coveralls.yml create mode 100644 socket/node_modules/engine.io-client/node_modules/debug/.eslintrc create mode 100644 socket/node_modules/engine.io-client/node_modules/debug/.npmignore create mode 100644 socket/node_modules/engine.io-client/node_modules/debug/.travis.yml create mode 100644 socket/node_modules/engine.io-client/node_modules/debug/CHANGELOG.md create mode 100644 socket/node_modules/engine.io-client/node_modules/debug/LICENSE create mode 100644 socket/node_modules/engine.io-client/node_modules/debug/Makefile create mode 100644 socket/node_modules/engine.io-client/node_modules/debug/README.md create mode 100644 socket/node_modules/engine.io-client/node_modules/debug/component.json create mode 100644 socket/node_modules/engine.io-client/node_modules/debug/karma.conf.js create mode 100644 socket/node_modules/engine.io-client/node_modules/debug/node.js create mode 100644 socket/node_modules/engine.io-client/node_modules/debug/package.json create mode 100644 socket/node_modules/engine.io-client/node_modules/debug/src/browser.js create mode 100644 socket/node_modules/engine.io-client/node_modules/debug/src/debug.js create mode 100644 socket/node_modules/engine.io-client/node_modules/debug/src/index.js create mode 100644 socket/node_modules/engine.io-client/node_modules/debug/src/inspector-log.js create mode 100644 socket/node_modules/engine.io-client/node_modules/debug/src/node.js create mode 100644 socket/node_modules/engine.io-client/node_modules/ms/index.js create mode 100644 socket/node_modules/engine.io-client/node_modules/ms/license.md create mode 100644 socket/node_modules/engine.io-client/node_modules/ms/package.json create mode 100644 socket/node_modules/engine.io-client/node_modules/ms/readme.md create mode 100644 socket/node_modules/engine.io-client/package.json create mode 100644 socket/node_modules/engine.io-parser/LICENSE create mode 100644 socket/node_modules/engine.io-parser/Readme.md create mode 100644 socket/node_modules/engine.io-parser/lib/browser.js create mode 100644 socket/node_modules/engine.io-parser/lib/index.js create mode 100644 socket/node_modules/engine.io-parser/lib/keys.js create mode 100644 socket/node_modules/engine.io-parser/lib/utf8.js create mode 100644 socket/node_modules/engine.io-parser/package.json create mode 100644 socket/node_modules/engine.io/LICENSE create mode 100644 socket/node_modules/engine.io/README.md create mode 100644 socket/node_modules/engine.io/lib/engine.io.js create mode 100644 socket/node_modules/engine.io/lib/server.js create mode 100644 socket/node_modules/engine.io/lib/socket.js create mode 100644 socket/node_modules/engine.io/lib/transport.js create mode 100644 socket/node_modules/engine.io/lib/transports/index.js create mode 100644 socket/node_modules/engine.io/lib/transports/polling-jsonp.js create mode 100644 socket/node_modules/engine.io/lib/transports/polling-xhr.js create mode 100644 socket/node_modules/engine.io/lib/transports/polling.js create mode 100644 socket/node_modules/engine.io/lib/transports/websocket.js create mode 100644 socket/node_modules/engine.io/node_modules/accepts/HISTORY.md create mode 100644 socket/node_modules/engine.io/node_modules/accepts/LICENSE create mode 100644 socket/node_modules/engine.io/node_modules/accepts/README.md create mode 100644 socket/node_modules/engine.io/node_modules/accepts/index.js create mode 100644 socket/node_modules/engine.io/node_modules/accepts/package.json create mode 100644 socket/node_modules/engine.io/node_modules/cookie/HISTORY.md create mode 100644 socket/node_modules/engine.io/node_modules/cookie/LICENSE create mode 100644 socket/node_modules/engine.io/node_modules/cookie/README.md create mode 100644 socket/node_modules/engine.io/node_modules/cookie/index.js create mode 100644 socket/node_modules/engine.io/node_modules/cookie/package.json create mode 100644 socket/node_modules/engine.io/node_modules/debug/.coveralls.yml create mode 100644 socket/node_modules/engine.io/node_modules/debug/.eslintrc create mode 100644 socket/node_modules/engine.io/node_modules/debug/.npmignore create mode 100644 socket/node_modules/engine.io/node_modules/debug/.travis.yml create mode 100644 socket/node_modules/engine.io/node_modules/debug/CHANGELOG.md create mode 100644 socket/node_modules/engine.io/node_modules/debug/LICENSE create mode 100644 socket/node_modules/engine.io/node_modules/debug/Makefile create mode 100644 socket/node_modules/engine.io/node_modules/debug/README.md create mode 100644 socket/node_modules/engine.io/node_modules/debug/component.json create mode 100644 socket/node_modules/engine.io/node_modules/debug/karma.conf.js create mode 100644 socket/node_modules/engine.io/node_modules/debug/node.js create mode 100644 socket/node_modules/engine.io/node_modules/debug/package.json create mode 100644 socket/node_modules/engine.io/node_modules/debug/src/browser.js create mode 100644 socket/node_modules/engine.io/node_modules/debug/src/debug.js create mode 100644 socket/node_modules/engine.io/node_modules/debug/src/index.js create mode 100644 socket/node_modules/engine.io/node_modules/debug/src/inspector-log.js create mode 100644 socket/node_modules/engine.io/node_modules/debug/src/node.js create mode 100644 socket/node_modules/engine.io/node_modules/mime-db/HISTORY.md create mode 100644 socket/node_modules/engine.io/node_modules/mime-db/LICENSE create mode 100644 socket/node_modules/engine.io/node_modules/mime-db/README.md create mode 100644 socket/node_modules/engine.io/node_modules/mime-db/db.json create mode 100644 socket/node_modules/engine.io/node_modules/mime-db/index.js create mode 100644 socket/node_modules/engine.io/node_modules/mime-db/package.json create mode 100644 socket/node_modules/engine.io/node_modules/mime-types/HISTORY.md create mode 100644 socket/node_modules/engine.io/node_modules/mime-types/LICENSE create mode 100644 socket/node_modules/engine.io/node_modules/mime-types/README.md create mode 100644 socket/node_modules/engine.io/node_modules/mime-types/index.js create mode 100644 socket/node_modules/engine.io/node_modules/mime-types/package.json create mode 100644 socket/node_modules/engine.io/node_modules/ms/index.js create mode 100644 socket/node_modules/engine.io/node_modules/ms/license.md create mode 100644 socket/node_modules/engine.io/node_modules/ms/package.json create mode 100644 socket/node_modules/engine.io/node_modules/ms/readme.md create mode 100644 socket/node_modules/engine.io/node_modules/negotiator/HISTORY.md create mode 100644 socket/node_modules/engine.io/node_modules/negotiator/LICENSE create mode 100644 socket/node_modules/engine.io/node_modules/negotiator/README.md create mode 100644 socket/node_modules/engine.io/node_modules/negotiator/index.js create mode 100644 socket/node_modules/engine.io/node_modules/negotiator/lib/charset.js create mode 100644 socket/node_modules/engine.io/node_modules/negotiator/lib/encoding.js create mode 100644 socket/node_modules/engine.io/node_modules/negotiator/lib/language.js create mode 100644 socket/node_modules/engine.io/node_modules/negotiator/lib/mediaType.js create mode 100644 socket/node_modules/engine.io/node_modules/negotiator/package.json create mode 100644 socket/node_modules/engine.io/package.json create mode 100644 socket/node_modules/escape-html/.npmignore create mode 100644 socket/node_modules/escape-html/Makefile create mode 100644 socket/node_modules/escape-html/Readme.md create mode 100644 socket/node_modules/escape-html/component.json create mode 100644 socket/node_modules/escape-html/index.js create mode 100644 socket/node_modules/escape-html/package.json create mode 100644 socket/node_modules/escape-string-regexp/index.js create mode 100644 socket/node_modules/escape-string-regexp/license create mode 100644 socket/node_modules/escape-string-regexp/package.json create mode 100644 socket/node_modules/escape-string-regexp/readme.md create mode 100644 socket/node_modules/esutils/LICENSE.BSD create mode 100644 socket/node_modules/esutils/README.md create mode 100644 socket/node_modules/esutils/lib/ast.js create mode 100644 socket/node_modules/esutils/lib/code.js create mode 100644 socket/node_modules/esutils/lib/keyword.js create mode 100644 socket/node_modules/esutils/lib/utils.js create mode 100644 socket/node_modules/esutils/package.json create mode 100644 socket/node_modules/etag/HISTORY.md create mode 100644 socket/node_modules/etag/LICENSE create mode 100644 socket/node_modules/etag/README.md create mode 100644 socket/node_modules/etag/index.js create mode 100644 socket/node_modules/etag/package.json create mode 100644 socket/node_modules/express/.npmignore create mode 100644 socket/node_modules/express/History.md create mode 100644 socket/node_modules/express/LICENSE create mode 100644 socket/node_modules/express/Readme.md create mode 100644 socket/node_modules/express/index.js create mode 100644 socket/node_modules/express/lib/application.js create mode 100644 socket/node_modules/express/lib/express.js create mode 100644 socket/node_modules/express/lib/middleware/init.js create mode 100644 socket/node_modules/express/lib/middleware/query.js create mode 100644 socket/node_modules/express/lib/request.js create mode 100644 socket/node_modules/express/lib/response.js create mode 100644 socket/node_modules/express/lib/router/index.js create mode 100644 socket/node_modules/express/lib/router/layer.js create mode 100644 socket/node_modules/express/lib/router/match.js create mode 100644 socket/node_modules/express/lib/router/route.js create mode 100644 socket/node_modules/express/lib/utils.js create mode 100644 socket/node_modules/express/lib/view.js create mode 100644 socket/node_modules/express/node_modules/ee-first/LICENSE create mode 100644 socket/node_modules/express/node_modules/ee-first/README.md create mode 100644 socket/node_modules/express/node_modules/ee-first/index.js create mode 100644 socket/node_modules/express/node_modules/ee-first/package.json create mode 100644 socket/node_modules/express/node_modules/ms/.npmignore create mode 100644 socket/node_modules/express/node_modules/ms/README.md create mode 100644 socket/node_modules/express/node_modules/ms/index.js create mode 100644 socket/node_modules/express/node_modules/ms/package.json create mode 100644 socket/node_modules/express/node_modules/send/History.md create mode 100644 socket/node_modules/express/node_modules/send/LICENSE create mode 100644 socket/node_modules/express/node_modules/send/Readme.md create mode 100644 socket/node_modules/express/node_modules/send/index.js create mode 100644 socket/node_modules/express/node_modules/send/node_modules/on-finished/HISTORY.md create mode 100644 socket/node_modules/express/node_modules/send/node_modules/on-finished/LICENSE create mode 100644 socket/node_modules/express/node_modules/send/node_modules/on-finished/README.md create mode 100644 socket/node_modules/express/node_modules/send/node_modules/on-finished/index.js create mode 100644 socket/node_modules/express/node_modules/send/node_modules/on-finished/package.json create mode 100644 socket/node_modules/express/node_modules/send/package.json create mode 100644 socket/node_modules/express/package.json create mode 100644 socket/node_modules/fbjs/CHANGELOG.md create mode 100644 socket/node_modules/fbjs/LICENSE create mode 100644 socket/node_modules/fbjs/README.md create mode 100644 socket/node_modules/fbjs/flow/lib/dev.js create mode 100644 socket/node_modules/fbjs/index.js create mode 100644 socket/node_modules/fbjs/lib/CSSCore.js create mode 100644 socket/node_modules/fbjs/lib/CSSCore.js.flow create mode 100644 socket/node_modules/fbjs/lib/DataTransfer.js create mode 100644 socket/node_modules/fbjs/lib/DataTransfer.js.flow create mode 100644 socket/node_modules/fbjs/lib/Deferred.js create mode 100644 socket/node_modules/fbjs/lib/Deferred.js.flow create mode 100644 socket/node_modules/fbjs/lib/ErrorUtils.js create mode 100644 socket/node_modules/fbjs/lib/ErrorUtils.js.flow create mode 100644 socket/node_modules/fbjs/lib/EventListener.js create mode 100644 socket/node_modules/fbjs/lib/EventListener.js.flow create mode 100644 socket/node_modules/fbjs/lib/ExecutionEnvironment.js create mode 100644 socket/node_modules/fbjs/lib/ExecutionEnvironment.js.flow create mode 100644 socket/node_modules/fbjs/lib/Keys.js create mode 100644 socket/node_modules/fbjs/lib/Keys.js.flow create mode 100644 socket/node_modules/fbjs/lib/Map.js create mode 100644 socket/node_modules/fbjs/lib/Map.js.flow create mode 100644 socket/node_modules/fbjs/lib/PhotosMimeType.js create mode 100644 socket/node_modules/fbjs/lib/PhotosMimeType.js.flow create mode 100644 socket/node_modules/fbjs/lib/Promise.js create mode 100644 socket/node_modules/fbjs/lib/Promise.js.flow create mode 100644 socket/node_modules/fbjs/lib/Promise.native.js create mode 100644 socket/node_modules/fbjs/lib/Promise.native.js.flow create mode 100644 socket/node_modules/fbjs/lib/PromiseMap.js create mode 100644 socket/node_modules/fbjs/lib/PromiseMap.js.flow create mode 100644 socket/node_modules/fbjs/lib/Scroll.js create mode 100644 socket/node_modules/fbjs/lib/Scroll.js.flow create mode 100644 socket/node_modules/fbjs/lib/Set.js create mode 100644 socket/node_modules/fbjs/lib/Set.js.flow create mode 100644 socket/node_modules/fbjs/lib/Style.js create mode 100644 socket/node_modules/fbjs/lib/Style.js.flow create mode 100644 socket/node_modules/fbjs/lib/TokenizeUtil.js create mode 100644 socket/node_modules/fbjs/lib/TokenizeUtil.js.flow create mode 100644 socket/node_modules/fbjs/lib/TouchEventUtils.js create mode 100644 socket/node_modules/fbjs/lib/TouchEventUtils.js.flow create mode 100644 socket/node_modules/fbjs/lib/URI.js create mode 100644 socket/node_modules/fbjs/lib/URI.js.flow create mode 100644 socket/node_modules/fbjs/lib/UnicodeBidi.js create mode 100644 socket/node_modules/fbjs/lib/UnicodeBidi.js.flow create mode 100644 socket/node_modules/fbjs/lib/UnicodeBidiDirection.js create mode 100644 socket/node_modules/fbjs/lib/UnicodeBidiDirection.js.flow create mode 100644 socket/node_modules/fbjs/lib/UnicodeBidiService.js create mode 100644 socket/node_modules/fbjs/lib/UnicodeBidiService.js.flow create mode 100644 socket/node_modules/fbjs/lib/UnicodeCJK.js create mode 100644 socket/node_modules/fbjs/lib/UnicodeCJK.js.flow create mode 100644 socket/node_modules/fbjs/lib/UnicodeHangulKorean.js create mode 100644 socket/node_modules/fbjs/lib/UnicodeHangulKorean.js.flow create mode 100644 socket/node_modules/fbjs/lib/UnicodeUtils.js create mode 100644 socket/node_modules/fbjs/lib/UnicodeUtils.js.flow create mode 100644 socket/node_modules/fbjs/lib/UnicodeUtilsExtra.js create mode 100644 socket/node_modules/fbjs/lib/UnicodeUtilsExtra.js.flow create mode 100644 socket/node_modules/fbjs/lib/UserAgent.js create mode 100644 socket/node_modules/fbjs/lib/UserAgent.js.flow create mode 100644 socket/node_modules/fbjs/lib/UserAgentData.js create mode 100644 socket/node_modules/fbjs/lib/UserAgentData.js.flow create mode 100644 socket/node_modules/fbjs/lib/VersionRange.js create mode 100644 socket/node_modules/fbjs/lib/VersionRange.js.flow create mode 100644 socket/node_modules/fbjs/lib/__mocks__/ErrorUtils.js create mode 100644 socket/node_modules/fbjs/lib/__mocks__/base62.js create mode 100644 socket/node_modules/fbjs/lib/__mocks__/crc32.js create mode 100644 socket/node_modules/fbjs/lib/__mocks__/fetch.js create mode 100644 socket/node_modules/fbjs/lib/__mocks__/fetchWithRetries.js create mode 100644 socket/node_modules/fbjs/lib/__mocks__/nullthrows.js create mode 100644 socket/node_modules/fbjs/lib/_shouldPolyfillES6Collection.js create mode 100644 socket/node_modules/fbjs/lib/_shouldPolyfillES6Collection.js.flow create mode 100644 socket/node_modules/fbjs/lib/areEqual.js create mode 100644 socket/node_modules/fbjs/lib/areEqual.js.flow create mode 100644 socket/node_modules/fbjs/lib/base62.js create mode 100644 socket/node_modules/fbjs/lib/base62.js.flow create mode 100644 socket/node_modules/fbjs/lib/camelize.js create mode 100644 socket/node_modules/fbjs/lib/camelize.js.flow create mode 100644 socket/node_modules/fbjs/lib/camelizeStyleName.js create mode 100644 socket/node_modules/fbjs/lib/camelizeStyleName.js.flow create mode 100644 socket/node_modules/fbjs/lib/compactArray.js create mode 100644 socket/node_modules/fbjs/lib/compactArray.js.flow create mode 100644 socket/node_modules/fbjs/lib/concatAllArray.js create mode 100644 socket/node_modules/fbjs/lib/concatAllArray.js.flow create mode 100644 socket/node_modules/fbjs/lib/containsNode.js create mode 100644 socket/node_modules/fbjs/lib/containsNode.js.flow create mode 100644 socket/node_modules/fbjs/lib/countDistinct.js create mode 100644 socket/node_modules/fbjs/lib/countDistinct.js.flow create mode 100644 socket/node_modules/fbjs/lib/crc32.js create mode 100644 socket/node_modules/fbjs/lib/crc32.js.flow create mode 100644 socket/node_modules/fbjs/lib/createArrayFromMixed.js create mode 100644 socket/node_modules/fbjs/lib/createArrayFromMixed.js.flow create mode 100644 socket/node_modules/fbjs/lib/createNodesFromMarkup.js create mode 100644 socket/node_modules/fbjs/lib/createNodesFromMarkup.js.flow create mode 100644 socket/node_modules/fbjs/lib/cx.js create mode 100644 socket/node_modules/fbjs/lib/cx.js.flow create mode 100644 socket/node_modules/fbjs/lib/distinctArray.js create mode 100644 socket/node_modules/fbjs/lib/distinctArray.js.flow create mode 100644 socket/node_modules/fbjs/lib/emptyFunction.js create mode 100644 socket/node_modules/fbjs/lib/emptyFunction.js.flow create mode 100644 socket/node_modules/fbjs/lib/emptyObject.js create mode 100644 socket/node_modules/fbjs/lib/emptyObject.js.flow create mode 100644 socket/node_modules/fbjs/lib/enumerate.js create mode 100644 socket/node_modules/fbjs/lib/enumerate.js.flow create mode 100644 socket/node_modules/fbjs/lib/equalsIterable.js create mode 100644 socket/node_modules/fbjs/lib/equalsIterable.js.flow create mode 100644 socket/node_modules/fbjs/lib/equalsSet.js create mode 100644 socket/node_modules/fbjs/lib/equalsSet.js.flow create mode 100644 socket/node_modules/fbjs/lib/everyObject.js create mode 100644 socket/node_modules/fbjs/lib/everyObject.js.flow create mode 100644 socket/node_modules/fbjs/lib/everySet.js create mode 100644 socket/node_modules/fbjs/lib/everySet.js.flow create mode 100644 socket/node_modules/fbjs/lib/fetch.js create mode 100644 socket/node_modules/fbjs/lib/fetch.js.flow create mode 100644 socket/node_modules/fbjs/lib/fetchWithRetries.js create mode 100644 socket/node_modules/fbjs/lib/fetchWithRetries.js.flow create mode 100644 socket/node_modules/fbjs/lib/filterObject.js create mode 100644 socket/node_modules/fbjs/lib/filterObject.js.flow create mode 100644 socket/node_modules/fbjs/lib/flatMapArray.js create mode 100644 socket/node_modules/fbjs/lib/flatMapArray.js.flow create mode 100644 socket/node_modules/fbjs/lib/flattenArray.js create mode 100644 socket/node_modules/fbjs/lib/flattenArray.js.flow create mode 100644 socket/node_modules/fbjs/lib/focusNode.js create mode 100644 socket/node_modules/fbjs/lib/focusNode.js.flow create mode 100644 socket/node_modules/fbjs/lib/forEachObject.js create mode 100644 socket/node_modules/fbjs/lib/forEachObject.js.flow create mode 100644 socket/node_modules/fbjs/lib/getActiveElement.js create mode 100644 socket/node_modules/fbjs/lib/getActiveElement.js.flow create mode 100644 socket/node_modules/fbjs/lib/getDocumentScrollElement.js create mode 100644 socket/node_modules/fbjs/lib/getDocumentScrollElement.js.flow create mode 100644 socket/node_modules/fbjs/lib/getElementPosition.js create mode 100644 socket/node_modules/fbjs/lib/getElementPosition.js.flow create mode 100644 socket/node_modules/fbjs/lib/getElementRect.js create mode 100644 socket/node_modules/fbjs/lib/getElementRect.js.flow create mode 100644 socket/node_modules/fbjs/lib/getMarkupWrap.js create mode 100644 socket/node_modules/fbjs/lib/getMarkupWrap.js.flow create mode 100644 socket/node_modules/fbjs/lib/getScrollPosition.js create mode 100644 socket/node_modules/fbjs/lib/getScrollPosition.js.flow create mode 100644 socket/node_modules/fbjs/lib/getStyleProperty.js create mode 100644 socket/node_modules/fbjs/lib/getStyleProperty.js.flow create mode 100644 socket/node_modules/fbjs/lib/getUnboundedScrollPosition.js create mode 100644 socket/node_modules/fbjs/lib/getUnboundedScrollPosition.js.flow create mode 100644 socket/node_modules/fbjs/lib/getViewportDimensions.js create mode 100644 socket/node_modules/fbjs/lib/getViewportDimensions.js.flow create mode 100644 socket/node_modules/fbjs/lib/groupArray.js create mode 100644 socket/node_modules/fbjs/lib/groupArray.js.flow create mode 100644 socket/node_modules/fbjs/lib/hyphenate.js create mode 100644 socket/node_modules/fbjs/lib/hyphenate.js.flow create mode 100644 socket/node_modules/fbjs/lib/hyphenateStyleName.js create mode 100644 socket/node_modules/fbjs/lib/hyphenateStyleName.js.flow create mode 100644 socket/node_modules/fbjs/lib/invariant.js create mode 100644 socket/node_modules/fbjs/lib/invariant.js.flow create mode 100644 socket/node_modules/fbjs/lib/isEmpty.js create mode 100644 socket/node_modules/fbjs/lib/isEmpty.js.flow create mode 100644 socket/node_modules/fbjs/lib/isNode.js create mode 100644 socket/node_modules/fbjs/lib/isNode.js.flow create mode 100644 socket/node_modules/fbjs/lib/isTextNode.js create mode 100644 socket/node_modules/fbjs/lib/isTextNode.js.flow create mode 100644 socket/node_modules/fbjs/lib/joinClasses.js create mode 100644 socket/node_modules/fbjs/lib/joinClasses.js.flow create mode 100644 socket/node_modules/fbjs/lib/keyMirror.js create mode 100644 socket/node_modules/fbjs/lib/keyMirror.js.flow create mode 100644 socket/node_modules/fbjs/lib/keyMirrorRecursive.js create mode 100644 socket/node_modules/fbjs/lib/keyMirrorRecursive.js.flow create mode 100644 socket/node_modules/fbjs/lib/keyOf.js create mode 100644 socket/node_modules/fbjs/lib/keyOf.js.flow create mode 100644 socket/node_modules/fbjs/lib/mapObject.js create mode 100644 socket/node_modules/fbjs/lib/mapObject.js.flow create mode 100644 socket/node_modules/fbjs/lib/maxBy.js create mode 100644 socket/node_modules/fbjs/lib/maxBy.js.flow create mode 100644 socket/node_modules/fbjs/lib/memoizeStringOnly.js create mode 100644 socket/node_modules/fbjs/lib/memoizeStringOnly.js.flow create mode 100644 socket/node_modules/fbjs/lib/minBy.js create mode 100644 socket/node_modules/fbjs/lib/minBy.js.flow create mode 100644 socket/node_modules/fbjs/lib/monitorCodeUse.js create mode 100644 socket/node_modules/fbjs/lib/monitorCodeUse.js.flow create mode 100644 socket/node_modules/fbjs/lib/nativeRequestAnimationFrame.js create mode 100644 socket/node_modules/fbjs/lib/nativeRequestAnimationFrame.js.flow create mode 100644 socket/node_modules/fbjs/lib/nullthrows.js create mode 100644 socket/node_modules/fbjs/lib/nullthrows.js.flow create mode 100644 socket/node_modules/fbjs/lib/partitionArray.js create mode 100644 socket/node_modules/fbjs/lib/partitionArray.js.flow create mode 100644 socket/node_modules/fbjs/lib/partitionObject.js create mode 100644 socket/node_modules/fbjs/lib/partitionObject.js.flow create mode 100644 socket/node_modules/fbjs/lib/partitionObjectByKey.js create mode 100644 socket/node_modules/fbjs/lib/partitionObjectByKey.js.flow create mode 100644 socket/node_modules/fbjs/lib/performance.js create mode 100644 socket/node_modules/fbjs/lib/performance.js.flow create mode 100644 socket/node_modules/fbjs/lib/performanceNow.js create mode 100644 socket/node_modules/fbjs/lib/performanceNow.js.flow create mode 100644 socket/node_modules/fbjs/lib/removeFromArray.js create mode 100644 socket/node_modules/fbjs/lib/removeFromArray.js.flow create mode 100644 socket/node_modules/fbjs/lib/requestAnimationFrame.js create mode 100644 socket/node_modules/fbjs/lib/requestAnimationFrame.js.flow create mode 100644 socket/node_modules/fbjs/lib/resolveImmediate.js create mode 100644 socket/node_modules/fbjs/lib/resolveImmediate.js.flow create mode 100644 socket/node_modules/fbjs/lib/setImmediate.js create mode 100644 socket/node_modules/fbjs/lib/setImmediate.js.flow create mode 100644 socket/node_modules/fbjs/lib/shallowEqual.js create mode 100644 socket/node_modules/fbjs/lib/shallowEqual.js.flow create mode 100644 socket/node_modules/fbjs/lib/someObject.js create mode 100644 socket/node_modules/fbjs/lib/someObject.js.flow create mode 100644 socket/node_modules/fbjs/lib/someSet.js create mode 100644 socket/node_modules/fbjs/lib/someSet.js.flow create mode 100644 socket/node_modules/fbjs/lib/sprintf.js create mode 100644 socket/node_modules/fbjs/lib/sprintf.js.flow create mode 100644 socket/node_modules/fbjs/lib/warning.js create mode 100644 socket/node_modules/fbjs/lib/warning.js.flow create mode 100644 socket/node_modules/fbjs/lib/xhrSimpleDataSerializer.js create mode 100644 socket/node_modules/fbjs/lib/xhrSimpleDataSerializer.js.flow create mode 100644 socket/node_modules/fbjs/module-map.json create mode 100644 socket/node_modules/fbjs/node_modules/core-js/CHANGELOG.md create mode 100644 socket/node_modules/fbjs/node_modules/core-js/Gruntfile.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/LICENSE create mode 100644 socket/node_modules/fbjs/node_modules/core-js/bower.json create mode 100644 socket/node_modules/fbjs/node_modules/core-js/build/Gruntfile.ls create mode 100644 socket/node_modules/fbjs/node_modules/core-js/build/build.ls create mode 100644 socket/node_modules/fbjs/node_modules/core-js/build/config.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/build/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/client/core.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/client/core.min.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/client/core.min.js.map create mode 100644 socket/node_modules/fbjs/node_modules/core-js/client/library.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/client/library.min.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/client/library.min.js.map create mode 100644 socket/node_modules/fbjs/node_modules/core-js/client/shim.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/client/shim.min.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/client/shim.min.js.map create mode 100644 socket/node_modules/fbjs/node_modules/core-js/core/_.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/core/delay.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/core/dict.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/core/function.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/core/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/core/log.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/core/number.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/core/object.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/core/string.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/es5/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/es6/array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/es6/function.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/es6/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/es6/map.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/es6/math.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/es6/number.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/es6/object.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/es6/promise.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/es6/reflect.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/es6/regexp.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/es6/set.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/es6/string.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/es6/symbol.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/es6/weak-map.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/es6/weak-set.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/es7/array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/es7/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/es7/map.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/es7/object.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/es7/regexp.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/es7/set.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/es7/string.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/_.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/concat.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/copy-within.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/entries.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/every.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/fill.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/filter.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/find-index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/find.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/for-each.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/from.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/includes.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/index-of.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/iterator.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/join.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/keys.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/last-index-of.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/map.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/of.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/pop.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/push.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/reduce-right.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/reduce.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/reverse.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/shift.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/slice.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/some.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/sort.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/splice.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/unshift.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/array/values.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/clear-immediate.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/delay.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/dict.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/function/has-instance.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/function/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/function/name.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/function/part.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/get-iterator-method.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/get-iterator.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/html-collection/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/html-collection/iterator.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/is-iterable.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/json/stringify.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/log.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/map.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/math/acosh.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/math/asinh.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/math/atanh.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/math/cbrt.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/math/clz32.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/math/cosh.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/math/expm1.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/math/fround.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/math/hypot.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/math/imul.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/math/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/math/log10.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/math/log1p.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/math/log2.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/math/sign.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/math/sinh.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/math/tanh.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/math/trunc.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/node-list/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/node-list/iterator.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/number/epsilon.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/number/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/number/is-finite.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/number/is-integer.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/number/is-nan.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/number/is-safe-integer.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/number/iterator.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/number/max-safe-integer.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/number/min-safe-integer.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/number/parse-float.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/number/parse-int.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/object/assign.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/object/classof.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/object/create.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/object/define-properties.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/object/define-property.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/object/define.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/object/entries.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/object/freeze.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/object/get-own-property-descriptor.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/object/get-own-property-descriptors.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/object/get-own-property-names.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/object/get-own-property-symbols.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/object/get-prototype-of.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/object/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/object/is-extensible.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/object/is-frozen.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/object/is-object.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/object/is-sealed.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/object/is.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/object/keys.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/object/make.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/object/prevent-extensions.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/object/seal.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/object/set-prototype-of.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/object/values.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/promise.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/reflect/apply.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/reflect/construct.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/reflect/define-property.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/reflect/delete-property.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/reflect/enumerate.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/reflect/get-own-property-descriptor.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/reflect/get-prototype-of.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/reflect/get.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/reflect/has.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/reflect/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/reflect/is-extensible.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/reflect/own-keys.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/reflect/prevent-extensions.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/reflect/set-prototype-of.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/reflect/set.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/regexp/escape.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/regexp/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/set-immediate.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/set-interval.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/set-timeout.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/set.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/string/at.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/string/code-point-at.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/string/ends-with.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/string/escape-html.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/string/from-code-point.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/string/includes.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/string/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/string/iterator.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/string/pad-left.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/string/pad-right.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/string/raw.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/string/repeat.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/string/starts-with.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/string/trim-left.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/string/trim-right.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/string/trim.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/string/unescape-html.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/symbol/for.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/symbol/has-instance.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/symbol/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/symbol/is-concat-spreadable.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/symbol/iterator.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/symbol/key-for.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/symbol/match.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/symbol/replace.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/symbol/search.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/symbol/species.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/symbol/split.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/symbol/to-primitive.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/symbol/to-string-tag.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/symbol/unscopables.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/weak-map.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/fn/weak-set.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/js/array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/js/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/core/_.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/core/delay.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/core/dict.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/core/function.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/core/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/core/log.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/core/number.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/core/object.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/core/string.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/es5/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/es6/array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/es6/function.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/es6/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/es6/map.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/es6/math.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/es6/number.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/es6/object.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/es6/promise.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/es6/reflect.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/es6/regexp.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/es6/set.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/es6/string.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/es6/symbol.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/es6/weak-map.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/es6/weak-set.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/es7/array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/es7/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/es7/map.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/es7/object.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/es7/regexp.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/es7/set.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/es7/string.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/_.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/concat.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/copy-within.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/entries.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/every.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/fill.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/filter.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/find-index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/find.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/for-each.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/from.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/includes.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/index-of.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/iterator.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/join.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/keys.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/last-index-of.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/map.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/of.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/pop.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/push.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/reduce-right.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/reduce.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/reverse.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/shift.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/slice.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/some.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/sort.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/splice.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/unshift.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/array/values.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/clear-immediate.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/delay.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/dict.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/function/has-instance.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/function/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/function/name.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/function/part.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/get-iterator-method.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/get-iterator.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/html-collection/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/html-collection/iterator.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/is-iterable.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/json/stringify.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/log.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/map.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/math/acosh.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/math/asinh.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/math/atanh.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/math/cbrt.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/math/clz32.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/math/cosh.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/math/expm1.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/math/fround.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/math/hypot.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/math/imul.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/math/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/math/log10.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/math/log1p.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/math/log2.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/math/sign.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/math/sinh.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/math/tanh.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/math/trunc.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/node-list/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/node-list/iterator.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/number/epsilon.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/number/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/number/is-finite.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/number/is-integer.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/number/is-nan.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/number/is-safe-integer.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/number/iterator.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/number/max-safe-integer.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/number/min-safe-integer.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/number/parse-float.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/number/parse-int.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/object/assign.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/object/classof.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/object/create.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/object/define-properties.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/object/define-property.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/object/define.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/object/entries.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/object/freeze.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/object/get-own-property-descriptor.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/object/get-own-property-descriptors.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/object/get-own-property-names.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/object/get-own-property-symbols.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/object/get-prototype-of.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/object/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/object/is-extensible.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/object/is-frozen.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/object/is-object.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/object/is-sealed.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/object/is.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/object/keys.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/object/make.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/object/prevent-extensions.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/object/seal.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/object/set-prototype-of.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/object/values.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/promise.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/reflect/apply.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/reflect/construct.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/reflect/define-property.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/reflect/delete-property.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/reflect/enumerate.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/reflect/get-own-property-descriptor.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/reflect/get-prototype-of.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/reflect/get.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/reflect/has.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/reflect/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/reflect/is-extensible.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/reflect/own-keys.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/reflect/prevent-extensions.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/reflect/set-prototype-of.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/reflect/set.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/regexp/escape.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/regexp/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/set-immediate.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/set-interval.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/set-timeout.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/set.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/string/at.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/string/code-point-at.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/string/ends-with.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/string/escape-html.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/string/from-code-point.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/string/includes.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/string/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/string/iterator.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/string/pad-left.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/string/pad-right.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/string/raw.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/string/repeat.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/string/starts-with.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/string/trim-left.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/string/trim-right.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/string/trim.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/string/unescape-html.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/symbol/for.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/symbol/has-instance.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/symbol/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/symbol/is-concat-spreadable.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/symbol/iterator.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/symbol/key-for.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/symbol/match.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/symbol/replace.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/symbol/search.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/symbol/species.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/symbol/split.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/symbol/to-primitive.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/symbol/to-string-tag.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/symbol/unscopables.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/weak-map.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/fn/weak-set.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/js/array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/js/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.a-function.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.add-to-unscopables.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.an-object.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.array-copy-within.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.array-fill.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.array-includes.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.array-methods.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.array-species-create.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.buffer.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.classof.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.cof.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.collection-strong.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.collection-to-json.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.collection-weak.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.collection.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.core.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.ctx.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.defined.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.descriptors.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.dom-create.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.enum-keys.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.export.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.fails-is-regexp.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.fails.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.fix-re-wks.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.flags.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.for-of.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.get-names.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.global.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.has.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.hide.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.html.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.invoke.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.iobject.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.is-array-iter.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.is-array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.is-integer.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.is-object.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.is-regexp.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.iter-call.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.iter-create.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.iter-define.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.iter-detect.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.iter-step.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.iterators.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.keyof.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.library.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.math-expm1.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.math-log1p.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.math-sign.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.microtask.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.object-assign.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.object-define.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.object-sap.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.object-to-array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.own-keys.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.partial.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.path.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.property-desc.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.redefine-all.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.redefine.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.replacer.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.same-value.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.set-proto.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.set-species.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.set-to-string-tag.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.shared.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.species-constructor.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.strict-new.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.string-at.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.string-context.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.string-pad.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.string-repeat.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.string-trim.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.task.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.to-index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.to-integer.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.to-iobject.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.to-length.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.to-object.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.to-primitive.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.typed-array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.typed.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.uid.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/$.wks.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/core.delay.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/core.dict.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/core.function.part.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/core.get-iterator-method.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/core.get-iterator.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/core.is-iterable.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/core.log.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/core.number.iterator.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/core.object.classof.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/core.object.define.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/core.object.is-object.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/core.object.make.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/core.string.escape-html.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/core.string.unescape-html.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es5.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.array.copy-within.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.array.fill.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.array.find-index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.array.find.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.array.from.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.array.iterator.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.array.of.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.array.species.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.date.to-string.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.function.has-instance.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.function.name.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.map.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.math.acosh.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.math.asinh.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.math.atanh.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.math.cbrt.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.math.clz32.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.math.cosh.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.math.expm1.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.math.fround.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.math.hypot.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.math.imul.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.math.log10.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.math.log1p.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.math.log2.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.math.sign.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.math.sinh.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.math.tanh.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.math.trunc.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.number.constructor.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.number.epsilon.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.number.is-finite.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.number.is-integer.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.number.is-nan.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.number.is-safe-integer.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.number.max-safe-integer.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.number.min-safe-integer.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.number.parse-float.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.number.parse-int.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.object.assign.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.object.freeze.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.object.get-own-property-names.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.object.get-prototype-of.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.object.is-extensible.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.object.is-frozen.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.object.is-sealed.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.object.is.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.object.keys.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.object.prevent-extensions.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.object.seal.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.object.set-prototype-of.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.object.to-string.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.promise.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.reflect.apply.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.reflect.construct.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.reflect.define-property.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.reflect.delete-property.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.reflect.enumerate.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.reflect.get-own-property-descriptor.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.reflect.get-prototype-of.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.reflect.get.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.reflect.has.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.reflect.is-extensible.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.reflect.own-keys.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.reflect.prevent-extensions.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.reflect.set-prototype-of.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.reflect.set.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.regexp.constructor.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.regexp.flags.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.regexp.match.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.regexp.replace.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.regexp.search.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.regexp.split.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.set.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.string.code-point-at.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.string.ends-with.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.string.from-code-point.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.string.includes.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.string.iterator.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.string.raw.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.string.repeat.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.string.starts-with.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.string.trim.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.symbol.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.typed.array-buffer.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.typed.data-view.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.typed.float32-array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.typed.float64-array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.typed.int16-array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.typed.int32-array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.typed.int8-array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.typed.uint16-array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.typed.uint32-array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.typed.uint8-array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.typed.uint8-clamped-array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.weak-map.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es6.weak-set.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es7.array.includes.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es7.map.to-json.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es7.object.entries.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es7.object.get-own-property-descriptors.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es7.object.values.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es7.regexp.escape.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es7.set.to-json.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es7.string.at.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es7.string.pad-left.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es7.string.pad-right.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es7.string.trim-left.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/es7.string.trim-right.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/js.array.statics.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/web.dom.iterable.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/web.immediate.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/modules/web.timers.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/shim.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/web/dom.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/web/immediate.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/web/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/library/web/timers.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.a-function.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.add-to-unscopables.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.an-object.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.array-copy-within.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.array-fill.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.array-includes.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.array-methods.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.array-species-create.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.buffer.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.classof.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.cof.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.collection-strong.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.collection-to-json.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.collection-weak.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.collection.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.core.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.ctx.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.defined.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.descriptors.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.dom-create.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.enum-keys.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.export.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.fails-is-regexp.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.fails.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.fix-re-wks.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.flags.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.for-of.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.get-names.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.global.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.has.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.hide.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.html.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.invoke.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.iobject.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.is-array-iter.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.is-array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.is-integer.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.is-object.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.is-regexp.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.iter-call.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.iter-create.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.iter-define.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.iter-detect.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.iter-step.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.iterators.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.keyof.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.library.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.math-expm1.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.math-log1p.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.math-sign.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.microtask.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.object-assign.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.object-define.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.object-sap.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.object-to-array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.own-keys.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.partial.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.path.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.property-desc.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.redefine-all.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.redefine.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.replacer.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.same-value.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.set-proto.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.set-species.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.set-to-string-tag.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.shared.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.species-constructor.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.strict-new.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.string-at.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.string-context.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.string-pad.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.string-repeat.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.string-trim.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.task.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.to-index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.to-integer.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.to-iobject.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.to-length.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.to-object.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.to-primitive.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.typed-array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.typed.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.uid.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/$.wks.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/core.delay.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/core.dict.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/core.function.part.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/core.get-iterator-method.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/core.get-iterator.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/core.is-iterable.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/core.log.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/core.number.iterator.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/core.object.classof.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/core.object.define.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/core.object.is-object.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/core.object.make.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/core.string.escape-html.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/core.string.unescape-html.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es5.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.array.copy-within.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.array.fill.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.array.find-index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.array.find.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.array.from.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.array.iterator.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.array.of.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.array.species.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.date.to-string.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.function.has-instance.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.function.name.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.map.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.math.acosh.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.math.asinh.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.math.atanh.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.math.cbrt.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.math.clz32.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.math.cosh.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.math.expm1.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.math.fround.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.math.hypot.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.math.imul.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.math.log10.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.math.log1p.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.math.log2.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.math.sign.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.math.sinh.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.math.tanh.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.math.trunc.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.number.constructor.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.number.epsilon.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.number.is-finite.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.number.is-integer.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.number.is-nan.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.number.is-safe-integer.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.number.max-safe-integer.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.number.min-safe-integer.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.number.parse-float.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.number.parse-int.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.object.assign.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.object.freeze.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.object.get-own-property-descriptor.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.object.get-own-property-names.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.object.get-prototype-of.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.object.is-extensible.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.object.is-frozen.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.object.is-sealed.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.object.is.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.object.keys.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.object.prevent-extensions.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.object.seal.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.object.set-prototype-of.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.object.to-string.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.promise.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.reflect.apply.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.reflect.construct.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.reflect.define-property.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.reflect.delete-property.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.reflect.enumerate.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.reflect.get-prototype-of.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.reflect.get.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.reflect.has.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.reflect.is-extensible.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.reflect.own-keys.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.reflect.prevent-extensions.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.reflect.set-prototype-of.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.reflect.set.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.regexp.constructor.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.regexp.flags.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.regexp.match.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.regexp.replace.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.regexp.search.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.regexp.split.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.set.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.string.code-point-at.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.string.ends-with.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.string.from-code-point.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.string.includes.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.string.iterator.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.string.raw.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.string.repeat.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.string.starts-with.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.string.trim.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.symbol.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.typed.array-buffer.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.typed.data-view.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.typed.float32-array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.typed.float64-array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.typed.int16-array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.typed.int32-array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.typed.int8-array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.typed.uint16-array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.typed.uint32-array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.typed.uint8-array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.typed.uint8-clamped-array.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.weak-map.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es6.weak-set.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es7.array.includes.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es7.map.to-json.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es7.object.entries.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es7.object.get-own-property-descriptors.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es7.object.values.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es7.regexp.escape.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es7.set.to-json.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es7.string.at.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es7.string.pad-left.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es7.string.pad-right.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es7.string.trim-left.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/es7.string.trim-right.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/js.array.statics.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/library/$.add-to-unscopables.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/library/$.collection.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/library/$.export.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/library/$.library.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/library/$.path.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/library/$.redefine.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/library/$.set-species.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/library/es6.date.to-string.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/library/es6.function.name.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/library/es6.number.constructor.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/library/es6.object.to-string.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/library/es6.regexp.constructor.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/library/es6.regexp.flags.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/library/es6.regexp.match.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/library/es6.regexp.replace.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/library/es6.regexp.search.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/library/es6.regexp.split.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/library/web.dom.iterable.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/web.dom.iterable.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/web.immediate.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/modules/web.timers.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/package.json create mode 100644 socket/node_modules/fbjs/node_modules/core-js/shim.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/web/dom.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/web/immediate.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/web/index.js create mode 100644 socket/node_modules/fbjs/node_modules/core-js/web/timers.js create mode 100644 socket/node_modules/fbjs/package.json create mode 100644 socket/node_modules/finalhandler/HISTORY.md create mode 100644 socket/node_modules/finalhandler/LICENSE create mode 100644 socket/node_modules/finalhandler/README.md create mode 100644 socket/node_modules/finalhandler/index.js create mode 100644 socket/node_modules/finalhandler/package.json create mode 100644 socket/node_modules/forwarded/HISTORY.md create mode 100644 socket/node_modules/forwarded/LICENSE create mode 100644 socket/node_modules/forwarded/README.md create mode 100644 socket/node_modules/forwarded/index.js create mode 100644 socket/node_modules/forwarded/package.json create mode 100644 socket/node_modules/fresh/HISTORY.md create mode 100644 socket/node_modules/fresh/LICENSE create mode 100644 socket/node_modules/fresh/README.md create mode 100644 socket/node_modules/fresh/index.js create mode 100644 socket/node_modules/fresh/package.json create mode 100644 socket/node_modules/globals/globals.json create mode 100644 socket/node_modules/globals/index.js create mode 100644 socket/node_modules/globals/license create mode 100644 socket/node_modules/globals/package.json create mode 100644 socket/node_modules/globals/readme.md create mode 100644 socket/node_modules/has-ansi/index.js create mode 100644 socket/node_modules/has-ansi/license create mode 100644 socket/node_modules/has-ansi/package.json create mode 100644 socket/node_modules/has-ansi/readme.md create mode 100644 socket/node_modules/has-binary2/History.md create mode 100644 socket/node_modules/has-binary2/LICENSE create mode 100644 socket/node_modules/has-binary2/README.md create mode 100644 socket/node_modules/has-binary2/index.js create mode 100644 socket/node_modules/has-binary2/package.json create mode 100644 socket/node_modules/has-cors/.npmignore create mode 100644 socket/node_modules/has-cors/History.md create mode 100644 socket/node_modules/has-cors/Makefile create mode 100644 socket/node_modules/has-cors/Readme.md create mode 100644 socket/node_modules/has-cors/component.json create mode 100644 socket/node_modules/has-cors/index.js create mode 100644 socket/node_modules/has-cors/package.json create mode 100644 socket/node_modules/has-cors/test.js create mode 100644 socket/node_modules/http-errors/HISTORY.md create mode 100644 socket/node_modules/http-errors/LICENSE create mode 100644 socket/node_modules/http-errors/README.md create mode 100644 socket/node_modules/http-errors/index.js create mode 100644 socket/node_modules/http-errors/node_modules/depd/History.md create mode 100644 socket/node_modules/http-errors/node_modules/depd/LICENSE create mode 100644 socket/node_modules/http-errors/node_modules/depd/Readme.md create mode 100644 socket/node_modules/http-errors/node_modules/depd/index.js create mode 100644 socket/node_modules/http-errors/node_modules/depd/lib/browser/index.js create mode 100644 socket/node_modules/http-errors/node_modules/depd/lib/compat/callsite-tostring.js create mode 100644 socket/node_modules/http-errors/node_modules/depd/lib/compat/event-listener-count.js create mode 100644 socket/node_modules/http-errors/node_modules/depd/lib/compat/index.js create mode 100644 socket/node_modules/http-errors/node_modules/depd/package.json create mode 100644 socket/node_modules/http-errors/package.json create mode 100644 socket/node_modules/iconv-lite/.npmignore create mode 100644 socket/node_modules/iconv-lite/.travis.yml create mode 100644 socket/node_modules/iconv-lite/Changelog.md create mode 100644 socket/node_modules/iconv-lite/LICENSE create mode 100644 socket/node_modules/iconv-lite/README.md create mode 100644 socket/node_modules/iconv-lite/encodings/dbcs-codec.js create mode 100644 socket/node_modules/iconv-lite/encodings/dbcs-data.js create mode 100644 socket/node_modules/iconv-lite/encodings/index.js create mode 100644 socket/node_modules/iconv-lite/encodings/internal.js create mode 100644 socket/node_modules/iconv-lite/encodings/sbcs-codec.js create mode 100644 socket/node_modules/iconv-lite/encodings/sbcs-data-generated.js create mode 100644 socket/node_modules/iconv-lite/encodings/sbcs-data.js create mode 100644 socket/node_modules/iconv-lite/encodings/tables/big5-added.json create mode 100644 socket/node_modules/iconv-lite/encodings/tables/cp936.json create mode 100644 socket/node_modules/iconv-lite/encodings/tables/cp949.json create mode 100644 socket/node_modules/iconv-lite/encodings/tables/cp950.json create mode 100644 socket/node_modules/iconv-lite/encodings/tables/eucjp.json create mode 100644 socket/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json create mode 100644 socket/node_modules/iconv-lite/encodings/tables/gbk-added.json create mode 100644 socket/node_modules/iconv-lite/encodings/tables/shiftjis.json create mode 100644 socket/node_modules/iconv-lite/encodings/utf16.js create mode 100644 socket/node_modules/iconv-lite/encodings/utf7.js create mode 100644 socket/node_modules/iconv-lite/lib/bom-handling.js create mode 100644 socket/node_modules/iconv-lite/lib/extend-node.js create mode 100644 socket/node_modules/iconv-lite/lib/index.d.ts create mode 100644 socket/node_modules/iconv-lite/lib/index.js create mode 100644 socket/node_modules/iconv-lite/lib/streams.js create mode 100644 socket/node_modules/iconv-lite/package.json create mode 100644 socket/node_modules/indexof/.npmignore create mode 100644 socket/node_modules/indexof/Makefile create mode 100644 socket/node_modules/indexof/Readme.md create mode 100644 socket/node_modules/indexof/component.json create mode 100644 socket/node_modules/indexof/index.js create mode 100644 socket/node_modules/indexof/package.json create mode 100644 socket/node_modules/inherits/LICENSE create mode 100644 socket/node_modules/inherits/README.md create mode 100644 socket/node_modules/inherits/inherits.js create mode 100644 socket/node_modules/inherits/inherits_browser.js create mode 100644 socket/node_modules/inherits/package.json create mode 100644 socket/node_modules/invariant/CHANGELOG.md create mode 100644 socket/node_modules/invariant/LICENSE create mode 100644 socket/node_modules/invariant/README.md create mode 100644 socket/node_modules/invariant/browser.js create mode 100644 socket/node_modules/invariant/invariant.js create mode 100644 socket/node_modules/invariant/invariant.js.flow create mode 100644 socket/node_modules/invariant/package.json create mode 100644 socket/node_modules/ipaddr.js/.npmignore create mode 100644 socket/node_modules/ipaddr.js/.travis.yml create mode 100644 socket/node_modules/ipaddr.js/Cakefile create mode 100644 socket/node_modules/ipaddr.js/LICENSE create mode 100644 socket/node_modules/ipaddr.js/README.md create mode 100644 socket/node_modules/ipaddr.js/bower.json create mode 100644 socket/node_modules/ipaddr.js/ipaddr.min.js create mode 100644 socket/node_modules/ipaddr.js/lib/ipaddr.js create mode 100644 socket/node_modules/ipaddr.js/package.json create mode 100644 socket/node_modules/ipaddr.js/src/ipaddr.coffee create mode 100644 socket/node_modules/ipaddr.js/test/ipaddr.test.coffee create mode 100644 socket/node_modules/is-stream/index.js create mode 100644 socket/node_modules/is-stream/license create mode 100644 socket/node_modules/is-stream/package.json create mode 100644 socket/node_modules/is-stream/readme.md create mode 100644 socket/node_modules/isarray/README.md create mode 100644 socket/node_modules/isarray/index.js create mode 100644 socket/node_modules/isarray/package.json create mode 100644 socket/node_modules/isomorphic-fetch/.editorconfig create mode 100644 socket/node_modules/isomorphic-fetch/.jshintrc create mode 100644 socket/node_modules/isomorphic-fetch/.npmignore create mode 100644 socket/node_modules/isomorphic-fetch/.travis.yml create mode 100644 socket/node_modules/isomorphic-fetch/LICENSE create mode 100644 socket/node_modules/isomorphic-fetch/README.md create mode 100644 socket/node_modules/isomorphic-fetch/bower.json create mode 100644 socket/node_modules/isomorphic-fetch/fetch-bower.js create mode 100644 socket/node_modules/isomorphic-fetch/fetch-npm-browserify.js create mode 100644 socket/node_modules/isomorphic-fetch/fetch-npm-node.js create mode 100644 socket/node_modules/isomorphic-fetch/package.json create mode 100644 socket/node_modules/isomorphic-fetch/test/api.test.js create mode 100644 socket/node_modules/js-tokens/CHANGELOG.md create mode 100644 socket/node_modules/js-tokens/LICENSE create mode 100644 socket/node_modules/js-tokens/README.md create mode 100644 socket/node_modules/js-tokens/index.js create mode 100644 socket/node_modules/js-tokens/package.json create mode 100644 socket/node_modules/lodash-es/LICENSE create mode 100644 socket/node_modules/lodash-es/README.md create mode 100644 socket/node_modules/lodash-es/_DataView.js create mode 100644 socket/node_modules/lodash-es/_Hash.js create mode 100644 socket/node_modules/lodash-es/_LazyWrapper.js create mode 100644 socket/node_modules/lodash-es/_ListCache.js create mode 100644 socket/node_modules/lodash-es/_LodashWrapper.js create mode 100644 socket/node_modules/lodash-es/_Map.js create mode 100644 socket/node_modules/lodash-es/_MapCache.js create mode 100644 socket/node_modules/lodash-es/_Promise.js create mode 100644 socket/node_modules/lodash-es/_Set.js create mode 100644 socket/node_modules/lodash-es/_SetCache.js create mode 100644 socket/node_modules/lodash-es/_Stack.js create mode 100644 socket/node_modules/lodash-es/_Symbol.js create mode 100644 socket/node_modules/lodash-es/_Uint8Array.js create mode 100644 socket/node_modules/lodash-es/_WeakMap.js create mode 100644 socket/node_modules/lodash-es/_addMapEntry.js create mode 100644 socket/node_modules/lodash-es/_addSetEntry.js create mode 100644 socket/node_modules/lodash-es/_apply.js create mode 100644 socket/node_modules/lodash-es/_arrayAggregator.js create mode 100644 socket/node_modules/lodash-es/_arrayEach.js create mode 100644 socket/node_modules/lodash-es/_arrayEachRight.js create mode 100644 socket/node_modules/lodash-es/_arrayEvery.js create mode 100644 socket/node_modules/lodash-es/_arrayFilter.js create mode 100644 socket/node_modules/lodash-es/_arrayIncludes.js create mode 100644 socket/node_modules/lodash-es/_arrayIncludesWith.js create mode 100644 socket/node_modules/lodash-es/_arrayLikeKeys.js create mode 100644 socket/node_modules/lodash-es/_arrayMap.js create mode 100644 socket/node_modules/lodash-es/_arrayPush.js create mode 100644 socket/node_modules/lodash-es/_arrayReduce.js create mode 100644 socket/node_modules/lodash-es/_arrayReduceRight.js create mode 100644 socket/node_modules/lodash-es/_arraySample.js create mode 100644 socket/node_modules/lodash-es/_arraySampleSize.js create mode 100644 socket/node_modules/lodash-es/_arrayShuffle.js create mode 100644 socket/node_modules/lodash-es/_arraySome.js create mode 100644 socket/node_modules/lodash-es/_asciiSize.js create mode 100644 socket/node_modules/lodash-es/_asciiToArray.js create mode 100644 socket/node_modules/lodash-es/_asciiWords.js create mode 100644 socket/node_modules/lodash-es/_assignMergeValue.js create mode 100644 socket/node_modules/lodash-es/_assignValue.js create mode 100644 socket/node_modules/lodash-es/_assocIndexOf.js create mode 100644 socket/node_modules/lodash-es/_baseAggregator.js create mode 100644 socket/node_modules/lodash-es/_baseAssign.js create mode 100644 socket/node_modules/lodash-es/_baseAssignIn.js create mode 100644 socket/node_modules/lodash-es/_baseAssignValue.js create mode 100644 socket/node_modules/lodash-es/_baseAt.js create mode 100644 socket/node_modules/lodash-es/_baseClamp.js create mode 100644 socket/node_modules/lodash-es/_baseClone.js create mode 100644 socket/node_modules/lodash-es/_baseConforms.js create mode 100644 socket/node_modules/lodash-es/_baseConformsTo.js create mode 100644 socket/node_modules/lodash-es/_baseCreate.js create mode 100644 socket/node_modules/lodash-es/_baseDelay.js create mode 100644 socket/node_modules/lodash-es/_baseDifference.js create mode 100644 socket/node_modules/lodash-es/_baseEach.js create mode 100644 socket/node_modules/lodash-es/_baseEachRight.js create mode 100644 socket/node_modules/lodash-es/_baseEvery.js create mode 100644 socket/node_modules/lodash-es/_baseExtremum.js create mode 100644 socket/node_modules/lodash-es/_baseFill.js create mode 100644 socket/node_modules/lodash-es/_baseFilter.js create mode 100644 socket/node_modules/lodash-es/_baseFindIndex.js create mode 100644 socket/node_modules/lodash-es/_baseFindKey.js create mode 100644 socket/node_modules/lodash-es/_baseFlatten.js create mode 100644 socket/node_modules/lodash-es/_baseFor.js create mode 100644 socket/node_modules/lodash-es/_baseForOwn.js create mode 100644 socket/node_modules/lodash-es/_baseForOwnRight.js create mode 100644 socket/node_modules/lodash-es/_baseForRight.js create mode 100644 socket/node_modules/lodash-es/_baseFunctions.js create mode 100644 socket/node_modules/lodash-es/_baseGet.js create mode 100644 socket/node_modules/lodash-es/_baseGetAllKeys.js create mode 100644 socket/node_modules/lodash-es/_baseGetTag.js create mode 100644 socket/node_modules/lodash-es/_baseGt.js create mode 100644 socket/node_modules/lodash-es/_baseHas.js create mode 100644 socket/node_modules/lodash-es/_baseHasIn.js create mode 100644 socket/node_modules/lodash-es/_baseInRange.js create mode 100644 socket/node_modules/lodash-es/_baseIndexOf.js create mode 100644 socket/node_modules/lodash-es/_baseIndexOfWith.js create mode 100644 socket/node_modules/lodash-es/_baseIntersection.js create mode 100644 socket/node_modules/lodash-es/_baseInverter.js create mode 100644 socket/node_modules/lodash-es/_baseInvoke.js create mode 100644 socket/node_modules/lodash-es/_baseIsArguments.js create mode 100644 socket/node_modules/lodash-es/_baseIsArrayBuffer.js create mode 100644 socket/node_modules/lodash-es/_baseIsDate.js create mode 100644 socket/node_modules/lodash-es/_baseIsEqual.js create mode 100644 socket/node_modules/lodash-es/_baseIsEqualDeep.js create mode 100644 socket/node_modules/lodash-es/_baseIsMap.js create mode 100644 socket/node_modules/lodash-es/_baseIsMatch.js create mode 100644 socket/node_modules/lodash-es/_baseIsNaN.js create mode 100644 socket/node_modules/lodash-es/_baseIsNative.js create mode 100644 socket/node_modules/lodash-es/_baseIsRegExp.js create mode 100644 socket/node_modules/lodash-es/_baseIsSet.js create mode 100644 socket/node_modules/lodash-es/_baseIsTypedArray.js create mode 100644 socket/node_modules/lodash-es/_baseIteratee.js create mode 100644 socket/node_modules/lodash-es/_baseKeys.js create mode 100644 socket/node_modules/lodash-es/_baseKeysIn.js create mode 100644 socket/node_modules/lodash-es/_baseLodash.js create mode 100644 socket/node_modules/lodash-es/_baseLt.js create mode 100644 socket/node_modules/lodash-es/_baseMap.js create mode 100644 socket/node_modules/lodash-es/_baseMatches.js create mode 100644 socket/node_modules/lodash-es/_baseMatchesProperty.js create mode 100644 socket/node_modules/lodash-es/_baseMean.js create mode 100644 socket/node_modules/lodash-es/_baseMerge.js create mode 100644 socket/node_modules/lodash-es/_baseMergeDeep.js create mode 100644 socket/node_modules/lodash-es/_baseNth.js create mode 100644 socket/node_modules/lodash-es/_baseOrderBy.js create mode 100644 socket/node_modules/lodash-es/_basePick.js create mode 100644 socket/node_modules/lodash-es/_basePickBy.js create mode 100644 socket/node_modules/lodash-es/_baseProperty.js create mode 100644 socket/node_modules/lodash-es/_basePropertyDeep.js create mode 100644 socket/node_modules/lodash-es/_basePropertyOf.js create mode 100644 socket/node_modules/lodash-es/_basePullAll.js create mode 100644 socket/node_modules/lodash-es/_basePullAt.js create mode 100644 socket/node_modules/lodash-es/_baseRandom.js create mode 100644 socket/node_modules/lodash-es/_baseRange.js create mode 100644 socket/node_modules/lodash-es/_baseReduce.js create mode 100644 socket/node_modules/lodash-es/_baseRepeat.js create mode 100644 socket/node_modules/lodash-es/_baseRest.js create mode 100644 socket/node_modules/lodash-es/_baseSample.js create mode 100644 socket/node_modules/lodash-es/_baseSampleSize.js create mode 100644 socket/node_modules/lodash-es/_baseSet.js create mode 100644 socket/node_modules/lodash-es/_baseSetData.js create mode 100644 socket/node_modules/lodash-es/_baseSetToString.js create mode 100644 socket/node_modules/lodash-es/_baseShuffle.js create mode 100644 socket/node_modules/lodash-es/_baseSlice.js create mode 100644 socket/node_modules/lodash-es/_baseSome.js create mode 100644 socket/node_modules/lodash-es/_baseSortBy.js create mode 100644 socket/node_modules/lodash-es/_baseSortedIndex.js create mode 100644 socket/node_modules/lodash-es/_baseSortedIndexBy.js create mode 100644 socket/node_modules/lodash-es/_baseSortedUniq.js create mode 100644 socket/node_modules/lodash-es/_baseSum.js create mode 100644 socket/node_modules/lodash-es/_baseTimes.js create mode 100644 socket/node_modules/lodash-es/_baseToNumber.js create mode 100644 socket/node_modules/lodash-es/_baseToPairs.js create mode 100644 socket/node_modules/lodash-es/_baseToString.js create mode 100644 socket/node_modules/lodash-es/_baseUnary.js create mode 100644 socket/node_modules/lodash-es/_baseUniq.js create mode 100644 socket/node_modules/lodash-es/_baseUnset.js create mode 100644 socket/node_modules/lodash-es/_baseUpdate.js create mode 100644 socket/node_modules/lodash-es/_baseValues.js create mode 100644 socket/node_modules/lodash-es/_baseWhile.js create mode 100644 socket/node_modules/lodash-es/_baseWrapperValue.js create mode 100644 socket/node_modules/lodash-es/_baseXor.js create mode 100644 socket/node_modules/lodash-es/_baseZipObject.js create mode 100644 socket/node_modules/lodash-es/_cacheHas.js create mode 100644 socket/node_modules/lodash-es/_castArrayLikeObject.js create mode 100644 socket/node_modules/lodash-es/_castFunction.js create mode 100644 socket/node_modules/lodash-es/_castPath.js create mode 100644 socket/node_modules/lodash-es/_castRest.js create mode 100644 socket/node_modules/lodash-es/_castSlice.js create mode 100644 socket/node_modules/lodash-es/_charsEndIndex.js create mode 100644 socket/node_modules/lodash-es/_charsStartIndex.js create mode 100644 socket/node_modules/lodash-es/_cloneArrayBuffer.js create mode 100644 socket/node_modules/lodash-es/_cloneBuffer.js create mode 100644 socket/node_modules/lodash-es/_cloneDataView.js create mode 100644 socket/node_modules/lodash-es/_cloneMap.js create mode 100644 socket/node_modules/lodash-es/_cloneRegExp.js create mode 100644 socket/node_modules/lodash-es/_cloneSet.js create mode 100644 socket/node_modules/lodash-es/_cloneSymbol.js create mode 100644 socket/node_modules/lodash-es/_cloneTypedArray.js create mode 100644 socket/node_modules/lodash-es/_compareAscending.js create mode 100644 socket/node_modules/lodash-es/_compareMultiple.js create mode 100644 socket/node_modules/lodash-es/_composeArgs.js create mode 100644 socket/node_modules/lodash-es/_composeArgsRight.js create mode 100644 socket/node_modules/lodash-es/_copyArray.js create mode 100644 socket/node_modules/lodash-es/_copyObject.js create mode 100644 socket/node_modules/lodash-es/_copySymbols.js create mode 100644 socket/node_modules/lodash-es/_copySymbolsIn.js create mode 100644 socket/node_modules/lodash-es/_coreJsData.js create mode 100644 socket/node_modules/lodash-es/_countHolders.js create mode 100644 socket/node_modules/lodash-es/_createAggregator.js create mode 100644 socket/node_modules/lodash-es/_createAssigner.js create mode 100644 socket/node_modules/lodash-es/_createBaseEach.js create mode 100644 socket/node_modules/lodash-es/_createBaseFor.js create mode 100644 socket/node_modules/lodash-es/_createBind.js create mode 100644 socket/node_modules/lodash-es/_createCaseFirst.js create mode 100644 socket/node_modules/lodash-es/_createCompounder.js create mode 100644 socket/node_modules/lodash-es/_createCtor.js create mode 100644 socket/node_modules/lodash-es/_createCurry.js create mode 100644 socket/node_modules/lodash-es/_createFind.js create mode 100644 socket/node_modules/lodash-es/_createFlow.js create mode 100644 socket/node_modules/lodash-es/_createHybrid.js create mode 100644 socket/node_modules/lodash-es/_createInverter.js create mode 100644 socket/node_modules/lodash-es/_createMathOperation.js create mode 100644 socket/node_modules/lodash-es/_createOver.js create mode 100644 socket/node_modules/lodash-es/_createPadding.js create mode 100644 socket/node_modules/lodash-es/_createPartial.js create mode 100644 socket/node_modules/lodash-es/_createRange.js create mode 100644 socket/node_modules/lodash-es/_createRecurry.js create mode 100644 socket/node_modules/lodash-es/_createRelationalOperation.js create mode 100644 socket/node_modules/lodash-es/_createRound.js create mode 100644 socket/node_modules/lodash-es/_createSet.js create mode 100644 socket/node_modules/lodash-es/_createToPairs.js create mode 100644 socket/node_modules/lodash-es/_createWrap.js create mode 100644 socket/node_modules/lodash-es/_customDefaultsAssignIn.js create mode 100644 socket/node_modules/lodash-es/_customDefaultsMerge.js create mode 100644 socket/node_modules/lodash-es/_customOmitClone.js create mode 100644 socket/node_modules/lodash-es/_deburrLetter.js create mode 100644 socket/node_modules/lodash-es/_defineProperty.js create mode 100644 socket/node_modules/lodash-es/_equalArrays.js create mode 100644 socket/node_modules/lodash-es/_equalByTag.js create mode 100644 socket/node_modules/lodash-es/_equalObjects.js create mode 100644 socket/node_modules/lodash-es/_escapeHtmlChar.js create mode 100644 socket/node_modules/lodash-es/_escapeStringChar.js create mode 100644 socket/node_modules/lodash-es/_flatRest.js create mode 100644 socket/node_modules/lodash-es/_freeGlobal.js create mode 100644 socket/node_modules/lodash-es/_getAllKeys.js create mode 100644 socket/node_modules/lodash-es/_getAllKeysIn.js create mode 100644 socket/node_modules/lodash-es/_getData.js create mode 100644 socket/node_modules/lodash-es/_getFuncName.js create mode 100644 socket/node_modules/lodash-es/_getHolder.js create mode 100644 socket/node_modules/lodash-es/_getMapData.js create mode 100644 socket/node_modules/lodash-es/_getMatchData.js create mode 100644 socket/node_modules/lodash-es/_getNative.js create mode 100644 socket/node_modules/lodash-es/_getPrototype.js create mode 100644 socket/node_modules/lodash-es/_getRawTag.js create mode 100644 socket/node_modules/lodash-es/_getSymbols.js create mode 100644 socket/node_modules/lodash-es/_getSymbolsIn.js create mode 100644 socket/node_modules/lodash-es/_getTag.js create mode 100644 socket/node_modules/lodash-es/_getValue.js create mode 100644 socket/node_modules/lodash-es/_getView.js create mode 100644 socket/node_modules/lodash-es/_getWrapDetails.js create mode 100644 socket/node_modules/lodash-es/_hasPath.js create mode 100644 socket/node_modules/lodash-es/_hasUnicode.js create mode 100644 socket/node_modules/lodash-es/_hasUnicodeWord.js create mode 100644 socket/node_modules/lodash-es/_hashClear.js create mode 100644 socket/node_modules/lodash-es/_hashDelete.js create mode 100644 socket/node_modules/lodash-es/_hashGet.js create mode 100644 socket/node_modules/lodash-es/_hashHas.js create mode 100644 socket/node_modules/lodash-es/_hashSet.js create mode 100644 socket/node_modules/lodash-es/_initCloneArray.js create mode 100644 socket/node_modules/lodash-es/_initCloneByTag.js create mode 100644 socket/node_modules/lodash-es/_initCloneObject.js create mode 100644 socket/node_modules/lodash-es/_insertWrapDetails.js create mode 100644 socket/node_modules/lodash-es/_isFlattenable.js create mode 100644 socket/node_modules/lodash-es/_isIndex.js create mode 100644 socket/node_modules/lodash-es/_isIterateeCall.js create mode 100644 socket/node_modules/lodash-es/_isKey.js create mode 100644 socket/node_modules/lodash-es/_isKeyable.js create mode 100644 socket/node_modules/lodash-es/_isLaziable.js create mode 100644 socket/node_modules/lodash-es/_isMaskable.js create mode 100644 socket/node_modules/lodash-es/_isMasked.js create mode 100644 socket/node_modules/lodash-es/_isPrototype.js create mode 100644 socket/node_modules/lodash-es/_isStrictComparable.js create mode 100644 socket/node_modules/lodash-es/_iteratorToArray.js create mode 100644 socket/node_modules/lodash-es/_lazyClone.js create mode 100644 socket/node_modules/lodash-es/_lazyReverse.js create mode 100644 socket/node_modules/lodash-es/_lazyValue.js create mode 100644 socket/node_modules/lodash-es/_listCacheClear.js create mode 100644 socket/node_modules/lodash-es/_listCacheDelete.js create mode 100644 socket/node_modules/lodash-es/_listCacheGet.js create mode 100644 socket/node_modules/lodash-es/_listCacheHas.js create mode 100644 socket/node_modules/lodash-es/_listCacheSet.js create mode 100644 socket/node_modules/lodash-es/_mapCacheClear.js create mode 100644 socket/node_modules/lodash-es/_mapCacheDelete.js create mode 100644 socket/node_modules/lodash-es/_mapCacheGet.js create mode 100644 socket/node_modules/lodash-es/_mapCacheHas.js create mode 100644 socket/node_modules/lodash-es/_mapCacheSet.js create mode 100644 socket/node_modules/lodash-es/_mapToArray.js create mode 100644 socket/node_modules/lodash-es/_matchesStrictComparable.js create mode 100644 socket/node_modules/lodash-es/_memoizeCapped.js create mode 100644 socket/node_modules/lodash-es/_mergeData.js create mode 100644 socket/node_modules/lodash-es/_metaMap.js create mode 100644 socket/node_modules/lodash-es/_nativeCreate.js create mode 100644 socket/node_modules/lodash-es/_nativeKeys.js create mode 100644 socket/node_modules/lodash-es/_nativeKeysIn.js create mode 100644 socket/node_modules/lodash-es/_nodeUtil.js create mode 100644 socket/node_modules/lodash-es/_objectToString.js create mode 100644 socket/node_modules/lodash-es/_overArg.js create mode 100644 socket/node_modules/lodash-es/_overRest.js create mode 100644 socket/node_modules/lodash-es/_parent.js create mode 100644 socket/node_modules/lodash-es/_reEscape.js create mode 100644 socket/node_modules/lodash-es/_reEvaluate.js create mode 100644 socket/node_modules/lodash-es/_reInterpolate.js create mode 100644 socket/node_modules/lodash-es/_realNames.js create mode 100644 socket/node_modules/lodash-es/_reorder.js create mode 100644 socket/node_modules/lodash-es/_replaceHolders.js create mode 100644 socket/node_modules/lodash-es/_root.js create mode 100644 socket/node_modules/lodash-es/_safeGet.js create mode 100644 socket/node_modules/lodash-es/_setCacheAdd.js create mode 100644 socket/node_modules/lodash-es/_setCacheHas.js create mode 100644 socket/node_modules/lodash-es/_setData.js create mode 100644 socket/node_modules/lodash-es/_setToArray.js create mode 100644 socket/node_modules/lodash-es/_setToPairs.js create mode 100644 socket/node_modules/lodash-es/_setToString.js create mode 100644 socket/node_modules/lodash-es/_setWrapToString.js create mode 100644 socket/node_modules/lodash-es/_shortOut.js create mode 100644 socket/node_modules/lodash-es/_shuffleSelf.js create mode 100644 socket/node_modules/lodash-es/_stackClear.js create mode 100644 socket/node_modules/lodash-es/_stackDelete.js create mode 100644 socket/node_modules/lodash-es/_stackGet.js create mode 100644 socket/node_modules/lodash-es/_stackHas.js create mode 100644 socket/node_modules/lodash-es/_stackSet.js create mode 100644 socket/node_modules/lodash-es/_strictIndexOf.js create mode 100644 socket/node_modules/lodash-es/_strictLastIndexOf.js create mode 100644 socket/node_modules/lodash-es/_stringSize.js create mode 100644 socket/node_modules/lodash-es/_stringToArray.js create mode 100644 socket/node_modules/lodash-es/_stringToPath.js create mode 100644 socket/node_modules/lodash-es/_toKey.js create mode 100644 socket/node_modules/lodash-es/_toSource.js create mode 100644 socket/node_modules/lodash-es/_unescapeHtmlChar.js create mode 100644 socket/node_modules/lodash-es/_unicodeSize.js create mode 100644 socket/node_modules/lodash-es/_unicodeToArray.js create mode 100644 socket/node_modules/lodash-es/_unicodeWords.js create mode 100644 socket/node_modules/lodash-es/_updateWrapDetails.js create mode 100644 socket/node_modules/lodash-es/_wrapperClone.js create mode 100644 socket/node_modules/lodash-es/add.js create mode 100644 socket/node_modules/lodash-es/after.js create mode 100644 socket/node_modules/lodash-es/array.default.js create mode 100644 socket/node_modules/lodash-es/array.js create mode 100644 socket/node_modules/lodash-es/ary.js create mode 100644 socket/node_modules/lodash-es/assign.js create mode 100644 socket/node_modules/lodash-es/assignIn.js create mode 100644 socket/node_modules/lodash-es/assignInWith.js create mode 100644 socket/node_modules/lodash-es/assignWith.js create mode 100644 socket/node_modules/lodash-es/at.js create mode 100644 socket/node_modules/lodash-es/attempt.js create mode 100644 socket/node_modules/lodash-es/before.js create mode 100644 socket/node_modules/lodash-es/bind.js create mode 100644 socket/node_modules/lodash-es/bindAll.js create mode 100644 socket/node_modules/lodash-es/bindKey.js create mode 100644 socket/node_modules/lodash-es/camelCase.js create mode 100644 socket/node_modules/lodash-es/capitalize.js create mode 100644 socket/node_modules/lodash-es/castArray.js create mode 100644 socket/node_modules/lodash-es/ceil.js create mode 100644 socket/node_modules/lodash-es/chain.js create mode 100644 socket/node_modules/lodash-es/chunk.js create mode 100644 socket/node_modules/lodash-es/clamp.js create mode 100644 socket/node_modules/lodash-es/clone.js create mode 100644 socket/node_modules/lodash-es/cloneDeep.js create mode 100644 socket/node_modules/lodash-es/cloneDeepWith.js create mode 100644 socket/node_modules/lodash-es/cloneWith.js create mode 100644 socket/node_modules/lodash-es/collection.default.js create mode 100644 socket/node_modules/lodash-es/collection.js create mode 100644 socket/node_modules/lodash-es/commit.js create mode 100644 socket/node_modules/lodash-es/compact.js create mode 100644 socket/node_modules/lodash-es/concat.js create mode 100644 socket/node_modules/lodash-es/cond.js create mode 100644 socket/node_modules/lodash-es/conforms.js create mode 100644 socket/node_modules/lodash-es/conformsTo.js create mode 100644 socket/node_modules/lodash-es/constant.js create mode 100644 socket/node_modules/lodash-es/countBy.js create mode 100644 socket/node_modules/lodash-es/create.js create mode 100644 socket/node_modules/lodash-es/curry.js create mode 100644 socket/node_modules/lodash-es/curryRight.js create mode 100644 socket/node_modules/lodash-es/date.default.js create mode 100644 socket/node_modules/lodash-es/date.js create mode 100644 socket/node_modules/lodash-es/debounce.js create mode 100644 socket/node_modules/lodash-es/deburr.js create mode 100644 socket/node_modules/lodash-es/defaultTo.js create mode 100644 socket/node_modules/lodash-es/defaults.js create mode 100644 socket/node_modules/lodash-es/defaultsDeep.js create mode 100644 socket/node_modules/lodash-es/defer.js create mode 100644 socket/node_modules/lodash-es/delay.js create mode 100644 socket/node_modules/lodash-es/difference.js create mode 100644 socket/node_modules/lodash-es/differenceBy.js create mode 100644 socket/node_modules/lodash-es/differenceWith.js create mode 100644 socket/node_modules/lodash-es/divide.js create mode 100644 socket/node_modules/lodash-es/drop.js create mode 100644 socket/node_modules/lodash-es/dropRight.js create mode 100644 socket/node_modules/lodash-es/dropRightWhile.js create mode 100644 socket/node_modules/lodash-es/dropWhile.js create mode 100644 socket/node_modules/lodash-es/each.js create mode 100644 socket/node_modules/lodash-es/eachRight.js create mode 100644 socket/node_modules/lodash-es/endsWith.js create mode 100644 socket/node_modules/lodash-es/entries.js create mode 100644 socket/node_modules/lodash-es/entriesIn.js create mode 100644 socket/node_modules/lodash-es/eq.js create mode 100644 socket/node_modules/lodash-es/escape.js create mode 100644 socket/node_modules/lodash-es/escapeRegExp.js create mode 100644 socket/node_modules/lodash-es/every.js create mode 100644 socket/node_modules/lodash-es/extend.js create mode 100644 socket/node_modules/lodash-es/extendWith.js create mode 100644 socket/node_modules/lodash-es/fill.js create mode 100644 socket/node_modules/lodash-es/filter.js create mode 100644 socket/node_modules/lodash-es/find.js create mode 100644 socket/node_modules/lodash-es/findIndex.js create mode 100644 socket/node_modules/lodash-es/findKey.js create mode 100644 socket/node_modules/lodash-es/findLast.js create mode 100644 socket/node_modules/lodash-es/findLastIndex.js create mode 100644 socket/node_modules/lodash-es/findLastKey.js create mode 100644 socket/node_modules/lodash-es/first.js create mode 100644 socket/node_modules/lodash-es/flatMap.js create mode 100644 socket/node_modules/lodash-es/flatMapDeep.js create mode 100644 socket/node_modules/lodash-es/flatMapDepth.js create mode 100644 socket/node_modules/lodash-es/flatten.js create mode 100644 socket/node_modules/lodash-es/flattenDeep.js create mode 100644 socket/node_modules/lodash-es/flattenDepth.js create mode 100644 socket/node_modules/lodash-es/flip.js create mode 100644 socket/node_modules/lodash-es/floor.js create mode 100644 socket/node_modules/lodash-es/flow.js create mode 100644 socket/node_modules/lodash-es/flowRight.js create mode 100644 socket/node_modules/lodash-es/forEach.js create mode 100644 socket/node_modules/lodash-es/forEachRight.js create mode 100644 socket/node_modules/lodash-es/forIn.js create mode 100644 socket/node_modules/lodash-es/forInRight.js create mode 100644 socket/node_modules/lodash-es/forOwn.js create mode 100644 socket/node_modules/lodash-es/forOwnRight.js create mode 100644 socket/node_modules/lodash-es/fromPairs.js create mode 100644 socket/node_modules/lodash-es/function.default.js create mode 100644 socket/node_modules/lodash-es/function.js create mode 100644 socket/node_modules/lodash-es/functions.js create mode 100644 socket/node_modules/lodash-es/functionsIn.js create mode 100644 socket/node_modules/lodash-es/get.js create mode 100644 socket/node_modules/lodash-es/groupBy.js create mode 100644 socket/node_modules/lodash-es/gt.js create mode 100644 socket/node_modules/lodash-es/gte.js create mode 100644 socket/node_modules/lodash-es/has.js create mode 100644 socket/node_modules/lodash-es/hasIn.js create mode 100644 socket/node_modules/lodash-es/head.js create mode 100644 socket/node_modules/lodash-es/identity.js create mode 100644 socket/node_modules/lodash-es/inRange.js create mode 100644 socket/node_modules/lodash-es/includes.js create mode 100644 socket/node_modules/lodash-es/indexOf.js create mode 100644 socket/node_modules/lodash-es/initial.js create mode 100644 socket/node_modules/lodash-es/intersection.js create mode 100644 socket/node_modules/lodash-es/intersectionBy.js create mode 100644 socket/node_modules/lodash-es/intersectionWith.js create mode 100644 socket/node_modules/lodash-es/invert.js create mode 100644 socket/node_modules/lodash-es/invertBy.js create mode 100644 socket/node_modules/lodash-es/invoke.js create mode 100644 socket/node_modules/lodash-es/invokeMap.js create mode 100644 socket/node_modules/lodash-es/isArguments.js create mode 100644 socket/node_modules/lodash-es/isArray.js create mode 100644 socket/node_modules/lodash-es/isArrayBuffer.js create mode 100644 socket/node_modules/lodash-es/isArrayLike.js create mode 100644 socket/node_modules/lodash-es/isArrayLikeObject.js create mode 100644 socket/node_modules/lodash-es/isBoolean.js create mode 100644 socket/node_modules/lodash-es/isBuffer.js create mode 100644 socket/node_modules/lodash-es/isDate.js create mode 100644 socket/node_modules/lodash-es/isElement.js create mode 100644 socket/node_modules/lodash-es/isEmpty.js create mode 100644 socket/node_modules/lodash-es/isEqual.js create mode 100644 socket/node_modules/lodash-es/isEqualWith.js create mode 100644 socket/node_modules/lodash-es/isError.js create mode 100644 socket/node_modules/lodash-es/isFinite.js create mode 100644 socket/node_modules/lodash-es/isFunction.js create mode 100644 socket/node_modules/lodash-es/isInteger.js create mode 100644 socket/node_modules/lodash-es/isLength.js create mode 100644 socket/node_modules/lodash-es/isMap.js create mode 100644 socket/node_modules/lodash-es/isMatch.js create mode 100644 socket/node_modules/lodash-es/isMatchWith.js create mode 100644 socket/node_modules/lodash-es/isNaN.js create mode 100644 socket/node_modules/lodash-es/isNative.js create mode 100644 socket/node_modules/lodash-es/isNil.js create mode 100644 socket/node_modules/lodash-es/isNull.js create mode 100644 socket/node_modules/lodash-es/isNumber.js create mode 100644 socket/node_modules/lodash-es/isObject.js create mode 100644 socket/node_modules/lodash-es/isObjectLike.js create mode 100644 socket/node_modules/lodash-es/isPlainObject.js create mode 100644 socket/node_modules/lodash-es/isRegExp.js create mode 100644 socket/node_modules/lodash-es/isSafeInteger.js create mode 100644 socket/node_modules/lodash-es/isSet.js create mode 100644 socket/node_modules/lodash-es/isString.js create mode 100644 socket/node_modules/lodash-es/isSymbol.js create mode 100644 socket/node_modules/lodash-es/isTypedArray.js create mode 100644 socket/node_modules/lodash-es/isUndefined.js create mode 100644 socket/node_modules/lodash-es/isWeakMap.js create mode 100644 socket/node_modules/lodash-es/isWeakSet.js create mode 100644 socket/node_modules/lodash-es/iteratee.js create mode 100644 socket/node_modules/lodash-es/join.js create mode 100644 socket/node_modules/lodash-es/kebabCase.js create mode 100644 socket/node_modules/lodash-es/keyBy.js create mode 100644 socket/node_modules/lodash-es/keys.js create mode 100644 socket/node_modules/lodash-es/keysIn.js create mode 100644 socket/node_modules/lodash-es/lang.default.js create mode 100644 socket/node_modules/lodash-es/lang.js create mode 100644 socket/node_modules/lodash-es/last.js create mode 100644 socket/node_modules/lodash-es/lastIndexOf.js create mode 100644 socket/node_modules/lodash-es/lodash.default.js create mode 100644 socket/node_modules/lodash-es/lodash.js create mode 100644 socket/node_modules/lodash-es/lowerCase.js create mode 100644 socket/node_modules/lodash-es/lowerFirst.js create mode 100644 socket/node_modules/lodash-es/lt.js create mode 100644 socket/node_modules/lodash-es/lte.js create mode 100644 socket/node_modules/lodash-es/map.js create mode 100644 socket/node_modules/lodash-es/mapKeys.js create mode 100644 socket/node_modules/lodash-es/mapValues.js create mode 100644 socket/node_modules/lodash-es/matches.js create mode 100644 socket/node_modules/lodash-es/matchesProperty.js create mode 100644 socket/node_modules/lodash-es/math.default.js create mode 100644 socket/node_modules/lodash-es/math.js create mode 100644 socket/node_modules/lodash-es/max.js create mode 100644 socket/node_modules/lodash-es/maxBy.js create mode 100644 socket/node_modules/lodash-es/mean.js create mode 100644 socket/node_modules/lodash-es/meanBy.js create mode 100644 socket/node_modules/lodash-es/memoize.js create mode 100644 socket/node_modules/lodash-es/merge.js create mode 100644 socket/node_modules/lodash-es/mergeWith.js create mode 100644 socket/node_modules/lodash-es/method.js create mode 100644 socket/node_modules/lodash-es/methodOf.js create mode 100644 socket/node_modules/lodash-es/min.js create mode 100644 socket/node_modules/lodash-es/minBy.js create mode 100644 socket/node_modules/lodash-es/mixin.js create mode 100644 socket/node_modules/lodash-es/multiply.js create mode 100644 socket/node_modules/lodash-es/negate.js create mode 100644 socket/node_modules/lodash-es/next.js create mode 100644 socket/node_modules/lodash-es/noop.js create mode 100644 socket/node_modules/lodash-es/now.js create mode 100644 socket/node_modules/lodash-es/nth.js create mode 100644 socket/node_modules/lodash-es/nthArg.js create mode 100644 socket/node_modules/lodash-es/number.default.js create mode 100644 socket/node_modules/lodash-es/number.js create mode 100644 socket/node_modules/lodash-es/object.default.js create mode 100644 socket/node_modules/lodash-es/object.js create mode 100644 socket/node_modules/lodash-es/omit.js create mode 100644 socket/node_modules/lodash-es/omitBy.js create mode 100644 socket/node_modules/lodash-es/once.js create mode 100644 socket/node_modules/lodash-es/orderBy.js create mode 100644 socket/node_modules/lodash-es/over.js create mode 100644 socket/node_modules/lodash-es/overArgs.js create mode 100644 socket/node_modules/lodash-es/overEvery.js create mode 100644 socket/node_modules/lodash-es/overSome.js create mode 100644 socket/node_modules/lodash-es/package.json create mode 100644 socket/node_modules/lodash-es/pad.js create mode 100644 socket/node_modules/lodash-es/padEnd.js create mode 100644 socket/node_modules/lodash-es/padStart.js create mode 100644 socket/node_modules/lodash-es/parseInt.js create mode 100644 socket/node_modules/lodash-es/partial.js create mode 100644 socket/node_modules/lodash-es/partialRight.js create mode 100644 socket/node_modules/lodash-es/partition.js create mode 100644 socket/node_modules/lodash-es/pick.js create mode 100644 socket/node_modules/lodash-es/pickBy.js create mode 100644 socket/node_modules/lodash-es/plant.js create mode 100644 socket/node_modules/lodash-es/property.js create mode 100644 socket/node_modules/lodash-es/propertyOf.js create mode 100644 socket/node_modules/lodash-es/pull.js create mode 100644 socket/node_modules/lodash-es/pullAll.js create mode 100644 socket/node_modules/lodash-es/pullAllBy.js create mode 100644 socket/node_modules/lodash-es/pullAllWith.js create mode 100644 socket/node_modules/lodash-es/pullAt.js create mode 100644 socket/node_modules/lodash-es/random.js create mode 100644 socket/node_modules/lodash-es/range.js create mode 100644 socket/node_modules/lodash-es/rangeRight.js create mode 100644 socket/node_modules/lodash-es/rearg.js create mode 100644 socket/node_modules/lodash-es/reduce.js create mode 100644 socket/node_modules/lodash-es/reduceRight.js create mode 100644 socket/node_modules/lodash-es/reject.js create mode 100644 socket/node_modules/lodash-es/remove.js create mode 100644 socket/node_modules/lodash-es/repeat.js create mode 100644 socket/node_modules/lodash-es/replace.js create mode 100644 socket/node_modules/lodash-es/rest.js create mode 100644 socket/node_modules/lodash-es/result.js create mode 100644 socket/node_modules/lodash-es/reverse.js create mode 100644 socket/node_modules/lodash-es/round.js create mode 100644 socket/node_modules/lodash-es/sample.js create mode 100644 socket/node_modules/lodash-es/sampleSize.js create mode 100644 socket/node_modules/lodash-es/seq.default.js create mode 100644 socket/node_modules/lodash-es/seq.js create mode 100644 socket/node_modules/lodash-es/set.js create mode 100644 socket/node_modules/lodash-es/setWith.js create mode 100644 socket/node_modules/lodash-es/shuffle.js create mode 100644 socket/node_modules/lodash-es/size.js create mode 100644 socket/node_modules/lodash-es/slice.js create mode 100644 socket/node_modules/lodash-es/snakeCase.js create mode 100644 socket/node_modules/lodash-es/some.js create mode 100644 socket/node_modules/lodash-es/sortBy.js create mode 100644 socket/node_modules/lodash-es/sortedIndex.js create mode 100644 socket/node_modules/lodash-es/sortedIndexBy.js create mode 100644 socket/node_modules/lodash-es/sortedIndexOf.js create mode 100644 socket/node_modules/lodash-es/sortedLastIndex.js create mode 100644 socket/node_modules/lodash-es/sortedLastIndexBy.js create mode 100644 socket/node_modules/lodash-es/sortedLastIndexOf.js create mode 100644 socket/node_modules/lodash-es/sortedUniq.js create mode 100644 socket/node_modules/lodash-es/sortedUniqBy.js create mode 100644 socket/node_modules/lodash-es/split.js create mode 100644 socket/node_modules/lodash-es/spread.js create mode 100644 socket/node_modules/lodash-es/startCase.js create mode 100644 socket/node_modules/lodash-es/startsWith.js create mode 100644 socket/node_modules/lodash-es/string.default.js create mode 100644 socket/node_modules/lodash-es/string.js create mode 100644 socket/node_modules/lodash-es/stubArray.js create mode 100644 socket/node_modules/lodash-es/stubFalse.js create mode 100644 socket/node_modules/lodash-es/stubObject.js create mode 100644 socket/node_modules/lodash-es/stubString.js create mode 100644 socket/node_modules/lodash-es/stubTrue.js create mode 100644 socket/node_modules/lodash-es/subtract.js create mode 100644 socket/node_modules/lodash-es/sum.js create mode 100644 socket/node_modules/lodash-es/sumBy.js create mode 100644 socket/node_modules/lodash-es/tail.js create mode 100644 socket/node_modules/lodash-es/take.js create mode 100644 socket/node_modules/lodash-es/takeRight.js create mode 100644 socket/node_modules/lodash-es/takeRightWhile.js create mode 100644 socket/node_modules/lodash-es/takeWhile.js create mode 100644 socket/node_modules/lodash-es/tap.js create mode 100644 socket/node_modules/lodash-es/template.js create mode 100644 socket/node_modules/lodash-es/templateSettings.js create mode 100644 socket/node_modules/lodash-es/throttle.js create mode 100644 socket/node_modules/lodash-es/thru.js create mode 100644 socket/node_modules/lodash-es/times.js create mode 100644 socket/node_modules/lodash-es/toArray.js create mode 100644 socket/node_modules/lodash-es/toFinite.js create mode 100644 socket/node_modules/lodash-es/toInteger.js create mode 100644 socket/node_modules/lodash-es/toIterator.js create mode 100644 socket/node_modules/lodash-es/toJSON.js create mode 100644 socket/node_modules/lodash-es/toLength.js create mode 100644 socket/node_modules/lodash-es/toLower.js create mode 100644 socket/node_modules/lodash-es/toNumber.js create mode 100644 socket/node_modules/lodash-es/toPairs.js create mode 100644 socket/node_modules/lodash-es/toPairsIn.js create mode 100644 socket/node_modules/lodash-es/toPath.js create mode 100644 socket/node_modules/lodash-es/toPlainObject.js create mode 100644 socket/node_modules/lodash-es/toSafeInteger.js create mode 100644 socket/node_modules/lodash-es/toString.js create mode 100644 socket/node_modules/lodash-es/toUpper.js create mode 100644 socket/node_modules/lodash-es/transform.js create mode 100644 socket/node_modules/lodash-es/trim.js create mode 100644 socket/node_modules/lodash-es/trimEnd.js create mode 100644 socket/node_modules/lodash-es/trimStart.js create mode 100644 socket/node_modules/lodash-es/truncate.js create mode 100644 socket/node_modules/lodash-es/unary.js create mode 100644 socket/node_modules/lodash-es/unescape.js create mode 100644 socket/node_modules/lodash-es/union.js create mode 100644 socket/node_modules/lodash-es/unionBy.js create mode 100644 socket/node_modules/lodash-es/unionWith.js create mode 100644 socket/node_modules/lodash-es/uniq.js create mode 100644 socket/node_modules/lodash-es/uniqBy.js create mode 100644 socket/node_modules/lodash-es/uniqWith.js create mode 100644 socket/node_modules/lodash-es/uniqueId.js create mode 100644 socket/node_modules/lodash-es/unset.js create mode 100644 socket/node_modules/lodash-es/unzip.js create mode 100644 socket/node_modules/lodash-es/unzipWith.js create mode 100644 socket/node_modules/lodash-es/update.js create mode 100644 socket/node_modules/lodash-es/updateWith.js create mode 100644 socket/node_modules/lodash-es/upperCase.js create mode 100644 socket/node_modules/lodash-es/upperFirst.js create mode 100644 socket/node_modules/lodash-es/util.default.js create mode 100644 socket/node_modules/lodash-es/util.js create mode 100644 socket/node_modules/lodash-es/value.js create mode 100644 socket/node_modules/lodash-es/valueOf.js create mode 100644 socket/node_modules/lodash-es/values.js create mode 100644 socket/node_modules/lodash-es/valuesIn.js create mode 100644 socket/node_modules/lodash-es/without.js create mode 100644 socket/node_modules/lodash-es/words.js create mode 100644 socket/node_modules/lodash-es/wrap.js create mode 100644 socket/node_modules/lodash-es/wrapperAt.js create mode 100644 socket/node_modules/lodash-es/wrapperChain.js create mode 100644 socket/node_modules/lodash-es/wrapperLodash.js create mode 100644 socket/node_modules/lodash-es/wrapperReverse.js create mode 100644 socket/node_modules/lodash-es/wrapperValue.js create mode 100644 socket/node_modules/lodash-es/xor.js create mode 100644 socket/node_modules/lodash-es/xorBy.js create mode 100644 socket/node_modules/lodash-es/xorWith.js create mode 100644 socket/node_modules/lodash-es/zip.js create mode 100644 socket/node_modules/lodash-es/zipObject.js create mode 100644 socket/node_modules/lodash-es/zipObjectDeep.js create mode 100644 socket/node_modules/lodash-es/zipWith.js create mode 100644 socket/node_modules/lodash/LICENSE create mode 100644 socket/node_modules/lodash/README.md create mode 100644 socket/node_modules/lodash/_DataView.js create mode 100644 socket/node_modules/lodash/_Hash.js create mode 100644 socket/node_modules/lodash/_LazyWrapper.js create mode 100644 socket/node_modules/lodash/_ListCache.js create mode 100644 socket/node_modules/lodash/_LodashWrapper.js create mode 100644 socket/node_modules/lodash/_Map.js create mode 100644 socket/node_modules/lodash/_MapCache.js create mode 100644 socket/node_modules/lodash/_Promise.js create mode 100644 socket/node_modules/lodash/_Set.js create mode 100644 socket/node_modules/lodash/_SetCache.js create mode 100644 socket/node_modules/lodash/_Stack.js create mode 100644 socket/node_modules/lodash/_Symbol.js create mode 100644 socket/node_modules/lodash/_Uint8Array.js create mode 100644 socket/node_modules/lodash/_WeakMap.js create mode 100644 socket/node_modules/lodash/_apply.js create mode 100644 socket/node_modules/lodash/_arrayAggregator.js create mode 100644 socket/node_modules/lodash/_arrayEach.js create mode 100644 socket/node_modules/lodash/_arrayEachRight.js create mode 100644 socket/node_modules/lodash/_arrayEvery.js create mode 100644 socket/node_modules/lodash/_arrayFilter.js create mode 100644 socket/node_modules/lodash/_arrayIncludes.js create mode 100644 socket/node_modules/lodash/_arrayIncludesWith.js create mode 100644 socket/node_modules/lodash/_arrayLikeKeys.js create mode 100644 socket/node_modules/lodash/_arrayMap.js create mode 100644 socket/node_modules/lodash/_arrayPush.js create mode 100644 socket/node_modules/lodash/_arrayReduce.js create mode 100644 socket/node_modules/lodash/_arrayReduceRight.js create mode 100644 socket/node_modules/lodash/_arraySample.js create mode 100644 socket/node_modules/lodash/_arraySampleSize.js create mode 100644 socket/node_modules/lodash/_arrayShuffle.js create mode 100644 socket/node_modules/lodash/_arraySome.js create mode 100644 socket/node_modules/lodash/_asciiSize.js create mode 100644 socket/node_modules/lodash/_asciiToArray.js create mode 100644 socket/node_modules/lodash/_asciiWords.js create mode 100644 socket/node_modules/lodash/_assignMergeValue.js create mode 100644 socket/node_modules/lodash/_assignValue.js create mode 100644 socket/node_modules/lodash/_assocIndexOf.js create mode 100644 socket/node_modules/lodash/_baseAggregator.js create mode 100644 socket/node_modules/lodash/_baseAssign.js create mode 100644 socket/node_modules/lodash/_baseAssignIn.js create mode 100644 socket/node_modules/lodash/_baseAssignValue.js create mode 100644 socket/node_modules/lodash/_baseAt.js create mode 100644 socket/node_modules/lodash/_baseClamp.js create mode 100644 socket/node_modules/lodash/_baseClone.js create mode 100644 socket/node_modules/lodash/_baseConforms.js create mode 100644 socket/node_modules/lodash/_baseConformsTo.js create mode 100644 socket/node_modules/lodash/_baseCreate.js create mode 100644 socket/node_modules/lodash/_baseDelay.js create mode 100644 socket/node_modules/lodash/_baseDifference.js create mode 100644 socket/node_modules/lodash/_baseEach.js create mode 100644 socket/node_modules/lodash/_baseEachRight.js create mode 100644 socket/node_modules/lodash/_baseEvery.js create mode 100644 socket/node_modules/lodash/_baseExtremum.js create mode 100644 socket/node_modules/lodash/_baseFill.js create mode 100644 socket/node_modules/lodash/_baseFilter.js create mode 100644 socket/node_modules/lodash/_baseFindIndex.js create mode 100644 socket/node_modules/lodash/_baseFindKey.js create mode 100644 socket/node_modules/lodash/_baseFlatten.js create mode 100644 socket/node_modules/lodash/_baseFor.js create mode 100644 socket/node_modules/lodash/_baseForOwn.js create mode 100644 socket/node_modules/lodash/_baseForOwnRight.js create mode 100644 socket/node_modules/lodash/_baseForRight.js create mode 100644 socket/node_modules/lodash/_baseFunctions.js create mode 100644 socket/node_modules/lodash/_baseGet.js create mode 100644 socket/node_modules/lodash/_baseGetAllKeys.js create mode 100644 socket/node_modules/lodash/_baseGetTag.js create mode 100644 socket/node_modules/lodash/_baseGt.js create mode 100644 socket/node_modules/lodash/_baseHas.js create mode 100644 socket/node_modules/lodash/_baseHasIn.js create mode 100644 socket/node_modules/lodash/_baseInRange.js create mode 100644 socket/node_modules/lodash/_baseIndexOf.js create mode 100644 socket/node_modules/lodash/_baseIndexOfWith.js create mode 100644 socket/node_modules/lodash/_baseIntersection.js create mode 100644 socket/node_modules/lodash/_baseInverter.js create mode 100644 socket/node_modules/lodash/_baseInvoke.js create mode 100644 socket/node_modules/lodash/_baseIsArguments.js create mode 100644 socket/node_modules/lodash/_baseIsArrayBuffer.js create mode 100644 socket/node_modules/lodash/_baseIsDate.js create mode 100644 socket/node_modules/lodash/_baseIsEqual.js create mode 100644 socket/node_modules/lodash/_baseIsEqualDeep.js create mode 100644 socket/node_modules/lodash/_baseIsMap.js create mode 100644 socket/node_modules/lodash/_baseIsMatch.js create mode 100644 socket/node_modules/lodash/_baseIsNaN.js create mode 100644 socket/node_modules/lodash/_baseIsNative.js create mode 100644 socket/node_modules/lodash/_baseIsRegExp.js create mode 100644 socket/node_modules/lodash/_baseIsSet.js create mode 100644 socket/node_modules/lodash/_baseIsTypedArray.js create mode 100644 socket/node_modules/lodash/_baseIteratee.js create mode 100644 socket/node_modules/lodash/_baseKeys.js create mode 100644 socket/node_modules/lodash/_baseKeysIn.js create mode 100644 socket/node_modules/lodash/_baseLodash.js create mode 100644 socket/node_modules/lodash/_baseLt.js create mode 100644 socket/node_modules/lodash/_baseMap.js create mode 100644 socket/node_modules/lodash/_baseMatches.js create mode 100644 socket/node_modules/lodash/_baseMatchesProperty.js create mode 100644 socket/node_modules/lodash/_baseMean.js create mode 100644 socket/node_modules/lodash/_baseMerge.js create mode 100644 socket/node_modules/lodash/_baseMergeDeep.js create mode 100644 socket/node_modules/lodash/_baseNth.js create mode 100644 socket/node_modules/lodash/_baseOrderBy.js create mode 100644 socket/node_modules/lodash/_basePick.js create mode 100644 socket/node_modules/lodash/_basePickBy.js create mode 100644 socket/node_modules/lodash/_baseProperty.js create mode 100644 socket/node_modules/lodash/_basePropertyDeep.js create mode 100644 socket/node_modules/lodash/_basePropertyOf.js create mode 100644 socket/node_modules/lodash/_basePullAll.js create mode 100644 socket/node_modules/lodash/_basePullAt.js create mode 100644 socket/node_modules/lodash/_baseRandom.js create mode 100644 socket/node_modules/lodash/_baseRange.js create mode 100644 socket/node_modules/lodash/_baseReduce.js create mode 100644 socket/node_modules/lodash/_baseRepeat.js create mode 100644 socket/node_modules/lodash/_baseRest.js create mode 100644 socket/node_modules/lodash/_baseSample.js create mode 100644 socket/node_modules/lodash/_baseSampleSize.js create mode 100644 socket/node_modules/lodash/_baseSet.js create mode 100644 socket/node_modules/lodash/_baseSetData.js create mode 100644 socket/node_modules/lodash/_baseSetToString.js create mode 100644 socket/node_modules/lodash/_baseShuffle.js create mode 100644 socket/node_modules/lodash/_baseSlice.js create mode 100644 socket/node_modules/lodash/_baseSome.js create mode 100644 socket/node_modules/lodash/_baseSortBy.js create mode 100644 socket/node_modules/lodash/_baseSortedIndex.js create mode 100644 socket/node_modules/lodash/_baseSortedIndexBy.js create mode 100644 socket/node_modules/lodash/_baseSortedUniq.js create mode 100644 socket/node_modules/lodash/_baseSum.js create mode 100644 socket/node_modules/lodash/_baseTimes.js create mode 100644 socket/node_modules/lodash/_baseToNumber.js create mode 100644 socket/node_modules/lodash/_baseToPairs.js create mode 100644 socket/node_modules/lodash/_baseToString.js create mode 100644 socket/node_modules/lodash/_baseUnary.js create mode 100644 socket/node_modules/lodash/_baseUniq.js create mode 100644 socket/node_modules/lodash/_baseUnset.js create mode 100644 socket/node_modules/lodash/_baseUpdate.js create mode 100644 socket/node_modules/lodash/_baseValues.js create mode 100644 socket/node_modules/lodash/_baseWhile.js create mode 100644 socket/node_modules/lodash/_baseWrapperValue.js create mode 100644 socket/node_modules/lodash/_baseXor.js create mode 100644 socket/node_modules/lodash/_baseZipObject.js create mode 100644 socket/node_modules/lodash/_cacheHas.js create mode 100644 socket/node_modules/lodash/_castArrayLikeObject.js create mode 100644 socket/node_modules/lodash/_castFunction.js create mode 100644 socket/node_modules/lodash/_castPath.js create mode 100644 socket/node_modules/lodash/_castRest.js create mode 100644 socket/node_modules/lodash/_castSlice.js create mode 100644 socket/node_modules/lodash/_charsEndIndex.js create mode 100644 socket/node_modules/lodash/_charsStartIndex.js create mode 100644 socket/node_modules/lodash/_cloneArrayBuffer.js create mode 100644 socket/node_modules/lodash/_cloneBuffer.js create mode 100644 socket/node_modules/lodash/_cloneDataView.js create mode 100644 socket/node_modules/lodash/_cloneRegExp.js create mode 100644 socket/node_modules/lodash/_cloneSymbol.js create mode 100644 socket/node_modules/lodash/_cloneTypedArray.js create mode 100644 socket/node_modules/lodash/_compareAscending.js create mode 100644 socket/node_modules/lodash/_compareMultiple.js create mode 100644 socket/node_modules/lodash/_composeArgs.js create mode 100644 socket/node_modules/lodash/_composeArgsRight.js create mode 100644 socket/node_modules/lodash/_copyArray.js create mode 100644 socket/node_modules/lodash/_copyObject.js create mode 100644 socket/node_modules/lodash/_copySymbols.js create mode 100644 socket/node_modules/lodash/_copySymbolsIn.js create mode 100644 socket/node_modules/lodash/_coreJsData.js create mode 100644 socket/node_modules/lodash/_countHolders.js create mode 100644 socket/node_modules/lodash/_createAggregator.js create mode 100644 socket/node_modules/lodash/_createAssigner.js create mode 100644 socket/node_modules/lodash/_createBaseEach.js create mode 100644 socket/node_modules/lodash/_createBaseFor.js create mode 100644 socket/node_modules/lodash/_createBind.js create mode 100644 socket/node_modules/lodash/_createCaseFirst.js create mode 100644 socket/node_modules/lodash/_createCompounder.js create mode 100644 socket/node_modules/lodash/_createCtor.js create mode 100644 socket/node_modules/lodash/_createCurry.js create mode 100644 socket/node_modules/lodash/_createFind.js create mode 100644 socket/node_modules/lodash/_createFlow.js create mode 100644 socket/node_modules/lodash/_createHybrid.js create mode 100644 socket/node_modules/lodash/_createInverter.js create mode 100644 socket/node_modules/lodash/_createMathOperation.js create mode 100644 socket/node_modules/lodash/_createOver.js create mode 100644 socket/node_modules/lodash/_createPadding.js create mode 100644 socket/node_modules/lodash/_createPartial.js create mode 100644 socket/node_modules/lodash/_createRange.js create mode 100644 socket/node_modules/lodash/_createRecurry.js create mode 100644 socket/node_modules/lodash/_createRelationalOperation.js create mode 100644 socket/node_modules/lodash/_createRound.js create mode 100644 socket/node_modules/lodash/_createSet.js create mode 100644 socket/node_modules/lodash/_createToPairs.js create mode 100644 socket/node_modules/lodash/_createWrap.js create mode 100644 socket/node_modules/lodash/_customDefaultsAssignIn.js create mode 100644 socket/node_modules/lodash/_customDefaultsMerge.js create mode 100644 socket/node_modules/lodash/_customOmitClone.js create mode 100644 socket/node_modules/lodash/_deburrLetter.js create mode 100644 socket/node_modules/lodash/_defineProperty.js create mode 100644 socket/node_modules/lodash/_equalArrays.js create mode 100644 socket/node_modules/lodash/_equalByTag.js create mode 100644 socket/node_modules/lodash/_equalObjects.js create mode 100644 socket/node_modules/lodash/_escapeHtmlChar.js create mode 100644 socket/node_modules/lodash/_escapeStringChar.js create mode 100644 socket/node_modules/lodash/_flatRest.js create mode 100644 socket/node_modules/lodash/_freeGlobal.js create mode 100644 socket/node_modules/lodash/_getAllKeys.js create mode 100644 socket/node_modules/lodash/_getAllKeysIn.js create mode 100644 socket/node_modules/lodash/_getData.js create mode 100644 socket/node_modules/lodash/_getFuncName.js create mode 100644 socket/node_modules/lodash/_getHolder.js create mode 100644 socket/node_modules/lodash/_getMapData.js create mode 100644 socket/node_modules/lodash/_getMatchData.js create mode 100644 socket/node_modules/lodash/_getNative.js create mode 100644 socket/node_modules/lodash/_getPrototype.js create mode 100644 socket/node_modules/lodash/_getRawTag.js create mode 100644 socket/node_modules/lodash/_getSymbols.js create mode 100644 socket/node_modules/lodash/_getSymbolsIn.js create mode 100644 socket/node_modules/lodash/_getTag.js create mode 100644 socket/node_modules/lodash/_getValue.js create mode 100644 socket/node_modules/lodash/_getView.js create mode 100644 socket/node_modules/lodash/_getWrapDetails.js create mode 100644 socket/node_modules/lodash/_hasPath.js create mode 100644 socket/node_modules/lodash/_hasUnicode.js create mode 100644 socket/node_modules/lodash/_hasUnicodeWord.js create mode 100644 socket/node_modules/lodash/_hashClear.js create mode 100644 socket/node_modules/lodash/_hashDelete.js create mode 100644 socket/node_modules/lodash/_hashGet.js create mode 100644 socket/node_modules/lodash/_hashHas.js create mode 100644 socket/node_modules/lodash/_hashSet.js create mode 100644 socket/node_modules/lodash/_initCloneArray.js create mode 100644 socket/node_modules/lodash/_initCloneByTag.js create mode 100644 socket/node_modules/lodash/_initCloneObject.js create mode 100644 socket/node_modules/lodash/_insertWrapDetails.js create mode 100644 socket/node_modules/lodash/_isFlattenable.js create mode 100644 socket/node_modules/lodash/_isIndex.js create mode 100644 socket/node_modules/lodash/_isIterateeCall.js create mode 100644 socket/node_modules/lodash/_isKey.js create mode 100644 socket/node_modules/lodash/_isKeyable.js create mode 100644 socket/node_modules/lodash/_isLaziable.js create mode 100644 socket/node_modules/lodash/_isMaskable.js create mode 100644 socket/node_modules/lodash/_isMasked.js create mode 100644 socket/node_modules/lodash/_isPrototype.js create mode 100644 socket/node_modules/lodash/_isStrictComparable.js create mode 100644 socket/node_modules/lodash/_iteratorToArray.js create mode 100644 socket/node_modules/lodash/_lazyClone.js create mode 100644 socket/node_modules/lodash/_lazyReverse.js create mode 100644 socket/node_modules/lodash/_lazyValue.js create mode 100644 socket/node_modules/lodash/_listCacheClear.js create mode 100644 socket/node_modules/lodash/_listCacheDelete.js create mode 100644 socket/node_modules/lodash/_listCacheGet.js create mode 100644 socket/node_modules/lodash/_listCacheHas.js create mode 100644 socket/node_modules/lodash/_listCacheSet.js create mode 100644 socket/node_modules/lodash/_mapCacheClear.js create mode 100644 socket/node_modules/lodash/_mapCacheDelete.js create mode 100644 socket/node_modules/lodash/_mapCacheGet.js create mode 100644 socket/node_modules/lodash/_mapCacheHas.js create mode 100644 socket/node_modules/lodash/_mapCacheSet.js create mode 100644 socket/node_modules/lodash/_mapToArray.js create mode 100644 socket/node_modules/lodash/_matchesStrictComparable.js create mode 100644 socket/node_modules/lodash/_memoizeCapped.js create mode 100644 socket/node_modules/lodash/_mergeData.js create mode 100644 socket/node_modules/lodash/_metaMap.js create mode 100644 socket/node_modules/lodash/_nativeCreate.js create mode 100644 socket/node_modules/lodash/_nativeKeys.js create mode 100644 socket/node_modules/lodash/_nativeKeysIn.js create mode 100644 socket/node_modules/lodash/_nodeUtil.js create mode 100644 socket/node_modules/lodash/_objectToString.js create mode 100644 socket/node_modules/lodash/_overArg.js create mode 100644 socket/node_modules/lodash/_overRest.js create mode 100644 socket/node_modules/lodash/_parent.js create mode 100644 socket/node_modules/lodash/_reEscape.js create mode 100644 socket/node_modules/lodash/_reEvaluate.js create mode 100644 socket/node_modules/lodash/_reInterpolate.js create mode 100644 socket/node_modules/lodash/_realNames.js create mode 100644 socket/node_modules/lodash/_reorder.js create mode 100644 socket/node_modules/lodash/_replaceHolders.js create mode 100644 socket/node_modules/lodash/_root.js create mode 100644 socket/node_modules/lodash/_safeGet.js create mode 100644 socket/node_modules/lodash/_setCacheAdd.js create mode 100644 socket/node_modules/lodash/_setCacheHas.js create mode 100644 socket/node_modules/lodash/_setData.js create mode 100644 socket/node_modules/lodash/_setToArray.js create mode 100644 socket/node_modules/lodash/_setToPairs.js create mode 100644 socket/node_modules/lodash/_setToString.js create mode 100644 socket/node_modules/lodash/_setWrapToString.js create mode 100644 socket/node_modules/lodash/_shortOut.js create mode 100644 socket/node_modules/lodash/_shuffleSelf.js create mode 100644 socket/node_modules/lodash/_stackClear.js create mode 100644 socket/node_modules/lodash/_stackDelete.js create mode 100644 socket/node_modules/lodash/_stackGet.js create mode 100644 socket/node_modules/lodash/_stackHas.js create mode 100644 socket/node_modules/lodash/_stackSet.js create mode 100644 socket/node_modules/lodash/_strictIndexOf.js create mode 100644 socket/node_modules/lodash/_strictLastIndexOf.js create mode 100644 socket/node_modules/lodash/_stringSize.js create mode 100644 socket/node_modules/lodash/_stringToArray.js create mode 100644 socket/node_modules/lodash/_stringToPath.js create mode 100644 socket/node_modules/lodash/_toKey.js create mode 100644 socket/node_modules/lodash/_toSource.js create mode 100644 socket/node_modules/lodash/_unescapeHtmlChar.js create mode 100644 socket/node_modules/lodash/_unicodeSize.js create mode 100644 socket/node_modules/lodash/_unicodeToArray.js create mode 100644 socket/node_modules/lodash/_unicodeWords.js create mode 100644 socket/node_modules/lodash/_updateWrapDetails.js create mode 100644 socket/node_modules/lodash/_wrapperClone.js create mode 100644 socket/node_modules/lodash/add.js create mode 100644 socket/node_modules/lodash/after.js create mode 100644 socket/node_modules/lodash/array.js create mode 100644 socket/node_modules/lodash/ary.js create mode 100644 socket/node_modules/lodash/assign.js create mode 100644 socket/node_modules/lodash/assignIn.js create mode 100644 socket/node_modules/lodash/assignInWith.js create mode 100644 socket/node_modules/lodash/assignWith.js create mode 100644 socket/node_modules/lodash/at.js create mode 100644 socket/node_modules/lodash/attempt.js create mode 100644 socket/node_modules/lodash/before.js create mode 100644 socket/node_modules/lodash/bind.js create mode 100644 socket/node_modules/lodash/bindAll.js create mode 100644 socket/node_modules/lodash/bindKey.js create mode 100644 socket/node_modules/lodash/camelCase.js create mode 100644 socket/node_modules/lodash/capitalize.js create mode 100644 socket/node_modules/lodash/castArray.js create mode 100644 socket/node_modules/lodash/ceil.js create mode 100644 socket/node_modules/lodash/chain.js create mode 100644 socket/node_modules/lodash/chunk.js create mode 100644 socket/node_modules/lodash/clamp.js create mode 100644 socket/node_modules/lodash/clone.js create mode 100644 socket/node_modules/lodash/cloneDeep.js create mode 100644 socket/node_modules/lodash/cloneDeepWith.js create mode 100644 socket/node_modules/lodash/cloneWith.js create mode 100644 socket/node_modules/lodash/collection.js create mode 100644 socket/node_modules/lodash/commit.js create mode 100644 socket/node_modules/lodash/compact.js create mode 100644 socket/node_modules/lodash/concat.js create mode 100644 socket/node_modules/lodash/cond.js create mode 100644 socket/node_modules/lodash/conforms.js create mode 100644 socket/node_modules/lodash/conformsTo.js create mode 100644 socket/node_modules/lodash/constant.js create mode 100644 socket/node_modules/lodash/core.js create mode 100644 socket/node_modules/lodash/core.min.js create mode 100644 socket/node_modules/lodash/countBy.js create mode 100644 socket/node_modules/lodash/create.js create mode 100644 socket/node_modules/lodash/curry.js create mode 100644 socket/node_modules/lodash/curryRight.js create mode 100644 socket/node_modules/lodash/date.js create mode 100644 socket/node_modules/lodash/debounce.js create mode 100644 socket/node_modules/lodash/deburr.js create mode 100644 socket/node_modules/lodash/defaultTo.js create mode 100644 socket/node_modules/lodash/defaults.js create mode 100644 socket/node_modules/lodash/defaultsDeep.js create mode 100644 socket/node_modules/lodash/defer.js create mode 100644 socket/node_modules/lodash/delay.js create mode 100644 socket/node_modules/lodash/difference.js create mode 100644 socket/node_modules/lodash/differenceBy.js create mode 100644 socket/node_modules/lodash/differenceWith.js create mode 100644 socket/node_modules/lodash/divide.js create mode 100644 socket/node_modules/lodash/drop.js create mode 100644 socket/node_modules/lodash/dropRight.js create mode 100644 socket/node_modules/lodash/dropRightWhile.js create mode 100644 socket/node_modules/lodash/dropWhile.js create mode 100644 socket/node_modules/lodash/each.js create mode 100644 socket/node_modules/lodash/eachRight.js create mode 100644 socket/node_modules/lodash/endsWith.js create mode 100644 socket/node_modules/lodash/entries.js create mode 100644 socket/node_modules/lodash/entriesIn.js create mode 100644 socket/node_modules/lodash/eq.js create mode 100644 socket/node_modules/lodash/escape.js create mode 100644 socket/node_modules/lodash/escapeRegExp.js create mode 100644 socket/node_modules/lodash/every.js create mode 100644 socket/node_modules/lodash/extend.js create mode 100644 socket/node_modules/lodash/extendWith.js create mode 100644 socket/node_modules/lodash/fill.js create mode 100644 socket/node_modules/lodash/filter.js create mode 100644 socket/node_modules/lodash/find.js create mode 100644 socket/node_modules/lodash/findIndex.js create mode 100644 socket/node_modules/lodash/findKey.js create mode 100644 socket/node_modules/lodash/findLast.js create mode 100644 socket/node_modules/lodash/findLastIndex.js create mode 100644 socket/node_modules/lodash/findLastKey.js create mode 100644 socket/node_modules/lodash/first.js create mode 100644 socket/node_modules/lodash/flatMap.js create mode 100644 socket/node_modules/lodash/flatMapDeep.js create mode 100644 socket/node_modules/lodash/flatMapDepth.js create mode 100644 socket/node_modules/lodash/flatten.js create mode 100644 socket/node_modules/lodash/flattenDeep.js create mode 100644 socket/node_modules/lodash/flattenDepth.js create mode 100644 socket/node_modules/lodash/flip.js create mode 100644 socket/node_modules/lodash/floor.js create mode 100644 socket/node_modules/lodash/flow.js create mode 100644 socket/node_modules/lodash/flowRight.js create mode 100644 socket/node_modules/lodash/forEach.js create mode 100644 socket/node_modules/lodash/forEachRight.js create mode 100644 socket/node_modules/lodash/forIn.js create mode 100644 socket/node_modules/lodash/forInRight.js create mode 100644 socket/node_modules/lodash/forOwn.js create mode 100644 socket/node_modules/lodash/forOwnRight.js create mode 100644 socket/node_modules/lodash/fp.js create mode 100644 socket/node_modules/lodash/fp/F.js create mode 100644 socket/node_modules/lodash/fp/T.js create mode 100644 socket/node_modules/lodash/fp/__.js create mode 100644 socket/node_modules/lodash/fp/_baseConvert.js create mode 100644 socket/node_modules/lodash/fp/_convertBrowser.js create mode 100644 socket/node_modules/lodash/fp/_falseOptions.js create mode 100644 socket/node_modules/lodash/fp/_mapping.js create mode 100644 socket/node_modules/lodash/fp/_util.js create mode 100644 socket/node_modules/lodash/fp/add.js create mode 100644 socket/node_modules/lodash/fp/after.js create mode 100644 socket/node_modules/lodash/fp/all.js create mode 100644 socket/node_modules/lodash/fp/allPass.js create mode 100644 socket/node_modules/lodash/fp/always.js create mode 100644 socket/node_modules/lodash/fp/any.js create mode 100644 socket/node_modules/lodash/fp/anyPass.js create mode 100644 socket/node_modules/lodash/fp/apply.js create mode 100644 socket/node_modules/lodash/fp/array.js create mode 100644 socket/node_modules/lodash/fp/ary.js create mode 100644 socket/node_modules/lodash/fp/assign.js create mode 100644 socket/node_modules/lodash/fp/assignAll.js create mode 100644 socket/node_modules/lodash/fp/assignAllWith.js create mode 100644 socket/node_modules/lodash/fp/assignIn.js create mode 100644 socket/node_modules/lodash/fp/assignInAll.js create mode 100644 socket/node_modules/lodash/fp/assignInAllWith.js create mode 100644 socket/node_modules/lodash/fp/assignInWith.js create mode 100644 socket/node_modules/lodash/fp/assignWith.js create mode 100644 socket/node_modules/lodash/fp/assoc.js create mode 100644 socket/node_modules/lodash/fp/assocPath.js create mode 100644 socket/node_modules/lodash/fp/at.js create mode 100644 socket/node_modules/lodash/fp/attempt.js create mode 100644 socket/node_modules/lodash/fp/before.js create mode 100644 socket/node_modules/lodash/fp/bind.js create mode 100644 socket/node_modules/lodash/fp/bindAll.js create mode 100644 socket/node_modules/lodash/fp/bindKey.js create mode 100644 socket/node_modules/lodash/fp/camelCase.js create mode 100644 socket/node_modules/lodash/fp/capitalize.js create mode 100644 socket/node_modules/lodash/fp/castArray.js create mode 100644 socket/node_modules/lodash/fp/ceil.js create mode 100644 socket/node_modules/lodash/fp/chain.js create mode 100644 socket/node_modules/lodash/fp/chunk.js create mode 100644 socket/node_modules/lodash/fp/clamp.js create mode 100644 socket/node_modules/lodash/fp/clone.js create mode 100644 socket/node_modules/lodash/fp/cloneDeep.js create mode 100644 socket/node_modules/lodash/fp/cloneDeepWith.js create mode 100644 socket/node_modules/lodash/fp/cloneWith.js create mode 100644 socket/node_modules/lodash/fp/collection.js create mode 100644 socket/node_modules/lodash/fp/commit.js create mode 100644 socket/node_modules/lodash/fp/compact.js create mode 100644 socket/node_modules/lodash/fp/complement.js create mode 100644 socket/node_modules/lodash/fp/compose.js create mode 100644 socket/node_modules/lodash/fp/concat.js create mode 100644 socket/node_modules/lodash/fp/cond.js create mode 100644 socket/node_modules/lodash/fp/conforms.js create mode 100644 socket/node_modules/lodash/fp/conformsTo.js create mode 100644 socket/node_modules/lodash/fp/constant.js create mode 100644 socket/node_modules/lodash/fp/contains.js create mode 100644 socket/node_modules/lodash/fp/convert.js create mode 100644 socket/node_modules/lodash/fp/countBy.js create mode 100644 socket/node_modules/lodash/fp/create.js create mode 100644 socket/node_modules/lodash/fp/curry.js create mode 100644 socket/node_modules/lodash/fp/curryN.js create mode 100644 socket/node_modules/lodash/fp/curryRight.js create mode 100644 socket/node_modules/lodash/fp/curryRightN.js create mode 100644 socket/node_modules/lodash/fp/date.js create mode 100644 socket/node_modules/lodash/fp/debounce.js create mode 100644 socket/node_modules/lodash/fp/deburr.js create mode 100644 socket/node_modules/lodash/fp/defaultTo.js create mode 100644 socket/node_modules/lodash/fp/defaults.js create mode 100644 socket/node_modules/lodash/fp/defaultsAll.js create mode 100644 socket/node_modules/lodash/fp/defaultsDeep.js create mode 100644 socket/node_modules/lodash/fp/defaultsDeepAll.js create mode 100644 socket/node_modules/lodash/fp/defer.js create mode 100644 socket/node_modules/lodash/fp/delay.js create mode 100644 socket/node_modules/lodash/fp/difference.js create mode 100644 socket/node_modules/lodash/fp/differenceBy.js create mode 100644 socket/node_modules/lodash/fp/differenceWith.js create mode 100644 socket/node_modules/lodash/fp/dissoc.js create mode 100644 socket/node_modules/lodash/fp/dissocPath.js create mode 100644 socket/node_modules/lodash/fp/divide.js create mode 100644 socket/node_modules/lodash/fp/drop.js create mode 100644 socket/node_modules/lodash/fp/dropLast.js create mode 100644 socket/node_modules/lodash/fp/dropLastWhile.js create mode 100644 socket/node_modules/lodash/fp/dropRight.js create mode 100644 socket/node_modules/lodash/fp/dropRightWhile.js create mode 100644 socket/node_modules/lodash/fp/dropWhile.js create mode 100644 socket/node_modules/lodash/fp/each.js create mode 100644 socket/node_modules/lodash/fp/eachRight.js create mode 100644 socket/node_modules/lodash/fp/endsWith.js create mode 100644 socket/node_modules/lodash/fp/entries.js create mode 100644 socket/node_modules/lodash/fp/entriesIn.js create mode 100644 socket/node_modules/lodash/fp/eq.js create mode 100644 socket/node_modules/lodash/fp/equals.js create mode 100644 socket/node_modules/lodash/fp/escape.js create mode 100644 socket/node_modules/lodash/fp/escapeRegExp.js create mode 100644 socket/node_modules/lodash/fp/every.js create mode 100644 socket/node_modules/lodash/fp/extend.js create mode 100644 socket/node_modules/lodash/fp/extendAll.js create mode 100644 socket/node_modules/lodash/fp/extendAllWith.js create mode 100644 socket/node_modules/lodash/fp/extendWith.js create mode 100644 socket/node_modules/lodash/fp/fill.js create mode 100644 socket/node_modules/lodash/fp/filter.js create mode 100644 socket/node_modules/lodash/fp/find.js create mode 100644 socket/node_modules/lodash/fp/findFrom.js create mode 100644 socket/node_modules/lodash/fp/findIndex.js create mode 100644 socket/node_modules/lodash/fp/findIndexFrom.js create mode 100644 socket/node_modules/lodash/fp/findKey.js create mode 100644 socket/node_modules/lodash/fp/findLast.js create mode 100644 socket/node_modules/lodash/fp/findLastFrom.js create mode 100644 socket/node_modules/lodash/fp/findLastIndex.js create mode 100644 socket/node_modules/lodash/fp/findLastIndexFrom.js create mode 100644 socket/node_modules/lodash/fp/findLastKey.js create mode 100644 socket/node_modules/lodash/fp/first.js create mode 100644 socket/node_modules/lodash/fp/flatMap.js create mode 100644 socket/node_modules/lodash/fp/flatMapDeep.js create mode 100644 socket/node_modules/lodash/fp/flatMapDepth.js create mode 100644 socket/node_modules/lodash/fp/flatten.js create mode 100644 socket/node_modules/lodash/fp/flattenDeep.js create mode 100644 socket/node_modules/lodash/fp/flattenDepth.js create mode 100644 socket/node_modules/lodash/fp/flip.js create mode 100644 socket/node_modules/lodash/fp/floor.js create mode 100644 socket/node_modules/lodash/fp/flow.js create mode 100644 socket/node_modules/lodash/fp/flowRight.js create mode 100644 socket/node_modules/lodash/fp/forEach.js create mode 100644 socket/node_modules/lodash/fp/forEachRight.js create mode 100644 socket/node_modules/lodash/fp/forIn.js create mode 100644 socket/node_modules/lodash/fp/forInRight.js create mode 100644 socket/node_modules/lodash/fp/forOwn.js create mode 100644 socket/node_modules/lodash/fp/forOwnRight.js create mode 100644 socket/node_modules/lodash/fp/fromPairs.js create mode 100644 socket/node_modules/lodash/fp/function.js create mode 100644 socket/node_modules/lodash/fp/functions.js create mode 100644 socket/node_modules/lodash/fp/functionsIn.js create mode 100644 socket/node_modules/lodash/fp/get.js create mode 100644 socket/node_modules/lodash/fp/getOr.js create mode 100644 socket/node_modules/lodash/fp/groupBy.js create mode 100644 socket/node_modules/lodash/fp/gt.js create mode 100644 socket/node_modules/lodash/fp/gte.js create mode 100644 socket/node_modules/lodash/fp/has.js create mode 100644 socket/node_modules/lodash/fp/hasIn.js create mode 100644 socket/node_modules/lodash/fp/head.js create mode 100644 socket/node_modules/lodash/fp/identical.js create mode 100644 socket/node_modules/lodash/fp/identity.js create mode 100644 socket/node_modules/lodash/fp/inRange.js create mode 100644 socket/node_modules/lodash/fp/includes.js create mode 100644 socket/node_modules/lodash/fp/includesFrom.js create mode 100644 socket/node_modules/lodash/fp/indexBy.js create mode 100644 socket/node_modules/lodash/fp/indexOf.js create mode 100644 socket/node_modules/lodash/fp/indexOfFrom.js create mode 100644 socket/node_modules/lodash/fp/init.js create mode 100644 socket/node_modules/lodash/fp/initial.js create mode 100644 socket/node_modules/lodash/fp/intersection.js create mode 100644 socket/node_modules/lodash/fp/intersectionBy.js create mode 100644 socket/node_modules/lodash/fp/intersectionWith.js create mode 100644 socket/node_modules/lodash/fp/invert.js create mode 100644 socket/node_modules/lodash/fp/invertBy.js create mode 100644 socket/node_modules/lodash/fp/invertObj.js create mode 100644 socket/node_modules/lodash/fp/invoke.js create mode 100644 socket/node_modules/lodash/fp/invokeArgs.js create mode 100644 socket/node_modules/lodash/fp/invokeArgsMap.js create mode 100644 socket/node_modules/lodash/fp/invokeMap.js create mode 100644 socket/node_modules/lodash/fp/isArguments.js create mode 100644 socket/node_modules/lodash/fp/isArray.js create mode 100644 socket/node_modules/lodash/fp/isArrayBuffer.js create mode 100644 socket/node_modules/lodash/fp/isArrayLike.js create mode 100644 socket/node_modules/lodash/fp/isArrayLikeObject.js create mode 100644 socket/node_modules/lodash/fp/isBoolean.js create mode 100644 socket/node_modules/lodash/fp/isBuffer.js create mode 100644 socket/node_modules/lodash/fp/isDate.js create mode 100644 socket/node_modules/lodash/fp/isElement.js create mode 100644 socket/node_modules/lodash/fp/isEmpty.js create mode 100644 socket/node_modules/lodash/fp/isEqual.js create mode 100644 socket/node_modules/lodash/fp/isEqualWith.js create mode 100644 socket/node_modules/lodash/fp/isError.js create mode 100644 socket/node_modules/lodash/fp/isFinite.js create mode 100644 socket/node_modules/lodash/fp/isFunction.js create mode 100644 socket/node_modules/lodash/fp/isInteger.js create mode 100644 socket/node_modules/lodash/fp/isLength.js create mode 100644 socket/node_modules/lodash/fp/isMap.js create mode 100644 socket/node_modules/lodash/fp/isMatch.js create mode 100644 socket/node_modules/lodash/fp/isMatchWith.js create mode 100644 socket/node_modules/lodash/fp/isNaN.js create mode 100644 socket/node_modules/lodash/fp/isNative.js create mode 100644 socket/node_modules/lodash/fp/isNil.js create mode 100644 socket/node_modules/lodash/fp/isNull.js create mode 100644 socket/node_modules/lodash/fp/isNumber.js create mode 100644 socket/node_modules/lodash/fp/isObject.js create mode 100644 socket/node_modules/lodash/fp/isObjectLike.js create mode 100644 socket/node_modules/lodash/fp/isPlainObject.js create mode 100644 socket/node_modules/lodash/fp/isRegExp.js create mode 100644 socket/node_modules/lodash/fp/isSafeInteger.js create mode 100644 socket/node_modules/lodash/fp/isSet.js create mode 100644 socket/node_modules/lodash/fp/isString.js create mode 100644 socket/node_modules/lodash/fp/isSymbol.js create mode 100644 socket/node_modules/lodash/fp/isTypedArray.js create mode 100644 socket/node_modules/lodash/fp/isUndefined.js create mode 100644 socket/node_modules/lodash/fp/isWeakMap.js create mode 100644 socket/node_modules/lodash/fp/isWeakSet.js create mode 100644 socket/node_modules/lodash/fp/iteratee.js create mode 100644 socket/node_modules/lodash/fp/join.js create mode 100644 socket/node_modules/lodash/fp/juxt.js create mode 100644 socket/node_modules/lodash/fp/kebabCase.js create mode 100644 socket/node_modules/lodash/fp/keyBy.js create mode 100644 socket/node_modules/lodash/fp/keys.js create mode 100644 socket/node_modules/lodash/fp/keysIn.js create mode 100644 socket/node_modules/lodash/fp/lang.js create mode 100644 socket/node_modules/lodash/fp/last.js create mode 100644 socket/node_modules/lodash/fp/lastIndexOf.js create mode 100644 socket/node_modules/lodash/fp/lastIndexOfFrom.js create mode 100644 socket/node_modules/lodash/fp/lowerCase.js create mode 100644 socket/node_modules/lodash/fp/lowerFirst.js create mode 100644 socket/node_modules/lodash/fp/lt.js create mode 100644 socket/node_modules/lodash/fp/lte.js create mode 100644 socket/node_modules/lodash/fp/map.js create mode 100644 socket/node_modules/lodash/fp/mapKeys.js create mode 100644 socket/node_modules/lodash/fp/mapValues.js create mode 100644 socket/node_modules/lodash/fp/matches.js create mode 100644 socket/node_modules/lodash/fp/matchesProperty.js create mode 100644 socket/node_modules/lodash/fp/math.js create mode 100644 socket/node_modules/lodash/fp/max.js create mode 100644 socket/node_modules/lodash/fp/maxBy.js create mode 100644 socket/node_modules/lodash/fp/mean.js create mode 100644 socket/node_modules/lodash/fp/meanBy.js create mode 100644 socket/node_modules/lodash/fp/memoize.js create mode 100644 socket/node_modules/lodash/fp/merge.js create mode 100644 socket/node_modules/lodash/fp/mergeAll.js create mode 100644 socket/node_modules/lodash/fp/mergeAllWith.js create mode 100644 socket/node_modules/lodash/fp/mergeWith.js create mode 100644 socket/node_modules/lodash/fp/method.js create mode 100644 socket/node_modules/lodash/fp/methodOf.js create mode 100644 socket/node_modules/lodash/fp/min.js create mode 100644 socket/node_modules/lodash/fp/minBy.js create mode 100644 socket/node_modules/lodash/fp/mixin.js create mode 100644 socket/node_modules/lodash/fp/multiply.js create mode 100644 socket/node_modules/lodash/fp/nAry.js create mode 100644 socket/node_modules/lodash/fp/negate.js create mode 100644 socket/node_modules/lodash/fp/next.js create mode 100644 socket/node_modules/lodash/fp/noop.js create mode 100644 socket/node_modules/lodash/fp/now.js create mode 100644 socket/node_modules/lodash/fp/nth.js create mode 100644 socket/node_modules/lodash/fp/nthArg.js create mode 100644 socket/node_modules/lodash/fp/number.js create mode 100644 socket/node_modules/lodash/fp/object.js create mode 100644 socket/node_modules/lodash/fp/omit.js create mode 100644 socket/node_modules/lodash/fp/omitAll.js create mode 100644 socket/node_modules/lodash/fp/omitBy.js create mode 100644 socket/node_modules/lodash/fp/once.js create mode 100644 socket/node_modules/lodash/fp/orderBy.js create mode 100644 socket/node_modules/lodash/fp/over.js create mode 100644 socket/node_modules/lodash/fp/overArgs.js create mode 100644 socket/node_modules/lodash/fp/overEvery.js create mode 100644 socket/node_modules/lodash/fp/overSome.js create mode 100644 socket/node_modules/lodash/fp/pad.js create mode 100644 socket/node_modules/lodash/fp/padChars.js create mode 100644 socket/node_modules/lodash/fp/padCharsEnd.js create mode 100644 socket/node_modules/lodash/fp/padCharsStart.js create mode 100644 socket/node_modules/lodash/fp/padEnd.js create mode 100644 socket/node_modules/lodash/fp/padStart.js create mode 100644 socket/node_modules/lodash/fp/parseInt.js create mode 100644 socket/node_modules/lodash/fp/partial.js create mode 100644 socket/node_modules/lodash/fp/partialRight.js create mode 100644 socket/node_modules/lodash/fp/partition.js create mode 100644 socket/node_modules/lodash/fp/path.js create mode 100644 socket/node_modules/lodash/fp/pathEq.js create mode 100644 socket/node_modules/lodash/fp/pathOr.js create mode 100644 socket/node_modules/lodash/fp/paths.js create mode 100644 socket/node_modules/lodash/fp/pick.js create mode 100644 socket/node_modules/lodash/fp/pickAll.js create mode 100644 socket/node_modules/lodash/fp/pickBy.js create mode 100644 socket/node_modules/lodash/fp/pipe.js create mode 100644 socket/node_modules/lodash/fp/placeholder.js create mode 100644 socket/node_modules/lodash/fp/plant.js create mode 100644 socket/node_modules/lodash/fp/pluck.js create mode 100644 socket/node_modules/lodash/fp/prop.js create mode 100644 socket/node_modules/lodash/fp/propEq.js create mode 100644 socket/node_modules/lodash/fp/propOr.js create mode 100644 socket/node_modules/lodash/fp/property.js create mode 100644 socket/node_modules/lodash/fp/propertyOf.js create mode 100644 socket/node_modules/lodash/fp/props.js create mode 100644 socket/node_modules/lodash/fp/pull.js create mode 100644 socket/node_modules/lodash/fp/pullAll.js create mode 100644 socket/node_modules/lodash/fp/pullAllBy.js create mode 100644 socket/node_modules/lodash/fp/pullAllWith.js create mode 100644 socket/node_modules/lodash/fp/pullAt.js create mode 100644 socket/node_modules/lodash/fp/random.js create mode 100644 socket/node_modules/lodash/fp/range.js create mode 100644 socket/node_modules/lodash/fp/rangeRight.js create mode 100644 socket/node_modules/lodash/fp/rangeStep.js create mode 100644 socket/node_modules/lodash/fp/rangeStepRight.js create mode 100644 socket/node_modules/lodash/fp/rearg.js create mode 100644 socket/node_modules/lodash/fp/reduce.js create mode 100644 socket/node_modules/lodash/fp/reduceRight.js create mode 100644 socket/node_modules/lodash/fp/reject.js create mode 100644 socket/node_modules/lodash/fp/remove.js create mode 100644 socket/node_modules/lodash/fp/repeat.js create mode 100644 socket/node_modules/lodash/fp/replace.js create mode 100644 socket/node_modules/lodash/fp/rest.js create mode 100644 socket/node_modules/lodash/fp/restFrom.js create mode 100644 socket/node_modules/lodash/fp/result.js create mode 100644 socket/node_modules/lodash/fp/reverse.js create mode 100644 socket/node_modules/lodash/fp/round.js create mode 100644 socket/node_modules/lodash/fp/sample.js create mode 100644 socket/node_modules/lodash/fp/sampleSize.js create mode 100644 socket/node_modules/lodash/fp/seq.js create mode 100644 socket/node_modules/lodash/fp/set.js create mode 100644 socket/node_modules/lodash/fp/setWith.js create mode 100644 socket/node_modules/lodash/fp/shuffle.js create mode 100644 socket/node_modules/lodash/fp/size.js create mode 100644 socket/node_modules/lodash/fp/slice.js create mode 100644 socket/node_modules/lodash/fp/snakeCase.js create mode 100644 socket/node_modules/lodash/fp/some.js create mode 100644 socket/node_modules/lodash/fp/sortBy.js create mode 100644 socket/node_modules/lodash/fp/sortedIndex.js create mode 100644 socket/node_modules/lodash/fp/sortedIndexBy.js create mode 100644 socket/node_modules/lodash/fp/sortedIndexOf.js create mode 100644 socket/node_modules/lodash/fp/sortedLastIndex.js create mode 100644 socket/node_modules/lodash/fp/sortedLastIndexBy.js create mode 100644 socket/node_modules/lodash/fp/sortedLastIndexOf.js create mode 100644 socket/node_modules/lodash/fp/sortedUniq.js create mode 100644 socket/node_modules/lodash/fp/sortedUniqBy.js create mode 100644 socket/node_modules/lodash/fp/split.js create mode 100644 socket/node_modules/lodash/fp/spread.js create mode 100644 socket/node_modules/lodash/fp/spreadFrom.js create mode 100644 socket/node_modules/lodash/fp/startCase.js create mode 100644 socket/node_modules/lodash/fp/startsWith.js create mode 100644 socket/node_modules/lodash/fp/string.js create mode 100644 socket/node_modules/lodash/fp/stubArray.js create mode 100644 socket/node_modules/lodash/fp/stubFalse.js create mode 100644 socket/node_modules/lodash/fp/stubObject.js create mode 100644 socket/node_modules/lodash/fp/stubString.js create mode 100644 socket/node_modules/lodash/fp/stubTrue.js create mode 100644 socket/node_modules/lodash/fp/subtract.js create mode 100644 socket/node_modules/lodash/fp/sum.js create mode 100644 socket/node_modules/lodash/fp/sumBy.js create mode 100644 socket/node_modules/lodash/fp/symmetricDifference.js create mode 100644 socket/node_modules/lodash/fp/symmetricDifferenceBy.js create mode 100644 socket/node_modules/lodash/fp/symmetricDifferenceWith.js create mode 100644 socket/node_modules/lodash/fp/tail.js create mode 100644 socket/node_modules/lodash/fp/take.js create mode 100644 socket/node_modules/lodash/fp/takeLast.js create mode 100644 socket/node_modules/lodash/fp/takeLastWhile.js create mode 100644 socket/node_modules/lodash/fp/takeRight.js create mode 100644 socket/node_modules/lodash/fp/takeRightWhile.js create mode 100644 socket/node_modules/lodash/fp/takeWhile.js create mode 100644 socket/node_modules/lodash/fp/tap.js create mode 100644 socket/node_modules/lodash/fp/template.js create mode 100644 socket/node_modules/lodash/fp/templateSettings.js create mode 100644 socket/node_modules/lodash/fp/throttle.js create mode 100644 socket/node_modules/lodash/fp/thru.js create mode 100644 socket/node_modules/lodash/fp/times.js create mode 100644 socket/node_modules/lodash/fp/toArray.js create mode 100644 socket/node_modules/lodash/fp/toFinite.js create mode 100644 socket/node_modules/lodash/fp/toInteger.js create mode 100644 socket/node_modules/lodash/fp/toIterator.js create mode 100644 socket/node_modules/lodash/fp/toJSON.js create mode 100644 socket/node_modules/lodash/fp/toLength.js create mode 100644 socket/node_modules/lodash/fp/toLower.js create mode 100644 socket/node_modules/lodash/fp/toNumber.js create mode 100644 socket/node_modules/lodash/fp/toPairs.js create mode 100644 socket/node_modules/lodash/fp/toPairsIn.js create mode 100644 socket/node_modules/lodash/fp/toPath.js create mode 100644 socket/node_modules/lodash/fp/toPlainObject.js create mode 100644 socket/node_modules/lodash/fp/toSafeInteger.js create mode 100644 socket/node_modules/lodash/fp/toString.js create mode 100644 socket/node_modules/lodash/fp/toUpper.js create mode 100644 socket/node_modules/lodash/fp/transform.js create mode 100644 socket/node_modules/lodash/fp/trim.js create mode 100644 socket/node_modules/lodash/fp/trimChars.js create mode 100644 socket/node_modules/lodash/fp/trimCharsEnd.js create mode 100644 socket/node_modules/lodash/fp/trimCharsStart.js create mode 100644 socket/node_modules/lodash/fp/trimEnd.js create mode 100644 socket/node_modules/lodash/fp/trimStart.js create mode 100644 socket/node_modules/lodash/fp/truncate.js create mode 100644 socket/node_modules/lodash/fp/unapply.js create mode 100644 socket/node_modules/lodash/fp/unary.js create mode 100644 socket/node_modules/lodash/fp/unescape.js create mode 100644 socket/node_modules/lodash/fp/union.js create mode 100644 socket/node_modules/lodash/fp/unionBy.js create mode 100644 socket/node_modules/lodash/fp/unionWith.js create mode 100644 socket/node_modules/lodash/fp/uniq.js create mode 100644 socket/node_modules/lodash/fp/uniqBy.js create mode 100644 socket/node_modules/lodash/fp/uniqWith.js create mode 100644 socket/node_modules/lodash/fp/uniqueId.js create mode 100644 socket/node_modules/lodash/fp/unnest.js create mode 100644 socket/node_modules/lodash/fp/unset.js create mode 100644 socket/node_modules/lodash/fp/unzip.js create mode 100644 socket/node_modules/lodash/fp/unzipWith.js create mode 100644 socket/node_modules/lodash/fp/update.js create mode 100644 socket/node_modules/lodash/fp/updateWith.js create mode 100644 socket/node_modules/lodash/fp/upperCase.js create mode 100644 socket/node_modules/lodash/fp/upperFirst.js create mode 100644 socket/node_modules/lodash/fp/useWith.js create mode 100644 socket/node_modules/lodash/fp/util.js create mode 100644 socket/node_modules/lodash/fp/value.js create mode 100644 socket/node_modules/lodash/fp/valueOf.js create mode 100644 socket/node_modules/lodash/fp/values.js create mode 100644 socket/node_modules/lodash/fp/valuesIn.js create mode 100644 socket/node_modules/lodash/fp/where.js create mode 100644 socket/node_modules/lodash/fp/whereEq.js create mode 100644 socket/node_modules/lodash/fp/without.js create mode 100644 socket/node_modules/lodash/fp/words.js create mode 100644 socket/node_modules/lodash/fp/wrap.js create mode 100644 socket/node_modules/lodash/fp/wrapperAt.js create mode 100644 socket/node_modules/lodash/fp/wrapperChain.js create mode 100644 socket/node_modules/lodash/fp/wrapperLodash.js create mode 100644 socket/node_modules/lodash/fp/wrapperReverse.js create mode 100644 socket/node_modules/lodash/fp/wrapperValue.js create mode 100644 socket/node_modules/lodash/fp/xor.js create mode 100644 socket/node_modules/lodash/fp/xorBy.js create mode 100644 socket/node_modules/lodash/fp/xorWith.js create mode 100644 socket/node_modules/lodash/fp/zip.js create mode 100644 socket/node_modules/lodash/fp/zipAll.js create mode 100644 socket/node_modules/lodash/fp/zipObj.js create mode 100644 socket/node_modules/lodash/fp/zipObject.js create mode 100644 socket/node_modules/lodash/fp/zipObjectDeep.js create mode 100644 socket/node_modules/lodash/fp/zipWith.js create mode 100644 socket/node_modules/lodash/fromPairs.js create mode 100644 socket/node_modules/lodash/function.js create mode 100644 socket/node_modules/lodash/functions.js create mode 100644 socket/node_modules/lodash/functionsIn.js create mode 100644 socket/node_modules/lodash/get.js create mode 100644 socket/node_modules/lodash/groupBy.js create mode 100644 socket/node_modules/lodash/gt.js create mode 100644 socket/node_modules/lodash/gte.js create mode 100644 socket/node_modules/lodash/has.js create mode 100644 socket/node_modules/lodash/hasIn.js create mode 100644 socket/node_modules/lodash/head.js create mode 100644 socket/node_modules/lodash/identity.js create mode 100644 socket/node_modules/lodash/inRange.js create mode 100644 socket/node_modules/lodash/includes.js create mode 100644 socket/node_modules/lodash/index.js create mode 100644 socket/node_modules/lodash/indexOf.js create mode 100644 socket/node_modules/lodash/initial.js create mode 100644 socket/node_modules/lodash/intersection.js create mode 100644 socket/node_modules/lodash/intersectionBy.js create mode 100644 socket/node_modules/lodash/intersectionWith.js create mode 100644 socket/node_modules/lodash/invert.js create mode 100644 socket/node_modules/lodash/invertBy.js create mode 100644 socket/node_modules/lodash/invoke.js create mode 100644 socket/node_modules/lodash/invokeMap.js create mode 100644 socket/node_modules/lodash/isArguments.js create mode 100644 socket/node_modules/lodash/isArray.js create mode 100644 socket/node_modules/lodash/isArrayBuffer.js create mode 100644 socket/node_modules/lodash/isArrayLike.js create mode 100644 socket/node_modules/lodash/isArrayLikeObject.js create mode 100644 socket/node_modules/lodash/isBoolean.js create mode 100644 socket/node_modules/lodash/isBuffer.js create mode 100644 socket/node_modules/lodash/isDate.js create mode 100644 socket/node_modules/lodash/isElement.js create mode 100644 socket/node_modules/lodash/isEmpty.js create mode 100644 socket/node_modules/lodash/isEqual.js create mode 100644 socket/node_modules/lodash/isEqualWith.js create mode 100644 socket/node_modules/lodash/isError.js create mode 100644 socket/node_modules/lodash/isFinite.js create mode 100644 socket/node_modules/lodash/isFunction.js create mode 100644 socket/node_modules/lodash/isInteger.js create mode 100644 socket/node_modules/lodash/isLength.js create mode 100644 socket/node_modules/lodash/isMap.js create mode 100644 socket/node_modules/lodash/isMatch.js create mode 100644 socket/node_modules/lodash/isMatchWith.js create mode 100644 socket/node_modules/lodash/isNaN.js create mode 100644 socket/node_modules/lodash/isNative.js create mode 100644 socket/node_modules/lodash/isNil.js create mode 100644 socket/node_modules/lodash/isNull.js create mode 100644 socket/node_modules/lodash/isNumber.js create mode 100644 socket/node_modules/lodash/isObject.js create mode 100644 socket/node_modules/lodash/isObjectLike.js create mode 100644 socket/node_modules/lodash/isPlainObject.js create mode 100644 socket/node_modules/lodash/isRegExp.js create mode 100644 socket/node_modules/lodash/isSafeInteger.js create mode 100644 socket/node_modules/lodash/isSet.js create mode 100644 socket/node_modules/lodash/isString.js create mode 100644 socket/node_modules/lodash/isSymbol.js create mode 100644 socket/node_modules/lodash/isTypedArray.js create mode 100644 socket/node_modules/lodash/isUndefined.js create mode 100644 socket/node_modules/lodash/isWeakMap.js create mode 100644 socket/node_modules/lodash/isWeakSet.js create mode 100644 socket/node_modules/lodash/iteratee.js create mode 100644 socket/node_modules/lodash/join.js create mode 100644 socket/node_modules/lodash/kebabCase.js create mode 100644 socket/node_modules/lodash/keyBy.js create mode 100644 socket/node_modules/lodash/keys.js create mode 100644 socket/node_modules/lodash/keysIn.js create mode 100644 socket/node_modules/lodash/lang.js create mode 100644 socket/node_modules/lodash/last.js create mode 100644 socket/node_modules/lodash/lastIndexOf.js create mode 100644 socket/node_modules/lodash/lodash.js create mode 100644 socket/node_modules/lodash/lodash.min.js create mode 100644 socket/node_modules/lodash/lowerCase.js create mode 100644 socket/node_modules/lodash/lowerFirst.js create mode 100644 socket/node_modules/lodash/lt.js create mode 100644 socket/node_modules/lodash/lte.js create mode 100644 socket/node_modules/lodash/map.js create mode 100644 socket/node_modules/lodash/mapKeys.js create mode 100644 socket/node_modules/lodash/mapValues.js create mode 100644 socket/node_modules/lodash/matches.js create mode 100644 socket/node_modules/lodash/matchesProperty.js create mode 100644 socket/node_modules/lodash/math.js create mode 100644 socket/node_modules/lodash/max.js create mode 100644 socket/node_modules/lodash/maxBy.js create mode 100644 socket/node_modules/lodash/mean.js create mode 100644 socket/node_modules/lodash/meanBy.js create mode 100644 socket/node_modules/lodash/memoize.js create mode 100644 socket/node_modules/lodash/merge.js create mode 100644 socket/node_modules/lodash/mergeWith.js create mode 100644 socket/node_modules/lodash/method.js create mode 100644 socket/node_modules/lodash/methodOf.js create mode 100644 socket/node_modules/lodash/min.js create mode 100644 socket/node_modules/lodash/minBy.js create mode 100644 socket/node_modules/lodash/mixin.js create mode 100644 socket/node_modules/lodash/multiply.js create mode 100644 socket/node_modules/lodash/negate.js create mode 100644 socket/node_modules/lodash/next.js create mode 100644 socket/node_modules/lodash/noop.js create mode 100644 socket/node_modules/lodash/now.js create mode 100644 socket/node_modules/lodash/nth.js create mode 100644 socket/node_modules/lodash/nthArg.js create mode 100644 socket/node_modules/lodash/number.js create mode 100644 socket/node_modules/lodash/object.js create mode 100644 socket/node_modules/lodash/omit.js create mode 100644 socket/node_modules/lodash/omitBy.js create mode 100644 socket/node_modules/lodash/once.js create mode 100644 socket/node_modules/lodash/orderBy.js create mode 100644 socket/node_modules/lodash/over.js create mode 100644 socket/node_modules/lodash/overArgs.js create mode 100644 socket/node_modules/lodash/overEvery.js create mode 100644 socket/node_modules/lodash/overSome.js create mode 100644 socket/node_modules/lodash/package.json create mode 100644 socket/node_modules/lodash/pad.js create mode 100644 socket/node_modules/lodash/padEnd.js create mode 100644 socket/node_modules/lodash/padStart.js create mode 100644 socket/node_modules/lodash/parseInt.js create mode 100644 socket/node_modules/lodash/partial.js create mode 100644 socket/node_modules/lodash/partialRight.js create mode 100644 socket/node_modules/lodash/partition.js create mode 100644 socket/node_modules/lodash/pick.js create mode 100644 socket/node_modules/lodash/pickBy.js create mode 100644 socket/node_modules/lodash/plant.js create mode 100644 socket/node_modules/lodash/property.js create mode 100644 socket/node_modules/lodash/propertyOf.js create mode 100644 socket/node_modules/lodash/pull.js create mode 100644 socket/node_modules/lodash/pullAll.js create mode 100644 socket/node_modules/lodash/pullAllBy.js create mode 100644 socket/node_modules/lodash/pullAllWith.js create mode 100644 socket/node_modules/lodash/pullAt.js create mode 100644 socket/node_modules/lodash/random.js create mode 100644 socket/node_modules/lodash/range.js create mode 100644 socket/node_modules/lodash/rangeRight.js create mode 100644 socket/node_modules/lodash/rearg.js create mode 100644 socket/node_modules/lodash/reduce.js create mode 100644 socket/node_modules/lodash/reduceRight.js create mode 100644 socket/node_modules/lodash/reject.js create mode 100644 socket/node_modules/lodash/remove.js create mode 100644 socket/node_modules/lodash/repeat.js create mode 100644 socket/node_modules/lodash/replace.js create mode 100644 socket/node_modules/lodash/rest.js create mode 100644 socket/node_modules/lodash/result.js create mode 100644 socket/node_modules/lodash/reverse.js create mode 100644 socket/node_modules/lodash/round.js create mode 100644 socket/node_modules/lodash/sample.js create mode 100644 socket/node_modules/lodash/sampleSize.js create mode 100644 socket/node_modules/lodash/seq.js create mode 100644 socket/node_modules/lodash/set.js create mode 100644 socket/node_modules/lodash/setWith.js create mode 100644 socket/node_modules/lodash/shuffle.js create mode 100644 socket/node_modules/lodash/size.js create mode 100644 socket/node_modules/lodash/slice.js create mode 100644 socket/node_modules/lodash/snakeCase.js create mode 100644 socket/node_modules/lodash/some.js create mode 100644 socket/node_modules/lodash/sortBy.js create mode 100644 socket/node_modules/lodash/sortedIndex.js create mode 100644 socket/node_modules/lodash/sortedIndexBy.js create mode 100644 socket/node_modules/lodash/sortedIndexOf.js create mode 100644 socket/node_modules/lodash/sortedLastIndex.js create mode 100644 socket/node_modules/lodash/sortedLastIndexBy.js create mode 100644 socket/node_modules/lodash/sortedLastIndexOf.js create mode 100644 socket/node_modules/lodash/sortedUniq.js create mode 100644 socket/node_modules/lodash/sortedUniqBy.js create mode 100644 socket/node_modules/lodash/split.js create mode 100644 socket/node_modules/lodash/spread.js create mode 100644 socket/node_modules/lodash/startCase.js create mode 100644 socket/node_modules/lodash/startsWith.js create mode 100644 socket/node_modules/lodash/string.js create mode 100644 socket/node_modules/lodash/stubArray.js create mode 100644 socket/node_modules/lodash/stubFalse.js create mode 100644 socket/node_modules/lodash/stubObject.js create mode 100644 socket/node_modules/lodash/stubString.js create mode 100644 socket/node_modules/lodash/stubTrue.js create mode 100644 socket/node_modules/lodash/subtract.js create mode 100644 socket/node_modules/lodash/sum.js create mode 100644 socket/node_modules/lodash/sumBy.js create mode 100644 socket/node_modules/lodash/tail.js create mode 100644 socket/node_modules/lodash/take.js create mode 100644 socket/node_modules/lodash/takeRight.js create mode 100644 socket/node_modules/lodash/takeRightWhile.js create mode 100644 socket/node_modules/lodash/takeWhile.js create mode 100644 socket/node_modules/lodash/tap.js create mode 100644 socket/node_modules/lodash/template.js create mode 100644 socket/node_modules/lodash/templateSettings.js create mode 100644 socket/node_modules/lodash/throttle.js create mode 100644 socket/node_modules/lodash/thru.js create mode 100644 socket/node_modules/lodash/times.js create mode 100644 socket/node_modules/lodash/toArray.js create mode 100644 socket/node_modules/lodash/toFinite.js create mode 100644 socket/node_modules/lodash/toInteger.js create mode 100644 socket/node_modules/lodash/toIterator.js create mode 100644 socket/node_modules/lodash/toJSON.js create mode 100644 socket/node_modules/lodash/toLength.js create mode 100644 socket/node_modules/lodash/toLower.js create mode 100644 socket/node_modules/lodash/toNumber.js create mode 100644 socket/node_modules/lodash/toPairs.js create mode 100644 socket/node_modules/lodash/toPairsIn.js create mode 100644 socket/node_modules/lodash/toPath.js create mode 100644 socket/node_modules/lodash/toPlainObject.js create mode 100644 socket/node_modules/lodash/toSafeInteger.js create mode 100644 socket/node_modules/lodash/toString.js create mode 100644 socket/node_modules/lodash/toUpper.js create mode 100644 socket/node_modules/lodash/transform.js create mode 100644 socket/node_modules/lodash/trim.js create mode 100644 socket/node_modules/lodash/trimEnd.js create mode 100644 socket/node_modules/lodash/trimStart.js create mode 100644 socket/node_modules/lodash/truncate.js create mode 100644 socket/node_modules/lodash/unary.js create mode 100644 socket/node_modules/lodash/unescape.js create mode 100644 socket/node_modules/lodash/union.js create mode 100644 socket/node_modules/lodash/unionBy.js create mode 100644 socket/node_modules/lodash/unionWith.js create mode 100644 socket/node_modules/lodash/uniq.js create mode 100644 socket/node_modules/lodash/uniqBy.js create mode 100644 socket/node_modules/lodash/uniqWith.js create mode 100644 socket/node_modules/lodash/uniqueId.js create mode 100644 socket/node_modules/lodash/unset.js create mode 100644 socket/node_modules/lodash/unzip.js create mode 100644 socket/node_modules/lodash/unzipWith.js create mode 100644 socket/node_modules/lodash/update.js create mode 100644 socket/node_modules/lodash/updateWith.js create mode 100644 socket/node_modules/lodash/upperCase.js create mode 100644 socket/node_modules/lodash/upperFirst.js create mode 100644 socket/node_modules/lodash/util.js create mode 100644 socket/node_modules/lodash/value.js create mode 100644 socket/node_modules/lodash/valueOf.js create mode 100644 socket/node_modules/lodash/values.js create mode 100644 socket/node_modules/lodash/valuesIn.js create mode 100644 socket/node_modules/lodash/without.js create mode 100644 socket/node_modules/lodash/words.js create mode 100644 socket/node_modules/lodash/wrap.js create mode 100644 socket/node_modules/lodash/wrapperAt.js create mode 100644 socket/node_modules/lodash/wrapperChain.js create mode 100644 socket/node_modules/lodash/wrapperLodash.js create mode 100644 socket/node_modules/lodash/wrapperReverse.js create mode 100644 socket/node_modules/lodash/wrapperValue.js create mode 100644 socket/node_modules/lodash/xor.js create mode 100644 socket/node_modules/lodash/xorBy.js create mode 100644 socket/node_modules/lodash/xorWith.js create mode 100644 socket/node_modules/lodash/zip.js create mode 100644 socket/node_modules/lodash/zipObject.js create mode 100644 socket/node_modules/lodash/zipObjectDeep.js create mode 100644 socket/node_modules/lodash/zipWith.js create mode 100644 socket/node_modules/loose-envify/.npmignore create mode 100644 socket/node_modules/loose-envify/LICENSE create mode 100644 socket/node_modules/loose-envify/README.md create mode 100755 socket/node_modules/loose-envify/cli.js create mode 100644 socket/node_modules/loose-envify/custom.js create mode 100644 socket/node_modules/loose-envify/index.js create mode 100644 socket/node_modules/loose-envify/loose-envify.js create mode 100644 socket/node_modules/loose-envify/package.json create mode 100644 socket/node_modules/loose-envify/replace.js create mode 100644 socket/node_modules/media-typer/HISTORY.md create mode 100644 socket/node_modules/media-typer/LICENSE create mode 100644 socket/node_modules/media-typer/README.md create mode 100644 socket/node_modules/media-typer/index.js create mode 100644 socket/node_modules/media-typer/package.json create mode 100644 socket/node_modules/merge-descriptors/.npmignore create mode 100644 socket/node_modules/merge-descriptors/README.md create mode 100644 socket/node_modules/merge-descriptors/component.json create mode 100644 socket/node_modules/merge-descriptors/index.js create mode 100644 socket/node_modules/merge-descriptors/package.json create mode 100644 socket/node_modules/methods/.npmignore create mode 100644 socket/node_modules/methods/History.md create mode 100644 socket/node_modules/methods/LICENSE create mode 100644 socket/node_modules/methods/Readme.md create mode 100644 socket/node_modules/methods/index.js create mode 100644 socket/node_modules/methods/package.json create mode 100644 socket/node_modules/methods/test/methods.js create mode 100644 socket/node_modules/mime-db/HISTORY.md create mode 100644 socket/node_modules/mime-db/LICENSE create mode 100644 socket/node_modules/mime-db/README.md create mode 100644 socket/node_modules/mime-db/db.json create mode 100644 socket/node_modules/mime-db/index.js create mode 100644 socket/node_modules/mime-db/package.json create mode 100644 socket/node_modules/mime-types/HISTORY.md create mode 100644 socket/node_modules/mime-types/LICENSE create mode 100644 socket/node_modules/mime-types/README.md create mode 100644 socket/node_modules/mime-types/index.js create mode 100644 socket/node_modules/mime-types/package.json create mode 100644 socket/node_modules/mime/LICENSE create mode 100644 socket/node_modules/mime/README.md create mode 100644 socket/node_modules/mime/mime.js create mode 100644 socket/node_modules/mime/package.json create mode 100644 socket/node_modules/mime/test.js create mode 100644 socket/node_modules/mime/types/mime.types create mode 100644 socket/node_modules/mime/types/node.types create mode 100644 socket/node_modules/mobx/CHANGELOG.md create mode 100644 socket/node_modules/mobx/LICENSE create mode 100644 socket/node_modules/mobx/README.md create mode 100644 socket/node_modules/mobx/bower.json create mode 100644 socket/node_modules/mobx/lib/api/action.d.ts create mode 100644 socket/node_modules/mobx/lib/api/autorun.d.ts create mode 100644 socket/node_modules/mobx/lib/api/computed.d.ts create mode 100644 socket/node_modules/mobx/lib/api/createtransformer.d.ts create mode 100644 socket/node_modules/mobx/lib/api/expr.d.ts create mode 100644 socket/node_modules/mobx/lib/api/extendobservable.d.ts create mode 100644 socket/node_modules/mobx/lib/api/extras.d.ts create mode 100644 socket/node_modules/mobx/lib/api/intercept-read.d.ts create mode 100644 socket/node_modules/mobx/lib/api/intercept.d.ts create mode 100644 socket/node_modules/mobx/lib/api/iscomputed.d.ts create mode 100644 socket/node_modules/mobx/lib/api/isobservable.d.ts create mode 100644 socket/node_modules/mobx/lib/api/observable.d.ts create mode 100644 socket/node_modules/mobx/lib/api/observabledecorator.d.ts create mode 100644 socket/node_modules/mobx/lib/api/observe.d.ts create mode 100644 socket/node_modules/mobx/lib/api/tojs.d.ts create mode 100644 socket/node_modules/mobx/lib/api/transaction.d.ts create mode 100644 socket/node_modules/mobx/lib/api/whyrun.d.ts create mode 100644 socket/node_modules/mobx/lib/core/action.d.ts create mode 100644 socket/node_modules/mobx/lib/core/atom.d.ts create mode 100644 socket/node_modules/mobx/lib/core/computedvalue.d.ts create mode 100644 socket/node_modules/mobx/lib/core/derivation.d.ts create mode 100644 socket/node_modules/mobx/lib/core/globalstate.d.ts create mode 100644 socket/node_modules/mobx/lib/core/observable.d.ts create mode 100644 socket/node_modules/mobx/lib/core/reaction.d.ts create mode 100644 socket/node_modules/mobx/lib/core/spy.d.ts create mode 100644 socket/node_modules/mobx/lib/mobx.d.ts create mode 100644 socket/node_modules/mobx/lib/mobx.js create mode 100644 socket/node_modules/mobx/lib/mobx.js.flow create mode 100644 socket/node_modules/mobx/lib/mobx.min.js create mode 100644 socket/node_modules/mobx/lib/mobx.min.js.map create mode 100644 socket/node_modules/mobx/lib/mobx.module.js create mode 100644 socket/node_modules/mobx/lib/mobx.umd.js create mode 100644 socket/node_modules/mobx/lib/mobx.umd.min.js create mode 100644 socket/node_modules/mobx/lib/mobx.umd.min.js.map create mode 100644 socket/node_modules/mobx/lib/types/comparer.d.ts create mode 100644 socket/node_modules/mobx/lib/types/intercept-utils.d.ts create mode 100644 socket/node_modules/mobx/lib/types/listen-utils.d.ts create mode 100644 socket/node_modules/mobx/lib/types/modifiers-old.d.ts create mode 100644 socket/node_modules/mobx/lib/types/modifiers.d.ts create mode 100644 socket/node_modules/mobx/lib/types/observablearray.d.ts create mode 100644 socket/node_modules/mobx/lib/types/observablemap.d.ts create mode 100644 socket/node_modules/mobx/lib/types/observableobject.d.ts create mode 100644 socket/node_modules/mobx/lib/types/observablevalue.d.ts create mode 100644 socket/node_modules/mobx/lib/types/type-utils.d.ts create mode 100644 socket/node_modules/mobx/lib/utils/decorators.d.ts create mode 100644 socket/node_modules/mobx/lib/utils/iterable.d.ts create mode 100644 socket/node_modules/mobx/lib/utils/messages.d.ts create mode 100644 socket/node_modules/mobx/lib/utils/utils.d.ts create mode 100644 socket/node_modules/mobx/package.json create mode 100644 socket/node_modules/moment/CHANGELOG.md create mode 100644 socket/node_modules/moment/LICENSE create mode 100644 socket/node_modules/moment/README.md create mode 100644 socket/node_modules/moment/ender.js create mode 100644 socket/node_modules/moment/locale/af.js create mode 100644 socket/node_modules/moment/locale/ar-ma.js create mode 100644 socket/node_modules/moment/locale/ar-sa.js create mode 100644 socket/node_modules/moment/locale/ar-tn.js create mode 100644 socket/node_modules/moment/locale/ar.js create mode 100644 socket/node_modules/moment/locale/az.js create mode 100644 socket/node_modules/moment/locale/be.js create mode 100644 socket/node_modules/moment/locale/bg.js create mode 100644 socket/node_modules/moment/locale/bn.js create mode 100644 socket/node_modules/moment/locale/bo.js create mode 100644 socket/node_modules/moment/locale/br.js create mode 100644 socket/node_modules/moment/locale/bs.js create mode 100644 socket/node_modules/moment/locale/ca.js create mode 100644 socket/node_modules/moment/locale/cs.js create mode 100644 socket/node_modules/moment/locale/cv.js create mode 100644 socket/node_modules/moment/locale/cy.js create mode 100644 socket/node_modules/moment/locale/da.js create mode 100644 socket/node_modules/moment/locale/de-at.js create mode 100644 socket/node_modules/moment/locale/de.js create mode 100644 socket/node_modules/moment/locale/dv.js create mode 100644 socket/node_modules/moment/locale/el.js create mode 100644 socket/node_modules/moment/locale/en-au.js create mode 100644 socket/node_modules/moment/locale/en-ca.js create mode 100644 socket/node_modules/moment/locale/en-gb.js create mode 100644 socket/node_modules/moment/locale/en-ie.js create mode 100644 socket/node_modules/moment/locale/en-nz.js create mode 100644 socket/node_modules/moment/locale/eo.js create mode 100644 socket/node_modules/moment/locale/es.js create mode 100644 socket/node_modules/moment/locale/et.js create mode 100644 socket/node_modules/moment/locale/eu.js create mode 100644 socket/node_modules/moment/locale/fa.js create mode 100644 socket/node_modules/moment/locale/fi.js create mode 100644 socket/node_modules/moment/locale/fo.js create mode 100644 socket/node_modules/moment/locale/fr-ca.js create mode 100644 socket/node_modules/moment/locale/fr-ch.js create mode 100644 socket/node_modules/moment/locale/fr.js create mode 100644 socket/node_modules/moment/locale/fy.js create mode 100644 socket/node_modules/moment/locale/gd.js create mode 100644 socket/node_modules/moment/locale/gl.js create mode 100644 socket/node_modules/moment/locale/he.js create mode 100644 socket/node_modules/moment/locale/hi.js create mode 100644 socket/node_modules/moment/locale/hr.js create mode 100644 socket/node_modules/moment/locale/hu.js create mode 100644 socket/node_modules/moment/locale/hy-am.js create mode 100644 socket/node_modules/moment/locale/id.js create mode 100644 socket/node_modules/moment/locale/is.js create mode 100644 socket/node_modules/moment/locale/it.js create mode 100644 socket/node_modules/moment/locale/ja.js create mode 100644 socket/node_modules/moment/locale/jv.js create mode 100644 socket/node_modules/moment/locale/ka.js create mode 100644 socket/node_modules/moment/locale/kk.js create mode 100644 socket/node_modules/moment/locale/km.js create mode 100644 socket/node_modules/moment/locale/ko.js create mode 100644 socket/node_modules/moment/locale/lb.js create mode 100644 socket/node_modules/moment/locale/lo.js create mode 100644 socket/node_modules/moment/locale/lt.js create mode 100644 socket/node_modules/moment/locale/lv.js create mode 100644 socket/node_modules/moment/locale/me.js create mode 100644 socket/node_modules/moment/locale/mk.js create mode 100644 socket/node_modules/moment/locale/ml.js create mode 100644 socket/node_modules/moment/locale/mr.js create mode 100644 socket/node_modules/moment/locale/ms-my.js create mode 100644 socket/node_modules/moment/locale/ms.js create mode 100644 socket/node_modules/moment/locale/my.js create mode 100644 socket/node_modules/moment/locale/nb.js create mode 100644 socket/node_modules/moment/locale/ne.js create mode 100644 socket/node_modules/moment/locale/nl.js create mode 100644 socket/node_modules/moment/locale/nn.js create mode 100644 socket/node_modules/moment/locale/pl.js create mode 100644 socket/node_modules/moment/locale/pt-br.js create mode 100644 socket/node_modules/moment/locale/pt.js create mode 100644 socket/node_modules/moment/locale/ro.js create mode 100644 socket/node_modules/moment/locale/ru.js create mode 100644 socket/node_modules/moment/locale/se.js create mode 100644 socket/node_modules/moment/locale/si.js create mode 100644 socket/node_modules/moment/locale/sk.js create mode 100644 socket/node_modules/moment/locale/sl.js create mode 100644 socket/node_modules/moment/locale/sq.js create mode 100644 socket/node_modules/moment/locale/sr-cyrl.js create mode 100644 socket/node_modules/moment/locale/sr.js create mode 100644 socket/node_modules/moment/locale/sv.js create mode 100644 socket/node_modules/moment/locale/sw.js create mode 100644 socket/node_modules/moment/locale/ta.js create mode 100644 socket/node_modules/moment/locale/te.js create mode 100644 socket/node_modules/moment/locale/th.js create mode 100644 socket/node_modules/moment/locale/tl-ph.js create mode 100644 socket/node_modules/moment/locale/tlh.js create mode 100644 socket/node_modules/moment/locale/tr.js create mode 100644 socket/node_modules/moment/locale/tzl.js create mode 100644 socket/node_modules/moment/locale/tzm-latn.js create mode 100644 socket/node_modules/moment/locale/tzm.js create mode 100644 socket/node_modules/moment/locale/uk.js create mode 100644 socket/node_modules/moment/locale/uz.js create mode 100644 socket/node_modules/moment/locale/vi.js create mode 100644 socket/node_modules/moment/locale/zh-cn.js create mode 100644 socket/node_modules/moment/locale/zh-tw.js create mode 100644 socket/node_modules/moment/min/locales.js create mode 100644 socket/node_modules/moment/min/locales.min.js create mode 100644 socket/node_modules/moment/min/moment-with-locales.js create mode 100644 socket/node_modules/moment/min/moment-with-locales.min.js create mode 100644 socket/node_modules/moment/min/moment.min.js create mode 100644 socket/node_modules/moment/min/tests.js create mode 100644 socket/node_modules/moment/moment.js create mode 100644 socket/node_modules/moment/package.js create mode 100644 socket/node_modules/moment/package.json create mode 100644 socket/node_modules/ms/index.js create mode 100644 socket/node_modules/ms/license.md create mode 100644 socket/node_modules/ms/package.json create mode 100644 socket/node_modules/ms/readme.md create mode 100644 socket/node_modules/negotiator/LICENSE create mode 100644 socket/node_modules/negotiator/README.md create mode 100644 socket/node_modules/negotiator/lib/charset.js create mode 100644 socket/node_modules/negotiator/lib/encoding.js create mode 100644 socket/node_modules/negotiator/lib/language.js create mode 100644 socket/node_modules/negotiator/lib/mediaType.js create mode 100644 socket/node_modules/negotiator/lib/negotiator.js create mode 100644 socket/node_modules/negotiator/package.json create mode 100644 socket/node_modules/node-fetch/.npmignore create mode 100644 socket/node_modules/node-fetch/.travis.yml create mode 100644 socket/node_modules/node-fetch/CHANGELOG.md create mode 100644 socket/node_modules/node-fetch/ERROR-HANDLING.md create mode 100644 socket/node_modules/node-fetch/LICENSE.md create mode 100644 socket/node_modules/node-fetch/LIMITS.md create mode 100644 socket/node_modules/node-fetch/README.md create mode 100644 socket/node_modules/node-fetch/index.js create mode 100644 socket/node_modules/node-fetch/lib/body.js create mode 100644 socket/node_modules/node-fetch/lib/fetch-error.js create mode 100644 socket/node_modules/node-fetch/lib/headers.js create mode 100644 socket/node_modules/node-fetch/lib/index.js create mode 100644 socket/node_modules/node-fetch/lib/request.js create mode 100644 socket/node_modules/node-fetch/lib/response.js create mode 100644 socket/node_modules/node-fetch/package.json create mode 100644 socket/node_modules/node-fetch/test/dummy.txt create mode 100644 socket/node_modules/node-fetch/test/server.js create mode 100644 socket/node_modules/node-fetch/test/test.js create mode 100644 socket/node_modules/object-assign/index.js create mode 100644 socket/node_modules/object-assign/license create mode 100644 socket/node_modules/object-assign/package.json create mode 100644 socket/node_modules/object-assign/readme.md create mode 100644 socket/node_modules/object-component/.npmignore create mode 100644 socket/node_modules/object-component/History.md create mode 100644 socket/node_modules/object-component/Makefile create mode 100644 socket/node_modules/object-component/Readme.md create mode 100644 socket/node_modules/object-component/component.json create mode 100644 socket/node_modules/object-component/index.js create mode 100644 socket/node_modules/object-component/package.json create mode 100644 socket/node_modules/object-component/test/object.js create mode 100644 socket/node_modules/on-finished/HISTORY.md create mode 100644 socket/node_modules/on-finished/LICENSE create mode 100644 socket/node_modules/on-finished/README.md create mode 100644 socket/node_modules/on-finished/index.js create mode 100644 socket/node_modules/on-finished/package.json create mode 100644 socket/node_modules/parseqs/.npmignore create mode 100644 socket/node_modules/parseqs/LICENSE create mode 100644 socket/node_modules/parseqs/Makefile create mode 100644 socket/node_modules/parseqs/README.md create mode 100644 socket/node_modules/parseqs/index.js create mode 100644 socket/node_modules/parseqs/package.json create mode 100644 socket/node_modules/parseqs/test.js create mode 100644 socket/node_modules/parseuri/.npmignore create mode 100644 socket/node_modules/parseuri/History.md create mode 100644 socket/node_modules/parseuri/LICENSE create mode 100644 socket/node_modules/parseuri/Makefile create mode 100644 socket/node_modules/parseuri/README.md create mode 100644 socket/node_modules/parseuri/index.js create mode 100644 socket/node_modules/parseuri/package.json create mode 100644 socket/node_modules/parseuri/test.js create mode 100644 socket/node_modules/parseurl/HISTORY.md create mode 100644 socket/node_modules/parseurl/LICENSE create mode 100644 socket/node_modules/parseurl/README.md create mode 100644 socket/node_modules/parseurl/index.js create mode 100644 socket/node_modules/parseurl/package.json create mode 100644 socket/node_modules/path-to-regexp/.npmignore create mode 100644 socket/node_modules/path-to-regexp/History.md create mode 100644 socket/node_modules/path-to-regexp/Readme.md create mode 100644 socket/node_modules/path-to-regexp/component.json create mode 100644 socket/node_modules/path-to-regexp/index.js create mode 100644 socket/node_modules/path-to-regexp/package.json create mode 100644 socket/node_modules/path-to-regexp/test.js create mode 100644 socket/node_modules/pillarjs/README.md create mode 100644 socket/node_modules/pillarjs/_book/1_LIFECYCLE_METHODS.html create mode 100644 socket/node_modules/pillarjs/_book/2_STRING_RENDER.html create mode 100644 socket/node_modules/pillarjs/_book/3_TEMPLATE_RENDER.html create mode 100644 socket/node_modules/pillarjs/_book/4_HANDLING_INPUT.html create mode 100644 socket/node_modules/pillarjs/_book/5_FLAGS.html create mode 100644 socket/node_modules/pillarjs/_book/6_SHADOW_DOM.html create mode 100644 socket/node_modules/pillarjs/_book/7_DEVTOOLS.html create mode 100644 socket/node_modules/pillarjs/_book/gitbook/fonts/fontawesome/FontAwesome.otf create mode 100644 socket/node_modules/pillarjs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.eot create mode 100644 socket/node_modules/pillarjs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.svg create mode 100644 socket/node_modules/pillarjs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.ttf create mode 100644 socket/node_modules/pillarjs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.woff create mode 100644 socket/node_modules/pillarjs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 create mode 100644 socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-fontsettings/fontsettings.js create mode 100644 socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-fontsettings/website.css create mode 100644 socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-highlight/ebook.css create mode 100644 socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-highlight/website.css create mode 100644 socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-lunr/lunr.min.js create mode 100644 socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-lunr/search-lunr.js create mode 100644 socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-search/lunr.min.js create mode 100644 socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-search/search-engine.js create mode 100644 socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-search/search.css create mode 100644 socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-search/search.js create mode 100644 socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-sharing/buttons.js create mode 100644 socket/node_modules/pillarjs/_book/gitbook/gitbook.js create mode 100644 socket/node_modules/pillarjs/_book/gitbook/images/apple-touch-icon-precomposed-152.png create mode 100644 socket/node_modules/pillarjs/_book/gitbook/images/favicon.ico create mode 100644 socket/node_modules/pillarjs/_book/gitbook/style.css create mode 100644 socket/node_modules/pillarjs/_book/gitbook/theme.js create mode 100644 socket/node_modules/pillarjs/_book/img/devtools.png create mode 100644 socket/node_modules/pillarjs/_book/index.html create mode 100644 socket/node_modules/pillarjs/_book/search_index.json create mode 100644 socket/node_modules/pillarjs/book.json create mode 100644 socket/node_modules/pillarjs/dist/index.js create mode 100644 socket/node_modules/pillarjs/docs/1_LIFECYCLE_METHODS.md create mode 100644 socket/node_modules/pillarjs/docs/2_STRING_RENDER.md create mode 100644 socket/node_modules/pillarjs/docs/3_TEMPLATE_RENDER.md create mode 100644 socket/node_modules/pillarjs/docs/4_HANDLING_INPUT.md create mode 100644 socket/node_modules/pillarjs/docs/5_FLAGS.md create mode 100644 socket/node_modules/pillarjs/docs/6_SHADOW_DOM.md create mode 100644 socket/node_modules/pillarjs/docs/7_DEVTOOLS.md create mode 100644 socket/node_modules/pillarjs/docs/README.md create mode 100644 socket/node_modules/pillarjs/docs/SUMMARY.md create mode 100644 socket/node_modules/pillarjs/docs/img/devtools.png create mode 100644 socket/node_modules/pillarjs/index.html create mode 100644 socket/node_modules/pillarjs/package.json create mode 100644 socket/node_modules/pillarjs/rollup.config.js create mode 100644 socket/node_modules/preact-markup/.editorconfig create mode 100644 socket/node_modules/preact-markup/.eslintignore create mode 100644 socket/node_modules/preact-markup/.npmignore create mode 100644 socket/node_modules/preact-markup/.travis.yml create mode 100644 socket/node_modules/preact-markup/LICENSE create mode 100644 socket/node_modules/preact-markup/README.md create mode 100644 socket/node_modules/preact-markup/dist/preact-markup.js create mode 100644 socket/node_modules/preact-markup/dist/preact-markup.js.map create mode 100644 socket/node_modules/preact-markup/dist/preact-markup.min.js create mode 100644 socket/node_modules/preact-markup/dist/preact-markup.min.js.map create mode 100644 socket/node_modules/preact-markup/karma.conf.js create mode 100644 socket/node_modules/preact-markup/package.json create mode 100644 socket/node_modules/preact-markup/rollup.config.js create mode 100644 socket/node_modules/preact-markup/src/index.js create mode 100644 socket/node_modules/preact-markup/src/markup-to-vdom.js create mode 100644 socket/node_modules/preact-markup/src/parse-markup.js create mode 100644 socket/node_modules/preact-markup/src/to-vdom.js create mode 100644 socket/node_modules/preact-markup/test/_setup.js create mode 100644 socket/node_modules/preact-markup/test/index.js create mode 100644 socket/node_modules/preact-redux/LICENSE create mode 100644 socket/node_modules/preact-redux/README.md create mode 100644 socket/node_modules/preact-redux/dist/preact-redux.esm.js create mode 100644 socket/node_modules/preact-redux/dist/preact-redux.esm.js.map create mode 100644 socket/node_modules/preact-redux/dist/preact-redux.js create mode 100644 socket/node_modules/preact-redux/dist/preact-redux.js.map create mode 100644 socket/node_modules/preact-redux/dist/preact-redux.min.js create mode 100644 socket/node_modules/preact-redux/dist/preact-redux.min.js.map create mode 100644 socket/node_modules/preact-redux/package.json create mode 100644 socket/node_modules/preact-redux/src/compat.js create mode 100644 socket/node_modules/preact-redux/src/empty.js create mode 100644 socket/node_modules/preact-redux/src/index.js create mode 100644 socket/node_modules/preact-redux/src/preact-redux.d.ts create mode 100644 socket/node_modules/preact-redux/src/prop-types.js create mode 100644 socket/node_modules/preact-render-to-string/.babelrc create mode 100644 socket/node_modules/preact-render-to-string/.eslintrc create mode 100644 socket/node_modules/preact-render-to-string/.npmignore create mode 100644 socket/node_modules/preact-render-to-string/.travis.yml create mode 100644 socket/node_modules/preact-render-to-string/LICENSE create mode 100644 socket/node_modules/preact-render-to-string/README.md create mode 100644 socket/node_modules/preact-render-to-string/dist/index.d.ts create mode 100644 socket/node_modules/preact-render-to-string/dist/index.js create mode 100644 socket/node_modules/preact-render-to-string/dist/index.js.map create mode 100644 socket/node_modules/preact-render-to-string/dist/jsx.js create mode 100644 socket/node_modules/preact-render-to-string/dist/jsx.js.map create mode 100644 socket/node_modules/preact-render-to-string/jsx.js create mode 100644 socket/node_modules/preact-render-to-string/package.json create mode 100644 socket/node_modules/preact-render-to-string/rollup.config.js create mode 100644 socket/node_modules/preact-render-to-string/src/index.d.ts create mode 100644 socket/node_modules/preact-render-to-string/src/index.js create mode 100644 socket/node_modules/preact-render-to-string/src/jsx.js create mode 100644 socket/node_modules/preact-render-to-string/src/polyfills.js create mode 100644 socket/node_modules/preact-render-to-string/src/util.js create mode 100644 socket/node_modules/preact-render-to-string/test/index.js create mode 100644 socket/node_modules/preact-render-to-string/test/jsx.js create mode 100644 socket/node_modules/preact-render-to-string/test/pretty.js create mode 100644 socket/node_modules/preact-render-to-string/test/render.js create mode 100644 socket/node_modules/preact-render-to-string/test/shallowRender.js create mode 100644 socket/node_modules/preact-render-to-string/typings.json create mode 100644 socket/node_modules/preact/LICENSE create mode 100644 socket/node_modules/preact/README.md create mode 100644 socket/node_modules/preact/debug.js create mode 100644 socket/node_modules/preact/debug.js.map create mode 100644 socket/node_modules/preact/debug/index.js create mode 100644 socket/node_modules/preact/devtools.js create mode 100644 socket/node_modules/preact/devtools.js.map create mode 100644 socket/node_modules/preact/devtools/devtools.js create mode 100644 socket/node_modules/preact/devtools/index.js create mode 100644 socket/node_modules/preact/dist/preact.d.ts create mode 100644 socket/node_modules/preact/dist/preact.dev.js create mode 100644 socket/node_modules/preact/dist/preact.dev.js.map create mode 100644 socket/node_modules/preact/dist/preact.esm.js create mode 100644 socket/node_modules/preact/dist/preact.esm.js.map create mode 100644 socket/node_modules/preact/dist/preact.js create mode 100644 socket/node_modules/preact/dist/preact.js.flow create mode 100644 socket/node_modules/preact/dist/preact.js.map create mode 100644 socket/node_modules/preact/dist/preact.min.js create mode 100644 socket/node_modules/preact/dist/preact.min.js.map create mode 100644 socket/node_modules/preact/package.json create mode 100644 socket/node_modules/preact/src/clone-element.js create mode 100644 socket/node_modules/preact/src/component.js create mode 100644 socket/node_modules/preact/src/constants.js create mode 100644 socket/node_modules/preact/src/dom/index.js create mode 100644 socket/node_modules/preact/src/h.js create mode 100644 socket/node_modules/preact/src/options.js create mode 100644 socket/node_modules/preact/src/preact.d.ts create mode 100644 socket/node_modules/preact/src/preact.js create mode 100644 socket/node_modules/preact/src/preact.js.flow create mode 100644 socket/node_modules/preact/src/render-queue.js create mode 100644 socket/node_modules/preact/src/render.js create mode 100644 socket/node_modules/preact/src/util.js create mode 100644 socket/node_modules/preact/src/vdom/component-recycler.js create mode 100644 socket/node_modules/preact/src/vdom/component.js create mode 100644 socket/node_modules/preact/src/vdom/diff.js create mode 100644 socket/node_modules/preact/src/vdom/index.js create mode 100644 socket/node_modules/preact/src/vnode.js create mode 100644 socket/node_modules/preact/typings.json create mode 100644 socket/node_modules/pretty-format/.npmignore create mode 100755 socket/node_modules/pretty-format/LICENSE.md create mode 100755 socket/node_modules/pretty-format/README.md create mode 100644 socket/node_modules/pretty-format/index.js create mode 100644 socket/node_modules/pretty-format/package.json create mode 100644 socket/node_modules/pretty-format/plugins/ReactElement.js create mode 100644 socket/node_modules/pretty-format/plugins/ReactTestComponent.js create mode 100644 socket/node_modules/pretty-format/printString.js create mode 100644 socket/node_modules/promise/.jshintrc create mode 100644 socket/node_modules/promise/.npmignore create mode 100644 socket/node_modules/promise/LICENSE create mode 100644 socket/node_modules/promise/Readme.md create mode 100644 socket/node_modules/promise/build.js create mode 100644 socket/node_modules/promise/core.js create mode 100644 socket/node_modules/promise/domains/core.js create mode 100644 socket/node_modules/promise/domains/done.js create mode 100644 socket/node_modules/promise/domains/es6-extensions.js create mode 100644 socket/node_modules/promise/domains/finally.js create mode 100644 socket/node_modules/promise/domains/index.js create mode 100644 socket/node_modules/promise/domains/node-extensions.js create mode 100644 socket/node_modules/promise/domains/rejection-tracking.js create mode 100644 socket/node_modules/promise/domains/synchronous.js create mode 100644 socket/node_modules/promise/index.d.ts create mode 100644 socket/node_modules/promise/index.js create mode 100644 socket/node_modules/promise/lib/core.js create mode 100644 socket/node_modules/promise/lib/done.js create mode 100644 socket/node_modules/promise/lib/es6-extensions.js create mode 100644 socket/node_modules/promise/lib/finally.js create mode 100644 socket/node_modules/promise/lib/index.js create mode 100644 socket/node_modules/promise/lib/node-extensions.js create mode 100644 socket/node_modules/promise/lib/rejection-tracking.js create mode 100644 socket/node_modules/promise/lib/synchronous.js create mode 100644 socket/node_modules/promise/package.json create mode 100644 socket/node_modules/promise/polyfill-done.js create mode 100644 socket/node_modules/promise/polyfill.js create mode 100644 socket/node_modules/promise/setimmediate/core.js create mode 100644 socket/node_modules/promise/setimmediate/done.js create mode 100644 socket/node_modules/promise/setimmediate/es6-extensions.js create mode 100644 socket/node_modules/promise/setimmediate/finally.js create mode 100644 socket/node_modules/promise/setimmediate/index.js create mode 100644 socket/node_modules/promise/setimmediate/node-extensions.js create mode 100644 socket/node_modules/promise/setimmediate/rejection-tracking.js create mode 100644 socket/node_modules/promise/setimmediate/synchronous.js create mode 100644 socket/node_modules/promise/src/core.js create mode 100644 socket/node_modules/promise/src/done.js create mode 100644 socket/node_modules/promise/src/es6-extensions.js create mode 100644 socket/node_modules/promise/src/finally.js create mode 100644 socket/node_modules/promise/src/index.js create mode 100644 socket/node_modules/promise/src/node-extensions.js create mode 100644 socket/node_modules/promise/src/rejection-tracking.js create mode 100644 socket/node_modules/promise/src/synchronous.js create mode 100644 socket/node_modules/proxy-addr/HISTORY.md create mode 100644 socket/node_modules/proxy-addr/LICENSE create mode 100644 socket/node_modules/proxy-addr/README.md create mode 100644 socket/node_modules/proxy-addr/index.js create mode 100644 socket/node_modules/proxy-addr/package.json create mode 100644 socket/node_modules/q/CHANGES.md create mode 100644 socket/node_modules/q/LICENSE create mode 100644 socket/node_modules/q/README.md create mode 100644 socket/node_modules/q/package.json create mode 100644 socket/node_modules/q/q.js create mode 100644 socket/node_modules/q/queue.js create mode 100644 socket/node_modules/qs/.jshintignore create mode 100644 socket/node_modules/qs/.jshintrc create mode 100644 socket/node_modules/qs/.npmignore create mode 100644 socket/node_modules/qs/.travis.yml create mode 100644 socket/node_modules/qs/CHANGELOG.md create mode 100644 socket/node_modules/qs/CONTRIBUTING.md create mode 100755 socket/node_modules/qs/LICENSE create mode 100644 socket/node_modules/qs/Makefile create mode 100755 socket/node_modules/qs/README.md create mode 100644 socket/node_modules/qs/index.js create mode 100755 socket/node_modules/qs/lib/index.js create mode 100755 socket/node_modules/qs/lib/parse.js create mode 100755 socket/node_modules/qs/lib/stringify.js create mode 100755 socket/node_modules/qs/lib/utils.js create mode 100755 socket/node_modules/qs/package.json create mode 100755 socket/node_modules/qs/test/parse.js create mode 100755 socket/node_modules/qs/test/stringify.js create mode 100644 socket/node_modules/range-parser/HISTORY.md create mode 100644 socket/node_modules/range-parser/LICENSE create mode 100644 socket/node_modules/range-parser/README.md create mode 100644 socket/node_modules/range-parser/index.js create mode 100644 socket/node_modules/range-parser/package.json create mode 100644 socket/node_modules/redux/CHANGELOG.md create mode 100644 socket/node_modules/redux/LICENSE.md create mode 100644 socket/node_modules/redux/README.md create mode 100644 socket/node_modules/redux/dist/redux.js create mode 100644 socket/node_modules/redux/dist/redux.min.js create mode 100644 socket/node_modules/redux/es/applyMiddleware.js create mode 100644 socket/node_modules/redux/es/bindActionCreators.js create mode 100644 socket/node_modules/redux/es/combineReducers.js create mode 100644 socket/node_modules/redux/es/compose.js create mode 100644 socket/node_modules/redux/es/createStore.js create mode 100644 socket/node_modules/redux/es/index.js create mode 100644 socket/node_modules/redux/es/utils/warning.js create mode 100644 socket/node_modules/redux/index.d.ts create mode 100644 socket/node_modules/redux/lib/applyMiddleware.js create mode 100644 socket/node_modules/redux/lib/bindActionCreators.js create mode 100644 socket/node_modules/redux/lib/combineReducers.js create mode 100644 socket/node_modules/redux/lib/compose.js create mode 100644 socket/node_modules/redux/lib/createStore.js create mode 100644 socket/node_modules/redux/lib/index.js create mode 100644 socket/node_modules/redux/lib/utils/warning.js create mode 100644 socket/node_modules/redux/package.json create mode 100644 socket/node_modules/redux/src/applyMiddleware.js create mode 100644 socket/node_modules/redux/src/bindActionCreators.js create mode 100644 socket/node_modules/redux/src/combineReducers.js create mode 100644 socket/node_modules/redux/src/compose.js create mode 100644 socket/node_modules/redux/src/createStore.js create mode 100644 socket/node_modules/redux/src/index.js create mode 100644 socket/node_modules/redux/src/utils/warning.js create mode 100644 socket/node_modules/regenerator-runtime/README.md create mode 100644 socket/node_modules/regenerator-runtime/package.json create mode 100644 socket/node_modules/regenerator-runtime/path.js create mode 100644 socket/node_modules/regenerator-runtime/runtime-module.js create mode 100644 socket/node_modules/regenerator-runtime/runtime.js create mode 100644 socket/node_modules/safe-buffer/.travis.yml create mode 100644 socket/node_modules/safe-buffer/LICENSE create mode 100644 socket/node_modules/safe-buffer/README.md create mode 100644 socket/node_modules/safe-buffer/index.js create mode 100644 socket/node_modules/safe-buffer/package.json create mode 100644 socket/node_modules/safe-buffer/test.js create mode 100644 socket/node_modules/send/HISTORY.md create mode 100644 socket/node_modules/send/LICENSE create mode 100644 socket/node_modules/send/README.md create mode 100644 socket/node_modules/send/index.js create mode 120000 socket/node_modules/send/node_modules/.bin/mime create mode 100644 socket/node_modules/send/node_modules/debug/.coveralls.yml create mode 100644 socket/node_modules/send/node_modules/debug/.eslintrc create mode 100644 socket/node_modules/send/node_modules/debug/.npmignore create mode 100644 socket/node_modules/send/node_modules/debug/.travis.yml create mode 100644 socket/node_modules/send/node_modules/debug/CHANGELOG.md create mode 100644 socket/node_modules/send/node_modules/debug/LICENSE create mode 100644 socket/node_modules/send/node_modules/debug/Makefile create mode 100644 socket/node_modules/send/node_modules/debug/README.md create mode 100644 socket/node_modules/send/node_modules/debug/component.json create mode 100644 socket/node_modules/send/node_modules/debug/karma.conf.js create mode 100644 socket/node_modules/send/node_modules/debug/node.js create mode 100644 socket/node_modules/send/node_modules/debug/package.json create mode 100644 socket/node_modules/send/node_modules/debug/src/browser.js create mode 100644 socket/node_modules/send/node_modules/debug/src/debug.js create mode 100644 socket/node_modules/send/node_modules/debug/src/index.js create mode 100644 socket/node_modules/send/node_modules/debug/src/inspector-log.js create mode 100644 socket/node_modules/send/node_modules/debug/src/node.js create mode 100644 socket/node_modules/send/node_modules/depd/History.md create mode 100644 socket/node_modules/send/node_modules/depd/LICENSE create mode 100644 socket/node_modules/send/node_modules/depd/Readme.md create mode 100644 socket/node_modules/send/node_modules/depd/index.js create mode 100644 socket/node_modules/send/node_modules/depd/lib/browser/index.js create mode 100644 socket/node_modules/send/node_modules/depd/lib/compat/callsite-tostring.js create mode 100644 socket/node_modules/send/node_modules/depd/lib/compat/event-listener-count.js create mode 100644 socket/node_modules/send/node_modules/depd/lib/compat/index.js create mode 100644 socket/node_modules/send/node_modules/depd/package.json create mode 100644 socket/node_modules/send/node_modules/destroy/LICENSE create mode 100644 socket/node_modules/send/node_modules/destroy/README.md create mode 100644 socket/node_modules/send/node_modules/destroy/index.js create mode 100644 socket/node_modules/send/node_modules/destroy/package.json create mode 100644 socket/node_modules/send/node_modules/ee-first/LICENSE create mode 100644 socket/node_modules/send/node_modules/ee-first/README.md create mode 100644 socket/node_modules/send/node_modules/ee-first/index.js create mode 100644 socket/node_modules/send/node_modules/ee-first/package.json create mode 100644 socket/node_modules/send/node_modules/escape-html/LICENSE create mode 100644 socket/node_modules/send/node_modules/escape-html/Readme.md create mode 100644 socket/node_modules/send/node_modules/escape-html/index.js create mode 100644 socket/node_modules/send/node_modules/escape-html/package.json create mode 100644 socket/node_modules/send/node_modules/etag/HISTORY.md create mode 100644 socket/node_modules/send/node_modules/etag/LICENSE create mode 100644 socket/node_modules/send/node_modules/etag/README.md create mode 100644 socket/node_modules/send/node_modules/etag/index.js create mode 100644 socket/node_modules/send/node_modules/etag/package.json create mode 100644 socket/node_modules/send/node_modules/fresh/HISTORY.md create mode 100644 socket/node_modules/send/node_modules/fresh/LICENSE create mode 100644 socket/node_modules/send/node_modules/fresh/README.md create mode 100644 socket/node_modules/send/node_modules/fresh/index.js create mode 100644 socket/node_modules/send/node_modules/fresh/package.json create mode 100644 socket/node_modules/send/node_modules/mime/LICENSE create mode 100644 socket/node_modules/send/node_modules/mime/README.md create mode 100644 socket/node_modules/send/node_modules/mime/build/build.js create mode 100644 socket/node_modules/send/node_modules/mime/build/test.js create mode 100755 socket/node_modules/send/node_modules/mime/cli.js create mode 100644 socket/node_modules/send/node_modules/mime/mime.js create mode 100644 socket/node_modules/send/node_modules/mime/package.json create mode 100644 socket/node_modules/send/node_modules/mime/types.json create mode 100644 socket/node_modules/send/node_modules/ms/index.js create mode 100644 socket/node_modules/send/node_modules/ms/license.md create mode 100644 socket/node_modules/send/node_modules/ms/package.json create mode 100644 socket/node_modules/send/node_modules/ms/readme.md create mode 100644 socket/node_modules/send/node_modules/on-finished/HISTORY.md create mode 100644 socket/node_modules/send/node_modules/on-finished/LICENSE create mode 100644 socket/node_modules/send/node_modules/on-finished/README.md create mode 100644 socket/node_modules/send/node_modules/on-finished/index.js create mode 100644 socket/node_modules/send/node_modules/on-finished/package.json create mode 100644 socket/node_modules/send/node_modules/range-parser/HISTORY.md create mode 100644 socket/node_modules/send/node_modules/range-parser/LICENSE create mode 100644 socket/node_modules/send/node_modules/range-parser/README.md create mode 100644 socket/node_modules/send/node_modules/range-parser/index.js create mode 100644 socket/node_modules/send/node_modules/range-parser/package.json create mode 100644 socket/node_modules/send/package.json create mode 100644 socket/node_modules/serve-static/HISTORY.md create mode 100644 socket/node_modules/serve-static/LICENSE create mode 100644 socket/node_modules/serve-static/README.md create mode 100644 socket/node_modules/serve-static/index.js create mode 100644 socket/node_modules/serve-static/node_modules/ee-first/LICENSE create mode 100644 socket/node_modules/serve-static/node_modules/ee-first/README.md create mode 100644 socket/node_modules/serve-static/node_modules/ee-first/index.js create mode 100644 socket/node_modules/serve-static/node_modules/ee-first/package.json create mode 100644 socket/node_modules/serve-static/node_modules/ms/.npmignore create mode 100644 socket/node_modules/serve-static/node_modules/ms/README.md create mode 100644 socket/node_modules/serve-static/node_modules/ms/index.js create mode 100644 socket/node_modules/serve-static/node_modules/ms/package.json create mode 100644 socket/node_modules/serve-static/node_modules/on-finished/HISTORY.md create mode 100644 socket/node_modules/serve-static/node_modules/on-finished/LICENSE create mode 100644 socket/node_modules/serve-static/node_modules/on-finished/README.md create mode 100644 socket/node_modules/serve-static/node_modules/on-finished/index.js create mode 100644 socket/node_modules/serve-static/node_modules/on-finished/package.json create mode 100644 socket/node_modules/serve-static/node_modules/send/History.md create mode 100644 socket/node_modules/serve-static/node_modules/send/LICENSE create mode 100644 socket/node_modules/serve-static/node_modules/send/Readme.md create mode 100644 socket/node_modules/serve-static/node_modules/send/index.js create mode 100644 socket/node_modules/serve-static/node_modules/send/package.json create mode 100644 socket/node_modules/serve-static/package.json create mode 100644 socket/node_modules/setimmediate/LICENSE.txt create mode 100644 socket/node_modules/setimmediate/package.json create mode 100644 socket/node_modules/setimmediate/setImmediate.js create mode 100644 socket/node_modules/setprototypeof/LICENSE create mode 100644 socket/node_modules/setprototypeof/README.md create mode 100644 socket/node_modules/setprototypeof/index.js create mode 100644 socket/node_modules/setprototypeof/package.json create mode 100644 socket/node_modules/socket.io-adapter/.npmignore create mode 100644 socket/node_modules/socket.io-adapter/LICENSE create mode 100644 socket/node_modules/socket.io-adapter/Readme.md create mode 100644 socket/node_modules/socket.io-adapter/index.js create mode 100644 socket/node_modules/socket.io-adapter/package.json create mode 100644 socket/node_modules/socket.io-client/LICENSE create mode 100644 socket/node_modules/socket.io-client/README.md create mode 100644 socket/node_modules/socket.io-client/dist/socket.io.js create mode 100644 socket/node_modules/socket.io-client/dist/socket.io.js.map create mode 100644 socket/node_modules/socket.io-client/dist/socket.io.slim.js create mode 100644 socket/node_modules/socket.io-client/dist/socket.io.slim.js.map create mode 100644 socket/node_modules/socket.io-client/lib/index.js create mode 100644 socket/node_modules/socket.io-client/lib/manager.js create mode 100644 socket/node_modules/socket.io-client/lib/on.js create mode 100644 socket/node_modules/socket.io-client/lib/socket.js create mode 100644 socket/node_modules/socket.io-client/lib/url.js create mode 100644 socket/node_modules/socket.io-client/node_modules/debug/.coveralls.yml create mode 100644 socket/node_modules/socket.io-client/node_modules/debug/.eslintrc create mode 100644 socket/node_modules/socket.io-client/node_modules/debug/.npmignore create mode 100644 socket/node_modules/socket.io-client/node_modules/debug/.travis.yml create mode 100644 socket/node_modules/socket.io-client/node_modules/debug/CHANGELOG.md create mode 100644 socket/node_modules/socket.io-client/node_modules/debug/LICENSE create mode 100644 socket/node_modules/socket.io-client/node_modules/debug/Makefile create mode 100644 socket/node_modules/socket.io-client/node_modules/debug/README.md create mode 100644 socket/node_modules/socket.io-client/node_modules/debug/component.json create mode 100644 socket/node_modules/socket.io-client/node_modules/debug/karma.conf.js create mode 100644 socket/node_modules/socket.io-client/node_modules/debug/node.js create mode 100644 socket/node_modules/socket.io-client/node_modules/debug/package.json create mode 100644 socket/node_modules/socket.io-client/node_modules/debug/src/browser.js create mode 100644 socket/node_modules/socket.io-client/node_modules/debug/src/debug.js create mode 100644 socket/node_modules/socket.io-client/node_modules/debug/src/index.js create mode 100644 socket/node_modules/socket.io-client/node_modules/debug/src/inspector-log.js create mode 100644 socket/node_modules/socket.io-client/node_modules/debug/src/node.js create mode 100644 socket/node_modules/socket.io-client/node_modules/ms/index.js create mode 100644 socket/node_modules/socket.io-client/node_modules/ms/license.md create mode 100644 socket/node_modules/socket.io-client/node_modules/ms/package.json create mode 100644 socket/node_modules/socket.io-client/node_modules/ms/readme.md create mode 100644 socket/node_modules/socket.io-client/package.json create mode 100644 socket/node_modules/socket.io-parser/History.md create mode 100644 socket/node_modules/socket.io-parser/LICENSE create mode 100644 socket/node_modules/socket.io-parser/Readme.md create mode 100644 socket/node_modules/socket.io-parser/binary.js create mode 100644 socket/node_modules/socket.io-parser/index.js create mode 100644 socket/node_modules/socket.io-parser/is-buffer.js create mode 100644 socket/node_modules/socket.io-parser/node_modules/debug/.coveralls.yml create mode 100644 socket/node_modules/socket.io-parser/node_modules/debug/.eslintrc create mode 100644 socket/node_modules/socket.io-parser/node_modules/debug/.npmignore create mode 100644 socket/node_modules/socket.io-parser/node_modules/debug/.travis.yml create mode 100644 socket/node_modules/socket.io-parser/node_modules/debug/CHANGELOG.md create mode 100644 socket/node_modules/socket.io-parser/node_modules/debug/LICENSE create mode 100644 socket/node_modules/socket.io-parser/node_modules/debug/Makefile create mode 100644 socket/node_modules/socket.io-parser/node_modules/debug/README.md create mode 100644 socket/node_modules/socket.io-parser/node_modules/debug/component.json create mode 100644 socket/node_modules/socket.io-parser/node_modules/debug/karma.conf.js create mode 100644 socket/node_modules/socket.io-parser/node_modules/debug/node.js create mode 100644 socket/node_modules/socket.io-parser/node_modules/debug/package.json create mode 100644 socket/node_modules/socket.io-parser/node_modules/debug/src/browser.js create mode 100644 socket/node_modules/socket.io-parser/node_modules/debug/src/debug.js create mode 100644 socket/node_modules/socket.io-parser/node_modules/debug/src/index.js create mode 100644 socket/node_modules/socket.io-parser/node_modules/debug/src/inspector-log.js create mode 100644 socket/node_modules/socket.io-parser/node_modules/debug/src/node.js create mode 100644 socket/node_modules/socket.io-parser/node_modules/ms/index.js create mode 100644 socket/node_modules/socket.io-parser/node_modules/ms/license.md create mode 100644 socket/node_modules/socket.io-parser/node_modules/ms/package.json create mode 100644 socket/node_modules/socket.io-parser/node_modules/ms/readme.md create mode 100644 socket/node_modules/socket.io-parser/package.json create mode 100644 socket/node_modules/socket.io/LICENSE create mode 100644 socket/node_modules/socket.io/Readme.md create mode 100644 socket/node_modules/socket.io/lib/client.js create mode 100644 socket/node_modules/socket.io/lib/index.js create mode 100644 socket/node_modules/socket.io/lib/namespace.js create mode 100644 socket/node_modules/socket.io/lib/socket.js create mode 100644 socket/node_modules/socket.io/node_modules/debug/.coveralls.yml create mode 100644 socket/node_modules/socket.io/node_modules/debug/.eslintrc create mode 100644 socket/node_modules/socket.io/node_modules/debug/.npmignore create mode 100644 socket/node_modules/socket.io/node_modules/debug/.travis.yml create mode 100644 socket/node_modules/socket.io/node_modules/debug/CHANGELOG.md create mode 100644 socket/node_modules/socket.io/node_modules/debug/LICENSE create mode 100644 socket/node_modules/socket.io/node_modules/debug/Makefile create mode 100644 socket/node_modules/socket.io/node_modules/debug/README.md create mode 100644 socket/node_modules/socket.io/node_modules/debug/component.json create mode 100644 socket/node_modules/socket.io/node_modules/debug/karma.conf.js create mode 100644 socket/node_modules/socket.io/node_modules/debug/node.js create mode 100644 socket/node_modules/socket.io/node_modules/debug/package.json create mode 100644 socket/node_modules/socket.io/node_modules/debug/src/browser.js create mode 100644 socket/node_modules/socket.io/node_modules/debug/src/debug.js create mode 100644 socket/node_modules/socket.io/node_modules/debug/src/index.js create mode 100644 socket/node_modules/socket.io/node_modules/debug/src/inspector-log.js create mode 100644 socket/node_modules/socket.io/node_modules/debug/src/node.js create mode 100644 socket/node_modules/socket.io/node_modules/ms/index.js create mode 100644 socket/node_modules/socket.io/node_modules/ms/license.md create mode 100644 socket/node_modules/socket.io/node_modules/ms/package.json create mode 100644 socket/node_modules/socket.io/node_modules/ms/readme.md create mode 100644 socket/node_modules/socket.io/package.json create mode 100644 socket/node_modules/statuses/HISTORY.md create mode 100644 socket/node_modules/statuses/LICENSE create mode 100644 socket/node_modules/statuses/README.md create mode 100644 socket/node_modules/statuses/codes.json create mode 100644 socket/node_modules/statuses/index.js create mode 100644 socket/node_modules/statuses/package.json create mode 100644 socket/node_modules/strip-ansi/index.js create mode 100644 socket/node_modules/strip-ansi/license create mode 100644 socket/node_modules/strip-ansi/package.json create mode 100644 socket/node_modules/strip-ansi/readme.md create mode 100644 socket/node_modules/supports-color/index.js create mode 100644 socket/node_modules/supports-color/license create mode 100644 socket/node_modules/supports-color/package.json create mode 100644 socket/node_modules/supports-color/readme.md create mode 100644 socket/node_modules/symbol-observable/CHANGELOG.md create mode 100644 socket/node_modules/symbol-observable/es/index.js create mode 100644 socket/node_modules/symbol-observable/es/ponyfill.js create mode 100644 socket/node_modules/symbol-observable/index.d.ts create mode 100644 socket/node_modules/symbol-observable/index.js create mode 100644 socket/node_modules/symbol-observable/lib/index.js create mode 100644 socket/node_modules/symbol-observable/lib/ponyfill.js create mode 100644 socket/node_modules/symbol-observable/license create mode 100644 socket/node_modules/symbol-observable/package.json create mode 100644 socket/node_modules/symbol-observable/readme.md create mode 100644 socket/node_modules/to-array/.npmignore create mode 100644 socket/node_modules/to-array/LICENCE create mode 100644 socket/node_modules/to-array/README.md create mode 100644 socket/node_modules/to-array/index.js create mode 100644 socket/node_modules/to-array/package.json create mode 100644 socket/node_modules/to-fast-properties/index.js create mode 100644 socket/node_modules/to-fast-properties/license create mode 100644 socket/node_modules/to-fast-properties/package.json create mode 100644 socket/node_modules/to-fast-properties/readme.md create mode 100644 socket/node_modules/type-is/HISTORY.md create mode 100644 socket/node_modules/type-is/LICENSE create mode 100644 socket/node_modules/type-is/README.md create mode 100644 socket/node_modules/type-is/index.js create mode 100644 socket/node_modules/type-is/package.json create mode 100644 socket/node_modules/ua-parser-js/.npmignore create mode 100644 socket/node_modules/ua-parser-js/.travis.yml create mode 100644 socket/node_modules/ua-parser-js/bower.json create mode 100644 socket/node_modules/ua-parser-js/dist/ua-parser.html create mode 100644 socket/node_modules/ua-parser-js/dist/ua-parser.min.js create mode 100644 socket/node_modules/ua-parser-js/dist/ua-parser.pack.js create mode 100644 socket/node_modules/ua-parser-js/package.js create mode 100644 socket/node_modules/ua-parser-js/package.json create mode 100644 socket/node_modules/ua-parser-js/readme.md create mode 100755 socket/node_modules/ua-parser-js/src/ua-parser.js create mode 100644 socket/node_modules/ua-parser-js/test/browser-test.json create mode 100644 socket/node_modules/ua-parser-js/test/cpu-test.json create mode 100644 socket/node_modules/ua-parser-js/test/device-test.json create mode 100644 socket/node_modules/ua-parser-js/test/engine-test.json create mode 100644 socket/node_modules/ua-parser-js/test/mediaplayer-test.json create mode 100644 socket/node_modules/ua-parser-js/test/os-test.json create mode 100644 socket/node_modules/ua-parser-js/test/test.js create mode 100644 socket/node_modules/ultron/LICENSE create mode 100644 socket/node_modules/ultron/README.md create mode 100644 socket/node_modules/ultron/index.js create mode 100644 socket/node_modules/ultron/package.json create mode 100644 socket/node_modules/utils-merge/.travis.yml create mode 100644 socket/node_modules/utils-merge/LICENSE create mode 100644 socket/node_modules/utils-merge/README.md create mode 100644 socket/node_modules/utils-merge/index.js create mode 100644 socket/node_modules/utils-merge/package.json create mode 100644 socket/node_modules/uws/LICENSE create mode 100644 socket/node_modules/uws/README.md create mode 100644 socket/node_modules/uws/binding.gyp create mode 100644 socket/node_modules/uws/build/Makefile create mode 100644 socket/node_modules/uws/build/Release/.deps/Release/obj.target/action_after_build.stamp.d create mode 100644 socket/node_modules/uws/build/Release/.deps/Release/obj.target/uws.node.d create mode 100644 socket/node_modules/uws/build/Release/.deps/Release/obj.target/uws/src/Extensions.o.d create mode 100644 socket/node_modules/uws/build/Release/.deps/Release/obj.target/uws/src/Group.o.d create mode 100644 socket/node_modules/uws/build/Release/.deps/Release/obj.target/uws/src/HTTPSocket.o.d create mode 100644 socket/node_modules/uws/build/Release/.deps/Release/obj.target/uws/src/Hub.o.d create mode 100644 socket/node_modules/uws/build/Release/.deps/Release/obj.target/uws/src/Networking.o.d create mode 100644 socket/node_modules/uws/build/Release/.deps/Release/obj.target/uws/src/Node.o.d create mode 100644 socket/node_modules/uws/build/Release/.deps/Release/obj.target/uws/src/Socket.o.d create mode 100644 socket/node_modules/uws/build/Release/.deps/Release/obj.target/uws/src/WebSocket.o.d create mode 100644 socket/node_modules/uws/build/Release/.deps/Release/obj.target/uws/src/addon.o.d create mode 100644 socket/node_modules/uws/build/Release/.deps/Release/uws.node.d create mode 100644 socket/node_modules/uws/build/Release/.deps/uws.d create mode 100644 socket/node_modules/uws/build/Release/obj.target/action_after_build.stamp create mode 100755 socket/node_modules/uws/build/Release/obj.target/uws.node create mode 100644 socket/node_modules/uws/build/Release/obj.target/uws/src/Extensions.o create mode 100644 socket/node_modules/uws/build/Release/obj.target/uws/src/Group.o create mode 100644 socket/node_modules/uws/build/Release/obj.target/uws/src/HTTPSocket.o create mode 100644 socket/node_modules/uws/build/Release/obj.target/uws/src/Hub.o create mode 100644 socket/node_modules/uws/build/Release/obj.target/uws/src/Networking.o create mode 100644 socket/node_modules/uws/build/Release/obj.target/uws/src/Node.o create mode 100644 socket/node_modules/uws/build/Release/obj.target/uws/src/Socket.o create mode 100644 socket/node_modules/uws/build/Release/obj.target/uws/src/WebSocket.o create mode 100644 socket/node_modules/uws/build/Release/obj.target/uws/src/addon.o create mode 100755 socket/node_modules/uws/build/Release/uws.node create mode 100644 socket/node_modules/uws/build/action_after_build.target.mk create mode 100644 socket/node_modules/uws/build/binding.Makefile create mode 100644 socket/node_modules/uws/build/config.gypi create mode 100644 socket/node_modules/uws/build/uws.target.mk create mode 100644 socket/node_modules/uws/build_log.txt create mode 100644 socket/node_modules/uws/package.json create mode 100644 socket/node_modules/uws/src/Asio.h create mode 100644 socket/node_modules/uws/src/Backend.h create mode 100644 socket/node_modules/uws/src/Epoll.cpp create mode 100644 socket/node_modules/uws/src/Epoll.h create mode 100644 socket/node_modules/uws/src/Extensions.cpp create mode 100644 socket/node_modules/uws/src/Extensions.h create mode 100644 socket/node_modules/uws/src/Group.cpp create mode 100644 socket/node_modules/uws/src/Group.h create mode 100644 socket/node_modules/uws/src/HTTPSocket.cpp create mode 100644 socket/node_modules/uws/src/HTTPSocket.h create mode 100644 socket/node_modules/uws/src/Hub.cpp create mode 100644 socket/node_modules/uws/src/Hub.h create mode 100644 socket/node_modules/uws/src/Libuv.h create mode 100644 socket/node_modules/uws/src/Networking.cpp create mode 100644 socket/node_modules/uws/src/Networking.h create mode 100644 socket/node_modules/uws/src/Node.cpp create mode 100644 socket/node_modules/uws/src/Node.h create mode 100644 socket/node_modules/uws/src/Socket.cpp create mode 100644 socket/node_modules/uws/src/Socket.h create mode 100644 socket/node_modules/uws/src/WebSocket.cpp create mode 100644 socket/node_modules/uws/src/WebSocket.h create mode 100644 socket/node_modules/uws/src/WebSocketProtocol.h create mode 100644 socket/node_modules/uws/src/addon.cpp create mode 100644 socket/node_modules/uws/src/addon.h create mode 100644 socket/node_modules/uws/src/http.h create mode 100644 socket/node_modules/uws/src/uWS.h create mode 100644 socket/node_modules/uws/uws.js create mode 100755 socket/node_modules/uws/uws_darwin_46.node create mode 100755 socket/node_modules/uws/uws_darwin_47.node create mode 100755 socket/node_modules/uws/uws_darwin_48.node create mode 100755 socket/node_modules/uws/uws_darwin_51.node create mode 100755 socket/node_modules/uws/uws_linux_46.node create mode 100755 socket/node_modules/uws/uws_linux_47.node create mode 100755 socket/node_modules/uws/uws_linux_48.node create mode 100755 socket/node_modules/uws/uws_linux_51.node create mode 100755 socket/node_modules/uws/uws_linux_59.node create mode 100755 socket/node_modules/uws/uws_win32_48.node create mode 100755 socket/node_modules/uws/uws_win32_51.node create mode 100644 socket/node_modules/vary/HISTORY.md create mode 100644 socket/node_modules/vary/LICENSE create mode 100644 socket/node_modules/vary/README.md create mode 100644 socket/node_modules/vary/index.js create mode 100644 socket/node_modules/vary/package.json create mode 100644 socket/node_modules/whatwg-fetch/LICENSE create mode 100644 socket/node_modules/whatwg-fetch/README.md create mode 100644 socket/node_modules/whatwg-fetch/fetch.js create mode 100644 socket/node_modules/whatwg-fetch/package.json create mode 100644 socket/node_modules/ws/LICENSE create mode 100644 socket/node_modules/ws/README.md create mode 100644 socket/node_modules/ws/index.js create mode 100644 socket/node_modules/ws/lib/.DS_Store create mode 100644 socket/node_modules/ws/lib/BufferUtil.js create mode 100644 socket/node_modules/ws/lib/Constants.js create mode 100644 socket/node_modules/ws/lib/ErrorCodes.js create mode 100644 socket/node_modules/ws/lib/EventTarget.js create mode 100644 socket/node_modules/ws/lib/Extensions.js create mode 100644 socket/node_modules/ws/lib/PerMessageDeflate.js create mode 100644 socket/node_modules/ws/lib/Receiver.js create mode 100644 socket/node_modules/ws/lib/Sender.js create mode 100644 socket/node_modules/ws/lib/Validation.js create mode 100644 socket/node_modules/ws/lib/WebSocket.js create mode 100644 socket/node_modules/ws/lib/WebSocketServer.js create mode 100644 socket/node_modules/ws/package.json create mode 100644 socket/node_modules/xmlhttprequest-ssl/LICENSE create mode 100644 socket/node_modules/xmlhttprequest-ssl/README.md create mode 100644 socket/node_modules/xmlhttprequest-ssl/autotest.watchr create mode 100644 socket/node_modules/xmlhttprequest-ssl/example/demo.js create mode 100644 socket/node_modules/xmlhttprequest-ssl/lib/XMLHttpRequest.js create mode 100644 socket/node_modules/xmlhttprequest-ssl/package.json create mode 100644 socket/node_modules/xmlhttprequest-ssl/tests/test-constants.js create mode 100644 socket/node_modules/xmlhttprequest-ssl/tests/test-events.js create mode 100644 socket/node_modules/xmlhttprequest-ssl/tests/test-exceptions.js create mode 100644 socket/node_modules/xmlhttprequest-ssl/tests/test-headers.js create mode 100644 socket/node_modules/xmlhttprequest-ssl/tests/test-redirect-302.js create mode 100644 socket/node_modules/xmlhttprequest-ssl/tests/test-redirect-303.js create mode 100644 socket/node_modules/xmlhttprequest-ssl/tests/test-redirect-307.js create mode 100644 socket/node_modules/xmlhttprequest-ssl/tests/test-request-methods.js create mode 100644 socket/node_modules/xmlhttprequest-ssl/tests/test-request-protocols.js create mode 100644 socket/node_modules/xmlhttprequest-ssl/tests/testdata.txt create mode 100644 socket/node_modules/yeast/LICENSE create mode 100644 socket/node_modules/yeast/README.md create mode 100644 socket/node_modules/yeast/index.js create mode 100644 socket/node_modules/yeast/package.json create mode 100644 socket/node_modules/zeit/LICENSE create mode 100644 socket/node_modules/zeit/README.md create mode 100644 socket/node_modules/zeit/examples/schedulerExamples.js create mode 100644 socket/node_modules/zeit/index.js create mode 100644 socket/node_modules/zeit/lib/clock.js create mode 100644 socket/node_modules/zeit/lib/scheduler.js create mode 100644 socket/node_modules/zeit/lib/util.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/LICENSE create mode 100644 socket/node_modules/zeit/node_modules/lodash/README.md create mode 100644 socket/node_modules/zeit/node_modules/lodash/_Hash.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_LazyWrapper.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_LodashWrapper.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_Map.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_MapCache.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_Reflect.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_Set.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_SetCache.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_Stack.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_Symbol.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_Uint8Array.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_WeakMap.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_addMapEntry.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_addSetEntry.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_apply.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_arrayAggregator.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_arrayConcat.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_arrayEach.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_arrayEachRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_arrayEvery.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_arrayFilter.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_arrayIncludes.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_arrayIncludesWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_arrayMap.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_arrayPush.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_arrayReduce.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_arrayReduceRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_arraySome.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_assignInDefaults.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_assignMergeValue.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_assignValue.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_assocDelete.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_assocGet.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_assocHas.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_assocIndexOf.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_assocSet.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseAggregator.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseAssign.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseAt.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseCastArrayLikeObject.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseCastFunction.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseCastPath.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseClamp.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseClone.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseConforms.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseCreate.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseDelay.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseDifference.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseEach.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseEachRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseEvery.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseExtremum.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseFill.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseFilter.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseFind.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseFindIndex.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseFlatten.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseFor.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseForIn.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseForOwn.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseForOwnRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseForRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseFunctions.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseGet.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseHas.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseHasIn.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseInRange.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseIndexOf.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseIntersection.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseInverter.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseInvoke.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseIsEqual.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseIsEqualDeep.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseIsMatch.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseIteratee.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseKeys.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseKeysIn.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseLodash.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseMap.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseMatches.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseMatchesProperty.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseMerge.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseMergeDeep.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseOrderBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_basePick.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_basePickBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseProperty.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_basePropertyDeep.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_basePullAll.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_basePullAllBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_basePullAt.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseRandom.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseRange.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseReduce.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseSet.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseSetData.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseSlice.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseSome.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseSortBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseSortedIndex.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseSortedIndexBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseSortedUniq.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseSortedUniqBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseSum.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseTimes.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseToPairs.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseUnary.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseUniq.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseUnset.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseValues.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseWhile.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseWrapperValue.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseXor.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_baseZipObject.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_cacheHas.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_cachePush.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_charsEndIndex.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_charsStartIndex.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_checkGlobal.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_cloneArrayBuffer.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_cloneBuffer.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_cloneMap.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_cloneRegExp.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_cloneSet.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_cloneSymbol.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_cloneTypedArray.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_compareAscending.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_compareMultiple.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_composeArgs.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_composeArgsRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_copyArray.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_copyObject.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_copyObjectWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_copySymbols.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_createAggregator.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_createAssigner.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_createBaseEach.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_createBaseFor.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_createBaseWrapper.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_createCaseFirst.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_createCompounder.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_createCtorWrapper.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_createCurryWrapper.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_createFlow.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_createHybridWrapper.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_createInverter.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_createOver.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_createPadding.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_createPartialWrapper.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_createRange.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_createRecurryWrapper.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_createRound.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_createSet.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_createWrapper.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_deburrLetter.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_equalArrays.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_equalByTag.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_equalObjects.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_escapeHtmlChar.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_escapeStringChar.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_getData.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_getFuncName.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_getLength.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_getMatchData.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_getNative.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_getSymbols.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_getTag.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_getView.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_hasPath.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_hashDelete.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_hashGet.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_hashHas.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_hashSet.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_indexKeys.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_indexOfNaN.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_initCloneArray.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_initCloneByTag.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_initCloneObject.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_isHostObject.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_isIndex.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_isIterateeCall.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_isKey.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_isKeyable.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_isLaziable.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_isPrototype.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_isStrictComparable.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_iteratorToArray.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_lazyClone.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_lazyReverse.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_lazyValue.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_mapClear.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_mapDelete.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_mapGet.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_mapHas.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_mapSet.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_mapToArray.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_mergeData.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_mergeDefaults.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_metaMap.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_nativeCreate.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_parent.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_reEscape.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_reEvaluate.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_reInterpolate.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_realNames.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_reorder.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_replaceHolders.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_root.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_setData.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_setToArray.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_stackClear.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_stackDelete.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_stackGet.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_stackHas.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_stackSet.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_stringSize.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_stringToArray.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_stringToPath.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_unescapeHtmlChar.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/_wrapperClone.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/add.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/after.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/array.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/ary.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/assign.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/assignIn.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/assignInWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/assignWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/at.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/attempt.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/before.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/bind.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/bindAll.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/bindKey.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/camelCase.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/capitalize.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/castArray.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/ceil.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/chain.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/chunk.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/clamp.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/clone.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/cloneDeep.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/cloneDeepWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/cloneWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/collection.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/commit.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/compact.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/concat.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/cond.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/conforms.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/constant.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/core.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/countBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/create.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/curry.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/curryRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/date.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/debounce.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/deburr.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/defaults.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/defaultsDeep.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/defer.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/delay.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/difference.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/differenceBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/differenceWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/drop.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/dropRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/dropRightWhile.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/dropWhile.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/each.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/eachRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/endsWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/eq.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/escape.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/escapeRegExp.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/every.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/extend.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/extendWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fill.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/filter.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/find.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/findIndex.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/findKey.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/findLast.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/findLastIndex.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/findLastKey.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/flatMap.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/flatten.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/flattenDeep.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/flattenDepth.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/flip.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/floor.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/flow.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/flowRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/forEach.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/forEachRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/forIn.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/forInRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/forOwn.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/forOwnRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/_baseConvert.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/_convertBrowser.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/_mapping.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/_util.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/add.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/after.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/all.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/allPass.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/apply.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/array.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/ary.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/assign.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/assignIn.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/assignInWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/assignWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/assoc.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/assocPath.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/at.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/attempt.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/before.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/bind.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/bindAll.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/bindKey.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/camelCase.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/capitalize.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/castArray.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/ceil.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/chain.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/chunk.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/clamp.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/clone.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/cloneDeep.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/cloneDeepWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/cloneWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/collection.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/commit.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/compact.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/compose.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/concat.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/cond.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/conforms.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/constant.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/contains.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/convert.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/countBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/create.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/curry.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/curryN.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/curryRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/curryRightN.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/date.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/debounce.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/deburr.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/defaults.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/defaultsDeep.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/defer.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/delay.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/difference.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/differenceBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/differenceWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/dissoc.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/dissocPath.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/drop.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/dropRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/dropRightWhile.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/dropWhile.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/each.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/eachRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/endsWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/eq.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/equals.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/escape.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/escapeRegExp.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/every.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/extend.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/extendWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/fill.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/filter.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/find.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/findIndex.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/findKey.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/findLast.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/findLastIndex.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/findLastKey.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/first.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/flatMap.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/flatten.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/flattenDeep.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/flattenDepth.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/flip.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/floor.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/flow.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/flowRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/forEach.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/forEachRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/forIn.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/forInRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/forOwn.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/forOwnRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/fromPairs.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/function.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/functions.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/functionsIn.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/get.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/getOr.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/groupBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/gt.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/gte.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/has.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/hasIn.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/head.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/identity.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/inRange.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/includes.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/indexOf.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/init.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/initial.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/intersection.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/intersectionBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/intersectionWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/invert.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/invertBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/invoke.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/invokeMap.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isArguments.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isArray.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isArrayBuffer.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isArrayLike.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isArrayLikeObject.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isBoolean.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isBuffer.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isDate.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isElement.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isEmpty.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isEqual.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isEqualWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isError.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isFinite.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isFunction.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isInteger.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isLength.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isMap.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isMatch.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isMatchWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isNaN.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isNative.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isNil.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isNull.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isNumber.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isObject.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isObjectLike.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isPlainObject.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isRegExp.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isSafeInteger.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isSet.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isString.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isSymbol.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isTypedArray.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isUndefined.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isWeakMap.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/isWeakSet.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/iteratee.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/join.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/kebabCase.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/keyBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/keys.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/keysIn.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/lang.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/last.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/lastIndexOf.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/lowerCase.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/lowerFirst.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/lt.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/lte.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/map.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/mapKeys.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/mapObj.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/mapValues.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/matches.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/matchesProperty.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/math.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/max.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/maxBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/mean.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/memoize.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/merge.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/mergeWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/method.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/methodOf.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/min.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/minBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/mixin.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/nAry.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/negate.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/next.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/noop.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/now.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/nthArg.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/number.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/object.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/omit.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/omitAll.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/omitBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/once.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/orderBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/over.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/overArgs.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/overEvery.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/overSome.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/pad.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/padEnd.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/padStart.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/parseInt.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/partial.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/partialRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/partition.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/path.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/pathEq.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/pathOr.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/pick.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/pickAll.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/pickBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/pipe.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/plant.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/prop.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/propOf.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/propOr.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/property.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/propertyOf.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/pull.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/pullAll.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/pullAllBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/pullAt.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/random.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/range.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/rangeRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/rearg.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/reduce.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/reduceRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/reject.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/remove.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/repeat.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/replace.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/rest.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/result.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/reverse.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/round.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/sample.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/sampleSize.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/seq.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/set.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/setWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/shuffle.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/size.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/slice.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/snakeCase.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/some.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/somePass.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/sortBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/sortedIndex.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/sortedIndexBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/sortedIndexOf.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/sortedLastIndex.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/sortedLastIndexBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/sortedLastIndexOf.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/sortedUniq.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/sortedUniqBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/split.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/spread.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/startCase.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/startsWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/string.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/subtract.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/sum.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/sumBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/tail.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/take.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/takeRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/takeRightWhile.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/takeWhile.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/tap.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/template.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/templateSettings.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/throttle.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/thru.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/times.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/toArray.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/toInteger.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/toIterator.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/toJSON.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/toLength.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/toLower.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/toNumber.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/toPairs.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/toPairsIn.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/toPath.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/toPlainObject.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/toSafeInteger.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/toString.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/toUpper.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/transform.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/trim.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/trimChars.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/trimCharsEnd.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/trimCharsStart.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/trimEnd.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/trimStart.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/truncate.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/unapply.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/unary.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/unescape.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/union.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/unionBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/unionWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/uniq.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/uniqBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/uniqWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/uniqueId.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/unnest.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/unset.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/unzip.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/unzipWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/upperCase.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/upperFirst.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/useWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/util.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/value.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/valueOf.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/values.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/valuesIn.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/whereEq.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/without.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/words.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/wrap.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/wrapperAt.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/wrapperChain.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/wrapperFlatMap.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/wrapperLodash.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/wrapperReverse.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/wrapperValue.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/xor.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/xorBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/xorWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/zip.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/zipObj.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/zipObject.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/zipObjectDeep.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fp/zipWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/fromPairs.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/function.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/functions.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/functionsIn.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/get.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/groupBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/gt.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/gte.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/has.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/hasIn.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/head.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/identity.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/inRange.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/includes.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/index.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/indexOf.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/initial.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/intersection.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/intersectionBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/intersectionWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/invert.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/invertBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/invoke.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/invokeMap.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isArguments.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isArray.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isArrayBuffer.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isArrayLike.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isArrayLikeObject.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isBoolean.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isBuffer.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isDate.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isElement.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isEmpty.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isEqual.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isEqualWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isError.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isFinite.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isFunction.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isInteger.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isLength.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isMap.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isMatch.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isMatchWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isNaN.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isNative.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isNil.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isNull.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isNumber.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isObject.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isObjectLike.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isPlainObject.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isRegExp.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isSafeInteger.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isSet.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isString.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isSymbol.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isTypedArray.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isUndefined.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isWeakMap.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/isWeakSet.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/iteratee.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/join.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/kebabCase.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/keyBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/keys.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/keysIn.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/lang.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/last.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/lastIndexOf.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/lodash.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/lowerCase.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/lowerFirst.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/lt.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/lte.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/map.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/mapKeys.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/mapValues.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/matches.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/matchesProperty.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/math.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/max.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/maxBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/mean.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/memoize.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/merge.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/mergeWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/method.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/methodOf.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/min.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/minBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/mixin.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/negate.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/next.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/noop.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/now.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/nthArg.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/number.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/object.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/omit.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/omitBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/once.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/orderBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/over.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/overArgs.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/overEvery.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/overSome.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/package.json create mode 100644 socket/node_modules/zeit/node_modules/lodash/pad.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/padEnd.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/padStart.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/parseInt.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/partial.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/partialRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/partition.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/pick.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/pickBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/plant.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/property.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/propertyOf.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/pull.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/pullAll.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/pullAllBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/pullAt.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/random.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/range.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/rangeRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/rearg.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/reduce.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/reduceRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/reject.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/remove.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/repeat.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/replace.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/rest.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/result.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/reverse.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/round.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/sample.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/sampleSize.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/seq.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/set.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/setWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/shuffle.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/size.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/slice.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/snakeCase.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/some.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/sortBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/sortedIndex.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/sortedIndexBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/sortedIndexOf.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/sortedLastIndex.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/sortedLastIndexBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/sortedLastIndexOf.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/sortedUniq.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/sortedUniqBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/split.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/spread.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/startCase.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/startsWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/string.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/subtract.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/sum.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/sumBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/tail.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/take.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/takeRight.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/takeRightWhile.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/takeWhile.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/tap.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/template.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/templateSettings.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/throttle.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/thru.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/times.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/toArray.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/toInteger.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/toIterator.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/toJSON.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/toLength.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/toLower.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/toNumber.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/toPairs.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/toPairsIn.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/toPath.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/toPlainObject.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/toSafeInteger.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/toString.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/toUpper.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/transform.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/trim.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/trimEnd.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/trimStart.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/truncate.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/unary.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/unescape.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/union.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/unionBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/unionWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/uniq.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/uniqBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/uniqWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/uniqueId.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/unset.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/unzip.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/unzipWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/upperCase.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/upperFirst.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/util.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/value.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/valueOf.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/values.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/valuesIn.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/without.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/words.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/wrap.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/wrapperAt.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/wrapperChain.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/wrapperFlatMap.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/wrapperLodash.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/wrapperReverse.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/wrapperValue.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/xor.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/xorBy.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/xorWith.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/zip.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/zipObject.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/zipObjectDeep.js create mode 100644 socket/node_modules/zeit/node_modules/lodash/zipWith.js create mode 100644 socket/node_modules/zeit/package.json create mode 100644 socket/node_modules/zeit/test/clockTest.js create mode 100644 socket/node_modules/zeit/test/schedulerTest.js create mode 100644 socket/node_modules/zeit/test/utilTest.js create mode 100644 socket/package-lock.json create mode 100644 socket/package.json create mode 100644 socket/public/control.html create mode 100644 socket/public/control.js create mode 100644 socket/public/img/.directory create mode 100644 socket/public/img/centralized.png create mode 100644 socket/public/img/distribuited-2.png create mode 100644 socket/public/img/distribuited.png create mode 100644 socket/public/img/dots.png create mode 100644 socket/public/img/git-logo.png create mode 100644 socket/public/img/git.png create mode 100644 socket/public/img/gitKraken.png create mode 100644 socket/public/img/git_classic-dev-0.png create mode 100644 socket/public/img/git_classic-dev-1.png create mode 100644 socket/public/img/git_classic-dev-2.png create mode 100644 socket/public/img/git_classic-dev-3.png create mode 100644 socket/public/img/git_classic-dev-4.png create mode 100644 socket/public/img/git_classic-dev-5.png create mode 100644 socket/public/img/git_dots-classic.png create mode 100644 socket/public/img/git_flof-dev-1.png create mode 100644 socket/public/img/git_flow-dev-1.png create mode 100644 socket/public/img/git_flow-dev-10.png create mode 100644 socket/public/img/git_flow-dev-11.png create mode 100644 socket/public/img/git_flow-dev-2.png create mode 100644 socket/public/img/git_flow-dev-3.png create mode 100644 socket/public/img/git_flow-dev-4.png create mode 100644 socket/public/img/git_flow-dev-5.png create mode 100644 socket/public/img/git_flow-dev-6.png create mode 100644 socket/public/img/git_flow-dev-7.png create mode 100644 socket/public/img/git_flow-dev-8.png create mode 100644 socket/public/img/git_flow-dev-9.png create mode 100644 socket/public/img/git_flow-feature-repeat.png create mode 100644 socket/public/img/git_flow-feature-start.png create mode 100644 socket/public/img/git_flow-feature-stop.png create mode 100644 socket/public/img/git_flow-features-repeat.png create mode 100644 socket/public/img/git_repeat-classic.png create mode 100644 socket/public/img/git_repeat-classic2.png create mode 100644 socket/public/img/git_repeat.png create mode 100644 socket/public/img/git_start-classic.png create mode 100644 socket/public/img/git_start.png create mode 100644 socket/public/img/git_stop-classic.png create mode 100644 socket/public/img/git_stop.png create mode 100644 socket/public/img/pendrive.png create mode 100644 socket/public/index.html create mode 100644 socket/public/main.js create mode 100644 socket/public/style.css diff --git a/socket/START.sh b/socket/START.sh new file mode 100755 index 0000000..82ce50e --- /dev/null +++ b/socket/START.sh @@ -0,0 +1 @@ +node index.js diff --git a/socket/index.js b/socket/index.js new file mode 100644 index 0000000..59a1f90 --- /dev/null +++ b/socket/index.js @@ -0,0 +1,17 @@ + +const express = require('express'); +const app = express(); +const http = require('http').Server(app); +const io = require('socket.io')(http); +const port = process.env.PORT || 3000; + +app.use(express.static(__dirname + '/public')); + +function onConnection(socket){ + socket.on('key', (data) => socket.broadcast.emit('key', data)); + socket.on('slidesLen', (data) => socket.broadcast.emit('slidesLen', data)); +} + +io.on('connection', onConnection); + +http.listen(port, () => console.log('listening on port ' + port)); diff --git a/socket/node_modules/.bin/babylon b/socket/node_modules/.bin/babylon new file mode 120000 index 0000000..c2adc01 --- /dev/null +++ b/socket/node_modules/.bin/babylon @@ -0,0 +1 @@ +../babylon/bin/babylon.js \ No newline at end of file diff --git a/socket/node_modules/.bin/loose-envify b/socket/node_modules/.bin/loose-envify new file mode 120000 index 0000000..ed9009c --- /dev/null +++ b/socket/node_modules/.bin/loose-envify @@ -0,0 +1 @@ +../loose-envify/cli.js \ No newline at end of file diff --git a/socket/node_modules/accepts/HISTORY.md b/socket/node_modules/accepts/HISTORY.md new file mode 100644 index 0000000..0508481 --- /dev/null +++ b/socket/node_modules/accepts/HISTORY.md @@ -0,0 +1,74 @@ +1.1.4 / 2014-12-10 +================== + + * deps: mime-types@~2.0.4 + - deps: mime-db@~1.3.0 + +1.1.3 / 2014-11-09 +================== + + * deps: mime-types@~2.0.3 + - deps: mime-db@~1.2.0 + +1.1.2 / 2014-10-14 +================== + + * deps: negotiator@0.4.9 + - Fix error when media type has invalid parameter + +1.1.1 / 2014-09-28 +================== + + * deps: mime-types@~2.0.2 + - deps: mime-db@~1.1.0 + * deps: negotiator@0.4.8 + - Fix all negotiations to be case-insensitive + - Stable sort preferences of same quality according to client order + +1.1.0 / 2014-09-02 +================== + + * update `mime-types` + +1.0.7 / 2014-07-04 +================== + + * Fix wrong type returned from `type` when match after unknown extension + +1.0.6 / 2014-06-24 +================== + + * deps: negotiator@0.4.7 + +1.0.5 / 2014-06-20 +================== + + * fix crash when unknown extension given + +1.0.4 / 2014-06-19 +================== + + * use `mime-types` + +1.0.3 / 2014-06-11 +================== + + * deps: negotiator@0.4.6 + - Order by specificity when quality is the same + +1.0.2 / 2014-05-29 +================== + + * Fix interpretation when header not in request + * deps: pin negotiator@0.4.5 + +1.0.1 / 2014-01-18 +================== + + * Identity encoding isn't always acceptable + * deps: negotiator@~0.4.0 + +1.0.0 / 2013-12-27 +================== + + * Genesis diff --git a/socket/node_modules/accepts/LICENSE b/socket/node_modules/accepts/LICENSE new file mode 100644 index 0000000..f23dca8 --- /dev/null +++ b/socket/node_modules/accepts/LICENSE @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2014 Jonathan Ong + +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: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +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. diff --git a/socket/node_modules/accepts/README.md b/socket/node_modules/accepts/README.md new file mode 100644 index 0000000..a9bc28a --- /dev/null +++ b/socket/node_modules/accepts/README.md @@ -0,0 +1,94 @@ +# accepts + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Higher level content negotation based on [negotiator](https://github.com/federomero/negotiator). Extracted from [koa](https://github.com/koajs/koa) for general use. + +In addition to negotatior, it allows: + +- Allows types as an array or arguments list, ie `(['text/html', 'application/json'])` as well as `('text/html', 'application/json')`. +- Allows type shorthands such as `json`. +- Returns `false` when no types match +- Treats non-existent headers as `*` + +## API + +### var accept = new Accepts(req) + +```js +var accepts = require('accepts') + +http.createServer(function (req, res) { + var accept = accepts(req) +}) +``` + +### accept\[property\]\(\) + +Returns all the explicitly accepted content property as an array in descending priority. + +- `accept.types()` +- `accept.encodings()` +- `accept.charsets()` +- `accept.languages()` + +They are also aliased in singular form such as `accept.type()`. `accept.languages()` is also aliased as `accept.langs()`, etc. + +Note: you should almost never do this in a real app as it defeats the purpose of content negotiation. + +Example: + +```js +// in Google Chrome +var encodings = accept.encodings() // -> ['sdch', 'gzip', 'deflate'] +``` + +Since you probably don't support `sdch`, you should just supply the encodings you support: + +```js +var encoding = accept.encodings('gzip', 'deflate') // -> 'gzip', probably +``` + +### accept\[property\]\(values, ...\) + +You can either have `values` be an array or have an argument list of values. + +If the client does not accept any `values`, `false` will be returned. +If the client accepts any `values`, the preferred `value` will be return. + +For `accept.types()`, shorthand mime types are allowed. + +Example: + +```js +// req.headers.accept = 'application/json' + +accept.types('json') // -> 'json' +accept.types('html', 'json') // -> 'json' +accept.types('html') // -> false + +// req.headers.accept = '' +// which is equivalent to `*` + +accept.types() // -> [], no explicit types +accept.types('text/html', 'text/json') // -> 'text/html', since it was first +``` + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/accepts.svg?style=flat +[npm-url]: https://npmjs.org/package/accepts +[node-version-image]: https://img.shields.io/node/v/accepts.svg?style=flat +[node-version-url]: http://nodejs.org/download/ +[travis-image]: https://img.shields.io/travis/jshttp/accepts.svg?style=flat +[travis-url]: https://travis-ci.org/jshttp/accepts +[coveralls-image]: https://img.shields.io/coveralls/jshttp/accepts.svg?style=flat +[coveralls-url]: https://coveralls.io/r/jshttp/accepts +[downloads-image]: https://img.shields.io/npm/dm/accepts.svg?style=flat +[downloads-url]: https://npmjs.org/package/accepts diff --git a/socket/node_modules/accepts/index.js b/socket/node_modules/accepts/index.js new file mode 100644 index 0000000..805e33a --- /dev/null +++ b/socket/node_modules/accepts/index.js @@ -0,0 +1,160 @@ +var Negotiator = require('negotiator') +var mime = require('mime-types') + +var slice = [].slice + +module.exports = Accepts + +function Accepts(req) { + if (!(this instanceof Accepts)) + return new Accepts(req) + + this.headers = req.headers + this.negotiator = Negotiator(req) +} + +/** + * Check if the given `type(s)` is acceptable, returning + * the best match when true, otherwise `undefined`, in which + * case you should respond with 406 "Not Acceptable". + * + * The `type` value may be a single mime type string + * such as "application/json", the extension name + * such as "json" or an array `["json", "html", "text/plain"]`. When a list + * or array is given the _best_ match, if any is returned. + * + * Examples: + * + * // Accept: text/html + * this.types('html'); + * // => "html" + * + * // Accept: text/*, application/json + * this.types('html'); + * // => "html" + * this.types('text/html'); + * // => "text/html" + * this.types('json', 'text'); + * // => "json" + * this.types('application/json'); + * // => "application/json" + * + * // Accept: text/*, application/json + * this.types('image/png'); + * this.types('png'); + * // => undefined + * + * // Accept: text/*;q=.5, application/json + * this.types(['html', 'json']); + * this.types('html', 'json'); + * // => "json" + * + * @param {String|Array} type(s)... + * @return {String|Array|Boolean} + * @api public + */ + +Accepts.prototype.type = +Accepts.prototype.types = function (types) { + if (!Array.isArray(types)) types = slice.call(arguments); + var n = this.negotiator; + if (!types.length) return n.mediaTypes(); + if (!this.headers.accept) return types[0]; + var mimes = types.map(extToMime); + var accepts = n.mediaTypes(mimes.filter(validMime)); + var first = accepts[0]; + if (!first) return false; + return types[mimes.indexOf(first)]; +} + +/** + * Return accepted encodings or best fit based on `encodings`. + * + * Given `Accept-Encoding: gzip, deflate` + * an array sorted by quality is returned: + * + * ['gzip', 'deflate'] + * + * @param {String|Array} encoding(s)... + * @return {String|Array} + * @api public + */ + +Accepts.prototype.encoding = +Accepts.prototype.encodings = function (encodings) { + if (!Array.isArray(encodings)) encodings = slice.call(arguments); + var n = this.negotiator; + if (!encodings.length) return n.encodings(); + return n.encodings(encodings)[0] || false; +} + +/** + * Return accepted charsets or best fit based on `charsets`. + * + * Given `Accept-Charset: utf-8, iso-8859-1;q=0.2, utf-7;q=0.5` + * an array sorted by quality is returned: + * + * ['utf-8', 'utf-7', 'iso-8859-1'] + * + * @param {String|Array} charset(s)... + * @return {String|Array} + * @api public + */ + +Accepts.prototype.charset = +Accepts.prototype.charsets = function (charsets) { + if (!Array.isArray(charsets)) charsets = [].slice.call(arguments); + var n = this.negotiator; + if (!charsets.length) return n.charsets(); + if (!this.headers['accept-charset']) return charsets[0]; + return n.charsets(charsets)[0] || false; +} + +/** + * Return accepted languages or best fit based on `langs`. + * + * Given `Accept-Language: en;q=0.8, es, pt` + * an array sorted by quality is returned: + * + * ['es', 'pt', 'en'] + * + * @param {String|Array} lang(s)... + * @return {Array|String} + * @api public + */ + +Accepts.prototype.lang = +Accepts.prototype.langs = +Accepts.prototype.language = +Accepts.prototype.languages = function (langs) { + if (!Array.isArray(langs)) langs = slice.call(arguments); + var n = this.negotiator; + if (!langs.length) return n.languages(); + if (!this.headers['accept-language']) return langs[0]; + return n.languages(langs)[0] || false; +} + +/** + * Convert extnames to mime. + * + * @param {String} type + * @return {String} + * @api private + */ + +function extToMime(type) { + if (~type.indexOf('/')) return type; + return mime.lookup(type); +} + +/** + * Check if mime is valid. + * + * @param {String} type + * @return {String} + * @api private + */ + +function validMime(type) { + return typeof type === 'string'; +} diff --git a/socket/node_modules/accepts/package.json b/socket/node_modules/accepts/package.json new file mode 100644 index 0000000..01d666e --- /dev/null +++ b/socket/node_modules/accepts/package.json @@ -0,0 +1,71 @@ +{ + "_from": "accepts@~1.1.2", + "_id": "accepts@1.1.4", + "_inBundle": false, + "_integrity": "sha1-1xyW99QdD+2iw4zRToonwEFY30o=", + "_location": "/accepts", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "accepts@~1.1.2", + "name": "accepts", + "escapedName": "accepts", + "rawSpec": "~1.1.2", + "saveSpec": null, + "fetchSpec": "~1.1.2" + }, + "_requiredBy": [ + "/express" + ], + "_resolved": "https://registry.npmjs.org/accepts/-/accepts-1.1.4.tgz", + "_shasum": "d71c96f7d41d0feda2c38cd14e8a27c04158df4a", + "_spec": "accepts@~1.1.2", + "_where": "/var/www/htdocs/coze/socket/node_modules/express", + "author": { + "name": "Jonathan Ong", + "email": "me@jongleberry.com", + "url": "http://jongleberry.com" + }, + "bugs": { + "url": "https://github.com/jshttp/accepts/issues" + }, + "bundleDependencies": false, + "dependencies": { + "mime-types": "~2.0.4", + "negotiator": "0.4.9" + }, + "deprecated": false, + "description": "Higher-level content negotiation", + "devDependencies": { + "istanbul": "~0.3.4", + "mocha": "~2.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "index.js" + ], + "homepage": "https://github.com/jshttp/accepts#readme", + "keywords": [ + "content", + "negotiation", + "accept", + "accepts" + ], + "license": "MIT", + "name": "accepts", + "repository": { + "type": "git", + "url": "git+https://github.com/jshttp/accepts.git" + }, + "scripts": { + "test": "mocha --reporter spec --check-leaks --bail test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" + }, + "version": "1.1.4" +} diff --git a/socket/node_modules/after/.npmignore b/socket/node_modules/after/.npmignore new file mode 100644 index 0000000..6c78602 --- /dev/null +++ b/socket/node_modules/after/.npmignore @@ -0,0 +1,2 @@ +node_modules +.monitor diff --git a/socket/node_modules/after/.travis.yml b/socket/node_modules/after/.travis.yml new file mode 100644 index 0000000..afd72d0 --- /dev/null +++ b/socket/node_modules/after/.travis.yml @@ -0,0 +1,12 @@ +language: node_js +node_js: + - 0.6 + - 0.8 + - 0.9 + - 0.10 + - 0.12 + - 4.2.4 + - 5.4.1 + - iojs-1 + - iojs-2 + - iojs-3 diff --git a/socket/node_modules/after/LICENCE b/socket/node_modules/after/LICENCE new file mode 100644 index 0000000..7c35130 --- /dev/null +++ b/socket/node_modules/after/LICENCE @@ -0,0 +1,19 @@ +Copyright (c) 2011 Raynos. + +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: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +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. \ No newline at end of file diff --git a/socket/node_modules/after/README.md b/socket/node_modules/after/README.md new file mode 100644 index 0000000..fc69096 --- /dev/null +++ b/socket/node_modules/after/README.md @@ -0,0 +1,115 @@ +# After [![Build Status][1]][2] + +Invoke callback after n calls + +## Status: production ready + +## Example + +```js +var after = require("after") +var db = require("./db") // some db. + +var updateUser = function (req, res) { + // use after to run two tasks in parallel, + // namely get request body and get session + // then run updateUser with the results + var next = after(2, updateUser) + var results = {} + + getJSONBody(req, res, function (err, body) { + if (err) return next(err) + + results.body = body + next(null, results) + }) + + getSessionUser(req, res, function (err, user) { + if (err) return next(err) + + results.user = user + next(null, results) + }) + + // now do the thing! + function updateUser(err, result) { + if (err) { + res.statusCode = 500 + return res.end("Unexpected Error") + } + + if (!result.user || result.user.role !== "admin") { + res.statusCode = 403 + return res.end("Permission Denied") + } + + db.put("users:" + req.params.userId, result.body, function (err) { + if (err) { + res.statusCode = 500 + return res.end("Unexpected Error") + } + + res.statusCode = 200 + res.end("Ok") + }) + } +} +``` + +## Naive Example + +```js +var after = require("after") + , next = after(3, logItWorks) + +next() +next() +next() // it works + +function logItWorks() { + console.log("it works!") +} +``` + +## Example with error handling + +```js +var after = require("after") + , next = after(3, logError) + +next() +next(new Error("oops")) // logs oops +next() // does nothing + +// This callback is only called once. +// If there is an error the callback gets called immediately +// this avoids the situation where errors get lost. +function logError(err) { + console.log(err) +} +``` + +## Installation + +`npm install after` + +## Tests + +`npm test` + +## Contributors + + - Raynos + - defunctzombie + +## MIT Licenced + + [1]: https://secure.travis-ci.org/Raynos/after.png + [2]: http://travis-ci.org/Raynos/after + [3]: http://raynos.org/blog/2/Flow-control-in-node.js + [4]: http://stackoverflow.com/questions/6852059/determining-the-end-of-asynchronous-operations-javascript/6852307#6852307 + [5]: http://stackoverflow.com/questions/6869872/in-javascript-what-are-best-practices-for-executing-multiple-asynchronous-functi/6870031#6870031 + [6]: http://stackoverflow.com/questions/6864397/javascript-performance-long-running-tasks/6889419#6889419 + [7]: http://stackoverflow.com/questions/6597493/synchronous-database-queries-with-node-js/6620091#6620091 + [8]: http://github.com/Raynos/iterators + [9]: http://github.com/Raynos/composite diff --git a/socket/node_modules/after/index.js b/socket/node_modules/after/index.js new file mode 100644 index 0000000..ec24879 --- /dev/null +++ b/socket/node_modules/after/index.js @@ -0,0 +1,28 @@ +module.exports = after + +function after(count, callback, err_cb) { + var bail = false + err_cb = err_cb || noop + proxy.count = count + + return (count === 0) ? callback() : proxy + + function proxy(err, result) { + if (proxy.count <= 0) { + throw new Error('after called too many times') + } + --proxy.count + + // after first error, rest are passed to err_cb + if (err) { + bail = true + callback(err) + // future error callbacks will go to error handler + callback = err_cb + } else if (proxy.count === 0 && !bail) { + callback(null, result) + } + } +} + +function noop() {} diff --git a/socket/node_modules/after/package.json b/socket/node_modules/after/package.json new file mode 100644 index 0000000..d88c772 --- /dev/null +++ b/socket/node_modules/after/package.json @@ -0,0 +1,63 @@ +{ + "_from": "after@0.8.2", + "_id": "after@0.8.2", + "_inBundle": false, + "_integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", + "_location": "/after", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "after@0.8.2", + "name": "after", + "escapedName": "after", + "rawSpec": "0.8.2", + "saveSpec": null, + "fetchSpec": "0.8.2" + }, + "_requiredBy": [ + "/engine.io-parser" + ], + "_resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "_shasum": "fedb394f9f0e02aa9768e702bda23b505fae7e1f", + "_spec": "after@0.8.2", + "_where": "/var/www/htdocs/coze/socket/node_modules/engine.io-parser", + "author": { + "name": "Raynos", + "email": "raynos2@gmail.com" + }, + "bugs": { + "url": "https://github.com/Raynos/after/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "Raynos", + "email": "raynos2@gmail.com", + "url": "http://raynos.org" + } + ], + "deprecated": false, + "description": "after - tiny flow control", + "devDependencies": { + "mocha": "~1.8.1" + }, + "homepage": "https://github.com/Raynos/after#readme", + "keywords": [ + "flowcontrol", + "after", + "flow", + "control", + "arch" + ], + "license": "MIT", + "name": "after", + "repository": { + "type": "git", + "url": "git://github.com/Raynos/after.git" + }, + "scripts": { + "test": "mocha --ui tdd --reporter spec test/*.js" + }, + "version": "0.8.2" +} diff --git a/socket/node_modules/after/test/after-test.js b/socket/node_modules/after/test/after-test.js new file mode 100644 index 0000000..0d63f4c --- /dev/null +++ b/socket/node_modules/after/test/after-test.js @@ -0,0 +1,120 @@ +/*global suite, test*/ + +var assert = require("assert") + , after = require("../") + +test("exists", function () { + assert(typeof after === "function", "after is not a function") +}) + +test("after when called with 0 invokes", function (done) { + after(0, done) +}); + +test("after 1", function (done) { + var next = after(1, done) + next() +}) + +test("after 5", function (done) { + var next = after(5, done) + , i = 5 + + while (i--) { + next() + } +}) + +test("manipulate count", function (done) { + var next = after(1, done) + , i = 5 + + next.count = i + while (i--) { + next() + } +}) + +test("after terminates on error", function (done) { + var next = after(2, function(err) { + assert.equal(err.message, 'test'); + done(); + }) + next(new Error('test')) + next(new Error('test2')) +}) + +test('gee', function(done) { + done = after(2, done) + + function cb(err) { + assert.equal(err.message, 1); + done() + } + + var next = after(3, cb, function(err) { + assert.equal(err.message, 2) + done() + }); + + next() + next(new Error(1)) + next(new Error(2)) +}) + +test('eee', function(done) { + done = after(3, done) + + function cb(err) { + assert.equal(err.message, 1); + done() + } + + var next = after(3, cb, function(err) { + assert.equal(err.message, 2) + done() + }); + + next(new Error(1)) + next(new Error(2)) + next(new Error(2)) +}) + +test('gge', function(done) { + function cb(err) { + assert.equal(err.message, 1); + done() + } + + var next = after(3, cb, function(err) { + // should not happen + assert.ok(false); + }); + + next() + next() + next(new Error(1)) +}) + +test('egg', function(done) { + function cb(err) { + assert.equal(err.message, 1); + done() + } + + var next = after(3, cb, function(err) { + // should not happen + assert.ok(false); + }); + + next(new Error(1)) + next() + next() +}) + +test('throws on too many calls', function(done) { + var next = after(1, done); + next() + assert.throws(next, /after called too many times/); +}); + diff --git a/socket/node_modules/ansi-regex/index.js b/socket/node_modules/ansi-regex/index.js new file mode 100644 index 0000000..b9574ed --- /dev/null +++ b/socket/node_modules/ansi-regex/index.js @@ -0,0 +1,4 @@ +'use strict'; +module.exports = function () { + return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g; +}; diff --git a/socket/node_modules/ansi-regex/license b/socket/node_modules/ansi-regex/license new file mode 100644 index 0000000..654d0bf --- /dev/null +++ b/socket/node_modules/ansi-regex/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +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: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +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. diff --git a/socket/node_modules/ansi-regex/package.json b/socket/node_modules/ansi-regex/package.json new file mode 100644 index 0000000..39d7032 --- /dev/null +++ b/socket/node_modules/ansi-regex/package.json @@ -0,0 +1,109 @@ +{ + "_from": "ansi-regex@^2.0.0", + "_id": "ansi-regex@2.1.1", + "_inBundle": false, + "_integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "_location": "/ansi-regex", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "ansi-regex@^2.0.0", + "name": "ansi-regex", + "escapedName": "ansi-regex", + "rawSpec": "^2.0.0", + "saveSpec": null, + "fetchSpec": "^2.0.0" + }, + "_requiredBy": [ + "/has-ansi", + "/strip-ansi" + ], + "_resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "_shasum": "c3b33ab5ee360d86e0e628f0468ae7ef27d654df", + "_spec": "ansi-regex@^2.0.0", + "_where": "/var/www/htdocs/coze/socket/node_modules/has-ansi", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "bugs": { + "url": "https://github.com/chalk/ansi-regex/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Regular expression for matching ANSI escape codes", + "devDependencies": { + "ava": "0.17.0", + "xo": "0.16.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "files": [ + "index.js" + ], + "homepage": "https://github.com/chalk/ansi-regex#readme", + "keywords": [ + "ansi", + "styles", + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "string", + "tty", + "escape", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "command-line", + "text", + "regex", + "regexp", + "re", + "match", + "test", + "find", + "pattern" + ], + "license": "MIT", + "maintainers": [ + { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + { + "name": "Joshua Appelman", + "email": "jappelman@xebia.com", + "url": "jbnicolai.com" + }, + { + "name": "JD Ballard", + "email": "i.am.qix@gmail.com", + "url": "github.com/qix-" + } + ], + "name": "ansi-regex", + "repository": { + "type": "git", + "url": "git+https://github.com/chalk/ansi-regex.git" + }, + "scripts": { + "test": "xo && ava --verbose", + "view-supported": "node fixtures/view-codes.js" + }, + "version": "2.1.1", + "xo": { + "rules": { + "guard-for-in": 0, + "no-loop-func": 0 + } + } +} diff --git a/socket/node_modules/ansi-regex/readme.md b/socket/node_modules/ansi-regex/readme.md new file mode 100644 index 0000000..6a928ed --- /dev/null +++ b/socket/node_modules/ansi-regex/readme.md @@ -0,0 +1,39 @@ +# ansi-regex [![Build Status](https://travis-ci.org/chalk/ansi-regex.svg?branch=master)](https://travis-ci.org/chalk/ansi-regex) + +> Regular expression for matching [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code) + + +## Install + +``` +$ npm install --save ansi-regex +``` + + +## Usage + +```js +const ansiRegex = require('ansi-regex'); + +ansiRegex().test('\u001b[4mcake\u001b[0m'); +//=> true + +ansiRegex().test('cake'); +//=> false + +'\u001b[4mcake\u001b[0m'.match(ansiRegex()); +//=> ['\u001b[4m', '\u001b[0m'] +``` + +## FAQ + +### Why do you test for codes not in the ECMA 48 standard? + +Some of the codes we run as a test are codes that we acquired finding various lists of non-standard or manufacturer specific codes. If I recall correctly, we test for both standard and non-standard codes, as most of them follow the same or similar format and can be safely matched in strings without the risk of removing actual string content. There are a few non-standard control codes that do not follow the traditional format (i.e. they end in numbers) thus forcing us to exclude them from the test because we cannot reliably match them. + +On the historical side, those ECMA standards were established in the early 90's whereas the VT100, for example, was designed in the mid/late 70's. At that point in time, control codes were still pretty ungoverned and engineers used them for a multitude of things, namely to activate hardware ports that may have been proprietary. Somewhere else you see a similar 'anarchy' of codes is in the x86 architecture for processors; there are a ton of "interrupts" that can mean different things on certain brands of processors, most of which have been phased out. + + +## License + +MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/socket/node_modules/ansi-styles/index.js b/socket/node_modules/ansi-styles/index.js new file mode 100644 index 0000000..7894527 --- /dev/null +++ b/socket/node_modules/ansi-styles/index.js @@ -0,0 +1,65 @@ +'use strict'; + +function assembleStyles () { + var styles = { + modifiers: { + reset: [0, 0], + bold: [1, 22], // 21 isn't widely supported and 22 does the same thing + dim: [2, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + hidden: [8, 28], + strikethrough: [9, 29] + }, + colors: { + black: [30, 39], + red: [31, 39], + green: [32, 39], + yellow: [33, 39], + blue: [34, 39], + magenta: [35, 39], + cyan: [36, 39], + white: [37, 39], + gray: [90, 39] + }, + bgColors: { + bgBlack: [40, 49], + bgRed: [41, 49], + bgGreen: [42, 49], + bgYellow: [43, 49], + bgBlue: [44, 49], + bgMagenta: [45, 49], + bgCyan: [46, 49], + bgWhite: [47, 49] + } + }; + + // fix humans + styles.colors.grey = styles.colors.gray; + + Object.keys(styles).forEach(function (groupName) { + var group = styles[groupName]; + + Object.keys(group).forEach(function (styleName) { + var style = group[styleName]; + + styles[styleName] = group[styleName] = { + open: '\u001b[' + style[0] + 'm', + close: '\u001b[' + style[1] + 'm' + }; + }); + + Object.defineProperty(styles, groupName, { + value: group, + enumerable: false + }); + }); + + return styles; +} + +Object.defineProperty(module, 'exports', { + enumerable: true, + get: assembleStyles +}); diff --git a/socket/node_modules/ansi-styles/license b/socket/node_modules/ansi-styles/license new file mode 100644 index 0000000..654d0bf --- /dev/null +++ b/socket/node_modules/ansi-styles/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +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: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +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. diff --git a/socket/node_modules/ansi-styles/package.json b/socket/node_modules/ansi-styles/package.json new file mode 100644 index 0000000..d62c145 --- /dev/null +++ b/socket/node_modules/ansi-styles/package.json @@ -0,0 +1,90 @@ +{ + "_from": "ansi-styles@^2.2.1", + "_id": "ansi-styles@2.2.1", + "_inBundle": false, + "_integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "_location": "/ansi-styles", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "ansi-styles@^2.2.1", + "name": "ansi-styles", + "escapedName": "ansi-styles", + "rawSpec": "^2.2.1", + "saveSpec": null, + "fetchSpec": "^2.2.1" + }, + "_requiredBy": [ + "/chalk" + ], + "_resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "_shasum": "b432dd3358b634cf75e1e4664368240533c1ddbe", + "_spec": "ansi-styles@^2.2.1", + "_where": "/var/www/htdocs/coze/socket/node_modules/chalk", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "bugs": { + "url": "https://github.com/chalk/ansi-styles/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "ANSI escape codes for styling strings in the terminal", + "devDependencies": { + "mocha": "*" + }, + "engines": { + "node": ">=0.10.0" + }, + "files": [ + "index.js" + ], + "homepage": "https://github.com/chalk/ansi-styles#readme", + "keywords": [ + "ansi", + "styles", + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "string", + "tty", + "escape", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "log", + "logging", + "command-line", + "text" + ], + "license": "MIT", + "maintainers": [ + { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + { + "name": "Joshua Appelman", + "email": "jappelman@xebia.com", + "url": "jbnicolai.com" + } + ], + "name": "ansi-styles", + "repository": { + "type": "git", + "url": "git+https://github.com/chalk/ansi-styles.git" + }, + "scripts": { + "test": "mocha" + }, + "version": "2.2.1" +} diff --git a/socket/node_modules/ansi-styles/readme.md b/socket/node_modules/ansi-styles/readme.md new file mode 100644 index 0000000..3f933f6 --- /dev/null +++ b/socket/node_modules/ansi-styles/readme.md @@ -0,0 +1,86 @@ +# ansi-styles [![Build Status](https://travis-ci.org/chalk/ansi-styles.svg?branch=master)](https://travis-ci.org/chalk/ansi-styles) + +> [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) for styling strings in the terminal + +You probably want the higher-level [chalk](https://github.com/chalk/chalk) module for styling your strings. + +![](screenshot.png) + + +## Install + +``` +$ npm install --save ansi-styles +``` + + +## Usage + +```js +var ansi = require('ansi-styles'); + +console.log(ansi.green.open + 'Hello world!' + ansi.green.close); +``` + + +## API + +Each style has an `open` and `close` property. + + +## Styles + +### Modifiers + +- `reset` +- `bold` +- `dim` +- `italic` *(not widely supported)* +- `underline` +- `inverse` +- `hidden` +- `strikethrough` *(not widely supported)* + +### Colors + +- `black` +- `red` +- `green` +- `yellow` +- `blue` +- `magenta` +- `cyan` +- `white` +- `gray` + +### Background colors + +- `bgBlack` +- `bgRed` +- `bgGreen` +- `bgYellow` +- `bgBlue` +- `bgMagenta` +- `bgCyan` +- `bgWhite` + + +## Advanced usage + +By default you get a map of styles, but the styles are also available as groups. They are non-enumerable so they don't show up unless you access them explicitly. This makes it easier to expose only a subset in a higher-level module. + +- `ansi.modifiers` +- `ansi.colors` +- `ansi.bgColors` + + +###### Example + +```js +console.log(ansi.colors.green.open); +``` + + +## License + +MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/socket/node_modules/arraybuffer.slice/.npmignore b/socket/node_modules/arraybuffer.slice/.npmignore new file mode 100644 index 0000000..cfbee8d --- /dev/null +++ b/socket/node_modules/arraybuffer.slice/.npmignore @@ -0,0 +1,17 @@ +lib-cov +lcov.info +*.seed +*.log +*.csv +*.dat +*.out +*.pid +*.gz + +pids +logs +results +build +.grunt + +node_modules diff --git a/socket/node_modules/arraybuffer.slice/LICENCE b/socket/node_modules/arraybuffer.slice/LICENCE new file mode 100644 index 0000000..35fa375 --- /dev/null +++ b/socket/node_modules/arraybuffer.slice/LICENCE @@ -0,0 +1,18 @@ +Copyright (C) 2013 Rase- + +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: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +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. diff --git a/socket/node_modules/arraybuffer.slice/Makefile b/socket/node_modules/arraybuffer.slice/Makefile new file mode 100644 index 0000000..849887f --- /dev/null +++ b/socket/node_modules/arraybuffer.slice/Makefile @@ -0,0 +1,8 @@ + +REPORTER = dot + +test: + @./node_modules/.bin/mocha \ + --reporter $(REPORTER) + +.PHONY: test diff --git a/socket/node_modules/arraybuffer.slice/README.md b/socket/node_modules/arraybuffer.slice/README.md new file mode 100644 index 0000000..15e465e --- /dev/null +++ b/socket/node_modules/arraybuffer.slice/README.md @@ -0,0 +1,17 @@ +# How to +```javascript +var sliceBuffer = require('arraybuffer.slice'); +var ab = (new Int8Array(5)).buffer; +var sliced = sliceBuffer(ab, 1, 3); +sliced = sliceBuffer(ab, 1); +``` + +# Licence (MIT) +Copyright (C) 2013 Rase- + + +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: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +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. diff --git a/socket/node_modules/arraybuffer.slice/index.js b/socket/node_modules/arraybuffer.slice/index.js new file mode 100644 index 0000000..11ac556 --- /dev/null +++ b/socket/node_modules/arraybuffer.slice/index.js @@ -0,0 +1,29 @@ +/** + * An abstraction for slicing an arraybuffer even when + * ArrayBuffer.prototype.slice is not supported + * + * @api public + */ + +module.exports = function(arraybuffer, start, end) { + var bytes = arraybuffer.byteLength; + start = start || 0; + end = end || bytes; + + if (arraybuffer.slice) { return arraybuffer.slice(start, end); } + + if (start < 0) { start += bytes; } + if (end < 0) { end += bytes; } + if (end > bytes) { end = bytes; } + + if (start >= bytes || start >= end || bytes === 0) { + return new ArrayBuffer(0); + } + + var abv = new Uint8Array(arraybuffer); + var result = new Uint8Array(end - start); + for (var i = start, ii = 0; i < end; i++, ii++) { + result[ii] = abv[i]; + } + return result.buffer; +}; diff --git a/socket/node_modules/arraybuffer.slice/package.json b/socket/node_modules/arraybuffer.slice/package.json new file mode 100644 index 0000000..bf8c019 --- /dev/null +++ b/socket/node_modules/arraybuffer.slice/package.json @@ -0,0 +1,44 @@ +{ + "_from": "arraybuffer.slice@~0.0.7", + "_id": "arraybuffer.slice@0.0.7", + "_inBundle": false, + "_integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", + "_location": "/arraybuffer.slice", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "arraybuffer.slice@~0.0.7", + "name": "arraybuffer.slice", + "escapedName": "arraybuffer.slice", + "rawSpec": "~0.0.7", + "saveSpec": null, + "fetchSpec": "~0.0.7" + }, + "_requiredBy": [ + "/engine.io-parser" + ], + "_resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", + "_shasum": "3bbc4275dd584cc1b10809b89d4e8b63a69e7675", + "_spec": "arraybuffer.slice@~0.0.7", + "_where": "/var/www/htdocs/coze/socket/node_modules/engine.io-parser", + "bugs": { + "url": "https://github.com/rase-/arraybuffer.slice/issues" + }, + "bundleDependencies": false, + "dependencies": {}, + "deprecated": false, + "description": "Exports a function for slicing ArrayBuffers (no polyfilling)", + "devDependencies": { + "expect.js": "0.2.0", + "mocha": "1.17.1" + }, + "homepage": "https://github.com/rase-/arraybuffer.slice", + "license": "MIT", + "name": "arraybuffer.slice", + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/rase-/arraybuffer.slice.git" + }, + "version": "0.0.7" +} diff --git a/socket/node_modules/arraybuffer.slice/test/slice-buffer.js b/socket/node_modules/arraybuffer.slice/test/slice-buffer.js new file mode 100644 index 0000000..4778da6 --- /dev/null +++ b/socket/node_modules/arraybuffer.slice/test/slice-buffer.js @@ -0,0 +1,227 @@ +/* + * Test dependencies + */ + +var sliceBuffer = require('../index.js'); +var expect = require('expect.js'); + +/** + * Tests + */ + +describe('sliceBuffer', function() { + describe('using standard slice', function() { + it('should slice correctly with only start provided', function() { + var abv = new Uint8Array(10); + for (var i = 0; i < abv.length; i++) { + abv[i] = i; + } + + var sliced = sliceBuffer(abv.buffer, 3); + var sabv = new Uint8Array(sliced); + for (var i = 3, ii = 0; i < abv.length; i++, ii++) { + expect(abv[i]).to.equal(sabv[ii]); + } + }); + + it('should slice correctly with start and end provided', function() { + var abv = new Uint8Array(10); + for (var i = 0; i < abv.length; i++) { + abv[i] = i; + } + + var sliced = sliceBuffer(abv.buffer, 3, 8); + var sabv = new Uint8Array(sliced); + for (var i = 3, ii = 0; i < 8; i++, ii++) { + expect(abv[i]).to.equal(sabv[ii]); + } + }); + + it('should slice correctly with negative start', function() { + var abv = new Uint8Array(10); + for (var i = 0; i < abv.length; i++) { + abv[i] = i; + } + + var sliced = sliceBuffer(abv.buffer, -3); + var sabv = new Uint8Array(sliced); + for (var i = abv.length - 3, ii = 0; i < abv.length; i++, ii++) { + expect(abv[i]).to.equal(sabv[ii]); + } + }); + + it('should slice correctly with negative end', function() { + var abv = new Uint8Array(10); + for (var i = 0; i < abv.length; i++) { + abv[i] = i; + } + + var sliced = sliceBuffer(abv.buffer, 0, -3); + var sabv = new Uint8Array(sliced); + for (var i = 0, ii = 0; i < abv.length - 3; i++, ii++) { + expect(abv[i]).to.equal(sabv[ii]); + } + }); + + it('should slice correctly with negative start and end', function() { + var abv = new Uint8Array(10); + for (var i = 0; i < abv.length; i++) { + abv[i] = i; + } + + var sliced = sliceBuffer(abv.buffer, -6, -3); + var sabv = new Uint8Array(sliced); + for (var i = abv.length - 6, ii = 0; i < abv.length - 3; i++, ii++) { + expect(abv[i]).to.equal(sabv[ii]); + } + }); + + it('should slice correctly with equal start and end', function() { + var abv = new Uint8Array(10); + for (var i = 0; i < abv.length; i++) { + abv[i] = i; + } + + var sliced = sliceBuffer(abv.buffer, 1, 1); + expect(sliced.byteLength).to.equal(0); + }); + + it('should slice correctly when end larger than buffer', function() { + var abv = new Uint8Array(10); + for (var i = 0; i < abv.length; i++) { + abv[i] = i; + } + + var sliced = sliceBuffer(abv.buffer, 0, 100); + expect(new Uint8Array(sliced)).to.eql(abv); + }); + + it('shoud slice correctly when start larger than end', function() { + var abv = new Uint8Array(10); + for (var i = 0; i < abv.length; i++) { + abv[i] = i; + } + + var sliced = sliceBuffer(abv.buffer, 6, 5); + expect(sliced.byteLength).to.equal(0); + }); + }); + + describe('using fallback', function() { + it('should slice correctly with only start provided', function() { + var abv = new Uint8Array(10); + for (var i = 0; i < abv.length; i++) { + abv[i] = i; + } + var ab = abv.buffer; + ab.slice = undefined; + + var sliced = sliceBuffer(ab, 3); + var sabv = new Uint8Array(sliced); + for (var i = 3, ii = 0; i < abv.length; i++, ii++) { + expect(abv[i]).to.equal(sabv[ii]); + } + }); + + it('should slice correctly with start and end provided', function() { + var abv = new Uint8Array(10); + for (var i = 0; i < abv.length; i++) { + abv[i] = i; + } + var ab = abv.buffer; + ab.slice = undefined; + + + var sliced = sliceBuffer(ab, 3, 8); + var sabv = new Uint8Array(sliced); + for (var i = 3, ii = 0; i < 8; i++, ii++) { + expect(abv[i]).to.equal(sabv[ii]); + } + }); + + it('should slice correctly with negative start', function() { + var abv = new Uint8Array(10); + for (var i = 0; i < abv.length; i++) { + abv[i] = i; + } + var ab = abv.buffer; + ab.slice = undefined; + + + var sliced = sliceBuffer(ab, -3); + var sabv = new Uint8Array(sliced); + for (var i = abv.length - 3, ii = 0; i < abv.length; i++, ii++) { + expect(abv[i]).to.equal(sabv[ii]); + } + }); + + it('should slice correctly with negative end', function() { + var abv = new Uint8Array(10); + for (var i = 0; i < abv.length; i++) { + abv[i] = i; + } + var ab = abv.buffer; + ab.slice = undefined; + + var sliced = sliceBuffer(ab, 0, -3); + var sabv = new Uint8Array(sliced); + for (var i = 0, ii = 0; i < abv.length - 3; i++, ii++) { + expect(abv[i]).to.equal(sabv[ii]); + } + }); + + it('should slice correctly with negative start and end', function() { + var abv = new Uint8Array(10); + for (var i = 0; i < abv.length; i++) { + abv[i] = i; + } + var ab = abv.buffer; + ab.slice = undefined; + + var sliced = sliceBuffer(ab, -6, -3); + var sabv = new Uint8Array(sliced); + for (var i = abv.length - 6, ii = 0; i < abv.length - 3; i++, ii++) { + expect(abv[i]).to.equal(sabv[ii]); + } + }); + + it('should slice correctly with equal start and end', function() { + var abv = new Uint8Array(10); + for (var i = 0; i < abv.length; i++) { + abv[i] = i; + } + var ab = abv.buffer; + ab.slice = undefined; + + var sliced = sliceBuffer(ab, 1, 1); + expect(sliced.byteLength).to.equal(0); + }); + + it('should slice correctly when end larger than buffer', function() { + var abv = new Uint8Array(10); + for (var i = 0; i < abv.length; i++) { + abv[i] = i; + } + var ab = abv.buffer; + ab.slice = undefined; + + var sliced = sliceBuffer(ab, 0, 100); + var sabv = new Uint8Array(sliced); + for (var i = 0; i < abv.length; i++) { + expect(abv[i]).to.equal(sabv[i]); + } + }); + + it('shoud slice correctly when start larger than end', function() { + var abv = new Uint8Array(10); + for (var i = 0; i < abv.length; i++) { + abv[i] = i; + } + var ab = abv.buffer; + ab.slice = undefined; + + var sliced = sliceBuffer(ab, 6, 5); + expect(sliced.byteLength).to.equal(0); + }); + }); +}); diff --git a/socket/node_modules/asap/CHANGES.md b/socket/node_modules/asap/CHANGES.md new file mode 100644 index 0000000..f105b91 --- /dev/null +++ b/socket/node_modules/asap/CHANGES.md @@ -0,0 +1,70 @@ + +## 2.0.6 + +Version 2.0.4 adds support for React Native by clarifying in package.json that +the browser environment does not support Node.js domains. +Why this is necessary, we leave as an exercise for the user. + +## 2.0.3 + +Version 2.0.3 fixes a bug when adjusting the capacity of the task queue. + +## 2.0.1-2.02 + +Version 2.0.1 fixes a bug in the way redirects were expressed that affected the +function of Browserify, but which Mr would tolerate. + +## 2.0.0 + +Version 2 of ASAP is a full rewrite with a few salient changes. +First, the ASAP source is CommonJS only and designed with [Browserify][] and +[Browserify-compatible][Mr] module loaders in mind. + +[Browserify]: https://github.com/substack/node-browserify +[Mr]: https://github.com/montagejs/mr + +The new version has been refactored in two dimensions. +Support for Node.js and browsers have been separated, using Browserify +redirects and ASAP has been divided into two modules. +The "raw" layer depends on the tasks to catch thrown exceptions and unravel +Node.js domains. + +The full implementation of ASAP is loadable as `require("asap")` in both Node.js +and browsers. + +The raw layer that lacks exception handling overhead is loadable as +`require("asap/raw")`. +The interface is the same for both layers. + +Tasks are no longer required to be functions, but can rather be any object that +implements `task.call()`. +With this feature you can recycle task objects to avoid garbage collector churn +and avoid closures in general. + +The implementation has been rigorously documented so that our successors can +understand the scope of the problem that this module solves and all of its +nuances, ensuring that the next generation of implementations know what details +are essential. + +- [asap.js](https://github.com/kriskowal/asap/blob/master/asap.js) +- [raw.js](https://github.com/kriskowal/asap/blob/master/raw.js) +- [browser-asap.js](https://github.com/kriskowal/asap/blob/master/browser-asap.js) +- [browser-raw.js](https://github.com/kriskowal/asap/blob/master/browser-raw.js) + +The new version has also been rigorously tested across a broad spectrum of +browsers, in both the window and worker context. +The following charts capture the browser test results for the most recent +release. +The first chart shows test results for ASAP running in the main window context. +The second chart shows test results for ASAP running in a web worker context. +Test results are inconclusive (grey) on browsers that do not support web +workers. +These data are captured automatically by [Continuous +Integration][]. + +![Browser Compatibility](http://kriskowal-asap.s3-website-us-west-2.amazonaws.com/train/integration-2/saucelabs-results-matrix.svg) + +![Compatibility in Web Workers](http://kriskowal-asap.s3-website-us-west-2.amazonaws.com/train/integration-2/saucelabs-worker-results-matrix.svg) + +[Continuous Integration]: https://github.com/kriskowal/asap/blob/master/CONTRIBUTING.md + diff --git a/socket/node_modules/asap/LICENSE.md b/socket/node_modules/asap/LICENSE.md new file mode 100644 index 0000000..ba18c61 --- /dev/null +++ b/socket/node_modules/asap/LICENSE.md @@ -0,0 +1,21 @@ + +Copyright 2009–2014 Contributors. All rights reserved. + +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: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +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. + diff --git a/socket/node_modules/asap/README.md b/socket/node_modules/asap/README.md new file mode 100644 index 0000000..452fd8c --- /dev/null +++ b/socket/node_modules/asap/README.md @@ -0,0 +1,237 @@ +# ASAP + +[![Build Status](https://travis-ci.org/kriskowal/asap.png?branch=master)](https://travis-ci.org/kriskowal/asap) + +Promise and asynchronous observer libraries, as well as hand-rolled callback +programs and libraries, often need a mechanism to postpone the execution of a +callback until the next available event. +(See [Designing API’s for Asynchrony][Zalgo].) +The `asap` function executes a task **as soon as possible** but not before it +returns, waiting only for the completion of the current event and previously +scheduled tasks. + +```javascript +asap(function () { + // ... +}); +``` + +[Zalgo]: http://blog.izs.me/post/59142742143/designing-apis-for-asynchrony + +This CommonJS package provides an `asap` module that exports a function that +executes a task function *as soon as possible*. + +ASAP strives to schedule events to occur before yielding for IO, reflow, +or redrawing. +Each event receives an independent stack, with only platform code in parent +frames and the events run in the order they are scheduled. + +ASAP provides a fast event queue that will execute tasks until it is +empty before yielding to the JavaScript engine's underlying event-loop. +When a task gets added to a previously empty event queue, ASAP schedules a flush +event, preferring for that event to occur before the JavaScript engine has an +opportunity to perform IO tasks or rendering, thus making the first task and +subsequent tasks semantically indistinguishable. +ASAP uses a variety of techniques to preserve this invariant on different +versions of browsers and Node.js. + +By design, ASAP prevents input events from being handled until the task +queue is empty. +If the process is busy enough, this may cause incoming connection requests to be +dropped, and may cause existing connections to inform the sender to reduce the +transmission rate or stall. +ASAP allows this on the theory that, if there is enough work to do, there is no +sense in looking for trouble. +As a consequence, ASAP can interfere with smooth animation. +If your task should be tied to the rendering loop, consider using +`requestAnimationFrame` instead. +A long sequence of tasks can also effect the long running script dialog. +If this is a problem, you may be able to use ASAP’s cousin `setImmediate` to +break long processes into shorter intervals and periodically allow the browser +to breathe. +`setImmediate` will yield for IO, reflow, and repaint events. +It also returns a handler and can be canceled. +For a `setImmediate` shim, consider [YuzuJS setImmediate][setImmediate]. + +[setImmediate]: https://github.com/YuzuJS/setImmediate + +Take care. +ASAP can sustain infinite recursive calls without warning. +It will not halt from a stack overflow, and it will not consume unbounded +memory. +This is behaviorally equivalent to an infinite loop. +Just as with infinite loops, you can monitor a Node.js process for this behavior +with a heart-beat signal. +As with infinite loops, a very small amount of caution goes a long way to +avoiding problems. + +```javascript +function loop() { + asap(loop); +} +loop(); +``` + +In browsers, if a task throws an exception, it will not interrupt the flushing +of high-priority tasks. +The exception will be postponed to a later, low-priority event to avoid +slow-downs. +In Node.js, if a task throws an exception, ASAP will resume flushing only if—and +only after—the error is handled by `domain.on("error")` or +`process.on("uncaughtException")`. + +## Raw ASAP + +Checking for exceptions comes at a cost. +The package also provides an `asap/raw` module that exports the underlying +implementation which is faster but stalls if a task throws an exception. +This internal version of the ASAP function does not check for errors. +If a task does throw an error, it will stall the event queue unless you manually +call `rawAsap.requestFlush()` before throwing the error, or any time after. + +In Node.js, `asap/raw` also runs all tasks outside any domain. +If you need a task to be bound to your domain, you will have to do it manually. + +```js +if (process.domain) { + task = process.domain.bind(task); +} +rawAsap(task); +``` + +## Tasks + +A task may be any object that implements `call()`. +A function will suffice, but closures tend not to be reusable and can cause +garbage collector churn. +Both `asap` and `rawAsap` accept task objects to give you the option of +recycling task objects or using higher callable object abstractions. +See the `asap` source for an illustration. + + +## Compatibility + +ASAP is tested on Node.js v0.10 and in a broad spectrum of web browsers. +The following charts capture the browser test results for the most recent +release. +The first chart shows test results for ASAP running in the main window context. +The second chart shows test results for ASAP running in a web worker context. +Test results are inconclusive (grey) on browsers that do not support web +workers. +These data are captured automatically by [Continuous +Integration][]. + +[Continuous Integration]: https://github.com/kriskowal/asap/blob/master/CONTRIBUTING.md + +![Browser Compatibility](http://kriskowal-asap.s3-website-us-west-2.amazonaws.com/train/integration-2/saucelabs-results-matrix.svg) + +![Compatibility in Web Workers](http://kriskowal-asap.s3-website-us-west-2.amazonaws.com/train/integration-2/saucelabs-worker-results-matrix.svg) + +## Caveats + +When a task is added to an empty event queue, it is not always possible to +guarantee that the task queue will begin flushing immediately after the current +event. +However, once the task queue begins flushing, it will not yield until the queue +is empty, even if the queue grows while executing tasks. + +The following browsers allow the use of [DOM mutation observers][] to access +the HTML [microtask queue][], and thus begin flushing ASAP's task queue +immediately at the end of the current event loop turn, before any rendering or +IO: + +[microtask queue]: http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#microtask-queue +[DOM mutation observers]: http://dom.spec.whatwg.org/#mutation-observers + +- Android 4–4.3 +- Chrome 26–34 +- Firefox 14–29 +- Internet Explorer 11 +- iPad Safari 6–7.1 +- iPhone Safari 7–7.1 +- Safari 6–7 + +In the absense of mutation observers, there are a few browsers, and situations +like web workers in some of the above browsers, where [message channels][] +would be a useful way to avoid falling back to timers. +Message channels give direct access to the HTML [task queue][], so the ASAP +task queue would flush after any already queued rendering and IO tasks, but +without having the minimum delay imposed by timers. +However, among these browsers, Internet Explorer 10 and Safari do not reliably +dispatch messages, so they are not worth the trouble to implement. + +[message channels]: http://www.whatwg.org/specs/web-apps/current-work/multipage/web-messaging.html#message-channels +[task queue]: http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#concept-task + +- Internet Explorer 10 +- Safair 5.0-1 +- Opera 11-12 + +In the absense of mutation observers, these browsers and the following browsers +all fall back to using `setTimeout` and `setInterval` to ensure that a `flush` +occurs. +The implementation uses both and cancels whatever handler loses the race, since +`setTimeout` tends to occasionally skip tasks in unisolated circumstances. +Timers generally delay the flushing of ASAP's task queue for four milliseconds. + +- Firefox 3–13 +- Internet Explorer 6–10 +- iPad Safari 4.3 +- Lynx 2.8.7 + + +## Heritage + +ASAP has been factored out of the [Q][] asynchronous promise library. +It originally had a naïve implementation in terms of `setTimeout`, but +[Malte Ubl][NonBlocking] provided an insight that `postMessage` might be +useful for creating a high-priority, no-delay event dispatch hack. +Since then, Internet Explorer proposed and implemented `setImmediate`. +Robert Katić began contributing to Q by measuring the performance of +the internal implementation of `asap`, paying particular attention to +error recovery. +Domenic, Robert, and Kris Kowal collectively settled on the current strategy of +unrolling the high-priority event queue internally regardless of what strategy +we used to dispatch the potentially lower-priority flush event. +Domenic went on to make ASAP cooperate with Node.js domains. + +[Q]: https://github.com/kriskowal/q +[NonBlocking]: http://www.nonblocking.io/2011/06/windownexttick.html + +For further reading, Nicholas Zakas provided a thorough article on [The +Case for setImmediate][NCZ]. + +[NCZ]: http://www.nczonline.net/blog/2013/07/09/the-case-for-setimmediate/ + +Ember’s RSVP promise implementation later [adopted][RSVP ASAP] the name ASAP but +further developed the implentation. +Particularly, The `MessagePort` implementation was abandoned due to interaction +[problems with Mobile Internet Explorer][IE Problems] in favor of an +implementation backed on the newer and more reliable DOM `MutationObserver` +interface. +These changes were back-ported into this library. + +[IE Problems]: https://github.com/cujojs/when/issues/197 +[RSVP ASAP]: https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js + +In addition, ASAP factored into `asap` and `asap/raw`, such that `asap` remained +exception-safe, but `asap/raw` provided a tight kernel that could be used for +tasks that guaranteed that they would not throw exceptions. +This core is useful for promise implementations that capture thrown errors in +rejected promises and do not need a second safety net. +At the same time, the exception handling in `asap` was factored into separate +implementations for Node.js and browsers, using the the [Browserify][Browser +Config] `browser` property in `package.json` to instruct browser module loaders +and bundlers, including [Browserify][], [Mr][], and [Mop][], to use the +browser-only implementation. + +[Browser Config]: https://gist.github.com/defunctzombie/4339901 +[Browserify]: https://github.com/substack/node-browserify +[Mr]: https://github.com/montagejs/mr +[Mop]: https://github.com/montagejs/mop + +## License + +Copyright 2009-2014 by Contributors +MIT License (enclosed) + diff --git a/socket/node_modules/asap/asap.js b/socket/node_modules/asap/asap.js new file mode 100644 index 0000000..f04fcd5 --- /dev/null +++ b/socket/node_modules/asap/asap.js @@ -0,0 +1,65 @@ +"use strict"; + +var rawAsap = require("./raw"); +var freeTasks = []; + +/** + * Calls a task as soon as possible after returning, in its own event, with + * priority over IO events. An exception thrown in a task can be handled by + * `process.on("uncaughtException") or `domain.on("error")`, but will otherwise + * crash the process. If the error is handled, all subsequent tasks will + * resume. + * + * @param {{call}} task A callable object, typically a function that takes no + * arguments. + */ +module.exports = asap; +function asap(task) { + var rawTask; + if (freeTasks.length) { + rawTask = freeTasks.pop(); + } else { + rawTask = new RawTask(); + } + rawTask.task = task; + rawTask.domain = process.domain; + rawAsap(rawTask); +} + +function RawTask() { + this.task = null; + this.domain = null; +} + +RawTask.prototype.call = function () { + if (this.domain) { + this.domain.enter(); + } + var threw = true; + try { + this.task.call(); + threw = false; + // If the task throws an exception (presumably) Node.js restores the + // domain stack for the next event. + if (this.domain) { + this.domain.exit(); + } + } finally { + // We use try/finally and a threw flag to avoid messing up stack traces + // when we catch and release errors. + if (threw) { + // In Node.js, uncaught exceptions are considered fatal errors. + // Re-throw them to interrupt flushing! + // Ensure that flushing continues if an uncaught exception is + // suppressed listening process.on("uncaughtException") or + // domain.on("error"). + rawAsap.requestFlush(); + } + // If the task threw an error, we do not want to exit the domain here. + // Exiting the domain would prevent the domain from catching the error. + this.task = null; + this.domain = null; + freeTasks.push(this); + } +}; + diff --git a/socket/node_modules/asap/browser-asap.js b/socket/node_modules/asap/browser-asap.js new file mode 100644 index 0000000..805c982 --- /dev/null +++ b/socket/node_modules/asap/browser-asap.js @@ -0,0 +1,66 @@ +"use strict"; + +// rawAsap provides everything we need except exception management. +var rawAsap = require("./raw"); +// RawTasks are recycled to reduce GC churn. +var freeTasks = []; +// We queue errors to ensure they are thrown in right order (FIFO). +// Array-as-queue is good enough here, since we are just dealing with exceptions. +var pendingErrors = []; +var requestErrorThrow = rawAsap.makeRequestCallFromTimer(throwFirstError); + +function throwFirstError() { + if (pendingErrors.length) { + throw pendingErrors.shift(); + } +} + +/** + * Calls a task as soon as possible after returning, in its own event, with priority + * over other events like animation, reflow, and repaint. An error thrown from an + * event will not interrupt, nor even substantially slow down the processing of + * other events, but will be rather postponed to a lower priority event. + * @param {{call}} task A callable object, typically a function that takes no + * arguments. + */ +module.exports = asap; +function asap(task) { + var rawTask; + if (freeTasks.length) { + rawTask = freeTasks.pop(); + } else { + rawTask = new RawTask(); + } + rawTask.task = task; + rawAsap(rawTask); +} + +// We wrap tasks with recyclable task objects. A task object implements +// `call`, just like a function. +function RawTask() { + this.task = null; +} + +// The sole purpose of wrapping the task is to catch the exception and recycle +// the task object after its single use. +RawTask.prototype.call = function () { + try { + this.task.call(); + } catch (error) { + if (asap.onerror) { + // This hook exists purely for testing purposes. + // Its name will be periodically randomized to break any code that + // depends on its existence. + asap.onerror(error); + } else { + // In a web browser, exceptions are not fatal. However, to avoid + // slowing down the queue of pending tasks, we rethrow the error in a + // lower priority turn. + pendingErrors.push(error); + requestErrorThrow(); + } + } finally { + this.task = null; + freeTasks[freeTasks.length] = this; + } +}; diff --git a/socket/node_modules/asap/browser-raw.js b/socket/node_modules/asap/browser-raw.js new file mode 100644 index 0000000..9cee7e3 --- /dev/null +++ b/socket/node_modules/asap/browser-raw.js @@ -0,0 +1,223 @@ +"use strict"; + +// Use the fastest means possible to execute a task in its own turn, with +// priority over other events including IO, animation, reflow, and redraw +// events in browsers. +// +// An exception thrown by a task will permanently interrupt the processing of +// subsequent tasks. The higher level `asap` function ensures that if an +// exception is thrown by a task, that the task queue will continue flushing as +// soon as possible, but if you use `rawAsap` directly, you are responsible to +// either ensure that no exceptions are thrown from your task, or to manually +// call `rawAsap.requestFlush` if an exception is thrown. +module.exports = rawAsap; +function rawAsap(task) { + if (!queue.length) { + requestFlush(); + flushing = true; + } + // Equivalent to push, but avoids a function call. + queue[queue.length] = task; +} + +var queue = []; +// Once a flush has been requested, no further calls to `requestFlush` are +// necessary until the next `flush` completes. +var flushing = false; +// `requestFlush` is an implementation-specific method that attempts to kick +// off a `flush` event as quickly as possible. `flush` will attempt to exhaust +// the event queue before yielding to the browser's own event loop. +var requestFlush; +// The position of the next task to execute in the task queue. This is +// preserved between calls to `flush` so that it can be resumed if +// a task throws an exception. +var index = 0; +// If a task schedules additional tasks recursively, the task queue can grow +// unbounded. To prevent memory exhaustion, the task queue will periodically +// truncate already-completed tasks. +var capacity = 1024; + +// The flush function processes all tasks that have been scheduled with +// `rawAsap` unless and until one of those tasks throws an exception. +// If a task throws an exception, `flush` ensures that its state will remain +// consistent and will resume where it left off when called again. +// However, `flush` does not make any arrangements to be called again if an +// exception is thrown. +function flush() { + while (index < queue.length) { + var currentIndex = index; + // Advance the index before calling the task. This ensures that we will + // begin flushing on the next task the task throws an error. + index = index + 1; + queue[currentIndex].call(); + // Prevent leaking memory for long chains of recursive calls to `asap`. + // If we call `asap` within tasks scheduled by `asap`, the queue will + // grow, but to avoid an O(n) walk for every task we execute, we don't + // shift tasks off the queue after they have been executed. + // Instead, we periodically shift 1024 tasks off the queue. + if (index > capacity) { + // Manually shift all values starting at the index back to the + // beginning of the queue. + for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) { + queue[scan] = queue[scan + index]; + } + queue.length -= index; + index = 0; + } + } + queue.length = 0; + index = 0; + flushing = false; +} + +// `requestFlush` is implemented using a strategy based on data collected from +// every available SauceLabs Selenium web driver worker at time of writing. +// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593 + +// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that +// have WebKitMutationObserver but not un-prefixed MutationObserver. +// Must use `global` or `self` instead of `window` to work in both frames and web +// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop. + +/* globals self */ +var scope = typeof global !== "undefined" ? global : self; +var BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver; + +// MutationObservers are desirable because they have high priority and work +// reliably everywhere they are implemented. +// They are implemented in all modern browsers. +// +// - Android 4-4.3 +// - Chrome 26-34 +// - Firefox 14-29 +// - Internet Explorer 11 +// - iPad Safari 6-7.1 +// - iPhone Safari 7-7.1 +// - Safari 6-7 +if (typeof BrowserMutationObserver === "function") { + requestFlush = makeRequestCallFromMutationObserver(flush); + +// MessageChannels are desirable because they give direct access to the HTML +// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera +// 11-12, and in web workers in many engines. +// Although message channels yield to any queued rendering and IO tasks, they +// would be better than imposing the 4ms delay of timers. +// However, they do not work reliably in Internet Explorer or Safari. + +// Internet Explorer 10 is the only browser that has setImmediate but does +// not have MutationObservers. +// Although setImmediate yields to the browser's renderer, it would be +// preferrable to falling back to setTimeout since it does not have +// the minimum 4ms penalty. +// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and +// Desktop to a lesser extent) that renders both setImmediate and +// MessageChannel useless for the purposes of ASAP. +// https://github.com/kriskowal/q/issues/396 + +// Timers are implemented universally. +// We fall back to timers in workers in most engines, and in foreground +// contexts in the following browsers. +// However, note that even this simple case requires nuances to operate in a +// broad spectrum of browsers. +// +// - Firefox 3-13 +// - Internet Explorer 6-9 +// - iPad Safari 4.3 +// - Lynx 2.8.7 +} else { + requestFlush = makeRequestCallFromTimer(flush); +} + +// `requestFlush` requests that the high priority event queue be flushed as +// soon as possible. +// This is useful to prevent an error thrown in a task from stalling the event +// queue if the exception handled by Node.js’s +// `process.on("uncaughtException")` or by a domain. +rawAsap.requestFlush = requestFlush; + +// To request a high priority event, we induce a mutation observer by toggling +// the text of a text node between "1" and "-1". +function makeRequestCallFromMutationObserver(callback) { + var toggle = 1; + var observer = new BrowserMutationObserver(callback); + var node = document.createTextNode(""); + observer.observe(node, {characterData: true}); + return function requestCall() { + toggle = -toggle; + node.data = toggle; + }; +} + +// The message channel technique was discovered by Malte Ubl and was the +// original foundation for this library. +// http://www.nonblocking.io/2011/06/windownexttick.html + +// Safari 6.0.5 (at least) intermittently fails to create message ports on a +// page's first load. Thankfully, this version of Safari supports +// MutationObservers, so we don't need to fall back in that case. + +// function makeRequestCallFromMessageChannel(callback) { +// var channel = new MessageChannel(); +// channel.port1.onmessage = callback; +// return function requestCall() { +// channel.port2.postMessage(0); +// }; +// } + +// For reasons explained above, we are also unable to use `setImmediate` +// under any circumstances. +// Even if we were, there is another bug in Internet Explorer 10. +// It is not sufficient to assign `setImmediate` to `requestFlush` because +// `setImmediate` must be called *by name* and therefore must be wrapped in a +// closure. +// Never forget. + +// function makeRequestCallFromSetImmediate(callback) { +// return function requestCall() { +// setImmediate(callback); +// }; +// } + +// Safari 6.0 has a problem where timers will get lost while the user is +// scrolling. This problem does not impact ASAP because Safari 6.0 supports +// mutation observers, so that implementation is used instead. +// However, if we ever elect to use timers in Safari, the prevalent work-around +// is to add a scroll event listener that calls for a flush. + +// `setTimeout` does not call the passed callback if the delay is less than +// approximately 7 in web workers in Firefox 8 through 18, and sometimes not +// even then. + +function makeRequestCallFromTimer(callback) { + return function requestCall() { + // We dispatch a timeout with a specified delay of 0 for engines that + // can reliably accommodate that request. This will usually be snapped + // to a 4 milisecond delay, but once we're flushing, there's no delay + // between events. + var timeoutHandle = setTimeout(handleTimer, 0); + // However, since this timer gets frequently dropped in Firefox + // workers, we enlist an interval handle that will try to fire + // an event 20 times per second until it succeeds. + var intervalHandle = setInterval(handleTimer, 50); + + function handleTimer() { + // Whichever timer succeeds will cancel both timers and + // execute the callback. + clearTimeout(timeoutHandle); + clearInterval(intervalHandle); + callback(); + } + }; +} + +// This is for `asap.js` only. +// Its name will be periodically randomized to break any code that depends on +// its existence. +rawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer; + +// ASAP was originally a nextTick shim included in Q. This was factored out +// into this ASAP package. It was later adapted to RSVP which made further +// amendments. These decisions, particularly to marginalize MessageChannel and +// to capture the MutationObserver implementation in a closure, were integrated +// back into ASAP proper. +// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js diff --git a/socket/node_modules/asap/package.json b/socket/node_modules/asap/package.json new file mode 100644 index 0000000..6d153cc --- /dev/null +++ b/socket/node_modules/asap/package.json @@ -0,0 +1,87 @@ +{ + "_from": "asap@~2.0.3", + "_id": "asap@2.0.6", + "_inBundle": false, + "_integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "_location": "/asap", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "asap@~2.0.3", + "name": "asap", + "escapedName": "asap", + "rawSpec": "~2.0.3", + "saveSpec": null, + "fetchSpec": "~2.0.3" + }, + "_requiredBy": [ + "/promise" + ], + "_resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "_shasum": "e50347611d7e690943208bbdafebcbc2fb866d46", + "_spec": "asap@~2.0.3", + "_where": "/var/www/htdocs/coze/socket/node_modules/promise", + "browser": { + "./asap": "./browser-asap.js", + "./asap.js": "./browser-asap.js", + "./raw": "./browser-raw.js", + "./raw.js": "./browser-raw.js", + "./test/domain.js": "./test/browser-domain.js" + }, + "bugs": { + "url": "https://github.com/kriskowal/asap/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "High-priority task queue for Node.js and browsers", + "devDependencies": { + "benchmark": "^1.0.0", + "events": "^1.0.1", + "jshint": "^2.5.1", + "knox": "^0.8.10", + "mr": "^2.0.5", + "opener": "^1.3.0", + "q": "^2.0.3", + "q-io": "^2.0.3", + "saucelabs": "^0.1.1", + "wd": "^0.2.21", + "weak-map": "^1.0.5" + }, + "files": [ + "raw.js", + "asap.js", + "browser-raw.js", + "browser-asap.js" + ], + "homepage": "https://github.com/kriskowal/asap#readme", + "keywords": [ + "event", + "task", + "queue" + ], + "license": "MIT", + "main": "./asap.js", + "name": "asap", + "react-native": { + "domain": false + }, + "repository": { + "type": "git", + "url": "git+https://github.com/kriskowal/asap.git" + }, + "scripts": { + "benchmarks": "node benchmarks", + "lint": "jshint raw.js asap.js browser-raw.js browser-asap.js $(find scripts -name '*.js' | grep -v gauntlet)", + "test": "npm run lint && npm run test-node", + "test-browser": "node scripts/publish-bundle.js test/asap-test.js | xargs opener", + "test-node": "node test/asap-test.js", + "test-publish": "node scripts/publish-bundle.js test/asap-test.js | pbcopy", + "test-saucelabs": "node scripts/saucelabs.js test/asap-test.js scripts/saucelabs-spot-configurations.json", + "test-saucelabs-all": "node scripts/saucelabs.js test/asap-test.js scripts/saucelabs-all-configurations.json", + "test-saucelabs-worker": "node scripts/saucelabs-worker-test.js scripts/saucelabs-spot-configurations.json", + "test-saucelabs-worker-all": "node scripts/saucelabs-worker-test.js scripts/saucelabs-all-configurations.json", + "test-travis": "npm run lint && npm run test-node && npm run test-saucelabs && npm run test-saucelabs-worker" + }, + "version": "2.0.6" +} diff --git a/socket/node_modules/asap/raw.js b/socket/node_modules/asap/raw.js new file mode 100644 index 0000000..ae3b892 --- /dev/null +++ b/socket/node_modules/asap/raw.js @@ -0,0 +1,101 @@ +"use strict"; + +var domain; // The domain module is executed on demand +var hasSetImmediate = typeof setImmediate === "function"; + +// Use the fastest means possible to execute a task in its own turn, with +// priority over other events including network IO events in Node.js. +// +// An exception thrown by a task will permanently interrupt the processing of +// subsequent tasks. The higher level `asap` function ensures that if an +// exception is thrown by a task, that the task queue will continue flushing as +// soon as possible, but if you use `rawAsap` directly, you are responsible to +// either ensure that no exceptions are thrown from your task, or to manually +// call `rawAsap.requestFlush` if an exception is thrown. +module.exports = rawAsap; +function rawAsap(task) { + if (!queue.length) { + requestFlush(); + flushing = true; + } + // Avoids a function call + queue[queue.length] = task; +} + +var queue = []; +// Once a flush has been requested, no further calls to `requestFlush` are +// necessary until the next `flush` completes. +var flushing = false; +// The position of the next task to execute in the task queue. This is +// preserved between calls to `flush` so that it can be resumed if +// a task throws an exception. +var index = 0; +// If a task schedules additional tasks recursively, the task queue can grow +// unbounded. To prevent memory excaustion, the task queue will periodically +// truncate already-completed tasks. +var capacity = 1024; + +// The flush function processes all tasks that have been scheduled with +// `rawAsap` unless and until one of those tasks throws an exception. +// If a task throws an exception, `flush` ensures that its state will remain +// consistent and will resume where it left off when called again. +// However, `flush` does not make any arrangements to be called again if an +// exception is thrown. +function flush() { + while (index < queue.length) { + var currentIndex = index; + // Advance the index before calling the task. This ensures that we will + // begin flushing on the next task the task throws an error. + index = index + 1; + queue[currentIndex].call(); + // Prevent leaking memory for long chains of recursive calls to `asap`. + // If we call `asap` within tasks scheduled by `asap`, the queue will + // grow, but to avoid an O(n) walk for every task we execute, we don't + // shift tasks off the queue after they have been executed. + // Instead, we periodically shift 1024 tasks off the queue. + if (index > capacity) { + // Manually shift all values starting at the index back to the + // beginning of the queue. + for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) { + queue[scan] = queue[scan + index]; + } + queue.length -= index; + index = 0; + } + } + queue.length = 0; + index = 0; + flushing = false; +} + +rawAsap.requestFlush = requestFlush; +function requestFlush() { + // Ensure flushing is not bound to any domain. + // It is not sufficient to exit the domain, because domains exist on a stack. + // To execute code outside of any domain, the following dance is necessary. + var parentDomain = process.domain; + if (parentDomain) { + if (!domain) { + // Lazy execute the domain module. + // Only employed if the user elects to use domains. + domain = require("domain"); + } + domain.active = process.domain = null; + } + + // `setImmediate` is slower that `process.nextTick`, but `process.nextTick` + // cannot handle recursion. + // `requestFlush` will only be called recursively from `asap.js`, to resume + // flushing after an error is thrown into a domain. + // Conveniently, `setImmediate` was introduced in the same version + // `process.nextTick` started throwing recursion errors. + if (flushing && hasSetImmediate) { + setImmediate(flush); + } else { + process.nextTick(flush); + } + + if (parentDomain) { + domain.active = process.domain = parentDomain; + } +} diff --git a/socket/node_modules/async-limiter/.travis.yml b/socket/node_modules/async-limiter/.travis.yml new file mode 100644 index 0000000..6cf4a7a --- /dev/null +++ b/socket/node_modules/async-limiter/.travis.yml @@ -0,0 +1,7 @@ +language: node_js +node_js: + - "6" + - "node" +script: npm run travis +cache: + yarn: true diff --git a/socket/node_modules/async-limiter/LICENSE b/socket/node_modules/async-limiter/LICENSE new file mode 100644 index 0000000..9c91fb2 --- /dev/null +++ b/socket/node_modules/async-limiter/LICENSE @@ -0,0 +1,8 @@ +The MIT License (MIT) +Copyright (c) 2017 Samuel Reed + +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: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +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. diff --git a/socket/node_modules/async-limiter/coverage/coverage.json b/socket/node_modules/async-limiter/coverage/coverage.json new file mode 100644 index 0000000..5b4a358 --- /dev/null +++ b/socket/node_modules/async-limiter/coverage/coverage.json @@ -0,0 +1 @@ +{"/Users/samuelreed/git/forks/async-throttle/index.js":{"path":"/Users/samuelreed/git/forks/async-throttle/index.js","s":{"1":1,"2":7,"3":1,"4":6,"5":6,"6":6,"7":6,"8":6,"9":6,"10":1,"11":1,"12":3,"13":13,"14":13,"15":13,"16":1,"17":19,"18":1,"19":45,"20":6,"21":39,"22":13,"23":13,"24":13,"25":13,"26":39,"27":18,"28":6,"29":6,"30":1,"31":6,"32":6,"33":6,"34":1,"35":13,"36":13,"37":1},"b":{"1":[1,6],"2":[6,5],"3":[6,5],"4":[6,39],"5":[13,26],"6":[18,21],"7":[6,0]},"f":{"1":7,"2":3,"3":13,"4":19,"5":45,"6":6,"7":13},"fnMap":{"1":{"name":"Queue","line":3,"loc":{"start":{"line":3,"column":0},"end":{"line":3,"column":24}}},"2":{"name":"(anonymous_2)","line":22,"loc":{"start":{"line":22,"column":24},"end":{"line":22,"column":41}}},"3":{"name":"(anonymous_3)","line":23,"loc":{"start":{"line":23,"column":28},"end":{"line":23,"column":39}}},"4":{"name":"(anonymous_4)","line":31,"loc":{"start":{"line":31,"column":7},"end":{"line":31,"column":18}}},"5":{"name":"(anonymous_5)","line":36,"loc":{"start":{"line":36,"column":23},"end":{"line":36,"column":34}}},"6":{"name":"(anonymous_6)","line":55,"loc":{"start":{"line":55,"column":25},"end":{"line":55,"column":38}}},"7":{"name":"done","line":62,"loc":{"start":{"line":62,"column":0},"end":{"line":62,"column":16}}}},"statementMap":{"1":{"start":{"line":3,"column":0},"end":{"line":14,"column":1}},"2":{"start":{"line":4,"column":2},"end":{"line":6,"column":3}},"3":{"start":{"line":5,"column":4},"end":{"line":5,"column":30}},"4":{"start":{"line":8,"column":2},"end":{"line":8,"column":26}},"5":{"start":{"line":9,"column":2},"end":{"line":9,"column":53}},"6":{"start":{"line":10,"column":2},"end":{"line":10,"column":19}},"7":{"start":{"line":11,"column":2},"end":{"line":11,"column":17}},"8":{"start":{"line":12,"column":2},"end":{"line":12,"column":16}},"9":{"start":{"line":13,"column":2},"end":{"line":13,"column":31}},"10":{"start":{"line":16,"column":0},"end":{"line":20,"column":2}},"11":{"start":{"line":22,"column":0},"end":{"line":28,"column":3}},"12":{"start":{"line":23,"column":2},"end":{"line":27,"column":4}},"13":{"start":{"line":24,"column":4},"end":{"line":24,"column":75}},"14":{"start":{"line":25,"column":4},"end":{"line":25,"column":16}},"15":{"start":{"line":26,"column":4},"end":{"line":26,"column":24}},"16":{"start":{"line":30,"column":0},"end":{"line":34,"column":3}},"17":{"start":{"line":32,"column":4},"end":{"line":32,"column":43}},"18":{"start":{"line":36,"column":0},"end":{"line":53,"column":2}},"19":{"start":{"line":37,"column":2},"end":{"line":39,"column":3}},"20":{"start":{"line":38,"column":4},"end":{"line":38,"column":11}},"21":{"start":{"line":40,"column":2},"end":{"line":45,"column":3}},"22":{"start":{"line":41,"column":4},"end":{"line":41,"column":32}},"23":{"start":{"line":42,"column":4},"end":{"line":42,"column":19}},"24":{"start":{"line":43,"column":4},"end":{"line":43,"column":20}},"25":{"start":{"line":44,"column":4},"end":{"line":44,"column":16}},"26":{"start":{"line":47,"column":2},"end":{"line":52,"column":3}},"27":{"start":{"line":48,"column":4},"end":{"line":51,"column":5}},"28":{"start":{"line":49,"column":6},"end":{"line":49,"column":30}},"29":{"start":{"line":50,"column":6},"end":{"line":50,"column":27}},"30":{"start":{"line":55,"column":0},"end":{"line":60,"column":2}},"31":{"start":{"line":56,"column":2},"end":{"line":59,"column":3}},"32":{"start":{"line":57,"column":4},"end":{"line":57,"column":22}},"33":{"start":{"line":58,"column":4},"end":{"line":58,"column":16}},"34":{"start":{"line":62,"column":0},"end":{"line":65,"column":1}},"35":{"start":{"line":63,"column":2},"end":{"line":63,"column":17}},"36":{"start":{"line":64,"column":2},"end":{"line":64,"column":14}},"37":{"start":{"line":67,"column":0},"end":{"line":67,"column":23}}},"branchMap":{"1":{"line":4,"type":"if","locations":[{"start":{"line":4,"column":2},"end":{"line":4,"column":2}},{"start":{"line":4,"column":2},"end":{"line":4,"column":2}}]},"2":{"line":8,"type":"binary-expr","locations":[{"start":{"line":8,"column":12},"end":{"line":8,"column":19}},{"start":{"line":8,"column":23},"end":{"line":8,"column":25}}]},"3":{"line":9,"type":"binary-expr","locations":[{"start":{"line":9,"column":21},"end":{"line":9,"column":40}},{"start":{"line":9,"column":44},"end":{"line":9,"column":52}}]},"4":{"line":37,"type":"if","locations":[{"start":{"line":37,"column":2},"end":{"line":37,"column":2}},{"start":{"line":37,"column":2},"end":{"line":37,"column":2}}]},"5":{"line":40,"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":40,"column":2}},{"start":{"line":40,"column":2},"end":{"line":40,"column":2}}]},"6":{"line":47,"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":47,"column":2}},{"start":{"line":47,"column":2},"end":{"line":47,"column":2}}]},"7":{"line":56,"type":"if","locations":[{"start":{"line":56,"column":2},"end":{"line":56,"column":2}},{"start":{"line":56,"column":2},"end":{"line":56,"column":2}}]}}}} \ No newline at end of file diff --git a/socket/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.html b/socket/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.html new file mode 100644 index 0000000..198882b --- /dev/null +++ b/socket/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.html @@ -0,0 +1,73 @@ + + + + Code coverage report for async-throttle/ + + + + + + +
+

Code coverage report for async-throttle/

+

+ Statements: 100% (37 / 37)      + Branches: 92.86% (13 / 14)      + Functions: 100% (7 / 7)      + Lines: 100% (37 / 37)      + Ignored: none      +

+
All files » async-throttle/
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.js100%(37 / 37)92.86%(13 / 14)100%(7 / 7)100%(37 / 37)
+
+
+ + + + + + diff --git a/socket/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.js.html b/socket/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.js.html new file mode 100644 index 0000000..adc030f --- /dev/null +++ b/socket/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.js.html @@ -0,0 +1,246 @@ + + + + Code coverage report for async-throttle/index.js + + + + + + +
+

Code coverage report for async-throttle/index.js

+

+ Statements: 100% (37 / 37)      + Branches: 92.86% (13 / 14)      + Functions: 100% (7 / 7)      + Lines: 100% (37 / 37)      + Ignored: none      +

+
All files » async-throttle/ » index.js
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68  +  +1 +7 +1 +  +  +6 +6 +6 +6 +6 +6 +  +  +1 +  +  +  +  +  +1 +3 +13 +13 +13 +  +  +  +1 +  +19 +  +  +  +1 +45 +6 +  +39 +13 +13 +13 +13 +  +  +39 +18 +6 +6 +  +  +  +  +1 +6 +6 +6 +  +  +  +1 +13 +13 +  +  +1 + 
'use strict';
+ 
+function Queue(options) {
+  if (!(this instanceof Queue)) {
+    return new Queue(options);
+  }
+ 
+  options = options || {};
+  this.concurrency = options.concurrency || Infinity;
+  this.pending = 0;
+  this.jobs = [];
+  this.cbs = [];
+  this._done = done.bind(this);
+}
+ 
+var arrayAddMethods = [
+  'push',
+  'unshift',
+  'splice'
+];
+ 
+arrayAddMethods.forEach(function(method) {
+  Queue.prototype[method] = function() {
+    var methodResult = Array.prototype[method].apply(this.jobs, arguments);
+    this._run();
+    return methodResult;
+  };
+});
+ 
+Object.defineProperty(Queue.prototype, 'length', {
+  get: function() {
+    return this.pending + this.jobs.length;
+  }
+});
+ 
+Queue.prototype._run = function() {
+  if (this.pending === this.concurrency) {
+    return;
+  }
+  if (this.jobs.length) {
+    var job = this.jobs.shift();
+    this.pending++;
+    job(this._done);
+    this._run();
+  }
+ 
+  if (this.pending === 0) {
+    while (this.cbs.length !== 0) {
+      var cb = this.cbs.pop();
+      process.nextTick(cb);
+    }
+  }
+};
+ 
+Queue.prototype.onDone = function(cb) {
+  Eif (typeof cb === 'function') {
+    this.cbs.push(cb);
+    this._run();
+  }
+};
+ 
+function done() {
+  this.pending--;
+  this._run();
+}
+ 
+module.exports = Queue;
+ 
+ +
+ + + + + + diff --git a/socket/node_modules/async-limiter/coverage/lcov-report/base.css b/socket/node_modules/async-limiter/coverage/lcov-report/base.css new file mode 100644 index 0000000..a6a2f32 --- /dev/null +++ b/socket/node_modules/async-limiter/coverage/lcov-report/base.css @@ -0,0 +1,182 @@ +body, html { + margin:0; padding: 0; +} +body { + font-family: Helvetica Neue, Helvetica,Arial; + font-size: 10pt; +} +div.header, div.footer { + background: #eee; + padding: 1em; +} +div.header { + z-index: 100; + position: fixed; + top: 0; + border-bottom: 1px solid #666; + width: 100%; +} +div.footer { + border-top: 1px solid #666; +} +div.body { + margin-top: 10em; +} +div.meta { + font-size: 90%; + text-align: center; +} +h1, h2, h3 { + font-weight: normal; +} +h1 { + font-size: 12pt; +} +h2 { + font-size: 10pt; +} +pre { + font-family: Consolas, Menlo, Monaco, monospace; + margin: 0; + padding: 0; + line-height: 1.3; + font-size: 14px; + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; +} + +div.path { font-size: 110%; } +div.path a:link, div.path a:visited { color: #000; } +table.coverage { border-collapse: collapse; margin:0; padding: 0 } + +table.coverage td { + margin: 0; + padding: 0; + color: #111; + vertical-align: top; +} +table.coverage td.line-count { + width: 50px; + text-align: right; + padding-right: 5px; +} +table.coverage td.line-coverage { + color: #777 !important; + text-align: right; + border-left: 1px solid #666; + border-right: 1px solid #666; +} + +table.coverage td.text { +} + +table.coverage td span.cline-any { + display: inline-block; + padding: 0 5px; + width: 40px; +} +table.coverage td span.cline-neutral { + background: #eee; +} +table.coverage td span.cline-yes { + background: #b5d592; + color: #999; +} +table.coverage td span.cline-no { + background: #fc8c84; +} + +.cstat-yes { color: #111; } +.cstat-no { background: #fc8c84; color: #111; } +.fstat-no { background: #ffc520; color: #111 !important; } +.cbranch-no { background: yellow !important; color: #111; } + +.cstat-skip { background: #ddd; color: #111; } +.fstat-skip { background: #ddd; color: #111 !important; } +.cbranch-skip { background: #ddd !important; color: #111; } + +.missing-if-branch { + display: inline-block; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: black; + color: yellow; +} + +.skip-if-branch { + display: none; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: #ccc; + color: white; +} + +.missing-if-branch .typ, .skip-if-branch .typ { + color: inherit !important; +} + +.entity, .metric { font-weight: bold; } +.metric { display: inline-block; border: 1px solid #333; padding: 0.3em; background: white; } +.metric small { font-size: 80%; font-weight: normal; color: #666; } + +div.coverage-summary table { border-collapse: collapse; margin: 3em; font-size: 110%; } +div.coverage-summary td, div.coverage-summary table th { margin: 0; padding: 0.25em 1em; border-top: 1px solid #666; border-bottom: 1px solid #666; } +div.coverage-summary th { text-align: left; border: 1px solid #666; background: #eee; font-weight: normal; } +div.coverage-summary th.file { border-right: none !important; } +div.coverage-summary th.pic { border-left: none !important; text-align: right; } +div.coverage-summary th.pct { border-right: none !important; } +div.coverage-summary th.abs { border-left: none !important; text-align: right; } +div.coverage-summary td.pct { text-align: right; border-left: 1px solid #666; } +div.coverage-summary td.abs { text-align: right; font-size: 90%; color: #444; border-right: 1px solid #666; } +div.coverage-summary td.file { border-left: 1px solid #666; white-space: nowrap; } +div.coverage-summary td.pic { min-width: 120px !important; } +div.coverage-summary a:link { text-decoration: none; color: #000; } +div.coverage-summary a:visited { text-decoration: none; color: #777; } +div.coverage-summary a:hover { text-decoration: underline; } +div.coverage-summary tfoot td { border-top: 1px solid #666; } + +div.coverage-summary .sorter { + height: 10px; + width: 7px; + display: inline-block; + margin-left: 0.5em; + background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; +} +div.coverage-summary .sorted .sorter { + background-position: 0 -20px; +} +div.coverage-summary .sorted-desc .sorter { + background-position: 0 -10px; +} + +.high { background: #b5d592 !important; } +.medium { background: #ffe87c !important; } +.low { background: #fc8c84 !important; } + +span.cover-fill, span.cover-empty { + display:inline-block; + border:1px solid #444; + background: white; + height: 12px; +} +span.cover-fill { + background: #ccc; + border-right: 1px solid #444; +} +span.cover-empty { + background: white; + border-left: none; +} +span.cover-full { + border-right: none !important; +} +pre.prettyprint { + border: none !important; + padding: 0 !important; + margin: 0 !important; +} +.com { color: #999 !important; } +.ignore-none { color: #999; font-weight: normal; } diff --git a/socket/node_modules/async-limiter/coverage/lcov-report/index.html b/socket/node_modules/async-limiter/coverage/lcov-report/index.html new file mode 100644 index 0000000..782a1cf --- /dev/null +++ b/socket/node_modules/async-limiter/coverage/lcov-report/index.html @@ -0,0 +1,73 @@ + + + + Code coverage report for All files + + + + + + +
+

Code coverage report for All files

+

+ Statements: 100% (37 / 37)      + Branches: 92.86% (13 / 14)      + Functions: 100% (7 / 7)      + Lines: 100% (37 / 37)      + Ignored: none      +

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
async-throttle/100%(37 / 37)92.86%(13 / 14)100%(7 / 7)100%(37 / 37)
+
+
+ + + + + + diff --git a/socket/node_modules/async-limiter/coverage/lcov-report/prettify.css b/socket/node_modules/async-limiter/coverage/lcov-report/prettify.css new file mode 100644 index 0000000..b317a7c --- /dev/null +++ b/socket/node_modules/async-limiter/coverage/lcov-report/prettify.css @@ -0,0 +1 @@ +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/socket/node_modules/async-limiter/coverage/lcov-report/prettify.js b/socket/node_modules/async-limiter/coverage/lcov-report/prettify.js new file mode 100644 index 0000000..ef51e03 --- /dev/null +++ b/socket/node_modules/async-limiter/coverage/lcov-report/prettify.js @@ -0,0 +1 @@ +window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/socket/node_modules/async-limiter/coverage/lcov-report/sort-arrow-sprite.png b/socket/node_modules/async-limiter/coverage/lcov-report/sort-arrow-sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..03f704a609c6fd0dbfdac63466a7d7c958b5cbf3 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^>_9Bd!3HEZxJ@+%Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS>Jii$m5978H@?Fn+^JD|Y9yzj{W`447Gxa{7*dM7nnnD-Lb z6^}Hx2)'; + } + } + return cols; + } + // attaches a data attribute to every tr element with an object + // of data values keyed by column name + function loadRowData(tableRow) { + var tableCols = tableRow.querySelectorAll('td'), + colNode, + col, + data = {}, + i, + val; + for (i = 0; i < tableCols.length; i += 1) { + colNode = tableCols[i]; + col = cols[i]; + val = colNode.getAttribute('data-value'); + if (col.type === 'number') { + val = Number(val); + } + data[col.key] = val; + } + return data; + } + // loads all row data + function loadData() { + var rows = getTableBody().querySelectorAll('tr'), + i; + + for (i = 0; i < rows.length; i += 1) { + rows[i].data = loadRowData(rows[i]); + } + } + // sorts the table using the data for the ith column + function sortByIndex(index, desc) { + var key = cols[index].key, + sorter = function (a, b) { + a = a.data[key]; + b = b.data[key]; + return a < b ? -1 : a > b ? 1 : 0; + }, + finalSorter = sorter, + tableBody = document.querySelector('.coverage-summary tbody'), + rowNodes = tableBody.querySelectorAll('tr'), + rows = [], + i; + + if (desc) { + finalSorter = function (a, b) { + return -1 * sorter(a, b); + }; + } + + for (i = 0; i < rowNodes.length; i += 1) { + rows.push(rowNodes[i]); + tableBody.removeChild(rowNodes[i]); + } + + rows.sort(finalSorter); + + for (i = 0; i < rows.length; i += 1) { + tableBody.appendChild(rows[i]); + } + } + // removes sort indicators for current column being sorted + function removeSortIndicators() { + var col = getNthColumn(currentSort.index), + cls = col.className; + + cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); + col.className = cls; + } + // adds sort indicators for current column being sorted + function addSortIndicators() { + getNthColumn(currentSort.index).className += currentSort.desc ? ' sorted-desc' : ' sorted'; + } + // adds event listeners for all sorter widgets + function enableUI() { + var i, + el, + ithSorter = function ithSorter(i) { + var col = cols[i]; + + return function () { + var desc = col.defaultDescSort; + + if (currentSort.index === i) { + desc = !currentSort.desc; + } + sortByIndex(i, desc); + removeSortIndicators(); + currentSort.index = i; + currentSort.desc = desc; + addSortIndicators(); + }; + }; + for (i =0 ; i < cols.length; i += 1) { + if (cols[i].sortable) { + el = getNthColumn(i).querySelector('.sorter'); + if (el.addEventListener) { + el.addEventListener('click', ithSorter(i)); + } else { + el.attachEvent('onclick', ithSorter(i)); + } + } + } + } + // adds sorting functionality to the UI + return function () { + if (!getTable()) { + return; + } + cols = loadColumns(); + loadData(cols); + addSortIndicators(); + enableUI(); + }; +})(); + +window.addEventListener('load', addSorting); diff --git a/socket/node_modules/async-limiter/coverage/lcov.info b/socket/node_modules/async-limiter/coverage/lcov.info new file mode 100644 index 0000000..fbf36aa --- /dev/null +++ b/socket/node_modules/async-limiter/coverage/lcov.info @@ -0,0 +1,74 @@ +TN: +SF:/Users/samuelreed/git/forks/async-throttle/index.js +FN:3,Queue +FN:22,(anonymous_2) +FN:23,(anonymous_3) +FN:31,(anonymous_4) +FN:36,(anonymous_5) +FN:55,(anonymous_6) +FN:62,done +FNF:7 +FNH:7 +FNDA:7,Queue +FNDA:3,(anonymous_2) +FNDA:13,(anonymous_3) +FNDA:19,(anonymous_4) +FNDA:45,(anonymous_5) +FNDA:6,(anonymous_6) +FNDA:13,done +DA:3,1 +DA:4,7 +DA:5,1 +DA:8,6 +DA:9,6 +DA:10,6 +DA:11,6 +DA:12,6 +DA:13,6 +DA:16,1 +DA:22,1 +DA:23,3 +DA:24,13 +DA:25,13 +DA:26,13 +DA:30,1 +DA:32,19 +DA:36,1 +DA:37,45 +DA:38,6 +DA:40,39 +DA:41,13 +DA:42,13 +DA:43,13 +DA:44,13 +DA:47,39 +DA:48,18 +DA:49,6 +DA:50,6 +DA:55,1 +DA:56,6 +DA:57,6 +DA:58,6 +DA:62,1 +DA:63,13 +DA:64,13 +DA:67,1 +LF:37 +LH:37 +BRDA:4,1,0,1 +BRDA:4,1,1,6 +BRDA:8,2,0,6 +BRDA:8,2,1,5 +BRDA:9,3,0,6 +BRDA:9,3,1,5 +BRDA:37,4,0,6 +BRDA:37,4,1,39 +BRDA:40,5,0,13 +BRDA:40,5,1,26 +BRDA:47,6,0,18 +BRDA:47,6,1,21 +BRDA:56,7,0,6 +BRDA:56,7,1,0 +BRF:14 +BRH:13 +end_of_record diff --git a/socket/node_modules/async-limiter/index.js b/socket/node_modules/async-limiter/index.js new file mode 100644 index 0000000..c9bd2f9 --- /dev/null +++ b/socket/node_modules/async-limiter/index.js @@ -0,0 +1,67 @@ +'use strict'; + +function Queue(options) { + if (!(this instanceof Queue)) { + return new Queue(options); + } + + options = options || {}; + this.concurrency = options.concurrency || Infinity; + this.pending = 0; + this.jobs = []; + this.cbs = []; + this._done = done.bind(this); +} + +var arrayAddMethods = [ + 'push', + 'unshift', + 'splice' +]; + +arrayAddMethods.forEach(function(method) { + Queue.prototype[method] = function() { + var methodResult = Array.prototype[method].apply(this.jobs, arguments); + this._run(); + return methodResult; + }; +}); + +Object.defineProperty(Queue.prototype, 'length', { + get: function() { + return this.pending + this.jobs.length; + } +}); + +Queue.prototype._run = function() { + if (this.pending === this.concurrency) { + return; + } + if (this.jobs.length) { + var job = this.jobs.shift(); + this.pending++; + job(this._done); + this._run(); + } + + if (this.pending === 0) { + while (this.cbs.length !== 0) { + var cb = this.cbs.pop(); + process.nextTick(cb); + } + } +}; + +Queue.prototype.onDone = function(cb) { + if (typeof cb === 'function') { + this.cbs.push(cb); + this._run(); + } +}; + +function done() { + this.pending--; + this._run(); +} + +module.exports = Queue; diff --git a/socket/node_modules/async-limiter/package.json b/socket/node_modules/async-limiter/package.json new file mode 100644 index 0000000..b590861 --- /dev/null +++ b/socket/node_modules/async-limiter/package.json @@ -0,0 +1,69 @@ +{ + "_from": "async-limiter@~1.0.0", + "_id": "async-limiter@1.0.0", + "_inBundle": false, + "_integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", + "_location": "/async-limiter", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "async-limiter@~1.0.0", + "name": "async-limiter", + "escapedName": "async-limiter", + "rawSpec": "~1.0.0", + "saveSpec": null, + "fetchSpec": "~1.0.0" + }, + "_requiredBy": [ + "/ws" + ], + "_resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", + "_shasum": "78faed8c3d074ab81f22b4e985d79e8738f720f8", + "_spec": "async-limiter@~1.0.0", + "_where": "/var/www/htdocs/coze/socket/node_modules/ws", + "author": { + "name": "Samuel Reed" + }, + "bugs": { + "url": "https://github.com/strml/async-limiter/issues" + }, + "bundleDependencies": false, + "dependencies": {}, + "deprecated": false, + "description": "asynchronous function queue with adjustable concurrency", + "devDependencies": { + "coveralls": "^2.11.2", + "eslint": "^4.6.1", + "eslint-plugin-mocha": "^4.11.0", + "intelli-espower-loader": "^1.0.1", + "istanbul": "^0.3.2", + "mocha": "^3.5.2", + "power-assert": "^1.4.4" + }, + "homepage": "https://github.com/strml/async-limiter#readme", + "keywords": [ + "throttle", + "async", + "limiter", + "asynchronous", + "job", + "task", + "concurrency", + "concurrent" + ], + "license": "MIT", + "name": "async-limiter", + "repository": { + "type": "git", + "url": "git+https://github.com/strml/async-limiter.git" + }, + "scripts": { + "coverage": "istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | coveralls", + "example": "node example", + "lint": "eslint .", + "test": "mocha --R intelli-espower-loader test/", + "travis": "npm run lint && npm run coverage" + }, + "version": "1.0.0" +} diff --git a/socket/node_modules/async-limiter/readme.md b/socket/node_modules/async-limiter/readme.md new file mode 100644 index 0000000..dcf4932 --- /dev/null +++ b/socket/node_modules/async-limiter/readme.md @@ -0,0 +1,132 @@ +# Async-Limiter + +A module for limiting concurrent asynchronous actions in flight. Forked from [queue](https://github.com/jessetane/queue). + +[![npm](http://img.shields.io/npm/v/async-limiter.svg?style=flat-square)](http://www.npmjs.org/async-limiter) +[![tests](https://img.shields.io/travis/STRML/async-limiter.svg?style=flat-square&branch=master)](https://travis-ci.org/STRML/async-limiter) +[![coverage](https://img.shields.io/coveralls/STRML/async-limiter.svg?style=flat-square&branch=master)](https://coveralls.io/r/STRML/async-limiter) + +This module exports a class `Limiter` that implements some of the `Array` API. +Pass async functions (ones that accept a callback or return a promise) to an instance's additive array methods. + +## Motivation + +Certain functions, like `zlib`, have [undesirable behavior](https://github.com/nodejs/node/issues/8871#issuecomment-250915913) when +run at infinite concurrency. + +In this case, it is actually faster, and takes far less memory, to limit concurrency. + +This module should do the absolute minimum work necessary to queue up functions. PRs are welcome that would +make this module faster or lighter, but new functionality is not desired. + +Style should confirm to nodejs/node style. + +## Example + +``` javascript +var Limiter = require('async-limiter') + +var t = new Limiter({concurrency: 2}); +var results = [] + +// add jobs using the familiar Array API +t.push(function (cb) { + results.push('two') + cb() +}) + +t.push( + function (cb) { + results.push('four') + cb() + }, + function (cb) { + results.push('five') + cb() + } +) + +t.unshift(function (cb) { + results.push('one') + cb() +}) + +t.splice(2, 0, function (cb) { + results.push('three') + cb() +}) + +// Jobs run automatically. If you want a callback when all are done, +// call 'onDone()'. +t.onDone(function () { + console.log('all done:', results) +}) +``` + +## Zlib Example + +```js +const zlib = require('zlib'); +const Limiter = require('async-limiter'); + +const message = {some: "data"}; +const payload = new Buffer(JSON.stringify(message)); + +// Try with different concurrency values to see how this actually +// slows significantly with higher concurrency! +// +// 5: 1398.607ms +// 10: 1375.668ms +// Infinity: 4423.300ms +// +const t = new Limiter({concurrency: 5}); +function deflate(payload, cb) { + t.push(function(done) { + zlib.deflate(payload, function(err, buffer) { + done(); + cb(err, buffer); + }); + }); +} + +console.time('deflate'); +for(let i = 0; i < 30000; ++i) { + deflate(payload, function (err, buffer) {}); +} +q.onDone(function() { + console.timeEnd('deflate'); +}); +``` + +## Install + +`npm install async-limiter` + +## Test + +`npm test` + +## API + +### `var t = new Limiter([opts])` +Constructor. `opts` may contain inital values for: +* `q.concurrency` + +## Instance methods + +### `q.onDone(fn)` +`fn` will be called once and only once, when the queue is empty. + +## Instance methods mixed in from `Array` +Mozilla has docs on how these methods work [here](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array). +### `q.push(element1, ..., elementN)` +### `q.unshift(element1, ..., elementN)` +### `q.splice(index , howMany[, element1[, ...[, elementN]]])` + +## Properties +### `q.concurrency` +Max number of jobs the queue should process concurrently, defaults to `Infinity`. + +### `q.length` +Jobs pending + jobs to process (readonly). + diff --git a/socket/node_modules/babel-code-frame/.npmignore b/socket/node_modules/babel-code-frame/.npmignore new file mode 100644 index 0000000..47cdd2c --- /dev/null +++ b/socket/node_modules/babel-code-frame/.npmignore @@ -0,0 +1,3 @@ +src +test +node_modules diff --git a/socket/node_modules/babel-code-frame/README.md b/socket/node_modules/babel-code-frame/README.md new file mode 100644 index 0000000..7ef5368 --- /dev/null +++ b/socket/node_modules/babel-code-frame/README.md @@ -0,0 +1,60 @@ +# babel-code-frame + +> Generate errors that contain a code frame that point to source locations. + +## Install + +```sh +npm install --save-dev babel-code-frame +``` + +## Usage + +```js +import codeFrame from 'babel-code-frame'; + +const rawLines = `class Foo { + constructor() +}`; +const lineNumber = 2; +const colNumber = 16; + +const result = codeFrame(rawLines, lineNumber, colNumber, { /* options */ }); + +console.log(result); +``` + +```sh + 1 | class Foo { +> 2 | constructor() + | ^ + 3 | } +``` + +If the column number is not known, you may pass `null` instead. + +## Options + +### `highlightCode` + +`boolean`, defaults to `false`. + +Toggles syntax highlighting the code as JavaScript for terminals. + +### `linesAbove` + +`number`, defaults to `2`. + +Adjust the number of lines to show above the error. + +### `linesBelow` + +`number`, defaults to `3`. + +Adjust the number of lines to show below the error. + +### `forceColor` + +`boolean`, defaults to `false`. + +Enable this to forcibly syntax highlight the code as JavaScript (for non-terminals); overrides `highlightCode`. diff --git a/socket/node_modules/babel-code-frame/lib/index.js b/socket/node_modules/babel-code-frame/lib/index.js new file mode 100644 index 0000000..ff49b90 --- /dev/null +++ b/socket/node_modules/babel-code-frame/lib/index.js @@ -0,0 +1,141 @@ +"use strict"; + +exports.__esModule = true; + +exports.default = function (rawLines, lineNumber, colNumber) { + var opts = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + + colNumber = Math.max(colNumber, 0); + + var highlighted = opts.highlightCode && _chalk2.default.supportsColor || opts.forceColor; + var chalk = _chalk2.default; + if (opts.forceColor) { + chalk = new _chalk2.default.constructor({ enabled: true }); + } + var maybeHighlight = function maybeHighlight(chalkFn, string) { + return highlighted ? chalkFn(string) : string; + }; + var defs = getDefs(chalk); + if (highlighted) rawLines = highlight(defs, rawLines); + + var linesAbove = opts.linesAbove || 2; + var linesBelow = opts.linesBelow || 3; + + var lines = rawLines.split(NEWLINE); + var start = Math.max(lineNumber - (linesAbove + 1), 0); + var end = Math.min(lines.length, lineNumber + linesBelow); + + if (!lineNumber && !colNumber) { + start = 0; + end = lines.length; + } + + var numberMaxWidth = String(end).length; + + var frame = lines.slice(start, end).map(function (line, index) { + var number = start + 1 + index; + var paddedNumber = (" " + number).slice(-numberMaxWidth); + var gutter = " " + paddedNumber + " | "; + if (number === lineNumber) { + var markerLine = ""; + if (colNumber) { + var markerSpacing = line.slice(0, colNumber - 1).replace(/[^\t]/g, " "); + markerLine = ["\n ", maybeHighlight(defs.gutter, gutter.replace(/\d/g, " ")), markerSpacing, maybeHighlight(defs.marker, "^")].join(""); + } + return [maybeHighlight(defs.marker, ">"), maybeHighlight(defs.gutter, gutter), line, markerLine].join(""); + } else { + return " " + maybeHighlight(defs.gutter, gutter) + line; + } + }).join("\n"); + + if (highlighted) { + return chalk.reset(frame); + } else { + return frame; + } +}; + +var _jsTokens = require("js-tokens"); + +var _jsTokens2 = _interopRequireDefault(_jsTokens); + +var _esutils = require("esutils"); + +var _esutils2 = _interopRequireDefault(_esutils); + +var _chalk = require("chalk"); + +var _chalk2 = _interopRequireDefault(_chalk); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function getDefs(chalk) { + return { + keyword: chalk.cyan, + capitalized: chalk.yellow, + jsx_tag: chalk.yellow, + punctuator: chalk.yellow, + + number: chalk.magenta, + string: chalk.green, + regex: chalk.magenta, + comment: chalk.grey, + invalid: chalk.white.bgRed.bold, + gutter: chalk.grey, + marker: chalk.red.bold + }; +} + +var NEWLINE = /\r\n|[\n\r\u2028\u2029]/; + +var JSX_TAG = /^[a-z][\w-]*$/i; + +var BRACKET = /^[()\[\]{}]$/; + +function getTokenType(match) { + var _match$slice = match.slice(-2), + offset = _match$slice[0], + text = _match$slice[1]; + + var token = (0, _jsTokens.matchToToken)(match); + + if (token.type === "name") { + if (_esutils2.default.keyword.isReservedWordES6(token.value)) { + return "keyword"; + } + + if (JSX_TAG.test(token.value) && (text[offset - 1] === "<" || text.substr(offset - 2, 2) == " Collection of debug messages used by Babel. + +## Install + +```sh +npm install --save-dev babel-messages +``` + +## Usage + +```js +import * as messages from 'babel-messages'; + +messages.get('tailCallReassignmentDeopt'); +// > "Function reference has been..." +``` diff --git a/socket/node_modules/babel-messages/lib/index.js b/socket/node_modules/babel-messages/lib/index.js new file mode 100644 index 0000000..39e023e --- /dev/null +++ b/socket/node_modules/babel-messages/lib/index.js @@ -0,0 +1,84 @@ +"use strict"; + +exports.__esModule = true; +exports.MESSAGES = undefined; + +var _stringify = require("babel-runtime/core-js/json/stringify"); + +var _stringify2 = _interopRequireDefault(_stringify); + +exports.get = get; +exports.parseArgs = parseArgs; + +var _util = require("util"); + +var util = _interopRequireWildcard(_util); + +function _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; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var MESSAGES = exports.MESSAGES = { + tailCallReassignmentDeopt: "Function reference has been reassigned, so it will probably be dereferenced, therefore we can't optimise this with confidence", + classesIllegalBareSuper: "Illegal use of bare super", + classesIllegalSuperCall: "Direct super call is illegal in non-constructor, use super.$1() instead", + scopeDuplicateDeclaration: "Duplicate declaration $1", + settersNoRest: "Setters aren't allowed to have a rest", + noAssignmentsInForHead: "No assignments allowed in for-in/of head", + expectedMemberExpressionOrIdentifier: "Expected type MemberExpression or Identifier", + invalidParentForThisNode: "We don't know how to handle this node within the current parent - please open an issue", + readOnly: "$1 is read-only", + unknownForHead: "Unknown node type $1 in ForStatement", + didYouMean: "Did you mean $1?", + codeGeneratorDeopt: "Note: The code generator has deoptimised the styling of $1 as it exceeds the max of $2.", + missingTemplatesDirectory: "no templates directory - this is most likely the result of a broken `npm publish`. Please report to https://github.com/babel/babel/issues", + unsupportedOutputType: "Unsupported output type $1", + illegalMethodName: "Illegal method name $1", + lostTrackNodePath: "We lost track of this node's position, likely because the AST was directly manipulated", + + modulesIllegalExportName: "Illegal export $1", + modulesDuplicateDeclarations: "Duplicate module declarations with the same source but in different scopes", + + undeclaredVariable: "Reference to undeclared variable $1", + undeclaredVariableType: "Referencing a type alias outside of a type annotation", + undeclaredVariableSuggestion: "Reference to undeclared variable $1 - did you mean $2?", + + traverseNeedsParent: "You must pass a scope and parentPath unless traversing a Program/File. Instead of that you tried to traverse a $1 node without passing scope and parentPath.", + traverseVerifyRootFunction: "You passed `traverse()` a function when it expected a visitor object, are you sure you didn't mean `{ enter: Function }`?", + traverseVerifyVisitorProperty: "You passed `traverse()` a visitor object with the property $1 that has the invalid property $2", + traverseVerifyNodeType: "You gave us a visitor for the node type $1 but it's not a valid type", + + pluginNotObject: "Plugin $2 specified in $1 was expected to return an object when invoked but returned $3", + pluginNotFunction: "Plugin $2 specified in $1 was expected to return a function but returned $3", + pluginUnknown: "Unknown plugin $1 specified in $2 at $3, attempted to resolve relative to $4", + pluginInvalidProperty: "Plugin $2 specified in $1 provided an invalid property of $3" +}; + +function get(key) { + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + var msg = MESSAGES[key]; + if (!msg) throw new ReferenceError("Unknown message " + (0, _stringify2.default)(key)); + + args = parseArgs(args); + + return msg.replace(/\$(\d+)/g, function (str, i) { + return args[i - 1]; + }); +} + +function parseArgs(args) { + return args.map(function (val) { + if (val != null && val.inspect) { + return val.inspect(); + } else { + try { + return (0, _stringify2.default)(val) || val + ""; + } catch (e) { + return util.inspect(val); + } + } + }); +} \ No newline at end of file diff --git a/socket/node_modules/babel-messages/package.json b/socket/node_modules/babel-messages/package.json new file mode 100644 index 0000000..5d2fb89 --- /dev/null +++ b/socket/node_modules/babel-messages/package.json @@ -0,0 +1,44 @@ +{ + "_from": "babel-messages@^6.23.0", + "_id": "babel-messages@6.23.0", + "_inBundle": false, + "_integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "_location": "/babel-messages", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "babel-messages@^6.23.0", + "name": "babel-messages", + "escapedName": "babel-messages", + "rawSpec": "^6.23.0", + "saveSpec": null, + "fetchSpec": "^6.23.0" + }, + "_requiredBy": [ + "/babel-traverse" + ], + "_resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "_shasum": "f3cdf4703858035b2a2951c6ec5edf6c62f2630e", + "_spec": "babel-messages@^6.23.0", + "_where": "/var/www/htdocs/coze/socket/node_modules/babel-traverse", + "author": { + "name": "Sebastian McKenzie", + "email": "sebmck@gmail.com" + }, + "bundleDependencies": false, + "dependencies": { + "babel-runtime": "^6.22.0" + }, + "deprecated": false, + "description": "Collection of debug messages used by Babel.", + "homepage": "https://babeljs.io/", + "license": "MIT", + "main": "lib/index.js", + "name": "babel-messages", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel/tree/master/packages/babel-messages" + }, + "version": "6.23.0" +} diff --git a/socket/node_modules/babel-plugin-syntax-class-properties/.npmignore b/socket/node_modules/babel-plugin-syntax-class-properties/.npmignore new file mode 100644 index 0000000..cace0d6 --- /dev/null +++ b/socket/node_modules/babel-plugin-syntax-class-properties/.npmignore @@ -0,0 +1,3 @@ +node_modules +*.log +src diff --git a/socket/node_modules/babel-plugin-syntax-class-properties/README.md b/socket/node_modules/babel-plugin-syntax-class-properties/README.md new file mode 100644 index 0000000..970049b --- /dev/null +++ b/socket/node_modules/babel-plugin-syntax-class-properties/README.md @@ -0,0 +1,35 @@ +# babel-plugin-syntax-class-properties + +Allow parsing of class properties. + +## Installation + +```sh +$ npm install babel-plugin-syntax-class-properties +``` + +## Usage + +### Via `.babelrc` (Recommended) + +**.babelrc** + +```json +{ + "plugins": ["syntax-class-properties"] +} +``` + +### Via CLI + +```sh +$ babel --plugins syntax-class-properties script.js +``` + +### Via Node API + +```javascript +require("babel-core").transform("code", { + plugins: ["syntax-class-properties"] +}); +``` diff --git a/socket/node_modules/babel-plugin-syntax-class-properties/lib/index.js b/socket/node_modules/babel-plugin-syntax-class-properties/lib/index.js new file mode 100644 index 0000000..cfdfb93 --- /dev/null +++ b/socket/node_modules/babel-plugin-syntax-class-properties/lib/index.js @@ -0,0 +1,13 @@ +"use strict"; + +exports.__esModule = true; + +exports.default = function () { + return { + manipulateOptions: function manipulateOptions(opts, parserOpts) { + parserOpts.plugins.push("classProperties"); + } + }; +}; + +module.exports = exports["default"]; \ No newline at end of file diff --git a/socket/node_modules/babel-plugin-syntax-class-properties/package.json b/socket/node_modules/babel-plugin-syntax-class-properties/package.json new file mode 100644 index 0000000..f193d50 --- /dev/null +++ b/socket/node_modules/babel-plugin-syntax-class-properties/package.json @@ -0,0 +1,41 @@ +{ + "_from": "babel-plugin-syntax-class-properties@^6.8.0", + "_id": "babel-plugin-syntax-class-properties@6.13.0", + "_inBundle": false, + "_integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=", + "_location": "/babel-plugin-syntax-class-properties", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "babel-plugin-syntax-class-properties@^6.8.0", + "name": "babel-plugin-syntax-class-properties", + "escapedName": "babel-plugin-syntax-class-properties", + "rawSpec": "^6.8.0", + "saveSpec": null, + "fetchSpec": "^6.8.0" + }, + "_requiredBy": [ + "/babel-plugin-transform-class-properties" + ], + "_resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", + "_shasum": "d7eb23b79a317f8543962c505b827c7d6cac27de", + "_spec": "babel-plugin-syntax-class-properties@^6.8.0", + "_where": "/var/www/htdocs/coze/socket/node_modules/babel-plugin-transform-class-properties", + "bundleDependencies": false, + "dependencies": {}, + "deprecated": false, + "description": "Allow parsing of class properties", + "devDependencies": {}, + "keywords": [ + "babel-plugin" + ], + "license": "MIT", + "main": "lib/index.js", + "name": "babel-plugin-syntax-class-properties", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-class-properties" + }, + "version": "6.13.0" +} diff --git a/socket/node_modules/babel-plugin-transform-class-properties/.npmignore b/socket/node_modules/babel-plugin-transform-class-properties/.npmignore new file mode 100644 index 0000000..3185290 --- /dev/null +++ b/socket/node_modules/babel-plugin-transform-class-properties/.npmignore @@ -0,0 +1,4 @@ +node_modules +*.log +src +test diff --git a/socket/node_modules/babel-plugin-transform-class-properties/README.md b/socket/node_modules/babel-plugin-transform-class-properties/README.md new file mode 100644 index 0000000..49f4822 --- /dev/null +++ b/socket/node_modules/babel-plugin-transform-class-properties/README.md @@ -0,0 +1,87 @@ +# babel-plugin-transform-class-properties + +> This plugin transforms es2015 static class properties as well as properties declared with the es2016 property initializer syntax. + +## Example + +Below is a class with four class properties which will be transformed. + +```js + class Bork { + //Property initializer syntax + instanceProperty = "bork"; + boundFunction = () => { + return this.instanceProperty; + } + + //Static class properties + static staticProperty = "babelIsCool"; + static staticFunction = function() { + return Bork.staticProperty; + } + } + + let myBork = new Bork; + + //Property initializers are not on the prototype. + console.log(myBork.prototype.boundFunction); // > undefined + + //Bound functions are bound to the class instance. + console.log(myBork.boundFunction.call(undefined)); // > "bork" + + //Static function exists on the class. + console.log(Bork.staticFunction()); // > "babelIsCool" +``` + + +## Installation + +```sh +npm install --save-dev babel-plugin-transform-class-properties +``` + +## Usage + +### Via `.babelrc` (Recommended) + +**.babelrc** + +```json +// without options +{ + "plugins": ["transform-class-properties"] +} + +// with options +{ + "plugins": [ + ["transform-class-properties", { "spec": true }] + ] +} +``` + +### Via CLI + +```sh +babel --plugins transform-class-properties script.js +``` + +### Via Node API + +```javascript +require("babel-core").transform("code", { + plugins: ["transform-class-properties"] +}); +``` + +## Options + +### `spec` + +`boolean`, defaults to `false`. + +Class properties are compiled to use `Object.defineProperty`. Static fields are now defined even if they are not initialized. + +## References + +* [Proposal: ES Class Fields & Static Properties](https://github.com/jeffmo/es-class-static-properties-and-fields) diff --git a/socket/node_modules/babel-plugin-transform-class-properties/lib/index.js b/socket/node_modules/babel-plugin-transform-class-properties/lib/index.js new file mode 100644 index 0000000..579bc06 --- /dev/null +++ b/socket/node_modules/babel-plugin-transform-class-properties/lib/index.js @@ -0,0 +1,252 @@ +"use strict"; + +exports.__esModule = true; + +var _getIterator2 = require("babel-runtime/core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +exports.default = function (_ref) { + var t = _ref.types; + + var findBareSupers = { + Super: function Super(path) { + if (path.parentPath.isCallExpression({ callee: path.node })) { + this.push(path.parentPath); + } + } + }; + + var referenceVisitor = { + ReferencedIdentifier: function ReferencedIdentifier(path) { + if (this.scope.hasOwnBinding(path.node.name)) { + this.collision = true; + path.skip(); + } + } + }; + + var buildObjectDefineProperty = (0, _babelTemplate2.default)("\n Object.defineProperty(REF, KEY, {\n // configurable is false by default\n enumerable: true,\n writable: true,\n value: VALUE\n });\n "); + + var buildClassPropertySpec = function buildClassPropertySpec(ref, _ref2) { + var key = _ref2.key, + value = _ref2.value, + computed = _ref2.computed; + return buildObjectDefineProperty({ + REF: ref, + KEY: t.isIdentifier(key) && !computed ? t.stringLiteral(key.name) : key, + VALUE: value ? value : t.identifier("undefined") + }); + }; + + var buildClassPropertyNonSpec = function buildClassPropertyNonSpec(ref, _ref3) { + var key = _ref3.key, + value = _ref3.value, + computed = _ref3.computed; + return t.expressionStatement(t.assignmentExpression("=", t.memberExpression(ref, key, computed || t.isLiteral(key)), value)); + }; + + return { + inherits: require("babel-plugin-syntax-class-properties"), + + visitor: { + Class: function Class(path, state) { + var buildClassProperty = state.opts.spec ? buildClassPropertySpec : buildClassPropertyNonSpec; + var isDerived = !!path.node.superClass; + var constructor = void 0; + var props = []; + var body = path.get("body"); + + for (var _iterator = body.get("body"), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { + var _ref4; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref4 = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref4 = _i.value; + } + + var _path = _ref4; + + if (_path.isClassProperty()) { + props.push(_path); + } else if (_path.isClassMethod({ kind: "constructor" })) { + constructor = _path; + } + } + + if (!props.length) return; + + var nodes = []; + var ref = void 0; + + if (path.isClassExpression() || !path.node.id) { + (0, _babelHelperFunctionName2.default)(path); + ref = path.scope.generateUidIdentifier("class"); + } else { + ref = path.node.id; + } + + var instanceBody = []; + + for (var _iterator2 = props, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : (0, _getIterator3.default)(_iterator2);;) { + var _ref5; + + if (_isArray2) { + if (_i2 >= _iterator2.length) break; + _ref5 = _iterator2[_i2++]; + } else { + _i2 = _iterator2.next(); + if (_i2.done) break; + _ref5 = _i2.value; + } + + var _prop = _ref5; + + var propNode = _prop.node; + if (propNode.decorators && propNode.decorators.length > 0) continue; + + if (!state.opts.spec && !propNode.value) continue; + + var isStatic = propNode.static; + + if (isStatic) { + nodes.push(buildClassProperty(ref, propNode)); + } else { + if (!propNode.value) continue; + instanceBody.push(buildClassProperty(t.thisExpression(), propNode)); + } + } + + if (instanceBody.length) { + if (!constructor) { + var newConstructor = t.classMethod("constructor", t.identifier("constructor"), [], t.blockStatement([])); + if (isDerived) { + newConstructor.params = [t.restElement(t.identifier("args"))]; + newConstructor.body.body.push(t.returnStatement(t.callExpression(t.super(), [t.spreadElement(t.identifier("args"))]))); + } + + var _body$unshiftContaine = body.unshiftContainer("body", newConstructor); + + constructor = _body$unshiftContaine[0]; + } + + var collisionState = { + collision: false, + scope: constructor.scope + }; + + for (var _iterator3 = props, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : (0, _getIterator3.default)(_iterator3);;) { + var _ref6; + + if (_isArray3) { + if (_i3 >= _iterator3.length) break; + _ref6 = _iterator3[_i3++]; + } else { + _i3 = _iterator3.next(); + if (_i3.done) break; + _ref6 = _i3.value; + } + + var prop = _ref6; + + prop.traverse(referenceVisitor, collisionState); + if (collisionState.collision) break; + } + + if (collisionState.collision) { + var initialisePropsRef = path.scope.generateUidIdentifier("initialiseProps"); + + nodes.push(t.variableDeclaration("var", [t.variableDeclarator(initialisePropsRef, t.functionExpression(null, [], t.blockStatement(instanceBody)))])); + + instanceBody = [t.expressionStatement(t.callExpression(t.memberExpression(initialisePropsRef, t.identifier("call")), [t.thisExpression()]))]; + } + + if (isDerived) { + var bareSupers = []; + constructor.traverse(findBareSupers, bareSupers); + for (var _iterator4 = bareSupers, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : (0, _getIterator3.default)(_iterator4);;) { + var _ref7; + + if (_isArray4) { + if (_i4 >= _iterator4.length) break; + _ref7 = _iterator4[_i4++]; + } else { + _i4 = _iterator4.next(); + if (_i4.done) break; + _ref7 = _i4.value; + } + + var bareSuper = _ref7; + + bareSuper.insertAfter(instanceBody); + } + } else { + constructor.get("body").unshiftContainer("body", instanceBody); + } + } + + for (var _iterator5 = props, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : (0, _getIterator3.default)(_iterator5);;) { + var _ref8; + + if (_isArray5) { + if (_i5 >= _iterator5.length) break; + _ref8 = _iterator5[_i5++]; + } else { + _i5 = _iterator5.next(); + if (_i5.done) break; + _ref8 = _i5.value; + } + + var _prop2 = _ref8; + + _prop2.remove(); + } + + if (!nodes.length) return; + + if (path.isClassExpression()) { + path.scope.push({ id: ref }); + path.replaceWith(t.assignmentExpression("=", ref, path.node)); + } else { + if (!path.node.id) { + path.node.id = ref; + } + + if (path.parentPath.isExportDeclaration()) { + path = path.parentPath; + } + } + + path.insertAfter(nodes); + }, + ArrowFunctionExpression: function ArrowFunctionExpression(path) { + var classExp = path.get("body"); + if (!classExp.isClassExpression()) return; + + var body = classExp.get("body"); + var members = body.get("body"); + if (members.some(function (member) { + return member.isClassProperty(); + })) { + path.ensureBlock(); + } + } + } + }; +}; + +var _babelHelperFunctionName = require("babel-helper-function-name"); + +var _babelHelperFunctionName2 = _interopRequireDefault(_babelHelperFunctionName); + +var _babelTemplate = require("babel-template"); + +var _babelTemplate2 = _interopRequireDefault(_babelTemplate); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +module.exports = exports["default"]; \ No newline at end of file diff --git a/socket/node_modules/babel-plugin-transform-class-properties/package.json b/socket/node_modules/babel-plugin-transform-class-properties/package.json new file mode 100644 index 0000000..d59ec88 --- /dev/null +++ b/socket/node_modules/babel-plugin-transform-class-properties/package.json @@ -0,0 +1,48 @@ +{ + "_from": "babel-plugin-transform-class-properties@^6.24.1", + "_id": "babel-plugin-transform-class-properties@6.24.1", + "_inBundle": false, + "_integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", + "_location": "/babel-plugin-transform-class-properties", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "babel-plugin-transform-class-properties@^6.24.1", + "name": "babel-plugin-transform-class-properties", + "escapedName": "babel-plugin-transform-class-properties", + "rawSpec": "^6.24.1", + "saveSpec": null, + "fetchSpec": "^6.24.1" + }, + "_requiredBy": [ + "/pillarjs" + ], + "_resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", + "_shasum": "6a79763ea61d33d36f37b611aa9def81a81b46ac", + "_spec": "babel-plugin-transform-class-properties@^6.24.1", + "_where": "/var/www/htdocs/coze/socket/node_modules/pillarjs", + "bundleDependencies": false, + "dependencies": { + "babel-helper-function-name": "^6.24.1", + "babel-plugin-syntax-class-properties": "^6.8.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + }, + "deprecated": false, + "description": "This plugin transforms static class properties as well as properties declared with the property initializer syntax", + "devDependencies": { + "babel-helper-plugin-test-runner": "^6.24.1" + }, + "keywords": [ + "babel-plugin" + ], + "license": "MIT", + "main": "lib/index.js", + "name": "babel-plugin-transform-class-properties", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-class-properties" + }, + "version": "6.24.1" +} diff --git a/socket/node_modules/babel-runtime/.npmignore b/socket/node_modules/babel-runtime/.npmignore new file mode 100644 index 0000000..3efd5b9 --- /dev/null +++ b/socket/node_modules/babel-runtime/.npmignore @@ -0,0 +1,2 @@ +scripts +node_modules diff --git a/socket/node_modules/babel-runtime/README.md b/socket/node_modules/babel-runtime/README.md new file mode 100644 index 0000000..8aa8593 --- /dev/null +++ b/socket/node_modules/babel-runtime/README.md @@ -0,0 +1,2 @@ +# babel-runtime + diff --git a/socket/node_modules/babel-runtime/core-js.js b/socket/node_modules/babel-runtime/core-js.js new file mode 100644 index 0000000..7d56643 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js.js @@ -0,0 +1,4 @@ +module.exports = { + "default": require("core-js/library"), + __esModule: true +}; diff --git a/socket/node_modules/babel-runtime/core-js/array/concat.js b/socket/node_modules/babel-runtime/core-js/array/concat.js new file mode 100644 index 0000000..f0a5ec7 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/concat.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/concat"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/copy-within.js b/socket/node_modules/babel-runtime/core-js/array/copy-within.js new file mode 100644 index 0000000..e9352ed --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/copy-within.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/copy-within"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/entries.js b/socket/node_modules/babel-runtime/core-js/array/entries.js new file mode 100644 index 0000000..ee8b9e9 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/entries.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/entries"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/every.js b/socket/node_modules/babel-runtime/core-js/array/every.js new file mode 100644 index 0000000..adc9319 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/every.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/every"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/fill.js b/socket/node_modules/babel-runtime/core-js/array/fill.js new file mode 100644 index 0000000..3cc2fe1 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/fill.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/fill"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/filter.js b/socket/node_modules/babel-runtime/core-js/array/filter.js new file mode 100644 index 0000000..f73a5db --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/filter.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/filter"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/find-index.js b/socket/node_modules/babel-runtime/core-js/array/find-index.js new file mode 100644 index 0000000..560caa8 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/find-index.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/find-index"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/find.js b/socket/node_modules/babel-runtime/core-js/array/find.js new file mode 100644 index 0000000..7763993 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/find.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/find"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/for-each.js b/socket/node_modules/babel-runtime/core-js/array/for-each.js new file mode 100644 index 0000000..4808c96 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/for-each.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/for-each"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/from.js b/socket/node_modules/babel-runtime/core-js/array/from.js new file mode 100644 index 0000000..8c92e81 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/from.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/from"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/includes.js b/socket/node_modules/babel-runtime/core-js/array/includes.js new file mode 100644 index 0000000..602d0d8 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/includes.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/includes"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/index-of.js b/socket/node_modules/babel-runtime/core-js/array/index-of.js new file mode 100644 index 0000000..eb4a6ac --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/index-of.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/index-of"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/join.js b/socket/node_modules/babel-runtime/core-js/array/join.js new file mode 100644 index 0000000..7dc300b --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/join.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/join"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/keys.js b/socket/node_modules/babel-runtime/core-js/array/keys.js new file mode 100644 index 0000000..5008ccb --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/keys.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/keys"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/last-index-of.js b/socket/node_modules/babel-runtime/core-js/array/last-index-of.js new file mode 100644 index 0000000..ed92a55 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/last-index-of.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/last-index-of"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/map.js b/socket/node_modules/babel-runtime/core-js/array/map.js new file mode 100644 index 0000000..0f58810 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/map.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/map"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/of.js b/socket/node_modules/babel-runtime/core-js/array/of.js new file mode 100644 index 0000000..d03ab62 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/of.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/of"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/pop.js b/socket/node_modules/babel-runtime/core-js/array/pop.js new file mode 100644 index 0000000..9114d2f --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/pop.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/pop"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/push.js b/socket/node_modules/babel-runtime/core-js/array/push.js new file mode 100644 index 0000000..0cd42be --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/push.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/push"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/reduce-right.js b/socket/node_modules/babel-runtime/core-js/array/reduce-right.js new file mode 100644 index 0000000..f56176c --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/reduce-right.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/reduce-right"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/reduce.js b/socket/node_modules/babel-runtime/core-js/array/reduce.js new file mode 100644 index 0000000..c0a2006 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/reduce.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/reduce"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/reverse.js b/socket/node_modules/babel-runtime/core-js/array/reverse.js new file mode 100644 index 0000000..8892c26 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/reverse.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/reverse"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/shift.js b/socket/node_modules/babel-runtime/core-js/array/shift.js new file mode 100644 index 0000000..49e66cd --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/shift.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/shift"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/slice.js b/socket/node_modules/babel-runtime/core-js/array/slice.js new file mode 100644 index 0000000..5f5fe16 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/slice.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/slice"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/some.js b/socket/node_modules/babel-runtime/core-js/array/some.js new file mode 100644 index 0000000..72ca911 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/some.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/some"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/sort.js b/socket/node_modules/babel-runtime/core-js/array/sort.js new file mode 100644 index 0000000..32dece8 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/sort.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/sort"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/splice.js b/socket/node_modules/babel-runtime/core-js/array/splice.js new file mode 100644 index 0000000..6fdebb0 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/splice.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/splice"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/unshift.js b/socket/node_modules/babel-runtime/core-js/array/unshift.js new file mode 100644 index 0000000..3c237a4 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/unshift.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/unshift"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/array/values.js b/socket/node_modules/babel-runtime/core-js/array/values.js new file mode 100644 index 0000000..6cc67aa --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/array/values.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/array/values"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/asap.js b/socket/node_modules/babel-runtime/core-js/asap.js new file mode 100644 index 0000000..a59e4d0 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/asap.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/asap"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/clear-immediate.js b/socket/node_modules/babel-runtime/core-js/clear-immediate.js new file mode 100644 index 0000000..f2090b7 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/clear-immediate.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/clear-immediate"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/error/is-error.js b/socket/node_modules/babel-runtime/core-js/error/is-error.js new file mode 100644 index 0000000..2637546 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/error/is-error.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/error/is-error"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/get-iterator.js b/socket/node_modules/babel-runtime/core-js/get-iterator.js new file mode 100644 index 0000000..8f9943a --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/get-iterator.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/get-iterator"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/is-iterable.js b/socket/node_modules/babel-runtime/core-js/is-iterable.js new file mode 100644 index 0000000..d690ac8 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/is-iterable.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/is-iterable"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/json/stringify.js b/socket/node_modules/babel-runtime/core-js/json/stringify.js new file mode 100644 index 0000000..f09e2f9 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/json/stringify.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/json/stringify"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/map.js b/socket/node_modules/babel-runtime/core-js/map.js new file mode 100644 index 0000000..ed02186 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/map.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/map"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/math/acosh.js b/socket/node_modules/babel-runtime/core-js/math/acosh.js new file mode 100644 index 0000000..37e2202 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/math/acosh.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/math/acosh"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/math/asinh.js b/socket/node_modules/babel-runtime/core-js/math/asinh.js new file mode 100644 index 0000000..b5147b3 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/math/asinh.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/math/asinh"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/math/atanh.js b/socket/node_modules/babel-runtime/core-js/math/atanh.js new file mode 100644 index 0000000..ad09bb7 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/math/atanh.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/math/atanh"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/math/cbrt.js b/socket/node_modules/babel-runtime/core-js/math/cbrt.js new file mode 100644 index 0000000..24a6974 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/math/cbrt.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/math/cbrt"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/math/clz32.js b/socket/node_modules/babel-runtime/core-js/math/clz32.js new file mode 100644 index 0000000..d2218b4 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/math/clz32.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/math/clz32"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/math/cosh.js b/socket/node_modules/babel-runtime/core-js/math/cosh.js new file mode 100644 index 0000000..fa9d079 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/math/cosh.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/math/cosh"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/math/expm1.js b/socket/node_modules/babel-runtime/core-js/math/expm1.js new file mode 100644 index 0000000..860921e --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/math/expm1.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/math/expm1"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/math/fround.js b/socket/node_modules/babel-runtime/core-js/math/fround.js new file mode 100644 index 0000000..b62e43a --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/math/fround.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/math/fround"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/math/hypot.js b/socket/node_modules/babel-runtime/core-js/math/hypot.js new file mode 100644 index 0000000..b07335b --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/math/hypot.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/math/hypot"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/math/iaddh.js b/socket/node_modules/babel-runtime/core-js/math/iaddh.js new file mode 100644 index 0000000..016eb07 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/math/iaddh.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/math/iaddh"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/math/imul.js b/socket/node_modules/babel-runtime/core-js/math/imul.js new file mode 100644 index 0000000..3bf89e8 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/math/imul.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/math/imul"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/math/imulh.js b/socket/node_modules/babel-runtime/core-js/math/imulh.js new file mode 100644 index 0000000..3fc7d74 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/math/imulh.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/math/imulh"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/math/isubh.js b/socket/node_modules/babel-runtime/core-js/math/isubh.js new file mode 100644 index 0000000..6b6ea4f --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/math/isubh.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/math/isubh"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/math/log10.js b/socket/node_modules/babel-runtime/core-js/math/log10.js new file mode 100644 index 0000000..f384512 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/math/log10.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/math/log10"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/math/log1p.js b/socket/node_modules/babel-runtime/core-js/math/log1p.js new file mode 100644 index 0000000..358fc45 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/math/log1p.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/math/log1p"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/math/log2.js b/socket/node_modules/babel-runtime/core-js/math/log2.js new file mode 100644 index 0000000..1cbca00 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/math/log2.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/math/log2"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/math/sign.js b/socket/node_modules/babel-runtime/core-js/math/sign.js new file mode 100644 index 0000000..8d0cfa3 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/math/sign.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/math/sign"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/math/sinh.js b/socket/node_modules/babel-runtime/core-js/math/sinh.js new file mode 100644 index 0000000..81afadd --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/math/sinh.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/math/sinh"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/math/tanh.js b/socket/node_modules/babel-runtime/core-js/math/tanh.js new file mode 100644 index 0000000..76fad88 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/math/tanh.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/math/tanh"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/math/trunc.js b/socket/node_modules/babel-runtime/core-js/math/trunc.js new file mode 100644 index 0000000..443a958 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/math/trunc.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/math/trunc"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/math/umulh.js b/socket/node_modules/babel-runtime/core-js/math/umulh.js new file mode 100644 index 0000000..357f389 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/math/umulh.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/math/umulh"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/number/epsilon.js b/socket/node_modules/babel-runtime/core-js/number/epsilon.js new file mode 100644 index 0000000..b5c7862 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/number/epsilon.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/number/epsilon"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/number/is-finite.js b/socket/node_modules/babel-runtime/core-js/number/is-finite.js new file mode 100644 index 0000000..7366242 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/number/is-finite.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/number/is-finite"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/number/is-integer.js b/socket/node_modules/babel-runtime/core-js/number/is-integer.js new file mode 100644 index 0000000..69b9bb7 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/number/is-integer.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/number/is-integer"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/number/is-nan.js b/socket/node_modules/babel-runtime/core-js/number/is-nan.js new file mode 100644 index 0000000..5402a71 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/number/is-nan.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/number/is-nan"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/number/is-safe-integer.js b/socket/node_modules/babel-runtime/core-js/number/is-safe-integer.js new file mode 100644 index 0000000..2d72dd4 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/number/is-safe-integer.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/number/is-safe-integer"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/number/max-safe-integer.js b/socket/node_modules/babel-runtime/core-js/number/max-safe-integer.js new file mode 100644 index 0000000..9b55c84 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/number/max-safe-integer.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/number/max-safe-integer"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/number/min-safe-integer.js b/socket/node_modules/babel-runtime/core-js/number/min-safe-integer.js new file mode 100644 index 0000000..b5e9785 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/number/min-safe-integer.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/number/min-safe-integer"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/number/parse-float.js b/socket/node_modules/babel-runtime/core-js/number/parse-float.js new file mode 100644 index 0000000..0e0f0bc --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/number/parse-float.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/number/parse-float"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/number/parse-int.js b/socket/node_modules/babel-runtime/core-js/number/parse-int.js new file mode 100644 index 0000000..6d454ea --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/number/parse-int.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/number/parse-int"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/object/assign.js b/socket/node_modules/babel-runtime/core-js/object/assign.js new file mode 100644 index 0000000..ca48f0c --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/object/assign.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/object/assign"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/object/create.js b/socket/node_modules/babel-runtime/core-js/object/create.js new file mode 100644 index 0000000..130165c --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/object/create.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/object/create"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/object/define-properties.js b/socket/node_modules/babel-runtime/core-js/object/define-properties.js new file mode 100644 index 0000000..d39e153 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/object/define-properties.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/object/define-properties"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/object/define-property.js b/socket/node_modules/babel-runtime/core-js/object/define-property.js new file mode 100644 index 0000000..f41735b --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/object/define-property.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/object/define-property"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/object/entries.js b/socket/node_modules/babel-runtime/core-js/object/entries.js new file mode 100644 index 0000000..32ed7a5 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/object/entries.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/object/entries"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/object/freeze.js b/socket/node_modules/babel-runtime/core-js/object/freeze.js new file mode 100644 index 0000000..8cc278b --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/object/freeze.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/object/freeze"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/object/get-own-property-descriptor.js b/socket/node_modules/babel-runtime/core-js/object/get-own-property-descriptor.js new file mode 100644 index 0000000..8e9296e --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/object/get-own-property-descriptor.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/object/get-own-property-descriptor"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/object/get-own-property-descriptors.js b/socket/node_modules/babel-runtime/core-js/object/get-own-property-descriptors.js new file mode 100644 index 0000000..23200d2 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/object/get-own-property-descriptors.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/object/get-own-property-descriptors"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/object/get-own-property-names.js b/socket/node_modules/babel-runtime/core-js/object/get-own-property-names.js new file mode 100644 index 0000000..7b95445 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/object/get-own-property-names.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/object/get-own-property-names"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/object/get-own-property-symbols.js b/socket/node_modules/babel-runtime/core-js/object/get-own-property-symbols.js new file mode 100644 index 0000000..c2fc78f --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/object/get-own-property-symbols.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/object/get-own-property-symbols"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/object/get-prototype-of.js b/socket/node_modules/babel-runtime/core-js/object/get-prototype-of.js new file mode 100644 index 0000000..47d3f72 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/object/get-prototype-of.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/object/get-prototype-of"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/object/is-extensible.js b/socket/node_modules/babel-runtime/core-js/object/is-extensible.js new file mode 100644 index 0000000..51175ad --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/object/is-extensible.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/object/is-extensible"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/object/is-frozen.js b/socket/node_modules/babel-runtime/core-js/object/is-frozen.js new file mode 100644 index 0000000..e8ab5f1 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/object/is-frozen.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/object/is-frozen"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/object/is-sealed.js b/socket/node_modules/babel-runtime/core-js/object/is-sealed.js new file mode 100644 index 0000000..77beda4 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/object/is-sealed.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/object/is-sealed"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/object/is.js b/socket/node_modules/babel-runtime/core-js/object/is.js new file mode 100644 index 0000000..6524704 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/object/is.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/object/is"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/object/keys.js b/socket/node_modules/babel-runtime/core-js/object/keys.js new file mode 100644 index 0000000..04a3f01 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/object/keys.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/object/keys"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/object/prevent-extensions.js b/socket/node_modules/babel-runtime/core-js/object/prevent-extensions.js new file mode 100644 index 0000000..3d4305f --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/object/prevent-extensions.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/object/prevent-extensions"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/object/seal.js b/socket/node_modules/babel-runtime/core-js/object/seal.js new file mode 100644 index 0000000..c969cab --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/object/seal.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/object/seal"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/object/set-prototype-of.js b/socket/node_modules/babel-runtime/core-js/object/set-prototype-of.js new file mode 100644 index 0000000..63b1435 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/object/set-prototype-of.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/object/set-prototype-of"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/object/values.js b/socket/node_modules/babel-runtime/core-js/object/values.js new file mode 100644 index 0000000..c587097 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/object/values.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/object/values"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/observable.js b/socket/node_modules/babel-runtime/core-js/observable.js new file mode 100644 index 0000000..04ca51e --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/observable.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/observable"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/promise.js b/socket/node_modules/babel-runtime/core-js/promise.js new file mode 100644 index 0000000..0cb9a23 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/promise.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/promise"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/reflect/apply.js b/socket/node_modules/babel-runtime/core-js/reflect/apply.js new file mode 100644 index 0000000..cc578d4 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/reflect/apply.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/reflect/apply"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/reflect/construct.js b/socket/node_modules/babel-runtime/core-js/reflect/construct.js new file mode 100644 index 0000000..a2d991a --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/reflect/construct.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/reflect/construct"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/reflect/define-metadata.js b/socket/node_modules/babel-runtime/core-js/reflect/define-metadata.js new file mode 100644 index 0000000..1ba7d4a --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/reflect/define-metadata.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/reflect/define-metadata"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/reflect/define-property.js b/socket/node_modules/babel-runtime/core-js/reflect/define-property.js new file mode 100644 index 0000000..aee1c3a --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/reflect/define-property.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/reflect/define-property"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/reflect/delete-metadata.js b/socket/node_modules/babel-runtime/core-js/reflect/delete-metadata.js new file mode 100644 index 0000000..3396c42 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/reflect/delete-metadata.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/reflect/delete-metadata"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/reflect/delete-property.js b/socket/node_modules/babel-runtime/core-js/reflect/delete-property.js new file mode 100644 index 0000000..efa76ab --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/reflect/delete-property.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/reflect/delete-property"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/reflect/enumerate.js b/socket/node_modules/babel-runtime/core-js/reflect/enumerate.js new file mode 100644 index 0000000..041484b --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/reflect/enumerate.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/reflect/enumerate"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/reflect/get-metadata-keys.js b/socket/node_modules/babel-runtime/core-js/reflect/get-metadata-keys.js new file mode 100644 index 0000000..722e099 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/reflect/get-metadata-keys.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/reflect/get-metadata-keys"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/reflect/get-metadata.js b/socket/node_modules/babel-runtime/core-js/reflect/get-metadata.js new file mode 100644 index 0000000..d725525 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/reflect/get-metadata.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/reflect/get-metadata"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/reflect/get-own-metadata-keys.js b/socket/node_modules/babel-runtime/core-js/reflect/get-own-metadata-keys.js new file mode 100644 index 0000000..feff3a6 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/reflect/get-own-metadata-keys.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/reflect/get-own-metadata-keys"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/reflect/get-own-metadata.js b/socket/node_modules/babel-runtime/core-js/reflect/get-own-metadata.js new file mode 100644 index 0000000..1f8bd56 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/reflect/get-own-metadata.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/reflect/get-own-metadata"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/reflect/get-own-property-descriptor.js b/socket/node_modules/babel-runtime/core-js/reflect/get-own-property-descriptor.js new file mode 100644 index 0000000..67a50f5 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/reflect/get-own-property-descriptor.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/reflect/get-own-property-descriptor"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/reflect/get-prototype-of.js b/socket/node_modules/babel-runtime/core-js/reflect/get-prototype-of.js new file mode 100644 index 0000000..d3c8d4e --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/reflect/get-prototype-of.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/reflect/get-prototype-of"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/reflect/get.js b/socket/node_modules/babel-runtime/core-js/reflect/get.js new file mode 100644 index 0000000..a42e4fb --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/reflect/get.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/reflect/get"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/reflect/has-metadata.js b/socket/node_modules/babel-runtime/core-js/reflect/has-metadata.js new file mode 100644 index 0000000..c1051a3 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/reflect/has-metadata.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/reflect/has-metadata"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/reflect/has-own-metadata.js b/socket/node_modules/babel-runtime/core-js/reflect/has-own-metadata.js new file mode 100644 index 0000000..1cefbf7 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/reflect/has-own-metadata.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/reflect/has-own-metadata"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/reflect/has.js b/socket/node_modules/babel-runtime/core-js/reflect/has.js new file mode 100644 index 0000000..e2a9665 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/reflect/has.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/reflect/has"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/reflect/is-extensible.js b/socket/node_modules/babel-runtime/core-js/reflect/is-extensible.js new file mode 100644 index 0000000..b0de7bf --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/reflect/is-extensible.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/reflect/is-extensible"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/reflect/metadata.js b/socket/node_modules/babel-runtime/core-js/reflect/metadata.js new file mode 100644 index 0000000..cb85fde --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/reflect/metadata.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/reflect/metadata"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/reflect/own-keys.js b/socket/node_modules/babel-runtime/core-js/reflect/own-keys.js new file mode 100644 index 0000000..d98fed2 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/reflect/own-keys.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/reflect/own-keys"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/reflect/prevent-extensions.js b/socket/node_modules/babel-runtime/core-js/reflect/prevent-extensions.js new file mode 100644 index 0000000..5408d89 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/reflect/prevent-extensions.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/reflect/prevent-extensions"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/reflect/set-prototype-of.js b/socket/node_modules/babel-runtime/core-js/reflect/set-prototype-of.js new file mode 100644 index 0000000..5433e2e --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/reflect/set-prototype-of.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/reflect/set-prototype-of"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/reflect/set.js b/socket/node_modules/babel-runtime/core-js/reflect/set.js new file mode 100644 index 0000000..657bddc --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/reflect/set.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/reflect/set"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/regexp/escape.js b/socket/node_modules/babel-runtime/core-js/regexp/escape.js new file mode 100644 index 0000000..12a25c3 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/regexp/escape.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/regexp/escape"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/set-immediate.js b/socket/node_modules/babel-runtime/core-js/set-immediate.js new file mode 100644 index 0000000..fc42eb4 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/set-immediate.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/set-immediate"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/set.js b/socket/node_modules/babel-runtime/core-js/set.js new file mode 100644 index 0000000..22c14d4 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/set.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/set"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/string/at.js b/socket/node_modules/babel-runtime/core-js/string/at.js new file mode 100644 index 0000000..1c4b595 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/string/at.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/string/at"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/string/code-point-at.js b/socket/node_modules/babel-runtime/core-js/string/code-point-at.js new file mode 100644 index 0000000..4332bdb --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/string/code-point-at.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/string/code-point-at"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/string/ends-with.js b/socket/node_modules/babel-runtime/core-js/string/ends-with.js new file mode 100644 index 0000000..ad3b55a --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/string/ends-with.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/string/ends-with"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/string/from-code-point.js b/socket/node_modules/babel-runtime/core-js/string/from-code-point.js new file mode 100644 index 0000000..8c10782 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/string/from-code-point.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/string/from-code-point"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/string/includes.js b/socket/node_modules/babel-runtime/core-js/string/includes.js new file mode 100644 index 0000000..f7de270 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/string/includes.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/string/includes"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/string/match-all.js b/socket/node_modules/babel-runtime/core-js/string/match-all.js new file mode 100644 index 0000000..813855c --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/string/match-all.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/string/match-all"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/string/pad-end.js b/socket/node_modules/babel-runtime/core-js/string/pad-end.js new file mode 100644 index 0000000..5ff9814 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/string/pad-end.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/string/pad-end"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/string/pad-left.js b/socket/node_modules/babel-runtime/core-js/string/pad-left.js new file mode 100644 index 0000000..ee67e70 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/string/pad-left.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/string/pad-start"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/string/pad-right.js b/socket/node_modules/babel-runtime/core-js/string/pad-right.js new file mode 100644 index 0000000..5ff9814 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/string/pad-right.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/string/pad-end"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/string/pad-start.js b/socket/node_modules/babel-runtime/core-js/string/pad-start.js new file mode 100644 index 0000000..ee67e70 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/string/pad-start.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/string/pad-start"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/string/raw.js b/socket/node_modules/babel-runtime/core-js/string/raw.js new file mode 100644 index 0000000..05c92dc --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/string/raw.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/string/raw"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/string/repeat.js b/socket/node_modules/babel-runtime/core-js/string/repeat.js new file mode 100644 index 0000000..816ef2e --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/string/repeat.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/string/repeat"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/string/starts-with.js b/socket/node_modules/babel-runtime/core-js/string/starts-with.js new file mode 100644 index 0000000..5d74716 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/string/starts-with.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/string/starts-with"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/string/trim-end.js b/socket/node_modules/babel-runtime/core-js/string/trim-end.js new file mode 100644 index 0000000..7c426f5 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/string/trim-end.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/string/trim-end"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/string/trim-left.js b/socket/node_modules/babel-runtime/core-js/string/trim-left.js new file mode 100644 index 0000000..b8a7e1e --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/string/trim-left.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/string/trim-left"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/string/trim-right.js b/socket/node_modules/babel-runtime/core-js/string/trim-right.js new file mode 100644 index 0000000..ba3ca74 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/string/trim-right.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/string/trim-right"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/string/trim-start.js b/socket/node_modules/babel-runtime/core-js/string/trim-start.js new file mode 100644 index 0000000..f1f035a --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/string/trim-start.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/string/trim-start"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/string/trim.js b/socket/node_modules/babel-runtime/core-js/string/trim.js new file mode 100644 index 0000000..7d51cf0 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/string/trim.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/string/trim"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/symbol.js b/socket/node_modules/babel-runtime/core-js/symbol.js new file mode 100644 index 0000000..9aa95a0 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/symbol.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/symbol"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/symbol/async-iterator.js b/socket/node_modules/babel-runtime/core-js/symbol/async-iterator.js new file mode 100644 index 0000000..9dd3a57 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/symbol/async-iterator.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/symbol/async-iterator"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/symbol/for.js b/socket/node_modules/babel-runtime/core-js/symbol/for.js new file mode 100644 index 0000000..de7424f --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/symbol/for.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/symbol/for"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/symbol/has-instance.js b/socket/node_modules/babel-runtime/core-js/symbol/has-instance.js new file mode 100644 index 0000000..f771180 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/symbol/has-instance.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/symbol/has-instance"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/symbol/is-concat-spreadable.js b/socket/node_modules/babel-runtime/core-js/symbol/is-concat-spreadable.js new file mode 100644 index 0000000..0bc7f03 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/symbol/is-concat-spreadable.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/symbol/is-concat-spreadable"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/symbol/iterator.js b/socket/node_modules/babel-runtime/core-js/symbol/iterator.js new file mode 100644 index 0000000..3f9a0fb --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/symbol/iterator.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/symbol/iterator"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/symbol/key-for.js b/socket/node_modules/babel-runtime/core-js/symbol/key-for.js new file mode 100644 index 0000000..15a6cfb --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/symbol/key-for.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/symbol/key-for"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/symbol/match.js b/socket/node_modules/babel-runtime/core-js/symbol/match.js new file mode 100644 index 0000000..ed64810 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/symbol/match.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/symbol/match"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/symbol/observable.js b/socket/node_modules/babel-runtime/core-js/symbol/observable.js new file mode 100644 index 0000000..876f9c0 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/symbol/observable.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/symbol/observable"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/symbol/replace.js b/socket/node_modules/babel-runtime/core-js/symbol/replace.js new file mode 100644 index 0000000..35f900b --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/symbol/replace.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/symbol/replace"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/symbol/search.js b/socket/node_modules/babel-runtime/core-js/symbol/search.js new file mode 100644 index 0000000..4b81d31 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/symbol/search.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/symbol/search"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/symbol/species.js b/socket/node_modules/babel-runtime/core-js/symbol/species.js new file mode 100644 index 0000000..4481321 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/symbol/species.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/symbol/species"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/symbol/split.js b/socket/node_modules/babel-runtime/core-js/symbol/split.js new file mode 100644 index 0000000..1f5795c --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/symbol/split.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/symbol/split"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/symbol/to-primitive.js b/socket/node_modules/babel-runtime/core-js/symbol/to-primitive.js new file mode 100644 index 0000000..b7f9e04 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/symbol/to-primitive.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/symbol/to-primitive"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/symbol/to-string-tag.js b/socket/node_modules/babel-runtime/core-js/symbol/to-string-tag.js new file mode 100644 index 0000000..d9e4e4d --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/symbol/to-string-tag.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/symbol/to-string-tag"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/symbol/unscopables.js b/socket/node_modules/babel-runtime/core-js/symbol/unscopables.js new file mode 100644 index 0000000..cd3dac0 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/symbol/unscopables.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/symbol/unscopables"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/system/global.js b/socket/node_modules/babel-runtime/core-js/system/global.js new file mode 100644 index 0000000..c442f17 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/system/global.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/system/global"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/weak-map.js b/socket/node_modules/babel-runtime/core-js/weak-map.js new file mode 100644 index 0000000..de130d4 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/weak-map.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/weak-map"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/core-js/weak-set.js b/socket/node_modules/babel-runtime/core-js/weak-set.js new file mode 100644 index 0000000..b96cb97 --- /dev/null +++ b/socket/node_modules/babel-runtime/core-js/weak-set.js @@ -0,0 +1 @@ +module.exports = { "default": require("core-js/library/fn/weak-set"), __esModule: true }; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_async-generator-delegate.js b/socket/node_modules/babel-runtime/helpers/_async-generator-delegate.js new file mode 100644 index 0000000..c1debb4 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_async-generator-delegate.js @@ -0,0 +1 @@ +module.exports = require("./asyncGeneratorDelegate.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_async-generator.js b/socket/node_modules/babel-runtime/helpers/_async-generator.js new file mode 100644 index 0000000..ee87351 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_async-generator.js @@ -0,0 +1 @@ +module.exports = require("./asyncGenerator.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_async-iterator.js b/socket/node_modules/babel-runtime/helpers/_async-iterator.js new file mode 100644 index 0000000..c014bbb --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_async-iterator.js @@ -0,0 +1 @@ +module.exports = require("./asyncIterator.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_async-to-generator.js b/socket/node_modules/babel-runtime/helpers/_async-to-generator.js new file mode 100644 index 0000000..5f81e90 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_async-to-generator.js @@ -0,0 +1 @@ +module.exports = require("./asyncToGenerator.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_class-call-check.js b/socket/node_modules/babel-runtime/helpers/_class-call-check.js new file mode 100644 index 0000000..d4514f0 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_class-call-check.js @@ -0,0 +1 @@ +module.exports = require("./classCallCheck.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_create-class.js b/socket/node_modules/babel-runtime/helpers/_create-class.js new file mode 100644 index 0000000..2699d23 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_create-class.js @@ -0,0 +1 @@ +module.exports = require("./createClass.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_defaults.js b/socket/node_modules/babel-runtime/helpers/_defaults.js new file mode 100644 index 0000000..a4274f5 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_defaults.js @@ -0,0 +1 @@ +module.exports = require("./defaults.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_define-enumerable-properties.js b/socket/node_modules/babel-runtime/helpers/_define-enumerable-properties.js new file mode 100644 index 0000000..c60bbfc --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_define-enumerable-properties.js @@ -0,0 +1 @@ +module.exports = require("./defineEnumerableProperties.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_define-property.js b/socket/node_modules/babel-runtime/helpers/_define-property.js new file mode 100644 index 0000000..a265eab --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_define-property.js @@ -0,0 +1 @@ +module.exports = require("./defineProperty.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_extends.js b/socket/node_modules/babel-runtime/helpers/_extends.js new file mode 100644 index 0000000..2ecdb0e --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_extends.js @@ -0,0 +1 @@ +module.exports = require("./extends.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_get.js b/socket/node_modules/babel-runtime/helpers/_get.js new file mode 100644 index 0000000..39aa387 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_get.js @@ -0,0 +1 @@ +module.exports = require("./get.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_inherits.js b/socket/node_modules/babel-runtime/helpers/_inherits.js new file mode 100644 index 0000000..29deff3 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_inherits.js @@ -0,0 +1 @@ +module.exports = require("./inherits.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_instanceof.js b/socket/node_modules/babel-runtime/helpers/_instanceof.js new file mode 100644 index 0000000..4c61213 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_instanceof.js @@ -0,0 +1 @@ +module.exports = require("./instanceof.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_interop-require-default.js b/socket/node_modules/babel-runtime/helpers/_interop-require-default.js new file mode 100644 index 0000000..10edad2 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_interop-require-default.js @@ -0,0 +1 @@ +module.exports = require("./interopRequireDefault.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_interop-require-wildcard.js b/socket/node_modules/babel-runtime/helpers/_interop-require-wildcard.js new file mode 100644 index 0000000..ae19e01 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_interop-require-wildcard.js @@ -0,0 +1 @@ +module.exports = require("./interopRequireWildcard.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_jsx.js b/socket/node_modules/babel-runtime/helpers/_jsx.js new file mode 100644 index 0000000..f21ab91 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_jsx.js @@ -0,0 +1 @@ +module.exports = require("./jsx.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_new-arrow-check.js b/socket/node_modules/babel-runtime/helpers/_new-arrow-check.js new file mode 100644 index 0000000..6325419 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_new-arrow-check.js @@ -0,0 +1 @@ +module.exports = require("./newArrowCheck.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_object-destructuring-empty.js b/socket/node_modules/babel-runtime/helpers/_object-destructuring-empty.js new file mode 100644 index 0000000..9c6ffef --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_object-destructuring-empty.js @@ -0,0 +1 @@ +module.exports = require("./objectDestructuringEmpty.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_object-without-properties.js b/socket/node_modules/babel-runtime/helpers/_object-without-properties.js new file mode 100644 index 0000000..052b207 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_object-without-properties.js @@ -0,0 +1 @@ +module.exports = require("./objectWithoutProperties.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_possible-constructor-return.js b/socket/node_modules/babel-runtime/helpers/_possible-constructor-return.js new file mode 100644 index 0000000..09018d7 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_possible-constructor-return.js @@ -0,0 +1 @@ +module.exports = require("./possibleConstructorReturn.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_self-global.js b/socket/node_modules/babel-runtime/helpers/_self-global.js new file mode 100644 index 0000000..c3d45f3 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_self-global.js @@ -0,0 +1 @@ +module.exports = require("./selfGlobal.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_set.js b/socket/node_modules/babel-runtime/helpers/_set.js new file mode 100644 index 0000000..e4dd5ea --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_set.js @@ -0,0 +1 @@ +module.exports = require("./set.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_sliced-to-array-loose.js b/socket/node_modules/babel-runtime/helpers/_sliced-to-array-loose.js new file mode 100644 index 0000000..8bb56d3 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_sliced-to-array-loose.js @@ -0,0 +1 @@ +module.exports = require("./slicedToArrayLoose.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_sliced-to-array.js b/socket/node_modules/babel-runtime/helpers/_sliced-to-array.js new file mode 100644 index 0000000..28d7fd8 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_sliced-to-array.js @@ -0,0 +1 @@ +module.exports = require("./slicedToArray.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_tagged-template-literal-loose.js b/socket/node_modules/babel-runtime/helpers/_tagged-template-literal-loose.js new file mode 100644 index 0000000..8ffa3f7 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_tagged-template-literal-loose.js @@ -0,0 +1 @@ +module.exports = require("./taggedTemplateLiteralLoose.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_tagged-template-literal.js b/socket/node_modules/babel-runtime/helpers/_tagged-template-literal.js new file mode 100644 index 0000000..160a917 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_tagged-template-literal.js @@ -0,0 +1 @@ +module.exports = require("./taggedTemplateLiteral.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_temporal-ref.js b/socket/node_modules/babel-runtime/helpers/_temporal-ref.js new file mode 100644 index 0000000..cf2e4e4 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_temporal-ref.js @@ -0,0 +1 @@ +module.exports = require("./temporalRef.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_temporal-undefined.js b/socket/node_modules/babel-runtime/helpers/_temporal-undefined.js new file mode 100644 index 0000000..234fc33 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_temporal-undefined.js @@ -0,0 +1 @@ +module.exports = require("./temporalUndefined.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_to-array.js b/socket/node_modules/babel-runtime/helpers/_to-array.js new file mode 100644 index 0000000..d89ee39 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_to-array.js @@ -0,0 +1 @@ +module.exports = require("./toArray.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_to-consumable-array.js b/socket/node_modules/babel-runtime/helpers/_to-consumable-array.js new file mode 100644 index 0000000..0aad718 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_to-consumable-array.js @@ -0,0 +1 @@ +module.exports = require("./toConsumableArray.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/_typeof.js b/socket/node_modules/babel-runtime/helpers/_typeof.js new file mode 100644 index 0000000..14fd11c --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/_typeof.js @@ -0,0 +1 @@ +module.exports = require("./typeof.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/async-generator-delegate.js b/socket/node_modules/babel-runtime/helpers/async-generator-delegate.js new file mode 100644 index 0000000..c1debb4 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/async-generator-delegate.js @@ -0,0 +1 @@ +module.exports = require("./asyncGeneratorDelegate.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/async-generator.js b/socket/node_modules/babel-runtime/helpers/async-generator.js new file mode 100644 index 0000000..ee87351 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/async-generator.js @@ -0,0 +1 @@ +module.exports = require("./asyncGenerator.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/async-iterator.js b/socket/node_modules/babel-runtime/helpers/async-iterator.js new file mode 100644 index 0000000..c014bbb --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/async-iterator.js @@ -0,0 +1 @@ +module.exports = require("./asyncIterator.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/async-to-generator.js b/socket/node_modules/babel-runtime/helpers/async-to-generator.js new file mode 100644 index 0000000..5f81e90 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/async-to-generator.js @@ -0,0 +1 @@ +module.exports = require("./asyncToGenerator.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/asyncGenerator.js b/socket/node_modules/babel-runtime/helpers/asyncGenerator.js new file mode 100644 index 0000000..d3032e7 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/asyncGenerator.js @@ -0,0 +1,126 @@ +"use strict"; + +exports.__esModule = true; + +var _symbol = require("../core-js/symbol"); + +var _symbol2 = _interopRequireDefault(_symbol); + +var _promise = require("../core-js/promise"); + +var _promise2 = _interopRequireDefault(_promise); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function () { + function AwaitValue(value) { + this.value = value; + } + + function AsyncGenerator(gen) { + var front, back; + + function send(key, arg) { + return new _promise2.default(function (resolve, reject) { + var request = { + key: key, + arg: arg, + resolve: resolve, + reject: reject, + next: null + }; + + if (back) { + back = back.next = request; + } else { + front = back = request; + resume(key, arg); + } + }); + } + + function resume(key, arg) { + try { + var result = gen[key](arg); + var value = result.value; + + if (value instanceof AwaitValue) { + _promise2.default.resolve(value.value).then(function (arg) { + resume("next", arg); + }, function (arg) { + resume("throw", arg); + }); + } else { + settle(result.done ? "return" : "normal", result.value); + } + } catch (err) { + settle("throw", err); + } + } + + function settle(type, value) { + switch (type) { + case "return": + front.resolve({ + value: value, + done: true + }); + break; + + case "throw": + front.reject(value); + break; + + default: + front.resolve({ + value: value, + done: false + }); + break; + } + + front = front.next; + + if (front) { + resume(front.key, front.arg); + } else { + back = null; + } + } + + this._invoke = send; + + if (typeof gen.return !== "function") { + this.return = undefined; + } + } + + if (typeof _symbol2.default === "function" && _symbol2.default.asyncIterator) { + AsyncGenerator.prototype[_symbol2.default.asyncIterator] = function () { + return this; + }; + } + + AsyncGenerator.prototype.next = function (arg) { + return this._invoke("next", arg); + }; + + AsyncGenerator.prototype.throw = function (arg) { + return this._invoke("throw", arg); + }; + + AsyncGenerator.prototype.return = function (arg) { + return this._invoke("return", arg); + }; + + return { + wrap: function wrap(fn) { + return function () { + return new AsyncGenerator(fn.apply(this, arguments)); + }; + }, + await: function _await(value) { + return new AwaitValue(value); + } + }; +}(); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/asyncGeneratorDelegate.js b/socket/node_modules/babel-runtime/helpers/asyncGeneratorDelegate.js new file mode 100644 index 0000000..5fcc123 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/asyncGeneratorDelegate.js @@ -0,0 +1,69 @@ +"use strict"; + +exports.__esModule = true; + +var _iterator = require("../core-js/symbol/iterator"); + +var _iterator2 = _interopRequireDefault(_iterator); + +var _symbol = require("../core-js/symbol"); + +var _symbol2 = _interopRequireDefault(_symbol); + +var _promise = require("../core-js/promise"); + +var _promise2 = _interopRequireDefault(_promise); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function (inner, awaitWrap) { + var iter = {}, + waiting = false; + + function pump(key, value) { + waiting = true; + value = new _promise2.default(function (resolve) { + resolve(inner[key](value)); + }); + return { + done: false, + value: awaitWrap(value) + }; + } + + ; + + if (typeof _symbol2.default === "function" && _iterator2.default) { + iter[_iterator2.default] = function () { + return this; + }; + } + + iter.next = function (value) { + if (waiting) { + waiting = false; + return value; + } + + return pump("next", value); + }; + + if (typeof inner.throw === "function") { + iter.throw = function (value) { + if (waiting) { + waiting = false; + throw value; + } + + return pump("throw", value); + }; + } + + if (typeof inner.return === "function") { + iter.return = function (value) { + return pump("return", value); + }; + } + + return iter; +}; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/asyncIterator.js b/socket/node_modules/babel-runtime/helpers/asyncIterator.js new file mode 100644 index 0000000..b542b6c --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/asyncIterator.js @@ -0,0 +1,32 @@ +"use strict"; + +exports.__esModule = true; + +var _getIterator2 = require("../core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +var _iterator = require("../core-js/symbol/iterator"); + +var _iterator2 = _interopRequireDefault(_iterator); + +var _symbol = require("../core-js/symbol"); + +var _symbol2 = _interopRequireDefault(_symbol); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function (iterable) { + if (typeof _symbol2.default === "function") { + if (_symbol2.default.asyncIterator) { + var method = iterable[_symbol2.default.asyncIterator]; + if (method != null) return method.call(iterable); + } + + if (_iterator2.default) { + return (0, _getIterator3.default)(iterable); + } + } + + throw new TypeError("Object is not async iterable"); +}; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/asyncToGenerator.js b/socket/node_modules/babel-runtime/helpers/asyncToGenerator.js new file mode 100644 index 0000000..50be669 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/asyncToGenerator.js @@ -0,0 +1,38 @@ +"use strict"; + +exports.__esModule = true; + +var _promise = require("../core-js/promise"); + +var _promise2 = _interopRequireDefault(_promise); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function (fn) { + return function () { + var gen = fn.apply(this, arguments); + return new _promise2.default(function (resolve, reject) { + function step(key, arg) { + try { + var info = gen[key](arg); + var value = info.value; + } catch (error) { + reject(error); + return; + } + + if (info.done) { + resolve(value); + } else { + return _promise2.default.resolve(value).then(function (value) { + step("next", value); + }, function (err) { + step("throw", err); + }); + } + } + + return step("next"); + }); + }; +}; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/class-call-check.js b/socket/node_modules/babel-runtime/helpers/class-call-check.js new file mode 100644 index 0000000..d4514f0 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/class-call-check.js @@ -0,0 +1 @@ +module.exports = require("./classCallCheck.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/classCallCheck.js b/socket/node_modules/babel-runtime/helpers/classCallCheck.js new file mode 100644 index 0000000..63d6d8f --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/classCallCheck.js @@ -0,0 +1,9 @@ +"use strict"; + +exports.__esModule = true; + +exports.default = function (instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +}; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/create-class.js b/socket/node_modules/babel-runtime/helpers/create-class.js new file mode 100644 index 0000000..2699d23 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/create-class.js @@ -0,0 +1 @@ +module.exports = require("./createClass.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/createClass.js b/socket/node_modules/babel-runtime/helpers/createClass.js new file mode 100644 index 0000000..bee484d --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/createClass.js @@ -0,0 +1,27 @@ +"use strict"; + +exports.__esModule = true; + +var _defineProperty = require("../core-js/object/define-property"); + +var _defineProperty2 = _interopRequireDefault(_defineProperty); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = 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; + (0, _defineProperty2.default)(target, descriptor.key, descriptor); + } + } + + return function (Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); + if (staticProps) defineProperties(Constructor, staticProps); + return Constructor; + }; +}(); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/defaults.js b/socket/node_modules/babel-runtime/helpers/defaults.js new file mode 100644 index 0000000..9a721ce --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/defaults.js @@ -0,0 +1,32 @@ +"use strict"; + +exports.__esModule = true; + +var _defineProperty = require("../core-js/object/define-property"); + +var _defineProperty2 = _interopRequireDefault(_defineProperty); + +var _getOwnPropertyDescriptor = require("../core-js/object/get-own-property-descriptor"); + +var _getOwnPropertyDescriptor2 = _interopRequireDefault(_getOwnPropertyDescriptor); + +var _getOwnPropertyNames = require("../core-js/object/get-own-property-names"); + +var _getOwnPropertyNames2 = _interopRequireDefault(_getOwnPropertyNames); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function (obj, defaults) { + var keys = (0, _getOwnPropertyNames2.default)(defaults); + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = (0, _getOwnPropertyDescriptor2.default)(defaults, key); + + if (value && value.configurable && obj[key] === undefined) { + (0, _defineProperty2.default)(obj, key, value); + } + } + + return obj; +}; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/define-enumerable-properties.js b/socket/node_modules/babel-runtime/helpers/define-enumerable-properties.js new file mode 100644 index 0000000..c60bbfc --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/define-enumerable-properties.js @@ -0,0 +1 @@ +module.exports = require("./defineEnumerableProperties.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/define-property.js b/socket/node_modules/babel-runtime/helpers/define-property.js new file mode 100644 index 0000000..a265eab --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/define-property.js @@ -0,0 +1 @@ +module.exports = require("./defineProperty.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/defineEnumerableProperties.js b/socket/node_modules/babel-runtime/helpers/defineEnumerableProperties.js new file mode 100644 index 0000000..503a1ab --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/defineEnumerableProperties.js @@ -0,0 +1,20 @@ +"use strict"; + +exports.__esModule = true; + +var _defineProperty = require("../core-js/object/define-property"); + +var _defineProperty2 = _interopRequireDefault(_defineProperty); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function (obj, descs) { + for (var key in descs) { + var desc = descs[key]; + desc.configurable = desc.enumerable = true; + if ("value" in desc) desc.writable = true; + (0, _defineProperty2.default)(obj, key, desc); + } + + return obj; +}; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/defineProperty.js b/socket/node_modules/babel-runtime/helpers/defineProperty.js new file mode 100644 index 0000000..b0f46d8 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/defineProperty.js @@ -0,0 +1,24 @@ +"use strict"; + +exports.__esModule = true; + +var _defineProperty = require("../core-js/object/define-property"); + +var _defineProperty2 = _interopRequireDefault(_defineProperty); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function (obj, key, value) { + if (key in obj) { + (0, _defineProperty2.default)(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +}; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/extends.js b/socket/node_modules/babel-runtime/helpers/extends.js new file mode 100644 index 0000000..976aef1 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/extends.js @@ -0,0 +1,23 @@ +"use strict"; + +exports.__esModule = true; + +var _assign = require("../core-js/object/assign"); + +var _assign2 = _interopRequireDefault(_assign); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = _assign2.default || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; +}; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/get.js b/socket/node_modules/babel-runtime/helpers/get.js new file mode 100644 index 0000000..38b79b7 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/get.js @@ -0,0 +1,38 @@ +"use strict"; + +exports.__esModule = true; + +var _getPrototypeOf = require("../core-js/object/get-prototype-of"); + +var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); + +var _getOwnPropertyDescriptor = require("../core-js/object/get-own-property-descriptor"); + +var _getOwnPropertyDescriptor2 = _interopRequireDefault(_getOwnPropertyDescriptor); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function get(object, property, receiver) { + if (object === null) object = Function.prototype; + var desc = (0, _getOwnPropertyDescriptor2.default)(object, property); + + if (desc === undefined) { + var parent = (0, _getPrototypeOf2.default)(object); + + if (parent === null) { + return undefined; + } else { + return get(parent, property, receiver); + } + } else if ("value" in desc) { + return desc.value; + } else { + var getter = desc.get; + + if (getter === undefined) { + return undefined; + } + + return getter.call(receiver); + } +}; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/inherits.js b/socket/node_modules/babel-runtime/helpers/inherits.js new file mode 100644 index 0000000..ae8a92d --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/inherits.js @@ -0,0 +1,33 @@ +"use strict"; + +exports.__esModule = true; + +var _setPrototypeOf = require("../core-js/object/set-prototype-of"); + +var _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf); + +var _create = require("../core-js/object/create"); + +var _create2 = _interopRequireDefault(_create); + +var _typeof2 = require("../helpers/typeof"); + +var _typeof3 = _interopRequireDefault(_typeof2); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function (subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : (0, _typeof3.default)(superClass))); + } + + subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, { + constructor: { + value: subClass, + enumerable: false, + writable: true, + configurable: true + } + }); + if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass; +}; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/instanceof.js b/socket/node_modules/babel-runtime/helpers/instanceof.js new file mode 100644 index 0000000..f2d90ec --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/instanceof.js @@ -0,0 +1,21 @@ +"use strict"; + +exports.__esModule = true; + +var _hasInstance = require("../core-js/symbol/has-instance"); + +var _hasInstance2 = _interopRequireDefault(_hasInstance); + +var _symbol = require("../core-js/symbol"); + +var _symbol2 = _interopRequireDefault(_symbol); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function (left, right) { + if (right != null && typeof _symbol2.default !== "undefined" && right[_hasInstance2.default]) { + return right[_hasInstance2.default](left); + } else { + return left instanceof right; + } +}; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/interop-require-default.js b/socket/node_modules/babel-runtime/helpers/interop-require-default.js new file mode 100644 index 0000000..10edad2 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/interop-require-default.js @@ -0,0 +1 @@ +module.exports = require("./interopRequireDefault.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/interop-require-wildcard.js b/socket/node_modules/babel-runtime/helpers/interop-require-wildcard.js new file mode 100644 index 0000000..ae19e01 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/interop-require-wildcard.js @@ -0,0 +1 @@ +module.exports = require("./interopRequireWildcard.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/interopRequireDefault.js b/socket/node_modules/babel-runtime/helpers/interopRequireDefault.js new file mode 100644 index 0000000..df808f6 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/interopRequireDefault.js @@ -0,0 +1,9 @@ +"use strict"; + +exports.__esModule = true; + +exports.default = function (obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +}; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/interopRequireWildcard.js b/socket/node_modules/babel-runtime/helpers/interopRequireWildcard.js new file mode 100644 index 0000000..d95b6ac --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/interopRequireWildcard.js @@ -0,0 +1,20 @@ +"use strict"; + +exports.__esModule = true; + +exports.default = function (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; + } +}; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/jsx.js b/socket/node_modules/babel-runtime/helpers/jsx.js new file mode 100644 index 0000000..b2164d0 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/jsx.js @@ -0,0 +1,56 @@ +"use strict"; + +exports.__esModule = true; + +var _for = require("../core-js/symbol/for"); + +var _for2 = _interopRequireDefault(_for); + +var _symbol = require("../core-js/symbol"); + +var _symbol2 = _interopRequireDefault(_symbol); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function () { + var REACT_ELEMENT_TYPE = typeof _symbol2.default === "function" && _for2.default && (0, _for2.default)("react.element") || 0xeac7; + return function createRawReactElement(type, props, key, children) { + var defaultProps = type && type.defaultProps; + var childrenLength = arguments.length - 3; + + if (!props && childrenLength !== 0) { + props = {}; + } + + if (props && defaultProps) { + for (var propName in defaultProps) { + if (props[propName] === void 0) { + props[propName] = defaultProps[propName]; + } + } + } else if (!props) { + props = defaultProps || {}; + } + + if (childrenLength === 1) { + props.children = children; + } else if (childrenLength > 1) { + var childArray = Array(childrenLength); + + for (var i = 0; i < childrenLength; i++) { + childArray[i] = arguments[i + 3]; + } + + props.children = childArray; + } + + return { + $$typeof: REACT_ELEMENT_TYPE, + type: type, + key: key === undefined ? null : '' + key, + ref: null, + props: props, + _owner: null + }; + }; +}(); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/new-arrow-check.js b/socket/node_modules/babel-runtime/helpers/new-arrow-check.js new file mode 100644 index 0000000..6325419 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/new-arrow-check.js @@ -0,0 +1 @@ +module.exports = require("./newArrowCheck.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/newArrowCheck.js b/socket/node_modules/babel-runtime/helpers/newArrowCheck.js new file mode 100644 index 0000000..c15ee5c --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/newArrowCheck.js @@ -0,0 +1,9 @@ +"use strict"; + +exports.__esModule = true; + +exports.default = function (innerThis, boundThis) { + if (innerThis !== boundThis) { + throw new TypeError("Cannot instantiate an arrow function"); + } +}; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/object-destructuring-empty.js b/socket/node_modules/babel-runtime/helpers/object-destructuring-empty.js new file mode 100644 index 0000000..9c6ffef --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/object-destructuring-empty.js @@ -0,0 +1 @@ +module.exports = require("./objectDestructuringEmpty.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/object-without-properties.js b/socket/node_modules/babel-runtime/helpers/object-without-properties.js new file mode 100644 index 0000000..052b207 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/object-without-properties.js @@ -0,0 +1 @@ +module.exports = require("./objectWithoutProperties.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/objectDestructuringEmpty.js b/socket/node_modules/babel-runtime/helpers/objectDestructuringEmpty.js new file mode 100644 index 0000000..e2651c1 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/objectDestructuringEmpty.js @@ -0,0 +1,7 @@ +"use strict"; + +exports.__esModule = true; + +exports.default = function (obj) { + if (obj == null) throw new TypeError("Cannot destructure undefined"); +}; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/objectWithoutProperties.js b/socket/node_modules/babel-runtime/helpers/objectWithoutProperties.js new file mode 100644 index 0000000..e9f07e6 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/objectWithoutProperties.js @@ -0,0 +1,15 @@ +"use strict"; + +exports.__esModule = true; + +exports.default = function (obj, keys) { + var target = {}; + + for (var i in obj) { + if (keys.indexOf(i) >= 0) continue; + if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; + target[i] = obj[i]; + } + + return target; +}; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/possible-constructor-return.js b/socket/node_modules/babel-runtime/helpers/possible-constructor-return.js new file mode 100644 index 0000000..09018d7 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/possible-constructor-return.js @@ -0,0 +1 @@ +module.exports = require("./possibleConstructorReturn.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/possibleConstructorReturn.js b/socket/node_modules/babel-runtime/helpers/possibleConstructorReturn.js new file mode 100644 index 0000000..957f425 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/possibleConstructorReturn.js @@ -0,0 +1,17 @@ +"use strict"; + +exports.__esModule = true; + +var _typeof2 = require("../helpers/typeof"); + +var _typeof3 = _interopRequireDefault(_typeof2); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function (self, call) { + if (!self) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return call && ((typeof call === "undefined" ? "undefined" : (0, _typeof3.default)(call)) === "object" || typeof call === "function") ? call : self; +}; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/self-global.js b/socket/node_modules/babel-runtime/helpers/self-global.js new file mode 100644 index 0000000..c3d45f3 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/self-global.js @@ -0,0 +1 @@ +module.exports = require("./selfGlobal.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/selfGlobal.js b/socket/node_modules/babel-runtime/helpers/selfGlobal.js new file mode 100644 index 0000000..378beb8 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/selfGlobal.js @@ -0,0 +1,4 @@ +"use strict"; + +exports.__esModule = true; +exports.default = typeof global === "undefined" ? self : global; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/set.js b/socket/node_modules/babel-runtime/helpers/set.js new file mode 100644 index 0000000..8780efb --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/set.js @@ -0,0 +1,35 @@ +"use strict"; + +exports.__esModule = true; + +var _getPrototypeOf = require("../core-js/object/get-prototype-of"); + +var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); + +var _getOwnPropertyDescriptor = require("../core-js/object/get-own-property-descriptor"); + +var _getOwnPropertyDescriptor2 = _interopRequireDefault(_getOwnPropertyDescriptor); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function set(object, property, value, receiver) { + var desc = (0, _getOwnPropertyDescriptor2.default)(object, property); + + if (desc === undefined) { + var parent = (0, _getPrototypeOf2.default)(object); + + if (parent !== null) { + set(parent, property, value, receiver); + } + } else if ("value" in desc && desc.writable) { + desc.value = value; + } else { + var setter = desc.set; + + if (setter !== undefined) { + setter.call(receiver, value); + } + } + + return value; +}; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/sliced-to-array-loose.js b/socket/node_modules/babel-runtime/helpers/sliced-to-array-loose.js new file mode 100644 index 0000000..8bb56d3 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/sliced-to-array-loose.js @@ -0,0 +1 @@ +module.exports = require("./slicedToArrayLoose.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/sliced-to-array.js b/socket/node_modules/babel-runtime/helpers/sliced-to-array.js new file mode 100644 index 0000000..28d7fd8 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/sliced-to-array.js @@ -0,0 +1 @@ +module.exports = require("./slicedToArray.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/slicedToArray.js b/socket/node_modules/babel-runtime/helpers/slicedToArray.js new file mode 100644 index 0000000..de11512 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/slicedToArray.js @@ -0,0 +1,51 @@ +"use strict"; + +exports.__esModule = true; + +var _isIterable2 = require("../core-js/is-iterable"); + +var _isIterable3 = _interopRequireDefault(_isIterable2); + +var _getIterator2 = require("../core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function () { + function sliceIterator(arr, i) { + var _arr = []; + var _n = true; + var _d = false; + var _e = undefined; + + try { + for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"]) _i["return"](); + } finally { + if (_d) throw _e; + } + } + + return _arr; + } + + return function (arr, i) { + if (Array.isArray(arr)) { + return arr; + } else if ((0, _isIterable3.default)(Object(arr))) { + return sliceIterator(arr, i); + } else { + throw new TypeError("Invalid attempt to destructure non-iterable instance"); + } + }; +}(); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/slicedToArrayLoose.js b/socket/node_modules/babel-runtime/helpers/slicedToArrayLoose.js new file mode 100644 index 0000000..012bbd8 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/slicedToArrayLoose.js @@ -0,0 +1,31 @@ +"use strict"; + +exports.__esModule = true; + +var _getIterator2 = require("../core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +var _isIterable2 = require("../core-js/is-iterable"); + +var _isIterable3 = _interopRequireDefault(_isIterable2); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function (arr, i) { + if (Array.isArray(arr)) { + return arr; + } else if ((0, _isIterable3.default)(Object(arr))) { + var _arr = []; + + for (var _iterator = (0, _getIterator3.default)(arr), _step; !(_step = _iterator.next()).done;) { + _arr.push(_step.value); + + if (i && _arr.length === i) break; + } + + return _arr; + } else { + throw new TypeError("Invalid attempt to destructure non-iterable instance"); + } +}; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/tagged-template-literal-loose.js b/socket/node_modules/babel-runtime/helpers/tagged-template-literal-loose.js new file mode 100644 index 0000000..8ffa3f7 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/tagged-template-literal-loose.js @@ -0,0 +1 @@ +module.exports = require("./taggedTemplateLiteralLoose.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/tagged-template-literal.js b/socket/node_modules/babel-runtime/helpers/tagged-template-literal.js new file mode 100644 index 0000000..160a917 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/tagged-template-literal.js @@ -0,0 +1 @@ +module.exports = require("./taggedTemplateLiteral.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/taggedTemplateLiteral.js b/socket/node_modules/babel-runtime/helpers/taggedTemplateLiteral.js new file mode 100644 index 0000000..060dcf9 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/taggedTemplateLiteral.js @@ -0,0 +1,21 @@ +"use strict"; + +exports.__esModule = true; + +var _defineProperties = require("../core-js/object/define-properties"); + +var _defineProperties2 = _interopRequireDefault(_defineProperties); + +var _freeze = require("../core-js/object/freeze"); + +var _freeze2 = _interopRequireDefault(_freeze); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function (strings, raw) { + return (0, _freeze2.default)((0, _defineProperties2.default)(strings, { + raw: { + value: (0, _freeze2.default)(raw) + } + })); +}; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/taggedTemplateLiteralLoose.js b/socket/node_modules/babel-runtime/helpers/taggedTemplateLiteralLoose.js new file mode 100644 index 0000000..76c4930 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/taggedTemplateLiteralLoose.js @@ -0,0 +1,8 @@ +"use strict"; + +exports.__esModule = true; + +exports.default = function (strings, raw) { + strings.raw = raw; + return strings; +}; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/temporal-ref.js b/socket/node_modules/babel-runtime/helpers/temporal-ref.js new file mode 100644 index 0000000..cf2e4e4 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/temporal-ref.js @@ -0,0 +1 @@ +module.exports = require("./temporalRef.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/temporal-undefined.js b/socket/node_modules/babel-runtime/helpers/temporal-undefined.js new file mode 100644 index 0000000..234fc33 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/temporal-undefined.js @@ -0,0 +1 @@ +module.exports = require("./temporalUndefined.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/temporalRef.js b/socket/node_modules/babel-runtime/helpers/temporalRef.js new file mode 100644 index 0000000..49b8b24 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/temporalRef.js @@ -0,0 +1,11 @@ +"use strict"; + +exports.__esModule = true; + +exports.default = function (val, name, undef) { + if (val === undef) { + throw new ReferenceError(name + " is not defined - temporal dead zone"); + } else { + return val; + } +}; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/temporalUndefined.js b/socket/node_modules/babel-runtime/helpers/temporalUndefined.js new file mode 100644 index 0000000..4066de1 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/temporalUndefined.js @@ -0,0 +1,4 @@ +"use strict"; + +exports.__esModule = true; +exports.default = {}; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/to-array.js b/socket/node_modules/babel-runtime/helpers/to-array.js new file mode 100644 index 0000000..d89ee39 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/to-array.js @@ -0,0 +1 @@ +module.exports = require("./toArray.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/to-consumable-array.js b/socket/node_modules/babel-runtime/helpers/to-consumable-array.js new file mode 100644 index 0000000..0aad718 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/to-consumable-array.js @@ -0,0 +1 @@ +module.exports = require("./toConsumableArray.js"); \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/toArray.js b/socket/node_modules/babel-runtime/helpers/toArray.js new file mode 100644 index 0000000..8601a44 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/toArray.js @@ -0,0 +1,13 @@ +"use strict"; + +exports.__esModule = true; + +var _from = require("../core-js/array/from"); + +var _from2 = _interopRequireDefault(_from); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function (arr) { + return Array.isArray(arr) ? arr : (0, _from2.default)(arr); +}; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/toConsumableArray.js b/socket/node_modules/babel-runtime/helpers/toConsumableArray.js new file mode 100644 index 0000000..c4e34f5 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/toConsumableArray.js @@ -0,0 +1,21 @@ +"use strict"; + +exports.__esModule = true; + +var _from = require("../core-js/array/from"); + +var _from2 = _interopRequireDefault(_from); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function (arr) { + if (Array.isArray(arr)) { + for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { + arr2[i] = arr[i]; + } + + return arr2; + } else { + return (0, _from2.default)(arr); + } +}; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/helpers/typeof.js b/socket/node_modules/babel-runtime/helpers/typeof.js new file mode 100644 index 0000000..d22add8 --- /dev/null +++ b/socket/node_modules/babel-runtime/helpers/typeof.js @@ -0,0 +1,21 @@ +"use strict"; + +exports.__esModule = true; + +var _iterator = require("../core-js/symbol/iterator"); + +var _iterator2 = _interopRequireDefault(_iterator); + +var _symbol = require("../core-js/symbol"); + +var _symbol2 = _interopRequireDefault(_symbol); + +var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj; }; + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) { + return typeof obj === "undefined" ? "undefined" : _typeof(obj); +} : function (obj) { + return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj); +}; \ No newline at end of file diff --git a/socket/node_modules/babel-runtime/package-lock.json b/socket/node_modules/babel-runtime/package-lock.json new file mode 100644 index 0000000..78600f9 --- /dev/null +++ b/socket/node_modules/babel-runtime/package-lock.json @@ -0,0 +1,232 @@ +{ + "name": "babel-runtime", + "version": "6.23.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "babel-code-frame": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", + "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, + "requires": { + "babel-runtime": "6.25.0", + "babel-template": "6.25.0" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "6.25.0" + } + }, + "babel-plugin-transform-runtime": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", + "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", + "dev": true, + "requires": { + "babel-runtime": "6.25.0" + } + }, + "babel-runtime": { + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.25.0.tgz", + "integrity": "sha1-M7mOql1IK7AajRqmtDetKwGuxBw=", + "dev": true, + "requires": { + "core-js": "2.5.0" + } + }, + "babel-template": { + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", + "integrity": "sha1-ZlJBFmt8KqTGGdceGSlpVSsQwHE=", + "dev": true, + "requires": { + "babel-runtime": "6.25.0", + "babel-traverse": "6.25.0", + "babel-types": "6.25.0", + "babylon": "6.18.0", + "lodash": "4.17.4" + } + }, + "babel-traverse": { + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", + "integrity": "sha1-IldJfi/NGbie3BPEyROB+VEklvE=", + "dev": true, + "requires": { + "babel-code-frame": "6.22.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.25.0", + "babel-types": "6.25.0", + "babylon": "6.18.0", + "debug": "2.6.8", + "globals": "9.18.0", + "invariant": "2.2.2", + "lodash": "4.17.4" + } + }, + "babel-types": { + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", + "integrity": "sha1-cK+ySNVmDl0Y+BHZHIMDtUE0oY4=", + "dev": true, + "requires": { + "babel-runtime": "6.25.0", + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "core-js": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.0.tgz", + "integrity": "sha1-VpwFCRi+ZIazg3VSAorgRmtxcIY=" + }, + "debug": { + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "invariant": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", + "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "dev": true, + "requires": { + "loose-envify": "1.3.1" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "dev": true, + "requires": { + "js-tokens": "3.0.2" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", + "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + } + } +} diff --git a/socket/node_modules/babel-runtime/package.json b/socket/node_modules/babel-runtime/package.json new file mode 100644 index 0000000..02a30c0 --- /dev/null +++ b/socket/node_modules/babel-runtime/package.json @@ -0,0 +1,53 @@ +{ + "_from": "babel-runtime@^6.22.0", + "_id": "babel-runtime@6.26.0", + "_inBundle": false, + "_integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "_location": "/babel-runtime", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "babel-runtime@^6.22.0", + "name": "babel-runtime", + "escapedName": "babel-runtime", + "rawSpec": "^6.22.0", + "saveSpec": null, + "fetchSpec": "^6.22.0" + }, + "_requiredBy": [ + "/babel-helper-function-name", + "/babel-helper-get-function-arity", + "/babel-messages", + "/babel-plugin-transform-class-properties", + "/babel-template", + "/babel-traverse", + "/babel-types" + ], + "_resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "_shasum": "965c7058668e82b55d7bfe04ff2337bc8b5647fe", + "_spec": "babel-runtime@^6.22.0", + "_where": "/var/www/htdocs/coze/socket/node_modules/babel-plugin-transform-class-properties", + "author": { + "name": "Sebastian McKenzie", + "email": "sebmck@gmail.com" + }, + "bundleDependencies": false, + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "deprecated": false, + "description": "babel selfContained runtime", + "devDependencies": { + "babel-helpers": "^6.22.0", + "babel-plugin-transform-runtime": "^6.23.0" + }, + "license": "MIT", + "name": "babel-runtime", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel/tree/master/packages/babel-runtime" + }, + "version": "6.26.0" +} diff --git a/socket/node_modules/babel-runtime/regenerator/index.js b/socket/node_modules/babel-runtime/regenerator/index.js new file mode 100644 index 0000000..9fd4158 --- /dev/null +++ b/socket/node_modules/babel-runtime/regenerator/index.js @@ -0,0 +1 @@ +module.exports = require("regenerator-runtime"); diff --git a/socket/node_modules/babel-template/.npmignore b/socket/node_modules/babel-template/.npmignore new file mode 100644 index 0000000..47cdd2c --- /dev/null +++ b/socket/node_modules/babel-template/.npmignore @@ -0,0 +1,3 @@ +src +test +node_modules diff --git a/socket/node_modules/babel-template/README.md b/socket/node_modules/babel-template/README.md new file mode 100644 index 0000000..c73507a --- /dev/null +++ b/socket/node_modules/babel-template/README.md @@ -0,0 +1,64 @@ +# babel-template + +> Generate an AST from a string template. + +In computer science, this is known as an implementation of quasiquotes. + +## Install + +```sh +npm install --save-dev babel-template +``` + +## Usage + +```js +import template from "babel-template"; +import generate from "babel-generator"; +import * as t from "babel-types"; + +const buildRequire = template(` + var IMPORT_NAME = require(SOURCE); +`); + +const ast = buildRequire({ + IMPORT_NAME: t.identifier("myModule"), + SOURCE: t.stringLiteral("my-module") +}); + +console.log(generate(ast).code); +``` + +```js +const myModule = require("my-module"); +``` + +## API + +### `template(code, [opts])` + +#### code + +Type: `string` + +#### options + +`babel-template` accepts all of the options from [babylon], and specifies +some defaults of its own: + +* `allowReturnOutsideFunction` is set to `true` by default. +* `allowSuperOutsideMethod` is set to `true` by default. + +##### preserveComments + +Type: `boolean` +Default: `false` + +Set this to `true` to preserve any comments from the `code` parameter. + +#### Return value + +`babel-template` returns a `function` which is invoked with an optional object +of replacements. See the usage section for an example. + +[babylon]: https://github.com/babel/babylon#options diff --git a/socket/node_modules/babel-template/lib/index.js b/socket/node_modules/babel-template/lib/index.js new file mode 100644 index 0000000..ab5ec99 --- /dev/null +++ b/socket/node_modules/babel-template/lib/index.js @@ -0,0 +1,143 @@ +"use strict"; + +exports.__esModule = true; + +var _symbol = require("babel-runtime/core-js/symbol"); + +var _symbol2 = _interopRequireDefault(_symbol); + +exports.default = function (code, opts) { + var stack = void 0; + try { + throw new Error(); + } catch (error) { + if (error.stack) { + stack = error.stack.split("\n").slice(1).join("\n"); + } + } + + opts = (0, _assign2.default)({ + allowReturnOutsideFunction: true, + allowSuperOutsideMethod: true, + preserveComments: false + }, opts); + + var _getAst = function getAst() { + var ast = void 0; + + try { + ast = babylon.parse(code, opts); + + ast = _babelTraverse2.default.removeProperties(ast, { preserveComments: opts.preserveComments }); + + _babelTraverse2.default.cheap(ast, function (node) { + node[FROM_TEMPLATE] = true; + }); + } catch (err) { + err.stack = err.stack + "from\n" + stack; + throw err; + } + + _getAst = function getAst() { + return ast; + }; + + return ast; + }; + + return function () { + for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return useTemplate(_getAst(), args); + }; +}; + +var _cloneDeep = require("lodash/cloneDeep"); + +var _cloneDeep2 = _interopRequireDefault(_cloneDeep); + +var _assign = require("lodash/assign"); + +var _assign2 = _interopRequireDefault(_assign); + +var _has = require("lodash/has"); + +var _has2 = _interopRequireDefault(_has); + +var _babelTraverse = require("babel-traverse"); + +var _babelTraverse2 = _interopRequireDefault(_babelTraverse); + +var _babylon = require("babylon"); + +var babylon = _interopRequireWildcard(_babylon); + +var _babelTypes = require("babel-types"); + +var t = _interopRequireWildcard(_babelTypes); + +function _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; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var FROM_TEMPLATE = "_fromTemplate"; +var TEMPLATE_SKIP = (0, _symbol2.default)(); + +function useTemplate(ast, nodes) { + ast = (0, _cloneDeep2.default)(ast); + var _ast = ast, + program = _ast.program; + + + if (nodes.length) { + (0, _babelTraverse2.default)(ast, templateVisitor, null, nodes); + } + + if (program.body.length > 1) { + return program.body; + } else { + return program.body[0]; + } +} + +var templateVisitor = { + noScope: true, + + enter: function enter(path, args) { + var node = path.node; + + if (node[TEMPLATE_SKIP]) return path.skip(); + + if (t.isExpressionStatement(node)) { + node = node.expression; + } + + var replacement = void 0; + + if (t.isIdentifier(node) && node[FROM_TEMPLATE]) { + if ((0, _has2.default)(args[0], node.name)) { + replacement = args[0][node.name]; + } else if (node.name[0] === "$") { + var i = +node.name.slice(1); + if (args[i]) replacement = args[i]; + } + } + + if (replacement === null) { + path.remove(); + } + + if (replacement) { + replacement[TEMPLATE_SKIP] = true; + path.replaceInline(replacement); + } + }, + exit: function exit(_ref) { + var node = _ref.node; + + if (!node.loc) _babelTraverse2.default.clearNode(node); + } +}; +module.exports = exports["default"]; \ No newline at end of file diff --git a/socket/node_modules/babel-template/package-lock.json b/socket/node_modules/babel-template/package-lock.json new file mode 100644 index 0000000..3c059a7 --- /dev/null +++ b/socket/node_modules/babel-template/package-lock.json @@ -0,0 +1,18 @@ +{ + "name": "babel-template", + "version": "6.25.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" + }, + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + } + } +} diff --git a/socket/node_modules/babel-template/package.json b/socket/node_modules/babel-template/package.json new file mode 100644 index 0000000..b35c1bd --- /dev/null +++ b/socket/node_modules/babel-template/package.json @@ -0,0 +1,49 @@ +{ + "_from": "babel-template@^6.24.1", + "_id": "babel-template@6.26.0", + "_inBundle": false, + "_integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "_location": "/babel-template", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "babel-template@^6.24.1", + "name": "babel-template", + "escapedName": "babel-template", + "rawSpec": "^6.24.1", + "saveSpec": null, + "fetchSpec": "^6.24.1" + }, + "_requiredBy": [ + "/babel-helper-function-name", + "/babel-plugin-transform-class-properties" + ], + "_resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "_shasum": "de03e2d16396b069f46dd9fff8521fb1a0e35e02", + "_spec": "babel-template@^6.24.1", + "_where": "/var/www/htdocs/coze/socket/node_modules/babel-plugin-transform-class-properties", + "author": { + "name": "Sebastian McKenzie", + "email": "sebmck@gmail.com" + }, + "bundleDependencies": false, + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + }, + "deprecated": false, + "description": "Generate an AST from a string template.", + "homepage": "https://babeljs.io/", + "license": "MIT", + "main": "lib/index.js", + "name": "babel-template", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel/tree/master/packages/babel-template" + }, + "version": "6.26.0" +} diff --git a/socket/node_modules/babel-traverse/.npmignore b/socket/node_modules/babel-traverse/.npmignore new file mode 100644 index 0000000..47cdd2c --- /dev/null +++ b/socket/node_modules/babel-traverse/.npmignore @@ -0,0 +1,3 @@ +src +test +node_modules diff --git a/socket/node_modules/babel-traverse/README.md b/socket/node_modules/babel-traverse/README.md new file mode 100644 index 0000000..1dfda0a --- /dev/null +++ b/socket/node_modules/babel-traverse/README.md @@ -0,0 +1,33 @@ +# babel-traverse + +> babel-traverse maintains the overall tree state, and is responsible for replacing, removing, and adding nodes. + +## Install + +```sh +$ npm install --save babel-traverse +``` + +## Usage + +We can use it alongside Babylon to traverse and update nodes: + +```js +import * as babylon from "babylon"; +import traverse from "babel-traverse"; + +const code = `function square(n) { + return n * n; +}`; + +const ast = babylon.parse(code); + +traverse(ast, { + enter(path) { + if (path.isIdentifier({ name: "n" })) { + path.node.name = "x"; + } + } +}); +``` +[:book: **Read the full docs here**](https://github.com/thejameskyle/babel-handbook/blob/master/translations/en/plugin-handbook.md#babel-traverse) diff --git a/socket/node_modules/babel-traverse/lib/cache.js b/socket/node_modules/babel-traverse/lib/cache.js new file mode 100644 index 0000000..b337eec --- /dev/null +++ b/socket/node_modules/babel-traverse/lib/cache.js @@ -0,0 +1,30 @@ +"use strict"; + +exports.__esModule = true; +exports.scope = exports.path = undefined; + +var _weakMap = require("babel-runtime/core-js/weak-map"); + +var _weakMap2 = _interopRequireDefault(_weakMap); + +exports.clear = clear; +exports.clearPath = clearPath; +exports.clearScope = clearScope; + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var path = exports.path = new _weakMap2.default(); +var scope = exports.scope = new _weakMap2.default(); + +function clear() { + clearPath(); + clearScope(); +} + +function clearPath() { + exports.path = path = new _weakMap2.default(); +} + +function clearScope() { + exports.scope = scope = new _weakMap2.default(); +} \ No newline at end of file diff --git a/socket/node_modules/babel-traverse/lib/context.js b/socket/node_modules/babel-traverse/lib/context.js new file mode 100644 index 0000000..3b9ded8 --- /dev/null +++ b/socket/node_modules/babel-traverse/lib/context.js @@ -0,0 +1,200 @@ +"use strict"; + +exports.__esModule = true; + +var _getIterator2 = require("babel-runtime/core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck"); + +var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); + +var _path2 = require("./path"); + +var _path3 = _interopRequireDefault(_path2); + +var _babelTypes = require("babel-types"); + +var t = _interopRequireWildcard(_babelTypes); + +function _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; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var testing = process.env.NODE_ENV === "test"; + +var TraversalContext = function () { + function TraversalContext(scope, opts, state, parentPath) { + (0, _classCallCheck3.default)(this, TraversalContext); + this.queue = null; + + this.parentPath = parentPath; + this.scope = scope; + this.state = state; + this.opts = opts; + } + + TraversalContext.prototype.shouldVisit = function shouldVisit(node) { + var opts = this.opts; + if (opts.enter || opts.exit) return true; + + if (opts[node.type]) return true; + + var keys = t.VISITOR_KEYS[node.type]; + if (!keys || !keys.length) return false; + + for (var _iterator = keys, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var key = _ref; + + if (node[key]) return true; + } + + return false; + }; + + TraversalContext.prototype.create = function create(node, obj, key, listKey) { + return _path3.default.get({ + parentPath: this.parentPath, + parent: node, + container: obj, + key: key, + listKey: listKey + }); + }; + + TraversalContext.prototype.maybeQueue = function maybeQueue(path, notPriority) { + if (this.trap) { + throw new Error("Infinite cycle detected"); + } + + if (this.queue) { + if (notPriority) { + this.queue.push(path); + } else { + this.priorityQueue.push(path); + } + } + }; + + TraversalContext.prototype.visitMultiple = function visitMultiple(container, parent, listKey) { + if (container.length === 0) return false; + + var queue = []; + + for (var key = 0; key < container.length; key++) { + var node = container[key]; + if (node && this.shouldVisit(node)) { + queue.push(this.create(parent, container, key, listKey)); + } + } + + return this.visitQueue(queue); + }; + + TraversalContext.prototype.visitSingle = function visitSingle(node, key) { + if (this.shouldVisit(node[key])) { + return this.visitQueue([this.create(node, node, key)]); + } else { + return false; + } + }; + + TraversalContext.prototype.visitQueue = function visitQueue(queue) { + this.queue = queue; + this.priorityQueue = []; + + var visited = []; + var stop = false; + + for (var _iterator2 = queue, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : (0, _getIterator3.default)(_iterator2);;) { + var _ref2; + + if (_isArray2) { + if (_i2 >= _iterator2.length) break; + _ref2 = _iterator2[_i2++]; + } else { + _i2 = _iterator2.next(); + if (_i2.done) break; + _ref2 = _i2.value; + } + + var path = _ref2; + + path.resync(); + + if (path.contexts.length === 0 || path.contexts[path.contexts.length - 1] !== this) { + path.pushContext(this); + } + + if (path.key === null) continue; + + if (testing && queue.length >= 10000) { + this.trap = true; + } + + if (visited.indexOf(path.node) >= 0) continue; + visited.push(path.node); + + if (path.visit()) { + stop = true; + break; + } + + if (this.priorityQueue.length) { + stop = this.visitQueue(this.priorityQueue); + this.priorityQueue = []; + this.queue = queue; + if (stop) break; + } + } + + for (var _iterator3 = queue, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : (0, _getIterator3.default)(_iterator3);;) { + var _ref3; + + if (_isArray3) { + if (_i3 >= _iterator3.length) break; + _ref3 = _iterator3[_i3++]; + } else { + _i3 = _iterator3.next(); + if (_i3.done) break; + _ref3 = _i3.value; + } + + var _path = _ref3; + + _path.popContext(); + } + + this.queue = null; + + return stop; + }; + + TraversalContext.prototype.visit = function visit(node, key) { + var nodes = node[key]; + if (!nodes) return false; + + if (Array.isArray(nodes)) { + return this.visitMultiple(nodes, node, key); + } else { + return this.visitSingle(node, key); + } + }; + + return TraversalContext; +}(); + +exports.default = TraversalContext; +module.exports = exports["default"]; \ No newline at end of file diff --git a/socket/node_modules/babel-traverse/lib/hub.js b/socket/node_modules/babel-traverse/lib/hub.js new file mode 100644 index 0000000..f989c4c --- /dev/null +++ b/socket/node_modules/babel-traverse/lib/hub.js @@ -0,0 +1,19 @@ +"use strict"; + +exports.__esModule = true; + +var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck"); + +var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var Hub = function Hub(file, options) { + (0, _classCallCheck3.default)(this, Hub); + + this.file = file; + this.options = options; +}; + +exports.default = Hub; +module.exports = exports["default"]; \ No newline at end of file diff --git a/socket/node_modules/babel-traverse/lib/index.js b/socket/node_modules/babel-traverse/lib/index.js new file mode 100644 index 0000000..19a14ce --- /dev/null +++ b/socket/node_modules/babel-traverse/lib/index.js @@ -0,0 +1,165 @@ +"use strict"; + +exports.__esModule = true; +exports.visitors = exports.Hub = exports.Scope = exports.NodePath = undefined; + +var _getIterator2 = require("babel-runtime/core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +var _path = require("./path"); + +Object.defineProperty(exports, "NodePath", { + enumerable: true, + get: function get() { + return _interopRequireDefault(_path).default; + } +}); + +var _scope = require("./scope"); + +Object.defineProperty(exports, "Scope", { + enumerable: true, + get: function get() { + return _interopRequireDefault(_scope).default; + } +}); + +var _hub = require("./hub"); + +Object.defineProperty(exports, "Hub", { + enumerable: true, + get: function get() { + return _interopRequireDefault(_hub).default; + } +}); +exports.default = traverse; + +var _context = require("./context"); + +var _context2 = _interopRequireDefault(_context); + +var _visitors = require("./visitors"); + +var visitors = _interopRequireWildcard(_visitors); + +var _babelMessages = require("babel-messages"); + +var messages = _interopRequireWildcard(_babelMessages); + +var _includes = require("lodash/includes"); + +var _includes2 = _interopRequireDefault(_includes); + +var _babelTypes = require("babel-types"); + +var t = _interopRequireWildcard(_babelTypes); + +var _cache = require("./cache"); + +var cache = _interopRequireWildcard(_cache); + +function _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; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.visitors = visitors; +function traverse(parent, opts, scope, state, parentPath) { + if (!parent) return; + if (!opts) opts = {}; + + if (!opts.noScope && !scope) { + if (parent.type !== "Program" && parent.type !== "File") { + throw new Error(messages.get("traverseNeedsParent", parent.type)); + } + } + + visitors.explode(opts); + + traverse.node(parent, opts, scope, state, parentPath); +} + +traverse.visitors = visitors; +traverse.verify = visitors.verify; +traverse.explode = visitors.explode; + +traverse.NodePath = require("./path"); +traverse.Scope = require("./scope"); +traverse.Hub = require("./hub"); + +traverse.cheap = function (node, enter) { + return t.traverseFast(node, enter); +}; + +traverse.node = function (node, opts, scope, state, parentPath, skipKeys) { + var keys = t.VISITOR_KEYS[node.type]; + if (!keys) return; + + var context = new _context2.default(scope, opts, state, parentPath); + for (var _iterator = keys, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var key = _ref; + + if (skipKeys && skipKeys[key]) continue; + if (context.visit(node, key)) return; + } +}; + +traverse.clearNode = function (node, opts) { + t.removeProperties(node, opts); + + cache.path.delete(node); +}; + +traverse.removeProperties = function (tree, opts) { + t.traverseFast(tree, traverse.clearNode, opts); + return tree; +}; + +function hasBlacklistedType(path, state) { + if (path.node.type === state.type) { + state.has = true; + path.stop(); + } +} + +traverse.hasType = function (tree, scope, type, blacklistTypes) { + if ((0, _includes2.default)(blacklistTypes, tree.type)) return false; + + if (tree.type === type) return true; + + var state = { + has: false, + type: type + }; + + traverse(tree, { + blacklist: blacklistTypes, + enter: hasBlacklistedType + }, scope, state); + + return state.has; +}; + +traverse.clearCache = function () { + cache.clear(); +}; + +traverse.clearCache.clearPath = cache.clearPath; +traverse.clearCache.clearScope = cache.clearScope; + +traverse.copyCache = function (source, destination) { + if (cache.path.has(source)) { + cache.path.set(destination, cache.path.get(source)); + } +}; \ No newline at end of file diff --git a/socket/node_modules/babel-traverse/lib/path/ancestry.js b/socket/node_modules/babel-traverse/lib/path/ancestry.js new file mode 100644 index 0000000..2a8c322 --- /dev/null +++ b/socket/node_modules/babel-traverse/lib/path/ancestry.js @@ -0,0 +1,238 @@ +"use strict"; + +exports.__esModule = true; + +var _getIterator2 = require("babel-runtime/core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +exports.findParent = findParent; +exports.find = find; +exports.getFunctionParent = getFunctionParent; +exports.getStatementParent = getStatementParent; +exports.getEarliestCommonAncestorFrom = getEarliestCommonAncestorFrom; +exports.getDeepestCommonAncestorFrom = getDeepestCommonAncestorFrom; +exports.getAncestry = getAncestry; +exports.isAncestor = isAncestor; +exports.isDescendant = isDescendant; +exports.inType = inType; +exports.inShadow = inShadow; + +var _babelTypes = require("babel-types"); + +var t = _interopRequireWildcard(_babelTypes); + +var _index = require("./index"); + +var _index2 = _interopRequireDefault(_index); + +function _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; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function findParent(callback) { + var path = this; + while (path = path.parentPath) { + if (callback(path)) return path; + } + return null; +} + +function find(callback) { + var path = this; + do { + if (callback(path)) return path; + } while (path = path.parentPath); + return null; +} + +function getFunctionParent() { + return this.findParent(function (path) { + return path.isFunction() || path.isProgram(); + }); +} + +function getStatementParent() { + var path = this; + do { + if (Array.isArray(path.container)) { + return path; + } + } while (path = path.parentPath); +} + +function getEarliestCommonAncestorFrom(paths) { + return this.getDeepestCommonAncestorFrom(paths, function (deepest, i, ancestries) { + var earliest = void 0; + var keys = t.VISITOR_KEYS[deepest.type]; + + for (var _iterator = ancestries, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var ancestry = _ref; + + var path = ancestry[i + 1]; + + if (!earliest) { + earliest = path; + continue; + } + + if (path.listKey && earliest.listKey === path.listKey) { + if (path.key < earliest.key) { + earliest = path; + continue; + } + } + + var earliestKeyIndex = keys.indexOf(earliest.parentKey); + var currentKeyIndex = keys.indexOf(path.parentKey); + if (earliestKeyIndex > currentKeyIndex) { + earliest = path; + } + } + + return earliest; + }); +} + +function getDeepestCommonAncestorFrom(paths, filter) { + var _this = this; + + if (!paths.length) { + return this; + } + + if (paths.length === 1) { + return paths[0]; + } + + var minDepth = Infinity; + + var lastCommonIndex = void 0, + lastCommon = void 0; + + var ancestries = paths.map(function (path) { + var ancestry = []; + + do { + ancestry.unshift(path); + } while ((path = path.parentPath) && path !== _this); + + if (ancestry.length < minDepth) { + minDepth = ancestry.length; + } + + return ancestry; + }); + + var first = ancestries[0]; + + depthLoop: for (var i = 0; i < minDepth; i++) { + var shouldMatch = first[i]; + + for (var _iterator2 = ancestries, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : (0, _getIterator3.default)(_iterator2);;) { + var _ref2; + + if (_isArray2) { + if (_i2 >= _iterator2.length) break; + _ref2 = _iterator2[_i2++]; + } else { + _i2 = _iterator2.next(); + if (_i2.done) break; + _ref2 = _i2.value; + } + + var ancestry = _ref2; + + if (ancestry[i] !== shouldMatch) { + break depthLoop; + } + } + + lastCommonIndex = i; + lastCommon = shouldMatch; + } + + if (lastCommon) { + if (filter) { + return filter(lastCommon, lastCommonIndex, ancestries); + } else { + return lastCommon; + } + } else { + throw new Error("Couldn't find intersection"); + } +} + +function getAncestry() { + var path = this; + var paths = []; + do { + paths.push(path); + } while (path = path.parentPath); + return paths; +} + +function isAncestor(maybeDescendant) { + return maybeDescendant.isDescendant(this); +} + +function isDescendant(maybeAncestor) { + return !!this.findParent(function (parent) { + return parent === maybeAncestor; + }); +} + +function inType() { + var path = this; + while (path) { + for (var _iterator3 = arguments, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : (0, _getIterator3.default)(_iterator3);;) { + var _ref3; + + if (_isArray3) { + if (_i3 >= _iterator3.length) break; + _ref3 = _iterator3[_i3++]; + } else { + _i3 = _iterator3.next(); + if (_i3.done) break; + _ref3 = _i3.value; + } + + var type = _ref3; + + if (path.node.type === type) return true; + } + path = path.parentPath; + } + + return false; +} + +function inShadow(key) { + var parentFn = this.isFunction() ? this : this.findParent(function (p) { + return p.isFunction(); + }); + if (!parentFn) return; + + if (parentFn.isFunctionExpression() || parentFn.isFunctionDeclaration()) { + var shadow = parentFn.node.shadow; + + if (shadow && (!key || shadow[key] !== false)) { + return parentFn; + } + } else if (parentFn.isArrowFunctionExpression()) { + return parentFn; + } + + return null; +} \ No newline at end of file diff --git a/socket/node_modules/babel-traverse/lib/path/comments.js b/socket/node_modules/babel-traverse/lib/path/comments.js new file mode 100644 index 0000000..800018c --- /dev/null +++ b/socket/node_modules/babel-traverse/lib/path/comments.js @@ -0,0 +1,47 @@ +"use strict"; + +exports.__esModule = true; +exports.shareCommentsWithSiblings = shareCommentsWithSiblings; +exports.addComment = addComment; +exports.addComments = addComments; +function shareCommentsWithSiblings() { + if (typeof this.key === "string") return; + + var node = this.node; + if (!node) return; + + var trailing = node.trailingComments; + var leading = node.leadingComments; + if (!trailing && !leading) return; + + var prev = this.getSibling(this.key - 1); + var next = this.getSibling(this.key + 1); + + if (!prev.node) prev = next; + if (!next.node) next = prev; + + prev.addComments("trailing", leading); + next.addComments("leading", trailing); +} + +function addComment(type, content, line) { + this.addComments(type, [{ + type: line ? "CommentLine" : "CommentBlock", + value: content + }]); +} + +function addComments(type, comments) { + if (!comments) return; + + var node = this.node; + if (!node) return; + + var key = type + "Comments"; + + if (node[key]) { + node[key] = node[key].concat(comments); + } else { + node[key] = comments; + } +} \ No newline at end of file diff --git a/socket/node_modules/babel-traverse/lib/path/context.js b/socket/node_modules/babel-traverse/lib/path/context.js new file mode 100644 index 0000000..961e66e --- /dev/null +++ b/socket/node_modules/babel-traverse/lib/path/context.js @@ -0,0 +1,281 @@ +"use strict"; + +exports.__esModule = true; + +var _getIterator2 = require("babel-runtime/core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +exports.call = call; +exports._call = _call; +exports.isBlacklisted = isBlacklisted; +exports.visit = visit; +exports.skip = skip; +exports.skipKey = skipKey; +exports.stop = stop; +exports.setScope = setScope; +exports.setContext = setContext; +exports.resync = resync; +exports._resyncParent = _resyncParent; +exports._resyncKey = _resyncKey; +exports._resyncList = _resyncList; +exports._resyncRemoved = _resyncRemoved; +exports.popContext = popContext; +exports.pushContext = pushContext; +exports.setup = setup; +exports.setKey = setKey; +exports.requeue = requeue; +exports._getQueueContexts = _getQueueContexts; + +var _index = require("../index"); + +var _index2 = _interopRequireDefault(_index); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function call(key) { + var opts = this.opts; + + this.debug(function () { + return key; + }); + + if (this.node) { + if (this._call(opts[key])) return true; + } + + if (this.node) { + return this._call(opts[this.node.type] && opts[this.node.type][key]); + } + + return false; +} + +function _call(fns) { + if (!fns) return false; + + for (var _iterator = fns, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var fn = _ref; + + if (!fn) continue; + + var node = this.node; + if (!node) return true; + + var ret = fn.call(this.state, this, this.state); + if (ret) throw new Error("Unexpected return value from visitor method " + fn); + + if (this.node !== node) return true; + + if (this.shouldStop || this.shouldSkip || this.removed) return true; + } + + return false; +} + +function isBlacklisted() { + var blacklist = this.opts.blacklist; + return blacklist && blacklist.indexOf(this.node.type) > -1; +} + +function visit() { + if (!this.node) { + return false; + } + + if (this.isBlacklisted()) { + return false; + } + + if (this.opts.shouldSkip && this.opts.shouldSkip(this)) { + return false; + } + + if (this.call("enter") || this.shouldSkip) { + this.debug(function () { + return "Skip..."; + }); + return this.shouldStop; + } + + this.debug(function () { + return "Recursing into..."; + }); + _index2.default.node(this.node, this.opts, this.scope, this.state, this, this.skipKeys); + + this.call("exit"); + + return this.shouldStop; +} + +function skip() { + this.shouldSkip = true; +} + +function skipKey(key) { + this.skipKeys[key] = true; +} + +function stop() { + this.shouldStop = true; + this.shouldSkip = true; +} + +function setScope() { + if (this.opts && this.opts.noScope) return; + + var target = this.context && this.context.scope; + + if (!target) { + var path = this.parentPath; + while (path && !target) { + if (path.opts && path.opts.noScope) return; + + target = path.scope; + path = path.parentPath; + } + } + + this.scope = this.getScope(target); + if (this.scope) this.scope.init(); +} + +function setContext(context) { + this.shouldSkip = false; + this.shouldStop = false; + this.removed = false; + this.skipKeys = {}; + + if (context) { + this.context = context; + this.state = context.state; + this.opts = context.opts; + } + + this.setScope(); + + return this; +} + +function resync() { + if (this.removed) return; + + this._resyncParent(); + this._resyncList(); + this._resyncKey(); +} + +function _resyncParent() { + if (this.parentPath) { + this.parent = this.parentPath.node; + } +} + +function _resyncKey() { + if (!this.container) return; + + if (this.node === this.container[this.key]) return; + + if (Array.isArray(this.container)) { + for (var i = 0; i < this.container.length; i++) { + if (this.container[i] === this.node) { + return this.setKey(i); + } + } + } else { + for (var key in this.container) { + if (this.container[key] === this.node) { + return this.setKey(key); + } + } + } + + this.key = null; +} + +function _resyncList() { + if (!this.parent || !this.inList) return; + + var newContainer = this.parent[this.listKey]; + if (this.container === newContainer) return; + + this.container = newContainer || null; +} + +function _resyncRemoved() { + if (this.key == null || !this.container || this.container[this.key] !== this.node) { + this._markRemoved(); + } +} + +function popContext() { + this.contexts.pop(); + this.setContext(this.contexts[this.contexts.length - 1]); +} + +function pushContext(context) { + this.contexts.push(context); + this.setContext(context); +} + +function setup(parentPath, container, listKey, key) { + this.inList = !!listKey; + this.listKey = listKey; + this.parentKey = listKey || key; + this.container = container; + + this.parentPath = parentPath || this.parentPath; + this.setKey(key); +} + +function setKey(key) { + this.key = key; + this.node = this.container[this.key]; + this.type = this.node && this.node.type; +} + +function requeue() { + var pathToQueue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this; + + if (pathToQueue.removed) return; + + var contexts = this.contexts; + + for (var _iterator2 = contexts, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : (0, _getIterator3.default)(_iterator2);;) { + var _ref2; + + if (_isArray2) { + if (_i2 >= _iterator2.length) break; + _ref2 = _iterator2[_i2++]; + } else { + _i2 = _iterator2.next(); + if (_i2.done) break; + _ref2 = _i2.value; + } + + var context = _ref2; + + context.maybeQueue(pathToQueue); + } +} + +function _getQueueContexts() { + var path = this; + var contexts = this.contexts; + while (!contexts.length) { + path = path.parentPath; + contexts = path.contexts; + } + return contexts; +} \ No newline at end of file diff --git a/socket/node_modules/babel-traverse/lib/path/conversion.js b/socket/node_modules/babel-traverse/lib/path/conversion.js new file mode 100644 index 0000000..8989248 --- /dev/null +++ b/socket/node_modules/babel-traverse/lib/path/conversion.js @@ -0,0 +1,47 @@ +"use strict"; + +exports.__esModule = true; +exports.toComputedKey = toComputedKey; +exports.ensureBlock = ensureBlock; +exports.arrowFunctionToShadowed = arrowFunctionToShadowed; + +var _babelTypes = require("babel-types"); + +var t = _interopRequireWildcard(_babelTypes); + +function _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; } } + +function toComputedKey() { + var node = this.node; + + var key = void 0; + if (this.isMemberExpression()) { + key = node.property; + } else if (this.isProperty() || this.isMethod()) { + key = node.key; + } else { + throw new ReferenceError("todo"); + } + + if (!node.computed) { + if (t.isIdentifier(key)) key = t.stringLiteral(key.name); + } + + return key; +} + +function ensureBlock() { + return t.ensureBlock(this.node); +} + +function arrowFunctionToShadowed() { + if (!this.isArrowFunctionExpression()) return; + + this.ensureBlock(); + + var node = this.node; + + node.expression = false; + node.type = "FunctionExpression"; + node.shadow = node.shadow || true; +} \ No newline at end of file diff --git a/socket/node_modules/babel-traverse/lib/path/evaluation.js b/socket/node_modules/babel-traverse/lib/path/evaluation.js new file mode 100644 index 0000000..86aac21 --- /dev/null +++ b/socket/node_modules/babel-traverse/lib/path/evaluation.js @@ -0,0 +1,398 @@ +"use strict"; + +exports.__esModule = true; + +var _typeof2 = require("babel-runtime/helpers/typeof"); + +var _typeof3 = _interopRequireDefault(_typeof2); + +var _getIterator2 = require("babel-runtime/core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +var _map = require("babel-runtime/core-js/map"); + +var _map2 = _interopRequireDefault(_map); + +exports.evaluateTruthy = evaluateTruthy; +exports.evaluate = evaluate; + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var VALID_CALLEES = ["String", "Number", "Math"]; +var INVALID_METHODS = ["random"]; + +function evaluateTruthy() { + var res = this.evaluate(); + if (res.confident) return !!res.value; +} + +function evaluate() { + var confident = true; + var deoptPath = void 0; + var seen = new _map2.default(); + + function deopt(path) { + if (!confident) return; + deoptPath = path; + confident = false; + } + + var value = evaluate(this); + if (!confident) value = undefined; + return { + confident: confident, + deopt: deoptPath, + value: value + }; + + function evaluate(path) { + var node = path.node; + + + if (seen.has(node)) { + var existing = seen.get(node); + if (existing.resolved) { + return existing.value; + } else { + deopt(path); + return; + } + } else { + var item = { resolved: false }; + seen.set(node, item); + + var val = _evaluate(path); + if (confident) { + item.resolved = true; + item.value = val; + } + return val; + } + } + + function _evaluate(path) { + if (!confident) return; + + var node = path.node; + + + if (path.isSequenceExpression()) { + var exprs = path.get("expressions"); + return evaluate(exprs[exprs.length - 1]); + } + + if (path.isStringLiteral() || path.isNumericLiteral() || path.isBooleanLiteral()) { + return node.value; + } + + if (path.isNullLiteral()) { + return null; + } + + if (path.isTemplateLiteral()) { + var str = ""; + + var i = 0; + var _exprs = path.get("expressions"); + + for (var _iterator = node.quasis, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var elem = _ref; + + if (!confident) break; + + str += elem.value.cooked; + + var expr = _exprs[i++]; + if (expr) str += String(evaluate(expr)); + } + + if (!confident) return; + return str; + } + + if (path.isConditionalExpression()) { + var testResult = evaluate(path.get("test")); + if (!confident) return; + if (testResult) { + return evaluate(path.get("consequent")); + } else { + return evaluate(path.get("alternate")); + } + } + + if (path.isExpressionWrapper()) { + return evaluate(path.get("expression")); + } + + if (path.isMemberExpression() && !path.parentPath.isCallExpression({ callee: node })) { + var property = path.get("property"); + var object = path.get("object"); + + if (object.isLiteral() && property.isIdentifier()) { + var _value = object.node.value; + var type = typeof _value === "undefined" ? "undefined" : (0, _typeof3.default)(_value); + if (type === "number" || type === "string") { + return _value[property.node.name]; + } + } + } + + if (path.isReferencedIdentifier()) { + var binding = path.scope.getBinding(node.name); + + if (binding && binding.constantViolations.length > 0) { + return deopt(binding.path); + } + + if (binding && path.node.start < binding.path.node.end) { + return deopt(binding.path); + } + + if (binding && binding.hasValue) { + return binding.value; + } else { + if (node.name === "undefined") { + return binding ? deopt(binding.path) : undefined; + } else if (node.name === "Infinity") { + return binding ? deopt(binding.path) : Infinity; + } else if (node.name === "NaN") { + return binding ? deopt(binding.path) : NaN; + } + + var resolved = path.resolve(); + if (resolved === path) { + return deopt(path); + } else { + return evaluate(resolved); + } + } + } + + if (path.isUnaryExpression({ prefix: true })) { + if (node.operator === "void") { + return undefined; + } + + var argument = path.get("argument"); + if (node.operator === "typeof" && (argument.isFunction() || argument.isClass())) { + return "function"; + } + + var arg = evaluate(argument); + if (!confident) return; + switch (node.operator) { + case "!": + return !arg; + case "+": + return +arg; + case "-": + return -arg; + case "~": + return ~arg; + case "typeof": + return typeof arg === "undefined" ? "undefined" : (0, _typeof3.default)(arg); + } + } + + if (path.isArrayExpression()) { + var arr = []; + var elems = path.get("elements"); + for (var _iterator2 = elems, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : (0, _getIterator3.default)(_iterator2);;) { + var _ref2; + + if (_isArray2) { + if (_i2 >= _iterator2.length) break; + _ref2 = _iterator2[_i2++]; + } else { + _i2 = _iterator2.next(); + if (_i2.done) break; + _ref2 = _i2.value; + } + + var _elem = _ref2; + + _elem = _elem.evaluate(); + + if (_elem.confident) { + arr.push(_elem.value); + } else { + return deopt(_elem); + } + } + return arr; + } + + if (path.isObjectExpression()) { + var obj = {}; + var props = path.get("properties"); + for (var _iterator3 = props, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : (0, _getIterator3.default)(_iterator3);;) { + var _ref3; + + if (_isArray3) { + if (_i3 >= _iterator3.length) break; + _ref3 = _iterator3[_i3++]; + } else { + _i3 = _iterator3.next(); + if (_i3.done) break; + _ref3 = _i3.value; + } + + var prop = _ref3; + + if (prop.isObjectMethod() || prop.isSpreadProperty()) { + return deopt(prop); + } + var keyPath = prop.get("key"); + var key = keyPath; + if (prop.node.computed) { + key = key.evaluate(); + if (!key.confident) { + return deopt(keyPath); + } + key = key.value; + } else if (key.isIdentifier()) { + key = key.node.name; + } else { + key = key.node.value; + } + var valuePath = prop.get("value"); + var _value2 = valuePath.evaluate(); + if (!_value2.confident) { + return deopt(valuePath); + } + _value2 = _value2.value; + obj[key] = _value2; + } + return obj; + } + + if (path.isLogicalExpression()) { + var wasConfident = confident; + var left = evaluate(path.get("left")); + var leftConfident = confident; + confident = wasConfident; + var right = evaluate(path.get("right")); + var rightConfident = confident; + confident = leftConfident && rightConfident; + + switch (node.operator) { + case "||": + if (left && leftConfident) { + confident = true; + return left; + } + + if (!confident) return; + + return left || right; + case "&&": + if (!left && leftConfident || !right && rightConfident) { + confident = true; + } + + if (!confident) return; + + return left && right; + } + } + + if (path.isBinaryExpression()) { + var _left = evaluate(path.get("left")); + if (!confident) return; + var _right = evaluate(path.get("right")); + if (!confident) return; + + switch (node.operator) { + case "-": + return _left - _right; + case "+": + return _left + _right; + case "/": + return _left / _right; + case "*": + return _left * _right; + case "%": + return _left % _right; + case "**": + return Math.pow(_left, _right); + case "<": + return _left < _right; + case ">": + return _left > _right; + case "<=": + return _left <= _right; + case ">=": + return _left >= _right; + case "==": + return _left == _right; + case "!=": + return _left != _right; + case "===": + return _left === _right; + case "!==": + return _left !== _right; + case "|": + return _left | _right; + case "&": + return _left & _right; + case "^": + return _left ^ _right; + case "<<": + return _left << _right; + case ">>": + return _left >> _right; + case ">>>": + return _left >>> _right; + } + } + + if (path.isCallExpression()) { + var callee = path.get("callee"); + var context = void 0; + var func = void 0; + + if (callee.isIdentifier() && !path.scope.getBinding(callee.node.name, true) && VALID_CALLEES.indexOf(callee.node.name) >= 0) { + func = global[node.callee.name]; + } + + if (callee.isMemberExpression()) { + var _object = callee.get("object"); + var _property = callee.get("property"); + + if (_object.isIdentifier() && _property.isIdentifier() && VALID_CALLEES.indexOf(_object.node.name) >= 0 && INVALID_METHODS.indexOf(_property.node.name) < 0) { + context = global[_object.node.name]; + func = context[_property.node.name]; + } + + if (_object.isLiteral() && _property.isIdentifier()) { + var _type = (0, _typeof3.default)(_object.node.value); + if (_type === "string" || _type === "number") { + context = _object.node.value; + func = context[_property.node.name]; + } + } + } + + if (func) { + var args = path.get("arguments").map(evaluate); + if (!confident) return; + + return func.apply(context, args); + } + } + + deopt(path); + } +} \ No newline at end of file diff --git a/socket/node_modules/babel-traverse/lib/path/family.js b/socket/node_modules/babel-traverse/lib/path/family.js new file mode 100644 index 0000000..4dd3752 --- /dev/null +++ b/socket/node_modules/babel-traverse/lib/path/family.js @@ -0,0 +1,266 @@ +"use strict"; + +exports.__esModule = true; + +var _create = require("babel-runtime/core-js/object/create"); + +var _create2 = _interopRequireDefault(_create); + +var _getIterator2 = require("babel-runtime/core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +exports.getStatementParent = getStatementParent; +exports.getOpposite = getOpposite; +exports.getCompletionRecords = getCompletionRecords; +exports.getSibling = getSibling; +exports.getPrevSibling = getPrevSibling; +exports.getNextSibling = getNextSibling; +exports.getAllNextSiblings = getAllNextSiblings; +exports.getAllPrevSiblings = getAllPrevSiblings; +exports.get = get; +exports._getKey = _getKey; +exports._getPattern = _getPattern; +exports.getBindingIdentifiers = getBindingIdentifiers; +exports.getOuterBindingIdentifiers = getOuterBindingIdentifiers; +exports.getBindingIdentifierPaths = getBindingIdentifierPaths; +exports.getOuterBindingIdentifierPaths = getOuterBindingIdentifierPaths; + +var _index = require("./index"); + +var _index2 = _interopRequireDefault(_index); + +var _babelTypes = require("babel-types"); + +var t = _interopRequireWildcard(_babelTypes); + +function _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; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function getStatementParent() { + var path = this; + + do { + if (!path.parentPath || Array.isArray(path.container) && path.isStatement()) { + break; + } else { + path = path.parentPath; + } + } while (path); + + if (path && (path.isProgram() || path.isFile())) { + throw new Error("File/Program node, we can't possibly find a statement parent to this"); + } + + return path; +} + +function getOpposite() { + if (this.key === "left") { + return this.getSibling("right"); + } else if (this.key === "right") { + return this.getSibling("left"); + } +} + +function getCompletionRecords() { + var paths = []; + + var add = function add(path) { + if (path) paths = paths.concat(path.getCompletionRecords()); + }; + + if (this.isIfStatement()) { + add(this.get("consequent")); + add(this.get("alternate")); + } else if (this.isDoExpression() || this.isFor() || this.isWhile()) { + add(this.get("body")); + } else if (this.isProgram() || this.isBlockStatement()) { + add(this.get("body").pop()); + } else if (this.isFunction()) { + return this.get("body").getCompletionRecords(); + } else if (this.isTryStatement()) { + add(this.get("block")); + add(this.get("handler")); + add(this.get("finalizer")); + } else { + paths.push(this); + } + + return paths; +} + +function getSibling(key) { + return _index2.default.get({ + parentPath: this.parentPath, + parent: this.parent, + container: this.container, + listKey: this.listKey, + key: key + }); +} + +function getPrevSibling() { + return this.getSibling(this.key - 1); +} + +function getNextSibling() { + return this.getSibling(this.key + 1); +} + +function getAllNextSiblings() { + var _key = this.key; + var sibling = this.getSibling(++_key); + var siblings = []; + while (sibling.node) { + siblings.push(sibling); + sibling = this.getSibling(++_key); + } + return siblings; +} + +function getAllPrevSiblings() { + var _key = this.key; + var sibling = this.getSibling(--_key); + var siblings = []; + while (sibling.node) { + siblings.push(sibling); + sibling = this.getSibling(--_key); + } + return siblings; +} + +function get(key, context) { + if (context === true) context = this.context; + var parts = key.split("."); + if (parts.length === 1) { + return this._getKey(key, context); + } else { + return this._getPattern(parts, context); + } +} + +function _getKey(key, context) { + var _this = this; + + var node = this.node; + var container = node[key]; + + if (Array.isArray(container)) { + return container.map(function (_, i) { + return _index2.default.get({ + listKey: key, + parentPath: _this, + parent: node, + container: container, + key: i + }).setContext(context); + }); + } else { + return _index2.default.get({ + parentPath: this, + parent: node, + container: node, + key: key + }).setContext(context); + } +} + +function _getPattern(parts, context) { + var path = this; + for (var _iterator = parts, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var part = _ref; + + if (part === ".") { + path = path.parentPath; + } else { + if (Array.isArray(path)) { + path = path[part]; + } else { + path = path.get(part, context); + } + } + } + return path; +} + +function getBindingIdentifiers(duplicates) { + return t.getBindingIdentifiers(this.node, duplicates); +} + +function getOuterBindingIdentifiers(duplicates) { + return t.getOuterBindingIdentifiers(this.node, duplicates); +} + +function getBindingIdentifierPaths() { + var duplicates = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var outerOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + var path = this; + var search = [].concat(path); + var ids = (0, _create2.default)(null); + + while (search.length) { + var id = search.shift(); + if (!id) continue; + if (!id.node) continue; + + var keys = t.getBindingIdentifiers.keys[id.node.type]; + + if (id.isIdentifier()) { + if (duplicates) { + var _ids = ids[id.node.name] = ids[id.node.name] || []; + _ids.push(id); + } else { + ids[id.node.name] = id; + } + continue; + } + + if (id.isExportDeclaration()) { + var declaration = id.get("declaration"); + if (declaration.isDeclaration()) { + search.push(declaration); + } + continue; + } + + if (outerOnly) { + if (id.isFunctionDeclaration()) { + search.push(id.get("id")); + continue; + } + if (id.isFunctionExpression()) { + continue; + } + } + + if (keys) { + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var child = id.get(key); + if (Array.isArray(child) || child.node) { + search = search.concat(child); + } + } + } + } + + return ids; +} + +function getOuterBindingIdentifierPaths(duplicates) { + return this.getBindingIdentifierPaths(duplicates, true); +} \ No newline at end of file diff --git a/socket/node_modules/babel-traverse/lib/path/index.js b/socket/node_modules/babel-traverse/lib/path/index.js new file mode 100644 index 0000000..dd8ae24 --- /dev/null +++ b/socket/node_modules/babel-traverse/lib/path/index.js @@ -0,0 +1,242 @@ +"use strict"; + +exports.__esModule = true; + +var _getIterator2 = require("babel-runtime/core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck"); + +var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); + +var _virtualTypes = require("./lib/virtual-types"); + +var virtualTypes = _interopRequireWildcard(_virtualTypes); + +var _debug2 = require("debug"); + +var _debug3 = _interopRequireDefault(_debug2); + +var _invariant = require("invariant"); + +var _invariant2 = _interopRequireDefault(_invariant); + +var _index = require("../index"); + +var _index2 = _interopRequireDefault(_index); + +var _assign = require("lodash/assign"); + +var _assign2 = _interopRequireDefault(_assign); + +var _scope = require("../scope"); + +var _scope2 = _interopRequireDefault(_scope); + +var _babelTypes = require("babel-types"); + +var t = _interopRequireWildcard(_babelTypes); + +var _cache = require("../cache"); + +function _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; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var _debug = (0, _debug3.default)("babel"); + +var NodePath = function () { + function NodePath(hub, parent) { + (0, _classCallCheck3.default)(this, NodePath); + + this.parent = parent; + this.hub = hub; + this.contexts = []; + this.data = {}; + this.shouldSkip = false; + this.shouldStop = false; + this.removed = false; + this.state = null; + this.opts = null; + this.skipKeys = null; + this.parentPath = null; + this.context = null; + this.container = null; + this.listKey = null; + this.inList = false; + this.parentKey = null; + this.key = null; + this.node = null; + this.scope = null; + this.type = null; + this.typeAnnotation = null; + } + + NodePath.get = function get(_ref) { + var hub = _ref.hub, + parentPath = _ref.parentPath, + parent = _ref.parent, + container = _ref.container, + listKey = _ref.listKey, + key = _ref.key; + + if (!hub && parentPath) { + hub = parentPath.hub; + } + + (0, _invariant2.default)(parent, "To get a node path the parent needs to exist"); + + var targetNode = container[key]; + + var paths = _cache.path.get(parent) || []; + if (!_cache.path.has(parent)) { + _cache.path.set(parent, paths); + } + + var path = void 0; + + for (var i = 0; i < paths.length; i++) { + var pathCheck = paths[i]; + if (pathCheck.node === targetNode) { + path = pathCheck; + break; + } + } + + if (!path) { + path = new NodePath(hub, parent); + paths.push(path); + } + + path.setup(parentPath, container, listKey, key); + + return path; + }; + + NodePath.prototype.getScope = function getScope(scope) { + var ourScope = scope; + + if (this.isScope()) { + ourScope = new _scope2.default(this, scope); + } + + return ourScope; + }; + + NodePath.prototype.setData = function setData(key, val) { + return this.data[key] = val; + }; + + NodePath.prototype.getData = function getData(key, def) { + var val = this.data[key]; + if (!val && def) val = this.data[key] = def; + return val; + }; + + NodePath.prototype.buildCodeFrameError = function buildCodeFrameError(msg) { + var Error = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : SyntaxError; + + return this.hub.file.buildCodeFrameError(this.node, msg, Error); + }; + + NodePath.prototype.traverse = function traverse(visitor, state) { + (0, _index2.default)(this.node, visitor, this.scope, state, this); + }; + + NodePath.prototype.mark = function mark(type, message) { + this.hub.file.metadata.marked.push({ + type: type, + message: message, + loc: this.node.loc + }); + }; + + NodePath.prototype.set = function set(key, node) { + t.validate(this.node, key, node); + this.node[key] = node; + }; + + NodePath.prototype.getPathLocation = function getPathLocation() { + var parts = []; + var path = this; + do { + var key = path.key; + if (path.inList) key = path.listKey + "[" + key + "]"; + parts.unshift(key); + } while (path = path.parentPath); + return parts.join("."); + }; + + NodePath.prototype.debug = function debug(buildMessage) { + if (!_debug.enabled) return; + _debug(this.getPathLocation() + " " + this.type + ": " + buildMessage()); + }; + + return NodePath; +}(); + +exports.default = NodePath; + + +(0, _assign2.default)(NodePath.prototype, require("./ancestry")); +(0, _assign2.default)(NodePath.prototype, require("./inference")); +(0, _assign2.default)(NodePath.prototype, require("./replacement")); +(0, _assign2.default)(NodePath.prototype, require("./evaluation")); +(0, _assign2.default)(NodePath.prototype, require("./conversion")); +(0, _assign2.default)(NodePath.prototype, require("./introspection")); +(0, _assign2.default)(NodePath.prototype, require("./context")); +(0, _assign2.default)(NodePath.prototype, require("./removal")); +(0, _assign2.default)(NodePath.prototype, require("./modification")); +(0, _assign2.default)(NodePath.prototype, require("./family")); +(0, _assign2.default)(NodePath.prototype, require("./comments")); + +var _loop2 = function _loop2() { + if (_isArray) { + if (_i >= _iterator.length) return "break"; + _ref2 = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) return "break"; + _ref2 = _i.value; + } + + var type = _ref2; + + var typeKey = "is" + type; + NodePath.prototype[typeKey] = function (opts) { + return t[typeKey](this.node, opts); + }; + + NodePath.prototype["assert" + type] = function (opts) { + if (!this[typeKey](opts)) { + throw new TypeError("Expected node path of type " + type); + } + }; +}; + +for (var _iterator = t.TYPES, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { + var _ref2; + + var _ret2 = _loop2(); + + if (_ret2 === "break") break; +} + +var _loop = function _loop(type) { + if (type[0] === "_") return "continue"; + if (t.TYPES.indexOf(type) < 0) t.TYPES.push(type); + + var virtualType = virtualTypes[type]; + + NodePath.prototype["is" + type] = function (opts) { + return virtualType.checkPath(this, opts); + }; +}; + +for (var type in virtualTypes) { + var _ret = _loop(type); + + if (_ret === "continue") continue; +} +module.exports = exports["default"]; \ No newline at end of file diff --git a/socket/node_modules/babel-traverse/lib/path/inference/index.js b/socket/node_modules/babel-traverse/lib/path/inference/index.js new file mode 100644 index 0000000..d939663 --- /dev/null +++ b/socket/node_modules/babel-traverse/lib/path/inference/index.js @@ -0,0 +1,142 @@ +"use strict"; + +exports.__esModule = true; + +var _getIterator2 = require("babel-runtime/core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +exports.getTypeAnnotation = getTypeAnnotation; +exports._getTypeAnnotation = _getTypeAnnotation; +exports.isBaseType = isBaseType; +exports.couldBeBaseType = couldBeBaseType; +exports.baseTypeStrictlyMatches = baseTypeStrictlyMatches; +exports.isGenericType = isGenericType; + +var _inferers = require("./inferers"); + +var inferers = _interopRequireWildcard(_inferers); + +var _babelTypes = require("babel-types"); + +var t = _interopRequireWildcard(_babelTypes); + +function _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; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function getTypeAnnotation() { + if (this.typeAnnotation) return this.typeAnnotation; + + var type = this._getTypeAnnotation() || t.anyTypeAnnotation(); + if (t.isTypeAnnotation(type)) type = type.typeAnnotation; + return this.typeAnnotation = type; +} + +function _getTypeAnnotation() { + var node = this.node; + + if (!node) { + if (this.key === "init" && this.parentPath.isVariableDeclarator()) { + var declar = this.parentPath.parentPath; + var declarParent = declar.parentPath; + + if (declar.key === "left" && declarParent.isForInStatement()) { + return t.stringTypeAnnotation(); + } + + if (declar.key === "left" && declarParent.isForOfStatement()) { + return t.anyTypeAnnotation(); + } + + return t.voidTypeAnnotation(); + } else { + return; + } + } + + if (node.typeAnnotation) { + return node.typeAnnotation; + } + + var inferer = inferers[node.type]; + if (inferer) { + return inferer.call(this, node); + } + + inferer = inferers[this.parentPath.type]; + if (inferer && inferer.validParent) { + return this.parentPath.getTypeAnnotation(); + } +} + +function isBaseType(baseName, soft) { + return _isBaseType(baseName, this.getTypeAnnotation(), soft); +} + +function _isBaseType(baseName, type, soft) { + if (baseName === "string") { + return t.isStringTypeAnnotation(type); + } else if (baseName === "number") { + return t.isNumberTypeAnnotation(type); + } else if (baseName === "boolean") { + return t.isBooleanTypeAnnotation(type); + } else if (baseName === "any") { + return t.isAnyTypeAnnotation(type); + } else if (baseName === "mixed") { + return t.isMixedTypeAnnotation(type); + } else if (baseName === "empty") { + return t.isEmptyTypeAnnotation(type); + } else if (baseName === "void") { + return t.isVoidTypeAnnotation(type); + } else { + if (soft) { + return false; + } else { + throw new Error("Unknown base type " + baseName); + } + } +} + +function couldBeBaseType(name) { + var type = this.getTypeAnnotation(); + if (t.isAnyTypeAnnotation(type)) return true; + + if (t.isUnionTypeAnnotation(type)) { + for (var _iterator = type.types, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var type2 = _ref; + + if (t.isAnyTypeAnnotation(type2) || _isBaseType(name, type2, true)) { + return true; + } + } + return false; + } else { + return _isBaseType(name, type, true); + } +} + +function baseTypeStrictlyMatches(right) { + var left = this.getTypeAnnotation(); + right = right.getTypeAnnotation(); + + if (!t.isAnyTypeAnnotation(left) && t.isFlowBaseAnnotation(left)) { + return right.type === left.type; + } +} + +function isGenericType(genericName) { + var type = this.getTypeAnnotation(); + return t.isGenericTypeAnnotation(type) && t.isIdentifier(type.id, { name: genericName }); +} \ No newline at end of file diff --git a/socket/node_modules/babel-traverse/lib/path/inference/inferer-reference.js b/socket/node_modules/babel-traverse/lib/path/inference/inferer-reference.js new file mode 100644 index 0000000..3a8ff31 --- /dev/null +++ b/socket/node_modules/babel-traverse/lib/path/inference/inferer-reference.js @@ -0,0 +1,185 @@ +"use strict"; + +exports.__esModule = true; + +var _getIterator2 = require("babel-runtime/core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +exports.default = function (node) { + if (!this.isReferenced()) return; + + var binding = this.scope.getBinding(node.name); + if (binding) { + if (binding.identifier.typeAnnotation) { + return binding.identifier.typeAnnotation; + } else { + return getTypeAnnotationBindingConstantViolations(this, node.name); + } + } + + if (node.name === "undefined") { + return t.voidTypeAnnotation(); + } else if (node.name === "NaN" || node.name === "Infinity") { + return t.numberTypeAnnotation(); + } else if (node.name === "arguments") {} +}; + +var _babelTypes = require("babel-types"); + +var t = _interopRequireWildcard(_babelTypes); + +function _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; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function getTypeAnnotationBindingConstantViolations(path, name) { + var binding = path.scope.getBinding(name); + + var types = []; + path.typeAnnotation = t.unionTypeAnnotation(types); + + var functionConstantViolations = []; + var constantViolations = getConstantViolationsBefore(binding, path, functionConstantViolations); + + var testType = getConditionalAnnotation(path, name); + if (testType) { + var testConstantViolations = getConstantViolationsBefore(binding, testType.ifStatement); + + constantViolations = constantViolations.filter(function (path) { + return testConstantViolations.indexOf(path) < 0; + }); + + types.push(testType.typeAnnotation); + } + + if (constantViolations.length) { + constantViolations = constantViolations.concat(functionConstantViolations); + + for (var _iterator = constantViolations, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var violation = _ref; + + types.push(violation.getTypeAnnotation()); + } + } + + if (types.length) { + return t.createUnionTypeAnnotation(types); + } +} + +function getConstantViolationsBefore(binding, path, functions) { + var violations = binding.constantViolations.slice(); + violations.unshift(binding.path); + return violations.filter(function (violation) { + violation = violation.resolve(); + var status = violation._guessExecutionStatusRelativeTo(path); + if (functions && status === "function") functions.push(violation); + return status === "before"; + }); +} + +function inferAnnotationFromBinaryExpression(name, path) { + var operator = path.node.operator; + + var right = path.get("right").resolve(); + var left = path.get("left").resolve(); + + var target = void 0; + if (left.isIdentifier({ name: name })) { + target = right; + } else if (right.isIdentifier({ name: name })) { + target = left; + } + if (target) { + if (operator === "===") { + return target.getTypeAnnotation(); + } else if (t.BOOLEAN_NUMBER_BINARY_OPERATORS.indexOf(operator) >= 0) { + return t.numberTypeAnnotation(); + } else { + return; + } + } else { + if (operator !== "===") return; + } + + var typeofPath = void 0; + var typePath = void 0; + if (left.isUnaryExpression({ operator: "typeof" })) { + typeofPath = left; + typePath = right; + } else if (right.isUnaryExpression({ operator: "typeof" })) { + typeofPath = right; + typePath = left; + } + if (!typePath && !typeofPath) return; + + typePath = typePath.resolve(); + if (!typePath.isLiteral()) return; + + var typeValue = typePath.node.value; + if (typeof typeValue !== "string") return; + + if (!typeofPath.get("argument").isIdentifier({ name: name })) return; + + return t.createTypeAnnotationBasedOnTypeof(typePath.node.value); +} + +function getParentConditionalPath(path) { + var parentPath = void 0; + while (parentPath = path.parentPath) { + if (parentPath.isIfStatement() || parentPath.isConditionalExpression()) { + if (path.key === "test") { + return; + } else { + return parentPath; + } + } else { + path = parentPath; + } + } +} + +function getConditionalAnnotation(path, name) { + var ifStatement = getParentConditionalPath(path); + if (!ifStatement) return; + + var test = ifStatement.get("test"); + var paths = [test]; + var types = []; + + do { + var _path = paths.shift().resolve(); + + if (_path.isLogicalExpression()) { + paths.push(_path.get("left")); + paths.push(_path.get("right")); + } + + if (_path.isBinaryExpression()) { + var type = inferAnnotationFromBinaryExpression(name, _path); + if (type) types.push(type); + } + } while (paths.length); + + if (types.length) { + return { + typeAnnotation: t.createUnionTypeAnnotation(types), + ifStatement: ifStatement + }; + } else { + return getConditionalAnnotation(ifStatement, name); + } +} +module.exports = exports["default"]; \ No newline at end of file diff --git a/socket/node_modules/babel-traverse/lib/path/inference/inferers.js b/socket/node_modules/babel-traverse/lib/path/inference/inferers.js new file mode 100644 index 0000000..ecce2b4 --- /dev/null +++ b/socket/node_modules/babel-traverse/lib/path/inference/inferers.js @@ -0,0 +1,195 @@ +"use strict"; + +exports.__esModule = true; +exports.ClassDeclaration = exports.ClassExpression = exports.FunctionDeclaration = exports.ArrowFunctionExpression = exports.FunctionExpression = exports.Identifier = undefined; + +var _infererReference = require("./inferer-reference"); + +Object.defineProperty(exports, "Identifier", { + enumerable: true, + get: function get() { + return _interopRequireDefault(_infererReference).default; + } +}); +exports.VariableDeclarator = VariableDeclarator; +exports.TypeCastExpression = TypeCastExpression; +exports.NewExpression = NewExpression; +exports.TemplateLiteral = TemplateLiteral; +exports.UnaryExpression = UnaryExpression; +exports.BinaryExpression = BinaryExpression; +exports.LogicalExpression = LogicalExpression; +exports.ConditionalExpression = ConditionalExpression; +exports.SequenceExpression = SequenceExpression; +exports.AssignmentExpression = AssignmentExpression; +exports.UpdateExpression = UpdateExpression; +exports.StringLiteral = StringLiteral; +exports.NumericLiteral = NumericLiteral; +exports.BooleanLiteral = BooleanLiteral; +exports.NullLiteral = NullLiteral; +exports.RegExpLiteral = RegExpLiteral; +exports.ObjectExpression = ObjectExpression; +exports.ArrayExpression = ArrayExpression; +exports.RestElement = RestElement; +exports.CallExpression = CallExpression; +exports.TaggedTemplateExpression = TaggedTemplateExpression; + +var _babelTypes = require("babel-types"); + +var t = _interopRequireWildcard(_babelTypes); + +function _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; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function VariableDeclarator() { + var id = this.get("id"); + + if (id.isIdentifier()) { + return this.get("init").getTypeAnnotation(); + } else { + return; + } +} + +function TypeCastExpression(node) { + return node.typeAnnotation; +} + +TypeCastExpression.validParent = true; + +function NewExpression(node) { + if (this.get("callee").isIdentifier()) { + return t.genericTypeAnnotation(node.callee); + } +} + +function TemplateLiteral() { + return t.stringTypeAnnotation(); +} + +function UnaryExpression(node) { + var operator = node.operator; + + if (operator === "void") { + return t.voidTypeAnnotation(); + } else if (t.NUMBER_UNARY_OPERATORS.indexOf(operator) >= 0) { + return t.numberTypeAnnotation(); + } else if (t.STRING_UNARY_OPERATORS.indexOf(operator) >= 0) { + return t.stringTypeAnnotation(); + } else if (t.BOOLEAN_UNARY_OPERATORS.indexOf(operator) >= 0) { + return t.booleanTypeAnnotation(); + } +} + +function BinaryExpression(node) { + var operator = node.operator; + + if (t.NUMBER_BINARY_OPERATORS.indexOf(operator) >= 0) { + return t.numberTypeAnnotation(); + } else if (t.BOOLEAN_BINARY_OPERATORS.indexOf(operator) >= 0) { + return t.booleanTypeAnnotation(); + } else if (operator === "+") { + var right = this.get("right"); + var left = this.get("left"); + + if (left.isBaseType("number") && right.isBaseType("number")) { + return t.numberTypeAnnotation(); + } else if (left.isBaseType("string") || right.isBaseType("string")) { + return t.stringTypeAnnotation(); + } + + return t.unionTypeAnnotation([t.stringTypeAnnotation(), t.numberTypeAnnotation()]); + } +} + +function LogicalExpression() { + return t.createUnionTypeAnnotation([this.get("left").getTypeAnnotation(), this.get("right").getTypeAnnotation()]); +} + +function ConditionalExpression() { + return t.createUnionTypeAnnotation([this.get("consequent").getTypeAnnotation(), this.get("alternate").getTypeAnnotation()]); +} + +function SequenceExpression() { + return this.get("expressions").pop().getTypeAnnotation(); +} + +function AssignmentExpression() { + return this.get("right").getTypeAnnotation(); +} + +function UpdateExpression(node) { + var operator = node.operator; + if (operator === "++" || operator === "--") { + return t.numberTypeAnnotation(); + } +} + +function StringLiteral() { + return t.stringTypeAnnotation(); +} + +function NumericLiteral() { + return t.numberTypeAnnotation(); +} + +function BooleanLiteral() { + return t.booleanTypeAnnotation(); +} + +function NullLiteral() { + return t.nullLiteralTypeAnnotation(); +} + +function RegExpLiteral() { + return t.genericTypeAnnotation(t.identifier("RegExp")); +} + +function ObjectExpression() { + return t.genericTypeAnnotation(t.identifier("Object")); +} + +function ArrayExpression() { + return t.genericTypeAnnotation(t.identifier("Array")); +} + +function RestElement() { + return ArrayExpression(); +} + +RestElement.validParent = true; + +function Func() { + return t.genericTypeAnnotation(t.identifier("Function")); +} + +exports.FunctionExpression = Func; +exports.ArrowFunctionExpression = Func; +exports.FunctionDeclaration = Func; +exports.ClassExpression = Func; +exports.ClassDeclaration = Func; +function CallExpression() { + return resolveCall(this.get("callee")); +} + +function TaggedTemplateExpression() { + return resolveCall(this.get("tag")); +} + +function resolveCall(callee) { + callee = callee.resolve(); + + if (callee.isFunction()) { + if (callee.is("async")) { + if (callee.is("generator")) { + return t.genericTypeAnnotation(t.identifier("AsyncIterator")); + } else { + return t.genericTypeAnnotation(t.identifier("Promise")); + } + } else { + if (callee.node.returnType) { + return callee.node.returnType; + } else {} + } + } +} \ No newline at end of file diff --git a/socket/node_modules/babel-traverse/lib/path/introspection.js b/socket/node_modules/babel-traverse/lib/path/introspection.js new file mode 100644 index 0000000..27be039 --- /dev/null +++ b/socket/node_modules/babel-traverse/lib/path/introspection.js @@ -0,0 +1,386 @@ +"use strict"; + +exports.__esModule = true; +exports.is = undefined; + +var _getIterator2 = require("babel-runtime/core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +exports.matchesPattern = matchesPattern; +exports.has = has; +exports.isStatic = isStatic; +exports.isnt = isnt; +exports.equals = equals; +exports.isNodeType = isNodeType; +exports.canHaveVariableDeclarationOrExpression = canHaveVariableDeclarationOrExpression; +exports.canSwapBetweenExpressionAndStatement = canSwapBetweenExpressionAndStatement; +exports.isCompletionRecord = isCompletionRecord; +exports.isStatementOrBlock = isStatementOrBlock; +exports.referencesImport = referencesImport; +exports.getSource = getSource; +exports.willIMaybeExecuteBefore = willIMaybeExecuteBefore; +exports._guessExecutionStatusRelativeTo = _guessExecutionStatusRelativeTo; +exports._guessExecutionStatusRelativeToDifferentFunctions = _guessExecutionStatusRelativeToDifferentFunctions; +exports.resolve = resolve; +exports._resolve = _resolve; + +var _includes = require("lodash/includes"); + +var _includes2 = _interopRequireDefault(_includes); + +var _babelTypes = require("babel-types"); + +var t = _interopRequireWildcard(_babelTypes); + +function _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; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function matchesPattern(pattern, allowPartial) { + if (!this.isMemberExpression()) return false; + + var parts = pattern.split("."); + var search = [this.node]; + var i = 0; + + function matches(name) { + var part = parts[i]; + return part === "*" || name === part; + } + + while (search.length) { + var node = search.shift(); + + if (allowPartial && i === parts.length) { + return true; + } + + if (t.isIdentifier(node)) { + if (!matches(node.name)) return false; + } else if (t.isLiteral(node)) { + if (!matches(node.value)) return false; + } else if (t.isMemberExpression(node)) { + if (node.computed && !t.isLiteral(node.property)) { + return false; + } else { + search.unshift(node.property); + search.unshift(node.object); + continue; + } + } else if (t.isThisExpression(node)) { + if (!matches("this")) return false; + } else { + return false; + } + + if (++i > parts.length) { + return false; + } + } + + return i === parts.length; +} + +function has(key) { + var val = this.node && this.node[key]; + if (val && Array.isArray(val)) { + return !!val.length; + } else { + return !!val; + } +} + +function isStatic() { + return this.scope.isStatic(this.node); +} + +var is = exports.is = has; + +function isnt(key) { + return !this.has(key); +} + +function equals(key, value) { + return this.node[key] === value; +} + +function isNodeType(type) { + return t.isType(this.type, type); +} + +function canHaveVariableDeclarationOrExpression() { + return (this.key === "init" || this.key === "left") && this.parentPath.isFor(); +} + +function canSwapBetweenExpressionAndStatement(replacement) { + if (this.key !== "body" || !this.parentPath.isArrowFunctionExpression()) { + return false; + } + + if (this.isExpression()) { + return t.isBlockStatement(replacement); + } else if (this.isBlockStatement()) { + return t.isExpression(replacement); + } + + return false; +} + +function isCompletionRecord(allowInsideFunction) { + var path = this; + var first = true; + + do { + var container = path.container; + + if (path.isFunction() && !first) { + return !!allowInsideFunction; + } + + first = false; + + if (Array.isArray(container) && path.key !== container.length - 1) { + return false; + } + } while ((path = path.parentPath) && !path.isProgram()); + + return true; +} + +function isStatementOrBlock() { + if (this.parentPath.isLabeledStatement() || t.isBlockStatement(this.container)) { + return false; + } else { + return (0, _includes2.default)(t.STATEMENT_OR_BLOCK_KEYS, this.key); + } +} + +function referencesImport(moduleSource, importName) { + if (!this.isReferencedIdentifier()) return false; + + var binding = this.scope.getBinding(this.node.name); + if (!binding || binding.kind !== "module") return false; + + var path = binding.path; + var parent = path.parentPath; + if (!parent.isImportDeclaration()) return false; + + if (parent.node.source.value === moduleSource) { + if (!importName) return true; + } else { + return false; + } + + if (path.isImportDefaultSpecifier() && importName === "default") { + return true; + } + + if (path.isImportNamespaceSpecifier() && importName === "*") { + return true; + } + + if (path.isImportSpecifier() && path.node.imported.name === importName) { + return true; + } + + return false; +} + +function getSource() { + var node = this.node; + if (node.end) { + return this.hub.file.code.slice(node.start, node.end); + } else { + return ""; + } +} + +function willIMaybeExecuteBefore(target) { + return this._guessExecutionStatusRelativeTo(target) !== "after"; +} + +function _guessExecutionStatusRelativeTo(target) { + var targetFuncParent = target.scope.getFunctionParent(); + var selfFuncParent = this.scope.getFunctionParent(); + + if (targetFuncParent.node !== selfFuncParent.node) { + var status = this._guessExecutionStatusRelativeToDifferentFunctions(targetFuncParent); + if (status) { + return status; + } else { + target = targetFuncParent.path; + } + } + + var targetPaths = target.getAncestry(); + if (targetPaths.indexOf(this) >= 0) return "after"; + + var selfPaths = this.getAncestry(); + + var commonPath = void 0; + var targetIndex = void 0; + var selfIndex = void 0; + for (selfIndex = 0; selfIndex < selfPaths.length; selfIndex++) { + var selfPath = selfPaths[selfIndex]; + targetIndex = targetPaths.indexOf(selfPath); + if (targetIndex >= 0) { + commonPath = selfPath; + break; + } + } + if (!commonPath) { + return "before"; + } + + var targetRelationship = targetPaths[targetIndex - 1]; + var selfRelationship = selfPaths[selfIndex - 1]; + if (!targetRelationship || !selfRelationship) { + return "before"; + } + + if (targetRelationship.listKey && targetRelationship.container === selfRelationship.container) { + return targetRelationship.key > selfRelationship.key ? "before" : "after"; + } + + var targetKeyPosition = t.VISITOR_KEYS[targetRelationship.type].indexOf(targetRelationship.key); + var selfKeyPosition = t.VISITOR_KEYS[selfRelationship.type].indexOf(selfRelationship.key); + return targetKeyPosition > selfKeyPosition ? "before" : "after"; +} + +function _guessExecutionStatusRelativeToDifferentFunctions(targetFuncParent) { + var targetFuncPath = targetFuncParent.path; + if (!targetFuncPath.isFunctionDeclaration()) return; + + var binding = targetFuncPath.scope.getBinding(targetFuncPath.node.id.name); + + if (!binding.references) return "before"; + + var referencePaths = binding.referencePaths; + + for (var _iterator = referencePaths, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var path = _ref; + + if (path.key !== "callee" || !path.parentPath.isCallExpression()) { + return; + } + } + + var allStatus = void 0; + + for (var _iterator2 = referencePaths, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : (0, _getIterator3.default)(_iterator2);;) { + var _ref2; + + if (_isArray2) { + if (_i2 >= _iterator2.length) break; + _ref2 = _iterator2[_i2++]; + } else { + _i2 = _iterator2.next(); + if (_i2.done) break; + _ref2 = _i2.value; + } + + var _path = _ref2; + + var childOfFunction = !!_path.find(function (path) { + return path.node === targetFuncPath.node; + }); + if (childOfFunction) continue; + + var status = this._guessExecutionStatusRelativeTo(_path); + + if (allStatus) { + if (allStatus !== status) return; + } else { + allStatus = status; + } + } + + return allStatus; +} + +function resolve(dangerous, resolved) { + return this._resolve(dangerous, resolved) || this; +} + +function _resolve(dangerous, resolved) { + if (resolved && resolved.indexOf(this) >= 0) return; + + resolved = resolved || []; + resolved.push(this); + + if (this.isVariableDeclarator()) { + if (this.get("id").isIdentifier()) { + return this.get("init").resolve(dangerous, resolved); + } else {} + } else if (this.isReferencedIdentifier()) { + var binding = this.scope.getBinding(this.node.name); + if (!binding) return; + + if (!binding.constant) return; + + if (binding.kind === "module") return; + + if (binding.path !== this) { + var ret = binding.path.resolve(dangerous, resolved); + + if (this.find(function (parent) { + return parent.node === ret.node; + })) return; + return ret; + } + } else if (this.isTypeCastExpression()) { + return this.get("expression").resolve(dangerous, resolved); + } else if (dangerous && this.isMemberExpression()) { + + var targetKey = this.toComputedKey(); + if (!t.isLiteral(targetKey)) return; + + var targetName = targetKey.value; + + var target = this.get("object").resolve(dangerous, resolved); + + if (target.isObjectExpression()) { + var props = target.get("properties"); + for (var _iterator3 = props, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : (0, _getIterator3.default)(_iterator3);;) { + var _ref3; + + if (_isArray3) { + if (_i3 >= _iterator3.length) break; + _ref3 = _iterator3[_i3++]; + } else { + _i3 = _iterator3.next(); + if (_i3.done) break; + _ref3 = _i3.value; + } + + var prop = _ref3; + + if (!prop.isProperty()) continue; + + var key = prop.get("key"); + + var match = prop.isnt("computed") && key.isIdentifier({ name: targetName }); + + match = match || key.isLiteral({ value: targetName }); + + if (match) return prop.get("value").resolve(dangerous, resolved); + } + } else if (target.isArrayExpression() && !isNaN(+targetName)) { + var elems = target.get("elements"); + var elem = elems[targetName]; + if (elem) return elem.resolve(dangerous, resolved); + } + } +} \ No newline at end of file diff --git a/socket/node_modules/babel-traverse/lib/path/lib/hoister.js b/socket/node_modules/babel-traverse/lib/path/lib/hoister.js new file mode 100644 index 0000000..7e4e8be --- /dev/null +++ b/socket/node_modules/babel-traverse/lib/path/lib/hoister.js @@ -0,0 +1,211 @@ +"use strict"; + +exports.__esModule = true; + +var _getIterator2 = require("babel-runtime/core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck"); + +var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); + +var _babelTypes = require("babel-types"); + +var t = _interopRequireWildcard(_babelTypes); + +function _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; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var referenceVisitor = { + ReferencedIdentifier: function ReferencedIdentifier(path, state) { + if (path.isJSXIdentifier() && _babelTypes.react.isCompatTag(path.node.name) && !path.parentPath.isJSXMemberExpression()) { + return; + } + + if (path.node.name === "this") { + var scope = path.scope; + do { + if (scope.path.isFunction() && !scope.path.isArrowFunctionExpression()) break; + } while (scope = scope.parent); + if (scope) state.breakOnScopePaths.push(scope.path); + } + + var binding = path.scope.getBinding(path.node.name); + if (!binding) return; + + if (binding !== state.scope.getBinding(path.node.name)) return; + + state.bindings[path.node.name] = binding; + } +}; + +var PathHoister = function () { + function PathHoister(path, scope) { + (0, _classCallCheck3.default)(this, PathHoister); + + this.breakOnScopePaths = []; + + this.bindings = {}; + + this.scopes = []; + + this.scope = scope; + this.path = path; + + this.attachAfter = false; + } + + PathHoister.prototype.isCompatibleScope = function isCompatibleScope(scope) { + for (var key in this.bindings) { + var binding = this.bindings[key]; + if (!scope.bindingIdentifierEquals(key, binding.identifier)) { + return false; + } + } + + return true; + }; + + PathHoister.prototype.getCompatibleScopes = function getCompatibleScopes() { + var scope = this.path.scope; + do { + if (this.isCompatibleScope(scope)) { + this.scopes.push(scope); + } else { + break; + } + + if (this.breakOnScopePaths.indexOf(scope.path) >= 0) { + break; + } + } while (scope = scope.parent); + }; + + PathHoister.prototype.getAttachmentPath = function getAttachmentPath() { + var path = this._getAttachmentPath(); + if (!path) return; + + var targetScope = path.scope; + + if (targetScope.path === path) { + targetScope = path.scope.parent; + } + + if (targetScope.path.isProgram() || targetScope.path.isFunction()) { + for (var name in this.bindings) { + if (!targetScope.hasOwnBinding(name)) continue; + + var binding = this.bindings[name]; + + if (binding.kind === "param") continue; + + if (this.getAttachmentParentForPath(binding.path).key > path.key) { + this.attachAfter = true; + path = binding.path; + + for (var _iterator = binding.constantViolations, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var violationPath = _ref; + + if (this.getAttachmentParentForPath(violationPath).key > path.key) { + path = violationPath; + } + } + } + } + } + + if (path.parentPath.isExportDeclaration()) { + path = path.parentPath; + } + + return path; + }; + + PathHoister.prototype._getAttachmentPath = function _getAttachmentPath() { + var scopes = this.scopes; + + var scope = scopes.pop(); + + if (!scope) return; + + if (scope.path.isFunction()) { + if (this.hasOwnParamBindings(scope)) { + if (this.scope === scope) return; + + return scope.path.get("body").get("body")[0]; + } else { + return this.getNextScopeAttachmentParent(); + } + } else if (scope.path.isProgram()) { + return this.getNextScopeAttachmentParent(); + } + }; + + PathHoister.prototype.getNextScopeAttachmentParent = function getNextScopeAttachmentParent() { + var scope = this.scopes.pop(); + if (scope) return this.getAttachmentParentForPath(scope.path); + }; + + PathHoister.prototype.getAttachmentParentForPath = function getAttachmentParentForPath(path) { + do { + if (!path.parentPath || Array.isArray(path.container) && path.isStatement() || path.isVariableDeclarator() && path.parentPath.node !== null && path.parentPath.node.declarations.length > 1) return path; + } while (path = path.parentPath); + }; + + PathHoister.prototype.hasOwnParamBindings = function hasOwnParamBindings(scope) { + for (var name in this.bindings) { + if (!scope.hasOwnBinding(name)) continue; + + var binding = this.bindings[name]; + + if (binding.kind === "param" && binding.constant) return true; + } + return false; + }; + + PathHoister.prototype.run = function run() { + var node = this.path.node; + if (node._hoisted) return; + node._hoisted = true; + + this.path.traverse(referenceVisitor, this); + + this.getCompatibleScopes(); + + var attachTo = this.getAttachmentPath(); + if (!attachTo) return; + + if (attachTo.getFunctionParent() === this.path.getFunctionParent()) return; + + var uid = attachTo.scope.generateUidIdentifier("ref"); + var declarator = t.variableDeclarator(uid, this.path.node); + + var insertFn = this.attachAfter ? "insertAfter" : "insertBefore"; + attachTo[insertFn]([attachTo.isVariableDeclarator() ? declarator : t.variableDeclaration("var", [declarator])]); + + var parent = this.path.parentPath; + if (parent.isJSXElement() && this.path.container === parent.node.children) { + uid = t.JSXExpressionContainer(uid); + } + + this.path.replaceWith(uid); + }; + + return PathHoister; +}(); + +exports.default = PathHoister; +module.exports = exports["default"]; \ No newline at end of file diff --git a/socket/node_modules/babel-traverse/lib/path/lib/removal-hooks.js b/socket/node_modules/babel-traverse/lib/path/lib/removal-hooks.js new file mode 100644 index 0000000..6058ec1 --- /dev/null +++ b/socket/node_modules/babel-traverse/lib/path/lib/removal-hooks.js @@ -0,0 +1,33 @@ +"use strict"; + +exports.__esModule = true; +var hooks = exports.hooks = [function (self, parent) { + var removeParent = self.key === "test" && (parent.isWhile() || parent.isSwitchCase()) || self.key === "declaration" && parent.isExportDeclaration() || self.key === "body" && parent.isLabeledStatement() || self.listKey === "declarations" && parent.isVariableDeclaration() && parent.node.declarations.length === 1 || self.key === "expression" && parent.isExpressionStatement(); + + if (removeParent) { + parent.remove(); + return true; + } +}, function (self, parent) { + if (parent.isSequenceExpression() && parent.node.expressions.length === 1) { + parent.replaceWith(parent.node.expressions[0]); + return true; + } +}, function (self, parent) { + if (parent.isBinary()) { + if (self.key === "left") { + parent.replaceWith(parent.node.right); + } else { + parent.replaceWith(parent.node.left); + } + return true; + } +}, function (self, parent) { + if (parent.isIfStatement() && (self.key === "consequent" || self.key === "alternate") || self.key === "body" && (parent.isLoop() || parent.isArrowFunctionExpression())) { + self.replaceWith({ + type: "BlockStatement", + body: [] + }); + return true; + } +}]; \ No newline at end of file diff --git a/socket/node_modules/babel-traverse/lib/path/lib/virtual-types.js b/socket/node_modules/babel-traverse/lib/path/lib/virtual-types.js new file mode 100644 index 0000000..80bb5b9 --- /dev/null +++ b/socket/node_modules/babel-traverse/lib/path/lib/virtual-types.js @@ -0,0 +1,141 @@ +"use strict"; + +exports.__esModule = true; +exports.Flow = exports.Pure = exports.Generated = exports.User = exports.Var = exports.BlockScoped = exports.Referenced = exports.Scope = exports.Expression = exports.Statement = exports.BindingIdentifier = exports.ReferencedMemberExpression = exports.ReferencedIdentifier = undefined; + +var _babelTypes = require("babel-types"); + +var t = _interopRequireWildcard(_babelTypes); + +function _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; } } + +var ReferencedIdentifier = exports.ReferencedIdentifier = { + types: ["Identifier", "JSXIdentifier"], + checkPath: function checkPath(_ref, opts) { + var node = _ref.node, + parent = _ref.parent; + + if (!t.isIdentifier(node, opts) && !t.isJSXMemberExpression(parent, opts)) { + if (t.isJSXIdentifier(node, opts)) { + if (_babelTypes.react.isCompatTag(node.name)) return false; + } else { + return false; + } + } + + return t.isReferenced(node, parent); + } +}; + +var ReferencedMemberExpression = exports.ReferencedMemberExpression = { + types: ["MemberExpression"], + checkPath: function checkPath(_ref2) { + var node = _ref2.node, + parent = _ref2.parent; + + return t.isMemberExpression(node) && t.isReferenced(node, parent); + } +}; + +var BindingIdentifier = exports.BindingIdentifier = { + types: ["Identifier"], + checkPath: function checkPath(_ref3) { + var node = _ref3.node, + parent = _ref3.parent; + + return t.isIdentifier(node) && t.isBinding(node, parent); + } +}; + +var Statement = exports.Statement = { + types: ["Statement"], + checkPath: function checkPath(_ref4) { + var node = _ref4.node, + parent = _ref4.parent; + + if (t.isStatement(node)) { + if (t.isVariableDeclaration(node)) { + if (t.isForXStatement(parent, { left: node })) return false; + if (t.isForStatement(parent, { init: node })) return false; + } + + return true; + } else { + return false; + } + } +}; + +var Expression = exports.Expression = { + types: ["Expression"], + checkPath: function checkPath(path) { + if (path.isIdentifier()) { + return path.isReferencedIdentifier(); + } else { + return t.isExpression(path.node); + } + } +}; + +var Scope = exports.Scope = { + types: ["Scopable"], + checkPath: function checkPath(path) { + return t.isScope(path.node, path.parent); + } +}; + +var Referenced = exports.Referenced = { + checkPath: function checkPath(path) { + return t.isReferenced(path.node, path.parent); + } +}; + +var BlockScoped = exports.BlockScoped = { + checkPath: function checkPath(path) { + return t.isBlockScoped(path.node); + } +}; + +var Var = exports.Var = { + types: ["VariableDeclaration"], + checkPath: function checkPath(path) { + return t.isVar(path.node); + } +}; + +var User = exports.User = { + checkPath: function checkPath(path) { + return path.node && !!path.node.loc; + } +}; + +var Generated = exports.Generated = { + checkPath: function checkPath(path) { + return !path.isUser(); + } +}; + +var Pure = exports.Pure = { + checkPath: function checkPath(path, opts) { + return path.scope.isPure(path.node, opts); + } +}; + +var Flow = exports.Flow = { + types: ["Flow", "ImportDeclaration", "ExportDeclaration", "ImportSpecifier"], + checkPath: function checkPath(_ref5) { + var node = _ref5.node; + + if (t.isFlow(node)) { + return true; + } else if (t.isImportDeclaration(node)) { + return node.importKind === "type" || node.importKind === "typeof"; + } else if (t.isExportDeclaration(node)) { + return node.exportKind === "type"; + } else if (t.isImportSpecifier(node)) { + return node.importKind === "type" || node.importKind === "typeof"; + } else { + return false; + } + } +}; \ No newline at end of file diff --git a/socket/node_modules/babel-traverse/lib/path/modification.js b/socket/node_modules/babel-traverse/lib/path/modification.js new file mode 100644 index 0000000..30fb165 --- /dev/null +++ b/socket/node_modules/babel-traverse/lib/path/modification.js @@ -0,0 +1,264 @@ +"use strict"; + +exports.__esModule = true; + +var _typeof2 = require("babel-runtime/helpers/typeof"); + +var _typeof3 = _interopRequireDefault(_typeof2); + +var _getIterator2 = require("babel-runtime/core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +exports.insertBefore = insertBefore; +exports._containerInsert = _containerInsert; +exports._containerInsertBefore = _containerInsertBefore; +exports._containerInsertAfter = _containerInsertAfter; +exports._maybePopFromStatements = _maybePopFromStatements; +exports.insertAfter = insertAfter; +exports.updateSiblingKeys = updateSiblingKeys; +exports._verifyNodeList = _verifyNodeList; +exports.unshiftContainer = unshiftContainer; +exports.pushContainer = pushContainer; +exports.hoist = hoist; + +var _cache = require("../cache"); + +var _hoister = require("./lib/hoister"); + +var _hoister2 = _interopRequireDefault(_hoister); + +var _index = require("./index"); + +var _index2 = _interopRequireDefault(_index); + +var _babelTypes = require("babel-types"); + +var t = _interopRequireWildcard(_babelTypes); + +function _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; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function insertBefore(nodes) { + this._assertUnremoved(); + + nodes = this._verifyNodeList(nodes); + + if (this.parentPath.isExpressionStatement() || this.parentPath.isLabeledStatement()) { + return this.parentPath.insertBefore(nodes); + } else if (this.isNodeType("Expression") || this.parentPath.isForStatement() && this.key === "init") { + if (this.node) nodes.push(this.node); + this.replaceExpressionWithStatements(nodes); + } else { + this._maybePopFromStatements(nodes); + if (Array.isArray(this.container)) { + return this._containerInsertBefore(nodes); + } else if (this.isStatementOrBlock()) { + if (this.node) nodes.push(this.node); + this._replaceWith(t.blockStatement(nodes)); + } else { + throw new Error("We don't know what to do with this node type. " + "We were previously a Statement but we can't fit in here?"); + } + } + + return [this]; +} + +function _containerInsert(from, nodes) { + this.updateSiblingKeys(from, nodes.length); + + var paths = []; + + for (var i = 0; i < nodes.length; i++) { + var to = from + i; + var node = nodes[i]; + this.container.splice(to, 0, node); + + if (this.context) { + var path = this.context.create(this.parent, this.container, to, this.listKey); + + if (this.context.queue) path.pushContext(this.context); + paths.push(path); + } else { + paths.push(_index2.default.get({ + parentPath: this.parentPath, + parent: this.parent, + container: this.container, + listKey: this.listKey, + key: to + })); + } + } + + var contexts = this._getQueueContexts(); + + for (var _iterator = paths, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var _path = _ref; + + _path.setScope(); + _path.debug(function () { + return "Inserted."; + }); + + for (var _iterator2 = contexts, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : (0, _getIterator3.default)(_iterator2);;) { + var _ref2; + + if (_isArray2) { + if (_i2 >= _iterator2.length) break; + _ref2 = _iterator2[_i2++]; + } else { + _i2 = _iterator2.next(); + if (_i2.done) break; + _ref2 = _i2.value; + } + + var context = _ref2; + + context.maybeQueue(_path, true); + } + } + + return paths; +} + +function _containerInsertBefore(nodes) { + return this._containerInsert(this.key, nodes); +} + +function _containerInsertAfter(nodes) { + return this._containerInsert(this.key + 1, nodes); +} + +function _maybePopFromStatements(nodes) { + var last = nodes[nodes.length - 1]; + var isIdentifier = t.isIdentifier(last) || t.isExpressionStatement(last) && t.isIdentifier(last.expression); + + if (isIdentifier && !this.isCompletionRecord()) { + nodes.pop(); + } +} + +function insertAfter(nodes) { + this._assertUnremoved(); + + nodes = this._verifyNodeList(nodes); + + if (this.parentPath.isExpressionStatement() || this.parentPath.isLabeledStatement()) { + return this.parentPath.insertAfter(nodes); + } else if (this.isNodeType("Expression") || this.parentPath.isForStatement() && this.key === "init") { + if (this.node) { + var temp = this.scope.generateDeclaredUidIdentifier(); + nodes.unshift(t.expressionStatement(t.assignmentExpression("=", temp, this.node))); + nodes.push(t.expressionStatement(temp)); + } + this.replaceExpressionWithStatements(nodes); + } else { + this._maybePopFromStatements(nodes); + if (Array.isArray(this.container)) { + return this._containerInsertAfter(nodes); + } else if (this.isStatementOrBlock()) { + if (this.node) nodes.unshift(this.node); + this._replaceWith(t.blockStatement(nodes)); + } else { + throw new Error("We don't know what to do with this node type. " + "We were previously a Statement but we can't fit in here?"); + } + } + + return [this]; +} + +function updateSiblingKeys(fromIndex, incrementBy) { + if (!this.parent) return; + + var paths = _cache.path.get(this.parent); + for (var i = 0; i < paths.length; i++) { + var path = paths[i]; + if (path.key >= fromIndex) { + path.key += incrementBy; + } + } +} + +function _verifyNodeList(nodes) { + if (!nodes) { + return []; + } + + if (nodes.constructor !== Array) { + nodes = [nodes]; + } + + for (var i = 0; i < nodes.length; i++) { + var node = nodes[i]; + var msg = void 0; + + if (!node) { + msg = "has falsy node"; + } else if ((typeof node === "undefined" ? "undefined" : (0, _typeof3.default)(node)) !== "object") { + msg = "contains a non-object node"; + } else if (!node.type) { + msg = "without a type"; + } else if (node instanceof _index2.default) { + msg = "has a NodePath when it expected a raw object"; + } + + if (msg) { + var type = Array.isArray(node) ? "array" : typeof node === "undefined" ? "undefined" : (0, _typeof3.default)(node); + throw new Error("Node list " + msg + " with the index of " + i + " and type of " + type); + } + } + + return nodes; +} + +function unshiftContainer(listKey, nodes) { + this._assertUnremoved(); + + nodes = this._verifyNodeList(nodes); + + var path = _index2.default.get({ + parentPath: this, + parent: this.node, + container: this.node[listKey], + listKey: listKey, + key: 0 + }); + + return path.insertBefore(nodes); +} + +function pushContainer(listKey, nodes) { + this._assertUnremoved(); + + nodes = this._verifyNodeList(nodes); + + var container = this.node[listKey]; + var path = _index2.default.get({ + parentPath: this, + parent: this.node, + container: container, + listKey: listKey, + key: container.length + }); + + return path.replaceWithMultiple(nodes); +} + +function hoist() { + var scope = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.scope; + + var hoister = new _hoister2.default(this, scope); + return hoister.run(); +} \ No newline at end of file diff --git a/socket/node_modules/babel-traverse/lib/path/removal.js b/socket/node_modules/babel-traverse/lib/path/removal.js new file mode 100644 index 0000000..04f3147 --- /dev/null +++ b/socket/node_modules/babel-traverse/lib/path/removal.js @@ -0,0 +1,72 @@ +"use strict"; + +exports.__esModule = true; + +var _getIterator2 = require("babel-runtime/core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +exports.remove = remove; +exports._callRemovalHooks = _callRemovalHooks; +exports._remove = _remove; +exports._markRemoved = _markRemoved; +exports._assertUnremoved = _assertUnremoved; + +var _removalHooks = require("./lib/removal-hooks"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function remove() { + this._assertUnremoved(); + + this.resync(); + + if (this._callRemovalHooks()) { + this._markRemoved(); + return; + } + + this.shareCommentsWithSiblings(); + this._remove(); + this._markRemoved(); +} + +function _callRemovalHooks() { + for (var _iterator = _removalHooks.hooks, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var fn = _ref; + + if (fn(this, this.parentPath)) return true; + } +} + +function _remove() { + if (Array.isArray(this.container)) { + this.container.splice(this.key, 1); + this.updateSiblingKeys(this.key, -1); + } else { + this._replaceWith(null); + } +} + +function _markRemoved() { + this.shouldSkip = true; + this.removed = true; + this.node = null; +} + +function _assertUnremoved() { + if (this.removed) { + throw this.buildCodeFrameError("NodePath has been removed so is read-only."); + } +} \ No newline at end of file diff --git a/socket/node_modules/babel-traverse/lib/path/replacement.js b/socket/node_modules/babel-traverse/lib/path/replacement.js new file mode 100644 index 0000000..411dacf --- /dev/null +++ b/socket/node_modules/babel-traverse/lib/path/replacement.js @@ -0,0 +1,268 @@ +"use strict"; + +exports.__esModule = true; + +var _getIterator2 = require("babel-runtime/core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +exports.replaceWithMultiple = replaceWithMultiple; +exports.replaceWithSourceString = replaceWithSourceString; +exports.replaceWith = replaceWith; +exports._replaceWith = _replaceWith; +exports.replaceExpressionWithStatements = replaceExpressionWithStatements; +exports.replaceInline = replaceInline; + +var _babelCodeFrame = require("babel-code-frame"); + +var _babelCodeFrame2 = _interopRequireDefault(_babelCodeFrame); + +var _index = require("../index"); + +var _index2 = _interopRequireDefault(_index); + +var _index3 = require("./index"); + +var _index4 = _interopRequireDefault(_index3); + +var _babylon = require("babylon"); + +var _babelTypes = require("babel-types"); + +var t = _interopRequireWildcard(_babelTypes); + +function _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; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var hoistVariablesVisitor = { + Function: function Function(path) { + path.skip(); + }, + VariableDeclaration: function VariableDeclaration(path) { + if (path.node.kind !== "var") return; + + var bindings = path.getBindingIdentifiers(); + for (var key in bindings) { + path.scope.push({ id: bindings[key] }); + } + + var exprs = []; + + for (var _iterator = path.node.declarations, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var declar = _ref; + + if (declar.init) { + exprs.push(t.expressionStatement(t.assignmentExpression("=", declar.id, declar.init))); + } + } + + path.replaceWithMultiple(exprs); + } +}; + +function replaceWithMultiple(nodes) { + this.resync(); + + nodes = this._verifyNodeList(nodes); + t.inheritLeadingComments(nodes[0], this.node); + t.inheritTrailingComments(nodes[nodes.length - 1], this.node); + this.node = this.container[this.key] = null; + this.insertAfter(nodes); + + if (this.node) { + this.requeue(); + } else { + this.remove(); + } +} + +function replaceWithSourceString(replacement) { + this.resync(); + + try { + replacement = "(" + replacement + ")"; + replacement = (0, _babylon.parse)(replacement); + } catch (err) { + var loc = err.loc; + if (loc) { + err.message += " - make sure this is an expression."; + err.message += "\n" + (0, _babelCodeFrame2.default)(replacement, loc.line, loc.column + 1); + } + throw err; + } + + replacement = replacement.program.body[0].expression; + _index2.default.removeProperties(replacement); + return this.replaceWith(replacement); +} + +function replaceWith(replacement) { + this.resync(); + + if (this.removed) { + throw new Error("You can't replace this node, we've already removed it"); + } + + if (replacement instanceof _index4.default) { + replacement = replacement.node; + } + + if (!replacement) { + throw new Error("You passed `path.replaceWith()` a falsy node, use `path.remove()` instead"); + } + + if (this.node === replacement) { + return; + } + + if (this.isProgram() && !t.isProgram(replacement)) { + throw new Error("You can only replace a Program root node with another Program node"); + } + + if (Array.isArray(replacement)) { + throw new Error("Don't use `path.replaceWith()` with an array of nodes, use `path.replaceWithMultiple()`"); + } + + if (typeof replacement === "string") { + throw new Error("Don't use `path.replaceWith()` with a source string, use `path.replaceWithSourceString()`"); + } + + if (this.isNodeType("Statement") && t.isExpression(replacement)) { + if (!this.canHaveVariableDeclarationOrExpression() && !this.canSwapBetweenExpressionAndStatement(replacement) && !this.parentPath.isExportDefaultDeclaration()) { + replacement = t.expressionStatement(replacement); + } + } + + if (this.isNodeType("Expression") && t.isStatement(replacement)) { + if (!this.canHaveVariableDeclarationOrExpression() && !this.canSwapBetweenExpressionAndStatement(replacement)) { + return this.replaceExpressionWithStatements([replacement]); + } + } + + var oldNode = this.node; + if (oldNode) { + t.inheritsComments(replacement, oldNode); + t.removeComments(oldNode); + } + + this._replaceWith(replacement); + this.type = replacement.type; + + this.setScope(); + + this.requeue(); +} + +function _replaceWith(node) { + if (!this.container) { + throw new ReferenceError("Container is falsy"); + } + + if (this.inList) { + t.validate(this.parent, this.key, [node]); + } else { + t.validate(this.parent, this.key, node); + } + + this.debug(function () { + return "Replace with " + (node && node.type); + }); + + this.node = this.container[this.key] = node; +} + +function replaceExpressionWithStatements(nodes) { + this.resync(); + + var toSequenceExpression = t.toSequenceExpression(nodes, this.scope); + + if (t.isSequenceExpression(toSequenceExpression)) { + var exprs = toSequenceExpression.expressions; + + if (exprs.length >= 2 && this.parentPath.isExpressionStatement()) { + this._maybePopFromStatements(exprs); + } + + if (exprs.length === 1) { + this.replaceWith(exprs[0]); + } else { + this.replaceWith(toSequenceExpression); + } + } else if (toSequenceExpression) { + this.replaceWith(toSequenceExpression); + } else { + var container = t.functionExpression(null, [], t.blockStatement(nodes)); + container.shadow = true; + + this.replaceWith(t.callExpression(container, [])); + this.traverse(hoistVariablesVisitor); + + var completionRecords = this.get("callee").getCompletionRecords(); + for (var _iterator2 = completionRecords, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : (0, _getIterator3.default)(_iterator2);;) { + var _ref2; + + if (_isArray2) { + if (_i2 >= _iterator2.length) break; + _ref2 = _iterator2[_i2++]; + } else { + _i2 = _iterator2.next(); + if (_i2.done) break; + _ref2 = _i2.value; + } + + var path = _ref2; + + if (!path.isExpressionStatement()) continue; + + var loop = path.findParent(function (path) { + return path.isLoop(); + }); + if (loop) { + var uid = loop.getData("expressionReplacementReturnUid"); + + if (!uid) { + var callee = this.get("callee"); + uid = callee.scope.generateDeclaredUidIdentifier("ret"); + callee.get("body").pushContainer("body", t.returnStatement(uid)); + loop.setData("expressionReplacementReturnUid", uid); + } else { + uid = t.identifier(uid.name); + } + + path.get("expression").replaceWith(t.assignmentExpression("=", uid, path.node.expression)); + } else { + path.replaceWith(t.returnStatement(path.node.expression)); + } + } + + return this.node; + } +} + +function replaceInline(nodes) { + this.resync(); + + if (Array.isArray(nodes)) { + if (Array.isArray(this.container)) { + nodes = this._verifyNodeList(nodes); + this._containerInsertAfter(nodes); + return this.remove(); + } else { + return this.replaceWithMultiple(nodes); + } + } else { + return this.replaceWith(nodes); + } +} \ No newline at end of file diff --git a/socket/node_modules/babel-traverse/lib/scope/binding.js b/socket/node_modules/babel-traverse/lib/scope/binding.js new file mode 100644 index 0000000..0730cdf --- /dev/null +++ b/socket/node_modules/babel-traverse/lib/scope/binding.js @@ -0,0 +1,82 @@ +"use strict"; + +exports.__esModule = true; + +var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck"); + +var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var Binding = function () { + function Binding(_ref) { + var existing = _ref.existing, + identifier = _ref.identifier, + scope = _ref.scope, + path = _ref.path, + kind = _ref.kind; + (0, _classCallCheck3.default)(this, Binding); + + this.identifier = identifier; + this.scope = scope; + this.path = path; + this.kind = kind; + + this.constantViolations = []; + this.constant = true; + + this.referencePaths = []; + this.referenced = false; + this.references = 0; + + this.clearValue(); + + if (existing) { + this.constantViolations = [].concat(existing.path, existing.constantViolations, this.constantViolations); + } + } + + Binding.prototype.deoptValue = function deoptValue() { + this.clearValue(); + this.hasDeoptedValue = true; + }; + + Binding.prototype.setValue = function setValue(value) { + if (this.hasDeoptedValue) return; + this.hasValue = true; + this.value = value; + }; + + Binding.prototype.clearValue = function clearValue() { + this.hasDeoptedValue = false; + this.hasValue = false; + this.value = null; + }; + + Binding.prototype.reassign = function reassign(path) { + this.constant = false; + if (this.constantViolations.indexOf(path) !== -1) { + return; + } + this.constantViolations.push(path); + }; + + Binding.prototype.reference = function reference(path) { + if (this.referencePaths.indexOf(path) !== -1) { + return; + } + this.referenced = true; + this.references++; + this.referencePaths.push(path); + }; + + Binding.prototype.dereference = function dereference() { + this.references--; + this.referenced = !!this.references; + }; + + return Binding; +}(); + +exports.default = Binding; +module.exports = exports["default"]; \ No newline at end of file diff --git a/socket/node_modules/babel-traverse/lib/scope/index.js b/socket/node_modules/babel-traverse/lib/scope/index.js new file mode 100644 index 0000000..c91aa6a --- /dev/null +++ b/socket/node_modules/babel-traverse/lib/scope/index.js @@ -0,0 +1,1094 @@ +"use strict"; + +exports.__esModule = true; + +var _keys = require("babel-runtime/core-js/object/keys"); + +var _keys2 = _interopRequireDefault(_keys); + +var _create = require("babel-runtime/core-js/object/create"); + +var _create2 = _interopRequireDefault(_create); + +var _map = require("babel-runtime/core-js/map"); + +var _map2 = _interopRequireDefault(_map); + +var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck"); + +var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); + +var _getIterator2 = require("babel-runtime/core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +var _includes = require("lodash/includes"); + +var _includes2 = _interopRequireDefault(_includes); + +var _repeat = require("lodash/repeat"); + +var _repeat2 = _interopRequireDefault(_repeat); + +var _renamer = require("./lib/renamer"); + +var _renamer2 = _interopRequireDefault(_renamer); + +var _index = require("../index"); + +var _index2 = _interopRequireDefault(_index); + +var _defaults = require("lodash/defaults"); + +var _defaults2 = _interopRequireDefault(_defaults); + +var _babelMessages = require("babel-messages"); + +var messages = _interopRequireWildcard(_babelMessages); + +var _binding2 = require("./binding"); + +var _binding3 = _interopRequireDefault(_binding2); + +var _globals = require("globals"); + +var _globals2 = _interopRequireDefault(_globals); + +var _babelTypes = require("babel-types"); + +var t = _interopRequireWildcard(_babelTypes); + +var _cache = require("../cache"); + +function _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; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var _crawlCallsCount = 0; + +function getCache(path, parentScope, self) { + var scopes = _cache.scope.get(path.node) || []; + + for (var _iterator = scopes, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var scope = _ref; + + if (scope.parent === parentScope && scope.path === path) return scope; + } + + scopes.push(self); + + if (!_cache.scope.has(path.node)) { + _cache.scope.set(path.node, scopes); + } +} + +function gatherNodeParts(node, parts) { + if (t.isModuleDeclaration(node)) { + if (node.source) { + gatherNodeParts(node.source, parts); + } else if (node.specifiers && node.specifiers.length) { + for (var _iterator2 = node.specifiers, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : (0, _getIterator3.default)(_iterator2);;) { + var _ref2; + + if (_isArray2) { + if (_i2 >= _iterator2.length) break; + _ref2 = _iterator2[_i2++]; + } else { + _i2 = _iterator2.next(); + if (_i2.done) break; + _ref2 = _i2.value; + } + + var specifier = _ref2; + + gatherNodeParts(specifier, parts); + } + } else if (node.declaration) { + gatherNodeParts(node.declaration, parts); + } + } else if (t.isModuleSpecifier(node)) { + gatherNodeParts(node.local, parts); + } else if (t.isMemberExpression(node)) { + gatherNodeParts(node.object, parts); + gatherNodeParts(node.property, parts); + } else if (t.isIdentifier(node)) { + parts.push(node.name); + } else if (t.isLiteral(node)) { + parts.push(node.value); + } else if (t.isCallExpression(node)) { + gatherNodeParts(node.callee, parts); + } else if (t.isObjectExpression(node) || t.isObjectPattern(node)) { + for (var _iterator3 = node.properties, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : (0, _getIterator3.default)(_iterator3);;) { + var _ref3; + + if (_isArray3) { + if (_i3 >= _iterator3.length) break; + _ref3 = _iterator3[_i3++]; + } else { + _i3 = _iterator3.next(); + if (_i3.done) break; + _ref3 = _i3.value; + } + + var prop = _ref3; + + gatherNodeParts(prop.key || prop.argument, parts); + } + } +} + +var collectorVisitor = { + For: function For(path) { + for (var _iterator4 = t.FOR_INIT_KEYS, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : (0, _getIterator3.default)(_iterator4);;) { + var _ref4; + + if (_isArray4) { + if (_i4 >= _iterator4.length) break; + _ref4 = _iterator4[_i4++]; + } else { + _i4 = _iterator4.next(); + if (_i4.done) break; + _ref4 = _i4.value; + } + + var key = _ref4; + + var declar = path.get(key); + if (declar.isVar()) path.scope.getFunctionParent().registerBinding("var", declar); + } + }, + Declaration: function Declaration(path) { + if (path.isBlockScoped()) return; + + if (path.isExportDeclaration() && path.get("declaration").isDeclaration()) return; + + path.scope.getFunctionParent().registerDeclaration(path); + }, + ReferencedIdentifier: function ReferencedIdentifier(path, state) { + state.references.push(path); + }, + ForXStatement: function ForXStatement(path, state) { + var left = path.get("left"); + if (left.isPattern() || left.isIdentifier()) { + state.constantViolations.push(left); + } + }, + + + ExportDeclaration: { + exit: function exit(path) { + var node = path.node, + scope = path.scope; + + var declar = node.declaration; + if (t.isClassDeclaration(declar) || t.isFunctionDeclaration(declar)) { + var _id = declar.id; + if (!_id) return; + + var binding = scope.getBinding(_id.name); + if (binding) binding.reference(path); + } else if (t.isVariableDeclaration(declar)) { + for (var _iterator5 = declar.declarations, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : (0, _getIterator3.default)(_iterator5);;) { + var _ref5; + + if (_isArray5) { + if (_i5 >= _iterator5.length) break; + _ref5 = _iterator5[_i5++]; + } else { + _i5 = _iterator5.next(); + if (_i5.done) break; + _ref5 = _i5.value; + } + + var decl = _ref5; + + var ids = t.getBindingIdentifiers(decl); + for (var name in ids) { + var _binding = scope.getBinding(name); + if (_binding) _binding.reference(path); + } + } + } + } + }, + + LabeledStatement: function LabeledStatement(path) { + path.scope.getProgramParent().addGlobal(path.node); + path.scope.getBlockParent().registerDeclaration(path); + }, + AssignmentExpression: function AssignmentExpression(path, state) { + state.assignments.push(path); + }, + UpdateExpression: function UpdateExpression(path, state) { + state.constantViolations.push(path.get("argument")); + }, + UnaryExpression: function UnaryExpression(path, state) { + if (path.node.operator === "delete") { + state.constantViolations.push(path.get("argument")); + } + }, + BlockScoped: function BlockScoped(path) { + var scope = path.scope; + if (scope.path === path) scope = scope.parent; + scope.getBlockParent().registerDeclaration(path); + }, + ClassDeclaration: function ClassDeclaration(path) { + var id = path.node.id; + if (!id) return; + + var name = id.name; + path.scope.bindings[name] = path.scope.getBinding(name); + }, + Block: function Block(path) { + var paths = path.get("body"); + for (var _iterator6 = paths, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : (0, _getIterator3.default)(_iterator6);;) { + var _ref6; + + if (_isArray6) { + if (_i6 >= _iterator6.length) break; + _ref6 = _iterator6[_i6++]; + } else { + _i6 = _iterator6.next(); + if (_i6.done) break; + _ref6 = _i6.value; + } + + var bodyPath = _ref6; + + if (bodyPath.isFunctionDeclaration()) { + path.scope.getBlockParent().registerDeclaration(bodyPath); + } + } + } +}; + +var uid = 0; + +var Scope = function () { + function Scope(path, parentScope) { + (0, _classCallCheck3.default)(this, Scope); + + if (parentScope && parentScope.block === path.node) { + return parentScope; + } + + var cached = getCache(path, parentScope, this); + if (cached) return cached; + + this.uid = uid++; + this.parent = parentScope; + this.hub = path.hub; + + this.parentBlock = path.parent; + this.block = path.node; + this.path = path; + + this.labels = new _map2.default(); + } + + Scope.prototype.traverse = function traverse(node, opts, state) { + (0, _index2.default)(node, opts, this, state, this.path); + }; + + Scope.prototype.generateDeclaredUidIdentifier = function generateDeclaredUidIdentifier() { + var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "temp"; + + var id = this.generateUidIdentifier(name); + this.push({ id: id }); + return id; + }; + + Scope.prototype.generateUidIdentifier = function generateUidIdentifier() { + var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "temp"; + + return t.identifier(this.generateUid(name)); + }; + + Scope.prototype.generateUid = function generateUid() { + var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "temp"; + + name = t.toIdentifier(name).replace(/^_+/, "").replace(/[0-9]+$/g, ""); + + var uid = void 0; + var i = 0; + do { + uid = this._generateUid(name, i); + i++; + } while (this.hasLabel(uid) || this.hasBinding(uid) || this.hasGlobal(uid) || this.hasReference(uid)); + + var program = this.getProgramParent(); + program.references[uid] = true; + program.uids[uid] = true; + + return uid; + }; + + Scope.prototype._generateUid = function _generateUid(name, i) { + var id = name; + if (i > 1) id += i; + return "_" + id; + }; + + Scope.prototype.generateUidIdentifierBasedOnNode = function generateUidIdentifierBasedOnNode(parent, defaultName) { + var node = parent; + + if (t.isAssignmentExpression(parent)) { + node = parent.left; + } else if (t.isVariableDeclarator(parent)) { + node = parent.id; + } else if (t.isObjectProperty(node) || t.isObjectMethod(node)) { + node = node.key; + } + + var parts = []; + gatherNodeParts(node, parts); + + var id = parts.join("$"); + id = id.replace(/^_/, "") || defaultName || "ref"; + + return this.generateUidIdentifier(id.slice(0, 20)); + }; + + Scope.prototype.isStatic = function isStatic(node) { + if (t.isThisExpression(node) || t.isSuper(node)) { + return true; + } + + if (t.isIdentifier(node)) { + var binding = this.getBinding(node.name); + if (binding) { + return binding.constant; + } else { + return this.hasBinding(node.name); + } + } + + return false; + }; + + Scope.prototype.maybeGenerateMemoised = function maybeGenerateMemoised(node, dontPush) { + if (this.isStatic(node)) { + return null; + } else { + var _id2 = this.generateUidIdentifierBasedOnNode(node); + if (!dontPush) this.push({ id: _id2 }); + return _id2; + } + }; + + Scope.prototype.checkBlockScopedCollisions = function checkBlockScopedCollisions(local, kind, name, id) { + if (kind === "param") return; + + if (kind === "hoisted" && local.kind === "let") return; + + var duplicate = kind === "let" || local.kind === "let" || local.kind === "const" || local.kind === "module" || local.kind === "param" && (kind === "let" || kind === "const"); + + if (duplicate) { + throw this.hub.file.buildCodeFrameError(id, messages.get("scopeDuplicateDeclaration", name), TypeError); + } + }; + + Scope.prototype.rename = function rename(oldName, newName, block) { + var binding = this.getBinding(oldName); + if (binding) { + newName = newName || this.generateUidIdentifier(oldName).name; + return new _renamer2.default(binding, oldName, newName).rename(block); + } + }; + + Scope.prototype._renameFromMap = function _renameFromMap(map, oldName, newName, value) { + if (map[oldName]) { + map[newName] = value; + map[oldName] = null; + } + }; + + Scope.prototype.dump = function dump() { + var sep = (0, _repeat2.default)("-", 60); + console.log(sep); + var scope = this; + do { + console.log("#", scope.block.type); + for (var name in scope.bindings) { + var binding = scope.bindings[name]; + console.log(" -", name, { + constant: binding.constant, + references: binding.references, + violations: binding.constantViolations.length, + kind: binding.kind + }); + } + } while (scope = scope.parent); + console.log(sep); + }; + + Scope.prototype.toArray = function toArray(node, i) { + var file = this.hub.file; + + if (t.isIdentifier(node)) { + var binding = this.getBinding(node.name); + if (binding && binding.constant && binding.path.isGenericType("Array")) return node; + } + + if (t.isArrayExpression(node)) { + return node; + } + + if (t.isIdentifier(node, { name: "arguments" })) { + return t.callExpression(t.memberExpression(t.memberExpression(t.memberExpression(t.identifier("Array"), t.identifier("prototype")), t.identifier("slice")), t.identifier("call")), [node]); + } + + var helperName = "toArray"; + var args = [node]; + if (i === true) { + helperName = "toConsumableArray"; + } else if (i) { + args.push(t.numericLiteral(i)); + helperName = "slicedToArray"; + } + return t.callExpression(file.addHelper(helperName), args); + }; + + Scope.prototype.hasLabel = function hasLabel(name) { + return !!this.getLabel(name); + }; + + Scope.prototype.getLabel = function getLabel(name) { + return this.labels.get(name); + }; + + Scope.prototype.registerLabel = function registerLabel(path) { + this.labels.set(path.node.label.name, path); + }; + + Scope.prototype.registerDeclaration = function registerDeclaration(path) { + if (path.isLabeledStatement()) { + this.registerLabel(path); + } else if (path.isFunctionDeclaration()) { + this.registerBinding("hoisted", path.get("id"), path); + } else if (path.isVariableDeclaration()) { + var declarations = path.get("declarations"); + for (var _iterator7 = declarations, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : (0, _getIterator3.default)(_iterator7);;) { + var _ref7; + + if (_isArray7) { + if (_i7 >= _iterator7.length) break; + _ref7 = _iterator7[_i7++]; + } else { + _i7 = _iterator7.next(); + if (_i7.done) break; + _ref7 = _i7.value; + } + + var declar = _ref7; + + this.registerBinding(path.node.kind, declar); + } + } else if (path.isClassDeclaration()) { + this.registerBinding("let", path); + } else if (path.isImportDeclaration()) { + var specifiers = path.get("specifiers"); + for (var _iterator8 = specifiers, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : (0, _getIterator3.default)(_iterator8);;) { + var _ref8; + + if (_isArray8) { + if (_i8 >= _iterator8.length) break; + _ref8 = _iterator8[_i8++]; + } else { + _i8 = _iterator8.next(); + if (_i8.done) break; + _ref8 = _i8.value; + } + + var specifier = _ref8; + + this.registerBinding("module", specifier); + } + } else if (path.isExportDeclaration()) { + var _declar = path.get("declaration"); + if (_declar.isClassDeclaration() || _declar.isFunctionDeclaration() || _declar.isVariableDeclaration()) { + this.registerDeclaration(_declar); + } + } else { + this.registerBinding("unknown", path); + } + }; + + Scope.prototype.buildUndefinedNode = function buildUndefinedNode() { + if (this.hasBinding("undefined")) { + return t.unaryExpression("void", t.numericLiteral(0), true); + } else { + return t.identifier("undefined"); + } + }; + + Scope.prototype.registerConstantViolation = function registerConstantViolation(path) { + var ids = path.getBindingIdentifiers(); + for (var name in ids) { + var binding = this.getBinding(name); + if (binding) binding.reassign(path); + } + }; + + Scope.prototype.registerBinding = function registerBinding(kind, path) { + var bindingPath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : path; + + if (!kind) throw new ReferenceError("no `kind`"); + + if (path.isVariableDeclaration()) { + var declarators = path.get("declarations"); + for (var _iterator9 = declarators, _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : (0, _getIterator3.default)(_iterator9);;) { + var _ref9; + + if (_isArray9) { + if (_i9 >= _iterator9.length) break; + _ref9 = _iterator9[_i9++]; + } else { + _i9 = _iterator9.next(); + if (_i9.done) break; + _ref9 = _i9.value; + } + + var declar = _ref9; + + this.registerBinding(kind, declar); + } + return; + } + + var parent = this.getProgramParent(); + var ids = path.getBindingIdentifiers(true); + + for (var name in ids) { + for (var _iterator10 = ids[name], _isArray10 = Array.isArray(_iterator10), _i10 = 0, _iterator10 = _isArray10 ? _iterator10 : (0, _getIterator3.default)(_iterator10);;) { + var _ref10; + + if (_isArray10) { + if (_i10 >= _iterator10.length) break; + _ref10 = _iterator10[_i10++]; + } else { + _i10 = _iterator10.next(); + if (_i10.done) break; + _ref10 = _i10.value; + } + + var _id3 = _ref10; + + var local = this.getOwnBinding(name); + if (local) { + if (local.identifier === _id3) continue; + + this.checkBlockScopedCollisions(local, kind, name, _id3); + } + + if (local && local.path.isFlow()) local = null; + + parent.references[name] = true; + + this.bindings[name] = new _binding3.default({ + identifier: _id3, + existing: local, + scope: this, + path: bindingPath, + kind: kind + }); + } + } + }; + + Scope.prototype.addGlobal = function addGlobal(node) { + this.globals[node.name] = node; + }; + + Scope.prototype.hasUid = function hasUid(name) { + var scope = this; + + do { + if (scope.uids[name]) return true; + } while (scope = scope.parent); + + return false; + }; + + Scope.prototype.hasGlobal = function hasGlobal(name) { + var scope = this; + + do { + if (scope.globals[name]) return true; + } while (scope = scope.parent); + + return false; + }; + + Scope.prototype.hasReference = function hasReference(name) { + var scope = this; + + do { + if (scope.references[name]) return true; + } while (scope = scope.parent); + + return false; + }; + + Scope.prototype.isPure = function isPure(node, constantsOnly) { + if (t.isIdentifier(node)) { + var binding = this.getBinding(node.name); + if (!binding) return false; + if (constantsOnly) return binding.constant; + return true; + } else if (t.isClass(node)) { + if (node.superClass && !this.isPure(node.superClass, constantsOnly)) return false; + return this.isPure(node.body, constantsOnly); + } else if (t.isClassBody(node)) { + for (var _iterator11 = node.body, _isArray11 = Array.isArray(_iterator11), _i11 = 0, _iterator11 = _isArray11 ? _iterator11 : (0, _getIterator3.default)(_iterator11);;) { + var _ref11; + + if (_isArray11) { + if (_i11 >= _iterator11.length) break; + _ref11 = _iterator11[_i11++]; + } else { + _i11 = _iterator11.next(); + if (_i11.done) break; + _ref11 = _i11.value; + } + + var method = _ref11; + + if (!this.isPure(method, constantsOnly)) return false; + } + return true; + } else if (t.isBinary(node)) { + return this.isPure(node.left, constantsOnly) && this.isPure(node.right, constantsOnly); + } else if (t.isArrayExpression(node)) { + for (var _iterator12 = node.elements, _isArray12 = Array.isArray(_iterator12), _i12 = 0, _iterator12 = _isArray12 ? _iterator12 : (0, _getIterator3.default)(_iterator12);;) { + var _ref12; + + if (_isArray12) { + if (_i12 >= _iterator12.length) break; + _ref12 = _iterator12[_i12++]; + } else { + _i12 = _iterator12.next(); + if (_i12.done) break; + _ref12 = _i12.value; + } + + var elem = _ref12; + + if (!this.isPure(elem, constantsOnly)) return false; + } + return true; + } else if (t.isObjectExpression(node)) { + for (var _iterator13 = node.properties, _isArray13 = Array.isArray(_iterator13), _i13 = 0, _iterator13 = _isArray13 ? _iterator13 : (0, _getIterator3.default)(_iterator13);;) { + var _ref13; + + if (_isArray13) { + if (_i13 >= _iterator13.length) break; + _ref13 = _iterator13[_i13++]; + } else { + _i13 = _iterator13.next(); + if (_i13.done) break; + _ref13 = _i13.value; + } + + var prop = _ref13; + + if (!this.isPure(prop, constantsOnly)) return false; + } + return true; + } else if (t.isClassMethod(node)) { + if (node.computed && !this.isPure(node.key, constantsOnly)) return false; + if (node.kind === "get" || node.kind === "set") return false; + return true; + } else if (t.isClassProperty(node) || t.isObjectProperty(node)) { + if (node.computed && !this.isPure(node.key, constantsOnly)) return false; + return this.isPure(node.value, constantsOnly); + } else if (t.isUnaryExpression(node)) { + return this.isPure(node.argument, constantsOnly); + } else { + return t.isPureish(node); + } + }; + + Scope.prototype.setData = function setData(key, val) { + return this.data[key] = val; + }; + + Scope.prototype.getData = function getData(key) { + var scope = this; + do { + var data = scope.data[key]; + if (data != null) return data; + } while (scope = scope.parent); + }; + + Scope.prototype.removeData = function removeData(key) { + var scope = this; + do { + var data = scope.data[key]; + if (data != null) scope.data[key] = null; + } while (scope = scope.parent); + }; + + Scope.prototype.init = function init() { + if (!this.references) this.crawl(); + }; + + Scope.prototype.crawl = function crawl() { + _crawlCallsCount++; + this._crawl(); + _crawlCallsCount--; + }; + + Scope.prototype._crawl = function _crawl() { + var path = this.path; + + this.references = (0, _create2.default)(null); + this.bindings = (0, _create2.default)(null); + this.globals = (0, _create2.default)(null); + this.uids = (0, _create2.default)(null); + this.data = (0, _create2.default)(null); + + if (path.isLoop()) { + for (var _iterator14 = t.FOR_INIT_KEYS, _isArray14 = Array.isArray(_iterator14), _i14 = 0, _iterator14 = _isArray14 ? _iterator14 : (0, _getIterator3.default)(_iterator14);;) { + var _ref14; + + if (_isArray14) { + if (_i14 >= _iterator14.length) break; + _ref14 = _iterator14[_i14++]; + } else { + _i14 = _iterator14.next(); + if (_i14.done) break; + _ref14 = _i14.value; + } + + var key = _ref14; + + var node = path.get(key); + if (node.isBlockScoped()) this.registerBinding(node.node.kind, node); + } + } + + if (path.isFunctionExpression() && path.has("id")) { + if (!path.get("id").node[t.NOT_LOCAL_BINDING]) { + this.registerBinding("local", path.get("id"), path); + } + } + + if (path.isClassExpression() && path.has("id")) { + if (!path.get("id").node[t.NOT_LOCAL_BINDING]) { + this.registerBinding("local", path); + } + } + + if (path.isFunction()) { + var params = path.get("params"); + for (var _iterator15 = params, _isArray15 = Array.isArray(_iterator15), _i15 = 0, _iterator15 = _isArray15 ? _iterator15 : (0, _getIterator3.default)(_iterator15);;) { + var _ref15; + + if (_isArray15) { + if (_i15 >= _iterator15.length) break; + _ref15 = _iterator15[_i15++]; + } else { + _i15 = _iterator15.next(); + if (_i15.done) break; + _ref15 = _i15.value; + } + + var param = _ref15; + + this.registerBinding("param", param); + } + } + + if (path.isCatchClause()) { + this.registerBinding("let", path); + } + + var parent = this.getProgramParent(); + if (parent.crawling) return; + + var state = { + references: [], + constantViolations: [], + assignments: [] + }; + + this.crawling = true; + path.traverse(collectorVisitor, state); + this.crawling = false; + + for (var _iterator16 = state.assignments, _isArray16 = Array.isArray(_iterator16), _i16 = 0, _iterator16 = _isArray16 ? _iterator16 : (0, _getIterator3.default)(_iterator16);;) { + var _ref16; + + if (_isArray16) { + if (_i16 >= _iterator16.length) break; + _ref16 = _iterator16[_i16++]; + } else { + _i16 = _iterator16.next(); + if (_i16.done) break; + _ref16 = _i16.value; + } + + var _path = _ref16; + + var ids = _path.getBindingIdentifiers(); + var programParent = void 0; + for (var name in ids) { + if (_path.scope.getBinding(name)) continue; + + programParent = programParent || _path.scope.getProgramParent(); + programParent.addGlobal(ids[name]); + } + + _path.scope.registerConstantViolation(_path); + } + + for (var _iterator17 = state.references, _isArray17 = Array.isArray(_iterator17), _i17 = 0, _iterator17 = _isArray17 ? _iterator17 : (0, _getIterator3.default)(_iterator17);;) { + var _ref17; + + if (_isArray17) { + if (_i17 >= _iterator17.length) break; + _ref17 = _iterator17[_i17++]; + } else { + _i17 = _iterator17.next(); + if (_i17.done) break; + _ref17 = _i17.value; + } + + var ref = _ref17; + + var binding = ref.scope.getBinding(ref.node.name); + if (binding) { + binding.reference(ref); + } else { + ref.scope.getProgramParent().addGlobal(ref.node); + } + } + + for (var _iterator18 = state.constantViolations, _isArray18 = Array.isArray(_iterator18), _i18 = 0, _iterator18 = _isArray18 ? _iterator18 : (0, _getIterator3.default)(_iterator18);;) { + var _ref18; + + if (_isArray18) { + if (_i18 >= _iterator18.length) break; + _ref18 = _iterator18[_i18++]; + } else { + _i18 = _iterator18.next(); + if (_i18.done) break; + _ref18 = _i18.value; + } + + var _path2 = _ref18; + + _path2.scope.registerConstantViolation(_path2); + } + }; + + Scope.prototype.push = function push(opts) { + var path = this.path; + + if (!path.isBlockStatement() && !path.isProgram()) { + path = this.getBlockParent().path; + } + + if (path.isSwitchStatement()) { + path = this.getFunctionParent().path; + } + + if (path.isLoop() || path.isCatchClause() || path.isFunction()) { + t.ensureBlock(path.node); + path = path.get("body"); + } + + var unique = opts.unique; + var kind = opts.kind || "var"; + var blockHoist = opts._blockHoist == null ? 2 : opts._blockHoist; + + var dataKey = "declaration:" + kind + ":" + blockHoist; + var declarPath = !unique && path.getData(dataKey); + + if (!declarPath) { + var declar = t.variableDeclaration(kind, []); + declar._generated = true; + declar._blockHoist = blockHoist; + + var _path$unshiftContaine = path.unshiftContainer("body", [declar]); + + declarPath = _path$unshiftContaine[0]; + + if (!unique) path.setData(dataKey, declarPath); + } + + var declarator = t.variableDeclarator(opts.id, opts.init); + declarPath.node.declarations.push(declarator); + this.registerBinding(kind, declarPath.get("declarations").pop()); + }; + + Scope.prototype.getProgramParent = function getProgramParent() { + var scope = this; + do { + if (scope.path.isProgram()) { + return scope; + } + } while (scope = scope.parent); + throw new Error("We couldn't find a Function or Program..."); + }; + + Scope.prototype.getFunctionParent = function getFunctionParent() { + var scope = this; + do { + if (scope.path.isFunctionParent()) { + return scope; + } + } while (scope = scope.parent); + throw new Error("We couldn't find a Function or Program..."); + }; + + Scope.prototype.getBlockParent = function getBlockParent() { + var scope = this; + do { + if (scope.path.isBlockParent()) { + return scope; + } + } while (scope = scope.parent); + throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program..."); + }; + + Scope.prototype.getAllBindings = function getAllBindings() { + var ids = (0, _create2.default)(null); + + var scope = this; + do { + (0, _defaults2.default)(ids, scope.bindings); + scope = scope.parent; + } while (scope); + + return ids; + }; + + Scope.prototype.getAllBindingsOfKind = function getAllBindingsOfKind() { + var ids = (0, _create2.default)(null); + + for (var _iterator19 = arguments, _isArray19 = Array.isArray(_iterator19), _i19 = 0, _iterator19 = _isArray19 ? _iterator19 : (0, _getIterator3.default)(_iterator19);;) { + var _ref19; + + if (_isArray19) { + if (_i19 >= _iterator19.length) break; + _ref19 = _iterator19[_i19++]; + } else { + _i19 = _iterator19.next(); + if (_i19.done) break; + _ref19 = _i19.value; + } + + var kind = _ref19; + + var scope = this; + do { + for (var name in scope.bindings) { + var binding = scope.bindings[name]; + if (binding.kind === kind) ids[name] = binding; + } + scope = scope.parent; + } while (scope); + } + + return ids; + }; + + Scope.prototype.bindingIdentifierEquals = function bindingIdentifierEquals(name, node) { + return this.getBindingIdentifier(name) === node; + }; + + Scope.prototype.warnOnFlowBinding = function warnOnFlowBinding(binding) { + if (_crawlCallsCount === 0 && binding && binding.path.isFlow()) { + console.warn("\n You or one of the Babel plugins you are using are using Flow declarations as bindings.\n Support for this will be removed in version 7. To find out the caller, grep for this\n message and change it to a `console.trace()`.\n "); + } + return binding; + }; + + Scope.prototype.getBinding = function getBinding(name) { + var scope = this; + + do { + var binding = scope.getOwnBinding(name); + if (binding) return this.warnOnFlowBinding(binding); + } while (scope = scope.parent); + }; + + Scope.prototype.getOwnBinding = function getOwnBinding(name) { + return this.warnOnFlowBinding(this.bindings[name]); + }; + + Scope.prototype.getBindingIdentifier = function getBindingIdentifier(name) { + var info = this.getBinding(name); + return info && info.identifier; + }; + + Scope.prototype.getOwnBindingIdentifier = function getOwnBindingIdentifier(name) { + var binding = this.bindings[name]; + return binding && binding.identifier; + }; + + Scope.prototype.hasOwnBinding = function hasOwnBinding(name) { + return !!this.getOwnBinding(name); + }; + + Scope.prototype.hasBinding = function hasBinding(name, noGlobals) { + if (!name) return false; + if (this.hasOwnBinding(name)) return true; + if (this.parentHasBinding(name, noGlobals)) return true; + if (this.hasUid(name)) return true; + if (!noGlobals && (0, _includes2.default)(Scope.globals, name)) return true; + if (!noGlobals && (0, _includes2.default)(Scope.contextVariables, name)) return true; + return false; + }; + + Scope.prototype.parentHasBinding = function parentHasBinding(name, noGlobals) { + return this.parent && this.parent.hasBinding(name, noGlobals); + }; + + Scope.prototype.moveBindingTo = function moveBindingTo(name, scope) { + var info = this.getBinding(name); + if (info) { + info.scope.removeOwnBinding(name); + info.scope = scope; + scope.bindings[name] = info; + } + }; + + Scope.prototype.removeOwnBinding = function removeOwnBinding(name) { + delete this.bindings[name]; + }; + + Scope.prototype.removeBinding = function removeBinding(name) { + var info = this.getBinding(name); + if (info) { + info.scope.removeOwnBinding(name); + } + + var scope = this; + do { + if (scope.uids[name]) { + scope.uids[name] = false; + } + } while (scope = scope.parent); + }; + + return Scope; +}(); + +Scope.globals = (0, _keys2.default)(_globals2.default.builtin); +Scope.contextVariables = ["arguments", "undefined", "Infinity", "NaN"]; +exports.default = Scope; +module.exports = exports["default"]; \ No newline at end of file diff --git a/socket/node_modules/babel-traverse/lib/scope/lib/renamer.js b/socket/node_modules/babel-traverse/lib/scope/lib/renamer.js new file mode 100644 index 0000000..351b4d9 --- /dev/null +++ b/socket/node_modules/babel-traverse/lib/scope/lib/renamer.js @@ -0,0 +1,113 @@ +"use strict"; + +exports.__esModule = true; + +var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck"); + +var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); + +var _binding = require("../binding"); + +var _binding2 = _interopRequireDefault(_binding); + +var _babelTypes = require("babel-types"); + +var t = _interopRequireWildcard(_babelTypes); + +function _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; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var renameVisitor = { + ReferencedIdentifier: function ReferencedIdentifier(_ref, state) { + var node = _ref.node; + + if (node.name === state.oldName) { + node.name = state.newName; + } + }, + Scope: function Scope(path, state) { + if (!path.scope.bindingIdentifierEquals(state.oldName, state.binding.identifier)) { + path.skip(); + } + }, + "AssignmentExpression|Declaration": function AssignmentExpressionDeclaration(path, state) { + var ids = path.getOuterBindingIdentifiers(); + + for (var name in ids) { + if (name === state.oldName) ids[name].name = state.newName; + } + } +}; + +var Renamer = function () { + function Renamer(binding, oldName, newName) { + (0, _classCallCheck3.default)(this, Renamer); + + this.newName = newName; + this.oldName = oldName; + this.binding = binding; + } + + Renamer.prototype.maybeConvertFromExportDeclaration = function maybeConvertFromExportDeclaration(parentDeclar) { + var exportDeclar = parentDeclar.parentPath.isExportDeclaration() && parentDeclar.parentPath; + if (!exportDeclar) return; + + var isDefault = exportDeclar.isExportDefaultDeclaration(); + + if (isDefault && (parentDeclar.isFunctionDeclaration() || parentDeclar.isClassDeclaration()) && !parentDeclar.node.id) { + parentDeclar.node.id = parentDeclar.scope.generateUidIdentifier("default"); + } + + var bindingIdentifiers = parentDeclar.getOuterBindingIdentifiers(); + var specifiers = []; + + for (var name in bindingIdentifiers) { + var localName = name === this.oldName ? this.newName : name; + var exportedName = isDefault ? "default" : name; + specifiers.push(t.exportSpecifier(t.identifier(localName), t.identifier(exportedName))); + } + + if (specifiers.length) { + var aliasDeclar = t.exportNamedDeclaration(null, specifiers); + + if (parentDeclar.isFunctionDeclaration()) { + aliasDeclar._blockHoist = 3; + } + + exportDeclar.insertAfter(aliasDeclar); + exportDeclar.replaceWith(parentDeclar.node); + } + }; + + Renamer.prototype.rename = function rename(block) { + var binding = this.binding, + oldName = this.oldName, + newName = this.newName; + var scope = binding.scope, + path = binding.path; + + + var parentDeclar = path.find(function (path) { + return path.isDeclaration() || path.isFunctionExpression(); + }); + if (parentDeclar) { + this.maybeConvertFromExportDeclaration(parentDeclar); + } + + scope.traverse(block || scope.block, renameVisitor, this); + + if (!block) { + scope.removeOwnBinding(oldName); + scope.bindings[newName] = binding; + this.binding.identifier.name = newName; + } + + if (binding.type === "hoisted") {} + }; + + return Renamer; +}(); + +exports.default = Renamer; +module.exports = exports["default"]; \ No newline at end of file diff --git a/socket/node_modules/babel-traverse/lib/visitors.js b/socket/node_modules/babel-traverse/lib/visitors.js new file mode 100644 index 0000000..dadf5d0 --- /dev/null +++ b/socket/node_modules/babel-traverse/lib/visitors.js @@ -0,0 +1,341 @@ +"use strict"; + +exports.__esModule = true; + +var _typeof2 = require("babel-runtime/helpers/typeof"); + +var _typeof3 = _interopRequireDefault(_typeof2); + +var _keys = require("babel-runtime/core-js/object/keys"); + +var _keys2 = _interopRequireDefault(_keys); + +var _getIterator2 = require("babel-runtime/core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +exports.explode = explode; +exports.verify = verify; +exports.merge = merge; + +var _virtualTypes = require("./path/lib/virtual-types"); + +var virtualTypes = _interopRequireWildcard(_virtualTypes); + +var _babelMessages = require("babel-messages"); + +var messages = _interopRequireWildcard(_babelMessages); + +var _babelTypes = require("babel-types"); + +var t = _interopRequireWildcard(_babelTypes); + +var _clone = require("lodash/clone"); + +var _clone2 = _interopRequireDefault(_clone); + +function _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; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function explode(visitor) { + if (visitor._exploded) return visitor; + visitor._exploded = true; + + for (var nodeType in visitor) { + if (shouldIgnoreKey(nodeType)) continue; + + var parts = nodeType.split("|"); + if (parts.length === 1) continue; + + var fns = visitor[nodeType]; + delete visitor[nodeType]; + + for (var _iterator = parts, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var part = _ref; + + visitor[part] = fns; + } + } + + verify(visitor); + + delete visitor.__esModule; + + ensureEntranceObjects(visitor); + + ensureCallbackArrays(visitor); + + for (var _iterator2 = (0, _keys2.default)(visitor), _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : (0, _getIterator3.default)(_iterator2);;) { + var _ref2; + + if (_isArray2) { + if (_i2 >= _iterator2.length) break; + _ref2 = _iterator2[_i2++]; + } else { + _i2 = _iterator2.next(); + if (_i2.done) break; + _ref2 = _i2.value; + } + + var _nodeType3 = _ref2; + + if (shouldIgnoreKey(_nodeType3)) continue; + + var wrapper = virtualTypes[_nodeType3]; + if (!wrapper) continue; + + var _fns2 = visitor[_nodeType3]; + for (var type in _fns2) { + _fns2[type] = wrapCheck(wrapper, _fns2[type]); + } + + delete visitor[_nodeType3]; + + if (wrapper.types) { + for (var _iterator4 = wrapper.types, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : (0, _getIterator3.default)(_iterator4);;) { + var _ref4; + + if (_isArray4) { + if (_i4 >= _iterator4.length) break; + _ref4 = _iterator4[_i4++]; + } else { + _i4 = _iterator4.next(); + if (_i4.done) break; + _ref4 = _i4.value; + } + + var _type = _ref4; + + if (visitor[_type]) { + mergePair(visitor[_type], _fns2); + } else { + visitor[_type] = _fns2; + } + } + } else { + mergePair(visitor, _fns2); + } + } + + for (var _nodeType in visitor) { + if (shouldIgnoreKey(_nodeType)) continue; + + var _fns = visitor[_nodeType]; + + var aliases = t.FLIPPED_ALIAS_KEYS[_nodeType]; + + var deprecratedKey = t.DEPRECATED_KEYS[_nodeType]; + if (deprecratedKey) { + console.trace("Visitor defined for " + _nodeType + " but it has been renamed to " + deprecratedKey); + aliases = [deprecratedKey]; + } + + if (!aliases) continue; + + delete visitor[_nodeType]; + + for (var _iterator3 = aliases, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : (0, _getIterator3.default)(_iterator3);;) { + var _ref3; + + if (_isArray3) { + if (_i3 >= _iterator3.length) break; + _ref3 = _iterator3[_i3++]; + } else { + _i3 = _iterator3.next(); + if (_i3.done) break; + _ref3 = _i3.value; + } + + var alias = _ref3; + + var existing = visitor[alias]; + if (existing) { + mergePair(existing, _fns); + } else { + visitor[alias] = (0, _clone2.default)(_fns); + } + } + } + + for (var _nodeType2 in visitor) { + if (shouldIgnoreKey(_nodeType2)) continue; + + ensureCallbackArrays(visitor[_nodeType2]); + } + + return visitor; +} + +function verify(visitor) { + if (visitor._verified) return; + + if (typeof visitor === "function") { + throw new Error(messages.get("traverseVerifyRootFunction")); + } + + for (var nodeType in visitor) { + if (nodeType === "enter" || nodeType === "exit") { + validateVisitorMethods(nodeType, visitor[nodeType]); + } + + if (shouldIgnoreKey(nodeType)) continue; + + if (t.TYPES.indexOf(nodeType) < 0) { + throw new Error(messages.get("traverseVerifyNodeType", nodeType)); + } + + var visitors = visitor[nodeType]; + if ((typeof visitors === "undefined" ? "undefined" : (0, _typeof3.default)(visitors)) === "object") { + for (var visitorKey in visitors) { + if (visitorKey === "enter" || visitorKey === "exit") { + validateVisitorMethods(nodeType + "." + visitorKey, visitors[visitorKey]); + } else { + throw new Error(messages.get("traverseVerifyVisitorProperty", nodeType, visitorKey)); + } + } + } + } + + visitor._verified = true; +} + +function validateVisitorMethods(path, val) { + var fns = [].concat(val); + for (var _iterator5 = fns, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : (0, _getIterator3.default)(_iterator5);;) { + var _ref5; + + if (_isArray5) { + if (_i5 >= _iterator5.length) break; + _ref5 = _iterator5[_i5++]; + } else { + _i5 = _iterator5.next(); + if (_i5.done) break; + _ref5 = _i5.value; + } + + var fn = _ref5; + + if (typeof fn !== "function") { + throw new TypeError("Non-function found defined in " + path + " with type " + (typeof fn === "undefined" ? "undefined" : (0, _typeof3.default)(fn))); + } + } +} + +function merge(visitors) { + var states = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; + var wrapper = arguments[2]; + + var rootVisitor = {}; + + for (var i = 0; i < visitors.length; i++) { + var visitor = visitors[i]; + var state = states[i]; + + explode(visitor); + + for (var type in visitor) { + var visitorType = visitor[type]; + + if (state || wrapper) { + visitorType = wrapWithStateOrWrapper(visitorType, state, wrapper); + } + + var nodeVisitor = rootVisitor[type] = rootVisitor[type] || {}; + mergePair(nodeVisitor, visitorType); + } + } + + return rootVisitor; +} + +function wrapWithStateOrWrapper(oldVisitor, state, wrapper) { + var newVisitor = {}; + + var _loop = function _loop(key) { + var fns = oldVisitor[key]; + + if (!Array.isArray(fns)) return "continue"; + + fns = fns.map(function (fn) { + var newFn = fn; + + if (state) { + newFn = function newFn(path) { + return fn.call(state, path, state); + }; + } + + if (wrapper) { + newFn = wrapper(state.key, key, newFn); + } + + return newFn; + }); + + newVisitor[key] = fns; + }; + + for (var key in oldVisitor) { + var _ret = _loop(key); + + if (_ret === "continue") continue; + } + + return newVisitor; +} + +function ensureEntranceObjects(obj) { + for (var key in obj) { + if (shouldIgnoreKey(key)) continue; + + var fns = obj[key]; + if (typeof fns === "function") { + obj[key] = { enter: fns }; + } + } +} + +function ensureCallbackArrays(obj) { + if (obj.enter && !Array.isArray(obj.enter)) obj.enter = [obj.enter]; + if (obj.exit && !Array.isArray(obj.exit)) obj.exit = [obj.exit]; +} + +function wrapCheck(wrapper, fn) { + var newFn = function newFn(path) { + if (wrapper.checkPath(path)) { + return fn.apply(this, arguments); + } + }; + newFn.toString = function () { + return fn.toString(); + }; + return newFn; +} + +function shouldIgnoreKey(key) { + if (key[0] === "_") return true; + + if (key === "enter" || key === "exit" || key === "shouldSkip") return true; + + if (key === "blacklist" || key === "noScope" || key === "skipKeys") return true; + + return false; +} + +function mergePair(dest, src) { + for (var key in src) { + dest[key] = [].concat(dest[key] || [], src[key]); + } +} \ No newline at end of file diff --git a/socket/node_modules/babel-traverse/node_modules/debug/.coveralls.yml b/socket/node_modules/babel-traverse/node_modules/debug/.coveralls.yml new file mode 100644 index 0000000..20a7068 --- /dev/null +++ b/socket/node_modules/babel-traverse/node_modules/debug/.coveralls.yml @@ -0,0 +1 @@ +repo_token: SIAeZjKYlHK74rbcFvNHMUzjRiMpflxve diff --git a/socket/node_modules/babel-traverse/node_modules/debug/.eslintrc b/socket/node_modules/babel-traverse/node_modules/debug/.eslintrc new file mode 100644 index 0000000..8a37ae2 --- /dev/null +++ b/socket/node_modules/babel-traverse/node_modules/debug/.eslintrc @@ -0,0 +1,11 @@ +{ + "env": { + "browser": true, + "node": true + }, + "rules": { + "no-console": 0, + "no-empty": [1, { "allowEmptyCatch": true }] + }, + "extends": "eslint:recommended" +} diff --git a/socket/node_modules/babel-traverse/node_modules/debug/.npmignore b/socket/node_modules/babel-traverse/node_modules/debug/.npmignore new file mode 100644 index 0000000..5f60eec --- /dev/null +++ b/socket/node_modules/babel-traverse/node_modules/debug/.npmignore @@ -0,0 +1,9 @@ +support +test +examples +example +*.sock +dist +yarn.lock +coverage +bower.json diff --git a/socket/node_modules/babel-traverse/node_modules/debug/.travis.yml b/socket/node_modules/babel-traverse/node_modules/debug/.travis.yml new file mode 100644 index 0000000..6c6090c --- /dev/null +++ b/socket/node_modules/babel-traverse/node_modules/debug/.travis.yml @@ -0,0 +1,14 @@ + +language: node_js +node_js: + - "6" + - "5" + - "4" + +install: + - make node_modules + +script: + - make lint + - make test + - make coveralls diff --git a/socket/node_modules/babel-traverse/node_modules/debug/CHANGELOG.md b/socket/node_modules/babel-traverse/node_modules/debug/CHANGELOG.md new file mode 100644 index 0000000..eadaa18 --- /dev/null +++ b/socket/node_modules/babel-traverse/node_modules/debug/CHANGELOG.md @@ -0,0 +1,362 @@ + +2.6.9 / 2017-09-22 +================== + + * remove ReDoS regexp in %o formatter (#504) + +2.6.8 / 2017-05-18 +================== + + * Fix: Check for undefined on browser globals (#462, @marbemac) + +2.6.7 / 2017-05-16 +================== + + * Fix: Update ms to 2.0.0 to fix regular expression denial of service vulnerability (#458, @hubdotcom) + * Fix: Inline extend function in node implementation (#452, @dougwilson) + * Docs: Fix typo (#455, @msasad) + +2.6.5 / 2017-04-27 +================== + + * Fix: null reference check on window.documentElement.style.WebkitAppearance (#447, @thebigredgeek) + * Misc: clean up browser reference checks (#447, @thebigredgeek) + * Misc: add npm-debug.log to .gitignore (@thebigredgeek) + + +2.6.4 / 2017-04-20 +================== + + * Fix: bug that would occure if process.env.DEBUG is a non-string value. (#444, @LucianBuzzo) + * Chore: ignore bower.json in npm installations. (#437, @joaovieira) + * Misc: update "ms" to v0.7.3 (@tootallnate) + +2.6.3 / 2017-03-13 +================== + + * Fix: Electron reference to `process.env.DEBUG` (#431, @paulcbetts) + * Docs: Changelog fix (@thebigredgeek) + +2.6.2 / 2017-03-10 +================== + + * Fix: DEBUG_MAX_ARRAY_LENGTH (#420, @slavaGanzin) + * Docs: Add backers and sponsors from Open Collective (#422, @piamancini) + * Docs: Add Slackin invite badge (@tootallnate) + +2.6.1 / 2017-02-10 +================== + + * Fix: Module's `export default` syntax fix for IE8 `Expected identifier` error + * Fix: Whitelist DEBUG_FD for values 1 and 2 only (#415, @pi0) + * Fix: IE8 "Expected identifier" error (#414, @vgoma) + * Fix: Namespaces would not disable once enabled (#409, @musikov) + +2.6.0 / 2016-12-28 +================== + + * Fix: added better null pointer checks for browser useColors (@thebigredgeek) + * Improvement: removed explicit `window.debug` export (#404, @tootallnate) + * Improvement: deprecated `DEBUG_FD` environment variable (#405, @tootallnate) + +2.5.2 / 2016-12-25 +================== + + * Fix: reference error on window within webworkers (#393, @KlausTrainer) + * Docs: fixed README typo (#391, @lurch) + * Docs: added notice about v3 api discussion (@thebigredgeek) + +2.5.1 / 2016-12-20 +================== + + * Fix: babel-core compatibility + +2.5.0 / 2016-12-20 +================== + + * Fix: wrong reference in bower file (@thebigredgeek) + * Fix: webworker compatibility (@thebigredgeek) + * Fix: output formatting issue (#388, @kribblo) + * Fix: babel-loader compatibility (#383, @escwald) + * Misc: removed built asset from repo and publications (@thebigredgeek) + * Misc: moved source files to /src (#378, @yamikuronue) + * Test: added karma integration and replaced babel with browserify for browser tests (#378, @yamikuronue) + * Test: coveralls integration (#378, @yamikuronue) + * Docs: simplified language in the opening paragraph (#373, @yamikuronue) + +2.4.5 / 2016-12-17 +================== + + * Fix: `navigator` undefined in Rhino (#376, @jochenberger) + * Fix: custom log function (#379, @hsiliev) + * Improvement: bit of cleanup + linting fixes (@thebigredgeek) + * Improvement: rm non-maintainted `dist/` dir (#375, @freewil) + * Docs: simplified language in the opening paragraph. (#373, @yamikuronue) + +2.4.4 / 2016-12-14 +================== + + * Fix: work around debug being loaded in preload scripts for electron (#368, @paulcbetts) + +2.4.3 / 2016-12-14 +================== + + * Fix: navigation.userAgent error for react native (#364, @escwald) + +2.4.2 / 2016-12-14 +================== + + * Fix: browser colors (#367, @tootallnate) + * Misc: travis ci integration (@thebigredgeek) + * Misc: added linting and testing boilerplate with sanity check (@thebigredgeek) + +2.4.1 / 2016-12-13 +================== + + * Fix: typo that broke the package (#356) + +2.4.0 / 2016-12-13 +================== + + * Fix: bower.json references unbuilt src entry point (#342, @justmatt) + * Fix: revert "handle regex special characters" (@tootallnate) + * Feature: configurable util.inspect()`options for NodeJS (#327, @tootallnate) + * Feature: %O`(big O) pretty-prints objects (#322, @tootallnate) + * Improvement: allow colors in workers (#335, @botverse) + * Improvement: use same color for same namespace. (#338, @lchenay) + +2.3.3 / 2016-11-09 +================== + + * Fix: Catch `JSON.stringify()` errors (#195, Jovan Alleyne) + * Fix: Returning `localStorage` saved values (#331, Levi Thomason) + * Improvement: Don't create an empty object when no `process` (Nathan Rajlich) + +2.3.2 / 2016-11-09 +================== + + * Fix: be super-safe in index.js as well (@TooTallNate) + * Fix: should check whether process exists (Tom Newby) + +2.3.1 / 2016-11-09 +================== + + * Fix: Added electron compatibility (#324, @paulcbetts) + * Improvement: Added performance optimizations (@tootallnate) + * Readme: Corrected PowerShell environment variable example (#252, @gimre) + * Misc: Removed yarn lock file from source control (#321, @fengmk2) + +2.3.0 / 2016-11-07 +================== + + * Fix: Consistent placement of ms diff at end of output (#215, @gorangajic) + * Fix: Escaping of regex special characters in namespace strings (#250, @zacronos) + * Fix: Fixed bug causing crash on react-native (#282, @vkarpov15) + * Feature: Enabled ES6+ compatible import via default export (#212 @bucaran) + * Feature: Added %O formatter to reflect Chrome's console.log capability (#279, @oncletom) + * Package: Update "ms" to 0.7.2 (#315, @DevSide) + * Package: removed superfluous version property from bower.json (#207 @kkirsche) + * Readme: fix USE_COLORS to DEBUG_COLORS + * Readme: Doc fixes for format string sugar (#269, @mlucool) + * Readme: Updated docs for DEBUG_FD and DEBUG_COLORS environment variables (#232, @mattlyons0) + * Readme: doc fixes for PowerShell (#271 #243, @exoticknight @unreadable) + * Readme: better docs for browser support (#224, @matthewmueller) + * Tooling: Added yarn integration for development (#317, @thebigredgeek) + * Misc: Renamed History.md to CHANGELOG.md (@thebigredgeek) + * Misc: Added license file (#226 #274, @CantemoInternal @sdaitzman) + * Misc: Updated contributors (@thebigredgeek) + +2.2.0 / 2015-05-09 +================== + + * package: update "ms" to v0.7.1 (#202, @dougwilson) + * README: add logging to file example (#193, @DanielOchoa) + * README: fixed a typo (#191, @amir-s) + * browser: expose `storage` (#190, @stephenmathieson) + * Makefile: add a `distclean` target (#189, @stephenmathieson) + +2.1.3 / 2015-03-13 +================== + + * Updated stdout/stderr example (#186) + * Updated example/stdout.js to match debug current behaviour + * Renamed example/stderr.js to stdout.js + * Update Readme.md (#184) + * replace high intensity foreground color for bold (#182, #183) + +2.1.2 / 2015-03-01 +================== + + * dist: recompile + * update "ms" to v0.7.0 + * package: update "browserify" to v9.0.3 + * component: fix "ms.js" repo location + * changed bower package name + * updated documentation about using debug in a browser + * fix: security error on safari (#167, #168, @yields) + +2.1.1 / 2014-12-29 +================== + + * browser: use `typeof` to check for `console` existence + * browser: check for `console.log` truthiness (fix IE 8/9) + * browser: add support for Chrome apps + * Readme: added Windows usage remarks + * Add `bower.json` to properly support bower install + +2.1.0 / 2014-10-15 +================== + + * node: implement `DEBUG_FD` env variable support + * package: update "browserify" to v6.1.0 + * package: add "license" field to package.json (#135, @panuhorsmalahti) + +2.0.0 / 2014-09-01 +================== + + * package: update "browserify" to v5.11.0 + * node: use stderr rather than stdout for logging (#29, @stephenmathieson) + +1.0.4 / 2014-07-15 +================== + + * dist: recompile + * example: remove `console.info()` log usage + * example: add "Content-Type" UTF-8 header to browser example + * browser: place %c marker after the space character + * browser: reset the "content" color via `color: inherit` + * browser: add colors support for Firefox >= v31 + * debug: prefer an instance `log()` function over the global one (#119) + * Readme: update documentation about styled console logs for FF v31 (#116, @wryk) + +1.0.3 / 2014-07-09 +================== + + * Add support for multiple wildcards in namespaces (#122, @seegno) + * browser: fix lint + +1.0.2 / 2014-06-10 +================== + + * browser: update color palette (#113, @gscottolson) + * common: make console logging function configurable (#108, @timoxley) + * node: fix %o colors on old node <= 0.8.x + * Makefile: find node path using shell/which (#109, @timoxley) + +1.0.1 / 2014-06-06 +================== + + * browser: use `removeItem()` to clear localStorage + * browser, node: don't set DEBUG if namespaces is undefined (#107, @leedm777) + * package: add "contributors" section + * node: fix comment typo + * README: list authors + +1.0.0 / 2014-06-04 +================== + + * make ms diff be global, not be scope + * debug: ignore empty strings in enable() + * node: make DEBUG_COLORS able to disable coloring + * *: export the `colors` array + * npmignore: don't publish the `dist` dir + * Makefile: refactor to use browserify + * package: add "browserify" as a dev dependency + * Readme: add Web Inspector Colors section + * node: reset terminal color for the debug content + * node: map "%o" to `util.inspect()` + * browser: map "%j" to `JSON.stringify()` + * debug: add custom "formatters" + * debug: use "ms" module for humanizing the diff + * Readme: add "bash" syntax highlighting + * browser: add Firebug color support + * browser: add colors for WebKit browsers + * node: apply log to `console` + * rewrite: abstract common logic for Node & browsers + * add .jshintrc file + +0.8.1 / 2014-04-14 +================== + + * package: re-add the "component" section + +0.8.0 / 2014-03-30 +================== + + * add `enable()` method for nodejs. Closes #27 + * change from stderr to stdout + * remove unnecessary index.js file + +0.7.4 / 2013-11-13 +================== + + * remove "browserify" key from package.json (fixes something in browserify) + +0.7.3 / 2013-10-30 +================== + + * fix: catch localStorage security error when cookies are blocked (Chrome) + * add debug(err) support. Closes #46 + * add .browser prop to package.json. Closes #42 + +0.7.2 / 2013-02-06 +================== + + * fix package.json + * fix: Mobile Safari (private mode) is broken with debug + * fix: Use unicode to send escape character to shell instead of octal to work with strict mode javascript + +0.7.1 / 2013-02-05 +================== + + * add repository URL to package.json + * add DEBUG_COLORED to force colored output + * add browserify support + * fix component. Closes #24 + +0.7.0 / 2012-05-04 +================== + + * Added .component to package.json + * Added debug.component.js build + +0.6.0 / 2012-03-16 +================== + + * Added support for "-" prefix in DEBUG [Vinay Pulim] + * Added `.enabled` flag to the node version [TooTallNate] + +0.5.0 / 2012-02-02 +================== + + * Added: humanize diffs. Closes #8 + * Added `debug.disable()` to the CS variant + * Removed padding. Closes #10 + * Fixed: persist client-side variant again. Closes #9 + +0.4.0 / 2012-02-01 +================== + + * Added browser variant support for older browsers [TooTallNate] + * Added `debug.enable('project:*')` to browser variant [TooTallNate] + * Added padding to diff (moved it to the right) + +0.3.0 / 2012-01-26 +================== + + * Added millisecond diff when isatty, otherwise UTC string + +0.2.0 / 2012-01-22 +================== + + * Added wildcard support + +0.1.0 / 2011-12-02 +================== + + * Added: remove colors unless stderr isatty [TooTallNate] + +0.0.1 / 2010-01-03 +================== + + * Initial release diff --git a/socket/node_modules/babel-traverse/node_modules/debug/LICENSE b/socket/node_modules/babel-traverse/node_modules/debug/LICENSE new file mode 100644 index 0000000..658c933 --- /dev/null +++ b/socket/node_modules/babel-traverse/node_modules/debug/LICENSE @@ -0,0 +1,19 @@ +(The MIT License) + +Copyright (c) 2014 TJ Holowaychuk + +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: + +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. + +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. + diff --git a/socket/node_modules/babel-traverse/node_modules/debug/Makefile b/socket/node_modules/babel-traverse/node_modules/debug/Makefile new file mode 100644 index 0000000..584da8b --- /dev/null +++ b/socket/node_modules/babel-traverse/node_modules/debug/Makefile @@ -0,0 +1,50 @@ +# get Makefile directory name: http://stackoverflow.com/a/5982798/376773 +THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) +THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd) + +# BIN directory +BIN := $(THIS_DIR)/node_modules/.bin + +# Path +PATH := node_modules/.bin:$(PATH) +SHELL := /bin/bash + +# applications +NODE ?= $(shell which node) +YARN ?= $(shell which yarn) +PKG ?= $(if $(YARN),$(YARN),$(NODE) $(shell which npm)) +BROWSERIFY ?= $(NODE) $(BIN)/browserify + +.FORCE: + +install: node_modules + +node_modules: package.json + @NODE_ENV= $(PKG) install + @touch node_modules + +lint: .FORCE + eslint browser.js debug.js index.js node.js + +test-node: .FORCE + istanbul cover node_modules/mocha/bin/_mocha -- test/**.js + +test-browser: .FORCE + mkdir -p dist + + @$(BROWSERIFY) \ + --standalone debug \ + . > dist/debug.js + + karma start --single-run + rimraf dist + +test: .FORCE + concurrently \ + "make test-node" \ + "make test-browser" + +coveralls: + cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js + +.PHONY: all install clean distclean diff --git a/socket/node_modules/babel-traverse/node_modules/debug/README.md b/socket/node_modules/babel-traverse/node_modules/debug/README.md new file mode 100644 index 0000000..f67be6b --- /dev/null +++ b/socket/node_modules/babel-traverse/node_modules/debug/README.md @@ -0,0 +1,312 @@ +# debug +[![Build Status](https://travis-ci.org/visionmedia/debug.svg?branch=master)](https://travis-ci.org/visionmedia/debug) [![Coverage Status](https://coveralls.io/repos/github/visionmedia/debug/badge.svg?branch=master)](https://coveralls.io/github/visionmedia/debug?branch=master) [![Slack](https://visionmedia-community-slackin.now.sh/badge.svg)](https://visionmedia-community-slackin.now.sh/) [![OpenCollective](https://opencollective.com/debug/backers/badge.svg)](#backers) +[![OpenCollective](https://opencollective.com/debug/sponsors/badge.svg)](#sponsors) + + + +A tiny node.js debugging utility modelled after node core's debugging technique. + +**Discussion around the V3 API is under way [here](https://github.com/visionmedia/debug/issues/370)** + +## Installation + +```bash +$ npm install debug +``` + +## Usage + +`debug` exposes a function; simply pass this function the name of your module, and it will return a decorated version of `console.error` for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole. + +Example _app.js_: + +```js +var debug = require('debug')('http') + , http = require('http') + , name = 'My App'; + +// fake app + +debug('booting %s', name); + +http.createServer(function(req, res){ + debug(req.method + ' ' + req.url); + res.end('hello\n'); +}).listen(3000, function(){ + debug('listening'); +}); + +// fake worker of some kind + +require('./worker'); +``` + +Example _worker.js_: + +```js +var debug = require('debug')('worker'); + +setInterval(function(){ + debug('doing some work'); +}, 1000); +``` + + The __DEBUG__ environment variable is then used to enable these based on space or comma-delimited names. Here are some examples: + + ![debug http and worker](http://f.cl.ly/items/18471z1H402O24072r1J/Screenshot.png) + + ![debug worker](http://f.cl.ly/items/1X413v1a3M0d3C2c1E0i/Screenshot.png) + +#### Windows note + + On Windows the environment variable is set using the `set` command. + + ```cmd + set DEBUG=*,-not_this + ``` + + Note that PowerShell uses different syntax to set environment variables. + + ```cmd + $env:DEBUG = "*,-not_this" + ``` + +Then, run the program to be debugged as usual. + +## Millisecond diff + + When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls. + + ![](http://f.cl.ly/items/2i3h1d3t121M2Z1A3Q0N/Screenshot.png) + + When stdout is not a TTY, `Date#toUTCString()` is used, making it more useful for logging the debug information as shown below: + + ![](http://f.cl.ly/items/112H3i0e0o0P0a2Q2r11/Screenshot.png) + +## Conventions + + If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser". + +## Wildcards + + The `*` character may be used as a wildcard. Suppose for example your library has debuggers named "connect:bodyParser", "connect:compress", "connect:session", instead of listing all three with `DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do `DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`. + + You can also exclude specific debuggers by prefixing them with a "-" character. For example, `DEBUG=*,-connect:*` would include all debuggers except those starting with "connect:". + +## Environment Variables + + When running through Node.js, you can set a few environment variables that will + change the behavior of the debug logging: + +| Name | Purpose | +|-----------|-------------------------------------------------| +| `DEBUG` | Enables/disables specific debugging namespaces. | +| `DEBUG_COLORS`| Whether or not to use colors in the debug output. | +| `DEBUG_DEPTH` | Object inspection depth. | +| `DEBUG_SHOW_HIDDEN` | Shows hidden properties on inspected objects. | + + + __Note:__ The environment variables beginning with `DEBUG_` end up being + converted into an Options object that gets used with `%o`/`%O` formatters. + See the Node.js documentation for + [`util.inspect()`](https://nodejs.org/api/util.html#util_util_inspect_object_options) + for the complete list. + +## Formatters + + + Debug uses [printf-style](https://wikipedia.org/wiki/Printf_format_string) formatting. Below are the officially supported formatters: + +| Formatter | Representation | +|-----------|----------------| +| `%O` | Pretty-print an Object on multiple lines. | +| `%o` | Pretty-print an Object all on a single line. | +| `%s` | String. | +| `%d` | Number (both integer and float). | +| `%j` | JSON. Replaced with the string '[Circular]' if the argument contains circular references. | +| `%%` | Single percent sign ('%'). This does not consume an argument. | + +### Custom formatters + + You can add custom formatters by extending the `debug.formatters` object. For example, if you wanted to add support for rendering a Buffer as hex with `%h`, you could do something like: + +```js +const createDebug = require('debug') +createDebug.formatters.h = (v) => { + return v.toString('hex') +} + +// …elsewhere +const debug = createDebug('foo') +debug('this is hex: %h', new Buffer('hello world')) +// foo this is hex: 68656c6c6f20776f726c6421 +0ms +``` + +## Browser support + You can build a browser-ready script using [browserify](https://github.com/substack/node-browserify), + or just use the [browserify-as-a-service](https://wzrd.in/) [build](https://wzrd.in/standalone/debug@latest), + if you don't want to build it yourself. + + Debug's enable state is currently persisted by `localStorage`. + Consider the situation shown below where you have `worker:a` and `worker:b`, + and wish to debug both. You can enable this using `localStorage.debug`: + +```js +localStorage.debug = 'worker:*' +``` + +And then refresh the page. + +```js +a = debug('worker:a'); +b = debug('worker:b'); + +setInterval(function(){ + a('doing some work'); +}, 1000); + +setInterval(function(){ + b('doing some work'); +}, 1200); +``` + +#### Web Inspector Colors + + Colors are also enabled on "Web Inspectors" that understand the `%c` formatting + option. These are WebKit web inspectors, Firefox ([since version + 31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/)) + and the Firebug plugin for Firefox (any version). + + Colored output looks something like: + + ![](https://cloud.githubusercontent.com/assets/71256/3139768/b98c5fd8-e8ef-11e3-862a-f7253b6f47c6.png) + + +## Output streams + + By default `debug` will log to stderr, however this can be configured per-namespace by overriding the `log` method: + +Example _stdout.js_: + +```js +var debug = require('debug'); +var error = debug('app:error'); + +// by default stderr is used +error('goes to stderr!'); + +var log = debug('app:log'); +// set this namespace to log via console.log +log.log = console.log.bind(console); // don't forget to bind to console! +log('goes to stdout'); +error('still goes to stderr!'); + +// set all output to go via console.info +// overrides all per-namespace log settings +debug.log = console.info.bind(console); +error('now goes to stdout via console.info'); +log('still goes to stdout, but via console.info now'); +``` + + +## Authors + + - TJ Holowaychuk + - Nathan Rajlich + - Andrew Rhyne + +## Backers + +Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/debug#backer)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +## Sponsors + +Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/debug#sponsor)] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +## License + +(The MIT License) + +Copyright (c) 2014-2016 TJ Holowaychuk <tj@vision-media.ca> + +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: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +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. diff --git a/socket/node_modules/babel-traverse/node_modules/debug/component.json b/socket/node_modules/babel-traverse/node_modules/debug/component.json new file mode 100644 index 0000000..9de2641 --- /dev/null +++ b/socket/node_modules/babel-traverse/node_modules/debug/component.json @@ -0,0 +1,19 @@ +{ + "name": "debug", + "repo": "visionmedia/debug", + "description": "small debugging utility", + "version": "2.6.9", + "keywords": [ + "debug", + "log", + "debugger" + ], + "main": "src/browser.js", + "scripts": [ + "src/browser.js", + "src/debug.js" + ], + "dependencies": { + "rauchg/ms.js": "0.7.1" + } +} diff --git a/socket/node_modules/babel-traverse/node_modules/debug/karma.conf.js b/socket/node_modules/babel-traverse/node_modules/debug/karma.conf.js new file mode 100644 index 0000000..103a82d --- /dev/null +++ b/socket/node_modules/babel-traverse/node_modules/debug/karma.conf.js @@ -0,0 +1,70 @@ +// Karma configuration +// Generated on Fri Dec 16 2016 13:09:51 GMT+0000 (UTC) + +module.exports = function(config) { + config.set({ + + // base path that will be used to resolve all patterns (eg. files, exclude) + basePath: '', + + + // frameworks to use + // available frameworks: https://npmjs.org/browse/keyword/karma-adapter + frameworks: ['mocha', 'chai', 'sinon'], + + + // list of files / patterns to load in the browser + files: [ + 'dist/debug.js', + 'test/*spec.js' + ], + + + // list of files to exclude + exclude: [ + 'src/node.js' + ], + + + // preprocess matching files before serving them to the browser + // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor + preprocessors: { + }, + + // test results reporter to use + // possible values: 'dots', 'progress' + // available reporters: https://npmjs.org/browse/keyword/karma-reporter + reporters: ['progress'], + + + // web server port + port: 9876, + + + // enable / disable colors in the output (reporters and logs) + colors: true, + + + // level of logging + // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG + logLevel: config.LOG_INFO, + + + // enable / disable watching file and executing tests whenever any file changes + autoWatch: true, + + + // start these browsers + // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher + browsers: ['PhantomJS'], + + + // Continuous Integration mode + // if true, Karma captures browsers, runs the tests and exits + singleRun: false, + + // Concurrency level + // how many browser should be started simultaneous + concurrency: Infinity + }) +} diff --git a/socket/node_modules/babel-traverse/node_modules/debug/node.js b/socket/node_modules/babel-traverse/node_modules/debug/node.js new file mode 100644 index 0000000..7fc36fe --- /dev/null +++ b/socket/node_modules/babel-traverse/node_modules/debug/node.js @@ -0,0 +1 @@ +module.exports = require('./src/node'); diff --git a/socket/node_modules/babel-traverse/node_modules/debug/package.json b/socket/node_modules/babel-traverse/node_modules/debug/package.json new file mode 100644 index 0000000..20e9a07 --- /dev/null +++ b/socket/node_modules/babel-traverse/node_modules/debug/package.json @@ -0,0 +1,88 @@ +{ + "_from": "debug@^2.6.8", + "_id": "debug@2.6.9", + "_inBundle": false, + "_integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "_location": "/babel-traverse/debug", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "debug@^2.6.8", + "name": "debug", + "escapedName": "debug", + "rawSpec": "^2.6.8", + "saveSpec": null, + "fetchSpec": "^2.6.8" + }, + "_requiredBy": [ + "/babel-traverse" + ], + "_resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "_shasum": "5d128515df134ff327e90a4c93f4e077a536341f", + "_spec": "debug@^2.6.8", + "_where": "/var/www/htdocs/coze/socket/node_modules/babel-traverse", + "author": { + "name": "TJ Holowaychuk", + "email": "tj@vision-media.ca" + }, + "browser": "./src/browser.js", + "bugs": { + "url": "https://github.com/visionmedia/debug/issues" + }, + "bundleDependencies": false, + "component": { + "scripts": { + "debug/index.js": "browser.js", + "debug/debug.js": "debug.js" + } + }, + "contributors": [ + { + "name": "Nathan Rajlich", + "email": "nathan@tootallnate.net", + "url": "http://n8.io" + }, + { + "name": "Andrew Rhyne", + "email": "rhyneandrew@gmail.com" + } + ], + "dependencies": { + "ms": "2.0.0" + }, + "deprecated": false, + "description": "small debugging utility", + "devDependencies": { + "browserify": "9.0.3", + "chai": "^3.5.0", + "concurrently": "^3.1.0", + "coveralls": "^2.11.15", + "eslint": "^3.12.1", + "istanbul": "^0.4.5", + "karma": "^1.3.0", + "karma-chai": "^0.1.0", + "karma-mocha": "^1.3.0", + "karma-phantomjs-launcher": "^1.0.2", + "karma-sinon": "^1.0.5", + "mocha": "^3.2.0", + "mocha-lcov-reporter": "^1.2.0", + "rimraf": "^2.5.4", + "sinon": "^1.17.6", + "sinon-chai": "^2.8.0" + }, + "homepage": "https://github.com/visionmedia/debug#readme", + "keywords": [ + "debug", + "log", + "debugger" + ], + "license": "MIT", + "main": "./src/index.js", + "name": "debug", + "repository": { + "type": "git", + "url": "git://github.com/visionmedia/debug.git" + }, + "version": "2.6.9" +} diff --git a/socket/node_modules/babel-traverse/node_modules/debug/src/browser.js b/socket/node_modules/babel-traverse/node_modules/debug/src/browser.js new file mode 100644 index 0000000..7106924 --- /dev/null +++ b/socket/node_modules/babel-traverse/node_modules/debug/src/browser.js @@ -0,0 +1,185 @@ +/** + * This is the web browser implementation of `debug()`. + * + * Expose `debug()` as the module. + */ + +exports = module.exports = require('./debug'); +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.storage = 'undefined' != typeof chrome + && 'undefined' != typeof chrome.storage + ? chrome.storage.local + : localstorage(); + +/** + * Colors. + */ + +exports.colors = [ + 'lightseagreen', + 'forestgreen', + 'goldenrod', + 'dodgerblue', + 'darkorchid', + 'crimson' +]; + +/** + * Currently only WebKit-based Web Inspectors, Firefox >= v31, + * and the Firebug extension (any Firefox version) are known + * to support "%c" CSS customizations. + * + * TODO: add a `localStorage` variable to explicitly enable/disable colors + */ + +function useColors() { + // NB: In an Electron preload script, document will be defined but not fully + // initialized. Since we know we're in Chrome, we'll just detect this case + // explicitly + if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') { + return true; + } + + // is webkit? http://stackoverflow.com/a/16459606/376773 + // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 + return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || + // is firebug? http://stackoverflow.com/a/398120/376773 + (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || + // is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) || + // double check webkit in userAgent just in case we are in a worker + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); +} + +/** + * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + */ + +exports.formatters.j = function(v) { + try { + return JSON.stringify(v); + } catch (err) { + return '[UnexpectedJSONParseError]: ' + err.message; + } +}; + + +/** + * Colorize log arguments if enabled. + * + * @api public + */ + +function formatArgs(args) { + var useColors = this.useColors; + + args[0] = (useColors ? '%c' : '') + + this.namespace + + (useColors ? ' %c' : ' ') + + args[0] + + (useColors ? '%c ' : ' ') + + '+' + exports.humanize(this.diff); + + if (!useColors) return; + + var c = 'color: ' + this.color; + args.splice(1, 0, c, 'color: inherit') + + // the final "%c" is somewhat tricky, because there could be other + // arguments passed either before or after the %c, so we need to + // figure out the correct index to insert the CSS into + var index = 0; + var lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, function(match) { + if ('%%' === match) return; + index++; + if ('%c' === match) { + // we only are interested in the *last* %c + // (the user may have provided their own) + lastC = index; + } + }); + + args.splice(lastC, 0, c); +} + +/** + * Invokes `console.log()` when available. + * No-op when `console.log` is not a "function". + * + * @api public + */ + +function log() { + // this hackery is required for IE8/9, where + // the `console.log` function doesn't have 'apply' + return 'object' === typeof console + && console.log + && Function.prototype.apply.call(console.log, console, arguments); +} + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ + +function save(namespaces) { + try { + if (null == namespaces) { + exports.storage.removeItem('debug'); + } else { + exports.storage.debug = namespaces; + } + } catch(e) {} +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ + +function load() { + var r; + try { + r = exports.storage.debug; + } catch(e) {} + + // If debug isn't set in LS, and we're in Electron, try to load $DEBUG + if (!r && typeof process !== 'undefined' && 'env' in process) { + r = process.env.DEBUG; + } + + return r; +} + +/** + * Enable namespaces listed in `localStorage.debug` initially. + */ + +exports.enable(load()); + +/** + * Localstorage attempts to return the localstorage. + * + * This is necessary because safari throws + * when a user disables cookies/localstorage + * and you attempt to access it. + * + * @return {LocalStorage} + * @api private + */ + +function localstorage() { + try { + return window.localStorage; + } catch (e) {} +} diff --git a/socket/node_modules/babel-traverse/node_modules/debug/src/debug.js b/socket/node_modules/babel-traverse/node_modules/debug/src/debug.js new file mode 100644 index 0000000..6a5e3fc --- /dev/null +++ b/socket/node_modules/babel-traverse/node_modules/debug/src/debug.js @@ -0,0 +1,202 @@ + +/** + * This is the common logic for both the Node.js and web browser + * implementations of `debug()`. + * + * Expose `debug()` as the module. + */ + +exports = module.exports = createDebug.debug = createDebug['default'] = createDebug; +exports.coerce = coerce; +exports.disable = disable; +exports.enable = enable; +exports.enabled = enabled; +exports.humanize = require('ms'); + +/** + * The currently active debug mode names, and names to skip. + */ + +exports.names = []; +exports.skips = []; + +/** + * Map of special "%n" handling functions, for the debug "format" argument. + * + * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". + */ + +exports.formatters = {}; + +/** + * Previous log timestamp. + */ + +var prevTime; + +/** + * Select a color. + * @param {String} namespace + * @return {Number} + * @api private + */ + +function selectColor(namespace) { + var hash = 0, i; + + for (i in namespace) { + hash = ((hash << 5) - hash) + namespace.charCodeAt(i); + hash |= 0; // Convert to 32bit integer + } + + return exports.colors[Math.abs(hash) % exports.colors.length]; +} + +/** + * Create a debugger with the given `namespace`. + * + * @param {String} namespace + * @return {Function} + * @api public + */ + +function createDebug(namespace) { + + function debug() { + // disabled? + if (!debug.enabled) return; + + var self = debug; + + // set `diff` timestamp + var curr = +new Date(); + var ms = curr - (prevTime || curr); + self.diff = ms; + self.prev = prevTime; + self.curr = curr; + prevTime = curr; + + // turn the `arguments` into a proper Array + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + + args[0] = exports.coerce(args[0]); + + if ('string' !== typeof args[0]) { + // anything else let's inspect with %O + args.unshift('%O'); + } + + // apply any `formatters` transformations + var index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) { + // if we encounter an escaped % then don't increase the array index + if (match === '%%') return match; + index++; + var formatter = exports.formatters[format]; + if ('function' === typeof formatter) { + var val = args[index]; + match = formatter.call(self, val); + + // now we need to remove `args[index]` since it's inlined in the `format` + args.splice(index, 1); + index--; + } + return match; + }); + + // apply env-specific formatting (colors, etc.) + exports.formatArgs.call(self, args); + + var logFn = debug.log || exports.log || console.log.bind(console); + logFn.apply(self, args); + } + + debug.namespace = namespace; + debug.enabled = exports.enabled(namespace); + debug.useColors = exports.useColors(); + debug.color = selectColor(namespace); + + // env-specific initialization logic for debug instances + if ('function' === typeof exports.init) { + exports.init(debug); + } + + return debug; +} + +/** + * Enables a debug mode by namespaces. This can include modes + * separated by a colon and wildcards. + * + * @param {String} namespaces + * @api public + */ + +function enable(namespaces) { + exports.save(namespaces); + + exports.names = []; + exports.skips = []; + + var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); + var len = split.length; + + for (var i = 0; i < len; i++) { + if (!split[i]) continue; // ignore empty strings + namespaces = split[i].replace(/\*/g, '.*?'); + if (namespaces[0] === '-') { + exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); + } else { + exports.names.push(new RegExp('^' + namespaces + '$')); + } + } +} + +/** + * Disable debug output. + * + * @api public + */ + +function disable() { + exports.enable(''); +} + +/** + * Returns true if the given mode name is enabled, false otherwise. + * + * @param {String} name + * @return {Boolean} + * @api public + */ + +function enabled(name) { + var i, len; + for (i = 0, len = exports.skips.length; i < len; i++) { + if (exports.skips[i].test(name)) { + return false; + } + } + for (i = 0, len = exports.names.length; i < len; i++) { + if (exports.names[i].test(name)) { + return true; + } + } + return false; +} + +/** + * Coerce `val`. + * + * @param {Mixed} val + * @return {Mixed} + * @api private + */ + +function coerce(val) { + if (val instanceof Error) return val.stack || val.message; + return val; +} diff --git a/socket/node_modules/babel-traverse/node_modules/debug/src/index.js b/socket/node_modules/babel-traverse/node_modules/debug/src/index.js new file mode 100644 index 0000000..e12cf4d --- /dev/null +++ b/socket/node_modules/babel-traverse/node_modules/debug/src/index.js @@ -0,0 +1,10 @@ +/** + * Detect Electron renderer process, which is node, but we should + * treat as a browser. + */ + +if (typeof process !== 'undefined' && process.type === 'renderer') { + module.exports = require('./browser.js'); +} else { + module.exports = require('./node.js'); +} diff --git a/socket/node_modules/babel-traverse/node_modules/debug/src/inspector-log.js b/socket/node_modules/babel-traverse/node_modules/debug/src/inspector-log.js new file mode 100644 index 0000000..60ea6c0 --- /dev/null +++ b/socket/node_modules/babel-traverse/node_modules/debug/src/inspector-log.js @@ -0,0 +1,15 @@ +module.exports = inspectorLog; + +// black hole +const nullStream = new (require('stream').Writable)(); +nullStream._write = () => {}; + +/** + * Outputs a `console.log()` to the Node.js Inspector console *only*. + */ +function inspectorLog() { + const stdout = console._stdout; + console._stdout = nullStream; + console.log.apply(console, arguments); + console._stdout = stdout; +} diff --git a/socket/node_modules/babel-traverse/node_modules/debug/src/node.js b/socket/node_modules/babel-traverse/node_modules/debug/src/node.js new file mode 100644 index 0000000..b15109c --- /dev/null +++ b/socket/node_modules/babel-traverse/node_modules/debug/src/node.js @@ -0,0 +1,248 @@ +/** + * Module dependencies. + */ + +var tty = require('tty'); +var util = require('util'); + +/** + * This is the Node.js implementation of `debug()`. + * + * Expose `debug()` as the module. + */ + +exports = module.exports = require('./debug'); +exports.init = init; +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; + +/** + * Colors. + */ + +exports.colors = [6, 2, 3, 4, 5, 1]; + +/** + * Build up the default `inspectOpts` object from the environment variables. + * + * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js + */ + +exports.inspectOpts = Object.keys(process.env).filter(function (key) { + return /^debug_/i.test(key); +}).reduce(function (obj, key) { + // camel-case + var prop = key + .substring(6) + .toLowerCase() + .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() }); + + // coerce string value into JS value + var val = process.env[key]; + if (/^(yes|on|true|enabled)$/i.test(val)) val = true; + else if (/^(no|off|false|disabled)$/i.test(val)) val = false; + else if (val === 'null') val = null; + else val = Number(val); + + obj[prop] = val; + return obj; +}, {}); + +/** + * The file descriptor to write the `debug()` calls to. + * Set the `DEBUG_FD` env variable to override with another value. i.e.: + * + * $ DEBUG_FD=3 node script.js 3>debug.log + */ + +var fd = parseInt(process.env.DEBUG_FD, 10) || 2; + +if (1 !== fd && 2 !== fd) { + util.deprecate(function(){}, 'except for stderr(2) and stdout(1), any other usage of DEBUG_FD is deprecated. Override debug.log if you want to use a different log function (https://git.io/debug_fd)')() +} + +var stream = 1 === fd ? process.stdout : + 2 === fd ? process.stderr : + createWritableStdioStream(fd); + +/** + * Is stdout a TTY? Colored output is enabled when `true`. + */ + +function useColors() { + return 'colors' in exports.inspectOpts + ? Boolean(exports.inspectOpts.colors) + : tty.isatty(fd); +} + +/** + * Map %o to `util.inspect()`, all on a single line. + */ + +exports.formatters.o = function(v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts) + .split('\n').map(function(str) { + return str.trim() + }).join(' '); +}; + +/** + * Map %o to `util.inspect()`, allowing multiple lines if needed. + */ + +exports.formatters.O = function(v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts); +}; + +/** + * Adds ANSI color escape codes if enabled. + * + * @api public + */ + +function formatArgs(args) { + var name = this.namespace; + var useColors = this.useColors; + + if (useColors) { + var c = this.color; + var prefix = ' \u001b[3' + c + ';1m' + name + ' ' + '\u001b[0m'; + + args[0] = prefix + args[0].split('\n').join('\n' + prefix); + args.push('\u001b[3' + c + 'm+' + exports.humanize(this.diff) + '\u001b[0m'); + } else { + args[0] = new Date().toUTCString() + + ' ' + name + ' ' + args[0]; + } +} + +/** + * Invokes `util.format()` with the specified arguments and writes to `stream`. + */ + +function log() { + return stream.write(util.format.apply(util, arguments) + '\n'); +} + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ + +function save(namespaces) { + if (null == namespaces) { + // If you set a process.env field to null or undefined, it gets cast to the + // string 'null' or 'undefined'. Just delete instead. + delete process.env.DEBUG; + } else { + process.env.DEBUG = namespaces; + } +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ + +function load() { + return process.env.DEBUG; +} + +/** + * Copied from `node/src/node.js`. + * + * XXX: It's lame that node doesn't expose this API out-of-the-box. It also + * relies on the undocumented `tty_wrap.guessHandleType()` which is also lame. + */ + +function createWritableStdioStream (fd) { + var stream; + var tty_wrap = process.binding('tty_wrap'); + + // Note stream._type is used for test-module-load-list.js + + switch (tty_wrap.guessHandleType(fd)) { + case 'TTY': + stream = new tty.WriteStream(fd); + stream._type = 'tty'; + + // Hack to have stream not keep the event loop alive. + // See https://github.com/joyent/node/issues/1726 + if (stream._handle && stream._handle.unref) { + stream._handle.unref(); + } + break; + + case 'FILE': + var fs = require('fs'); + stream = new fs.SyncWriteStream(fd, { autoClose: false }); + stream._type = 'fs'; + break; + + case 'PIPE': + case 'TCP': + var net = require('net'); + stream = new net.Socket({ + fd: fd, + readable: false, + writable: true + }); + + // FIXME Should probably have an option in net.Socket to create a + // stream from an existing fd which is writable only. But for now + // we'll just add this hack and set the `readable` member to false. + // Test: ./node test/fixtures/echo.js < /etc/passwd + stream.readable = false; + stream.read = null; + stream._type = 'pipe'; + + // FIXME Hack to have stream not keep the event loop alive. + // See https://github.com/joyent/node/issues/1726 + if (stream._handle && stream._handle.unref) { + stream._handle.unref(); + } + break; + + default: + // Probably an error on in uv_guess_handle() + throw new Error('Implement me. Unknown stream file type!'); + } + + // For supporting legacy API we put the FD here. + stream.fd = fd; + + stream._isStdio = true; + + return stream; +} + +/** + * Init logic for `debug` instances. + * + * Create a new `inspectOpts` object in case `useColors` is set + * differently for a particular `debug` instance. + */ + +function init (debug) { + debug.inspectOpts = {}; + + var keys = Object.keys(exports.inspectOpts); + for (var i = 0; i < keys.length; i++) { + debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; + } +} + +/** + * Enable namespaces listed in `process.env.DEBUG` initially. + */ + +exports.enable(load()); diff --git a/socket/node_modules/babel-traverse/node_modules/ms/index.js b/socket/node_modules/babel-traverse/node_modules/ms/index.js new file mode 100644 index 0000000..6a522b1 --- /dev/null +++ b/socket/node_modules/babel-traverse/node_modules/ms/index.js @@ -0,0 +1,152 @@ +/** + * Helpers. + */ + +var s = 1000; +var m = s * 60; +var h = m * 60; +var d = h * 24; +var y = d * 365.25; + +/** + * Parse or format the given `val`. + * + * Options: + * + * - `long` verbose formatting [false] + * + * @param {String|Number} val + * @param {Object} [options] + * @throws {Error} throw an error if val is not a non-empty string or a number + * @return {String|Number} + * @api public + */ + +module.exports = function(val, options) { + options = options || {}; + var type = typeof val; + if (type === 'string' && val.length > 0) { + return parse(val); + } else if (type === 'number' && isNaN(val) === false) { + return options.long ? fmtLong(val) : fmtShort(val); + } + throw new Error( + 'val is not a non-empty string or a valid number. val=' + + JSON.stringify(val) + ); +}; + +/** + * Parse the given `str` and return milliseconds. + * + * @param {String} str + * @return {Number} + * @api private + */ + +function parse(str) { + str = String(str); + if (str.length > 100) { + return; + } + var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec( + str + ); + if (!match) { + return; + } + var n = parseFloat(match[1]); + var type = (match[2] || 'ms').toLowerCase(); + switch (type) { + case 'years': + case 'year': + case 'yrs': + case 'yr': + case 'y': + return n * y; + case 'days': + case 'day': + case 'd': + return n * d; + case 'hours': + case 'hour': + case 'hrs': + case 'hr': + case 'h': + return n * h; + case 'minutes': + case 'minute': + case 'mins': + case 'min': + case 'm': + return n * m; + case 'seconds': + case 'second': + case 'secs': + case 'sec': + case 's': + return n * s; + case 'milliseconds': + case 'millisecond': + case 'msecs': + case 'msec': + case 'ms': + return n; + default: + return undefined; + } +} + +/** + * Short format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtShort(ms) { + if (ms >= d) { + return Math.round(ms / d) + 'd'; + } + if (ms >= h) { + return Math.round(ms / h) + 'h'; + } + if (ms >= m) { + return Math.round(ms / m) + 'm'; + } + if (ms >= s) { + return Math.round(ms / s) + 's'; + } + return ms + 'ms'; +} + +/** + * Long format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtLong(ms) { + return plural(ms, d, 'day') || + plural(ms, h, 'hour') || + plural(ms, m, 'minute') || + plural(ms, s, 'second') || + ms + ' ms'; +} + +/** + * Pluralization helper. + */ + +function plural(ms, n, name) { + if (ms < n) { + return; + } + if (ms < n * 1.5) { + return Math.floor(ms / n) + ' ' + name; + } + return Math.ceil(ms / n) + ' ' + name + 's'; +} diff --git a/socket/node_modules/babel-traverse/node_modules/ms/license.md b/socket/node_modules/babel-traverse/node_modules/ms/license.md new file mode 100644 index 0000000..69b6125 --- /dev/null +++ b/socket/node_modules/babel-traverse/node_modules/ms/license.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Zeit, Inc. + +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: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +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. diff --git a/socket/node_modules/babel-traverse/node_modules/ms/package.json b/socket/node_modules/babel-traverse/node_modules/ms/package.json new file mode 100644 index 0000000..3a72955 --- /dev/null +++ b/socket/node_modules/babel-traverse/node_modules/ms/package.json @@ -0,0 +1,69 @@ +{ + "_from": "ms@2.0.0", + "_id": "ms@2.0.0", + "_inBundle": false, + "_integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "_location": "/babel-traverse/ms", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "ms@2.0.0", + "name": "ms", + "escapedName": "ms", + "rawSpec": "2.0.0", + "saveSpec": null, + "fetchSpec": "2.0.0" + }, + "_requiredBy": [ + "/babel-traverse/debug" + ], + "_resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "_shasum": "5608aeadfc00be6c2901df5f9861788de0d597c8", + "_spec": "ms@2.0.0", + "_where": "/var/www/htdocs/coze/socket/node_modules/babel-traverse/node_modules/debug", + "bugs": { + "url": "https://github.com/zeit/ms/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Tiny milisecond conversion utility", + "devDependencies": { + "eslint": "3.19.0", + "expect.js": "0.3.1", + "husky": "0.13.3", + "lint-staged": "3.4.1", + "mocha": "3.4.1" + }, + "eslintConfig": { + "extends": "eslint:recommended", + "env": { + "node": true, + "es6": true + } + }, + "files": [ + "index.js" + ], + "homepage": "https://github.com/zeit/ms#readme", + "license": "MIT", + "lint-staged": { + "*.js": [ + "npm run lint", + "prettier --single-quote --write", + "git add" + ] + }, + "main": "./index", + "name": "ms", + "repository": { + "type": "git", + "url": "git+https://github.com/zeit/ms.git" + }, + "scripts": { + "lint": "eslint lib/* bin/*", + "precommit": "lint-staged", + "test": "mocha tests.js" + }, + "version": "2.0.0" +} diff --git a/socket/node_modules/babel-traverse/node_modules/ms/readme.md b/socket/node_modules/babel-traverse/node_modules/ms/readme.md new file mode 100644 index 0000000..84a9974 --- /dev/null +++ b/socket/node_modules/babel-traverse/node_modules/ms/readme.md @@ -0,0 +1,51 @@ +# ms + +[![Build Status](https://travis-ci.org/zeit/ms.svg?branch=master)](https://travis-ci.org/zeit/ms) +[![Slack Channel](http://zeit-slackin.now.sh/badge.svg)](https://zeit.chat/) + +Use this package to easily convert various time formats to milliseconds. + +## Examples + +```js +ms('2 days') // 172800000 +ms('1d') // 86400000 +ms('10h') // 36000000 +ms('2.5 hrs') // 9000000 +ms('2h') // 7200000 +ms('1m') // 60000 +ms('5s') // 5000 +ms('1y') // 31557600000 +ms('100') // 100 +``` + +### Convert from milliseconds + +```js +ms(60000) // "1m" +ms(2 * 60000) // "2m" +ms(ms('10 hours')) // "10h" +``` + +### Time format written-out + +```js +ms(60000, { long: true }) // "1 minute" +ms(2 * 60000, { long: true }) // "2 minutes" +ms(ms('10 hours'), { long: true }) // "10 hours" +``` + +## Features + +- Works both in [node](https://nodejs.org) and in the browser. +- If a number is supplied to `ms`, a string with a unit is returned. +- If a string that contains the number is supplied, it returns it as a number (e.g.: it returns `100` for `'100'`). +- If you pass a string with a number and a valid unit, the number of equivalent ms is returned. + +## Caught a bug? + +1. [Fork](https://help.github.com/articles/fork-a-repo/) this repository to your own GitHub account and then [clone](https://help.github.com/articles/cloning-a-repository/) it to your local device +2. Link the package to the global module directory: `npm link` +3. Within the module you want to test your local development instance of ms, just link it to the dependencies: `npm link ms`. Instead of the default one from npm, node will now use your clone of ms! + +As always, you can run the tests using: `npm test` diff --git a/socket/node_modules/babel-traverse/package-lock.json b/socket/node_modules/babel-traverse/package-lock.json new file mode 100644 index 0000000..092c397 --- /dev/null +++ b/socket/node_modules/babel-traverse/package-lock.json @@ -0,0 +1,57 @@ +{ + "name": "babel-traverse", + "version": "6.25.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" + }, + "debug": { + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "requires": { + "ms": "2.0.0" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" + }, + "invariant": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", + "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "requires": { + "loose-envify": "1.3.1" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + }, + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "requires": { + "js-tokens": "3.0.2" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } +} diff --git a/socket/node_modules/babel-traverse/package.json b/socket/node_modules/babel-traverse/package.json new file mode 100644 index 0000000..978058b --- /dev/null +++ b/socket/node_modules/babel-traverse/package.json @@ -0,0 +1,56 @@ +{ + "_from": "babel-traverse@^6.24.1", + "_id": "babel-traverse@6.26.0", + "_inBundle": false, + "_integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "_location": "/babel-traverse", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "babel-traverse@^6.24.1", + "name": "babel-traverse", + "escapedName": "babel-traverse", + "rawSpec": "^6.24.1", + "saveSpec": null, + "fetchSpec": "^6.24.1" + }, + "_requiredBy": [ + "/babel-helper-function-name", + "/babel-template" + ], + "_resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "_shasum": "46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee", + "_spec": "babel-traverse@^6.24.1", + "_where": "/var/www/htdocs/coze/socket/node_modules/babel-helper-function-name", + "author": { + "name": "Sebastian McKenzie", + "email": "sebmck@gmail.com" + }, + "bundleDependencies": false, + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + }, + "deprecated": false, + "description": "The Babel Traverse module maintains the overall tree state, and is responsible for replacing, removing, and adding nodes", + "devDependencies": { + "babel-generator": "^6.26.0" + }, + "homepage": "https://babeljs.io/", + "license": "MIT", + "main": "lib/index.js", + "name": "babel-traverse", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel/tree/master/packages/babel-traverse" + }, + "version": "6.26.0" +} diff --git a/socket/node_modules/babel-types/.npmignore b/socket/node_modules/babel-types/.npmignore new file mode 100644 index 0000000..47cdd2c --- /dev/null +++ b/socket/node_modules/babel-types/.npmignore @@ -0,0 +1,3 @@ +src +test +node_modules diff --git a/socket/node_modules/babel-types/README.md b/socket/node_modules/babel-types/README.md new file mode 100644 index 0000000..b0e3f1a --- /dev/null +++ b/socket/node_modules/babel-types/README.md @@ -0,0 +1,2029 @@ +# babel-types + +> This module contains methods for building ASTs manually and for checking the types of AST nodes. + +## Install + +```sh +npm install --save-dev babel-types +``` + +## API + + + +### anyTypeAnnotation +```javascript +t.anyTypeAnnotation() +``` + +See also `t.isAnyTypeAnnotation(node, opts)` and `t.assertAnyTypeAnnotation(node, opts)`. + +Aliases: `Flow`, `FlowBaseAnnotation` + + +--- + +### arrayExpression +```javascript +t.arrayExpression(elements) +``` + +See also `t.isArrayExpression(node, opts)` and `t.assertArrayExpression(node, opts)`. + +Aliases: `Expression` + + - `elements`: `Array` (default: `[]`) + +--- + +### arrayPattern +```javascript +t.arrayPattern(elements, typeAnnotation) +``` + +See also `t.isArrayPattern(node, opts)` and `t.assertArrayPattern(node, opts)`. + +Aliases: `Pattern`, `LVal` + + - `elements`: `Array` (required) + - `typeAnnotation` (required) + - `decorators`: `Array` (default: `null`) + +--- + +### arrayTypeAnnotation +```javascript +t.arrayTypeAnnotation(elementType) +``` + +See also `t.isArrayTypeAnnotation(node, opts)` and `t.assertArrayTypeAnnotation(node, opts)`. + +Aliases: `Flow` + + - `elementType` (required) + +--- + +### arrowFunctionExpression +```javascript +t.arrowFunctionExpression(params, body, async) +``` + +See also `t.isArrowFunctionExpression(node, opts)` and `t.assertArrowFunctionExpression(node, opts)`. + +Aliases: `Scopable`, `Function`, `BlockParent`, `FunctionParent`, `Expression`, `Pureish` + + - `params`: `Array` (required) + - `body`: `BlockStatement | Expression` (required) + - `async`: `boolean` (default: `false`) + - `returnType` (default: `null`) + - `typeParameters` (default: `null`) + +--- + +### assignmentExpression +```javascript +t.assignmentExpression(operator, left, right) +``` + +See also `t.isAssignmentExpression(node, opts)` and `t.assertAssignmentExpression(node, opts)`. + +Aliases: `Expression` + + - `operator`: `string` (required) + - `left`: `LVal` (required) + - `right`: `Expression` (required) + +--- + +### assignmentPattern +```javascript +t.assignmentPattern(left, right) +``` + +See also `t.isAssignmentPattern(node, opts)` and `t.assertAssignmentPattern(node, opts)`. + +Aliases: `Pattern`, `LVal` + + - `left`: `Identifier` (required) + - `right`: `Expression` (required) + - `decorators`: `Array` (default: `null`) + +--- + +### awaitExpression +```javascript +t.awaitExpression(argument) +``` + +See also `t.isAwaitExpression(node, opts)` and `t.assertAwaitExpression(node, opts)`. + +Aliases: `Expression`, `Terminatorless` + + - `argument`: `Expression` (required) + +--- + +### binaryExpression +```javascript +t.binaryExpression(operator, left, right) +``` + +See also `t.isBinaryExpression(node, opts)` and `t.assertBinaryExpression(node, opts)`. + +Aliases: `Binary`, `Expression` + + - `operator`: `'+' | '-' | '/' | '%' | '*' | '**' | '&' | '|' | '>>' | '>>>' | '<<' | '^' | '==' | '===' | '!=' | '!==' | 'in' | 'instanceof' | '>' | '<' | '>=' | '<='` (required) + - `left`: `Expression` (required) + - `right`: `Expression` (required) + +--- + +### bindExpression +```javascript +t.bindExpression(object, callee) +``` + +See also `t.isBindExpression(node, opts)` and `t.assertBindExpression(node, opts)`. + +Aliases: `Expression` + + - `object` (required) + - `callee` (required) + +--- + +### blockStatement +```javascript +t.blockStatement(body, directives) +``` + +See also `t.isBlockStatement(node, opts)` and `t.assertBlockStatement(node, opts)`. + +Aliases: `Scopable`, `BlockParent`, `Block`, `Statement` + + - `body`: `Array` (required) + - `directives`: `Array` (default: `[]`) + +--- + +### booleanLiteral +```javascript +t.booleanLiteral(value) +``` + +See also `t.isBooleanLiteral(node, opts)` and `t.assertBooleanLiteral(node, opts)`. + +Aliases: `Expression`, `Pureish`, `Literal`, `Immutable` + + - `value`: `boolean` (required) + +--- + +### booleanLiteralTypeAnnotation +```javascript +t.booleanLiteralTypeAnnotation() +``` + +See also `t.isBooleanLiteralTypeAnnotation(node, opts)` and `t.assertBooleanLiteralTypeAnnotation(node, opts)`. + +Aliases: `Flow` + + +--- + +### booleanTypeAnnotation +```javascript +t.booleanTypeAnnotation() +``` + +See also `t.isBooleanTypeAnnotation(node, opts)` and `t.assertBooleanTypeAnnotation(node, opts)`. + +Aliases: `Flow`, `FlowBaseAnnotation` + + +--- + +### breakStatement +```javascript +t.breakStatement(label) +``` + +See also `t.isBreakStatement(node, opts)` and `t.assertBreakStatement(node, opts)`. + +Aliases: `Statement`, `Terminatorless`, `CompletionStatement` + + - `label`: `Identifier` (default: `null`) + +--- + +### callExpression +```javascript +t.callExpression(callee, arguments) +``` + +See also `t.isCallExpression(node, opts)` and `t.assertCallExpression(node, opts)`. + +Aliases: `Expression` + + - `callee`: `Expression` (required) + - `arguments`: `Array` (required) + +--- + +### catchClause +```javascript +t.catchClause(param, body) +``` + +See also `t.isCatchClause(node, opts)` and `t.assertCatchClause(node, opts)`. + +Aliases: `Scopable` + + - `param`: `Identifier` (required) + - `body`: `BlockStatement` (required) + +--- + +### classBody +```javascript +t.classBody(body) +``` + +See also `t.isClassBody(node, opts)` and `t.assertClassBody(node, opts)`. + + - `body`: `Array` (required) + +--- + +### classDeclaration +```javascript +t.classDeclaration(id, superClass, body, decorators) +``` + +See also `t.isClassDeclaration(node, opts)` and `t.assertClassDeclaration(node, opts)`. + +Aliases: `Scopable`, `Class`, `Statement`, `Declaration`, `Pureish` + + - `id`: `Identifier` (required) + - `superClass`: `Expression` (default: `null`) + - `body`: `ClassBody` (required) + - `decorators`: `Array` (required) + - `implements` (default: `null`) + - `mixins` (default: `null`) + - `superTypeParameters` (default: `null`) + - `typeParameters` (default: `null`) + +--- + +### classExpression +```javascript +t.classExpression(id, superClass, body, decorators) +``` + +See also `t.isClassExpression(node, opts)` and `t.assertClassExpression(node, opts)`. + +Aliases: `Scopable`, `Class`, `Expression`, `Pureish` + + - `id`: `Identifier` (default: `null`) + - `superClass`: `Expression` (default: `null`) + - `body`: `ClassBody` (required) + - `decorators`: `Array` (required) + - `implements` (default: `null`) + - `mixins` (default: `null`) + - `superTypeParameters` (default: `null`) + - `typeParameters` (default: `null`) + +--- + +### classImplements +```javascript +t.classImplements(id, typeParameters) +``` + +See also `t.isClassImplements(node, opts)` and `t.assertClassImplements(node, opts)`. + +Aliases: `Flow` + + - `id` (required) + - `typeParameters` (required) + +--- + +### classMethod +```javascript +t.classMethod(kind, key, params, body, computed, static) +``` + +See also `t.isClassMethod(node, opts)` and `t.assertClassMethod(node, opts)`. + +Aliases: `Function`, `Scopable`, `BlockParent`, `FunctionParent`, `Method` + + - `kind`: `"get" | "set" | "method" | "constructor"` (default: `'method'`) + - `key`if computed then `Expression` else `Identifier | Literal` (required) + - `params`: `Array` (required) + - `body`: `BlockStatement` (required) + - `computed`: `boolean` (default: `false`) + - `static`: `boolean` (default: `false`) + - `async`: `boolean` (default: `false`) + - `decorators` (default: `null`) + - `generator`: `boolean` (default: `false`) + - `returnType` (default: `null`) + - `typeParameters` (default: `null`) + +--- + +### classProperty +```javascript +t.classProperty(key, value, typeAnnotation, decorators, computed) +``` + +See also `t.isClassProperty(node, opts)` and `t.assertClassProperty(node, opts)`. + +Aliases: `Property` + + - `key` (required) + - `value` (required) + - `typeAnnotation` (required) + - `decorators` (required) + - `computed`: `boolean` (default: `false`) + +--- + +### conditionalExpression +```javascript +t.conditionalExpression(test, consequent, alternate) +``` + +See also `t.isConditionalExpression(node, opts)` and `t.assertConditionalExpression(node, opts)`. + +Aliases: `Expression`, `Conditional` + + - `test`: `Expression` (required) + - `consequent`: `Expression` (required) + - `alternate`: `Expression` (required) + +--- + +### continueStatement +```javascript +t.continueStatement(label) +``` + +See also `t.isContinueStatement(node, opts)` and `t.assertContinueStatement(node, opts)`. + +Aliases: `Statement`, `Terminatorless`, `CompletionStatement` + + - `label`: `Identifier` (default: `null`) + +--- + +### debuggerStatement +```javascript +t.debuggerStatement() +``` + +See also `t.isDebuggerStatement(node, opts)` and `t.assertDebuggerStatement(node, opts)`. + +Aliases: `Statement` + + +--- + +### declareClass +```javascript +t.declareClass(id, typeParameters, extends, body) +``` + +See also `t.isDeclareClass(node, opts)` and `t.assertDeclareClass(node, opts)`. + +Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` + + - `id` (required) + - `typeParameters` (required) + - `extends` (required) + - `body` (required) + +--- + +### declareExportDeclaration +```javascript +t.declareExportDeclaration(declaration, specifiers, source) +``` + +See also `t.isDeclareExportDeclaration(node, opts)` and `t.assertDeclareExportDeclaration(node, opts)`. + +Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` + + - `declaration` (required) + - `specifiers` (required) + - `source` (required) + +--- + +### declareFunction +```javascript +t.declareFunction(id) +``` + +See also `t.isDeclareFunction(node, opts)` and `t.assertDeclareFunction(node, opts)`. + +Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` + + - `id` (required) + +--- + +### declareInterface +```javascript +t.declareInterface(id, typeParameters, extends, body) +``` + +See also `t.isDeclareInterface(node, opts)` and `t.assertDeclareInterface(node, opts)`. + +Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` + + - `id` (required) + - `typeParameters` (required) + - `extends` (required) + - `body` (required) + +--- + +### declareModule +```javascript +t.declareModule(id, body) +``` + +See also `t.isDeclareModule(node, opts)` and `t.assertDeclareModule(node, opts)`. + +Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` + + - `id` (required) + - `body` (required) + +--- + +### declareModuleExports +```javascript +t.declareModuleExports(typeAnnotation) +``` + +See also `t.isDeclareModuleExports(node, opts)` and `t.assertDeclareModuleExports(node, opts)`. + +Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` + + - `typeAnnotation` (required) + +--- + +### declareOpaqueType +```javascript +t.declareOpaqueType(id, typeParameters, supertype) +``` + +See also `t.isDeclareOpaqueType(node, opts)` and `t.assertDeclareOpaqueType(node, opts)`. + +Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` + + - `id` (required) + - `typeParameters` (required) + - `supertype` (required) + +--- + +### declareTypeAlias +```javascript +t.declareTypeAlias(id, typeParameters, right) +``` + +See also `t.isDeclareTypeAlias(node, opts)` and `t.assertDeclareTypeAlias(node, opts)`. + +Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` + + - `id` (required) + - `typeParameters` (required) + - `right` (required) + +--- + +### declareVariable +```javascript +t.declareVariable(id) +``` + +See also `t.isDeclareVariable(node, opts)` and `t.assertDeclareVariable(node, opts)`. + +Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` + + - `id` (required) + +--- + +### decorator +```javascript +t.decorator(expression) +``` + +See also `t.isDecorator(node, opts)` and `t.assertDecorator(node, opts)`. + + - `expression`: `Expression` (required) + +--- + +### directive +```javascript +t.directive(value) +``` + +See also `t.isDirective(node, opts)` and `t.assertDirective(node, opts)`. + + - `value`: `DirectiveLiteral` (required) + +--- + +### directiveLiteral +```javascript +t.directiveLiteral(value) +``` + +See also `t.isDirectiveLiteral(node, opts)` and `t.assertDirectiveLiteral(node, opts)`. + + - `value`: `string` (required) + +--- + +### doExpression +```javascript +t.doExpression(body) +``` + +See also `t.isDoExpression(node, opts)` and `t.assertDoExpression(node, opts)`. + +Aliases: `Expression` + + - `body`: `BlockStatement` (required) + +--- + +### doWhileStatement +```javascript +t.doWhileStatement(test, body) +``` + +See also `t.isDoWhileStatement(node, opts)` and `t.assertDoWhileStatement(node, opts)`. + +Aliases: `Statement`, `BlockParent`, `Loop`, `While`, `Scopable` + + - `test`: `Expression` (required) + - `body`: `Statement` (required) + +--- + +### emptyStatement +```javascript +t.emptyStatement() +``` + +See also `t.isEmptyStatement(node, opts)` and `t.assertEmptyStatement(node, opts)`. + +Aliases: `Statement` + + +--- + +### emptyTypeAnnotation +```javascript +t.emptyTypeAnnotation() +``` + +See also `t.isEmptyTypeAnnotation(node, opts)` and `t.assertEmptyTypeAnnotation(node, opts)`. + +Aliases: `Flow`, `FlowBaseAnnotation` + + +--- + +### existentialTypeParam +```javascript +t.existentialTypeParam() +``` + +See also `t.isExistentialTypeParam(node, opts)` and `t.assertExistentialTypeParam(node, opts)`. + +Aliases: `Flow` + + +--- + +### exportAllDeclaration +```javascript +t.exportAllDeclaration(source) +``` + +See also `t.isExportAllDeclaration(node, opts)` and `t.assertExportAllDeclaration(node, opts)`. + +Aliases: `Statement`, `Declaration`, `ModuleDeclaration`, `ExportDeclaration` + + - `source`: `StringLiteral` (required) + +--- + +### exportDefaultDeclaration +```javascript +t.exportDefaultDeclaration(declaration) +``` + +See also `t.isExportDefaultDeclaration(node, opts)` and `t.assertExportDefaultDeclaration(node, opts)`. + +Aliases: `Statement`, `Declaration`, `ModuleDeclaration`, `ExportDeclaration` + + - `declaration`: `FunctionDeclaration | ClassDeclaration | Expression` (required) + +--- + +### exportDefaultSpecifier +```javascript +t.exportDefaultSpecifier(exported) +``` + +See also `t.isExportDefaultSpecifier(node, opts)` and `t.assertExportDefaultSpecifier(node, opts)`. + +Aliases: `ModuleSpecifier` + + - `exported`: `Identifier` (required) + +--- + +### exportNamedDeclaration +```javascript +t.exportNamedDeclaration(declaration, specifiers, source) +``` + +See also `t.isExportNamedDeclaration(node, opts)` and `t.assertExportNamedDeclaration(node, opts)`. + +Aliases: `Statement`, `Declaration`, `ModuleDeclaration`, `ExportDeclaration` + + - `declaration`: `Declaration` (default: `null`) + - `specifiers`: `Array` (required) + - `source`: `StringLiteral` (default: `null`) + +--- + +### exportNamespaceSpecifier +```javascript +t.exportNamespaceSpecifier(exported) +``` + +See also `t.isExportNamespaceSpecifier(node, opts)` and `t.assertExportNamespaceSpecifier(node, opts)`. + +Aliases: `ModuleSpecifier` + + - `exported`: `Identifier` (required) + +--- + +### exportSpecifier +```javascript +t.exportSpecifier(local, exported) +``` + +See also `t.isExportSpecifier(node, opts)` and `t.assertExportSpecifier(node, opts)`. + +Aliases: `ModuleSpecifier` + + - `local`: `Identifier` (required) + - `exported`: `Identifier` (required) + +--- + +### expressionStatement +```javascript +t.expressionStatement(expression) +``` + +See also `t.isExpressionStatement(node, opts)` and `t.assertExpressionStatement(node, opts)`. + +Aliases: `Statement`, `ExpressionWrapper` + + - `expression`: `Expression` (required) + +--- + +### file +```javascript +t.file(program, comments, tokens) +``` + +See also `t.isFile(node, opts)` and `t.assertFile(node, opts)`. + + - `program`: `Program` (required) + - `comments` (required) + - `tokens` (required) + +--- + +### forAwaitStatement +```javascript +t.forAwaitStatement(left, right, body) +``` + +See also `t.isForAwaitStatement(node, opts)` and `t.assertForAwaitStatement(node, opts)`. + +Aliases: `Scopable`, `Statement`, `For`, `BlockParent`, `Loop`, `ForXStatement` + + - `left`: `VariableDeclaration | LVal` (required) + - `right`: `Expression` (required) + - `body`: `Statement` (required) + +--- + +### forInStatement +```javascript +t.forInStatement(left, right, body) +``` + +See also `t.isForInStatement(node, opts)` and `t.assertForInStatement(node, opts)`. + +Aliases: `Scopable`, `Statement`, `For`, `BlockParent`, `Loop`, `ForXStatement` + + - `left`: `VariableDeclaration | LVal` (required) + - `right`: `Expression` (required) + - `body`: `Statement` (required) + +--- + +### forOfStatement +```javascript +t.forOfStatement(left, right, body) +``` + +See also `t.isForOfStatement(node, opts)` and `t.assertForOfStatement(node, opts)`. + +Aliases: `Scopable`, `Statement`, `For`, `BlockParent`, `Loop`, `ForXStatement` + + - `left`: `VariableDeclaration | LVal` (required) + - `right`: `Expression` (required) + - `body`: `Statement` (required) + +--- + +### forStatement +```javascript +t.forStatement(init, test, update, body) +``` + +See also `t.isForStatement(node, opts)` and `t.assertForStatement(node, opts)`. + +Aliases: `Scopable`, `Statement`, `For`, `BlockParent`, `Loop` + + - `init`: `VariableDeclaration | Expression` (default: `null`) + - `test`: `Expression` (default: `null`) + - `update`: `Expression` (default: `null`) + - `body`: `Statement` (required) + +--- + +### functionDeclaration +```javascript +t.functionDeclaration(id, params, body, generator, async) +``` + +See also `t.isFunctionDeclaration(node, opts)` and `t.assertFunctionDeclaration(node, opts)`. + +Aliases: `Scopable`, `Function`, `BlockParent`, `FunctionParent`, `Statement`, `Pureish`, `Declaration` + + - `id`: `Identifier` (required) + - `params`: `Array` (required) + - `body`: `BlockStatement` (required) + - `generator`: `boolean` (default: `false`) + - `async`: `boolean` (default: `false`) + - `returnType` (default: `null`) + - `typeParameters` (default: `null`) + +--- + +### functionExpression +```javascript +t.functionExpression(id, params, body, generator, async) +``` + +See also `t.isFunctionExpression(node, opts)` and `t.assertFunctionExpression(node, opts)`. + +Aliases: `Scopable`, `Function`, `BlockParent`, `FunctionParent`, `Expression`, `Pureish` + + - `id`: `Identifier` (default: `null`) + - `params`: `Array` (required) + - `body`: `BlockStatement` (required) + - `generator`: `boolean` (default: `false`) + - `async`: `boolean` (default: `false`) + - `returnType` (default: `null`) + - `typeParameters` (default: `null`) + +--- + +### functionTypeAnnotation +```javascript +t.functionTypeAnnotation(typeParameters, params, rest, returnType) +``` + +See also `t.isFunctionTypeAnnotation(node, opts)` and `t.assertFunctionTypeAnnotation(node, opts)`. + +Aliases: `Flow` + + - `typeParameters` (required) + - `params` (required) + - `rest` (required) + - `returnType` (required) + +--- + +### functionTypeParam +```javascript +t.functionTypeParam(name, typeAnnotation) +``` + +See also `t.isFunctionTypeParam(node, opts)` and `t.assertFunctionTypeParam(node, opts)`. + +Aliases: `Flow` + + - `name` (required) + - `typeAnnotation` (required) + +--- + +### genericTypeAnnotation +```javascript +t.genericTypeAnnotation(id, typeParameters) +``` + +See also `t.isGenericTypeAnnotation(node, opts)` and `t.assertGenericTypeAnnotation(node, opts)`. + +Aliases: `Flow` + + - `id` (required) + - `typeParameters` (required) + +--- + +### identifier +```javascript +t.identifier(name) +``` + +See also `t.isIdentifier(node, opts)` and `t.assertIdentifier(node, opts)`. + +Aliases: `Expression`, `LVal` + + - `name``string` (required) + - `decorators`: `Array` (default: `null`) + - `typeAnnotation` (default: `null`) + +--- + +### ifStatement +```javascript +t.ifStatement(test, consequent, alternate) +``` + +See also `t.isIfStatement(node, opts)` and `t.assertIfStatement(node, opts)`. + +Aliases: `Statement`, `Conditional` + + - `test`: `Expression` (required) + - `consequent`: `Statement` (required) + - `alternate`: `Statement` (default: `null`) + +--- + +### import +```javascript +t.import() +``` + +See also `t.isImport(node, opts)` and `t.assertImport(node, opts)`. + +Aliases: `Expression` + + +--- + +### importDeclaration +```javascript +t.importDeclaration(specifiers, source) +``` + +See also `t.isImportDeclaration(node, opts)` and `t.assertImportDeclaration(node, opts)`. + +Aliases: `Statement`, `Declaration`, `ModuleDeclaration` + + - `specifiers`: `Array` (required) + - `source`: `StringLiteral` (required) + +--- + +### importDefaultSpecifier +```javascript +t.importDefaultSpecifier(local) +``` + +See also `t.isImportDefaultSpecifier(node, opts)` and `t.assertImportDefaultSpecifier(node, opts)`. + +Aliases: `ModuleSpecifier` + + - `local`: `Identifier` (required) + +--- + +### importNamespaceSpecifier +```javascript +t.importNamespaceSpecifier(local) +``` + +See also `t.isImportNamespaceSpecifier(node, opts)` and `t.assertImportNamespaceSpecifier(node, opts)`. + +Aliases: `ModuleSpecifier` + + - `local`: `Identifier` (required) + +--- + +### importSpecifier +```javascript +t.importSpecifier(local, imported) +``` + +See also `t.isImportSpecifier(node, opts)` and `t.assertImportSpecifier(node, opts)`. + +Aliases: `ModuleSpecifier` + + - `local`: `Identifier` (required) + - `imported`: `Identifier` (required) + - `importKind`: `null | 'type' | 'typeof'` (default: `null`) + +--- + +### interfaceDeclaration +```javascript +t.interfaceDeclaration(id, typeParameters, extends, body) +``` + +See also `t.isInterfaceDeclaration(node, opts)` and `t.assertInterfaceDeclaration(node, opts)`. + +Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` + + - `id` (required) + - `typeParameters` (required) + - `extends` (required) + - `body` (required) + +--- + +### interfaceExtends +```javascript +t.interfaceExtends(id, typeParameters) +``` + +See also `t.isInterfaceExtends(node, opts)` and `t.assertInterfaceExtends(node, opts)`. + +Aliases: `Flow` + + - `id` (required) + - `typeParameters` (required) + +--- + +### intersectionTypeAnnotation +```javascript +t.intersectionTypeAnnotation(types) +``` + +See also `t.isIntersectionTypeAnnotation(node, opts)` and `t.assertIntersectionTypeAnnotation(node, opts)`. + +Aliases: `Flow` + + - `types` (required) + +--- + +### jSXAttribute +```javascript +t.jSXAttribute(name, value) +``` + +See also `t.isJSXAttribute(node, opts)` and `t.assertJSXAttribute(node, opts)`. + +Aliases: `JSX`, `Immutable` + + - `name`: `JSXIdentifier | JSXNamespacedName` (required) + - `value`: `JSXElement | StringLiteral | JSXExpressionContainer` (default: `null`) + +--- + +### jSXClosingElement +```javascript +t.jSXClosingElement(name) +``` + +See also `t.isJSXClosingElement(node, opts)` and `t.assertJSXClosingElement(node, opts)`. + +Aliases: `JSX`, `Immutable` + + - `name`: `JSXIdentifier | JSXMemberExpression` (required) + +--- + +### jSXElement +```javascript +t.jSXElement(openingElement, closingElement, children, selfClosing) +``` + +See also `t.isJSXElement(node, opts)` and `t.assertJSXElement(node, opts)`. + +Aliases: `JSX`, `Immutable`, `Expression` + + - `openingElement`: `JSXOpeningElement` (required) + - `closingElement`: `JSXClosingElement` (default: `null`) + - `children`: `Array` (required) + - `selfClosing` (required) + +--- + +### jSXEmptyExpression +```javascript +t.jSXEmptyExpression() +``` + +See also `t.isJSXEmptyExpression(node, opts)` and `t.assertJSXEmptyExpression(node, opts)`. + +Aliases: `JSX`, `Expression` + + +--- + +### jSXExpressionContainer +```javascript +t.jSXExpressionContainer(expression) +``` + +See also `t.isJSXExpressionContainer(node, opts)` and `t.assertJSXExpressionContainer(node, opts)`. + +Aliases: `JSX`, `Immutable` + + - `expression`: `Expression` (required) + +--- + +### jSXIdentifier +```javascript +t.jSXIdentifier(name) +``` + +See also `t.isJSXIdentifier(node, opts)` and `t.assertJSXIdentifier(node, opts)`. + +Aliases: `JSX`, `Expression` + + - `name`: `string` (required) + +--- + +### jSXMemberExpression +```javascript +t.jSXMemberExpression(object, property) +``` + +See also `t.isJSXMemberExpression(node, opts)` and `t.assertJSXMemberExpression(node, opts)`. + +Aliases: `JSX`, `Expression` + + - `object`: `JSXMemberExpression | JSXIdentifier` (required) + - `property`: `JSXIdentifier` (required) + +--- + +### jSXNamespacedName +```javascript +t.jSXNamespacedName(namespace, name) +``` + +See also `t.isJSXNamespacedName(node, opts)` and `t.assertJSXNamespacedName(node, opts)`. + +Aliases: `JSX` + + - `namespace`: `JSXIdentifier` (required) + - `name`: `JSXIdentifier` (required) + +--- + +### jSXOpeningElement +```javascript +t.jSXOpeningElement(name, attributes, selfClosing) +``` + +See also `t.isJSXOpeningElement(node, opts)` and `t.assertJSXOpeningElement(node, opts)`. + +Aliases: `JSX`, `Immutable` + + - `name`: `JSXIdentifier | JSXMemberExpression` (required) + - `attributes`: `Array` (required) + - `selfClosing`: `boolean` (default: `false`) + +--- + +### jSXSpreadAttribute +```javascript +t.jSXSpreadAttribute(argument) +``` + +See also `t.isJSXSpreadAttribute(node, opts)` and `t.assertJSXSpreadAttribute(node, opts)`. + +Aliases: `JSX` + + - `argument`: `Expression` (required) + +--- + +### jSXSpreadChild +```javascript +t.jSXSpreadChild(expression) +``` + +See also `t.isJSXSpreadChild(node, opts)` and `t.assertJSXSpreadChild(node, opts)`. + +Aliases: `JSX`, `Immutable` + + - `expression`: `Expression` (required) + +--- + +### jSXText +```javascript +t.jSXText(value) +``` + +See also `t.isJSXText(node, opts)` and `t.assertJSXText(node, opts)`. + +Aliases: `JSX`, `Immutable` + + - `value`: `string` (required) + +--- + +### labeledStatement +```javascript +t.labeledStatement(label, body) +``` + +See also `t.isLabeledStatement(node, opts)` and `t.assertLabeledStatement(node, opts)`. + +Aliases: `Statement` + + - `label`: `Identifier` (required) + - `body`: `Statement` (required) + +--- + +### logicalExpression +```javascript +t.logicalExpression(operator, left, right) +``` + +See also `t.isLogicalExpression(node, opts)` and `t.assertLogicalExpression(node, opts)`. + +Aliases: `Binary`, `Expression` + + - `operator`: `'||' | '&&'` (required) + - `left`: `Expression` (required) + - `right`: `Expression` (required) + +--- + +### memberExpression +```javascript +t.memberExpression(object, property, computed) +``` + +See also `t.isMemberExpression(node, opts)` and `t.assertMemberExpression(node, opts)`. + +Aliases: `Expression`, `LVal` + + - `object`: `Expression` (required) + - `property`if computed then `Expression` else `Identifier` (required) + - `computed`: `boolean` (default: `false`) + +--- + +### metaProperty +```javascript +t.metaProperty(meta, property) +``` + +See also `t.isMetaProperty(node, opts)` and `t.assertMetaProperty(node, opts)`. + +Aliases: `Expression` + + - `meta`: `string` (required) + - `property`: `string` (required) + +--- + +### mixedTypeAnnotation +```javascript +t.mixedTypeAnnotation() +``` + +See also `t.isMixedTypeAnnotation(node, opts)` and `t.assertMixedTypeAnnotation(node, opts)`. + +Aliases: `Flow`, `FlowBaseAnnotation` + + +--- + +### newExpression +```javascript +t.newExpression(callee, arguments) +``` + +See also `t.isNewExpression(node, opts)` and `t.assertNewExpression(node, opts)`. + +Aliases: `Expression` + + - `callee`: `Expression` (required) + - `arguments`: `Array` (required) + +--- + +### noop +```javascript +t.noop() +``` + +See also `t.isNoop(node, opts)` and `t.assertNoop(node, opts)`. + + +--- + +### nullLiteral +```javascript +t.nullLiteral() +``` + +See also `t.isNullLiteral(node, opts)` and `t.assertNullLiteral(node, opts)`. + +Aliases: `Expression`, `Pureish`, `Literal`, `Immutable` + + +--- + +### nullLiteralTypeAnnotation +```javascript +t.nullLiteralTypeAnnotation() +``` + +See also `t.isNullLiteralTypeAnnotation(node, opts)` and `t.assertNullLiteralTypeAnnotation(node, opts)`. + +Aliases: `Flow`, `FlowBaseAnnotation` + + +--- + +### nullableTypeAnnotation +```javascript +t.nullableTypeAnnotation(typeAnnotation) +``` + +See also `t.isNullableTypeAnnotation(node, opts)` and `t.assertNullableTypeAnnotation(node, opts)`. + +Aliases: `Flow` + + - `typeAnnotation` (required) + +--- + +### numberTypeAnnotation +```javascript +t.numberTypeAnnotation() +``` + +See also `t.isNumberTypeAnnotation(node, opts)` and `t.assertNumberTypeAnnotation(node, opts)`. + +Aliases: `Flow`, `FlowBaseAnnotation` + + +--- + +### numericLiteral +```javascript +t.numericLiteral(value) +``` + +See also `t.isNumericLiteral(node, opts)` and `t.assertNumericLiteral(node, opts)`. + +Aliases: `Expression`, `Pureish`, `Literal`, `Immutable` + + - `value`: `number` (required) + +--- + +### numericLiteralTypeAnnotation +```javascript +t.numericLiteralTypeAnnotation() +``` + +See also `t.isNumericLiteralTypeAnnotation(node, opts)` and `t.assertNumericLiteralTypeAnnotation(node, opts)`. + +Aliases: `Flow` + + +--- + +### objectExpression +```javascript +t.objectExpression(properties) +``` + +See also `t.isObjectExpression(node, opts)` and `t.assertObjectExpression(node, opts)`. + +Aliases: `Expression` + + - `properties`: `Array` (required) + +--- + +### objectMethod +```javascript +t.objectMethod(kind, key, params, body, computed) +``` + +See also `t.isObjectMethod(node, opts)` and `t.assertObjectMethod(node, opts)`. + +Aliases: `UserWhitespacable`, `Function`, `Scopable`, `BlockParent`, `FunctionParent`, `Method`, `ObjectMember` + + - `kind`: `"method" | "get" | "set"` (default: `'method'`) + - `key`if computed then `Expression` else `Identifier | Literal` (required) + - `params` (required) + - `body`: `BlockStatement` (required) + - `computed`: `boolean` (default: `false`) + - `async`: `boolean` (default: `false`) + - `decorators`: `Array` (default: `null`) + - `generator`: `boolean` (default: `false`) + - `returnType` (default: `null`) + - `typeParameters` (default: `null`) + +--- + +### objectPattern +```javascript +t.objectPattern(properties, typeAnnotation) +``` + +See also `t.isObjectPattern(node, opts)` and `t.assertObjectPattern(node, opts)`. + +Aliases: `Pattern`, `LVal` + + - `properties`: `Array` (required) + - `typeAnnotation` (required) + - `decorators`: `Array` (default: `null`) + +--- + +### objectProperty +```javascript +t.objectProperty(key, value, computed, shorthand, decorators) +``` + +See also `t.isObjectProperty(node, opts)` and `t.assertObjectProperty(node, opts)`. + +Aliases: `UserWhitespacable`, `Property`, `ObjectMember` + + - `key`if computed then `Expression` else `Identifier | Literal` (required) + - `value`: `Expression | Pattern | RestElement` (required) + - `computed`: `boolean` (default: `false`) + - `shorthand`: `boolean` (default: `false`) + - `decorators`: `Array` (default: `null`) + +--- + +### objectTypeAnnotation +```javascript +t.objectTypeAnnotation(properties, indexers, callProperties) +``` + +See also `t.isObjectTypeAnnotation(node, opts)` and `t.assertObjectTypeAnnotation(node, opts)`. + +Aliases: `Flow` + + - `properties` (required) + - `indexers` (required) + - `callProperties` (required) + +--- + +### objectTypeCallProperty +```javascript +t.objectTypeCallProperty(value) +``` + +See also `t.isObjectTypeCallProperty(node, opts)` and `t.assertObjectTypeCallProperty(node, opts)`. + +Aliases: `Flow`, `UserWhitespacable` + + - `value` (required) + +--- + +### objectTypeIndexer +```javascript +t.objectTypeIndexer(id, key, value) +``` + +See also `t.isObjectTypeIndexer(node, opts)` and `t.assertObjectTypeIndexer(node, opts)`. + +Aliases: `Flow`, `UserWhitespacable` + + - `id` (required) + - `key` (required) + - `value` (required) + +--- + +### objectTypeProperty +```javascript +t.objectTypeProperty(key, value) +``` + +See also `t.isObjectTypeProperty(node, opts)` and `t.assertObjectTypeProperty(node, opts)`. + +Aliases: `Flow`, `UserWhitespacable` + + - `key` (required) + - `value` (required) + +--- + +### objectTypeSpreadProperty +```javascript +t.objectTypeSpreadProperty(argument) +``` + +See also `t.isObjectTypeSpreadProperty(node, opts)` and `t.assertObjectTypeSpreadProperty(node, opts)`. + +Aliases: `Flow`, `UserWhitespacable` + + - `argument` (required) + +--- + +### opaqueType +```javascript +t.opaqueType(id, typeParameters, impltype, supertype) +``` + +See also `t.isOpaqueType(node, opts)` and `t.assertOpaqueType(node, opts)`. + +Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` + + - `id` (required) + - `typeParameters` (required) + - `impltype` (required) + - `supertype` (required) + +--- + +### parenthesizedExpression +```javascript +t.parenthesizedExpression(expression) +``` + +See also `t.isParenthesizedExpression(node, opts)` and `t.assertParenthesizedExpression(node, opts)`. + +Aliases: `Expression`, `ExpressionWrapper` + + - `expression`: `Expression` (required) + +--- + +### program +```javascript +t.program(body, directives) +``` + +See also `t.isProgram(node, opts)` and `t.assertProgram(node, opts)`. + +Aliases: `Scopable`, `BlockParent`, `Block`, `FunctionParent` + + - `body`: `Array` (required) + - `directives`: `Array` (default: `[]`) + +--- + +### qualifiedTypeIdentifier +```javascript +t.qualifiedTypeIdentifier(id, qualification) +``` + +See also `t.isQualifiedTypeIdentifier(node, opts)` and `t.assertQualifiedTypeIdentifier(node, opts)`. + +Aliases: `Flow` + + - `id` (required) + - `qualification` (required) + +--- + +### regExpLiteral +```javascript +t.regExpLiteral(pattern, flags) +``` + +See also `t.isRegExpLiteral(node, opts)` and `t.assertRegExpLiteral(node, opts)`. + +Aliases: `Expression`, `Literal` + + - `pattern`: `string` (required) + - `flags`: `string` (default: `''`) + +--- + +### restElement +```javascript +t.restElement(argument, typeAnnotation) +``` + +See also `t.isRestElement(node, opts)` and `t.assertRestElement(node, opts)`. + +Aliases: `LVal` + + - `argument`: `LVal` (required) + - `typeAnnotation` (required) + - `decorators`: `Array` (default: `null`) + +--- + +### restProperty +```javascript +t.restProperty(argument) +``` + +See also `t.isRestProperty(node, opts)` and `t.assertRestProperty(node, opts)`. + +Aliases: `UnaryLike` + + - `argument`: `LVal` (required) + +--- + +### returnStatement +```javascript +t.returnStatement(argument) +``` + +See also `t.isReturnStatement(node, opts)` and `t.assertReturnStatement(node, opts)`. + +Aliases: `Statement`, `Terminatorless`, `CompletionStatement` + + - `argument`: `Expression` (default: `null`) + +--- + +### sequenceExpression +```javascript +t.sequenceExpression(expressions) +``` + +See also `t.isSequenceExpression(node, opts)` and `t.assertSequenceExpression(node, opts)`. + +Aliases: `Expression` + + - `expressions`: `Array` (required) + +--- + +### spreadElement +```javascript +t.spreadElement(argument) +``` + +See also `t.isSpreadElement(node, opts)` and `t.assertSpreadElement(node, opts)`. + +Aliases: `UnaryLike` + + - `argument`: `Expression` (required) + +--- + +### spreadProperty +```javascript +t.spreadProperty(argument) +``` + +See also `t.isSpreadProperty(node, opts)` and `t.assertSpreadProperty(node, opts)`. + +Aliases: `UnaryLike` + + - `argument`: `Expression` (required) + +--- + +### stringLiteral +```javascript +t.stringLiteral(value) +``` + +See also `t.isStringLiteral(node, opts)` and `t.assertStringLiteral(node, opts)`. + +Aliases: `Expression`, `Pureish`, `Literal`, `Immutable` + + - `value`: `string` (required) + +--- + +### stringLiteralTypeAnnotation +```javascript +t.stringLiteralTypeAnnotation() +``` + +See also `t.isStringLiteralTypeAnnotation(node, opts)` and `t.assertStringLiteralTypeAnnotation(node, opts)`. + +Aliases: `Flow` + + +--- + +### stringTypeAnnotation +```javascript +t.stringTypeAnnotation() +``` + +See also `t.isStringTypeAnnotation(node, opts)` and `t.assertStringTypeAnnotation(node, opts)`. + +Aliases: `Flow`, `FlowBaseAnnotation` + + +--- + +### super +```javascript +t.super() +``` + +See also `t.isSuper(node, opts)` and `t.assertSuper(node, opts)`. + +Aliases: `Expression` + + +--- + +### switchCase +```javascript +t.switchCase(test, consequent) +``` + +See also `t.isSwitchCase(node, opts)` and `t.assertSwitchCase(node, opts)`. + + - `test`: `Expression` (default: `null`) + - `consequent`: `Array` (required) + +--- + +### switchStatement +```javascript +t.switchStatement(discriminant, cases) +``` + +See also `t.isSwitchStatement(node, opts)` and `t.assertSwitchStatement(node, opts)`. + +Aliases: `Statement`, `BlockParent`, `Scopable` + + - `discriminant`: `Expression` (required) + - `cases`: `Array` (required) + +--- + +### taggedTemplateExpression +```javascript +t.taggedTemplateExpression(tag, quasi) +``` + +See also `t.isTaggedTemplateExpression(node, opts)` and `t.assertTaggedTemplateExpression(node, opts)`. + +Aliases: `Expression` + + - `tag`: `Expression` (required) + - `quasi`: `TemplateLiteral` (required) + +--- + +### templateElement +```javascript +t.templateElement(value, tail) +``` + +See also `t.isTemplateElement(node, opts)` and `t.assertTemplateElement(node, opts)`. + + - `value` (required) + - `tail`: `boolean` (default: `false`) + +--- + +### templateLiteral +```javascript +t.templateLiteral(quasis, expressions) +``` + +See also `t.isTemplateLiteral(node, opts)` and `t.assertTemplateLiteral(node, opts)`. + +Aliases: `Expression`, `Literal` + + - `quasis`: `Array` (required) + - `expressions`: `Array` (required) + +--- + +### thisExpression +```javascript +t.thisExpression() +``` + +See also `t.isThisExpression(node, opts)` and `t.assertThisExpression(node, opts)`. + +Aliases: `Expression` + + +--- + +### thisTypeAnnotation +```javascript +t.thisTypeAnnotation() +``` + +See also `t.isThisTypeAnnotation(node, opts)` and `t.assertThisTypeAnnotation(node, opts)`. + +Aliases: `Flow`, `FlowBaseAnnotation` + + +--- + +### throwStatement +```javascript +t.throwStatement(argument) +``` + +See also `t.isThrowStatement(node, opts)` and `t.assertThrowStatement(node, opts)`. + +Aliases: `Statement`, `Terminatorless`, `CompletionStatement` + + - `argument`: `Expression` (required) + +--- + +### tryStatement +```javascript +t.tryStatement(block, handler, finalizer) +``` + +See also `t.isTryStatement(node, opts)` and `t.assertTryStatement(node, opts)`. + +Aliases: `Statement` + + - `block` (required) + - `handler` (default: `null`) + - `finalizer`: `BlockStatement` (default: `null`) + - `body`: `BlockStatement` (default: `null`) + +--- + +### tupleTypeAnnotation +```javascript +t.tupleTypeAnnotation(types) +``` + +See also `t.isTupleTypeAnnotation(node, opts)` and `t.assertTupleTypeAnnotation(node, opts)`. + +Aliases: `Flow` + + - `types` (required) + +--- + +### typeAlias +```javascript +t.typeAlias(id, typeParameters, right) +``` + +See also `t.isTypeAlias(node, opts)` and `t.assertTypeAlias(node, opts)`. + +Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` + + - `id` (required) + - `typeParameters` (required) + - `right` (required) + +--- + +### typeAnnotation +```javascript +t.typeAnnotation(typeAnnotation) +``` + +See also `t.isTypeAnnotation(node, opts)` and `t.assertTypeAnnotation(node, opts)`. + +Aliases: `Flow` + + - `typeAnnotation` (required) + +--- + +### typeCastExpression +```javascript +t.typeCastExpression(expression, typeAnnotation) +``` + +See also `t.isTypeCastExpression(node, opts)` and `t.assertTypeCastExpression(node, opts)`. + +Aliases: `Flow`, `ExpressionWrapper`, `Expression` + + - `expression` (required) + - `typeAnnotation` (required) + +--- + +### typeParameter +```javascript +t.typeParameter(bound) +``` + +See also `t.isTypeParameter(node, opts)` and `t.assertTypeParameter(node, opts)`. + +Aliases: `Flow` + + - `bound` (required) + +--- + +### typeParameterDeclaration +```javascript +t.typeParameterDeclaration(params) +``` + +See also `t.isTypeParameterDeclaration(node, opts)` and `t.assertTypeParameterDeclaration(node, opts)`. + +Aliases: `Flow` + + - `params` (required) + +--- + +### typeParameterInstantiation +```javascript +t.typeParameterInstantiation(params) +``` + +See also `t.isTypeParameterInstantiation(node, opts)` and `t.assertTypeParameterInstantiation(node, opts)`. + +Aliases: `Flow` + + - `params` (required) + +--- + +### typeofTypeAnnotation +```javascript +t.typeofTypeAnnotation(argument) +``` + +See also `t.isTypeofTypeAnnotation(node, opts)` and `t.assertTypeofTypeAnnotation(node, opts)`. + +Aliases: `Flow` + + - `argument` (required) + +--- + +### unaryExpression +```javascript +t.unaryExpression(operator, argument, prefix) +``` + +See also `t.isUnaryExpression(node, opts)` and `t.assertUnaryExpression(node, opts)`. + +Aliases: `UnaryLike`, `Expression` + + - `operator`: `'void' | 'delete' | '!' | '+' | '-' | '++' | '--' | '~' | 'typeof'` (required) + - `argument`: `Expression` (required) + - `prefix`: `boolean` (default: `true`) + +--- + +### unionTypeAnnotation +```javascript +t.unionTypeAnnotation(types) +``` + +See also `t.isUnionTypeAnnotation(node, opts)` and `t.assertUnionTypeAnnotation(node, opts)`. + +Aliases: `Flow` + + - `types` (required) + +--- + +### updateExpression +```javascript +t.updateExpression(operator, argument, prefix) +``` + +See also `t.isUpdateExpression(node, opts)` and `t.assertUpdateExpression(node, opts)`. + +Aliases: `Expression` + + - `operator`: `'++' | '--'` (required) + - `argument`: `Expression` (required) + - `prefix`: `boolean` (default: `false`) + +--- + +### variableDeclaration +```javascript +t.variableDeclaration(kind, declarations) +``` + +See also `t.isVariableDeclaration(node, opts)` and `t.assertVariableDeclaration(node, opts)`. + +Aliases: `Statement`, `Declaration` + + - `kind`: `"var" | "let" | "const"` (required) + - `declarations`: `Array` (required) + +--- + +### variableDeclarator +```javascript +t.variableDeclarator(id, init) +``` + +See also `t.isVariableDeclarator(node, opts)` and `t.assertVariableDeclarator(node, opts)`. + + - `id`: `LVal` (required) + - `init`: `Expression` (default: `null`) + +--- + +### voidTypeAnnotation +```javascript +t.voidTypeAnnotation() +``` + +See also `t.isVoidTypeAnnotation(node, opts)` and `t.assertVoidTypeAnnotation(node, opts)`. + +Aliases: `Flow`, `FlowBaseAnnotation` + + +--- + +### whileStatement +```javascript +t.whileStatement(test, body) +``` + +See also `t.isWhileStatement(node, opts)` and `t.assertWhileStatement(node, opts)`. + +Aliases: `Statement`, `BlockParent`, `Loop`, `While`, `Scopable` + + - `test`: `Expression` (required) + - `body`: `BlockStatement | Statement` (required) + +--- + +### withStatement +```javascript +t.withStatement(object, body) +``` + +See also `t.isWithStatement(node, opts)` and `t.assertWithStatement(node, opts)`. + +Aliases: `Statement` + + - `object` (required) + - `body`: `BlockStatement | Statement` (required) + +--- + +### yieldExpression +```javascript +t.yieldExpression(argument, delegate) +``` + +See also `t.isYieldExpression(node, opts)` and `t.assertYieldExpression(node, opts)`. + +Aliases: `Expression`, `Terminatorless` + + - `argument`: `Expression` (default: `null`) + - `delegate`: `boolean` (default: `false`) + +--- + + + + diff --git a/socket/node_modules/babel-types/lib/constants.js b/socket/node_modules/babel-types/lib/constants.js new file mode 100644 index 0000000..ba15090 --- /dev/null +++ b/socket/node_modules/babel-types/lib/constants.js @@ -0,0 +1,38 @@ +"use strict"; + +exports.__esModule = true; +exports.NOT_LOCAL_BINDING = exports.BLOCK_SCOPED_SYMBOL = exports.INHERIT_KEYS = exports.UNARY_OPERATORS = exports.STRING_UNARY_OPERATORS = exports.NUMBER_UNARY_OPERATORS = exports.BOOLEAN_UNARY_OPERATORS = exports.BINARY_OPERATORS = exports.NUMBER_BINARY_OPERATORS = exports.BOOLEAN_BINARY_OPERATORS = exports.COMPARISON_BINARY_OPERATORS = exports.EQUALITY_BINARY_OPERATORS = exports.BOOLEAN_NUMBER_BINARY_OPERATORS = exports.UPDATE_OPERATORS = exports.LOGICAL_OPERATORS = exports.COMMENT_KEYS = exports.FOR_INIT_KEYS = exports.FLATTENABLE_KEYS = exports.STATEMENT_OR_BLOCK_KEYS = undefined; + +var _for = require("babel-runtime/core-js/symbol/for"); + +var _for2 = _interopRequireDefault(_for); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var STATEMENT_OR_BLOCK_KEYS = exports.STATEMENT_OR_BLOCK_KEYS = ["consequent", "body", "alternate"]; +var FLATTENABLE_KEYS = exports.FLATTENABLE_KEYS = ["body", "expressions"]; +var FOR_INIT_KEYS = exports.FOR_INIT_KEYS = ["left", "init"]; +var COMMENT_KEYS = exports.COMMENT_KEYS = ["leadingComments", "trailingComments", "innerComments"]; + +var LOGICAL_OPERATORS = exports.LOGICAL_OPERATORS = ["||", "&&"]; +var UPDATE_OPERATORS = exports.UPDATE_OPERATORS = ["++", "--"]; + +var BOOLEAN_NUMBER_BINARY_OPERATORS = exports.BOOLEAN_NUMBER_BINARY_OPERATORS = [">", "<", ">=", "<="]; +var EQUALITY_BINARY_OPERATORS = exports.EQUALITY_BINARY_OPERATORS = ["==", "===", "!=", "!=="]; +var COMPARISON_BINARY_OPERATORS = exports.COMPARISON_BINARY_OPERATORS = [].concat(EQUALITY_BINARY_OPERATORS, ["in", "instanceof"]); +var BOOLEAN_BINARY_OPERATORS = exports.BOOLEAN_BINARY_OPERATORS = [].concat(COMPARISON_BINARY_OPERATORS, BOOLEAN_NUMBER_BINARY_OPERATORS); +var NUMBER_BINARY_OPERATORS = exports.NUMBER_BINARY_OPERATORS = ["-", "/", "%", "*", "**", "&", "|", ">>", ">>>", "<<", "^"]; +var BINARY_OPERATORS = exports.BINARY_OPERATORS = ["+"].concat(NUMBER_BINARY_OPERATORS, BOOLEAN_BINARY_OPERATORS); + +var BOOLEAN_UNARY_OPERATORS = exports.BOOLEAN_UNARY_OPERATORS = ["delete", "!"]; +var NUMBER_UNARY_OPERATORS = exports.NUMBER_UNARY_OPERATORS = ["+", "-", "++", "--", "~"]; +var STRING_UNARY_OPERATORS = exports.STRING_UNARY_OPERATORS = ["typeof"]; +var UNARY_OPERATORS = exports.UNARY_OPERATORS = ["void"].concat(BOOLEAN_UNARY_OPERATORS, NUMBER_UNARY_OPERATORS, STRING_UNARY_OPERATORS); + +var INHERIT_KEYS = exports.INHERIT_KEYS = { + optional: ["typeAnnotation", "typeParameters", "returnType"], + force: ["start", "loc", "end"] +}; + +var BLOCK_SCOPED_SYMBOL = exports.BLOCK_SCOPED_SYMBOL = (0, _for2.default)("var used to be block scoped"); +var NOT_LOCAL_BINDING = exports.NOT_LOCAL_BINDING = (0, _for2.default)("should not be considered a local binding"); \ No newline at end of file diff --git a/socket/node_modules/babel-types/lib/converters.js b/socket/node_modules/babel-types/lib/converters.js new file mode 100644 index 0000000..bd0a3c6 --- /dev/null +++ b/socket/node_modules/babel-types/lib/converters.js @@ -0,0 +1,350 @@ +"use strict"; + +exports.__esModule = true; + +var _maxSafeInteger = require("babel-runtime/core-js/number/max-safe-integer"); + +var _maxSafeInteger2 = _interopRequireDefault(_maxSafeInteger); + +var _stringify = require("babel-runtime/core-js/json/stringify"); + +var _stringify2 = _interopRequireDefault(_stringify); + +var _getIterator2 = require("babel-runtime/core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +exports.toComputedKey = toComputedKey; +exports.toSequenceExpression = toSequenceExpression; +exports.toKeyAlias = toKeyAlias; +exports.toIdentifier = toIdentifier; +exports.toBindingIdentifierName = toBindingIdentifierName; +exports.toStatement = toStatement; +exports.toExpression = toExpression; +exports.toBlock = toBlock; +exports.valueToNode = valueToNode; + +var _isPlainObject = require("lodash/isPlainObject"); + +var _isPlainObject2 = _interopRequireDefault(_isPlainObject); + +var _isRegExp = require("lodash/isRegExp"); + +var _isRegExp2 = _interopRequireDefault(_isRegExp); + +var _index = require("./index"); + +var t = _interopRequireWildcard(_index); + +function _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; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function toComputedKey(node) { + var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : node.key || node.property; + + if (!node.computed) { + if (t.isIdentifier(key)) key = t.stringLiteral(key.name); + } + return key; +} + +function gatherSequenceExpressions(nodes, scope, declars) { + var exprs = []; + var ensureLastUndefined = true; + + for (var _iterator = nodes, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var node = _ref; + + ensureLastUndefined = false; + + if (t.isExpression(node)) { + exprs.push(node); + } else if (t.isExpressionStatement(node)) { + exprs.push(node.expression); + } else if (t.isVariableDeclaration(node)) { + if (node.kind !== "var") return; + + for (var _iterator2 = node.declarations, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : (0, _getIterator3.default)(_iterator2);;) { + var _ref2; + + if (_isArray2) { + if (_i2 >= _iterator2.length) break; + _ref2 = _iterator2[_i2++]; + } else { + _i2 = _iterator2.next(); + if (_i2.done) break; + _ref2 = _i2.value; + } + + var declar = _ref2; + + var bindings = t.getBindingIdentifiers(declar); + for (var key in bindings) { + declars.push({ + kind: node.kind, + id: bindings[key] + }); + } + + if (declar.init) { + exprs.push(t.assignmentExpression("=", declar.id, declar.init)); + } + } + + ensureLastUndefined = true; + } else if (t.isIfStatement(node)) { + var consequent = node.consequent ? gatherSequenceExpressions([node.consequent], scope, declars) : scope.buildUndefinedNode(); + var alternate = node.alternate ? gatherSequenceExpressions([node.alternate], scope, declars) : scope.buildUndefinedNode(); + if (!consequent || !alternate) return; + + exprs.push(t.conditionalExpression(node.test, consequent, alternate)); + } else if (t.isBlockStatement(node)) { + var body = gatherSequenceExpressions(node.body, scope, declars); + if (!body) return; + + exprs.push(body); + } else if (t.isEmptyStatement(node)) { + ensureLastUndefined = true; + } else { + return; + } + } + + if (ensureLastUndefined) { + exprs.push(scope.buildUndefinedNode()); + } + + if (exprs.length === 1) { + return exprs[0]; + } else { + return t.sequenceExpression(exprs); + } +} + +function toSequenceExpression(nodes, scope) { + if (!nodes || !nodes.length) return; + + var declars = []; + var result = gatherSequenceExpressions(nodes, scope, declars); + if (!result) return; + + for (var _iterator3 = declars, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : (0, _getIterator3.default)(_iterator3);;) { + var _ref3; + + if (_isArray3) { + if (_i3 >= _iterator3.length) break; + _ref3 = _iterator3[_i3++]; + } else { + _i3 = _iterator3.next(); + if (_i3.done) break; + _ref3 = _i3.value; + } + + var declar = _ref3; + + scope.push(declar); + } + + return result; +} + +function toKeyAlias(node) { + var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : node.key; + + var alias = void 0; + + if (node.kind === "method") { + return toKeyAlias.increment() + ""; + } else if (t.isIdentifier(key)) { + alias = key.name; + } else if (t.isStringLiteral(key)) { + alias = (0, _stringify2.default)(key.value); + } else { + alias = (0, _stringify2.default)(t.removePropertiesDeep(t.cloneDeep(key))); + } + + if (node.computed) { + alias = "[" + alias + "]"; + } + + if (node.static) { + alias = "static:" + alias; + } + + return alias; +} + +toKeyAlias.uid = 0; + +toKeyAlias.increment = function () { + if (toKeyAlias.uid >= _maxSafeInteger2.default) { + return toKeyAlias.uid = 0; + } else { + return toKeyAlias.uid++; + } +}; + +function toIdentifier(name) { + name = name + ""; + + name = name.replace(/[^a-zA-Z0-9$_]/g, "-"); + + name = name.replace(/^[-0-9]+/, ""); + + name = name.replace(/[-\s]+(.)?/g, function (match, c) { + return c ? c.toUpperCase() : ""; + }); + + if (!t.isValidIdentifier(name)) { + name = "_" + name; + } + + return name || "_"; +} + +function toBindingIdentifierName(name) { + name = toIdentifier(name); + if (name === "eval" || name === "arguments") name = "_" + name; + return name; +} + +function toStatement(node, ignore) { + if (t.isStatement(node)) { + return node; + } + + var mustHaveId = false; + var newType = void 0; + + if (t.isClass(node)) { + mustHaveId = true; + newType = "ClassDeclaration"; + } else if (t.isFunction(node)) { + mustHaveId = true; + newType = "FunctionDeclaration"; + } else if (t.isAssignmentExpression(node)) { + return t.expressionStatement(node); + } + + if (mustHaveId && !node.id) { + newType = false; + } + + if (!newType) { + if (ignore) { + return false; + } else { + throw new Error("cannot turn " + node.type + " to a statement"); + } + } + + node.type = newType; + + return node; +} + +function toExpression(node) { + if (t.isExpressionStatement(node)) { + node = node.expression; + } + + if (t.isExpression(node)) { + return node; + } + + if (t.isClass(node)) { + node.type = "ClassExpression"; + } else if (t.isFunction(node)) { + node.type = "FunctionExpression"; + } + + if (!t.isExpression(node)) { + throw new Error("cannot turn " + node.type + " to an expression"); + } + + return node; +} + +function toBlock(node, parent) { + if (t.isBlockStatement(node)) { + return node; + } + + if (t.isEmptyStatement(node)) { + node = []; + } + + if (!Array.isArray(node)) { + if (!t.isStatement(node)) { + if (t.isFunction(parent)) { + node = t.returnStatement(node); + } else { + node = t.expressionStatement(node); + } + } + + node = [node]; + } + + return t.blockStatement(node); +} + +function valueToNode(value) { + if (value === undefined) { + return t.identifier("undefined"); + } + + if (value === true || value === false) { + return t.booleanLiteral(value); + } + + if (value === null) { + return t.nullLiteral(); + } + + if (typeof value === "string") { + return t.stringLiteral(value); + } + + if (typeof value === "number") { + return t.numericLiteral(value); + } + + if ((0, _isRegExp2.default)(value)) { + var pattern = value.source; + var flags = value.toString().match(/\/([a-z]+|)$/)[1]; + return t.regExpLiteral(pattern, flags); + } + + if (Array.isArray(value)) { + return t.arrayExpression(value.map(t.valueToNode)); + } + + if ((0, _isPlainObject2.default)(value)) { + var props = []; + for (var key in value) { + var nodeKey = void 0; + if (t.isValidIdentifier(key)) { + nodeKey = t.identifier(key); + } else { + nodeKey = t.stringLiteral(key); + } + props.push(t.objectProperty(nodeKey, t.valueToNode(value[key]))); + } + return t.objectExpression(props); + } + + throw new Error("don't know how to turn this value into a node"); +} \ No newline at end of file diff --git a/socket/node_modules/babel-types/lib/definitions/core.js b/socket/node_modules/babel-types/lib/definitions/core.js new file mode 100644 index 0000000..413faf8 --- /dev/null +++ b/socket/node_modules/babel-types/lib/definitions/core.js @@ -0,0 +1,701 @@ +"use strict"; + +var _index = require("../index"); + +var t = _interopRequireWildcard(_index); + +var _constants = require("../constants"); + +var _index2 = require("./index"); + +var _index3 = _interopRequireDefault(_index2); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _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; } } + +(0, _index3.default)("ArrayExpression", { + fields: { + elements: { + validate: (0, _index2.chain)((0, _index2.assertValueType)("array"), (0, _index2.assertEach)((0, _index2.assertNodeOrValueType)("null", "Expression", "SpreadElement"))), + default: [] + } + }, + visitor: ["elements"], + aliases: ["Expression"] +}); + +(0, _index3.default)("AssignmentExpression", { + fields: { + operator: { + validate: (0, _index2.assertValueType)("string") + }, + left: { + validate: (0, _index2.assertNodeType)("LVal") + }, + right: { + validate: (0, _index2.assertNodeType)("Expression") + } + }, + builder: ["operator", "left", "right"], + visitor: ["left", "right"], + aliases: ["Expression"] +}); + +(0, _index3.default)("BinaryExpression", { + builder: ["operator", "left", "right"], + fields: { + operator: { + validate: _index2.assertOneOf.apply(undefined, _constants.BINARY_OPERATORS) + }, + left: { + validate: (0, _index2.assertNodeType)("Expression") + }, + right: { + validate: (0, _index2.assertNodeType)("Expression") + } + }, + visitor: ["left", "right"], + aliases: ["Binary", "Expression"] +}); + +(0, _index3.default)("Directive", { + visitor: ["value"], + fields: { + value: { + validate: (0, _index2.assertNodeType)("DirectiveLiteral") + } + } +}); + +(0, _index3.default)("DirectiveLiteral", { + builder: ["value"], + fields: { + value: { + validate: (0, _index2.assertValueType)("string") + } + } +}); + +(0, _index3.default)("BlockStatement", { + builder: ["body", "directives"], + visitor: ["directives", "body"], + fields: { + directives: { + validate: (0, _index2.chain)((0, _index2.assertValueType)("array"), (0, _index2.assertEach)((0, _index2.assertNodeType)("Directive"))), + default: [] + }, + body: { + validate: (0, _index2.chain)((0, _index2.assertValueType)("array"), (0, _index2.assertEach)((0, _index2.assertNodeType)("Statement"))) + } + }, + aliases: ["Scopable", "BlockParent", "Block", "Statement"] +}); + +(0, _index3.default)("BreakStatement", { + visitor: ["label"], + fields: { + label: { + validate: (0, _index2.assertNodeType)("Identifier"), + optional: true + } + }, + aliases: ["Statement", "Terminatorless", "CompletionStatement"] +}); + +(0, _index3.default)("CallExpression", { + visitor: ["callee", "arguments"], + fields: { + callee: { + validate: (0, _index2.assertNodeType)("Expression") + }, + arguments: { + validate: (0, _index2.chain)((0, _index2.assertValueType)("array"), (0, _index2.assertEach)((0, _index2.assertNodeType)("Expression", "SpreadElement"))) + } + }, + aliases: ["Expression"] +}); + +(0, _index3.default)("CatchClause", { + visitor: ["param", "body"], + fields: { + param: { + validate: (0, _index2.assertNodeType)("Identifier") + }, + body: { + validate: (0, _index2.assertNodeType)("BlockStatement") + } + }, + aliases: ["Scopable"] +}); + +(0, _index3.default)("ConditionalExpression", { + visitor: ["test", "consequent", "alternate"], + fields: { + test: { + validate: (0, _index2.assertNodeType)("Expression") + }, + consequent: { + validate: (0, _index2.assertNodeType)("Expression") + }, + alternate: { + validate: (0, _index2.assertNodeType)("Expression") + } + }, + aliases: ["Expression", "Conditional"] +}); + +(0, _index3.default)("ContinueStatement", { + visitor: ["label"], + fields: { + label: { + validate: (0, _index2.assertNodeType)("Identifier"), + optional: true + } + }, + aliases: ["Statement", "Terminatorless", "CompletionStatement"] +}); + +(0, _index3.default)("DebuggerStatement", { + aliases: ["Statement"] +}); + +(0, _index3.default)("DoWhileStatement", { + visitor: ["test", "body"], + fields: { + test: { + validate: (0, _index2.assertNodeType)("Expression") + }, + body: { + validate: (0, _index2.assertNodeType)("Statement") + } + }, + aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"] +}); + +(0, _index3.default)("EmptyStatement", { + aliases: ["Statement"] +}); + +(0, _index3.default)("ExpressionStatement", { + visitor: ["expression"], + fields: { + expression: { + validate: (0, _index2.assertNodeType)("Expression") + } + }, + aliases: ["Statement", "ExpressionWrapper"] +}); + +(0, _index3.default)("File", { + builder: ["program", "comments", "tokens"], + visitor: ["program"], + fields: { + program: { + validate: (0, _index2.assertNodeType)("Program") + } + } +}); + +(0, _index3.default)("ForInStatement", { + visitor: ["left", "right", "body"], + aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"], + fields: { + left: { + validate: (0, _index2.assertNodeType)("VariableDeclaration", "LVal") + }, + right: { + validate: (0, _index2.assertNodeType)("Expression") + }, + body: { + validate: (0, _index2.assertNodeType)("Statement") + } + } +}); + +(0, _index3.default)("ForStatement", { + visitor: ["init", "test", "update", "body"], + aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop"], + fields: { + init: { + validate: (0, _index2.assertNodeType)("VariableDeclaration", "Expression"), + optional: true + }, + test: { + validate: (0, _index2.assertNodeType)("Expression"), + optional: true + }, + update: { + validate: (0, _index2.assertNodeType)("Expression"), + optional: true + }, + body: { + validate: (0, _index2.assertNodeType)("Statement") + } + } +}); + +(0, _index3.default)("FunctionDeclaration", { + builder: ["id", "params", "body", "generator", "async"], + visitor: ["id", "params", "body", "returnType", "typeParameters"], + fields: { + id: { + validate: (0, _index2.assertNodeType)("Identifier") + }, + params: { + validate: (0, _index2.chain)((0, _index2.assertValueType)("array"), (0, _index2.assertEach)((0, _index2.assertNodeType)("LVal"))) + }, + body: { + validate: (0, _index2.assertNodeType)("BlockStatement") + }, + generator: { + default: false, + validate: (0, _index2.assertValueType)("boolean") + }, + async: { + default: false, + validate: (0, _index2.assertValueType)("boolean") + } + }, + aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Statement", "Pureish", "Declaration"] +}); + +(0, _index3.default)("FunctionExpression", { + inherits: "FunctionDeclaration", + aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"], + fields: { + id: { + validate: (0, _index2.assertNodeType)("Identifier"), + optional: true + }, + params: { + validate: (0, _index2.chain)((0, _index2.assertValueType)("array"), (0, _index2.assertEach)((0, _index2.assertNodeType)("LVal"))) + }, + body: { + validate: (0, _index2.assertNodeType)("BlockStatement") + }, + generator: { + default: false, + validate: (0, _index2.assertValueType)("boolean") + }, + async: { + default: false, + validate: (0, _index2.assertValueType)("boolean") + } + } +}); + +(0, _index3.default)("Identifier", { + builder: ["name"], + visitor: ["typeAnnotation"], + aliases: ["Expression", "LVal"], + fields: { + name: { + validate: function validate(node, key, val) { + if (!t.isValidIdentifier(val)) {} + } + }, + decorators: { + validate: (0, _index2.chain)((0, _index2.assertValueType)("array"), (0, _index2.assertEach)((0, _index2.assertNodeType)("Decorator"))) + } + } +}); + +(0, _index3.default)("IfStatement", { + visitor: ["test", "consequent", "alternate"], + aliases: ["Statement", "Conditional"], + fields: { + test: { + validate: (0, _index2.assertNodeType)("Expression") + }, + consequent: { + validate: (0, _index2.assertNodeType)("Statement") + }, + alternate: { + optional: true, + validate: (0, _index2.assertNodeType)("Statement") + } + } +}); + +(0, _index3.default)("LabeledStatement", { + visitor: ["label", "body"], + aliases: ["Statement"], + fields: { + label: { + validate: (0, _index2.assertNodeType)("Identifier") + }, + body: { + validate: (0, _index2.assertNodeType)("Statement") + } + } +}); + +(0, _index3.default)("StringLiteral", { + builder: ["value"], + fields: { + value: { + validate: (0, _index2.assertValueType)("string") + } + }, + aliases: ["Expression", "Pureish", "Literal", "Immutable"] +}); + +(0, _index3.default)("NumericLiteral", { + builder: ["value"], + deprecatedAlias: "NumberLiteral", + fields: { + value: { + validate: (0, _index2.assertValueType)("number") + } + }, + aliases: ["Expression", "Pureish", "Literal", "Immutable"] +}); + +(0, _index3.default)("NullLiteral", { + aliases: ["Expression", "Pureish", "Literal", "Immutable"] +}); + +(0, _index3.default)("BooleanLiteral", { + builder: ["value"], + fields: { + value: { + validate: (0, _index2.assertValueType)("boolean") + } + }, + aliases: ["Expression", "Pureish", "Literal", "Immutable"] +}); + +(0, _index3.default)("RegExpLiteral", { + builder: ["pattern", "flags"], + deprecatedAlias: "RegexLiteral", + aliases: ["Expression", "Literal"], + fields: { + pattern: { + validate: (0, _index2.assertValueType)("string") + }, + flags: { + validate: (0, _index2.assertValueType)("string"), + default: "" + } + } +}); + +(0, _index3.default)("LogicalExpression", { + builder: ["operator", "left", "right"], + visitor: ["left", "right"], + aliases: ["Binary", "Expression"], + fields: { + operator: { + validate: _index2.assertOneOf.apply(undefined, _constants.LOGICAL_OPERATORS) + }, + left: { + validate: (0, _index2.assertNodeType)("Expression") + }, + right: { + validate: (0, _index2.assertNodeType)("Expression") + } + } +}); + +(0, _index3.default)("MemberExpression", { + builder: ["object", "property", "computed"], + visitor: ["object", "property"], + aliases: ["Expression", "LVal"], + fields: { + object: { + validate: (0, _index2.assertNodeType)("Expression") + }, + property: { + validate: function validate(node, key, val) { + var expectedType = node.computed ? "Expression" : "Identifier"; + (0, _index2.assertNodeType)(expectedType)(node, key, val); + } + }, + computed: { + default: false + } + } +}); + +(0, _index3.default)("NewExpression", { + visitor: ["callee", "arguments"], + aliases: ["Expression"], + fields: { + callee: { + validate: (0, _index2.assertNodeType)("Expression") + }, + arguments: { + validate: (0, _index2.chain)((0, _index2.assertValueType)("array"), (0, _index2.assertEach)((0, _index2.assertNodeType)("Expression", "SpreadElement"))) + } + } +}); + +(0, _index3.default)("Program", { + visitor: ["directives", "body"], + builder: ["body", "directives"], + fields: { + directives: { + validate: (0, _index2.chain)((0, _index2.assertValueType)("array"), (0, _index2.assertEach)((0, _index2.assertNodeType)("Directive"))), + default: [] + }, + body: { + validate: (0, _index2.chain)((0, _index2.assertValueType)("array"), (0, _index2.assertEach)((0, _index2.assertNodeType)("Statement"))) + } + }, + aliases: ["Scopable", "BlockParent", "Block", "FunctionParent"] +}); + +(0, _index3.default)("ObjectExpression", { + visitor: ["properties"], + aliases: ["Expression"], + fields: { + properties: { + validate: (0, _index2.chain)((0, _index2.assertValueType)("array"), (0, _index2.assertEach)((0, _index2.assertNodeType)("ObjectMethod", "ObjectProperty", "SpreadProperty"))) + } + } +}); + +(0, _index3.default)("ObjectMethod", { + builder: ["kind", "key", "params", "body", "computed"], + fields: { + kind: { + validate: (0, _index2.chain)((0, _index2.assertValueType)("string"), (0, _index2.assertOneOf)("method", "get", "set")), + default: "method" + }, + computed: { + validate: (0, _index2.assertValueType)("boolean"), + default: false + }, + key: { + validate: function validate(node, key, val) { + var expectedTypes = node.computed ? ["Expression"] : ["Identifier", "StringLiteral", "NumericLiteral"]; + _index2.assertNodeType.apply(undefined, expectedTypes)(node, key, val); + } + }, + decorators: { + validate: (0, _index2.chain)((0, _index2.assertValueType)("array"), (0, _index2.assertEach)((0, _index2.assertNodeType)("Decorator"))) + }, + body: { + validate: (0, _index2.assertNodeType)("BlockStatement") + }, + generator: { + default: false, + validate: (0, _index2.assertValueType)("boolean") + }, + async: { + default: false, + validate: (0, _index2.assertValueType)("boolean") + } + }, + visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"], + aliases: ["UserWhitespacable", "Function", "Scopable", "BlockParent", "FunctionParent", "Method", "ObjectMember"] +}); + +(0, _index3.default)("ObjectProperty", { + builder: ["key", "value", "computed", "shorthand", "decorators"], + fields: { + computed: { + validate: (0, _index2.assertValueType)("boolean"), + default: false + }, + key: { + validate: function validate(node, key, val) { + var expectedTypes = node.computed ? ["Expression"] : ["Identifier", "StringLiteral", "NumericLiteral"]; + _index2.assertNodeType.apply(undefined, expectedTypes)(node, key, val); + } + }, + value: { + validate: (0, _index2.assertNodeType)("Expression", "Pattern", "RestElement") + }, + shorthand: { + validate: (0, _index2.assertValueType)("boolean"), + default: false + }, + decorators: { + validate: (0, _index2.chain)((0, _index2.assertValueType)("array"), (0, _index2.assertEach)((0, _index2.assertNodeType)("Decorator"))), + optional: true + } + }, + visitor: ["key", "value", "decorators"], + aliases: ["UserWhitespacable", "Property", "ObjectMember"] +}); + +(0, _index3.default)("RestElement", { + visitor: ["argument", "typeAnnotation"], + aliases: ["LVal"], + fields: { + argument: { + validate: (0, _index2.assertNodeType)("LVal") + }, + decorators: { + validate: (0, _index2.chain)((0, _index2.assertValueType)("array"), (0, _index2.assertEach)((0, _index2.assertNodeType)("Decorator"))) + } + } +}); + +(0, _index3.default)("ReturnStatement", { + visitor: ["argument"], + aliases: ["Statement", "Terminatorless", "CompletionStatement"], + fields: { + argument: { + validate: (0, _index2.assertNodeType)("Expression"), + optional: true + } + } +}); + +(0, _index3.default)("SequenceExpression", { + visitor: ["expressions"], + fields: { + expressions: { + validate: (0, _index2.chain)((0, _index2.assertValueType)("array"), (0, _index2.assertEach)((0, _index2.assertNodeType)("Expression"))) + } + }, + aliases: ["Expression"] +}); + +(0, _index3.default)("SwitchCase", { + visitor: ["test", "consequent"], + fields: { + test: { + validate: (0, _index2.assertNodeType)("Expression"), + optional: true + }, + consequent: { + validate: (0, _index2.chain)((0, _index2.assertValueType)("array"), (0, _index2.assertEach)((0, _index2.assertNodeType)("Statement"))) + } + } +}); + +(0, _index3.default)("SwitchStatement", { + visitor: ["discriminant", "cases"], + aliases: ["Statement", "BlockParent", "Scopable"], + fields: { + discriminant: { + validate: (0, _index2.assertNodeType)("Expression") + }, + cases: { + validate: (0, _index2.chain)((0, _index2.assertValueType)("array"), (0, _index2.assertEach)((0, _index2.assertNodeType)("SwitchCase"))) + } + } +}); + +(0, _index3.default)("ThisExpression", { + aliases: ["Expression"] +}); + +(0, _index3.default)("ThrowStatement", { + visitor: ["argument"], + aliases: ["Statement", "Terminatorless", "CompletionStatement"], + fields: { + argument: { + validate: (0, _index2.assertNodeType)("Expression") + } + } +}); + +(0, _index3.default)("TryStatement", { + visitor: ["block", "handler", "finalizer"], + aliases: ["Statement"], + fields: { + body: { + validate: (0, _index2.assertNodeType)("BlockStatement") + }, + handler: { + optional: true, + handler: (0, _index2.assertNodeType)("BlockStatement") + }, + finalizer: { + optional: true, + validate: (0, _index2.assertNodeType)("BlockStatement") + } + } +}); + +(0, _index3.default)("UnaryExpression", { + builder: ["operator", "argument", "prefix"], + fields: { + prefix: { + default: true + }, + argument: { + validate: (0, _index2.assertNodeType)("Expression") + }, + operator: { + validate: _index2.assertOneOf.apply(undefined, _constants.UNARY_OPERATORS) + } + }, + visitor: ["argument"], + aliases: ["UnaryLike", "Expression"] +}); + +(0, _index3.default)("UpdateExpression", { + builder: ["operator", "argument", "prefix"], + fields: { + prefix: { + default: false + }, + argument: { + validate: (0, _index2.assertNodeType)("Expression") + }, + operator: { + validate: _index2.assertOneOf.apply(undefined, _constants.UPDATE_OPERATORS) + } + }, + visitor: ["argument"], + aliases: ["Expression"] +}); + +(0, _index3.default)("VariableDeclaration", { + builder: ["kind", "declarations"], + visitor: ["declarations"], + aliases: ["Statement", "Declaration"], + fields: { + kind: { + validate: (0, _index2.chain)((0, _index2.assertValueType)("string"), (0, _index2.assertOneOf)("var", "let", "const")) + }, + declarations: { + validate: (0, _index2.chain)((0, _index2.assertValueType)("array"), (0, _index2.assertEach)((0, _index2.assertNodeType)("VariableDeclarator"))) + } + } +}); + +(0, _index3.default)("VariableDeclarator", { + visitor: ["id", "init"], + fields: { + id: { + validate: (0, _index2.assertNodeType)("LVal") + }, + init: { + optional: true, + validate: (0, _index2.assertNodeType)("Expression") + } + } +}); + +(0, _index3.default)("WhileStatement", { + visitor: ["test", "body"], + aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"], + fields: { + test: { + validate: (0, _index2.assertNodeType)("Expression") + }, + body: { + validate: (0, _index2.assertNodeType)("BlockStatement", "Statement") + } + } +}); + +(0, _index3.default)("WithStatement", { + visitor: ["object", "body"], + aliases: ["Statement"], + fields: { + object: { + object: (0, _index2.assertNodeType)("Expression") + }, + body: { + validate: (0, _index2.assertNodeType)("BlockStatement", "Statement") + } + } +}); \ No newline at end of file diff --git a/socket/node_modules/babel-types/lib/definitions/es2015.js b/socket/node_modules/babel-types/lib/definitions/es2015.js new file mode 100644 index 0000000..5f57b44 --- /dev/null +++ b/socket/node_modules/babel-types/lib/definitions/es2015.js @@ -0,0 +1,354 @@ +"use strict"; + +var _index = require("./index"); + +var _index2 = _interopRequireDefault(_index); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +(0, _index2.default)("AssignmentPattern", { + visitor: ["left", "right"], + aliases: ["Pattern", "LVal"], + fields: { + left: { + validate: (0, _index.assertNodeType)("Identifier") + }, + right: { + validate: (0, _index.assertNodeType)("Expression") + }, + decorators: { + validate: (0, _index.chain)((0, _index.assertValueType)("array"), (0, _index.assertEach)((0, _index.assertNodeType)("Decorator"))) + } + } +}); + +(0, _index2.default)("ArrayPattern", { + visitor: ["elements", "typeAnnotation"], + aliases: ["Pattern", "LVal"], + fields: { + elements: { + validate: (0, _index.chain)((0, _index.assertValueType)("array"), (0, _index.assertEach)((0, _index.assertNodeType)("Identifier", "Pattern", "RestElement"))) + }, + decorators: { + validate: (0, _index.chain)((0, _index.assertValueType)("array"), (0, _index.assertEach)((0, _index.assertNodeType)("Decorator"))) + } + } +}); + +(0, _index2.default)("ArrowFunctionExpression", { + builder: ["params", "body", "async"], + visitor: ["params", "body", "returnType", "typeParameters"], + aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"], + fields: { + params: { + validate: (0, _index.chain)((0, _index.assertValueType)("array"), (0, _index.assertEach)((0, _index.assertNodeType)("LVal"))) + }, + body: { + validate: (0, _index.assertNodeType)("BlockStatement", "Expression") + }, + async: { + validate: (0, _index.assertValueType)("boolean"), + default: false + } + } +}); + +(0, _index2.default)("ClassBody", { + visitor: ["body"], + fields: { + body: { + validate: (0, _index.chain)((0, _index.assertValueType)("array"), (0, _index.assertEach)((0, _index.assertNodeType)("ClassMethod", "ClassProperty"))) + } + } +}); + +(0, _index2.default)("ClassDeclaration", { + builder: ["id", "superClass", "body", "decorators"], + visitor: ["id", "body", "superClass", "mixins", "typeParameters", "superTypeParameters", "implements", "decorators"], + aliases: ["Scopable", "Class", "Statement", "Declaration", "Pureish"], + fields: { + id: { + validate: (0, _index.assertNodeType)("Identifier") + }, + body: { + validate: (0, _index.assertNodeType)("ClassBody") + }, + superClass: { + optional: true, + validate: (0, _index.assertNodeType)("Expression") + }, + decorators: { + validate: (0, _index.chain)((0, _index.assertValueType)("array"), (0, _index.assertEach)((0, _index.assertNodeType)("Decorator"))) + } + } +}); + +(0, _index2.default)("ClassExpression", { + inherits: "ClassDeclaration", + aliases: ["Scopable", "Class", "Expression", "Pureish"], + fields: { + id: { + optional: true, + validate: (0, _index.assertNodeType)("Identifier") + }, + body: { + validate: (0, _index.assertNodeType)("ClassBody") + }, + superClass: { + optional: true, + validate: (0, _index.assertNodeType)("Expression") + }, + decorators: { + validate: (0, _index.chain)((0, _index.assertValueType)("array"), (0, _index.assertEach)((0, _index.assertNodeType)("Decorator"))) + } + } +}); + +(0, _index2.default)("ExportAllDeclaration", { + visitor: ["source"], + aliases: ["Statement", "Declaration", "ModuleDeclaration", "ExportDeclaration"], + fields: { + source: { + validate: (0, _index.assertNodeType)("StringLiteral") + } + } +}); + +(0, _index2.default)("ExportDefaultDeclaration", { + visitor: ["declaration"], + aliases: ["Statement", "Declaration", "ModuleDeclaration", "ExportDeclaration"], + fields: { + declaration: { + validate: (0, _index.assertNodeType)("FunctionDeclaration", "ClassDeclaration", "Expression") + } + } +}); + +(0, _index2.default)("ExportNamedDeclaration", { + visitor: ["declaration", "specifiers", "source"], + aliases: ["Statement", "Declaration", "ModuleDeclaration", "ExportDeclaration"], + fields: { + declaration: { + validate: (0, _index.assertNodeType)("Declaration"), + optional: true + }, + specifiers: { + validate: (0, _index.chain)((0, _index.assertValueType)("array"), (0, _index.assertEach)((0, _index.assertNodeType)("ExportSpecifier"))) + }, + source: { + validate: (0, _index.assertNodeType)("StringLiteral"), + optional: true + } + } +}); + +(0, _index2.default)("ExportSpecifier", { + visitor: ["local", "exported"], + aliases: ["ModuleSpecifier"], + fields: { + local: { + validate: (0, _index.assertNodeType)("Identifier") + }, + exported: { + validate: (0, _index.assertNodeType)("Identifier") + } + } +}); + +(0, _index2.default)("ForOfStatement", { + visitor: ["left", "right", "body"], + aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"], + fields: { + left: { + validate: (0, _index.assertNodeType)("VariableDeclaration", "LVal") + }, + right: { + validate: (0, _index.assertNodeType)("Expression") + }, + body: { + validate: (0, _index.assertNodeType)("Statement") + } + } +}); + +(0, _index2.default)("ImportDeclaration", { + visitor: ["specifiers", "source"], + aliases: ["Statement", "Declaration", "ModuleDeclaration"], + fields: { + specifiers: { + validate: (0, _index.chain)((0, _index.assertValueType)("array"), (0, _index.assertEach)((0, _index.assertNodeType)("ImportSpecifier", "ImportDefaultSpecifier", "ImportNamespaceSpecifier"))) + }, + source: { + validate: (0, _index.assertNodeType)("StringLiteral") + } + } +}); + +(0, _index2.default)("ImportDefaultSpecifier", { + visitor: ["local"], + aliases: ["ModuleSpecifier"], + fields: { + local: { + validate: (0, _index.assertNodeType)("Identifier") + } + } +}); + +(0, _index2.default)("ImportNamespaceSpecifier", { + visitor: ["local"], + aliases: ["ModuleSpecifier"], + fields: { + local: { + validate: (0, _index.assertNodeType)("Identifier") + } + } +}); + +(0, _index2.default)("ImportSpecifier", { + visitor: ["local", "imported"], + aliases: ["ModuleSpecifier"], + fields: { + local: { + validate: (0, _index.assertNodeType)("Identifier") + }, + imported: { + validate: (0, _index.assertNodeType)("Identifier") + }, + importKind: { + validate: (0, _index.assertOneOf)(null, "type", "typeof") + } + } +}); + +(0, _index2.default)("MetaProperty", { + visitor: ["meta", "property"], + aliases: ["Expression"], + fields: { + meta: { + validate: (0, _index.assertValueType)("string") + }, + property: { + validate: (0, _index.assertValueType)("string") + } + } +}); + +(0, _index2.default)("ClassMethod", { + aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method"], + builder: ["kind", "key", "params", "body", "computed", "static"], + visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"], + fields: { + kind: { + validate: (0, _index.chain)((0, _index.assertValueType)("string"), (0, _index.assertOneOf)("get", "set", "method", "constructor")), + default: "method" + }, + computed: { + default: false, + validate: (0, _index.assertValueType)("boolean") + }, + static: { + default: false, + validate: (0, _index.assertValueType)("boolean") + }, + key: { + validate: function validate(node, key, val) { + var expectedTypes = node.computed ? ["Expression"] : ["Identifier", "StringLiteral", "NumericLiteral"]; + _index.assertNodeType.apply(undefined, expectedTypes)(node, key, val); + } + }, + params: { + validate: (0, _index.chain)((0, _index.assertValueType)("array"), (0, _index.assertEach)((0, _index.assertNodeType)("LVal"))) + }, + body: { + validate: (0, _index.assertNodeType)("BlockStatement") + }, + generator: { + default: false, + validate: (0, _index.assertValueType)("boolean") + }, + async: { + default: false, + validate: (0, _index.assertValueType)("boolean") + } + } +}); + +(0, _index2.default)("ObjectPattern", { + visitor: ["properties", "typeAnnotation"], + aliases: ["Pattern", "LVal"], + fields: { + properties: { + validate: (0, _index.chain)((0, _index.assertValueType)("array"), (0, _index.assertEach)((0, _index.assertNodeType)("RestProperty", "Property"))) + }, + decorators: { + validate: (0, _index.chain)((0, _index.assertValueType)("array"), (0, _index.assertEach)((0, _index.assertNodeType)("Decorator"))) + } + } +}); + +(0, _index2.default)("SpreadElement", { + visitor: ["argument"], + aliases: ["UnaryLike"], + fields: { + argument: { + validate: (0, _index.assertNodeType)("Expression") + } + } +}); + +(0, _index2.default)("Super", { + aliases: ["Expression"] +}); + +(0, _index2.default)("TaggedTemplateExpression", { + visitor: ["tag", "quasi"], + aliases: ["Expression"], + fields: { + tag: { + validate: (0, _index.assertNodeType)("Expression") + }, + quasi: { + validate: (0, _index.assertNodeType)("TemplateLiteral") + } + } +}); + +(0, _index2.default)("TemplateElement", { + builder: ["value", "tail"], + fields: { + value: {}, + tail: { + validate: (0, _index.assertValueType)("boolean"), + default: false + } + } +}); + +(0, _index2.default)("TemplateLiteral", { + visitor: ["quasis", "expressions"], + aliases: ["Expression", "Literal"], + fields: { + quasis: { + validate: (0, _index.chain)((0, _index.assertValueType)("array"), (0, _index.assertEach)((0, _index.assertNodeType)("TemplateElement"))) + }, + expressions: { + validate: (0, _index.chain)((0, _index.assertValueType)("array"), (0, _index.assertEach)((0, _index.assertNodeType)("Expression"))) + } + } +}); + +(0, _index2.default)("YieldExpression", { + builder: ["argument", "delegate"], + visitor: ["argument"], + aliases: ["Expression", "Terminatorless"], + fields: { + delegate: { + validate: (0, _index.assertValueType)("boolean"), + default: false + }, + argument: { + optional: true, + validate: (0, _index.assertNodeType)("Expression") + } + } +}); \ No newline at end of file diff --git a/socket/node_modules/babel-types/lib/definitions/experimental.js b/socket/node_modules/babel-types/lib/definitions/experimental.js new file mode 100644 index 0000000..d65d609 --- /dev/null +++ b/socket/node_modules/babel-types/lib/definitions/experimental.js @@ -0,0 +1,103 @@ +"use strict"; + +var _index = require("./index"); + +var _index2 = _interopRequireDefault(_index); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +(0, _index2.default)("AwaitExpression", { + builder: ["argument"], + visitor: ["argument"], + aliases: ["Expression", "Terminatorless"], + fields: { + argument: { + validate: (0, _index.assertNodeType)("Expression") + } + } +}); + +(0, _index2.default)("ForAwaitStatement", { + visitor: ["left", "right", "body"], + aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"], + fields: { + left: { + validate: (0, _index.assertNodeType)("VariableDeclaration", "LVal") + }, + right: { + validate: (0, _index.assertNodeType)("Expression") + }, + body: { + validate: (0, _index.assertNodeType)("Statement") + } + } +}); + +(0, _index2.default)("BindExpression", { + visitor: ["object", "callee"], + aliases: ["Expression"], + fields: {} +}); + +(0, _index2.default)("Import", { + aliases: ["Expression"] +}); + +(0, _index2.default)("Decorator", { + visitor: ["expression"], + fields: { + expression: { + validate: (0, _index.assertNodeType)("Expression") + } + } +}); + +(0, _index2.default)("DoExpression", { + visitor: ["body"], + aliases: ["Expression"], + fields: { + body: { + validate: (0, _index.assertNodeType)("BlockStatement") + } + } +}); + +(0, _index2.default)("ExportDefaultSpecifier", { + visitor: ["exported"], + aliases: ["ModuleSpecifier"], + fields: { + exported: { + validate: (0, _index.assertNodeType)("Identifier") + } + } +}); + +(0, _index2.default)("ExportNamespaceSpecifier", { + visitor: ["exported"], + aliases: ["ModuleSpecifier"], + fields: { + exported: { + validate: (0, _index.assertNodeType)("Identifier") + } + } +}); + +(0, _index2.default)("RestProperty", { + visitor: ["argument"], + aliases: ["UnaryLike"], + fields: { + argument: { + validate: (0, _index.assertNodeType)("LVal") + } + } +}); + +(0, _index2.default)("SpreadProperty", { + visitor: ["argument"], + aliases: ["UnaryLike"], + fields: { + argument: { + validate: (0, _index.assertNodeType)("Expression") + } + } +}); \ No newline at end of file diff --git a/socket/node_modules/babel-types/lib/definitions/flow.js b/socket/node_modules/babel-types/lib/definitions/flow.js new file mode 100644 index 0000000..89c6302 --- /dev/null +++ b/socket/node_modules/babel-types/lib/definitions/flow.js @@ -0,0 +1,285 @@ +"use strict"; + +var _index = require("./index"); + +var _index2 = _interopRequireDefault(_index); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +(0, _index2.default)("AnyTypeAnnotation", { + aliases: ["Flow", "FlowBaseAnnotation"], + fields: {} +}); + +(0, _index2.default)("ArrayTypeAnnotation", { + visitor: ["elementType"], + aliases: ["Flow"], + fields: {} +}); + +(0, _index2.default)("BooleanTypeAnnotation", { + aliases: ["Flow", "FlowBaseAnnotation"], + fields: {} +}); + +(0, _index2.default)("BooleanLiteralTypeAnnotation", { + aliases: ["Flow"], + fields: {} +}); + +(0, _index2.default)("NullLiteralTypeAnnotation", { + aliases: ["Flow", "FlowBaseAnnotation"], + fields: {} +}); + +(0, _index2.default)("ClassImplements", { + visitor: ["id", "typeParameters"], + aliases: ["Flow"], + fields: {} +}); + +(0, _index2.default)("ClassProperty", { + visitor: ["key", "value", "typeAnnotation", "decorators"], + builder: ["key", "value", "typeAnnotation", "decorators", "computed"], + aliases: ["Property"], + fields: { + computed: { + validate: (0, _index.assertValueType)("boolean"), + default: false + } + } +}); + +(0, _index2.default)("DeclareClass", { + visitor: ["id", "typeParameters", "extends", "body"], + aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], + fields: {} +}); + +(0, _index2.default)("DeclareFunction", { + visitor: ["id"], + aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], + fields: {} +}); + +(0, _index2.default)("DeclareInterface", { + visitor: ["id", "typeParameters", "extends", "body"], + aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], + fields: {} +}); + +(0, _index2.default)("DeclareModule", { + visitor: ["id", "body"], + aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], + fields: {} +}); + +(0, _index2.default)("DeclareModuleExports", { + visitor: ["typeAnnotation"], + aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], + fields: {} +}); + +(0, _index2.default)("DeclareTypeAlias", { + visitor: ["id", "typeParameters", "right"], + aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], + fields: {} +}); + +(0, _index2.default)("DeclareOpaqueType", { + visitor: ["id", "typeParameters", "supertype"], + aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], + fields: {} +}); + +(0, _index2.default)("DeclareVariable", { + visitor: ["id"], + aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], + fields: {} +}); + +(0, _index2.default)("DeclareExportDeclaration", { + visitor: ["declaration", "specifiers", "source"], + aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], + fields: {} +}); + +(0, _index2.default)("ExistentialTypeParam", { + aliases: ["Flow"] +}); + +(0, _index2.default)("FunctionTypeAnnotation", { + visitor: ["typeParameters", "params", "rest", "returnType"], + aliases: ["Flow"], + fields: {} +}); + +(0, _index2.default)("FunctionTypeParam", { + visitor: ["name", "typeAnnotation"], + aliases: ["Flow"], + fields: {} +}); + +(0, _index2.default)("GenericTypeAnnotation", { + visitor: ["id", "typeParameters"], + aliases: ["Flow"], + fields: {} +}); + +(0, _index2.default)("InterfaceExtends", { + visitor: ["id", "typeParameters"], + aliases: ["Flow"], + fields: {} +}); + +(0, _index2.default)("InterfaceDeclaration", { + visitor: ["id", "typeParameters", "extends", "body"], + aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], + fields: {} +}); + +(0, _index2.default)("IntersectionTypeAnnotation", { + visitor: ["types"], + aliases: ["Flow"], + fields: {} +}); + +(0, _index2.default)("MixedTypeAnnotation", { + aliases: ["Flow", "FlowBaseAnnotation"] +}); + +(0, _index2.default)("EmptyTypeAnnotation", { + aliases: ["Flow", "FlowBaseAnnotation"] +}); + +(0, _index2.default)("NullableTypeAnnotation", { + visitor: ["typeAnnotation"], + aliases: ["Flow"], + fields: {} +}); + +(0, _index2.default)("NumericLiteralTypeAnnotation", { + aliases: ["Flow"], + fields: {} +}); + +(0, _index2.default)("NumberTypeAnnotation", { + aliases: ["Flow", "FlowBaseAnnotation"], + fields: {} +}); + +(0, _index2.default)("StringLiteralTypeAnnotation", { + aliases: ["Flow"], + fields: {} +}); + +(0, _index2.default)("StringTypeAnnotation", { + aliases: ["Flow", "FlowBaseAnnotation"], + fields: {} +}); + +(0, _index2.default)("ThisTypeAnnotation", { + aliases: ["Flow", "FlowBaseAnnotation"], + fields: {} +}); + +(0, _index2.default)("TupleTypeAnnotation", { + visitor: ["types"], + aliases: ["Flow"], + fields: {} +}); + +(0, _index2.default)("TypeofTypeAnnotation", { + visitor: ["argument"], + aliases: ["Flow"], + fields: {} +}); + +(0, _index2.default)("TypeAlias", { + visitor: ["id", "typeParameters", "right"], + aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], + fields: {} +}); + +(0, _index2.default)("OpaqueType", { + visitor: ["id", "typeParameters", "impltype", "supertype"], + aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], + fields: {} +}); + +(0, _index2.default)("TypeAnnotation", { + visitor: ["typeAnnotation"], + aliases: ["Flow"], + fields: {} +}); + +(0, _index2.default)("TypeCastExpression", { + visitor: ["expression", "typeAnnotation"], + aliases: ["Flow", "ExpressionWrapper", "Expression"], + fields: {} +}); + +(0, _index2.default)("TypeParameter", { + visitor: ["bound"], + aliases: ["Flow"], + fields: {} +}); + +(0, _index2.default)("TypeParameterDeclaration", { + visitor: ["params"], + aliases: ["Flow"], + fields: {} +}); + +(0, _index2.default)("TypeParameterInstantiation", { + visitor: ["params"], + aliases: ["Flow"], + fields: {} +}); + +(0, _index2.default)("ObjectTypeAnnotation", { + visitor: ["properties", "indexers", "callProperties"], + aliases: ["Flow"], + fields: {} +}); + +(0, _index2.default)("ObjectTypeCallProperty", { + visitor: ["value"], + aliases: ["Flow", "UserWhitespacable"], + fields: {} +}); + +(0, _index2.default)("ObjectTypeIndexer", { + visitor: ["id", "key", "value"], + aliases: ["Flow", "UserWhitespacable"], + fields: {} +}); + +(0, _index2.default)("ObjectTypeProperty", { + visitor: ["key", "value"], + aliases: ["Flow", "UserWhitespacable"], + fields: {} +}); + +(0, _index2.default)("ObjectTypeSpreadProperty", { + visitor: ["argument"], + aliases: ["Flow", "UserWhitespacable"], + fields: {} +}); + +(0, _index2.default)("QualifiedTypeIdentifier", { + visitor: ["id", "qualification"], + aliases: ["Flow"], + fields: {} +}); + +(0, _index2.default)("UnionTypeAnnotation", { + visitor: ["types"], + aliases: ["Flow"], + fields: {} +}); + +(0, _index2.default)("VoidTypeAnnotation", { + aliases: ["Flow", "FlowBaseAnnotation"], + fields: {} +}); \ No newline at end of file diff --git a/socket/node_modules/babel-types/lib/definitions/index.js b/socket/node_modules/babel-types/lib/definitions/index.js new file mode 100644 index 0000000..d512114 --- /dev/null +++ b/socket/node_modules/babel-types/lib/definitions/index.js @@ -0,0 +1,249 @@ +"use strict"; + +exports.__esModule = true; +exports.DEPRECATED_KEYS = exports.BUILDER_KEYS = exports.NODE_FIELDS = exports.ALIAS_KEYS = exports.VISITOR_KEYS = undefined; + +var _getIterator2 = require("babel-runtime/core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +var _stringify = require("babel-runtime/core-js/json/stringify"); + +var _stringify2 = _interopRequireDefault(_stringify); + +var _typeof2 = require("babel-runtime/helpers/typeof"); + +var _typeof3 = _interopRequireDefault(_typeof2); + +exports.assertEach = assertEach; +exports.assertOneOf = assertOneOf; +exports.assertNodeType = assertNodeType; +exports.assertNodeOrValueType = assertNodeOrValueType; +exports.assertValueType = assertValueType; +exports.chain = chain; +exports.default = defineType; + +var _index = require("../index"); + +var t = _interopRequireWildcard(_index); + +function _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; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var VISITOR_KEYS = exports.VISITOR_KEYS = {}; +var ALIAS_KEYS = exports.ALIAS_KEYS = {}; +var NODE_FIELDS = exports.NODE_FIELDS = {}; +var BUILDER_KEYS = exports.BUILDER_KEYS = {}; +var DEPRECATED_KEYS = exports.DEPRECATED_KEYS = {}; + +function getType(val) { + if (Array.isArray(val)) { + return "array"; + } else if (val === null) { + return "null"; + } else if (val === undefined) { + return "undefined"; + } else { + return typeof val === "undefined" ? "undefined" : (0, _typeof3.default)(val); + } +} + +function assertEach(callback) { + function validator(node, key, val) { + if (!Array.isArray(val)) return; + + for (var i = 0; i < val.length; i++) { + callback(node, key + "[" + i + "]", val[i]); + } + } + validator.each = callback; + return validator; +} + +function assertOneOf() { + for (var _len = arguments.length, vals = Array(_len), _key = 0; _key < _len; _key++) { + vals[_key] = arguments[_key]; + } + + function validate(node, key, val) { + if (vals.indexOf(val) < 0) { + throw new TypeError("Property " + key + " expected value to be one of " + (0, _stringify2.default)(vals) + " but got " + (0, _stringify2.default)(val)); + } + } + + validate.oneOf = vals; + + return validate; +} + +function assertNodeType() { + for (var _len2 = arguments.length, types = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + types[_key2] = arguments[_key2]; + } + + function validate(node, key, val) { + var valid = false; + + for (var _iterator = types, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var type = _ref; + + if (t.is(type, val)) { + valid = true; + break; + } + } + + if (!valid) { + throw new TypeError("Property " + key + " of " + node.type + " expected node to be of a type " + (0, _stringify2.default)(types) + " " + ("but instead got " + (0, _stringify2.default)(val && val.type))); + } + } + + validate.oneOfNodeTypes = types; + + return validate; +} + +function assertNodeOrValueType() { + for (var _len3 = arguments.length, types = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { + types[_key3] = arguments[_key3]; + } + + function validate(node, key, val) { + var valid = false; + + for (var _iterator2 = types, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : (0, _getIterator3.default)(_iterator2);;) { + var _ref2; + + if (_isArray2) { + if (_i2 >= _iterator2.length) break; + _ref2 = _iterator2[_i2++]; + } else { + _i2 = _iterator2.next(); + if (_i2.done) break; + _ref2 = _i2.value; + } + + var type = _ref2; + + if (getType(val) === type || t.is(type, val)) { + valid = true; + break; + } + } + + if (!valid) { + throw new TypeError("Property " + key + " of " + node.type + " expected node to be of a type " + (0, _stringify2.default)(types) + " " + ("but instead got " + (0, _stringify2.default)(val && val.type))); + } + } + + validate.oneOfNodeOrValueTypes = types; + + return validate; +} + +function assertValueType(type) { + function validate(node, key, val) { + var valid = getType(val) === type; + + if (!valid) { + throw new TypeError("Property " + key + " expected type of " + type + " but got " + getType(val)); + } + } + + validate.type = type; + + return validate; +} + +function chain() { + for (var _len4 = arguments.length, fns = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { + fns[_key4] = arguments[_key4]; + } + + function validate() { + for (var _iterator3 = fns, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : (0, _getIterator3.default)(_iterator3);;) { + var _ref3; + + if (_isArray3) { + if (_i3 >= _iterator3.length) break; + _ref3 = _iterator3[_i3++]; + } else { + _i3 = _iterator3.next(); + if (_i3.done) break; + _ref3 = _i3.value; + } + + var fn = _ref3; + + fn.apply(undefined, arguments); + } + } + validate.chainOf = fns; + return validate; +} + +function defineType(type) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + var inherits = opts.inherits && store[opts.inherits] || {}; + + opts.fields = opts.fields || inherits.fields || {}; + opts.visitor = opts.visitor || inherits.visitor || []; + opts.aliases = opts.aliases || inherits.aliases || []; + opts.builder = opts.builder || inherits.builder || opts.visitor || []; + + if (opts.deprecatedAlias) { + DEPRECATED_KEYS[opts.deprecatedAlias] = type; + } + + for (var _iterator4 = opts.visitor.concat(opts.builder), _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : (0, _getIterator3.default)(_iterator4);;) { + var _ref4; + + if (_isArray4) { + if (_i4 >= _iterator4.length) break; + _ref4 = _iterator4[_i4++]; + } else { + _i4 = _iterator4.next(); + if (_i4.done) break; + _ref4 = _i4.value; + } + + var _key5 = _ref4; + + opts.fields[_key5] = opts.fields[_key5] || {}; + } + + for (var key in opts.fields) { + var field = opts.fields[key]; + + if (opts.builder.indexOf(key) === -1) { + field.optional = true; + } + if (field.default === undefined) { + field.default = null; + } else if (!field.validate) { + field.validate = assertValueType(getType(field.default)); + } + } + + VISITOR_KEYS[type] = opts.visitor; + BUILDER_KEYS[type] = opts.builder; + NODE_FIELDS[type] = opts.fields; + ALIAS_KEYS[type] = opts.aliases; + + store[type] = opts; +} + +var store = {}; \ No newline at end of file diff --git a/socket/node_modules/babel-types/lib/definitions/init.js b/socket/node_modules/babel-types/lib/definitions/init.js new file mode 100644 index 0000000..a3334fe --- /dev/null +++ b/socket/node_modules/babel-types/lib/definitions/init.js @@ -0,0 +1,15 @@ +"use strict"; + +require("./index"); + +require("./core"); + +require("./es2015"); + +require("./flow"); + +require("./jsx"); + +require("./misc"); + +require("./experimental"); \ No newline at end of file diff --git a/socket/node_modules/babel-types/lib/definitions/jsx.js b/socket/node_modules/babel-types/lib/definitions/jsx.js new file mode 100644 index 0000000..1c0c066 --- /dev/null +++ b/socket/node_modules/babel-types/lib/definitions/jsx.js @@ -0,0 +1,147 @@ +"use strict"; + +var _index = require("./index"); + +var _index2 = _interopRequireDefault(_index); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +(0, _index2.default)("JSXAttribute", { + visitor: ["name", "value"], + aliases: ["JSX", "Immutable"], + fields: { + name: { + validate: (0, _index.assertNodeType)("JSXIdentifier", "JSXNamespacedName") + }, + value: { + optional: true, + validate: (0, _index.assertNodeType)("JSXElement", "StringLiteral", "JSXExpressionContainer") + } + } +}); + +(0, _index2.default)("JSXClosingElement", { + visitor: ["name"], + aliases: ["JSX", "Immutable"], + fields: { + name: { + validate: (0, _index.assertNodeType)("JSXIdentifier", "JSXMemberExpression") + } + } +}); + +(0, _index2.default)("JSXElement", { + builder: ["openingElement", "closingElement", "children", "selfClosing"], + visitor: ["openingElement", "children", "closingElement"], + aliases: ["JSX", "Immutable", "Expression"], + fields: { + openingElement: { + validate: (0, _index.assertNodeType)("JSXOpeningElement") + }, + closingElement: { + optional: true, + validate: (0, _index.assertNodeType)("JSXClosingElement") + }, + children: { + validate: (0, _index.chain)((0, _index.assertValueType)("array"), (0, _index.assertEach)((0, _index.assertNodeType)("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement"))) + } + } +}); + +(0, _index2.default)("JSXEmptyExpression", { + aliases: ["JSX", "Expression"] +}); + +(0, _index2.default)("JSXExpressionContainer", { + visitor: ["expression"], + aliases: ["JSX", "Immutable"], + fields: { + expression: { + validate: (0, _index.assertNodeType)("Expression") + } + } +}); + +(0, _index2.default)("JSXSpreadChild", { + visitor: ["expression"], + aliases: ["JSX", "Immutable"], + fields: { + expression: { + validate: (0, _index.assertNodeType)("Expression") + } + } +}); + +(0, _index2.default)("JSXIdentifier", { + builder: ["name"], + aliases: ["JSX", "Expression"], + fields: { + name: { + validate: (0, _index.assertValueType)("string") + } + } +}); + +(0, _index2.default)("JSXMemberExpression", { + visitor: ["object", "property"], + aliases: ["JSX", "Expression"], + fields: { + object: { + validate: (0, _index.assertNodeType)("JSXMemberExpression", "JSXIdentifier") + }, + property: { + validate: (0, _index.assertNodeType)("JSXIdentifier") + } + } +}); + +(0, _index2.default)("JSXNamespacedName", { + visitor: ["namespace", "name"], + aliases: ["JSX"], + fields: { + namespace: { + validate: (0, _index.assertNodeType)("JSXIdentifier") + }, + name: { + validate: (0, _index.assertNodeType)("JSXIdentifier") + } + } +}); + +(0, _index2.default)("JSXOpeningElement", { + builder: ["name", "attributes", "selfClosing"], + visitor: ["name", "attributes"], + aliases: ["JSX", "Immutable"], + fields: { + name: { + validate: (0, _index.assertNodeType)("JSXIdentifier", "JSXMemberExpression") + }, + selfClosing: { + default: false, + validate: (0, _index.assertValueType)("boolean") + }, + attributes: { + validate: (0, _index.chain)((0, _index.assertValueType)("array"), (0, _index.assertEach)((0, _index.assertNodeType)("JSXAttribute", "JSXSpreadAttribute"))) + } + } +}); + +(0, _index2.default)("JSXSpreadAttribute", { + visitor: ["argument"], + aliases: ["JSX"], + fields: { + argument: { + validate: (0, _index.assertNodeType)("Expression") + } + } +}); + +(0, _index2.default)("JSXText", { + aliases: ["JSX", "Immutable"], + builder: ["value"], + fields: { + value: { + validate: (0, _index.assertValueType)("string") + } + } +}); \ No newline at end of file diff --git a/socket/node_modules/babel-types/lib/definitions/misc.js b/socket/node_modules/babel-types/lib/definitions/misc.js new file mode 100644 index 0000000..f982b9a --- /dev/null +++ b/socket/node_modules/babel-types/lib/definitions/misc.js @@ -0,0 +1,21 @@ +"use strict"; + +var _index = require("./index"); + +var _index2 = _interopRequireDefault(_index); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +(0, _index2.default)("Noop", { + visitor: [] +}); + +(0, _index2.default)("ParenthesizedExpression", { + visitor: ["expression"], + aliases: ["Expression", "ExpressionWrapper"], + fields: { + expression: { + validate: (0, _index.assertNodeType)("Expression") + } + } +}); \ No newline at end of file diff --git a/socket/node_modules/babel-types/lib/flow.js b/socket/node_modules/babel-types/lib/flow.js new file mode 100644 index 0000000..2857915 --- /dev/null +++ b/socket/node_modules/babel-types/lib/flow.js @@ -0,0 +1,108 @@ +"use strict"; + +exports.__esModule = true; +exports.createUnionTypeAnnotation = createUnionTypeAnnotation; +exports.removeTypeDuplicates = removeTypeDuplicates; +exports.createTypeAnnotationBasedOnTypeof = createTypeAnnotationBasedOnTypeof; + +var _index = require("./index"); + +var t = _interopRequireWildcard(_index); + +function _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; } } + +function createUnionTypeAnnotation(types) { + var flattened = removeTypeDuplicates(types); + + if (flattened.length === 1) { + return flattened[0]; + } else { + return t.unionTypeAnnotation(flattened); + } +} + +function removeTypeDuplicates(nodes) { + var generics = {}; + var bases = {}; + + var typeGroups = []; + + var types = []; + + for (var i = 0; i < nodes.length; i++) { + var node = nodes[i]; + if (!node) continue; + + if (types.indexOf(node) >= 0) { + continue; + } + + if (t.isAnyTypeAnnotation(node)) { + return [node]; + } + + if (t.isFlowBaseAnnotation(node)) { + bases[node.type] = node; + continue; + } + + if (t.isUnionTypeAnnotation(node)) { + if (typeGroups.indexOf(node.types) < 0) { + nodes = nodes.concat(node.types); + typeGroups.push(node.types); + } + continue; + } + + if (t.isGenericTypeAnnotation(node)) { + var name = node.id.name; + + if (generics[name]) { + var existing = generics[name]; + if (existing.typeParameters) { + if (node.typeParameters) { + existing.typeParameters.params = removeTypeDuplicates(existing.typeParameters.params.concat(node.typeParameters.params)); + } + } else { + existing = node.typeParameters; + } + } else { + generics[name] = node; + } + + continue; + } + + types.push(node); + } + + for (var type in bases) { + types.push(bases[type]); + } + + for (var _name in generics) { + types.push(generics[_name]); + } + + return types; +} + +function createTypeAnnotationBasedOnTypeof(type) { + if (type === "string") { + return t.stringTypeAnnotation(); + } else if (type === "number") { + return t.numberTypeAnnotation(); + } else if (type === "undefined") { + return t.voidTypeAnnotation(); + } else if (type === "boolean") { + return t.booleanTypeAnnotation(); + } else if (type === "function") { + return t.genericTypeAnnotation(t.identifier("Function")); + } else if (type === "object") { + return t.genericTypeAnnotation(t.identifier("Object")); + } else if (type === "symbol") { + return t.genericTypeAnnotation(t.identifier("Symbol")); + } else { + throw new Error("Invalid typeof value"); + } +} \ No newline at end of file diff --git a/socket/node_modules/babel-types/lib/index.js b/socket/node_modules/babel-types/lib/index.js new file mode 100644 index 0000000..4c00703 --- /dev/null +++ b/socket/node_modules/babel-types/lib/index.js @@ -0,0 +1,835 @@ +"use strict"; + +exports.__esModule = true; +exports.createTypeAnnotationBasedOnTypeof = exports.removeTypeDuplicates = exports.createUnionTypeAnnotation = exports.valueToNode = exports.toBlock = exports.toExpression = exports.toStatement = exports.toBindingIdentifierName = exports.toIdentifier = exports.toKeyAlias = exports.toSequenceExpression = exports.toComputedKey = exports.isNodesEquivalent = exports.isImmutable = exports.isScope = exports.isSpecifierDefault = exports.isVar = exports.isBlockScoped = exports.isLet = exports.isValidIdentifier = exports.isReferenced = exports.isBinding = exports.getOuterBindingIdentifiers = exports.getBindingIdentifiers = exports.TYPES = exports.react = exports.DEPRECATED_KEYS = exports.BUILDER_KEYS = exports.NODE_FIELDS = exports.ALIAS_KEYS = exports.VISITOR_KEYS = exports.NOT_LOCAL_BINDING = exports.BLOCK_SCOPED_SYMBOL = exports.INHERIT_KEYS = exports.UNARY_OPERATORS = exports.STRING_UNARY_OPERATORS = exports.NUMBER_UNARY_OPERATORS = exports.BOOLEAN_UNARY_OPERATORS = exports.BINARY_OPERATORS = exports.NUMBER_BINARY_OPERATORS = exports.BOOLEAN_BINARY_OPERATORS = exports.COMPARISON_BINARY_OPERATORS = exports.EQUALITY_BINARY_OPERATORS = exports.BOOLEAN_NUMBER_BINARY_OPERATORS = exports.UPDATE_OPERATORS = exports.LOGICAL_OPERATORS = exports.COMMENT_KEYS = exports.FOR_INIT_KEYS = exports.FLATTENABLE_KEYS = exports.STATEMENT_OR_BLOCK_KEYS = undefined; + +var _getOwnPropertySymbols = require("babel-runtime/core-js/object/get-own-property-symbols"); + +var _getOwnPropertySymbols2 = _interopRequireDefault(_getOwnPropertySymbols); + +var _getIterator2 = require("babel-runtime/core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +var _keys = require("babel-runtime/core-js/object/keys"); + +var _keys2 = _interopRequireDefault(_keys); + +var _stringify = require("babel-runtime/core-js/json/stringify"); + +var _stringify2 = _interopRequireDefault(_stringify); + +var _constants = require("./constants"); + +Object.defineProperty(exports, "STATEMENT_OR_BLOCK_KEYS", { + enumerable: true, + get: function get() { + return _constants.STATEMENT_OR_BLOCK_KEYS; + } +}); +Object.defineProperty(exports, "FLATTENABLE_KEYS", { + enumerable: true, + get: function get() { + return _constants.FLATTENABLE_KEYS; + } +}); +Object.defineProperty(exports, "FOR_INIT_KEYS", { + enumerable: true, + get: function get() { + return _constants.FOR_INIT_KEYS; + } +}); +Object.defineProperty(exports, "COMMENT_KEYS", { + enumerable: true, + get: function get() { + return _constants.COMMENT_KEYS; + } +}); +Object.defineProperty(exports, "LOGICAL_OPERATORS", { + enumerable: true, + get: function get() { + return _constants.LOGICAL_OPERATORS; + } +}); +Object.defineProperty(exports, "UPDATE_OPERATORS", { + enumerable: true, + get: function get() { + return _constants.UPDATE_OPERATORS; + } +}); +Object.defineProperty(exports, "BOOLEAN_NUMBER_BINARY_OPERATORS", { + enumerable: true, + get: function get() { + return _constants.BOOLEAN_NUMBER_BINARY_OPERATORS; + } +}); +Object.defineProperty(exports, "EQUALITY_BINARY_OPERATORS", { + enumerable: true, + get: function get() { + return _constants.EQUALITY_BINARY_OPERATORS; + } +}); +Object.defineProperty(exports, "COMPARISON_BINARY_OPERATORS", { + enumerable: true, + get: function get() { + return _constants.COMPARISON_BINARY_OPERATORS; + } +}); +Object.defineProperty(exports, "BOOLEAN_BINARY_OPERATORS", { + enumerable: true, + get: function get() { + return _constants.BOOLEAN_BINARY_OPERATORS; + } +}); +Object.defineProperty(exports, "NUMBER_BINARY_OPERATORS", { + enumerable: true, + get: function get() { + return _constants.NUMBER_BINARY_OPERATORS; + } +}); +Object.defineProperty(exports, "BINARY_OPERATORS", { + enumerable: true, + get: function get() { + return _constants.BINARY_OPERATORS; + } +}); +Object.defineProperty(exports, "BOOLEAN_UNARY_OPERATORS", { + enumerable: true, + get: function get() { + return _constants.BOOLEAN_UNARY_OPERATORS; + } +}); +Object.defineProperty(exports, "NUMBER_UNARY_OPERATORS", { + enumerable: true, + get: function get() { + return _constants.NUMBER_UNARY_OPERATORS; + } +}); +Object.defineProperty(exports, "STRING_UNARY_OPERATORS", { + enumerable: true, + get: function get() { + return _constants.STRING_UNARY_OPERATORS; + } +}); +Object.defineProperty(exports, "UNARY_OPERATORS", { + enumerable: true, + get: function get() { + return _constants.UNARY_OPERATORS; + } +}); +Object.defineProperty(exports, "INHERIT_KEYS", { + enumerable: true, + get: function get() { + return _constants.INHERIT_KEYS; + } +}); +Object.defineProperty(exports, "BLOCK_SCOPED_SYMBOL", { + enumerable: true, + get: function get() { + return _constants.BLOCK_SCOPED_SYMBOL; + } +}); +Object.defineProperty(exports, "NOT_LOCAL_BINDING", { + enumerable: true, + get: function get() { + return _constants.NOT_LOCAL_BINDING; + } +}); +exports.is = is; +exports.isType = isType; +exports.validate = validate; +exports.shallowEqual = shallowEqual; +exports.appendToMemberExpression = appendToMemberExpression; +exports.prependToMemberExpression = prependToMemberExpression; +exports.ensureBlock = ensureBlock; +exports.clone = clone; +exports.cloneWithoutLoc = cloneWithoutLoc; +exports.cloneDeep = cloneDeep; +exports.buildMatchMemberExpression = buildMatchMemberExpression; +exports.removeComments = removeComments; +exports.inheritsComments = inheritsComments; +exports.inheritTrailingComments = inheritTrailingComments; +exports.inheritLeadingComments = inheritLeadingComments; +exports.inheritInnerComments = inheritInnerComments; +exports.inherits = inherits; +exports.assertNode = assertNode; +exports.isNode = isNode; +exports.traverseFast = traverseFast; +exports.removeProperties = removeProperties; +exports.removePropertiesDeep = removePropertiesDeep; + +var _retrievers = require("./retrievers"); + +Object.defineProperty(exports, "getBindingIdentifiers", { + enumerable: true, + get: function get() { + return _retrievers.getBindingIdentifiers; + } +}); +Object.defineProperty(exports, "getOuterBindingIdentifiers", { + enumerable: true, + get: function get() { + return _retrievers.getOuterBindingIdentifiers; + } +}); + +var _validators = require("./validators"); + +Object.defineProperty(exports, "isBinding", { + enumerable: true, + get: function get() { + return _validators.isBinding; + } +}); +Object.defineProperty(exports, "isReferenced", { + enumerable: true, + get: function get() { + return _validators.isReferenced; + } +}); +Object.defineProperty(exports, "isValidIdentifier", { + enumerable: true, + get: function get() { + return _validators.isValidIdentifier; + } +}); +Object.defineProperty(exports, "isLet", { + enumerable: true, + get: function get() { + return _validators.isLet; + } +}); +Object.defineProperty(exports, "isBlockScoped", { + enumerable: true, + get: function get() { + return _validators.isBlockScoped; + } +}); +Object.defineProperty(exports, "isVar", { + enumerable: true, + get: function get() { + return _validators.isVar; + } +}); +Object.defineProperty(exports, "isSpecifierDefault", { + enumerable: true, + get: function get() { + return _validators.isSpecifierDefault; + } +}); +Object.defineProperty(exports, "isScope", { + enumerable: true, + get: function get() { + return _validators.isScope; + } +}); +Object.defineProperty(exports, "isImmutable", { + enumerable: true, + get: function get() { + return _validators.isImmutable; + } +}); +Object.defineProperty(exports, "isNodesEquivalent", { + enumerable: true, + get: function get() { + return _validators.isNodesEquivalent; + } +}); + +var _converters = require("./converters"); + +Object.defineProperty(exports, "toComputedKey", { + enumerable: true, + get: function get() { + return _converters.toComputedKey; + } +}); +Object.defineProperty(exports, "toSequenceExpression", { + enumerable: true, + get: function get() { + return _converters.toSequenceExpression; + } +}); +Object.defineProperty(exports, "toKeyAlias", { + enumerable: true, + get: function get() { + return _converters.toKeyAlias; + } +}); +Object.defineProperty(exports, "toIdentifier", { + enumerable: true, + get: function get() { + return _converters.toIdentifier; + } +}); +Object.defineProperty(exports, "toBindingIdentifierName", { + enumerable: true, + get: function get() { + return _converters.toBindingIdentifierName; + } +}); +Object.defineProperty(exports, "toStatement", { + enumerable: true, + get: function get() { + return _converters.toStatement; + } +}); +Object.defineProperty(exports, "toExpression", { + enumerable: true, + get: function get() { + return _converters.toExpression; + } +}); +Object.defineProperty(exports, "toBlock", { + enumerable: true, + get: function get() { + return _converters.toBlock; + } +}); +Object.defineProperty(exports, "valueToNode", { + enumerable: true, + get: function get() { + return _converters.valueToNode; + } +}); + +var _flow = require("./flow"); + +Object.defineProperty(exports, "createUnionTypeAnnotation", { + enumerable: true, + get: function get() { + return _flow.createUnionTypeAnnotation; + } +}); +Object.defineProperty(exports, "removeTypeDuplicates", { + enumerable: true, + get: function get() { + return _flow.removeTypeDuplicates; + } +}); +Object.defineProperty(exports, "createTypeAnnotationBasedOnTypeof", { + enumerable: true, + get: function get() { + return _flow.createTypeAnnotationBasedOnTypeof; + } +}); + +var _toFastProperties = require("to-fast-properties"); + +var _toFastProperties2 = _interopRequireDefault(_toFastProperties); + +var _clone = require("lodash/clone"); + +var _clone2 = _interopRequireDefault(_clone); + +var _uniq = require("lodash/uniq"); + +var _uniq2 = _interopRequireDefault(_uniq); + +require("./definitions/init"); + +var _definitions = require("./definitions"); + +var _react2 = require("./react"); + +var _react = _interopRequireWildcard(_react2); + +function _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; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var t = exports; + +function registerType(type) { + var is = t["is" + type]; + if (!is) { + is = t["is" + type] = function (node, opts) { + return t.is(type, node, opts); + }; + } + + t["assert" + type] = function (node, opts) { + opts = opts || {}; + if (!is(node, opts)) { + throw new Error("Expected type " + (0, _stringify2.default)(type) + " with option " + (0, _stringify2.default)(opts)); + } + }; +} + +exports.VISITOR_KEYS = _definitions.VISITOR_KEYS; +exports.ALIAS_KEYS = _definitions.ALIAS_KEYS; +exports.NODE_FIELDS = _definitions.NODE_FIELDS; +exports.BUILDER_KEYS = _definitions.BUILDER_KEYS; +exports.DEPRECATED_KEYS = _definitions.DEPRECATED_KEYS; +exports.react = _react; + + +for (var type in t.VISITOR_KEYS) { + registerType(type); +} + +t.FLIPPED_ALIAS_KEYS = {}; + +(0, _keys2.default)(t.ALIAS_KEYS).forEach(function (type) { + t.ALIAS_KEYS[type].forEach(function (alias) { + var types = t.FLIPPED_ALIAS_KEYS[alias] = t.FLIPPED_ALIAS_KEYS[alias] || []; + types.push(type); + }); +}); + +(0, _keys2.default)(t.FLIPPED_ALIAS_KEYS).forEach(function (type) { + t[type.toUpperCase() + "_TYPES"] = t.FLIPPED_ALIAS_KEYS[type]; + registerType(type); +}); + +var TYPES = exports.TYPES = (0, _keys2.default)(t.VISITOR_KEYS).concat((0, _keys2.default)(t.FLIPPED_ALIAS_KEYS)).concat((0, _keys2.default)(t.DEPRECATED_KEYS)); + +function is(type, node, opts) { + if (!node) return false; + + var matches = isType(node.type, type); + if (!matches) return false; + + if (typeof opts === "undefined") { + return true; + } else { + return t.shallowEqual(node, opts); + } +} + +function isType(nodeType, targetType) { + if (nodeType === targetType) return true; + + if (t.ALIAS_KEYS[targetType]) return false; + + var aliases = t.FLIPPED_ALIAS_KEYS[targetType]; + if (aliases) { + if (aliases[0] === nodeType) return true; + + for (var _iterator = aliases, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var alias = _ref; + + if (nodeType === alias) return true; + } + } + + return false; +} + +(0, _keys2.default)(t.BUILDER_KEYS).forEach(function (type) { + var keys = t.BUILDER_KEYS[type]; + + function builder() { + if (arguments.length > keys.length) { + throw new Error("t." + type + ": Too many arguments passed. Received " + arguments.length + " but can receive " + ("no more than " + keys.length)); + } + + var node = {}; + node.type = type; + + var i = 0; + + for (var _iterator2 = keys, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : (0, _getIterator3.default)(_iterator2);;) { + var _ref2; + + if (_isArray2) { + if (_i2 >= _iterator2.length) break; + _ref2 = _iterator2[_i2++]; + } else { + _i2 = _iterator2.next(); + if (_i2.done) break; + _ref2 = _i2.value; + } + + var _key = _ref2; + + var field = t.NODE_FIELDS[type][_key]; + + var arg = arguments[i++]; + if (arg === undefined) arg = (0, _clone2.default)(field.default); + + node[_key] = arg; + } + + for (var key in node) { + validate(node, key, node[key]); + } + + return node; + } + + t[type] = builder; + t[type[0].toLowerCase() + type.slice(1)] = builder; +}); + +var _loop = function _loop(_type) { + var newType = t.DEPRECATED_KEYS[_type]; + + function proxy(fn) { + return function () { + console.trace("The node type " + _type + " has been renamed to " + newType); + return fn.apply(this, arguments); + }; + } + + t[_type] = t[_type[0].toLowerCase() + _type.slice(1)] = proxy(t[newType]); + t["is" + _type] = proxy(t["is" + newType]); + t["assert" + _type] = proxy(t["assert" + newType]); +}; + +for (var _type in t.DEPRECATED_KEYS) { + _loop(_type); +} + +function validate(node, key, val) { + if (!node) return; + + var fields = t.NODE_FIELDS[node.type]; + if (!fields) return; + + var field = fields[key]; + if (!field || !field.validate) return; + if (field.optional && val == null) return; + + field.validate(node, key, val); +} + +function shallowEqual(actual, expected) { + var keys = (0, _keys2.default)(expected); + + for (var _iterator3 = keys, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : (0, _getIterator3.default)(_iterator3);;) { + var _ref3; + + if (_isArray3) { + if (_i3 >= _iterator3.length) break; + _ref3 = _iterator3[_i3++]; + } else { + _i3 = _iterator3.next(); + if (_i3.done) break; + _ref3 = _i3.value; + } + + var key = _ref3; + + if (actual[key] !== expected[key]) { + return false; + } + } + + return true; +} + +function appendToMemberExpression(member, append, computed) { + member.object = t.memberExpression(member.object, member.property, member.computed); + member.property = append; + member.computed = !!computed; + return member; +} + +function prependToMemberExpression(member, prepend) { + member.object = t.memberExpression(prepend, member.object); + return member; +} + +function ensureBlock(node) { + var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "body"; + + return node[key] = t.toBlock(node[key], node); +} + +function clone(node) { + if (!node) return node; + var newNode = {}; + for (var key in node) { + if (key[0] === "_") continue; + newNode[key] = node[key]; + } + return newNode; +} + +function cloneWithoutLoc(node) { + var newNode = clone(node); + delete newNode.loc; + return newNode; +} + +function cloneDeep(node) { + if (!node) return node; + var newNode = {}; + + for (var key in node) { + if (key[0] === "_") continue; + + var val = node[key]; + + if (val) { + if (val.type) { + val = t.cloneDeep(val); + } else if (Array.isArray(val)) { + val = val.map(t.cloneDeep); + } + } + + newNode[key] = val; + } + + return newNode; +} + +function buildMatchMemberExpression(match, allowPartial) { + var parts = match.split("."); + + return function (member) { + if (!t.isMemberExpression(member)) return false; + + var search = [member]; + var i = 0; + + while (search.length) { + var node = search.shift(); + + if (allowPartial && i === parts.length) { + return true; + } + + if (t.isIdentifier(node)) { + if (parts[i] !== node.name) return false; + } else if (t.isStringLiteral(node)) { + if (parts[i] !== node.value) return false; + } else if (t.isMemberExpression(node)) { + if (node.computed && !t.isStringLiteral(node.property)) { + return false; + } else { + search.push(node.object); + search.push(node.property); + continue; + } + } else { + return false; + } + + if (++i > parts.length) { + return false; + } + } + + return true; + }; +} + +function removeComments(node) { + for (var _iterator4 = t.COMMENT_KEYS, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : (0, _getIterator3.default)(_iterator4);;) { + var _ref4; + + if (_isArray4) { + if (_i4 >= _iterator4.length) break; + _ref4 = _iterator4[_i4++]; + } else { + _i4 = _iterator4.next(); + if (_i4.done) break; + _ref4 = _i4.value; + } + + var key = _ref4; + + delete node[key]; + } + return node; +} + +function inheritsComments(child, parent) { + inheritTrailingComments(child, parent); + inheritLeadingComments(child, parent); + inheritInnerComments(child, parent); + return child; +} + +function inheritTrailingComments(child, parent) { + _inheritComments("trailingComments", child, parent); +} + +function inheritLeadingComments(child, parent) { + _inheritComments("leadingComments", child, parent); +} + +function inheritInnerComments(child, parent) { + _inheritComments("innerComments", child, parent); +} + +function _inheritComments(key, child, parent) { + if (child && parent) { + child[key] = (0, _uniq2.default)([].concat(child[key], parent[key]).filter(Boolean)); + } +} + +function inherits(child, parent) { + if (!child || !parent) return child; + + for (var _iterator5 = t.INHERIT_KEYS.optional, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : (0, _getIterator3.default)(_iterator5);;) { + var _ref5; + + if (_isArray5) { + if (_i5 >= _iterator5.length) break; + _ref5 = _iterator5[_i5++]; + } else { + _i5 = _iterator5.next(); + if (_i5.done) break; + _ref5 = _i5.value; + } + + var _key2 = _ref5; + + if (child[_key2] == null) { + child[_key2] = parent[_key2]; + } + } + + for (var key in parent) { + if (key[0] === "_") child[key] = parent[key]; + } + + for (var _iterator6 = t.INHERIT_KEYS.force, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : (0, _getIterator3.default)(_iterator6);;) { + var _ref6; + + if (_isArray6) { + if (_i6 >= _iterator6.length) break; + _ref6 = _iterator6[_i6++]; + } else { + _i6 = _iterator6.next(); + if (_i6.done) break; + _ref6 = _i6.value; + } + + var _key3 = _ref6; + + child[_key3] = parent[_key3]; + } + + t.inheritsComments(child, parent); + + return child; +} + +function assertNode(node) { + if (!isNode(node)) { + throw new TypeError("Not a valid node " + (node && node.type)); + } +} + +function isNode(node) { + return !!(node && _definitions.VISITOR_KEYS[node.type]); +} + +(0, _toFastProperties2.default)(t); +(0, _toFastProperties2.default)(t.VISITOR_KEYS); + +function traverseFast(node, enter, opts) { + if (!node) return; + + var keys = t.VISITOR_KEYS[node.type]; + if (!keys) return; + + opts = opts || {}; + enter(node, opts); + + for (var _iterator7 = keys, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : (0, _getIterator3.default)(_iterator7);;) { + var _ref7; + + if (_isArray7) { + if (_i7 >= _iterator7.length) break; + _ref7 = _iterator7[_i7++]; + } else { + _i7 = _iterator7.next(); + if (_i7.done) break; + _ref7 = _i7.value; + } + + var key = _ref7; + + var subNode = node[key]; + + if (Array.isArray(subNode)) { + for (var _iterator8 = subNode, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : (0, _getIterator3.default)(_iterator8);;) { + var _ref8; + + if (_isArray8) { + if (_i8 >= _iterator8.length) break; + _ref8 = _iterator8[_i8++]; + } else { + _i8 = _iterator8.next(); + if (_i8.done) break; + _ref8 = _i8.value; + } + + var _node = _ref8; + + traverseFast(_node, enter, opts); + } + } else { + traverseFast(subNode, enter, opts); + } + } +} + +var CLEAR_KEYS = ["tokens", "start", "end", "loc", "raw", "rawValue"]; + +var CLEAR_KEYS_PLUS_COMMENTS = t.COMMENT_KEYS.concat(["comments"]).concat(CLEAR_KEYS); + +function removeProperties(node, opts) { + opts = opts || {}; + var map = opts.preserveComments ? CLEAR_KEYS : CLEAR_KEYS_PLUS_COMMENTS; + for (var _iterator9 = map, _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : (0, _getIterator3.default)(_iterator9);;) { + var _ref9; + + if (_isArray9) { + if (_i9 >= _iterator9.length) break; + _ref9 = _iterator9[_i9++]; + } else { + _i9 = _iterator9.next(); + if (_i9.done) break; + _ref9 = _i9.value; + } + + var _key4 = _ref9; + + if (node[_key4] != null) node[_key4] = undefined; + } + + for (var key in node) { + if (key[0] === "_" && node[key] != null) node[key] = undefined; + } + + var syms = (0, _getOwnPropertySymbols2.default)(node); + for (var _iterator10 = syms, _isArray10 = Array.isArray(_iterator10), _i10 = 0, _iterator10 = _isArray10 ? _iterator10 : (0, _getIterator3.default)(_iterator10);;) { + var _ref10; + + if (_isArray10) { + if (_i10 >= _iterator10.length) break; + _ref10 = _iterator10[_i10++]; + } else { + _i10 = _iterator10.next(); + if (_i10.done) break; + _ref10 = _i10.value; + } + + var sym = _ref10; + + node[sym] = null; + } +} + +function removePropertiesDeep(tree, opts) { + traverseFast(tree, removeProperties, opts); + return tree; +} \ No newline at end of file diff --git a/socket/node_modules/babel-types/lib/react.js b/socket/node_modules/babel-types/lib/react.js new file mode 100644 index 0000000..923ee12 --- /dev/null +++ b/socket/node_modules/babel-types/lib/react.js @@ -0,0 +1,80 @@ +"use strict"; + +exports.__esModule = true; +exports.isReactComponent = undefined; +exports.isCompatTag = isCompatTag; +exports.buildChildren = buildChildren; + +var _index = require("./index"); + +var t = _interopRequireWildcard(_index); + +function _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; } } + +var isReactComponent = exports.isReactComponent = t.buildMatchMemberExpression("React.Component"); + +function isCompatTag(tagName) { + return !!tagName && /^[a-z]|\-/.test(tagName); +} + +function cleanJSXElementLiteralChild(child, args) { + var lines = child.value.split(/\r\n|\n|\r/); + + var lastNonEmptyLine = 0; + + for (var i = 0; i < lines.length; i++) { + if (lines[i].match(/[^ \t]/)) { + lastNonEmptyLine = i; + } + } + + var str = ""; + + for (var _i = 0; _i < lines.length; _i++) { + var line = lines[_i]; + + var isFirstLine = _i === 0; + var isLastLine = _i === lines.length - 1; + var isLastNonEmptyLine = _i === lastNonEmptyLine; + + var trimmedLine = line.replace(/\t/g, " "); + + if (!isFirstLine) { + trimmedLine = trimmedLine.replace(/^[ ]+/, ""); + } + + if (!isLastLine) { + trimmedLine = trimmedLine.replace(/[ ]+$/, ""); + } + + if (trimmedLine) { + if (!isLastNonEmptyLine) { + trimmedLine += " "; + } + + str += trimmedLine; + } + } + + if (str) args.push(t.stringLiteral(str)); +} + +function buildChildren(node) { + var elems = []; + + for (var i = 0; i < node.children.length; i++) { + var child = node.children[i]; + + if (t.isJSXText(child)) { + cleanJSXElementLiteralChild(child, elems); + continue; + } + + if (t.isJSXExpressionContainer(child)) child = child.expression; + if (t.isJSXEmptyExpression(child)) continue; + + elems.push(child); + } + + return elems; +} \ No newline at end of file diff --git a/socket/node_modules/babel-types/lib/retrievers.js b/socket/node_modules/babel-types/lib/retrievers.js new file mode 100644 index 0000000..ae7987f --- /dev/null +++ b/socket/node_modules/babel-types/lib/retrievers.js @@ -0,0 +1,116 @@ +"use strict"; + +exports.__esModule = true; + +var _create = require("babel-runtime/core-js/object/create"); + +var _create2 = _interopRequireDefault(_create); + +exports.getBindingIdentifiers = getBindingIdentifiers; +exports.getOuterBindingIdentifiers = getOuterBindingIdentifiers; + +var _index = require("./index"); + +var t = _interopRequireWildcard(_index); + +function _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; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function getBindingIdentifiers(node, duplicates, outerOnly) { + var search = [].concat(node); + var ids = (0, _create2.default)(null); + + while (search.length) { + var id = search.shift(); + if (!id) continue; + + var keys = t.getBindingIdentifiers.keys[id.type]; + + if (t.isIdentifier(id)) { + if (duplicates) { + var _ids = ids[id.name] = ids[id.name] || []; + _ids.push(id); + } else { + ids[id.name] = id; + } + continue; + } + + if (t.isExportDeclaration(id)) { + if (t.isDeclaration(id.declaration)) { + search.push(id.declaration); + } + continue; + } + + if (outerOnly) { + if (t.isFunctionDeclaration(id)) { + search.push(id.id); + continue; + } + + if (t.isFunctionExpression(id)) { + continue; + } + } + + if (keys) { + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (id[key]) { + search = search.concat(id[key]); + } + } + } + } + + return ids; +} + +getBindingIdentifiers.keys = { + DeclareClass: ["id"], + DeclareFunction: ["id"], + DeclareModule: ["id"], + DeclareVariable: ["id"], + InterfaceDeclaration: ["id"], + TypeAlias: ["id"], + OpaqueType: ["id"], + + CatchClause: ["param"], + LabeledStatement: ["label"], + UnaryExpression: ["argument"], + AssignmentExpression: ["left"], + + ImportSpecifier: ["local"], + ImportNamespaceSpecifier: ["local"], + ImportDefaultSpecifier: ["local"], + ImportDeclaration: ["specifiers"], + + ExportSpecifier: ["exported"], + ExportNamespaceSpecifier: ["exported"], + ExportDefaultSpecifier: ["exported"], + + FunctionDeclaration: ["id", "params"], + FunctionExpression: ["id", "params"], + + ClassDeclaration: ["id"], + ClassExpression: ["id"], + + RestElement: ["argument"], + UpdateExpression: ["argument"], + + RestProperty: ["argument"], + ObjectProperty: ["value"], + + AssignmentPattern: ["left"], + ArrayPattern: ["elements"], + ObjectPattern: ["properties"], + + VariableDeclaration: ["declarations"], + VariableDeclarator: ["id"] +}; + +function getOuterBindingIdentifiers(node, duplicates) { + return getBindingIdentifiers(node, duplicates, true); +} \ No newline at end of file diff --git a/socket/node_modules/babel-types/lib/validators.js b/socket/node_modules/babel-types/lib/validators.js new file mode 100644 index 0000000..ec30e55 --- /dev/null +++ b/socket/node_modules/babel-types/lib/validators.js @@ -0,0 +1,265 @@ +"use strict"; + +exports.__esModule = true; + +var _keys = require("babel-runtime/core-js/object/keys"); + +var _keys2 = _interopRequireDefault(_keys); + +var _typeof2 = require("babel-runtime/helpers/typeof"); + +var _typeof3 = _interopRequireDefault(_typeof2); + +var _getIterator2 = require("babel-runtime/core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +exports.isBinding = isBinding; +exports.isReferenced = isReferenced; +exports.isValidIdentifier = isValidIdentifier; +exports.isLet = isLet; +exports.isBlockScoped = isBlockScoped; +exports.isVar = isVar; +exports.isSpecifierDefault = isSpecifierDefault; +exports.isScope = isScope; +exports.isImmutable = isImmutable; +exports.isNodesEquivalent = isNodesEquivalent; + +var _retrievers = require("./retrievers"); + +var _esutils = require("esutils"); + +var _esutils2 = _interopRequireDefault(_esutils); + +var _index = require("./index"); + +var t = _interopRequireWildcard(_index); + +var _constants = require("./constants"); + +function _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; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function isBinding(node, parent) { + var keys = _retrievers.getBindingIdentifiers.keys[parent.type]; + if (keys) { + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var val = parent[key]; + if (Array.isArray(val)) { + if (val.indexOf(node) >= 0) return true; + } else { + if (val === node) return true; + } + } + } + + return false; +} + +function isReferenced(node, parent) { + switch (parent.type) { + case "BindExpression": + return parent.object === node || parent.callee === node; + + case "MemberExpression": + case "JSXMemberExpression": + if (parent.property === node && parent.computed) { + return true; + } else if (parent.object === node) { + return true; + } else { + return false; + } + + case "MetaProperty": + return false; + + case "ObjectProperty": + if (parent.key === node) { + return parent.computed; + } + + case "VariableDeclarator": + return parent.id !== node; + + case "ArrowFunctionExpression": + case "FunctionDeclaration": + case "FunctionExpression": + for (var _iterator = parent.params, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var param = _ref; + + if (param === node) return false; + } + + return parent.id !== node; + + case "ExportSpecifier": + if (parent.source) { + return false; + } else { + return parent.local === node; + } + + case "ExportNamespaceSpecifier": + case "ExportDefaultSpecifier": + return false; + + case "JSXAttribute": + return parent.name !== node; + + case "ClassProperty": + if (parent.key === node) { + return parent.computed; + } else { + return parent.value === node; + } + + case "ImportDefaultSpecifier": + case "ImportNamespaceSpecifier": + case "ImportSpecifier": + return false; + + case "ClassDeclaration": + case "ClassExpression": + return parent.id !== node; + + case "ClassMethod": + case "ObjectMethod": + return parent.key === node && parent.computed; + + case "LabeledStatement": + return false; + + case "CatchClause": + return parent.param !== node; + + case "RestElement": + return false; + + case "AssignmentExpression": + return parent.right === node; + + case "AssignmentPattern": + return parent.right === node; + + case "ObjectPattern": + case "ArrayPattern": + return false; + } + + return true; +} + +function isValidIdentifier(name) { + if (typeof name !== "string" || _esutils2.default.keyword.isReservedWordES6(name, true)) { + return false; + } else if (name === "await") { + return false; + } else { + return _esutils2.default.keyword.isIdentifierNameES6(name); + } +} + +function isLet(node) { + return t.isVariableDeclaration(node) && (node.kind !== "var" || node[_constants.BLOCK_SCOPED_SYMBOL]); +} + +function isBlockScoped(node) { + return t.isFunctionDeclaration(node) || t.isClassDeclaration(node) || t.isLet(node); +} + +function isVar(node) { + return t.isVariableDeclaration(node, { kind: "var" }) && !node[_constants.BLOCK_SCOPED_SYMBOL]; +} + +function isSpecifierDefault(specifier) { + return t.isImportDefaultSpecifier(specifier) || t.isIdentifier(specifier.imported || specifier.exported, { name: "default" }); +} + +function isScope(node, parent) { + if (t.isBlockStatement(node) && t.isFunction(parent, { body: node })) { + return false; + } + + return t.isScopable(node); +} + +function isImmutable(node) { + if (t.isType(node.type, "Immutable")) return true; + + if (t.isIdentifier(node)) { + if (node.name === "undefined") { + return true; + } else { + return false; + } + } + + return false; +} + +function isNodesEquivalent(a, b) { + if ((typeof a === "undefined" ? "undefined" : (0, _typeof3.default)(a)) !== "object" || (typeof a === "undefined" ? "undefined" : (0, _typeof3.default)(a)) !== "object" || a == null || b == null) { + return a === b; + } + + if (a.type !== b.type) { + return false; + } + + var fields = (0, _keys2.default)(t.NODE_FIELDS[a.type] || a.type); + + for (var _iterator2 = fields, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : (0, _getIterator3.default)(_iterator2);;) { + var _ref2; + + if (_isArray2) { + if (_i2 >= _iterator2.length) break; + _ref2 = _iterator2[_i2++]; + } else { + _i2 = _iterator2.next(); + if (_i2.done) break; + _ref2 = _i2.value; + } + + var field = _ref2; + + if ((0, _typeof3.default)(a[field]) !== (0, _typeof3.default)(b[field])) { + return false; + } + + if (Array.isArray(a[field])) { + if (!Array.isArray(b[field])) { + return false; + } + if (a[field].length !== b[field].length) { + return false; + } + + for (var i = 0; i < a[field].length; i++) { + if (!isNodesEquivalent(a[field][i], b[field][i])) { + return false; + } + } + continue; + } + + if (!isNodesEquivalent(a[field], b[field])) { + return false; + } + } + + return true; +} \ No newline at end of file diff --git a/socket/node_modules/babel-types/package-lock.json b/socket/node_modules/babel-types/package-lock.json new file mode 100644 index 0000000..49fefe9 --- /dev/null +++ b/socket/node_modules/babel-types/package-lock.json @@ -0,0 +1,29 @@ +{ + "name": "babel-types", + "version": "6.25.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + }, + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + } + } +} diff --git a/socket/node_modules/babel-types/package.json b/socket/node_modules/babel-types/package.json new file mode 100644 index 0000000..c2acabb --- /dev/null +++ b/socket/node_modules/babel-types/package.json @@ -0,0 +1,54 @@ +{ + "_from": "babel-types@^6.24.1", + "_id": "babel-types@6.26.0", + "_inBundle": false, + "_integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "_location": "/babel-types", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "babel-types@^6.24.1", + "name": "babel-types", + "escapedName": "babel-types", + "rawSpec": "^6.24.1", + "saveSpec": null, + "fetchSpec": "^6.24.1" + }, + "_requiredBy": [ + "/babel-helper-function-name", + "/babel-helper-get-function-arity", + "/babel-template", + "/babel-traverse" + ], + "_resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "_shasum": "a3b073f94ab49eb6fa55cd65227a334380632497", + "_spec": "babel-types@^6.24.1", + "_where": "/var/www/htdocs/coze/socket/node_modules/babel-helper-function-name", + "author": { + "name": "Sebastian McKenzie", + "email": "sebmck@gmail.com" + }, + "bundleDependencies": false, + "dependencies": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + }, + "deprecated": false, + "description": "Babel Types is a Lodash-esque utility library for AST nodes", + "devDependencies": { + "babel-generator": "^6.26.0", + "babylon": "^6.18.0" + }, + "homepage": "https://babeljs.io/", + "license": "MIT", + "main": "lib/index.js", + "name": "babel-types", + "repository": { + "type": "git", + "url": "https://github.com/babel/babel/tree/master/packages/babel-types" + }, + "version": "6.26.0" +} diff --git a/socket/node_modules/babylon/CHANGELOG.md b/socket/node_modules/babylon/CHANGELOG.md new file mode 100644 index 0000000..f5f1794 --- /dev/null +++ b/socket/node_modules/babylon/CHANGELOG.md @@ -0,0 +1,979 @@ +# Changelog + +> **Tags:** +> - :boom: [Breaking Change] +> - :eyeglasses: [Spec Compliancy] +> - :rocket: [New Feature] +> - :bug: [Bug Fix] +> - :memo: [Documentation] +> - :house: [Internal] +> - :nail_care: [Polish] + +> Semver Policy: https://github.com/babel/babylon#semver + +_Note: Gaps between patch versions are faulty, broken or test releases._ + +See the [Babel Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md) for the pre-6.8.0 version Changelog. + +## 6.17.4 (2017-06-18) + + * Fix comment attachment for call expressions (#575) (aardito2) + * Correctly put typeParameters on FunctionExpression (#585) (Daniel Tschinder) + +## 6.17.3 (2017-06-09) + + * Fix location info on FunctionTypeParam nodes (#565) (#571) (Michal Srb) + * Fix stmt value being the raw value (#557) (#558) (Daniel Tschinder) + +## 6.17.2 (2017-05-31) + + * Fixed disappearing comments following a trailing comma on the last property of an object literal or the last argument of a call expression (#478) (aardito2) + * Fix #437: only prohibit 'export type from "module" ' when flow is enabled (#438) (Kevin Gibbons) + * Fix handling of anonymous parameters in `flowParseObjectTypeMethodish`. (#526) (Max Schaefer) + * Convert argument of SpreadElement correctly to assignable (#518) (Daniel Tschinder) + +## 6.17.1 (2017-05-10) + + * Fix typo in flow spread operator error (Brian Ng) + * Fixed invalid number literal parsing ([#473](https://github.com/babel/babylon/pull/473)) (Alex Kuzmenko) + * Fix number parser ([#433](https://github.com/babel/babylon/pull/433)) (Alex Kuzmenko) + * Ensure non pattern shorthand props are checked for reserved words ([#479](https://github.com/babel/babylon/pull/479)) (Brian Ng) + * Remove jsx context when parsing arrow functions ([#475](https://github.com/babel/babylon/pull/475)) (Brian Ng) + * Allow super in class properties ([#499](https://github.com/babel/babylon/pull/499)) (Brian Ng) + * Allow flow class field to be named constructor ([#510](https://github.com/babel/babylon/pull/510)) (Brian Ng) + +## 6.17.0 (2017-04-20) + + * Cherry-pick #418 to 6.x ([#476](https://github.com/babel/babylon/pull/476)) (Sebastian McKenzie) + * Add support for invalid escapes in tagged templates ([#274](https://github.com/babel/babylon/pull/274)) (Kevin Gibbons) + * Throw error if new.target is used outside of a function ([#402](https://github.com/babel/babylon/pull/402)) (Brian Ng) + * Fix parsing of class properties ([#351](https://github.com/babel/babylon/pull/351)) (Kevin Gibbons) + * Fix parsing yield with dynamicImport ([#383](https://github.com/babel/babylon/pull/383)) (Brian Ng) + * Ensure consistent start args for parseParenItem ([#386](https://github.com/babel/babylon/pull/386)) (Brian Ng) + +## 6.16.0 (2017-02-23) + +### :rocket: New Feature + +***ESTree*** compatibility as plugin ([#277](https://github.com/babel/babylon/pull/277)) (Daniel Tschinder) + +We finally introduce a new compatibility layer for ESTree. To put babylon into ESTree-compatible mode the new plugin `estree` can be enabled. In this mode the parser will output an AST that is compliant to the specs of [ESTree](https://github.com/estree/estree/) + +We highly recommend everyone who uses babylon outside of babel to use this plugin. This will make it much easier for users to switch between different ESTree-compatible parsers. We so far tested several projects with different parsers and exchanged their parser to babylon and in nearly all cases it worked out of the box. Some other estree-compatible parsers include `acorn`, `esprima`, `espree`, `flow-parser`, etc. + +To enable `estree` mode simply add the plugin in the config: +```json +{ + "plugins": [ "estree" ] +} +``` + +If you want to migrate your project from non-ESTree mode to ESTree, have a look at our [Readme](https://github.com/babel/babylon/#output), where all deviations are mentioned. + +Add a parseExpression public method ([#213](https://github.com/babel/babylon/pull/213)) (jeromew) + +Babylon exports a new function to parse a single expression + +```js +import { parseExpression } from 'babylon'; + +const ast = parseExpression('x || y && z', options); +``` + +The returned AST will only consist of the expression. The options are the same as for `parse()` + +Add startLine option ([#346](https://github.com/babel/babylon/pull/346)) (Raphael Mu) + +A new option was added to babylon allowing to change the intial linenumber for the first line which is usually `1`. +Changing this for example to `100` will make line `1` of the input source to be marked as line `100`, line `2` as `101`, line `3` as `102`, ... + +Function predicate declaration ([#103](https://github.com/babel/babylon/pull/103)) (Panagiotis Vekris) + +Added support for function predicates which flow introduced in version 0.33.0 + +```js +declare function is_number(x: mixed): boolean %checks(typeof x === "number"); +``` + +Allow imports in declare module ([#315](https://github.com/babel/babylon/pull/315)) (Daniel Tschinder) + +Added support for imports within module declarations which flow introduced in version 0.37.0 + +```js +declare module "C" { + import type { DT } from "D"; + declare export type CT = { D: DT }; +} +``` + +### :eyeglasses: Spec Compliancy + +Forbid semicolons after decorators in classes ([#352](https://github.com/babel/babylon/pull/352)) (Kevin Gibbons) + +This example now correctly throws an error when there is a semicolon after the decorator: + +```js +class A { +@a; +foo(){} +} +``` + +Keywords are not allowed as local specifier ([#307](https://github.com/babel/babylon/pull/307)) (Daniel Tschinder) + +Using keywords in imports is not allowed anymore: + +```js +import { default } from "foo"; +import { a as debugger } from "foo"; +``` + +Do not allow overwritting of primitive types ([#314](https://github.com/babel/babylon/pull/314)) (Daniel Tschinder) + +In flow it is now forbidden to overwrite the primitve types `"any"`, `"mixed"`, `"empty"`, `"bool"`, `"boolean"`, `"number"`, `"string"`, `"void"` and `"null"` with your own type declaration. + +Disallow import type { type a } from … ([#305](https://github.com/babel/babylon/pull/305)) (Daniel Tschinder) + +The following code now correctly throws an error + +```js +import type { type a } from "foo"; +``` + +Don't parse class properties without initializers when classProperties is disabled and Flow is enabled ([#300](https://github.com/babel/babylon/pull/300)) (Andrew Levine) + +Ensure that you enable the `classProperties` plugin in order to enable correct parsing of class properties. Prior to this version it was possible to parse them by enabling the `flow` plugin but this was not intended the behaviour. + +If you enable the flow plugin you can only define the type of the class properties, but not initialize them. + +Fix export default async function to be FunctionDeclaration ([#324](https://github.com/babel/babylon/pull/324)) (Daniel Tschinder) + +Parsing the following code now returns a `FunctionDeclaration` AST node instead of `FunctionExpression`. + +```js +export default async function bar() {}; +``` + +### :nail_care: Polish + +Improve error message on attempt to destructure named import ([#288](https://github.com/babel/babylon/pull/288)) (Brian Ng) + +### :bug: Bug Fix + +Fix negative number literal typeannotations ([#366](https://github.com/babel/babylon/pull/366)) (Daniel Tschinder) + +Ensure takeDecorators is called on exported class ([#358](https://github.com/babel/babylon/pull/358)) (Brian Ng) + +ESTree: correctly change literals in all cases ([#368](https://github.com/babel/babylon/pull/368)) (Daniel Tschinder) + +Correctly convert RestProperty to Assignable ([#339](https://github.com/babel/babylon/pull/339)) (Daniel Tschinder) + +Fix #321 by allowing question marks in type params ([#338](https://github.com/babel/babylon/pull/338)) (Daniel Tschinder) + +Fix #336 by correctly setting arrow-param ([#337](https://github.com/babel/babylon/pull/337)) (Daniel Tschinder) + +Fix parse error when destructuring `set` with default value ([#317](https://github.com/babel/babylon/pull/317)) (Brian Ng) + +Fix ObjectTypeCallProperty static ([#298](https://github.com/babel/babylon/pull/298)) (Dan Harper) + + +### :house: Internal + +Fix generator-method-with-computed-name spec ([#360](https://github.com/babel/babylon/pull/360)) (Alex Rattray) + +Fix flow type-parameter-declaration test with unintended semantic ([#361](https://github.com/babel/babylon/pull/361)) (Alex Rattray) + +Cleanup and splitup parser functions ([#295](https://github.com/babel/babylon/pull/295)) (Daniel Tschinder) + +chore(package): update flow-bin to version 0.38.0 ([#313](https://github.com/babel/babylon/pull/313)) (greenkeeper[bot]) + +Call inner function instead of 1:1 copy to plugin ([#294](https://github.com/babel/babylon/pull/294)) (Daniel Tschinder) + +Update eslint-config-babel to the latest version 🚀 ([#299](https://github.com/babel/babylon/pull/299)) (greenkeeper[bot]) + +Update eslint-config-babel to the latest version 🚀 ([#293](https://github.com/babel/babylon/pull/293)) (greenkeeper[bot]) + +devDeps: remove eslint-plugin-babel ([#292](https://github.com/babel/babylon/pull/292)) (Kai Cataldo) + +Correct indent eslint rule config ([#276](https://github.com/babel/babylon/pull/276)) (Daniel Tschinder) + +Fail tests that have expected.json and throws-option ([#285](https://github.com/babel/babylon/pull/285)) (Daniel Tschinder) + +### :memo: Documentation + +Update contributing with more test info [skip ci] ([#355](https://github.com/babel/babylon/pull/355)) (Brian Ng) + +Update API documentation ([#330](https://github.com/babel/babylon/pull/330)) (Timothy Gu) + +Added keywords to package.json ([#323](https://github.com/babel/babylon/pull/323)) (Dmytro) + +AST spec: fix casing of `RegExpLiteral` ([#318](https://github.com/babel/babylon/pull/318)) (Mathias Bynens) + +## 6.15.0 (2017-01-10) + +### :eyeglasses: Spec Compliancy + +Add support for Flow shorthand import type ([#267](https://github.com/babel/babylon/pull/267)) (Jeff Morrison) + +This change implements flows new shorthand import syntax +and where previously you had to write this code: + +```js +import {someValue} from "blah"; +import type {someType} from "blah"; +import typeof {someOtherValue} from "blah"; +``` + +you can now write it like this: + +```js +import { + someValue, + type someType, + typeof someOtherValue, +} from "blah"; +``` + +For more information look at [this](https://github.com/facebook/flow/pull/2890) pull request. + +flow: allow leading pipes in all positions ([#256](https://github.com/babel/babylon/pull/256)) (Vladimir Kurchatkin) + +This change now allows a leading pipe everywhere types can be used: +```js +var f = (x): | 1 | 2 => 1; +``` + +Throw error when exporting non-declaration ([#241](https://github.com/babel/babylon/pull/241)) (Kai Cataldo) + +Previously babylon parsed the following exports, although they are not valid: +```js +export typeof foo; +export new Foo(); +export function() {}; +export for (;;); +export while(foo); +``` + +### :bug: Bug Fix + +Don't set inType flag when parsing property names ([#266](https://github.com/babel/babylon/pull/266)) (Vladimir Kurchatkin) + +This fixes parsing of this case: + +```js +const map = { + [age <= 17] : 'Too young' +}; +``` + +Fix source location for JSXEmptyExpression nodes (fixes #248) ([#249](https://github.com/babel/babylon/pull/249)) (James Long) + +The following case produced an invalid AST +```js +
{/* foo */}
+``` + +Use fromCodePoint to convert high value unicode entities ([#243](https://github.com/babel/babylon/pull/243)) (Ryan Duffy) + +When high value unicode entities (e.g. 💩) were used in the input source code they are now correctly encoded in the resulting AST. + +Rename folder to avoid Windows-illegal characters ([#281](https://github.com/babel/babylon/pull/281)) (Ryan Plant) + +Allow this.state.clone() when parsing decorators ([#262](https://github.com/babel/babylon/pull/262)) (Alex Rattray) + +### :house: Internal + +User external-helpers ([#254](https://github.com/babel/babylon/pull/254)) (Daniel Tschinder) + +Add watch script for dev ([#234](https://github.com/babel/babylon/pull/234)) (Kai Cataldo) + +Freeze current plugins list for "*" option, and remove from README.md ([#245](https://github.com/babel/babylon/pull/245)) (Andrew Levine) + +Prepare tests for multiple fixture runners. ([#240](https://github.com/babel/babylon/pull/240)) (Daniel Tschinder) + +Add some test coverage for decorators stage-0 plugin ([#250](https://github.com/babel/babylon/pull/250)) (Andrew Levine) + +Refactor tokenizer types file ([#263](https://github.com/babel/babylon/pull/263)) (Sven SAULEAU) + +Update eslint-config-babel to the latest version 🚀 ([#273](https://github.com/babel/babylon/pull/273)) (greenkeeper[bot]) + +chore(package): update rollup to version 0.41.0 ([#272](https://github.com/babel/babylon/pull/272)) (greenkeeper[bot]) + +chore(package): update flow-bin to version 0.37.0 ([#255](https://github.com/babel/babylon/pull/255)) (greenkeeper[bot]) + +## 6.14.1 (2016-11-17) + +### :bug: Bug Fix + +Allow `"plugins": ["*"]` ([#229](https://github.com/babel/babylon/pull/229)) (Daniel Tschinder) + +```js +{ + "plugins": ["*"] +} +``` + +Will include all parser plugins instead of specifying each one individually. Useful for tools like babel-eslint, jscodeshift, and ast-explorer. + +## 6.14.0 (2016-11-16) + +### :eyeglasses: Spec Compliancy + +Throw error for reserved words `enum` and `await` ([#195](https://github.com/babel/babylon/pull/195)) (Kai Cataldo) + +[11.6.2.2 Future Reserved Words](http://www.ecma-international.org/ecma-262/6.0/#sec-future-reserved-words) + +Babylon will throw for more reserved words such as `enum` or `await` (in strict mode). + +``` +class enum {} // throws +class await {} // throws in strict mode (module) +``` + +Optional names for function types and object type indexers ([#197](https://github.com/babel/babylon/pull/197)) (Gabe Levi) + +So where you used to have to write + +```js +type A = (x: string, y: boolean) => number; +type B = (z: string) => number; +type C = { [key: string]: number }; +``` + +you can now write (with flow 0.34.0) + +```js +type A = (string, boolean) => number; +type B = string => number; +type C = { [string]: number }; +``` + +Parse flow nested array type annotations like `number[][]` ([#219](https://github.com/babel/babylon/pull/219)) (Bernhard Häussner) + +Supports these form now of specifying array types: + +```js +var a: number[][][][]; +var b: string[][]; +``` + +### :bug: Bug Fix + +Correctly eat semicolon at the end of `DelcareModuleExports` ([#223](https://github.com/babel/babylon/pull/223)) (Daniel Tschinder) + +``` +declare module "foo" { declare module.exports: number } +declare module "foo" { declare module.exports: number; } // also allowed now +``` + +### :house: Internal + + * Count Babel tests towards Babylon code coverage ([#182](https://github.com/babel/babylon/pull/182)) (Moti Zilberman) + * Fix strange line endings ([#214](https://github.com/babel/babylon/pull/214)) (Thomas Grainger) + * Add node 7 (Daniel Tschinder) + * chore(package): update flow-bin to version 0.34.0 ([#204](https://github.com/babel/babylon/pull/204)) (Greenkeeper) + +## v6.13.1 (2016-10-26) + +### :nail_care: Polish + +- Use rollup for bundling to speed up startup time ([#190](https://github.com/babel/babylon/pull/190)) ([@drewml](https://github.com/DrewML)) + +```js +const babylon = require('babylon'); +const ast = babylon.parse('var foo = "lol";'); +``` + +With that test case, there was a ~95ms savings by removing the need for node to build/traverse the dependency graph. + +**Without bundling** +![image](https://cloud.githubusercontent.com/assets/5233399/19420264/3133497e-93ad-11e6-9a6a-2da59c4f5c13.png) + +**With bundling** +![image](https://cloud.githubusercontent.com/assets/5233399/19420267/388f556e-93ad-11e6-813e-7c5c396be322.png) + +- add clean command [skip ci] ([#201](https://github.com/babel/babylon/pull/201)) (Henry Zhu) +- add ForAwaitStatement (async generator already added) [skip ci] ([#196](https://github.com/babel/babylon/pull/196)) (Henry Zhu) + +## v6.13.0 (2016-10-21) + +### :eyeglasses: Spec Compliancy + +Property variance type annotations for Flow plugin ([#161](https://github.com/babel/babylon/pull/161)) (Sam Goldman) + +> See https://flowtype.org/docs/variance.html for more information + +```js +type T = { +p: T }; +interface T { -p: T }; +declare class T { +[k:K]: V }; +class T { -[k:K]: V }; +class C2 { +p: T = e }; +``` + +Raise error on duplicate definition of __proto__ ([#183](https://github.com/babel/babylon/pull/183)) (Moti Zilberman) + +```js +({ __proto__: 1, __proto__: 2 }) // Throws an error now +``` + +### :bug: Bug Fix + +Flow: Allow class properties to be named `static` ([#184](https://github.com/babel/babylon/pull/184)) (Moti Zilberman) + +```js +declare class A { + static: T; +} +``` + +Allow "async" as identifier for object literal property shorthand ([#187](https://github.com/babel/babylon/pull/187)) (Andrew Levine) + +```js +var foo = { async, bar }; +``` + +### :nail_care: Polish + +Fix flowtype and add inType to state ([#189](https://github.com/babel/babylon/pull/189)) (Daniel Tschinder) + +> This improves the performance slightly (because of hidden classes) + +### :house: Internal + +Fix .gitattributes line ending setting ([#191](https://github.com/babel/babylon/pull/191)) (Moti Zilberman) + +Increase test coverage ([#175](https://github.com/babel/babylon/pull/175) (Moti Zilberman) + +Readd missin .eslinignore for IDEs (Daniel Tschinder) + +Error on missing expected.json fixture in CI ([#188](https://github.com/babel/babylon/pull/188)) (Moti Zilberman) + +Add .gitattributes and .editorconfig for LF line endings ([#179](https://github.com/babel/babylon/pull/179)) (Moti Zilberman) + +Fixes two tests that are failing after the merge of #172 ([#177](https://github.com/babel/babylon/pull/177)) (Moti Zilberman) + +## v6.12.0 (2016-10-14) + +### :eyeglasses: Spec Compliancy + +Implement import() syntax ([#163](https://github.com/babel/babylon/pull/163)) (Jordan Gensler) + +#### Dynamic Import + +- Proposal Repo: https://github.com/domenic/proposal-dynamic-import +- Championed by [@domenic](https://github.com/domenic) +- stage-2 +- [sept-28 tc39 notes](https://github.com/rwaldron/tc39-notes/blob/master/es7/2016-09/sept-28.md#113a-import) + +> This repository contains a proposal for adding a "function-like" import() module loading syntactic form to JavaScript + +```js +import(`./section-modules/${link.dataset.entryModule}.js`) +.then(module => { + module.loadPageInto(main); +}) +``` + +Add EmptyTypeAnnotation ([#171](https://github.com/babel/babylon/pull/171)) (Sam Goldman) + +#### EmptyTypeAnnotation + +Just wasn't covered before. + +```js +type T = empty; +``` + +### :bug: Bug Fix + +Fix crash when exporting with destructuring and sparse array ([#170](https://github.com/babel/babylon/pull/170)) (Jeroen Engels) + +```js +// was failing due to sparse array +export const { foo: [ ,, qux7 ] } = bar; +``` + +Allow keyword in Flow object declaration property names with type parameters ([#146](https://github.com/babel/babylon/pull/146)) (Dan Harper) + +```js +declare class X { + foobar(): void; + static foobar(): void; +} +``` + +Allow keyword in object/class property names with Flow type parameters ([#145](https://github.com/babel/babylon/pull/145)) (Dan Harper) + +```js +class Foo { + delete(item: T): T { + return item; + } +} +``` + +Allow typeAnnotations for yield expressions ([#174](https://github.com/babel/babylon/pull/174))) (Daniel Tschinder) + +```js +function *foo() { + const x = (yield 5: any); +} +``` + +### :nail_care: Polish + +Annotate more errors with expected token ([#172](https://github.com/babel/babylon/pull/172))) (Moti Zilberman) + +```js +// Unexpected token, expected ; (1:6) +{ set 1 } +``` + +### :house: Internal + +Remove kcheck ([#173](https://github.com/babel/babylon/pull/173))) (Daniel Tschinder) + +Also run flow, linting, babel tests on seperate instances (add back node 0.10) + +## v6.11.6 (2016-10-12) + +### :bug: Bug Fix/Regression + +Fix crash when exporting with destructuring and sparse array ([#170](https://github.com/babel/babylon/pull/170)) (Jeroen Engels) + +```js +// was failing with `Cannot read property 'type' of null` because of null identifiers +export const { foo: [ ,, qux7 ] } = bar; +``` + +## v6.11.5 (2016-10-12) + +### :eyeglasses: Spec Compliancy + +Fix: Check for duplicate named exports in exported destructuring assignments ([#144](https://github.com/babel/babylon/pull/144)) (Kai Cataldo) + +```js +// `foo` has already been exported. Exported identifiers must be unique. (2:20) +export function foo() {}; +export const { a: [{foo}] } = bar; +``` + +Fix: Check for duplicate named exports in exported rest elements/properties ([#164](https://github.com/babel/babylon/pull/164)) (Kai Cataldo) + +```js +// `foo` has already been exported. Exported identifiers must be unique. (2:22) +export const foo = 1; +export const [bar, ...foo] = baz; +``` + +### :bug: Bug Fix + +Fix: Allow identifier `async` for default param in arrow expression ([#165](https://github.com/babel/babylon/pull/165)) (Kai Cataldo) + +```js +// this is ok now +const test = ({async = true}) => {}; +``` + +### :nail_care: Polish + +Babylon will now print out the token it's expecting if there's a `SyntaxError` ([#150](https://github.com/babel/babylon/pull/150)) (Daniel Tschinder) + +```bash +# So in the case of a missing ending curly (`}`) +Module build failed: SyntaxError: Unexpected token, expected } (30:0) + 28 | } + 29 | +> 30 | + | ^ +``` + +## v6.11.4 (2016-10-03) + +Temporary rollback for erroring on trailing comma with spread (#154) (Henry Zhu) + +## v6.11.3 (2016-10-01) + +### :eyeglasses: Spec Compliancy + +Add static errors for object rest (#149) ([@danez](https://github.com/danez)) + +> https://github.com/sebmarkbage/ecmascript-rest-spread + +Object rest copies the *rest* of properties from the right hand side `obj` starting from the left to right. + +```js +let { x, y, ...z } = { x: 1, y: 2, z: 3 }; +// x = 1 +// y = 2 +// z = { z: 3 } +``` + +#### New Syntax Errors: + +**SyntaxError**: The rest element has to be the last element when destructuring (1:10) +```bash +> 1 | let { ...x, y, z } = { x: 1, y: 2, z: 3}; + | ^ +# Previous behavior: +# x = { x: 1, y: 2, z: 3 } +# y = 2 +# z = 3 +``` + +Before, this was just a more verbose way of shallow copying `obj` since it doesn't actually do what you think. + +**SyntaxError**: Cannot have multiple rest elements when destructuring (1:13) + +```bash +> 1 | let { x, ...y, ...z } = { x: 1, y: 2, z: 3}; + | ^ +# Previous behavior: +# x = 1 +# y = { y: 2, z: 3 } +# z = { y: 2, z: 3 } +``` + +Before y and z would just be the same value anyway so there is no reason to need to have both. + +**SyntaxError**: A trailing comma is not permitted after the rest element (1:16) + +```js +let { x, y, ...z, } = obj; +``` + +The rationale for this is that the use case for trailing comma is that you can add something at the end without affecting the line above. Since a RestProperty always has to be the last property it doesn't make sense. + +--- + +get / set are valid property names in default assignment (#142) ([@jezell](https://github.com/jezell)) + +```js +// valid +function something({ set = null, get = null }) {} +``` + +## v6.11.2 (2016-09-23) + +### Bug Fix + +- [#139](https://github.com/babel/babylon/issues/139) Don't do the duplicate check if not an identifier (#140) @hzoo + +```js +// regression with duplicate export check +SyntaxError: ./typography.js: `undefined` has already been exported. Exported identifiers must be unique. (22:13) + 20 | + 21 | export const { rhythm } = typography; +> 22 | export const { TypographyStyle } = typography +``` + +Bail out for now, and make a change to account for destructuring in the next release. + +## 6.11.1 (2016-09-22) + +### Bug Fix +- [#137](https://github.com/babel/babylon/pull/137) - Fix a regression with duplicate exports - it was erroring on all keys in `Object.prototype`. @danez + +```javascript +export toString from './toString'; +``` + +```bash +`toString` has already been exported. Exported identifiers must be unique. (1:7) +> 1 | export toString from './toString'; + | ^ + 2 | +``` + +## 6.11.0 (2016-09-22) + +### Spec Compliancy (will break CI) + +- Disallow duplicate named exports ([#107](https://github.com/babel/babylon/pull/107)) @kaicataldo + +```js +// Only one default export allowed per module. (2:9) +export default function() {}; +export { foo as default }; + +// Only one default export allowed per module. (2:0) +export default {}; +export default function() {}; + +// `Foo` has already been exported. Exported identifiers must be unique. (2:0) +export { Foo }; +export class Foo {}; +``` + +### New Feature (Syntax) + +- Add support for computed class property names ([#121](https://github.com/babel/babylon/pull/121)) @motiz88 + +```js +// AST +interface ClassProperty <: Node { + type: "ClassProperty"; + key: Identifier; + value: Expression; + computed: boolean; // added +} +``` + +```js +// with "plugins": ["classProperties"] +class Foo { + [x] + ['y'] +} + +class Bar { + [p] + [m] () {} +} + ``` + +### Bug Fix + +- Fix `static` property falling through in the declare class Flow AST ([#135](https://github.com/babel/babylon/pull/135)) @danharper + +```js +declare class X { + a: number; + static b: number; // static + c: number; // this was being marked as static in the AST as well +} +``` + +### Polish + +- Rephrase "assigning/binding to rvalue" errors to include context ([#119](https://github.com/babel/babylon/pull/119)) @motiz88 + +```js +// Used to error with: +// SyntaxError: Assigning to rvalue (1:0) + +// Now: +// Invalid left-hand side in assignment expression (1:0) +3 = 4 + +// Invalid left-hand side in for-in statement (1:5) +for (+i in {}); +``` + +### Internal + +- Fix call to `this.parseMaybeAssign` with correct arguments ([#133](https://github.com/babel/babylon/pull/133)) @danez +- Add semver note to changelog ([#131](https://github.com/babel/babylon/pull/131)) @hzoo + +## 6.10.0 (2016-09-19) + +> We plan to include some spec compliancy bugs in patch versions. An example was the multiple default exports issue. + +### Spec Compliancy + +* Implement ES2016 check for simple parameter list in strict mode ([#106](https://github.com/babel/babylon/pull/106)) (Timothy Gu) + +> It is a Syntax Error if ContainsUseStrict of FunctionBody is true and IsSimpleParameterList of FormalParameters is false. https://tc39.github.io/ecma262/2016/#sec-function-definitions-static-semantics-early-errors + +More Context: [tc39-notes](https://github.com/rwaldron/tc39-notes/blob/master/es7/2015-07/july-29.md#611-the-scope-of-use-strict-with-respect-to-destructuring-in-parameter-lists) + +For example: + +```js +// this errors because it uses destructuring and default parameters +// in a function with a "use strict" directive +function a([ option1, option2 ] = []) { + "use strict"; +} + ``` + +The solution would be to use a top level "use strict" or to remove the destructuring or default parameters when using a function + "use strict" or to. + +### New Feature + +* Exact object type annotations for Flow plugin ([#104](https://github.com/babel/babylon/pull/104)) (Basil Hosmer) + +Added to flow in https://github.com/facebook/flow/commit/c710c40aa2a115435098d6c0dfeaadb023cd39b8 + +Looks like: + +```js +var a : {| x: number, y: string |} = { x: 0, y: 'foo' }; +``` + +### Bug Fixes + +* Include `typeParameter` location in `ArrowFunctionExpression` ([#126](https://github.com/babel/babylon/pull/126)) (Daniel Tschinder) +* Error on invalid flow type annotation with default assignment ([#122](https://github.com/babel/babylon/pull/122)) (Dan Harper) +* Fix Flow return types on arrow functions ([#124](https://github.com/babel/babylon/pull/124)) (Dan Harper) + +### Misc + +* Add tests for export extensions ([#127](https://github.com/babel/babylon/pull/127)) (Daniel Tschinder) +* Fix Contributing guidelines [skip ci] (Daniel Tschinder) + +## 6.9.2 (2016-09-09) + +The only change is to remove the `babel-runtime` dependency by compiling with Babel's ES2015 loose mode. So using babylon standalone should be smaller. + +## 6.9.1 (2016-08-23) + +This release contains mainly small bugfixes but also updates babylons default mode to es2017. The features for `exponentiationOperator`, `asyncFunctions` and `trailingFunctionCommas` which previously needed to be activated via plugin are now enabled by default and the plugins are now no-ops. + +### Bug Fixes + +- Fix issues with default object params in async functions ([#96](https://github.com/babel/babylon/pull/96)) @danez +- Fix issues with flow-types and async function ([#95](https://github.com/babel/babylon/pull/95)) @danez +- Fix arrow functions with destructuring, types & default value ([#94](https://github.com/babel/babylon/pull/94)) @danharper +- Fix declare class with qualified type identifier ([#97](https://github.com/babel/babylon/pull/97)) @danez +- Remove exponentiationOperator, asyncFunctions, trailingFunctionCommas plugins and enable them by default ([#98](https://github.com/babel/babylon/pull/98)) @danez + +## 6.9.0 (2016-08-16) + +### New syntax support + +- Add JSX spread children ([#42](https://github.com/babel/babylon/pull/42)) @calebmer + +(Be aware that React is not going to support this syntax) + +```js +
+ {...todos.map(todo => )} +
+``` + +- Add support for declare module.exports ([#72](https://github.com/babel/babylon/pull/72)) @danez + +```js +declare module "foo" { + declare module.exports: {} +} +``` + +### New Features + +- If supplied, attach filename property to comment node loc. ([#80](https://github.com/babel/babylon/pull/80)) @divmain +- Add identifier name to node loc field ([#90](https://github.com/babel/babylon/pull/90)) @kittens + +### Bug Fixes + +- Fix exponential operator to behave according to spec ([#75](https://github.com/babel/babylon/pull/75)) @danez +- Fix lookahead to not add comments to arrays which are not cloned ([#76](https://github.com/babel/babylon/pull/76)) @danez +- Fix accidental fall-through in Flow type parsing. ([#82](https://github.com/babel/babylon/pull/82)) @xiemaisi +- Only allow declares inside declare module ([#73](https://github.com/babel/babylon/pull/73)) @danez +- Small fix for parsing type parameter declarations ([#83](https://github.com/babel/babylon/pull/83)) @gabelevi +- Fix arrow param locations with flow types ([#57](https://github.com/babel/babylon/pull/57)) @danez +- Fixes SyntaxError position with flow optional type ([#65](https://github.com/babel/babylon/pull/65)) @danez + +### Internal + +- Add codecoverage to tests @danez +- Fix tests to not save expected output if we expect the test to fail @danez +- Make a shallow clone of babel for testing @danez +- chore(package): update cross-env to version 2.0.0 ([#77](https://github.com/babel/babylon/pull/77)) @greenkeeperio-bot +- chore(package): update ava to version 0.16.0 ([#86](https://github.com/babel/babylon/pull/86)) @greenkeeperio-bot +- chore(package): update babel-plugin-istanbul to version 2.0.0 ([#89](https://github.com/babel/babylon/pull/89)) @greenkeeperio-bot +- chore(package): update nyc to version 8.0.0 ([#88](https://github.com/babel/babylon/pull/88)) @greenkeeperio-bot + +## 6.8.4 (2016-07-06) + +### Bug Fixes + +- Fix the location of params, when flow and default value used ([#68](https://github.com/babel/babylon/pull/68)) @danez + +## 6.8.3 (2016-07-02) + +### Bug Fixes + +- Fix performance regression introduced in 6.8.2 with conditionals ([#63](https://github.com/babel/babylon/pull/63)) @danez + +## 6.8.2 (2016-06-24) + +### Bug Fixes + +- Fix parse error with yielding jsx elements in generators `function* it() { yield ; }` ([#31](https://github.com/babel/babylon/pull/31)) @eldereal +- When cloning nodes do not clone its comments ([#24](https://github.com/babel/babylon/pull/24)) @danez +- Fix parse errors when using arrow functions with an spread element and return type `(...props): void => {}` ([#10](https://github.com/babel/babylon/pull/10)) @danez +- Fix leading comments added from previous node ([#23](https://github.com/babel/babylon/pull/23)) @danez +- Fix parse errors with flow's optional arguments `(arg?) => {}` ([#19](https://github.com/babel/babylon/pull/19)) @danez +- Support negative numeric type literals @kittens +- Remove line terminator restriction after await keyword @kittens +- Remove grouped type arrow restriction as it seems flow no longer has it @kittens +- Fix parse error with generic methods that have the name `get` or `set` `class foo { get() {} }` ([#55](https://github.com/babel/babylon/pull/55)) @vkurchatkin +- Fix parse error with arrow functions that have flow type parameter declarations `(x: T): T => x;` ([#54](https://github.com/babel/babylon/pull/54)) @gabelevi + +### Documentation + +- Document AST differences from ESTree ([#41](https://github.com/babel/babylon/pull/41)) @nene +- Move ast spec from babel/babel ([#46](https://github.com/babel/babylon/pull/46)) @hzoo + +### Internal + +- Enable skipped tests ([#16](https://github.com/babel/babylon/pull/16)) @danez +- Add script to test latest version of babylon with babel ([#21](https://github.com/babel/babylon/pull/21)) @danez +- Upgrade test runner ava @kittens +- Add missing generate-identifier-regex script @kittens +- Rename parser context types @kittens +- Add node v6 to travis testing @hzoo +- Update to Unicode v9 ([#45](https://github.com/babel/babylon/pull/45)) @mathiasbynens + +## 6.8.1 (2016-06-06) + +### New Feature + +- Parse type parameter declarations with defaults like `type Foo = T` + +### Bug Fixes +- Type parameter declarations need 1 or more type parameters. +- The existential type `*` is not a valid type parameter. +- The existential type `*` is a primary type + +### Spec Compliancy +- The param list for type parameter declarations now consists of `TypeParameter` nodes +- New `TypeParameter` AST Node (replaces using the `Identifier` node before) + +``` +interface TypeParameter <: Node { + bound: TypeAnnotation; + default: TypeAnnotation; + name: string; + variance: "plus" | "minus"; +} +``` + +## 6.8.0 (2016-05-02) + +#### New Feature + +##### Parse Method Parameter Decorators ([#12](https://github.com/babel/babylon/pull/12)) + +> [Method Parameter Decorators](https://goo.gl/8MmCMG) is now a TC39 [stage 0 proposal](https://github.com/tc39/ecma262/blob/master/stage0.md). + +Examples: + +```js +class Foo { + constructor(@foo() x, @bar({ a: 123 }) @baz() y) {} +} + +export default function func(@foo() x, @bar({ a: 123 }) @baz() y) {} + +var obj = { + method(@foo() x, @bar({ a: 123 }) @baz() y) {} +}; +``` + +##### Parse for-await statements (w/ `asyncGenerators` plugin) ([#17](https://github.com/babel/babylon/pull/17)) + +There is also a new node type, `ForAwaitStatement`. + +> [Async generators and for-await](https://github.com/tc39/proposal-async-iteration) are now a [stage 2 proposal](https://github.com/tc39/ecma262#current-proposals). + +Example: + +```js +async function f() { + for await (let x of y); +} +``` diff --git a/socket/node_modules/babylon/LICENSE b/socket/node_modules/babylon/LICENSE new file mode 100644 index 0000000..d4c7fc5 --- /dev/null +++ b/socket/node_modules/babylon/LICENSE @@ -0,0 +1,19 @@ +Copyright (C) 2012-2014 by various contributors (see AUTHORS) + +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: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +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. diff --git a/socket/node_modules/babylon/README.md b/socket/node_modules/babylon/README.md new file mode 100644 index 0000000..ad2a8fd --- /dev/null +++ b/socket/node_modules/babylon/README.md @@ -0,0 +1,134 @@ +

+ babylon +

+ +

+ Babylon is a JavaScript parser used in Babel. +

+ +

+ Travis Status + Codecov Status +

+ + - The latest ECMAScript version enabled by default (ES2017). + - Comment attachment. + - Support for JSX and Flow. + - Support for experimental language proposals (accepting PRs for anything at least [stage-0](https://github.com/tc39/proposals/blob/master/stage-0-proposals.md)). + +## Credits + +Heavily based on [acorn](https://github.com/marijnh/acorn) and [acorn-jsx](https://github.com/RReverser/acorn-jsx), +thanks to the awesome work of [@RReverser](https://github.com/RReverser) and [@marijnh](https://github.com/marijnh). + +Significant diversions are expected to occur in the future such as streaming, EBNF definitions, sweet.js integration, interspatial parsing and more. + +## API + +### `babylon.parse(code, [options])` + +### `babylon.parseExpression(code, [options])` + +`parse()` parses the provided `code` as an entire ECMAScript program, while +`parseExpression()` tries to parse a single Expression with performance in +mind. When in doubt, use `.parse()`. + +### Options + +- **allowImportExportEverywhere**: By default, `import` and `export` + declarations can only appear at a program's top level. Setting this + option to `true` allows them anywhere where a statement is allowed. + +- **allowReturnOutsideFunction**: By default, a return statement at + the top level raises an error. Set this to `true` to accept such + code. + +- **allowSuperOutsideMethod**: TODO + +- **sourceType**: Indicate the mode the code should be parsed in. Can be + either `"script"` or `"module"`. + +- **sourceFilename**: Correlate output AST nodes with their source filename. Useful when generating code and source maps from the ASTs of multiple input files. + +- **startLine**: By default, the first line of code parsed is treated as line 1. You can provide a line number to alternatively start with. Useful for integration with other source tools. + +- **plugins**: Array containing the plugins that you want to enable. + +- **strictMode**: TODO + +### Output + +Babylon generates AST according to [Babel AST format][]. +It is based on [ESTree spec][] with the following deviations: + +> There is now an `estree` plugin which reverts these deviations + +- [Literal][] token is replaced with [StringLiteral][], [NumericLiteral][], [BooleanLiteral][], [NullLiteral][], [RegExpLiteral][] +- [Property][] token is replaced with [ObjectProperty][] and [ObjectMethod][] +- [MethodDefinition][] is replaced with [ClassMethod][] +- [Program][] and [BlockStatement][] contain additional `directives` field with [Directive][] and [DirectiveLiteral][] +- [ClassMethod][], [ObjectProperty][], and [ObjectMethod][] value property's properties in [FunctionExpression][] is coerced/brought into the main method node. + +AST for JSX code is based on [Facebook JSX AST][] with the addition of one node type: + +- `JSXText` + +[Babel AST format]: https://github.com/babel/babylon/blob/master/ast/spec.md +[ESTree spec]: https://github.com/estree/estree + +[Literal]: https://github.com/estree/estree/blob/master/es5.md#literal +[Property]: https://github.com/estree/estree/blob/master/es5.md#property +[MethodDefinition]: https://github.com/estree/estree/blob/master/es2015.md#methoddefinition + +[StringLiteral]: https://github.com/babel/babylon/blob/master/ast/spec.md#stringliteral +[NumericLiteral]: https://github.com/babel/babylon/blob/master/ast/spec.md#numericliteral +[BooleanLiteral]: https://github.com/babel/babylon/blob/master/ast/spec.md#booleanliteral +[NullLiteral]: https://github.com/babel/babylon/blob/master/ast/spec.md#nullliteral +[RegExpLiteral]: https://github.com/babel/babylon/blob/master/ast/spec.md#regexpliteral +[ObjectProperty]: https://github.com/babel/babylon/blob/master/ast/spec.md#objectproperty +[ObjectMethod]: https://github.com/babel/babylon/blob/master/ast/spec.md#objectmethod +[ClassMethod]: https://github.com/babel/babylon/blob/master/ast/spec.md#classmethod +[Program]: https://github.com/babel/babylon/blob/master/ast/spec.md#programs +[BlockStatement]: https://github.com/babel/babylon/blob/master/ast/spec.md#blockstatement +[Directive]: https://github.com/babel/babylon/blob/master/ast/spec.md#directive +[DirectiveLiteral]: https://github.com/babel/babylon/blob/master/ast/spec.md#directiveliteral +[FunctionExpression]: https://github.com/babel/babylon/blob/master/ast/spec.md#functionexpression + +[Facebook JSX AST]: https://github.com/facebook/jsx/blob/master/AST.md + +### Semver + +Babylon follows semver in most situations. The only thing to note is that some spec-compliancy bug fixes may be released under patch versions. + +For example: We push a fix to early error on something like [#107](https://github.com/babel/babylon/pull/107) - multiple default exports per file. That would be considered a bug fix even though it would cause a build to fail. + +### Example + +```javascript +require("babylon").parse("code", { + // parse in strict mode and allow module declarations + sourceType: "module", + + plugins: [ + // enable jsx and flow syntax + "jsx", + "flow" + ] +}); +``` + +### Plugins + + - `estree` + - `jsx` + - `flow` + - `doExpressions` + - `objectRestSpread` + - `decorators` (Based on an outdated version of the Decorators proposal. Will be removed in a future version of `Babylon`) + - `classProperties` + - `exportExtensions` + - `asyncGenerators` + - `functionBind` + - `functionSent` + - `dynamicImport` + - `templateInvalidEscapes` diff --git a/socket/node_modules/babylon/bin/babylon.js b/socket/node_modules/babylon/bin/babylon.js new file mode 100755 index 0000000..449ddfe --- /dev/null +++ b/socket/node_modules/babylon/bin/babylon.js @@ -0,0 +1,16 @@ +#!/usr/bin/env node +/* eslint no-var: 0 */ + +var babylon = require(".."); +var fs = require("fs"); + +var filename = process.argv[2]; +if (!filename) { + console.error("no filename specified"); + process.exit(0); +} + +var file = fs.readFileSync(filename, "utf8"); +var ast = babylon.parse(file); + +console.log(JSON.stringify(ast, null, " ")); diff --git a/socket/node_modules/babylon/bin/generate-identifier-regex.js b/socket/node_modules/babylon/bin/generate-identifier-regex.js new file mode 100644 index 0000000..9b0ae7d --- /dev/null +++ b/socket/node_modules/babylon/bin/generate-identifier-regex.js @@ -0,0 +1,62 @@ +"use strict"; + +// Which Unicode version should be used? +const version = "9.0.0"; + +const start = require("unicode-" + version + "/Binary_Property/ID_Start/code-points.js") + .filter(function(ch) { return ch > 0x7f; }); +let last = -1; +const cont = [0x200c, 0x200d].concat( + require("unicode-" + version + "/Binary_Property/ID_Continue/code-points.js") + .filter(function(ch) { + return ch > 0x7f && search(start, ch, last + 1) == -1; + }) + ); + +function search(arr, ch, starting) { + for (let i = starting; arr[i] <= ch && i < arr.length; last = i++) + if (arr[i] === ch) + return i; + return -1; +} + +function pad(str, width) { + while (str.length < width) str = "0" + str; + return str; +} + +function esc(code) { + const hex = code.toString(16); + if (hex.length <= 2) return "\\x" + pad(hex, 2); + else return "\\u" + pad(hex, 4); +} + +function generate(chars) { + const astral = []; + let re = ""; + for (let i = 0, at = 0x10000; i < chars.length; i++) { + const from = chars[i]; + let to = from; + while (i < chars.length - 1 && chars[i + 1] == to + 1) { + i++; + to++; + } + if (to <= 0xffff) { + if (from == to) re += esc(from); + else if (from + 1 == to) re += esc(from) + esc(to); + else re += esc(from) + "-" + esc(to); + } else { + astral.push(from - at, to - from); + at = to; + } + } + return { nonASCII: re, astral: astral }; +} + +const startData = generate(start); +const contData = generate(cont); + +console.log("let nonASCIIidentifierStartChars = \"" + startData.nonASCII + "\";"); +console.log("let nonASCIIidentifierChars = \"" + contData.nonASCII + "\";"); +console.log("const astralIdentifierStartCodes = " + JSON.stringify(startData.astral) + ";"); +console.log("const astralIdentifierCodes = " + JSON.stringify(contData.astral) + ";"); diff --git a/socket/node_modules/babylon/lib/index.js b/socket/node_modules/babylon/lib/index.js new file mode 100644 index 0000000..a914ac5 --- /dev/null +++ b/socket/node_modules/babylon/lib/index.js @@ -0,0 +1,7318 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +/* eslint max-len: 0 */ + +// This is a trick taken from Esprima. It turns out that, on +// non-Chrome browsers, to check whether a string is in a set, a +// predicate containing a big ugly `switch` statement is faster than +// a regular expression, and on Chrome the two are about on par. +// This function uses `eval` (non-lexical) to produce such a +// predicate from a space-separated string of words. +// +// It starts by sorting the words by length. + +function makePredicate(words) { + words = words.split(" "); + return function (str) { + return words.indexOf(str) >= 0; + }; +} + +// Reserved word lists for various dialects of the language + +var reservedWords = { + 6: makePredicate("enum await"), + strict: makePredicate("implements interface let package private protected public static yield"), + strictBind: makePredicate("eval arguments") +}; + +// And the keywords + +var isKeyword = makePredicate("break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this let const class extends export import yield super"); + +// ## Character categories + +// Big ugly regular expressions that match characters in the +// whitespace, identifier, and identifier-start categories. These +// are only applied when a character is found to actually have a +// code point above 128. +// Generated by `bin/generate-identifier-regex.js`. + +var nonASCIIidentifierStartChars = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC"; +var nonASCIIidentifierChars = "\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D4-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFB-\u1DFF\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA900-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F"; + +var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); +var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); + +nonASCIIidentifierStartChars = nonASCIIidentifierChars = null; + +// These are a run-length and offset encoded representation of the +// >0xffff code points that are a valid part of identifiers. The +// offset starts at 0x10000, and each pair of numbers represents an +// offset to the next range, and then a size of the range. They were +// generated by `bin/generate-identifier-regex.js`. +// eslint-disable-next-line comma-spacing +var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 17, 26, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 157, 310, 10, 21, 11, 7, 153, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 26, 45, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 785, 52, 76, 44, 33, 24, 27, 35, 42, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 85, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 54, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 86, 25, 391, 63, 32, 0, 449, 56, 264, 8, 2, 36, 18, 0, 50, 29, 881, 921, 103, 110, 18, 195, 2749, 1070, 4050, 582, 8634, 568, 8, 30, 114, 29, 19, 47, 17, 3, 32, 20, 6, 18, 881, 68, 12, 0, 67, 12, 65, 0, 32, 6124, 20, 754, 9486, 1, 3071, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 4149, 196, 60, 67, 1213, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42710, 42, 4148, 12, 221, 3, 5761, 10591, 541]; +// eslint-disable-next-line comma-spacing +var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 1306, 2, 54, 14, 32, 9, 16, 3, 46, 10, 54, 9, 7, 2, 37, 13, 2, 9, 52, 0, 13, 2, 49, 13, 10, 2, 4, 9, 83, 11, 7, 0, 161, 11, 6, 9, 7, 3, 57, 0, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 87, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 423, 9, 838, 7, 2, 7, 17, 9, 57, 21, 2, 13, 19882, 9, 135, 4, 60, 6, 26, 9, 1016, 45, 17, 3, 19723, 1, 5319, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 2214, 6, 110, 6, 6, 9, 792487, 239]; + +// This has a complexity linear to the value of the code. The +// assumption is that looking up astral identifier characters is +// rare. +function isInAstralSet(code, set) { + var pos = 0x10000; + for (var i = 0; i < set.length; i += 2) { + pos += set[i]; + if (pos > code) return false; + + pos += set[i + 1]; + if (pos >= code) return true; + } +} + +// Test whether a given character code starts an identifier. + +function isIdentifierStart(code) { + if (code < 65) return code === 36; + if (code < 91) return true; + if (code < 97) return code === 95; + if (code < 123) return true; + if (code <= 0xffff) return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)); + return isInAstralSet(code, astralIdentifierStartCodes); +} + +// Test whether a given character is part of an identifier. + +function isIdentifierChar(code) { + if (code < 48) return code === 36; + if (code < 58) return true; + if (code < 65) return false; + if (code < 91) return true; + if (code < 97) return code === 95; + if (code < 123) return true; + if (code <= 0xffff) return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)); + return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes); +} + +// A second optional argument can be given to further configure +var defaultOptions = { + // Source type ("script" or "module") for different semantics + sourceType: "script", + // Source filename. + sourceFilename: undefined, + // Line from which to start counting source. Useful for + // integration with other tools. + startLine: 1, + // When enabled, a return at the top level is not considered an + // error. + allowReturnOutsideFunction: false, + // When enabled, import/export statements are not constrained to + // appearing at the top of the program. + allowImportExportEverywhere: false, + // TODO + allowSuperOutsideMethod: false, + // An array of plugins to enable + plugins: [], + // TODO + strictMode: null +}; + +// Interpret and default an options object + +function getOptions(opts) { + var options = {}; + for (var key in defaultOptions) { + options[key] = opts && key in opts ? opts[key] : defaultOptions[key]; + } + return options; +} + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { + return typeof obj; +} : function (obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; +}; + + + + + + + + + + + +var classCallCheck = function (instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +}; + + + + + + + + + + + +var inherits = function (subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); + } + + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + enumerable: false, + writable: true, + configurable: true + } + }); + if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; +}; + + + + + + + + + + + +var possibleConstructorReturn = function (self, call) { + if (!self) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return call && (typeof call === "object" || typeof call === "function") ? call : self; +}; + +// ## Token types + +// The assignment of fine-grained, information-carrying type objects +// allows the tokenizer to store the information it has about a +// token in a way that is very cheap for the parser to look up. + +// All token type variables start with an underscore, to make them +// easy to recognize. + +// The `beforeExpr` property is used to disambiguate between regular +// expressions and divisions. It is set on all token types that can +// be followed by an expression (thus, a slash after them would be a +// regular expression). +// +// `isLoop` marks a keyword as starting a loop, which is important +// to know when parsing a label, in order to allow or disallow +// continue jumps to that label. + +var beforeExpr = true; +var startsExpr = true; +var isLoop = true; +var isAssign = true; +var prefix = true; +var postfix = true; + +var TokenType = function TokenType(label) { + var conf = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + classCallCheck(this, TokenType); + + this.label = label; + this.keyword = conf.keyword; + this.beforeExpr = !!conf.beforeExpr; + this.startsExpr = !!conf.startsExpr; + this.rightAssociative = !!conf.rightAssociative; + this.isLoop = !!conf.isLoop; + this.isAssign = !!conf.isAssign; + this.prefix = !!conf.prefix; + this.postfix = !!conf.postfix; + this.binop = conf.binop || null; + this.updateContext = null; +}; + +var KeywordTokenType = function (_TokenType) { + inherits(KeywordTokenType, _TokenType); + + function KeywordTokenType(name) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + classCallCheck(this, KeywordTokenType); + + options.keyword = name; + + return possibleConstructorReturn(this, _TokenType.call(this, name, options)); + } + + return KeywordTokenType; +}(TokenType); + +var BinopTokenType = function (_TokenType2) { + inherits(BinopTokenType, _TokenType2); + + function BinopTokenType(name, prec) { + classCallCheck(this, BinopTokenType); + return possibleConstructorReturn(this, _TokenType2.call(this, name, { beforeExpr: beforeExpr, binop: prec })); + } + + return BinopTokenType; +}(TokenType); + +var types = { + num: new TokenType("num", { startsExpr: startsExpr }), + regexp: new TokenType("regexp", { startsExpr: startsExpr }), + string: new TokenType("string", { startsExpr: startsExpr }), + name: new TokenType("name", { startsExpr: startsExpr }), + eof: new TokenType("eof"), + + // Punctuation token types. + bracketL: new TokenType("[", { beforeExpr: beforeExpr, startsExpr: startsExpr }), + bracketR: new TokenType("]"), + braceL: new TokenType("{", { beforeExpr: beforeExpr, startsExpr: startsExpr }), + braceBarL: new TokenType("{|", { beforeExpr: beforeExpr, startsExpr: startsExpr }), + braceR: new TokenType("}"), + braceBarR: new TokenType("|}"), + parenL: new TokenType("(", { beforeExpr: beforeExpr, startsExpr: startsExpr }), + parenR: new TokenType(")"), + comma: new TokenType(",", { beforeExpr: beforeExpr }), + semi: new TokenType(";", { beforeExpr: beforeExpr }), + colon: new TokenType(":", { beforeExpr: beforeExpr }), + doubleColon: new TokenType("::", { beforeExpr: beforeExpr }), + dot: new TokenType("."), + question: new TokenType("?", { beforeExpr: beforeExpr }), + arrow: new TokenType("=>", { beforeExpr: beforeExpr }), + template: new TokenType("template"), + ellipsis: new TokenType("...", { beforeExpr: beforeExpr }), + backQuote: new TokenType("`", { startsExpr: startsExpr }), + dollarBraceL: new TokenType("${", { beforeExpr: beforeExpr, startsExpr: startsExpr }), + at: new TokenType("@"), + + // Operators. These carry several kinds of properties to help the + // parser use them properly (the presence of these properties is + // what categorizes them as operators). + // + // `binop`, when present, specifies that this operator is a binary + // operator, and will refer to its precedence. + // + // `prefix` and `postfix` mark the operator as a prefix or postfix + // unary operator. + // + // `isAssign` marks all of `=`, `+=`, `-=` etcetera, which act as + // binary operators with a very low precedence, that should result + // in AssignmentExpression nodes. + + eq: new TokenType("=", { beforeExpr: beforeExpr, isAssign: isAssign }), + assign: new TokenType("_=", { beforeExpr: beforeExpr, isAssign: isAssign }), + incDec: new TokenType("++/--", { prefix: prefix, postfix: postfix, startsExpr: startsExpr }), + prefix: new TokenType("prefix", { beforeExpr: beforeExpr, prefix: prefix, startsExpr: startsExpr }), + logicalOR: new BinopTokenType("||", 1), + logicalAND: new BinopTokenType("&&", 2), + bitwiseOR: new BinopTokenType("|", 3), + bitwiseXOR: new BinopTokenType("^", 4), + bitwiseAND: new BinopTokenType("&", 5), + equality: new BinopTokenType("==/!=", 6), + relational: new BinopTokenType("", 7), + bitShift: new BinopTokenType("<>", 8), + plusMin: new TokenType("+/-", { beforeExpr: beforeExpr, binop: 9, prefix: prefix, startsExpr: startsExpr }), + modulo: new BinopTokenType("%", 10), + star: new BinopTokenType("*", 10), + slash: new BinopTokenType("/", 10), + exponent: new TokenType("**", { beforeExpr: beforeExpr, binop: 11, rightAssociative: true }) +}; + +var keywords = { + "break": new KeywordTokenType("break"), + "case": new KeywordTokenType("case", { beforeExpr: beforeExpr }), + "catch": new KeywordTokenType("catch"), + "continue": new KeywordTokenType("continue"), + "debugger": new KeywordTokenType("debugger"), + "default": new KeywordTokenType("default", { beforeExpr: beforeExpr }), + "do": new KeywordTokenType("do", { isLoop: isLoop, beforeExpr: beforeExpr }), + "else": new KeywordTokenType("else", { beforeExpr: beforeExpr }), + "finally": new KeywordTokenType("finally"), + "for": new KeywordTokenType("for", { isLoop: isLoop }), + "function": new KeywordTokenType("function", { startsExpr: startsExpr }), + "if": new KeywordTokenType("if"), + "return": new KeywordTokenType("return", { beforeExpr: beforeExpr }), + "switch": new KeywordTokenType("switch"), + "throw": new KeywordTokenType("throw", { beforeExpr: beforeExpr }), + "try": new KeywordTokenType("try"), + "var": new KeywordTokenType("var"), + "let": new KeywordTokenType("let"), + "const": new KeywordTokenType("const"), + "while": new KeywordTokenType("while", { isLoop: isLoop }), + "with": new KeywordTokenType("with"), + "new": new KeywordTokenType("new", { beforeExpr: beforeExpr, startsExpr: startsExpr }), + "this": new KeywordTokenType("this", { startsExpr: startsExpr }), + "super": new KeywordTokenType("super", { startsExpr: startsExpr }), + "class": new KeywordTokenType("class"), + "extends": new KeywordTokenType("extends", { beforeExpr: beforeExpr }), + "export": new KeywordTokenType("export"), + "import": new KeywordTokenType("import", { startsExpr: startsExpr }), + "yield": new KeywordTokenType("yield", { beforeExpr: beforeExpr, startsExpr: startsExpr }), + "null": new KeywordTokenType("null", { startsExpr: startsExpr }), + "true": new KeywordTokenType("true", { startsExpr: startsExpr }), + "false": new KeywordTokenType("false", { startsExpr: startsExpr }), + "in": new KeywordTokenType("in", { beforeExpr: beforeExpr, binop: 7 }), + "instanceof": new KeywordTokenType("instanceof", { beforeExpr: beforeExpr, binop: 7 }), + "typeof": new KeywordTokenType("typeof", { beforeExpr: beforeExpr, prefix: prefix, startsExpr: startsExpr }), + "void": new KeywordTokenType("void", { beforeExpr: beforeExpr, prefix: prefix, startsExpr: startsExpr }), + "delete": new KeywordTokenType("delete", { beforeExpr: beforeExpr, prefix: prefix, startsExpr: startsExpr }) +}; + +// Map keyword names to token types. +Object.keys(keywords).forEach(function (name) { + types["_" + name] = keywords[name]; +}); + +// Matches a whole line break (where CRLF is considered a single +// line break). Used to count lines. + +var lineBreak = /\r\n?|\n|\u2028|\u2029/; +var lineBreakG = new RegExp(lineBreak.source, "g"); + +function isNewLine(code) { + return code === 10 || code === 13 || code === 0x2028 || code === 0x2029; +} + +var nonASCIIwhitespace = /[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/; + +// The algorithm used to determine whether a regexp can appear at a +// given point in the program is loosely based on sweet.js' approach. +// See https://github.com/mozilla/sweet.js/wiki/design + +var TokContext = function TokContext(token, isExpr, preserveSpace, override) { + classCallCheck(this, TokContext); + + this.token = token; + this.isExpr = !!isExpr; + this.preserveSpace = !!preserveSpace; + this.override = override; +}; + +var types$1 = { + braceStatement: new TokContext("{", false), + braceExpression: new TokContext("{", true), + templateQuasi: new TokContext("${", true), + parenStatement: new TokContext("(", false), + parenExpression: new TokContext("(", true), + template: new TokContext("`", true, true, function (p) { + return p.readTmplToken(); + }), + functionExpression: new TokContext("function", true) +}; + +// Token-specific context update code + +types.parenR.updateContext = types.braceR.updateContext = function () { + if (this.state.context.length === 1) { + this.state.exprAllowed = true; + return; + } + + var out = this.state.context.pop(); + if (out === types$1.braceStatement && this.curContext() === types$1.functionExpression) { + this.state.context.pop(); + this.state.exprAllowed = false; + } else if (out === types$1.templateQuasi) { + this.state.exprAllowed = true; + } else { + this.state.exprAllowed = !out.isExpr; + } +}; + +types.name.updateContext = function (prevType) { + this.state.exprAllowed = false; + + if (prevType === types._let || prevType === types._const || prevType === types._var) { + if (lineBreak.test(this.input.slice(this.state.end))) { + this.state.exprAllowed = true; + } + } +}; + +types.braceL.updateContext = function (prevType) { + this.state.context.push(this.braceIsBlock(prevType) ? types$1.braceStatement : types$1.braceExpression); + this.state.exprAllowed = true; +}; + +types.dollarBraceL.updateContext = function () { + this.state.context.push(types$1.templateQuasi); + this.state.exprAllowed = true; +}; + +types.parenL.updateContext = function (prevType) { + var statementParens = prevType === types._if || prevType === types._for || prevType === types._with || prevType === types._while; + this.state.context.push(statementParens ? types$1.parenStatement : types$1.parenExpression); + this.state.exprAllowed = true; +}; + +types.incDec.updateContext = function () { + // tokExprAllowed stays unchanged +}; + +types._function.updateContext = function () { + if (this.curContext() !== types$1.braceStatement) { + this.state.context.push(types$1.functionExpression); + } + + this.state.exprAllowed = false; +}; + +types.backQuote.updateContext = function () { + if (this.curContext() === types$1.template) { + this.state.context.pop(); + } else { + this.state.context.push(types$1.template); + } + this.state.exprAllowed = false; +}; + +// These are used when `options.locations` is on, for the +// `startLoc` and `endLoc` properties. + +var Position = function Position(line, col) { + classCallCheck(this, Position); + + this.line = line; + this.column = col; +}; + +var SourceLocation = function SourceLocation(start, end) { + classCallCheck(this, SourceLocation); + + this.start = start; + this.end = end; +}; + +// The `getLineInfo` function is mostly useful when the +// `locations` option is off (for performance reasons) and you +// want to find the line/column position for a given character +// offset. `input` should be the code string that the offset refers +// into. + +function getLineInfo(input, offset) { + for (var line = 1, cur = 0;;) { + lineBreakG.lastIndex = cur; + var match = lineBreakG.exec(input); + if (match && match.index < offset) { + ++line; + cur = match.index + match[0].length; + } else { + return new Position(line, offset - cur); + } + } +} + +var State = function () { + function State() { + classCallCheck(this, State); + } + + State.prototype.init = function init(options, input) { + this.strict = options.strictMode === false ? false : options.sourceType === "module"; + + this.input = input; + + this.potentialArrowAt = -1; + + this.inMethod = this.inFunction = this.inGenerator = this.inAsync = this.inPropertyName = this.inType = this.inClassProperty = this.noAnonFunctionType = false; + + this.labels = []; + + this.decorators = []; + + this.tokens = []; + + this.comments = []; + + this.trailingComments = []; + this.leadingComments = []; + this.commentStack = []; + + this.pos = this.lineStart = 0; + this.curLine = options.startLine; + + this.type = types.eof; + this.value = null; + this.start = this.end = this.pos; + this.startLoc = this.endLoc = this.curPosition(); + + this.lastTokEndLoc = this.lastTokStartLoc = null; + this.lastTokStart = this.lastTokEnd = this.pos; + + this.context = [types$1.braceStatement]; + this.exprAllowed = true; + + this.containsEsc = this.containsOctal = false; + this.octalPosition = null; + + this.invalidTemplateEscapePosition = null; + + this.exportedIdentifiers = []; + + return this; + }; + + // TODO + + + // TODO + + + // Used to signify the start of a potential arrow function + + + // Flags to track whether we are in a function, a generator. + + + // Labels in scope. + + + // Leading decorators. + + + // Token store. + + + // Comment store. + + + // Comment attachment store + + + // The current position of the tokenizer in the input. + + + // Properties of the current token: + // Its type + + + // For tokens that include more information than their type, the value + + + // Its start and end offset + + + // And, if locations are used, the {line, column} object + // corresponding to those offsets + + + // Position information for the previous token + + + // The context stack is used to superficially track syntactic + // context to predict whether a regular expression is allowed in a + // given position. + + + // Used to signal to callers of `readWord1` whether the word + // contained any escape sequences. This is needed because words with + // escape sequences must not be interpreted as keywords. + + + // TODO + + + // Names of exports store. `default` is stored as a name for both + // `export default foo;` and `export { foo as default };`. + + + State.prototype.curPosition = function curPosition() { + return new Position(this.curLine, this.pos - this.lineStart); + }; + + State.prototype.clone = function clone(skipArrays) { + var state = new State(); + for (var key in this) { + var val = this[key]; + + if ((!skipArrays || key === "context") && Array.isArray(val)) { + val = val.slice(); + } + + state[key] = val; + } + return state; + }; + + return State; +}(); + +// Object type used to represent tokens. Note that normally, tokens +// simply exist as properties on the parser object. This is only +// used for the onToken callback and the external tokenizer. + +var Token = function Token(state) { + classCallCheck(this, Token); + + this.type = state.type; + this.value = state.value; + this.start = state.start; + this.end = state.end; + this.loc = new SourceLocation(state.startLoc, state.endLoc); +}; + +// ## Tokenizer + +function codePointToString(code) { + // UTF-16 Decoding + if (code <= 0xFFFF) { + return String.fromCharCode(code); + } else { + return String.fromCharCode((code - 0x10000 >> 10) + 0xD800, (code - 0x10000 & 1023) + 0xDC00); + } +} + +var Tokenizer = function () { + function Tokenizer(options, input) { + classCallCheck(this, Tokenizer); + + this.state = new State(); + this.state.init(options, input); + } + + // Move to the next token + + Tokenizer.prototype.next = function next() { + if (!this.isLookahead) { + this.state.tokens.push(new Token(this.state)); + } + + this.state.lastTokEnd = this.state.end; + this.state.lastTokStart = this.state.start; + this.state.lastTokEndLoc = this.state.endLoc; + this.state.lastTokStartLoc = this.state.startLoc; + this.nextToken(); + }; + + // TODO + + Tokenizer.prototype.eat = function eat(type) { + if (this.match(type)) { + this.next(); + return true; + } else { + return false; + } + }; + + // TODO + + Tokenizer.prototype.match = function match(type) { + return this.state.type === type; + }; + + // TODO + + Tokenizer.prototype.isKeyword = function isKeyword$$1(word) { + return isKeyword(word); + }; + + // TODO + + Tokenizer.prototype.lookahead = function lookahead() { + var old = this.state; + this.state = old.clone(true); + + this.isLookahead = true; + this.next(); + this.isLookahead = false; + + var curr = this.state.clone(true); + this.state = old; + return curr; + }; + + // Toggle strict mode. Re-reads the next number or string to please + // pedantic tests (`"use strict"; 010;` should fail). + + Tokenizer.prototype.setStrict = function setStrict(strict) { + this.state.strict = strict; + if (!this.match(types.num) && !this.match(types.string)) return; + this.state.pos = this.state.start; + while (this.state.pos < this.state.lineStart) { + this.state.lineStart = this.input.lastIndexOf("\n", this.state.lineStart - 2) + 1; + --this.state.curLine; + } + this.nextToken(); + }; + + Tokenizer.prototype.curContext = function curContext() { + return this.state.context[this.state.context.length - 1]; + }; + + // Read a single token, updating the parser object's token-related + // properties. + + Tokenizer.prototype.nextToken = function nextToken() { + var curContext = this.curContext(); + if (!curContext || !curContext.preserveSpace) this.skipSpace(); + + this.state.containsOctal = false; + this.state.octalPosition = null; + this.state.start = this.state.pos; + this.state.startLoc = this.state.curPosition(); + if (this.state.pos >= this.input.length) return this.finishToken(types.eof); + + if (curContext.override) { + return curContext.override(this); + } else { + return this.readToken(this.fullCharCodeAtPos()); + } + }; + + Tokenizer.prototype.readToken = function readToken(code) { + // Identifier or keyword. '\uXXXX' sequences are allowed in + // identifiers, so '\' also dispatches to that. + if (isIdentifierStart(code) || code === 92 /* '\' */) { + return this.readWord(); + } else { + return this.getTokenFromCode(code); + } + }; + + Tokenizer.prototype.fullCharCodeAtPos = function fullCharCodeAtPos() { + var code = this.input.charCodeAt(this.state.pos); + if (code <= 0xd7ff || code >= 0xe000) return code; + + var next = this.input.charCodeAt(this.state.pos + 1); + return (code << 10) + next - 0x35fdc00; + }; + + Tokenizer.prototype.pushComment = function pushComment(block, text, start, end, startLoc, endLoc) { + var comment = { + type: block ? "CommentBlock" : "CommentLine", + value: text, + start: start, + end: end, + loc: new SourceLocation(startLoc, endLoc) + }; + + if (!this.isLookahead) { + this.state.tokens.push(comment); + this.state.comments.push(comment); + this.addComment(comment); + } + }; + + Tokenizer.prototype.skipBlockComment = function skipBlockComment() { + var startLoc = this.state.curPosition(); + var start = this.state.pos; + var end = this.input.indexOf("*/", this.state.pos += 2); + if (end === -1) this.raise(this.state.pos - 2, "Unterminated comment"); + + this.state.pos = end + 2; + lineBreakG.lastIndex = start; + var match = void 0; + while ((match = lineBreakG.exec(this.input)) && match.index < this.state.pos) { + ++this.state.curLine; + this.state.lineStart = match.index + match[0].length; + } + + this.pushComment(true, this.input.slice(start + 2, end), start, this.state.pos, startLoc, this.state.curPosition()); + }; + + Tokenizer.prototype.skipLineComment = function skipLineComment(startSkip) { + var start = this.state.pos; + var startLoc = this.state.curPosition(); + var ch = this.input.charCodeAt(this.state.pos += startSkip); + while (this.state.pos < this.input.length && ch !== 10 && ch !== 13 && ch !== 8232 && ch !== 8233) { + ++this.state.pos; + ch = this.input.charCodeAt(this.state.pos); + } + + this.pushComment(false, this.input.slice(start + startSkip, this.state.pos), start, this.state.pos, startLoc, this.state.curPosition()); + }; + + // Called at the start of the parse and after every token. Skips + // whitespace and comments, and. + + Tokenizer.prototype.skipSpace = function skipSpace() { + loop: while (this.state.pos < this.input.length) { + var ch = this.input.charCodeAt(this.state.pos); + switch (ch) { + case 32:case 160: + // ' ' + ++this.state.pos; + break; + + case 13: + if (this.input.charCodeAt(this.state.pos + 1) === 10) { + ++this.state.pos; + } + + case 10:case 8232:case 8233: + ++this.state.pos; + ++this.state.curLine; + this.state.lineStart = this.state.pos; + break; + + case 47: + // '/' + switch (this.input.charCodeAt(this.state.pos + 1)) { + case 42: + // '*' + this.skipBlockComment(); + break; + + case 47: + this.skipLineComment(2); + break; + + default: + break loop; + } + break; + + default: + if (ch > 8 && ch < 14 || ch >= 5760 && nonASCIIwhitespace.test(String.fromCharCode(ch))) { + ++this.state.pos; + } else { + break loop; + } + } + } + }; + + // Called at the end of every token. Sets `end`, `val`, and + // maintains `context` and `exprAllowed`, and skips the space after + // the token, so that the next one's `start` will point at the + // right position. + + Tokenizer.prototype.finishToken = function finishToken(type, val) { + this.state.end = this.state.pos; + this.state.endLoc = this.state.curPosition(); + var prevType = this.state.type; + this.state.type = type; + this.state.value = val; + + this.updateContext(prevType); + }; + + // ### Token reading + + // This is the function that is called to fetch the next token. It + // is somewhat obscure, because it works in character codes rather + // than characters, and because operator parsing has been inlined + // into it. + // + // All in the name of speed. + // + + + Tokenizer.prototype.readToken_dot = function readToken_dot() { + var next = this.input.charCodeAt(this.state.pos + 1); + if (next >= 48 && next <= 57) { + return this.readNumber(true); + } + + var next2 = this.input.charCodeAt(this.state.pos + 2); + if (next === 46 && next2 === 46) { + // 46 = dot '.' + this.state.pos += 3; + return this.finishToken(types.ellipsis); + } else { + ++this.state.pos; + return this.finishToken(types.dot); + } + }; + + Tokenizer.prototype.readToken_slash = function readToken_slash() { + // '/' + if (this.state.exprAllowed) { + ++this.state.pos; + return this.readRegexp(); + } + + var next = this.input.charCodeAt(this.state.pos + 1); + if (next === 61) { + return this.finishOp(types.assign, 2); + } else { + return this.finishOp(types.slash, 1); + } + }; + + Tokenizer.prototype.readToken_mult_modulo = function readToken_mult_modulo(code) { + // '%*' + var type = code === 42 ? types.star : types.modulo; + var width = 1; + var next = this.input.charCodeAt(this.state.pos + 1); + + if (next === 42) { + // '*' + width++; + next = this.input.charCodeAt(this.state.pos + 2); + type = types.exponent; + } + + if (next === 61) { + width++; + type = types.assign; + } + + return this.finishOp(type, width); + }; + + Tokenizer.prototype.readToken_pipe_amp = function readToken_pipe_amp(code) { + // '|&' + var next = this.input.charCodeAt(this.state.pos + 1); + if (next === code) return this.finishOp(code === 124 ? types.logicalOR : types.logicalAND, 2); + if (next === 61) return this.finishOp(types.assign, 2); + if (code === 124 && next === 125 && this.hasPlugin("flow")) return this.finishOp(types.braceBarR, 2); + return this.finishOp(code === 124 ? types.bitwiseOR : types.bitwiseAND, 1); + }; + + Tokenizer.prototype.readToken_caret = function readToken_caret() { + // '^' + var next = this.input.charCodeAt(this.state.pos + 1); + if (next === 61) { + return this.finishOp(types.assign, 2); + } else { + return this.finishOp(types.bitwiseXOR, 1); + } + }; + + Tokenizer.prototype.readToken_plus_min = function readToken_plus_min(code) { + // '+-' + var next = this.input.charCodeAt(this.state.pos + 1); + + if (next === code) { + if (next === 45 && this.input.charCodeAt(this.state.pos + 2) === 62 && lineBreak.test(this.input.slice(this.state.lastTokEnd, this.state.pos))) { + // A `-->` line comment + this.skipLineComment(3); + this.skipSpace(); + return this.nextToken(); + } + return this.finishOp(types.incDec, 2); + } + + if (next === 61) { + return this.finishOp(types.assign, 2); + } else { + return this.finishOp(types.plusMin, 1); + } + }; + + Tokenizer.prototype.readToken_lt_gt = function readToken_lt_gt(code) { + // '<>' + var next = this.input.charCodeAt(this.state.pos + 1); + var size = 1; + + if (next === code) { + size = code === 62 && this.input.charCodeAt(this.state.pos + 2) === 62 ? 3 : 2; + if (this.input.charCodeAt(this.state.pos + size) === 61) return this.finishOp(types.assign, size + 1); + return this.finishOp(types.bitShift, size); + } + + if (next === 33 && code === 60 && this.input.charCodeAt(this.state.pos + 2) === 45 && this.input.charCodeAt(this.state.pos + 3) === 45) { + if (this.inModule) this.unexpected(); + // ` 0 + var formatted = ''; + if (codePoint <= 0xFFFF) { + formatted = zeroPaddedHex(codePoint, 4); + } else { + formatted = codePoint.toString(16).toUpperCase(); + } + return 'U+' + formatted; +} + +/** + * Get a list of formatted (string) Unicode code-points from a String + * + * @param {string} str Valid Unicode string + * @return {array} A list of formatted code-point strings + */ +function getCodePointsFormatted(str) { + var codePoints = UnicodeUtils.getCodePoints(str); + return codePoints.map(formatCodePoint); +} + +var specialEscape = { + 0x07: '\\a', + 0x08: '\\b', + 0x0C: '\\f', + 0x0A: '\\n', + 0x0D: '\\r', + 0x09: '\\t', + 0x0B: '\\v', + 0x22: '\\"', + 0x5c: '\\\\' +}; + +/** + * Returns a double-quoted PHP string with all non-printable and + * non-US-ASCII sequences escaped. + * + * @param {string} str Valid Unicode string + * @return {string} Double-quoted string with Unicode sequences escaped + */ +function phpEscape(s) { + var result = '"'; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = UnicodeUtils.getCodePoints(s)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var cp = _step.value; + + var special = specialEscape[cp]; + if (special !== undefined) { + result += special; + } else if (cp >= 0x20 && cp <= 0x7e) { + result += String.fromCodePoint(cp); + } else if (cp <= 0xFFFF) { + result += '\\u{' + zeroPaddedHex(cp, 4) + '}'; + } else { + result += '\\u{' + zeroPaddedHex(cp, 6) + '}'; + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator['return']) { + _iterator['return'](); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + result += '"'; + return result; +} + +/** + * Returns a double-quoted Java or JavaScript string with all + * non-printable and non-US-ASCII sequences escaped. + * + * @param {string} str Valid Unicode string + * @return {string} Double-quoted string with Unicode sequences escaped + */ +function jsEscape(s) { + var result = '"'; + for (var i = 0; i < s.length; i++) { + var cp = s.charCodeAt(i); + var special = specialEscape[cp]; + if (special !== undefined) { + result += special; + } else if (cp >= 0x20 && cp <= 0x7e) { + result += String.fromCodePoint(cp); + } else { + result += '\\u' + zeroPaddedHex(cp, 4); + } + } + result += '"'; + return result; +} + +function c11Escape(s) { + var result = ''; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = UnicodeUtils.getCodePoints(s)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var cp = _step2.value; + + var special = specialEscape[cp]; + if (special !== undefined) { + result += special; + } else if (cp >= 0x20 && cp <= 0x7e) { + result += String.fromCodePoint(cp); + } else if (cp <= 0xFFFF) { + result += '\\u' + zeroPaddedHex(cp, 4); + } else { + result += '\\U' + zeroPaddedHex(cp, 8); + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2['return']) { + _iterator2['return'](); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + return result; +} + +/** + * Returns a double-quoted C string with all non-printable and + * non-US-ASCII sequences escaped. + * + * @param {string} str Valid Unicode string + * @return {string} Double-quoted string with Unicode sequences escaped + */ +function cEscape(s) { + return 'u8"' + c11Escape(s) + '"'; +} + +/** + * Returns a double-quoted Objective-C string with all non-printable + * and non-US-ASCII sequences escaped. + * + * @param {string} str Valid Unicode string + * @return {string} Double-quoted string with Unicode sequences escaped + */ +function objcEscape(s) { + return '@"' + c11Escape(s) + '"'; +} + +/** + * Returns a double-quoted Python string with all non-printable + * and non-US-ASCII sequences escaped. + * + * @param {string} str Valid Unicode string + * @return {string} Double-quoted string with Unicode sequences escaped + */ +function pyEscape(s) { + return 'u"' + c11Escape(s) + '"'; +} + +var UnicodeUtilsExtra = { + formatCodePoint: formatCodePoint, + getCodePointsFormatted: getCodePointsFormatted, + zeroPaddedHex: zeroPaddedHex, + phpEscape: phpEscape, + jsEscape: jsEscape, + cEscape: cEscape, + objcEscape: objcEscape, + pyEscape: pyEscape +}; + +module.exports = UnicodeUtilsExtra; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/UnicodeUtilsExtra.js.flow b/socket/node_modules/fbjs/lib/UnicodeUtilsExtra.js.flow new file mode 100644 index 0000000..dc3ecb7 --- /dev/null +++ b/socket/node_modules/fbjs/lib/UnicodeUtilsExtra.js.flow @@ -0,0 +1,184 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @providesModule UnicodeUtilsExtra + * @typechecks + */ + +/** + * Unicode-enabled extra utility functions not always needed. + */ + +'use strict'; + +const UnicodeUtils = require('./UnicodeUtils'); + +/** + * @param {number} codePoint Valid Unicode code-point + * @param {number} len Zero-padded minimum width of result + * @return {string} A zero-padded hexadecimal string (00XXXX) + */ +function zeroPaddedHex(codePoint, len) { + let codePointHex = codePoint.toString(16).toUpperCase(); + let numZeros = Math.max(0, len - codePointHex.length); + var result = ''; + for (var i = 0; i < numZeros; i++) { + result += '0'; + } + result += codePointHex; + return result; +} + +/** + * @param {number} codePoint Valid Unicode code-point + * @return {string} A formatted Unicode code-point string + * of the format U+XXXX, U+XXXXX, or U+XXXXXX + */ +function formatCodePoint(codePoint) { + codePoint = codePoint || 0; // NaN --> 0 + var formatted = ''; + if (codePoint <= 0xFFFF) { + formatted = zeroPaddedHex(codePoint, 4); + } else { + formatted = codePoint.toString(16).toUpperCase(); + } + return 'U+' + formatted; +} + +/** + * Get a list of formatted (string) Unicode code-points from a String + * + * @param {string} str Valid Unicode string + * @return {array} A list of formatted code-point strings + */ +function getCodePointsFormatted(str) { + const codePoints = UnicodeUtils.getCodePoints(str); + return codePoints.map(formatCodePoint); +} + +const specialEscape = { + 0x07: '\\a', + 0x08: '\\b', + 0x0C: '\\f', + 0x0A: '\\n', + 0x0D: '\\r', + 0x09: '\\t', + 0x0B: '\\v', + 0x22: '\\"', + 0x5c: '\\\\' +}; + +/** + * Returns a double-quoted PHP string with all non-printable and + * non-US-ASCII sequences escaped. + * + * @param {string} str Valid Unicode string + * @return {string} Double-quoted string with Unicode sequences escaped + */ +function phpEscape(s) { + var result = '"'; + for (let cp of UnicodeUtils.getCodePoints(s)) { + let special = specialEscape[cp]; + if (special !== undefined) { + result += special; + } else if (cp >= 0x20 && cp <= 0x7e) { + result += String.fromCodePoint(cp); + } else if (cp <= 0xFFFF) { + result += '\\u{' + zeroPaddedHex(cp, 4) + '}'; + } else { + result += '\\u{' + zeroPaddedHex(cp, 6) + '}'; + } + } + result += '"'; + return result; +} + +/** + * Returns a double-quoted Java or JavaScript string with all + * non-printable and non-US-ASCII sequences escaped. + * + * @param {string} str Valid Unicode string + * @return {string} Double-quoted string with Unicode sequences escaped + */ +function jsEscape(s) { + var result = '"'; + for (var i = 0; i < s.length; i++) { + let cp = s.charCodeAt(i); + let special = specialEscape[cp]; + if (special !== undefined) { + result += special; + } else if (cp >= 0x20 && cp <= 0x7e) { + result += String.fromCodePoint(cp); + } else { + result += '\\u' + zeroPaddedHex(cp, 4); + } + } + result += '"'; + return result; +} + +function c11Escape(s) { + var result = ''; + for (let cp of UnicodeUtils.getCodePoints(s)) { + let special = specialEscape[cp]; + if (special !== undefined) { + result += special; + } else if (cp >= 0x20 && cp <= 0x7e) { + result += String.fromCodePoint(cp); + } else if (cp <= 0xFFFF) { + result += '\\u' + zeroPaddedHex(cp, 4); + } else { + result += '\\U' + zeroPaddedHex(cp, 8); + } + } + return result; +} + +/** + * Returns a double-quoted C string with all non-printable and + * non-US-ASCII sequences escaped. + * + * @param {string} str Valid Unicode string + * @return {string} Double-quoted string with Unicode sequences escaped + */ +function cEscape(s) { + return 'u8"' + c11Escape(s) + '"'; +} + +/** + * Returns a double-quoted Objective-C string with all non-printable + * and non-US-ASCII sequences escaped. + * + * @param {string} str Valid Unicode string + * @return {string} Double-quoted string with Unicode sequences escaped + */ +function objcEscape(s) { + return '@"' + c11Escape(s) + '"'; +} + +/** + * Returns a double-quoted Python string with all non-printable + * and non-US-ASCII sequences escaped. + * + * @param {string} str Valid Unicode string + * @return {string} Double-quoted string with Unicode sequences escaped + */ +function pyEscape(s) { + return 'u"' + c11Escape(s) + '"'; +} + +const UnicodeUtilsExtra = { + formatCodePoint: formatCodePoint, + getCodePointsFormatted: getCodePointsFormatted, + zeroPaddedHex: zeroPaddedHex, + phpEscape: phpEscape, + jsEscape: jsEscape, + cEscape: cEscape, + objcEscape: objcEscape, + pyEscape: pyEscape +}; + +module.exports = UnicodeUtilsExtra; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/UserAgent.js b/socket/node_modules/fbjs/lib/UserAgent.js new file mode 100644 index 0000000..2403078 --- /dev/null +++ b/socket/node_modules/fbjs/lib/UserAgent.js @@ -0,0 +1,239 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + +'use strict'; + +var UserAgentData = require('./UserAgentData'); +var VersionRange = require('./VersionRange'); + +var mapObject = require('./mapObject'); +var memoizeStringOnly = require('./memoizeStringOnly'); + +/** + * Checks to see whether `name` and `version` satisfy `query`. + * + * @param {string} name Name of the browser, device, engine or platform + * @param {?string} version Version of the browser, engine or platform + * @param {string} query Query of form "Name [range expression]" + * @param {?function} normalizer Optional pre-processor for range expression + * @return {boolean} + */ +function compare(name, version, query, normalizer) { + // check for exact match with no version + if (name === query) { + return true; + } + + // check for non-matching names + if (!query.startsWith(name)) { + return false; + } + + // full comparison with version + var range = query.slice(name.length); + if (version) { + range = normalizer ? normalizer(range) : range; + return VersionRange.contains(range, version); + } + + return false; +} + +/** + * Normalizes `version` by stripping any "NT" prefix, but only on the Windows + * platform. + * + * Mimics the stripping performed by the `UserAgentWindowsPlatform` PHP class. + * + * @param {string} version + * @return {string} + */ +function normalizePlatformVersion(version) { + if (UserAgentData.platformName === 'Windows') { + return version.replace(/^\s*NT/, ''); + } + + return version; +} + +/** + * Provides client-side access to the authoritative PHP-generated User Agent + * information supplied by the server. + */ +var UserAgent = { + /** + * Check if the User Agent browser matches `query`. + * + * `query` should be a string like "Chrome" or "Chrome > 33". + * + * Valid browser names include: + * + * - ACCESS NetFront + * - AOL + * - Amazon Silk + * - Android + * - BlackBerry + * - BlackBerry PlayBook + * - Chrome + * - Chrome for iOS + * - Chrome frame + * - Facebook PHP SDK + * - Facebook for iOS + * - Firefox + * - IE + * - IE Mobile + * - Mobile Safari + * - Motorola Internet Browser + * - Nokia + * - Openwave Mobile Browser + * - Opera + * - Opera Mini + * - Opera Mobile + * - Safari + * - UIWebView + * - Unknown + * - webOS + * - etc... + * + * An authoritative list can be found in the PHP `BrowserDetector` class and + * related classes in the same file (see calls to `new UserAgentBrowser` here: + * https://fburl.com/50728104). + * + * @note Function results are memoized + * + * @param {string} query Query of the form "Name [range expression]" + * @return {boolean} + */ + isBrowser: function isBrowser(query) { + return compare(UserAgentData.browserName, UserAgentData.browserFullVersion, query); + }, + + + /** + * Check if the User Agent browser uses a 32 or 64 bit architecture. + * + * @note Function results are memoized + * + * @param {string} query Query of the form "32" or "64". + * @return {boolean} + */ + isBrowserArchitecture: function isBrowserArchitecture(query) { + return compare(UserAgentData.browserArchitecture, null, query); + }, + + + /** + * Check if the User Agent device matches `query`. + * + * `query` should be a string like "iPhone" or "iPad". + * + * Valid device names include: + * + * - Kindle + * - Kindle Fire + * - Unknown + * - iPad + * - iPhone + * - iPod + * - etc... + * + * An authoritative list can be found in the PHP `DeviceDetector` class and + * related classes in the same file (see calls to `new UserAgentDevice` here: + * https://fburl.com/50728332). + * + * @note Function results are memoized + * + * @param {string} query Query of the form "Name" + * @return {boolean} + */ + isDevice: function isDevice(query) { + return compare(UserAgentData.deviceName, null, query); + }, + + + /** + * Check if the User Agent rendering engine matches `query`. + * + * `query` should be a string like "WebKit" or "WebKit >= 537". + * + * Valid engine names include: + * + * - Gecko + * - Presto + * - Trident + * - WebKit + * - etc... + * + * An authoritative list can be found in the PHP `RenderingEngineDetector` + * class related classes in the same file (see calls to `new + * UserAgentRenderingEngine` here: https://fburl.com/50728617). + * + * @note Function results are memoized + * + * @param {string} query Query of the form "Name [range expression]" + * @return {boolean} + */ + isEngine: function isEngine(query) { + return compare(UserAgentData.engineName, UserAgentData.engineVersion, query); + }, + + + /** + * Check if the User Agent platform matches `query`. + * + * `query` should be a string like "Windows" or "iOS 5 - 6". + * + * Valid platform names include: + * + * - Android + * - BlackBerry OS + * - Java ME + * - Linux + * - Mac OS X + * - Mac OS X Calendar + * - Mac OS X Internet Account + * - Symbian + * - SymbianOS + * - Windows + * - Windows Mobile + * - Windows Phone + * - iOS + * - iOS Facebook Integration Account + * - iOS Facebook Social Sharing UI + * - webOS + * - Chrome OS + * - etc... + * + * An authoritative list can be found in the PHP `PlatformDetector` class and + * related classes in the same file (see calls to `new UserAgentPlatform` + * here: https://fburl.com/50729226). + * + * @note Function results are memoized + * + * @param {string} query Query of the form "Name [range expression]" + * @return {boolean} + */ + isPlatform: function isPlatform(query) { + return compare(UserAgentData.platformName, UserAgentData.platformFullVersion, query, normalizePlatformVersion); + }, + + + /** + * Check if the User Agent platform is a 32 or 64 bit architecture. + * + * @note Function results are memoized + * + * @param {string} query Query of the form "32" or "64". + * @return {boolean} + */ + isPlatformArchitecture: function isPlatformArchitecture(query) { + return compare(UserAgentData.platformArchitecture, null, query); + } +}; + +module.exports = mapObject(UserAgent, memoizeStringOnly); \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/UserAgent.js.flow b/socket/node_modules/fbjs/lib/UserAgent.js.flow new file mode 100644 index 0000000..61ec128 --- /dev/null +++ b/socket/node_modules/fbjs/lib/UserAgent.js.flow @@ -0,0 +1,236 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @providesModule UserAgent + */ + +'use strict'; + +const UserAgentData = require('./UserAgentData'); +const VersionRange = require('./VersionRange'); + +const mapObject = require('./mapObject'); +const memoizeStringOnly = require('./memoizeStringOnly'); + +/** + * Checks to see whether `name` and `version` satisfy `query`. + * + * @param {string} name Name of the browser, device, engine or platform + * @param {?string} version Version of the browser, engine or platform + * @param {string} query Query of form "Name [range expression]" + * @param {?function} normalizer Optional pre-processor for range expression + * @return {boolean} + */ +function compare(name, version, query, normalizer) { + // check for exact match with no version + if (name === query) { + return true; + } + + // check for non-matching names + if (!query.startsWith(name)) { + return false; + } + + // full comparison with version + let range = query.slice(name.length); + if (version) { + range = normalizer ? normalizer(range) : range; + return VersionRange.contains(range, version); + } + + return false; +} + +/** + * Normalizes `version` by stripping any "NT" prefix, but only on the Windows + * platform. + * + * Mimics the stripping performed by the `UserAgentWindowsPlatform` PHP class. + * + * @param {string} version + * @return {string} + */ +function normalizePlatformVersion(version) { + if (UserAgentData.platformName === 'Windows') { + return version.replace(/^\s*NT/, ''); + } + + return version; +} + +/** + * Provides client-side access to the authoritative PHP-generated User Agent + * information supplied by the server. + */ +const UserAgent = { + /** + * Check if the User Agent browser matches `query`. + * + * `query` should be a string like "Chrome" or "Chrome > 33". + * + * Valid browser names include: + * + * - ACCESS NetFront + * - AOL + * - Amazon Silk + * - Android + * - BlackBerry + * - BlackBerry PlayBook + * - Chrome + * - Chrome for iOS + * - Chrome frame + * - Facebook PHP SDK + * - Facebook for iOS + * - Firefox + * - IE + * - IE Mobile + * - Mobile Safari + * - Motorola Internet Browser + * - Nokia + * - Openwave Mobile Browser + * - Opera + * - Opera Mini + * - Opera Mobile + * - Safari + * - UIWebView + * - Unknown + * - webOS + * - etc... + * + * An authoritative list can be found in the PHP `BrowserDetector` class and + * related classes in the same file (see calls to `new UserAgentBrowser` here: + * https://fburl.com/50728104). + * + * @note Function results are memoized + * + * @param {string} query Query of the form "Name [range expression]" + * @return {boolean} + */ + isBrowser(query) { + return compare(UserAgentData.browserName, UserAgentData.browserFullVersion, query); + }, + + /** + * Check if the User Agent browser uses a 32 or 64 bit architecture. + * + * @note Function results are memoized + * + * @param {string} query Query of the form "32" or "64". + * @return {boolean} + */ + isBrowserArchitecture(query) { + return compare(UserAgentData.browserArchitecture, null, query); + }, + + /** + * Check if the User Agent device matches `query`. + * + * `query` should be a string like "iPhone" or "iPad". + * + * Valid device names include: + * + * - Kindle + * - Kindle Fire + * - Unknown + * - iPad + * - iPhone + * - iPod + * - etc... + * + * An authoritative list can be found in the PHP `DeviceDetector` class and + * related classes in the same file (see calls to `new UserAgentDevice` here: + * https://fburl.com/50728332). + * + * @note Function results are memoized + * + * @param {string} query Query of the form "Name" + * @return {boolean} + */ + isDevice(query) { + return compare(UserAgentData.deviceName, null, query); + }, + + /** + * Check if the User Agent rendering engine matches `query`. + * + * `query` should be a string like "WebKit" or "WebKit >= 537". + * + * Valid engine names include: + * + * - Gecko + * - Presto + * - Trident + * - WebKit + * - etc... + * + * An authoritative list can be found in the PHP `RenderingEngineDetector` + * class related classes in the same file (see calls to `new + * UserAgentRenderingEngine` here: https://fburl.com/50728617). + * + * @note Function results are memoized + * + * @param {string} query Query of the form "Name [range expression]" + * @return {boolean} + */ + isEngine(query) { + return compare(UserAgentData.engineName, UserAgentData.engineVersion, query); + }, + + /** + * Check if the User Agent platform matches `query`. + * + * `query` should be a string like "Windows" or "iOS 5 - 6". + * + * Valid platform names include: + * + * - Android + * - BlackBerry OS + * - Java ME + * - Linux + * - Mac OS X + * - Mac OS X Calendar + * - Mac OS X Internet Account + * - Symbian + * - SymbianOS + * - Windows + * - Windows Mobile + * - Windows Phone + * - iOS + * - iOS Facebook Integration Account + * - iOS Facebook Social Sharing UI + * - webOS + * - Chrome OS + * - etc... + * + * An authoritative list can be found in the PHP `PlatformDetector` class and + * related classes in the same file (see calls to `new UserAgentPlatform` + * here: https://fburl.com/50729226). + * + * @note Function results are memoized + * + * @param {string} query Query of the form "Name [range expression]" + * @return {boolean} + */ + isPlatform(query) { + return compare(UserAgentData.platformName, UserAgentData.platformFullVersion, query, normalizePlatformVersion); + }, + + /** + * Check if the User Agent platform is a 32 or 64 bit architecture. + * + * @note Function results are memoized + * + * @param {string} query Query of the form "32" or "64". + * @return {boolean} + */ + isPlatformArchitecture(query) { + return compare(UserAgentData.platformArchitecture, null, query); + } + +}; + +module.exports = mapObject(UserAgent, memoizeStringOnly); \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/UserAgentData.js b/socket/node_modules/fbjs/lib/UserAgentData.js new file mode 100644 index 0000000..928fbe3 --- /dev/null +++ b/socket/node_modules/fbjs/lib/UserAgentData.js @@ -0,0 +1,80 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + +/** + * Usage note: + * This module makes a best effort to export the same data we would internally. + * At Facebook we use a server-generated module that does the parsing and + * exports the data for the client to use. We can't rely on a server-side + * implementation in open source so instead we make use of an open source + * library to do the heavy lifting and then make some adjustments as necessary. + * It's likely there will be some differences. Some we can smooth over. + * Others are going to be harder. + */ + +'use strict'; + +var UAParser = require('ua-parser-js'); + +var UNKNOWN = 'Unknown'; + +var PLATFORM_MAP = { + 'Mac OS': 'Mac OS X' +}; + +/** + * Convert from UAParser platform name to what we expect. + */ +function convertPlatformName(name) { + return PLATFORM_MAP[name] || name; +} + +/** + * Get the version number in parts. This is very naive. We actually get major + * version as a part of UAParser already, which is generally good enough, but + * let's get the minor just in case. + */ +function getBrowserVersion(version) { + if (!version) { + return { + major: '', + minor: '' + }; + } + var parts = version.split('.'); + return { + major: parts[0], + minor: parts[1] + }; +} + +/** + * Get the UA data fom UAParser and then convert it to the format we're + * expecting for our APIS. + */ +var parser = new UAParser(); +var results = parser.getResult(); + +// Do some conversion first. +var browserVersionData = getBrowserVersion(results.browser.version); +var uaData = { + browserArchitecture: results.cpu.architecture || UNKNOWN, + browserFullVersion: results.browser.version || UNKNOWN, + browserMinorVersion: browserVersionData.minor || UNKNOWN, + browserName: results.browser.name || UNKNOWN, + browserVersion: results.browser.major || UNKNOWN, + deviceName: results.device.model || UNKNOWN, + engineName: results.engine.name || UNKNOWN, + engineVersion: results.engine.version || UNKNOWN, + platformArchitecture: results.cpu.architecture || UNKNOWN, + platformName: convertPlatformName(results.os.name) || UNKNOWN, + platformVersion: results.os.version || UNKNOWN, + platformFullVersion: results.os.version || UNKNOWN +}; + +module.exports = uaData; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/UserAgentData.js.flow b/socket/node_modules/fbjs/lib/UserAgentData.js.flow new file mode 100644 index 0000000..bc2e027 --- /dev/null +++ b/socket/node_modules/fbjs/lib/UserAgentData.js.flow @@ -0,0 +1,81 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @providesModule UserAgentData + */ + +/** + * Usage note: + * This module makes a best effort to export the same data we would internally. + * At Facebook we use a server-generated module that does the parsing and + * exports the data for the client to use. We can't rely on a server-side + * implementation in open source so instead we make use of an open source + * library to do the heavy lifting and then make some adjustments as necessary. + * It's likely there will be some differences. Some we can smooth over. + * Others are going to be harder. + */ + +'use strict'; + +var UAParser = require('ua-parser-js'); + +var UNKNOWN = 'Unknown'; + +var PLATFORM_MAP = { + 'Mac OS': 'Mac OS X' +}; + +/** + * Convert from UAParser platform name to what we expect. + */ +function convertPlatformName(name) { + return PLATFORM_MAP[name] || name; +} + +/** + * Get the version number in parts. This is very naive. We actually get major + * version as a part of UAParser already, which is generally good enough, but + * let's get the minor just in case. + */ +function getBrowserVersion(version) { + if (!version) { + return { + major: '', + minor: '' + }; + } + var parts = version.split('.'); + return { + major: parts[0], + minor: parts[1] + }; +} + +/** + * Get the UA data fom UAParser and then convert it to the format we're + * expecting for our APIS. + */ +var parser = new UAParser(); +var results = parser.getResult(); + +// Do some conversion first. +var browserVersionData = getBrowserVersion(results.browser.version); +var uaData = { + browserArchitecture: results.cpu.architecture || UNKNOWN, + browserFullVersion: results.browser.version || UNKNOWN, + browserMinorVersion: browserVersionData.minor || UNKNOWN, + browserName: results.browser.name || UNKNOWN, + browserVersion: results.browser.major || UNKNOWN, + deviceName: results.device.model || UNKNOWN, + engineName: results.engine.name || UNKNOWN, + engineVersion: results.engine.version || UNKNOWN, + platformArchitecture: results.cpu.architecture || UNKNOWN, + platformName: convertPlatformName(results.os.name) || UNKNOWN, + platformVersion: results.os.version || UNKNOWN, + platformFullVersion: results.os.version || UNKNOWN +}; + +module.exports = uaData; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/VersionRange.js b/socket/node_modules/fbjs/lib/VersionRange.js new file mode 100644 index 0000000..93e3e53 --- /dev/null +++ b/socket/node_modules/fbjs/lib/VersionRange.js @@ -0,0 +1,380 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + +'use strict'; + +var invariant = require('./invariant'); + +var componentRegex = /\./; +var orRegex = /\|\|/; +var rangeRegex = /\s+\-\s+/; +var modifierRegex = /^(<=|<|=|>=|~>|~|>|)?\s*(.+)/; +var numericRegex = /^(\d*)(.*)/; + +/** + * Splits input `range` on "||" and returns true if any subrange matches + * `version`. + * + * @param {string} range + * @param {string} version + * @returns {boolean} + */ +function checkOrExpression(range, version) { + var expressions = range.split(orRegex); + + if (expressions.length > 1) { + return expressions.some(function (range) { + return VersionRange.contains(range, version); + }); + } else { + range = expressions[0].trim(); + return checkRangeExpression(range, version); + } +} + +/** + * Splits input `range` on " - " (the surrounding whitespace is required) and + * returns true if version falls between the two operands. + * + * @param {string} range + * @param {string} version + * @returns {boolean} + */ +function checkRangeExpression(range, version) { + var expressions = range.split(rangeRegex); + + !(expressions.length > 0 && expressions.length <= 2) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'the "-" operator expects exactly 2 operands') : invariant(false) : void 0; + + if (expressions.length === 1) { + return checkSimpleExpression(expressions[0], version); + } else { + var startVersion = expressions[0], + endVersion = expressions[1]; + + !(isSimpleVersion(startVersion) && isSimpleVersion(endVersion)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'operands to the "-" operator must be simple (no modifiers)') : invariant(false) : void 0; + + return checkSimpleExpression('>=' + startVersion, version) && checkSimpleExpression('<=' + endVersion, version); + } +} + +/** + * Checks if `range` matches `version`. `range` should be a "simple" range (ie. + * not a compound range using the " - " or "||" operators). + * + * @param {string} range + * @param {string} version + * @returns {boolean} + */ +function checkSimpleExpression(range, version) { + range = range.trim(); + if (range === '') { + return true; + } + + var versionComponents = version.split(componentRegex); + + var _getModifierAndCompon = getModifierAndComponents(range), + modifier = _getModifierAndCompon.modifier, + rangeComponents = _getModifierAndCompon.rangeComponents; + + switch (modifier) { + case '<': + return checkLessThan(versionComponents, rangeComponents); + case '<=': + return checkLessThanOrEqual(versionComponents, rangeComponents); + case '>=': + return checkGreaterThanOrEqual(versionComponents, rangeComponents); + case '>': + return checkGreaterThan(versionComponents, rangeComponents); + case '~': + case '~>': + return checkApproximateVersion(versionComponents, rangeComponents); + default: + return checkEqual(versionComponents, rangeComponents); + } +} + +/** + * Checks whether `a` is less than `b`. + * + * @param {array} a + * @param {array} b + * @returns {boolean} + */ +function checkLessThan(a, b) { + return compareComponents(a, b) === -1; +} + +/** + * Checks whether `a` is less than or equal to `b`. + * + * @param {array} a + * @param {array} b + * @returns {boolean} + */ +function checkLessThanOrEqual(a, b) { + var result = compareComponents(a, b); + return result === -1 || result === 0; +} + +/** + * Checks whether `a` is equal to `b`. + * + * @param {array} a + * @param {array} b + * @returns {boolean} + */ +function checkEqual(a, b) { + return compareComponents(a, b) === 0; +} + +/** + * Checks whether `a` is greater than or equal to `b`. + * + * @param {array} a + * @param {array} b + * @returns {boolean} + */ +function checkGreaterThanOrEqual(a, b) { + var result = compareComponents(a, b); + return result === 1 || result === 0; +} + +/** + * Checks whether `a` is greater than `b`. + * + * @param {array} a + * @param {array} b + * @returns {boolean} + */ +function checkGreaterThan(a, b) { + return compareComponents(a, b) === 1; +} + +/** + * Checks whether `a` is "reasonably close" to `b` (as described in + * https://www.npmjs.org/doc/misc/semver.html). For example, if `b` is "1.3.1" + * then "reasonably close" is defined as ">= 1.3.1 and < 1.4". + * + * @param {array} a + * @param {array} b + * @returns {boolean} + */ +function checkApproximateVersion(a, b) { + var lowerBound = b.slice(); + var upperBound = b.slice(); + + if (upperBound.length > 1) { + upperBound.pop(); + } + var lastIndex = upperBound.length - 1; + var numeric = parseInt(upperBound[lastIndex], 10); + if (isNumber(numeric)) { + upperBound[lastIndex] = numeric + 1 + ''; + } + + return checkGreaterThanOrEqual(a, lowerBound) && checkLessThan(a, upperBound); +} + +/** + * Extracts the optional modifier (<, <=, =, >=, >, ~, ~>) and version + * components from `range`. + * + * For example, given `range` ">= 1.2.3" returns an object with a `modifier` of + * `">="` and `components` of `[1, 2, 3]`. + * + * @param {string} range + * @returns {object} + */ +function getModifierAndComponents(range) { + var rangeComponents = range.split(componentRegex); + var matches = rangeComponents[0].match(modifierRegex); + !matches ? process.env.NODE_ENV !== 'production' ? invariant(false, 'expected regex to match but it did not') : invariant(false) : void 0; + + return { + modifier: matches[1], + rangeComponents: [matches[2]].concat(rangeComponents.slice(1)) + }; +} + +/** + * Determines if `number` is a number. + * + * @param {mixed} number + * @returns {boolean} + */ +function isNumber(number) { + return !isNaN(number) && isFinite(number); +} + +/** + * Tests whether `range` is a "simple" version number without any modifiers + * (">", "~" etc). + * + * @param {string} range + * @returns {boolean} + */ +function isSimpleVersion(range) { + return !getModifierAndComponents(range).modifier; +} + +/** + * Zero-pads array `array` until it is at least `length` long. + * + * @param {array} array + * @param {number} length + */ +function zeroPad(array, length) { + for (var i = array.length; i < length; i++) { + array[i] = '0'; + } +} + +/** + * Normalizes `a` and `b` in preparation for comparison by doing the following: + * + * - zero-pads `a` and `b` + * - marks any "x", "X" or "*" component in `b` as equivalent by zero-ing it out + * in both `a` and `b` + * - marks any final "*" component in `b` as a greedy wildcard by zero-ing it + * and all of its successors in `a` + * + * @param {array} a + * @param {array} b + * @returns {array>} + */ +function normalizeVersions(a, b) { + a = a.slice(); + b = b.slice(); + + zeroPad(a, b.length); + + // mark "x" and "*" components as equal + for (var i = 0; i < b.length; i++) { + var matches = b[i].match(/^[x*]$/i); + if (matches) { + b[i] = a[i] = '0'; + + // final "*" greedily zeros all remaining components + if (matches[0] === '*' && i === b.length - 1) { + for (var j = i; j < a.length; j++) { + a[j] = '0'; + } + } + } + } + + zeroPad(b, a.length); + + return [a, b]; +} + +/** + * Returns the numerical -- not the lexicographical -- ordering of `a` and `b`. + * + * For example, `10-alpha` is greater than `2-beta`. + * + * @param {string} a + * @param {string} b + * @returns {number} -1, 0 or 1 to indicate whether `a` is less than, equal to, + * or greater than `b`, respectively + */ +function compareNumeric(a, b) { + var aPrefix = a.match(numericRegex)[1]; + var bPrefix = b.match(numericRegex)[1]; + var aNumeric = parseInt(aPrefix, 10); + var bNumeric = parseInt(bPrefix, 10); + + if (isNumber(aNumeric) && isNumber(bNumeric) && aNumeric !== bNumeric) { + return compare(aNumeric, bNumeric); + } else { + return compare(a, b); + } +} + +/** + * Returns the ordering of `a` and `b`. + * + * @param {string|number} a + * @param {string|number} b + * @returns {number} -1, 0 or 1 to indicate whether `a` is less than, equal to, + * or greater than `b`, respectively + */ +function compare(a, b) { + !(typeof a === typeof b) ? process.env.NODE_ENV !== 'production' ? invariant(false, '"a" and "b" must be of the same type') : invariant(false) : void 0; + + if (a > b) { + return 1; + } else if (a < b) { + return -1; + } else { + return 0; + } +} + +/** + * Compares arrays of version components. + * + * @param {array} a + * @param {array} b + * @returns {number} -1, 0 or 1 to indicate whether `a` is less than, equal to, + * or greater than `b`, respectively + */ +function compareComponents(a, b) { + var _normalizeVersions = normalizeVersions(a, b), + aNormalized = _normalizeVersions[0], + bNormalized = _normalizeVersions[1]; + + for (var i = 0; i < bNormalized.length; i++) { + var result = compareNumeric(aNormalized[i], bNormalized[i]); + if (result) { + return result; + } + } + + return 0; +} + +var VersionRange = { + /** + * Checks whether `version` satisfies the `range` specification. + * + * We support a subset of the expressions defined in + * https://www.npmjs.org/doc/misc/semver.html: + * + * version Must match version exactly + * =version Same as just version + * >version Must be greater than version + * >=version Must be greater than or equal to version + * = 1.2.3 and < 1.3" + * ~>version Equivalent to ~version + * 1.2.x Must match "1.2.x", where "x" is a wildcard that matches + * anything + * 1.2.* Similar to "1.2.x", but "*" in the trailing position is a + * "greedy" wildcard, so will match any number of additional + * components: + * "1.2.*" will match "1.2.1", "1.2.1.1", "1.2.1.1.1" etc + * * Any version + * "" (Empty string) Same as * + * v1 - v2 Equivalent to ">= v1 and <= v2" + * r1 || r2 Passes if either r1 or r2 are satisfied + * + * @param {string} range + * @param {string} version + * @returns {boolean} + */ + contains: function contains(range, version) { + return checkOrExpression(range.trim(), version.trim()); + } +}; + +module.exports = VersionRange; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/VersionRange.js.flow b/socket/node_modules/fbjs/lib/VersionRange.js.flow new file mode 100644 index 0000000..ad64790 --- /dev/null +++ b/socket/node_modules/fbjs/lib/VersionRange.js.flow @@ -0,0 +1,371 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @providesModule VersionRange + */ + +'use strict'; + +const invariant = require('./invariant'); + +const componentRegex = /\./; +const orRegex = /\|\|/; +const rangeRegex = /\s+\-\s+/; +const modifierRegex = /^(<=|<|=|>=|~>|~|>|)?\s*(.+)/; +const numericRegex = /^(\d*)(.*)/; + +/** + * Splits input `range` on "||" and returns true if any subrange matches + * `version`. + * + * @param {string} range + * @param {string} version + * @returns {boolean} + */ +function checkOrExpression(range, version) { + const expressions = range.split(orRegex); + + if (expressions.length > 1) { + return expressions.some(range => VersionRange.contains(range, version)); + } else { + range = expressions[0].trim(); + return checkRangeExpression(range, version); + } +} + +/** + * Splits input `range` on " - " (the surrounding whitespace is required) and + * returns true if version falls between the two operands. + * + * @param {string} range + * @param {string} version + * @returns {boolean} + */ +function checkRangeExpression(range, version) { + const expressions = range.split(rangeRegex); + + invariant(expressions.length > 0 && expressions.length <= 2, 'the "-" operator expects exactly 2 operands'); + + if (expressions.length === 1) { + return checkSimpleExpression(expressions[0], version); + } else { + const [startVersion, endVersion] = expressions; + invariant(isSimpleVersion(startVersion) && isSimpleVersion(endVersion), 'operands to the "-" operator must be simple (no modifiers)'); + + return checkSimpleExpression('>=' + startVersion, version) && checkSimpleExpression('<=' + endVersion, version); + } +} + +/** + * Checks if `range` matches `version`. `range` should be a "simple" range (ie. + * not a compound range using the " - " or "||" operators). + * + * @param {string} range + * @param {string} version + * @returns {boolean} + */ +function checkSimpleExpression(range, version) { + range = range.trim(); + if (range === '') { + return true; + } + + const versionComponents = version.split(componentRegex); + const { modifier, rangeComponents } = getModifierAndComponents(range); + switch (modifier) { + case '<': + return checkLessThan(versionComponents, rangeComponents); + case '<=': + return checkLessThanOrEqual(versionComponents, rangeComponents); + case '>=': + return checkGreaterThanOrEqual(versionComponents, rangeComponents); + case '>': + return checkGreaterThan(versionComponents, rangeComponents); + case '~': + case '~>': + return checkApproximateVersion(versionComponents, rangeComponents); + default: + return checkEqual(versionComponents, rangeComponents); + } +} + +/** + * Checks whether `a` is less than `b`. + * + * @param {array} a + * @param {array} b + * @returns {boolean} + */ +function checkLessThan(a, b) { + return compareComponents(a, b) === -1; +} + +/** + * Checks whether `a` is less than or equal to `b`. + * + * @param {array} a + * @param {array} b + * @returns {boolean} + */ +function checkLessThanOrEqual(a, b) { + const result = compareComponents(a, b); + return result === -1 || result === 0; +} + +/** + * Checks whether `a` is equal to `b`. + * + * @param {array} a + * @param {array} b + * @returns {boolean} + */ +function checkEqual(a, b) { + return compareComponents(a, b) === 0; +} + +/** + * Checks whether `a` is greater than or equal to `b`. + * + * @param {array} a + * @param {array} b + * @returns {boolean} + */ +function checkGreaterThanOrEqual(a, b) { + const result = compareComponents(a, b); + return result === 1 || result === 0; +} + +/** + * Checks whether `a` is greater than `b`. + * + * @param {array} a + * @param {array} b + * @returns {boolean} + */ +function checkGreaterThan(a, b) { + return compareComponents(a, b) === 1; +} + +/** + * Checks whether `a` is "reasonably close" to `b` (as described in + * https://www.npmjs.org/doc/misc/semver.html). For example, if `b` is "1.3.1" + * then "reasonably close" is defined as ">= 1.3.1 and < 1.4". + * + * @param {array} a + * @param {array} b + * @returns {boolean} + */ +function checkApproximateVersion(a, b) { + const lowerBound = b.slice(); + const upperBound = b.slice(); + + if (upperBound.length > 1) { + upperBound.pop(); + } + const lastIndex = upperBound.length - 1; + const numeric = parseInt(upperBound[lastIndex], 10); + if (isNumber(numeric)) { + upperBound[lastIndex] = numeric + 1 + ''; + } + + return checkGreaterThanOrEqual(a, lowerBound) && checkLessThan(a, upperBound); +} + +/** + * Extracts the optional modifier (<, <=, =, >=, >, ~, ~>) and version + * components from `range`. + * + * For example, given `range` ">= 1.2.3" returns an object with a `modifier` of + * `">="` and `components` of `[1, 2, 3]`. + * + * @param {string} range + * @returns {object} + */ +function getModifierAndComponents(range) { + const rangeComponents = range.split(componentRegex); + const matches = rangeComponents[0].match(modifierRegex); + invariant(matches, 'expected regex to match but it did not'); + + return { + modifier: matches[1], + rangeComponents: [matches[2]].concat(rangeComponents.slice(1)) + }; +} + +/** + * Determines if `number` is a number. + * + * @param {mixed} number + * @returns {boolean} + */ +function isNumber(number) { + return !isNaN(number) && isFinite(number); +} + +/** + * Tests whether `range` is a "simple" version number without any modifiers + * (">", "~" etc). + * + * @param {string} range + * @returns {boolean} + */ +function isSimpleVersion(range) { + return !getModifierAndComponents(range).modifier; +} + +/** + * Zero-pads array `array` until it is at least `length` long. + * + * @param {array} array + * @param {number} length + */ +function zeroPad(array, length) { + for (let i = array.length; i < length; i++) { + array[i] = '0'; + } +} + +/** + * Normalizes `a` and `b` in preparation for comparison by doing the following: + * + * - zero-pads `a` and `b` + * - marks any "x", "X" or "*" component in `b` as equivalent by zero-ing it out + * in both `a` and `b` + * - marks any final "*" component in `b` as a greedy wildcard by zero-ing it + * and all of its successors in `a` + * + * @param {array} a + * @param {array} b + * @returns {array>} + */ +function normalizeVersions(a, b) { + a = a.slice(); + b = b.slice(); + + zeroPad(a, b.length); + + // mark "x" and "*" components as equal + for (let i = 0; i < b.length; i++) { + const matches = b[i].match(/^[x*]$/i); + if (matches) { + b[i] = a[i] = '0'; + + // final "*" greedily zeros all remaining components + if (matches[0] === '*' && i === b.length - 1) { + for (let j = i; j < a.length; j++) { + a[j] = '0'; + } + } + } + } + + zeroPad(b, a.length); + + return [a, b]; +} + +/** + * Returns the numerical -- not the lexicographical -- ordering of `a` and `b`. + * + * For example, `10-alpha` is greater than `2-beta`. + * + * @param {string} a + * @param {string} b + * @returns {number} -1, 0 or 1 to indicate whether `a` is less than, equal to, + * or greater than `b`, respectively + */ +function compareNumeric(a, b) { + const aPrefix = a.match(numericRegex)[1]; + const bPrefix = b.match(numericRegex)[1]; + const aNumeric = parseInt(aPrefix, 10); + const bNumeric = parseInt(bPrefix, 10); + + if (isNumber(aNumeric) && isNumber(bNumeric) && aNumeric !== bNumeric) { + return compare(aNumeric, bNumeric); + } else { + return compare(a, b); + } +} + +/** + * Returns the ordering of `a` and `b`. + * + * @param {string|number} a + * @param {string|number} b + * @returns {number} -1, 0 or 1 to indicate whether `a` is less than, equal to, + * or greater than `b`, respectively + */ +function compare(a, b) { + invariant(typeof a === typeof b, '"a" and "b" must be of the same type'); + + if (a > b) { + return 1; + } else if (a < b) { + return -1; + } else { + return 0; + } +} + +/** + * Compares arrays of version components. + * + * @param {array} a + * @param {array} b + * @returns {number} -1, 0 or 1 to indicate whether `a` is less than, equal to, + * or greater than `b`, respectively + */ +function compareComponents(a, b) { + const [aNormalized, bNormalized] = normalizeVersions(a, b); + + for (let i = 0; i < bNormalized.length; i++) { + const result = compareNumeric(aNormalized[i], bNormalized[i]); + if (result) { + return result; + } + } + + return 0; +} + +var VersionRange = { + /** + * Checks whether `version` satisfies the `range` specification. + * + * We support a subset of the expressions defined in + * https://www.npmjs.org/doc/misc/semver.html: + * + * version Must match version exactly + * =version Same as just version + * >version Must be greater than version + * >=version Must be greater than or equal to version + * = 1.2.3 and < 1.3" + * ~>version Equivalent to ~version + * 1.2.x Must match "1.2.x", where "x" is a wildcard that matches + * anything + * 1.2.* Similar to "1.2.x", but "*" in the trailing position is a + * "greedy" wildcard, so will match any number of additional + * components: + * "1.2.*" will match "1.2.1", "1.2.1.1", "1.2.1.1.1" etc + * * Any version + * "" (Empty string) Same as * + * v1 - v2 Equivalent to ">= v1 and <= v2" + * r1 || r2 Passes if either r1 or r2 are satisfied + * + * @param {string} range + * @param {string} version + * @returns {boolean} + */ + contains(range, version) { + return checkOrExpression(range.trim(), version.trim()); + } +}; + +module.exports = VersionRange; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/__mocks__/ErrorUtils.js b/socket/node_modules/fbjs/lib/__mocks__/ErrorUtils.js new file mode 100644 index 0000000..5140ac4 --- /dev/null +++ b/socket/node_modules/fbjs/lib/__mocks__/ErrorUtils.js @@ -0,0 +1,20 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +'use strict'; + +var ErrorUtils = jest.genMockFromModule('../ErrorUtils'); + +ErrorUtils.applyWithGuard.mockImplementation(function (callback, context, args) { + return callback.apply(context, args); +}); + +ErrorUtils.guard.mockImplementation(function (callback) { + return callback; +}); + +module.exports = ErrorUtils; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/__mocks__/base62.js b/socket/node_modules/fbjs/lib/__mocks__/base62.js new file mode 100644 index 0000000..24cc91c --- /dev/null +++ b/socket/node_modules/fbjs/lib/__mocks__/base62.js @@ -0,0 +1,10 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +'use strict'; + +module.exports = require.requireActual('../base62'); \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/__mocks__/crc32.js b/socket/node_modules/fbjs/lib/__mocks__/crc32.js new file mode 100644 index 0000000..259e4c7 --- /dev/null +++ b/socket/node_modules/fbjs/lib/__mocks__/crc32.js @@ -0,0 +1,10 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +'use strict'; + +module.exports = require.requireActual('../crc32'); \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/__mocks__/fetch.js b/socket/node_modules/fbjs/lib/__mocks__/fetch.js new file mode 100644 index 0000000..2ae49d6 --- /dev/null +++ b/socket/node_modules/fbjs/lib/__mocks__/fetch.js @@ -0,0 +1,26 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @noflow + */ + +'use strict'; + +var Deferred = require.requireActual('../Deferred'); + +function fetch(uri, options) { + var deferred = new Deferred(); + fetch.mock.calls.push([uri, options]); + fetch.mock.deferreds.push(deferred); + return deferred.getPromise(); +} + +fetch.mock = { + calls: [], + deferreds: [] +}; + +module.exports = fetch; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/__mocks__/fetchWithRetries.js b/socket/node_modules/fbjs/lib/__mocks__/fetchWithRetries.js new file mode 100644 index 0000000..f87746b --- /dev/null +++ b/socket/node_modules/fbjs/lib/__mocks__/fetchWithRetries.js @@ -0,0 +1,31 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @noflow + */ + +'use strict'; + +var Deferred = require.requireActual('../Deferred'); + +function fetchWithRetries() { + var deferred = new Deferred(); + + for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + fetchWithRetries.mock.calls.push(args); + fetchWithRetries.mock.deferreds.push(deferred); + return deferred.getPromise(); +} + +fetchWithRetries.mock = { + calls: [], + deferreds: [] +}; + +module.exports = fetchWithRetries; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/__mocks__/nullthrows.js b/socket/node_modules/fbjs/lib/__mocks__/nullthrows.js new file mode 100644 index 0000000..4342283 --- /dev/null +++ b/socket/node_modules/fbjs/lib/__mocks__/nullthrows.js @@ -0,0 +1,12 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +'use strict'; + +jest.dontMock('../nullthrows'); + +module.exports = require('../nullthrows'); \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/_shouldPolyfillES6Collection.js b/socket/node_modules/fbjs/lib/_shouldPolyfillES6Collection.js new file mode 100644 index 0000000..86b177f --- /dev/null +++ b/socket/node_modules/fbjs/lib/_shouldPolyfillES6Collection.js @@ -0,0 +1,39 @@ +'use strict'; + +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @preventMunge + * + */ + +/** + * Checks whether a collection name (e.g. "Map" or "Set") has a native polyfill + * that is safe to be used. + */ +function shouldPolyfillES6Collection(collectionName) { + var Collection = global[collectionName]; + if (Collection == null) { + return true; + } + + // The iterator protocol depends on `Symbol.iterator`. If a collection is + // implemented, but `Symbol` is not, it's going to break iteration because + // we'll be using custom "@@iterator" instead, which is not implemented on + // native collections. + if (typeof global.Symbol !== 'function') { + return true; + } + + var proto = Collection.prototype; + + // These checks are adapted from es6-shim: https://fburl.com/34437854 + // NOTE: `isCallableWithoutNew` and `!supportsSubclassing` are not checked + // because they make debugging with "break on exceptions" difficult. + return Collection == null || typeof Collection !== 'function' || typeof proto.clear !== 'function' || new Collection().size !== 0 || typeof proto.keys !== 'function' || typeof proto.forEach !== 'function'; +} + +module.exports = shouldPolyfillES6Collection; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/_shouldPolyfillES6Collection.js.flow b/socket/node_modules/fbjs/lib/_shouldPolyfillES6Collection.js.flow new file mode 100644 index 0000000..672b5f1 --- /dev/null +++ b/socket/node_modules/fbjs/lib/_shouldPolyfillES6Collection.js.flow @@ -0,0 +1,38 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @providesModule _shouldPolyfillES6Collection + * @preventMunge + * @flow + */ + +/** + * Checks whether a collection name (e.g. "Map" or "Set") has a native polyfill + * that is safe to be used. + */ +function shouldPolyfillES6Collection(collectionName: string): boolean { + const Collection = global[collectionName]; + if (Collection == null) { + return true; + } + + // The iterator protocol depends on `Symbol.iterator`. If a collection is + // implemented, but `Symbol` is not, it's going to break iteration because + // we'll be using custom "@@iterator" instead, which is not implemented on + // native collections. + if (typeof global.Symbol !== 'function') { + return true; + } + + const proto = Collection.prototype; + + // These checks are adapted from es6-shim: https://fburl.com/34437854 + // NOTE: `isCallableWithoutNew` and `!supportsSubclassing` are not checked + // because they make debugging with "break on exceptions" difficult. + return Collection == null || typeof Collection !== 'function' || typeof proto.clear !== 'function' || new Collection().size !== 0 || typeof proto.keys !== 'function' || typeof proto.forEach !== 'function'; +} + +module.exports = shouldPolyfillES6Collection; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/areEqual.js b/socket/node_modules/fbjs/lib/areEqual.js new file mode 100644 index 0000000..e6a7da3 --- /dev/null +++ b/socket/node_modules/fbjs/lib/areEqual.js @@ -0,0 +1,106 @@ +'use strict'; + +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * + */ + +var aStackPool = []; +var bStackPool = []; + +/** + * Checks if two values are equal. Values may be primitives, arrays, or objects. + * Returns true if both arguments have the same keys and values. + * + * @see http://underscorejs.org + * @copyright 2009-2013 Jeremy Ashkenas, DocumentCloud Inc. + * @license MIT + */ +function areEqual(a, b) { + var aStack = aStackPool.length ? aStackPool.pop() : []; + var bStack = bStackPool.length ? bStackPool.pop() : []; + var result = eq(a, b, aStack, bStack); + aStack.length = 0; + bStack.length = 0; + aStackPool.push(aStack); + bStackPool.push(bStack); + return result; +} + +function eq(a, b, aStack, bStack) { + if (a === b) { + // Identical objects are equal. `0 === -0`, but they aren't identical. + return a !== 0 || 1 / a == 1 / b; + } + if (a == null || b == null) { + // a or b can be `null` or `undefined` + return false; + } + if (typeof a != 'object' || typeof b != 'object') { + return false; + } + var objToStr = Object.prototype.toString; + var className = objToStr.call(a); + if (className != objToStr.call(b)) { + return false; + } + switch (className) { + case '[object String]': + return a == String(b); + case '[object Number]': + return isNaN(a) || isNaN(b) ? false : a == Number(b); + case '[object Date]': + case '[object Boolean]': + return +a == +b; + case '[object RegExp]': + return a.source == b.source && a.global == b.global && a.multiline == b.multiline && a.ignoreCase == b.ignoreCase; + } + // Assume equality for cyclic structures. + var length = aStack.length; + while (length--) { + if (aStack[length] == a) { + return bStack[length] == b; + } + } + aStack.push(a); + bStack.push(b); + var size = 0; + // Recursively compare objects and arrays. + if (className === '[object Array]') { + size = a.length; + if (size !== b.length) { + return false; + } + // Deep compare the contents, ignoring non-numeric properties. + while (size--) { + if (!eq(a[size], b[size], aStack, bStack)) { + return false; + } + } + } else { + if (a.constructor !== b.constructor) { + return false; + } + if (a.hasOwnProperty('valueOf') && b.hasOwnProperty('valueOf')) { + return a.valueOf() == b.valueOf(); + } + var keys = Object.keys(a); + if (keys.length != Object.keys(b).length) { + return false; + } + for (var i = 0; i < keys.length; i++) { + if (!eq(a[keys[i]], b[keys[i]], aStack, bStack)) { + return false; + } + } + } + aStack.pop(); + bStack.pop(); + return true; +} + +module.exports = areEqual; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/areEqual.js.flow b/socket/node_modules/fbjs/lib/areEqual.js.flow new file mode 100644 index 0000000..06e53ec --- /dev/null +++ b/socket/node_modules/fbjs/lib/areEqual.js.flow @@ -0,0 +1,105 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @providesModule areEqual + * @flow + */ + +const aStackPool = []; +const bStackPool = []; + +/** + * Checks if two values are equal. Values may be primitives, arrays, or objects. + * Returns true if both arguments have the same keys and values. + * + * @see http://underscorejs.org + * @copyright 2009-2013 Jeremy Ashkenas, DocumentCloud Inc. + * @license MIT + */ +function areEqual(a: any, b: any): boolean { + const aStack = aStackPool.length ? aStackPool.pop() : []; + const bStack = bStackPool.length ? bStackPool.pop() : []; + const result = eq(a, b, aStack, bStack); + aStack.length = 0; + bStack.length = 0; + aStackPool.push(aStack); + bStackPool.push(bStack); + return result; +} + +function eq(a: any, b: any, aStack: Array, bStack: Array): boolean { + if (a === b) { + // Identical objects are equal. `0 === -0`, but they aren't identical. + return a !== 0 || 1 / a == 1 / b; + } + if (a == null || b == null) { + // a or b can be `null` or `undefined` + return false; + } + if (typeof a != 'object' || typeof b != 'object') { + return false; + } + const objToStr = Object.prototype.toString; + const className = objToStr.call(a); + if (className != objToStr.call(b)) { + return false; + } + switch (className) { + case '[object String]': + return a == String(b); + case '[object Number]': + return isNaN(a) || isNaN(b) ? false : a == Number(b); + case '[object Date]': + case '[object Boolean]': + return +a == +b; + case '[object RegExp]': + return a.source == b.source && a.global == b.global && a.multiline == b.multiline && a.ignoreCase == b.ignoreCase; + } + // Assume equality for cyclic structures. + let length = aStack.length; + while (length--) { + if (aStack[length] == a) { + return bStack[length] == b; + } + } + aStack.push(a); + bStack.push(b); + let size = 0; + // Recursively compare objects and arrays. + if (className === '[object Array]') { + size = a.length; + if (size !== b.length) { + return false; + } + // Deep compare the contents, ignoring non-numeric properties. + while (size--) { + if (!eq(a[size], b[size], aStack, bStack)) { + return false; + } + } + } else { + if (a.constructor !== b.constructor) { + return false; + } + if (a.hasOwnProperty('valueOf') && b.hasOwnProperty('valueOf')) { + return a.valueOf() == b.valueOf(); + } + const keys = Object.keys(a); + if (keys.length != Object.keys(b).length) { + return false; + } + for (let i = 0; i < keys.length; i++) { + if (!eq(a[keys[i]], b[keys[i]], aStack, bStack)) { + return false; + } + } + } + aStack.pop(); + bStack.pop(); + return true; +} + +module.exports = areEqual; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/base62.js b/socket/node_modules/fbjs/lib/base62.js new file mode 100644 index 0000000..e2e4d82 --- /dev/null +++ b/socket/node_modules/fbjs/lib/base62.js @@ -0,0 +1,26 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * + */ + +'use strict'; + +var BASE62 = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; + +function base62(number) { + if (!number) { + return '0'; + } + var string = ''; + while (number > 0) { + string = BASE62[number % 62] + string; + number = Math.floor(number / 62); + } + return string; +} + +module.exports = base62; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/base62.js.flow b/socket/node_modules/fbjs/lib/base62.js.flow new file mode 100644 index 0000000..f815120 --- /dev/null +++ b/socket/node_modules/fbjs/lib/base62.js.flow @@ -0,0 +1,27 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @providesModule base62 + * @flow + */ + +'use strict'; + +const BASE62 = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; + +function base62(number: number): string { + if (!number) { + return '0'; + } + let string = ''; + while (number > 0) { + string = BASE62[number % 62] + string; + number = Math.floor(number / 62); + } + return string; +} + +module.exports = base62; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/camelize.js b/socket/node_modules/fbjs/lib/camelize.js new file mode 100644 index 0000000..ca010a2 --- /dev/null +++ b/socket/node_modules/fbjs/lib/camelize.js @@ -0,0 +1,29 @@ +"use strict"; + +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @typechecks + */ + +var _hyphenPattern = /-(.)/g; + +/** + * Camelcases a hyphenated string, for example: + * + * > camelize('background-color') + * < "backgroundColor" + * + * @param {string} string + * @return {string} + */ +function camelize(string) { + return string.replace(_hyphenPattern, function (_, character) { + return character.toUpperCase(); + }); +} + +module.exports = camelize; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/camelize.js.flow b/socket/node_modules/fbjs/lib/camelize.js.flow new file mode 100644 index 0000000..9b0b423 --- /dev/null +++ b/socket/node_modules/fbjs/lib/camelize.js.flow @@ -0,0 +1,28 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @providesModule camelize + * @typechecks + */ + +const _hyphenPattern = /-(.)/g; + +/** + * Camelcases a hyphenated string, for example: + * + * > camelize('background-color') + * < "backgroundColor" + * + * @param {string} string + * @return {string} + */ +function camelize(string) { + return string.replace(_hyphenPattern, function (_, character) { + return character.toUpperCase(); + }); +} + +module.exports = camelize; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/camelizeStyleName.js b/socket/node_modules/fbjs/lib/camelizeStyleName.js new file mode 100644 index 0000000..6b076a3 --- /dev/null +++ b/socket/node_modules/fbjs/lib/camelizeStyleName.js @@ -0,0 +1,37 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @typechecks + */ + +'use strict'; + +var camelize = require('./camelize'); + +var msPattern = /^-ms-/; + +/** + * Camelcases a hyphenated CSS property name, for example: + * + * > camelizeStyleName('background-color') + * < "backgroundColor" + * > camelizeStyleName('-moz-transition') + * < "MozTransition" + * > camelizeStyleName('-ms-transition') + * < "msTransition" + * + * As Andi Smith suggests + * (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix + * is converted to lowercase `ms`. + * + * @param {string} string + * @return {string} + */ +function camelizeStyleName(string) { + return camelize(string.replace(msPattern, 'ms-')); +} + +module.exports = camelizeStyleName; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/camelizeStyleName.js.flow b/socket/node_modules/fbjs/lib/camelizeStyleName.js.flow new file mode 100644 index 0000000..8883fea --- /dev/null +++ b/socket/node_modules/fbjs/lib/camelizeStyleName.js.flow @@ -0,0 +1,38 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @providesModule camelizeStyleName + * @typechecks + */ + +'use strict'; + +const camelize = require('./camelize'); + +const msPattern = /^-ms-/; + +/** + * Camelcases a hyphenated CSS property name, for example: + * + * > camelizeStyleName('background-color') + * < "backgroundColor" + * > camelizeStyleName('-moz-transition') + * < "MozTransition" + * > camelizeStyleName('-ms-transition') + * < "msTransition" + * + * As Andi Smith suggests + * (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix + * is converted to lowercase `ms`. + * + * @param {string} string + * @return {string} + */ +function camelizeStyleName(string) { + return camelize(string.replace(msPattern, 'ms-')); +} + +module.exports = camelizeStyleName; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/compactArray.js b/socket/node_modules/fbjs/lib/compactArray.js new file mode 100644 index 0000000..5db7754 --- /dev/null +++ b/socket/node_modules/fbjs/lib/compactArray.js @@ -0,0 +1,27 @@ +/** + * Copyright 2015-present Facebook. All Rights Reserved. + * + * @typechecks + * + */ + +'use strict'; + +/** + * Returns a new Array containing all the element of the source array except + * `null` and `undefined` ones. This brings the benefit of strong typing over + * `Array.prototype.filter`. + */ + +function compactArray(array) { + var result = []; + for (var i = 0; i < array.length; ++i) { + var elem = array[i]; + if (elem != null) { + result.push(elem); + } + } + return result; +} + +module.exports = compactArray; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/compactArray.js.flow b/socket/node_modules/fbjs/lib/compactArray.js.flow new file mode 100644 index 0000000..5b8ccbe --- /dev/null +++ b/socket/node_modules/fbjs/lib/compactArray.js.flow @@ -0,0 +1,28 @@ +/** + * Copyright 2015-present Facebook. All Rights Reserved. + * + * @providesModule compactArray + * @typechecks + * @flow + */ + +'use strict'; + +/** + * Returns a new Array containing all the element of the source array except + * `null` and `undefined` ones. This brings the benefit of strong typing over + * `Array.prototype.filter`. + */ + +function compactArray(array: Array): Array { + var result = []; + for (var i = 0; i < array.length; ++i) { + var elem = array[i]; + if (elem != null) { + result.push(elem); + } + } + return result; +} + +module.exports = compactArray; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/concatAllArray.js b/socket/node_modules/fbjs/lib/concatAllArray.js new file mode 100644 index 0000000..a964982 --- /dev/null +++ b/socket/node_modules/fbjs/lib/concatAllArray.js @@ -0,0 +1,33 @@ +'use strict'; + +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @typechecks + */ + +var push = Array.prototype.push; + +/** + * Concats an array of arrays into a single flat array. + * + * @param {array} array + * @return {array} + */ +function concatAllArray(array) { + var ret = []; + for (var ii = 0; ii < array.length; ii++) { + var value = array[ii]; + if (Array.isArray(value)) { + push.apply(ret, value); + } else if (value != null) { + throw new TypeError('concatAllArray: All items in the array must be an array or null, ' + 'got "' + value + '" at index "' + ii + '" instead'); + } + } + return ret; +} + +module.exports = concatAllArray; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/concatAllArray.js.flow b/socket/node_modules/fbjs/lib/concatAllArray.js.flow new file mode 100644 index 0000000..41103ff --- /dev/null +++ b/socket/node_modules/fbjs/lib/concatAllArray.js.flow @@ -0,0 +1,32 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @providesModule concatAllArray + * @typechecks + */ + +var push = Array.prototype.push; + +/** + * Concats an array of arrays into a single flat array. + * + * @param {array} array + * @return {array} + */ +function concatAllArray(array) { + var ret = []; + for (var ii = 0; ii < array.length; ii++) { + var value = array[ii]; + if (Array.isArray(value)) { + push.apply(ret, value); + } else if (value != null) { + throw new TypeError('concatAllArray: All items in the array must be an array or null, ' + 'got "' + value + '" at index "' + ii + '" instead'); + } + } + return ret; +} + +module.exports = concatAllArray; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/containsNode.js b/socket/node_modules/fbjs/lib/containsNode.js new file mode 100644 index 0000000..bee5085 --- /dev/null +++ b/socket/node_modules/fbjs/lib/containsNode.js @@ -0,0 +1,37 @@ +'use strict'; + +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * + */ + +var isTextNode = require('./isTextNode'); + +/*eslint-disable no-bitwise */ + +/** + * Checks if a given DOM node contains or is another DOM node. + */ +function containsNode(outerNode, innerNode) { + if (!outerNode || !innerNode) { + return false; + } else if (outerNode === innerNode) { + return true; + } else if (isTextNode(outerNode)) { + return false; + } else if (isTextNode(innerNode)) { + return containsNode(outerNode, innerNode.parentNode); + } else if ('contains' in outerNode) { + return outerNode.contains(innerNode); + } else if (outerNode.compareDocumentPosition) { + return !!(outerNode.compareDocumentPosition(innerNode) & 16); + } else { + return false; + } +} + +module.exports = containsNode; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/containsNode.js.flow b/socket/node_modules/fbjs/lib/containsNode.js.flow new file mode 100644 index 0000000..b2117f3 --- /dev/null +++ b/socket/node_modules/fbjs/lib/containsNode.js.flow @@ -0,0 +1,36 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @providesModule containsNode + * @flow + */ + +const isTextNode = require('./isTextNode'); + +/*eslint-disable no-bitwise */ + +/** + * Checks if a given DOM node contains or is another DOM node. + */ +function containsNode(outerNode: ?Node, innerNode: ?Node): boolean { + if (!outerNode || !innerNode) { + return false; + } else if (outerNode === innerNode) { + return true; + } else if (isTextNode(outerNode)) { + return false; + } else if (isTextNode(innerNode)) { + return containsNode(outerNode, innerNode.parentNode); + } else if ('contains' in outerNode) { + return outerNode.contains(innerNode); + } else if (outerNode.compareDocumentPosition) { + return !!(outerNode.compareDocumentPosition(innerNode) & 16); + } else { + return false; + } +} + +module.exports = containsNode; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/countDistinct.js b/socket/node_modules/fbjs/lib/countDistinct.js new file mode 100644 index 0000000..c8aa925 --- /dev/null +++ b/socket/node_modules/fbjs/lib/countDistinct.js @@ -0,0 +1,51 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * + */ + +'use strict'; + +var Set = require('./Set'); + +var emptyFunction = require('./emptyFunction'); + +/** + * Returns the count of distinct elements selected from an array. + */ +function countDistinct(iter, selector) { + selector = selector || emptyFunction.thatReturnsArgument; + + var set = new Set(); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = iter[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var val = _step.value; + + set.add(selector(val)); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator['return']) { + _iterator['return'](); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + return set.size; +} + +module.exports = countDistinct; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/countDistinct.js.flow b/socket/node_modules/fbjs/lib/countDistinct.js.flow new file mode 100644 index 0000000..25676aa --- /dev/null +++ b/socket/node_modules/fbjs/lib/countDistinct.js.flow @@ -0,0 +1,31 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @providesModule countDistinct + * @flow + */ + +'use strict'; + +var Set = require('./Set'); + +var emptyFunction = require('./emptyFunction'); + +/** + * Returns the count of distinct elements selected from an array. + */ +function countDistinct(iter: Iterable, selector: (item: T1) => T2): number { + selector = selector || emptyFunction.thatReturnsArgument; + + var set = new Set(); + for (var val of iter) { + set.add(selector(val)); + } + + return set.size; +} + +module.exports = countDistinct; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/crc32.js b/socket/node_modules/fbjs/lib/crc32.js new file mode 100644 index 0000000..806694c --- /dev/null +++ b/socket/node_modules/fbjs/lib/crc32.js @@ -0,0 +1,27 @@ +"use strict"; + +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * + */ + +function crc32(str) { + /* jslint bitwise: true */ + var crc = -1; + for (var i = 0, len = str.length; i < len; i++) { + crc = crc >>> 8 ^ table[(crc ^ str.charCodeAt(i)) & 0xFF]; + } + return ~crc; +} + +var table = [0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3, 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91, 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5, 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172, 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116, 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F, 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433, 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01, 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457, 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C, 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65, 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0, 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9, 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F, 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683, 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE, 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7, 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC, 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5, 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B, 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60, 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79, 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D, 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A, 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713, 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E, 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777, 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2, 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB, 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9, 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF, 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D]; + +if (global.Int32Array !== undefined) { + table = new Int32Array(table); +} + +module.exports = crc32; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/crc32.js.flow b/socket/node_modules/fbjs/lib/crc32.js.flow new file mode 100644 index 0000000..00cab44 --- /dev/null +++ b/socket/node_modules/fbjs/lib/crc32.js.flow @@ -0,0 +1,26 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @providesModule crc32 + * @flow + */ + +function crc32(str: string): number { + /* jslint bitwise: true */ + var crc = -1; + for (var i = 0, len = str.length; i < len; i++) { + crc = crc >>> 8 ^ table[(crc ^ str.charCodeAt(i)) & 0xFF]; + } + return ~crc; +} + +var table = [0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3, 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91, 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5, 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172, 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116, 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F, 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433, 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01, 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457, 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C, 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65, 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0, 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9, 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F, 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683, 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE, 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7, 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC, 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5, 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B, 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60, 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79, 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D, 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A, 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713, 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E, 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777, 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2, 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB, 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9, 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF, 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D]; + +if (global.Int32Array !== undefined) { + table = new Int32Array(table); +} + +module.exports = crc32; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/createArrayFromMixed.js b/socket/node_modules/fbjs/lib/createArrayFromMixed.js new file mode 100644 index 0000000..879141a --- /dev/null +++ b/socket/node_modules/fbjs/lib/createArrayFromMixed.js @@ -0,0 +1,124 @@ +'use strict'; + +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @typechecks + */ + +var invariant = require('./invariant'); + +/** + * Convert array-like objects to arrays. + * + * This API assumes the caller knows the contents of the data type. For less + * well defined inputs use createArrayFromMixed. + * + * @param {object|function|filelist} obj + * @return {array} + */ +function toArray(obj) { + var length = obj.length; + + // Some browsers builtin objects can report typeof 'function' (e.g. NodeList + // in old versions of Safari). + !(!Array.isArray(obj) && (typeof obj === 'object' || typeof obj === 'function')) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Array-like object expected') : invariant(false) : void 0; + + !(typeof length === 'number') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object needs a length property') : invariant(false) : void 0; + + !(length === 0 || length - 1 in obj) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object should have keys for indices') : invariant(false) : void 0; + + !(typeof obj.callee !== 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object can\'t be `arguments`. Use rest params ' + '(function(...args) {}) or Array.from() instead.') : invariant(false) : void 0; + + // Old IE doesn't give collections access to hasOwnProperty. Assume inputs + // without method will throw during the slice call and skip straight to the + // fallback. + if (obj.hasOwnProperty) { + try { + return Array.prototype.slice.call(obj); + } catch (e) { + // IE < 9 does not support Array#slice on collections objects + } + } + + // Fall back to copying key by key. This assumes all keys have a value, + // so will not preserve sparsely populated inputs. + var ret = Array(length); + for (var ii = 0; ii < length; ii++) { + ret[ii] = obj[ii]; + } + return ret; +} + +/** + * Perform a heuristic test to determine if an object is "array-like". + * + * A monk asked Joshu, a Zen master, "Has a dog Buddha nature?" + * Joshu replied: "Mu." + * + * This function determines if its argument has "array nature": it returns + * true if the argument is an actual array, an `arguments' object, or an + * HTMLCollection (e.g. node.childNodes or node.getElementsByTagName()). + * + * It will return false for other array-like objects like Filelist. + * + * @param {*} obj + * @return {boolean} + */ +function hasArrayNature(obj) { + return ( + // not null/false + !!obj && ( + // arrays are objects, NodeLists are functions in Safari + typeof obj == 'object' || typeof obj == 'function') && + // quacks like an array + 'length' in obj && + // not window + !('setInterval' in obj) && + // no DOM node should be considered an array-like + // a 'select' element has 'length' and 'item' properties on IE8 + typeof obj.nodeType != 'number' && ( + // a real array + Array.isArray(obj) || + // arguments + 'callee' in obj || + // HTMLCollection/NodeList + 'item' in obj) + ); +} + +/** + * Ensure that the argument is an array by wrapping it in an array if it is not. + * Creates a copy of the argument if it is already an array. + * + * This is mostly useful idiomatically: + * + * var createArrayFromMixed = require('createArrayFromMixed'); + * + * function takesOneOrMoreThings(things) { + * things = createArrayFromMixed(things); + * ... + * } + * + * This allows you to treat `things' as an array, but accept scalars in the API. + * + * If you need to convert an array-like object, like `arguments`, into an array + * use toArray instead. + * + * @param {*} obj + * @return {array} + */ +function createArrayFromMixed(obj) { + if (!hasArrayNature(obj)) { + return [obj]; + } else if (Array.isArray(obj)) { + return obj.slice(); + } else { + return toArray(obj); + } +} + +module.exports = createArrayFromMixed; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/createArrayFromMixed.js.flow b/socket/node_modules/fbjs/lib/createArrayFromMixed.js.flow new file mode 100644 index 0000000..1448db1 --- /dev/null +++ b/socket/node_modules/fbjs/lib/createArrayFromMixed.js.flow @@ -0,0 +1,123 @@ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @providesModule createArrayFromMixed + * @typechecks + */ + +const invariant = require('./invariant'); + +/** + * Convert array-like objects to arrays. + * + * This API assumes the caller knows the contents of the data type. For less + * well defined inputs use createArrayFromMixed. + * + * @param {object|function|filelist} obj + * @return {array} + */ +function toArray(obj) { + const length = obj.length; + + // Some browsers builtin objects can report typeof 'function' (e.g. NodeList + // in old versions of Safari). + invariant(!Array.isArray(obj) && (typeof obj === 'object' || typeof obj === 'function'), 'toArray: Array-like object expected'); + + invariant(typeof length === 'number', 'toArray: Object needs a length property'); + + invariant(length === 0 || length - 1 in obj, 'toArray: Object should have keys for indices'); + + invariant(typeof obj.callee !== 'function', 'toArray: Object can\'t be `arguments`. Use rest params ' + '(function(...args) {}) or Array.from() instead.'); + + // Old IE doesn't give collections access to hasOwnProperty. Assume inputs + // without method will throw during the slice call and skip straight to the + // fallback. + if (obj.hasOwnProperty) { + try { + return Array.prototype.slice.call(obj); + } catch (e) { + // IE < 9 does not support Array#slice on collections objects + } + } + + // Fall back to copying key by key. This assumes all keys have a value, + // so will not preserve sparsely populated inputs. + const ret = Array(length); + for (let ii = 0; ii < length; ii++) { + ret[ii] = obj[ii]; + } + return ret; +} + +/** + * Perform a heuristic test to determine if an object is "array-like". + * + * A monk asked Joshu, a Zen master, "Has a dog Buddha nature?" + * Joshu replied: "Mu." + * + * This function determines if its argument has "array nature": it returns + * true if the argument is an actual array, an `arguments' object, or an + * HTMLCollection (e.g. node.childNodes or node.getElementsByTagName()). + * + * It will return false for other array-like objects like Filelist. + * + * @param {*} obj + * @return {boolean} + */ +function hasArrayNature(obj) { + return ( + // not null/false + !!obj && ( + // arrays are objects, NodeLists are functions in Safari + typeof obj == 'object' || typeof obj == 'function') && + // quacks like an array + 'length' in obj && + // not window + !('setInterval' in obj) && + // no DOM node should be considered an array-like + // a 'select' element has 'length' and 'item' properties on IE8 + typeof obj.nodeType != 'number' && ( + // a real array + Array.isArray(obj) || + // arguments + 'callee' in obj || + // HTMLCollection/NodeList + 'item' in obj) + ); +} + +/** + * Ensure that the argument is an array by wrapping it in an array if it is not. + * Creates a copy of the argument if it is already an array. + * + * This is mostly useful idiomatically: + * + * var createArrayFromMixed = require('createArrayFromMixed'); + * + * function takesOneOrMoreThings(things) { + * things = createArrayFromMixed(things); + * ... + * } + * + * This allows you to treat `things' as an array, but accept scalars in the API. + * + * If you need to convert an array-like object, like `arguments`, into an array + * use toArray instead. + * + * @param {*} obj + * @return {array} + */ +function createArrayFromMixed(obj) { + if (!hasArrayNature(obj)) { + return [obj]; + } else if (Array.isArray(obj)) { + return obj.slice(); + } else { + return toArray(obj); + } +} + +module.exports = createArrayFromMixed; \ No newline at end of file diff --git a/socket/node_modules/fbjs/lib/createNodesFromMarkup.js b/socket/node_modules/fbjs/lib/createNodesFromMarkup.js new file mode 100644 index 0000000..a0c2161 --- /dev/null +++ b/socket/node_modules/fbjs/lib/createNodesFromMarkup.js @@ -0,0 +1,81 @@ +'use strict'; + +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @typechecks + */ + +/*eslint-disable fb-www/unsafe-html*/ + +var ExecutionEnvironment = require('./ExecutionEnvironment'); + +var createArrayFromMixed = require('./createArrayFromMixed'); +var getMarkupWrap = require('./getMarkupWrap'); +var invariant = require('./invariant'); + +/** + * Dummy container used to render all markup. + */ +var dummyNode = ExecutionEnvironment.canUseDOM ? document.createElement('div') : null; + +/** + * Pattern used by `getNodeName`. + */ +var nodeNamePattern = /^\s*<(\w+)/; + +/** + * Extracts the `nodeName` of the first element in a string of markup. + * + * @param {string} markup String of markup. + * @return {?string} Node name of the supplied markup. + */ +function getNodeName(markup) { + var nodeNameMatch = markup.match(nodeNamePattern); + return nodeNameMatch && nodeNameMatch[1].toLowerCase(); +} + +/** + * Creates an array containing the nodes rendered from the supplied markup. The + * optionally supplied `handleScript` function will be invoked once for each + * + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/socket/node_modules/pillarjs/_book/2_STRING_RENDER.html b/socket/node_modules/pillarjs/_book/2_STRING_RENDER.html new file mode 100644 index 0000000..de9e3d1 --- /dev/null +++ b/socket/node_modules/pillarjs/_book/2_STRING_RENDER.html @@ -0,0 +1,336 @@ + + + + + + + 2. Rendering from string · GitBook + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + +
+ +
+ +
+ + + + + + + + +
+
+ +
+
+ +
+ +

Rendering from string

+

If for any reason you don't want to use JSX, you can render component from string or template tag.

+

Rendering from string is extremely simple. The syntax is very similar to +stateless components, but instead of returning JSX your function should +return a string:

+
const SuperHeader = ({ text }) => `
+    <div>
+        <h1>${text}</h1>
+        <h3>It's Superpowered!</h3>
+    </div>
+`;
+
+

Your component function will have the props argument that you can use for interpolation (i.e. via +ES6 template string).

+

Note that string render doesn't support state and lifecycle methods.

+

Next: Render from template tag →

+ + +
+ +
+
+
+ +

results matching ""

+
    + +
    +
    + +

    No results matching ""

    + +
    +
    +
    + +
    +
    + +
    + + + + + + + + + + + + + + +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/socket/node_modules/pillarjs/_book/3_TEMPLATE_RENDER.html b/socket/node_modules/pillarjs/_book/3_TEMPLATE_RENDER.html new file mode 100644 index 0000000..3dda153 --- /dev/null +++ b/socket/node_modules/pillarjs/_book/3_TEMPLATE_RENDER.html @@ -0,0 +1,348 @@ + + + + + + + 3. Rendering template tags · GitBook + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + +
    + +
    + +
    + + + + + + + + +
    +
    + +
    +
    + +
    + +

    Rendering from template tag

    +

    Pillar allows rendering components from HTML <template> tag. All you need to do is pass template's +ID to the register function like so:

    +
    Pillar.register('#my-template', 'super-header');
    +
    +

    Note: Explicitly specifying tag name is required when registering a template.

    +

    How do I access props?

    +

    Because you're not defining a function when registering template, there's no explicit place to +access props. Instead props are passed to the template directly using {{Mustache}} syntax.

    +

    So in your HTML you can do:

    +
    <template id="my-template">
    +    <h1>{{text}}</h1>
    +    <h3>It's Superpowered!</h3>
    +</template>
    +
    +...
    +
    +<super-header text="This is not a simple header!"></super-header>
    +
    +

    I like to live dangerously and want to use <script> tags

    +

    By default <script> tags are removed from template before rendering. You can override this +behavior by passing allowScripts option when registering:

    +
    Pillar.register('#my-template', 'super-header', {
    +    allowScripts: true,
    +});
    +
    +

    This will run any JS code inside the template.

    +

    Next: Flags →

    + + +
    + +
    +
    +
    + +

    results matching ""

    +
      + +
      +
      + +

      No results matching ""

      + +
      +
      +
      + +
      +
      + +
      + + + + + + + + + + + + + + +
      + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/socket/node_modules/pillarjs/_book/4_HANDLING_INPUT.html b/socket/node_modules/pillarjs/_book/4_HANDLING_INPUT.html new file mode 100644 index 0000000..41ce4ca --- /dev/null +++ b/socket/node_modules/pillarjs/_book/4_HANDLING_INPUT.html @@ -0,0 +1,348 @@ + + + + + + + 4. Handling user input · GitBook + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      + + + + + + + + +
      + +
      + +
      + + + + + + + + +
      +
      + +
      +
      + +
      + +

      Handling User Input

      +

      Since Pillar components' architecture is virtually the same as React's, you can handle interactions +in the similar way:

      +
      class SuperInput extends Pillar {
      +    handleChange(e) {
      +        this.setState({
      +            email: e.target.value,
      +        });
      +    }
      +
      +    render() {
      +        return <input name="email" onInput={this.handleChange.bind(this)} />;
      +    }
      +}
      +
      +

      However, because Pillar is using Preact under the hood, you +get a convenient linkState method on a component which you can use like so:

      +

      Note: the example above uses .bind(this) for demonstration purposes, but it's not a +recommended way. Use autobind-decorator or +decko in real code.

      +
      class SuperInput extends Pillar {
      +    render() {
      +        return <input name="email" onInput={this.linkState('email')} />;
      +    }
      +}
      +
      +

      Optionally, you can provide a second 'path' argument to explicitly provide a dot-notated path to the +new state value for more custom bindings.

      + + +
      + +
      +
      +
      + +

      results matching ""

      +
        + +
        +
        + +

        No results matching ""

        + +
        +
        +
        + +
        +
        + +
        + + + + + + + + + + + + + + +
        + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/socket/node_modules/pillarjs/_book/5_FLAGS.html b/socket/node_modules/pillarjs/_book/5_FLAGS.html new file mode 100644 index 0000000..ca9a5fd --- /dev/null +++ b/socket/node_modules/pillarjs/_book/5_FLAGS.html @@ -0,0 +1,333 @@ + + + + + + + 5. Flags · GitBook + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + +
        + +
        + + + + + + + + +
        +
        + +
        +
        + +
        + +

        Flags

        +

        If you prefix any of your element's attributes with a p: it becomes a flag.

        +

        Flags are passed to this.flags and are recommended for namespacing your "service" attributes.

        +

        Available flags

        +

        Pillar also pre-defines some flags that change the behavior of Pillar components:

        +

        p:ignore-children

        +

        If this flag is set, content of a custom element tag won't be passed to this.props.children when +component is rendered.

        +

        p:protected

        +

        This flag locks external attribute manipulation. If an external force like jQuery is trying to +change an element with this flag, changes won't be passed down to this.props and it will throw an +error.

        +

        Next: Shadow DOM→

        + + +
        + +
        +
        +
        + +

        results matching ""

        +
          + +
          +
          + +

          No results matching ""

          + +
          +
          +
          + +
          +
          + +
          + + + + + + + + + + + + + + +
          + + +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/socket/node_modules/pillarjs/_book/6_SHADOW_DOM.html b/socket/node_modules/pillarjs/_book/6_SHADOW_DOM.html new file mode 100644 index 0000000..62ea995 --- /dev/null +++ b/socket/node_modules/pillarjs/_book/6_SHADOW_DOM.html @@ -0,0 +1,336 @@ + + + + + + + 6. Shadow DOM · GitBook + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          +
          + + + + + + + + +
          + +
          + +
          + + + + + + + + +
          +
          + +
          +
          + +
          + +

          Shadow DOM

          +

          By default Pillar components don't use Shadow DOM because polyfill for it in some browsers may be a +bit expensive. If you know what you doing and want to use Shadow DOM, all you need to do is pass an +options object with useShadow when registering:

          +
          Pillar.register(MyComponent, 'my-component', {
          +    useShadow: 'open',
          +});
          +
          +

          Modes

          +
            +
          • useShadow: 'open' will enable Shadow DOM that is accessible from outside JavaScript.
          • +
          • useShadow: 'closed' will enable Shadow DOM that is unaccessible and unchangeable from + JavaScript. As such, these elements can't be controlled using + Pillar DevTools.
          • +
          +

          Next: Pillar DevTools →

          + + +
          + +
          +
          +
          + +

          results matching ""

          +
            + +
            +
            + +

            No results matching ""

            + +
            +
            +
            + +
            +
            + +
            + + + + + + + + + + + + + + +
            + + +
            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/socket/node_modules/pillarjs/_book/7_DEVTOOLS.html b/socket/node_modules/pillarjs/_book/7_DEVTOOLS.html new file mode 100644 index 0000000..832ee00 --- /dev/null +++ b/socket/node_modules/pillarjs/_book/7_DEVTOOLS.html @@ -0,0 +1,335 @@ + + + + + + + 7. Pillar DevTools · GitBook + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            +
            + + + + + + + + +
            + +
            + +
            + + + + + + + + +
            +
            + +
            +
            + +
            + +

            Pillar DevTools

            +

            Pillar provides a Chrome DevTools extension that allows you to efficiently inspect Pillar +components.

            +

            +

            What it does

            +

            Extension has 2 modes - panel and elements sidebar.

            +

            Panel is where most of the sweet stuff is:

            +
              +
            • List of all Pillar elements on the page with previews
            • +
            • Highlight element on hover
            • +
            • Highlight all Pillar elements on page
            • +
            • Editable JSON representation of the element
            • +
            • Pretty side view (element name, props, flags, ShadowDOM status and HTML representation)
            • +
            +

            Sidebar available on "Elements" tab of DevTools only contains editable JSON representation (useful +for quick inspection in the DOM tree).

            +

            How it does it

            +

            Pillar communicates with Dev Tools through a service object window.__PILLAR_DEVTOOLS_HOOK__ in a +similar manner to React. Dev Tools extension creates this object before Pillar is loaded, and if +during initialization of a component this object is present, Pillar will set metadata for Dev Tools +to parse.

            + + +
            + +
            +
            +
            + +

            results matching ""

            +
              + +
              +
              + +

              No results matching ""

              + +
              +
              +
              + +
              +
              + +
              + + + + + + + + + + +
              + + +
              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/socket/node_modules/pillarjs/_book/gitbook/fonts/fontawesome/FontAwesome.otf b/socket/node_modules/pillarjs/_book/gitbook/fonts/fontawesome/FontAwesome.otf new file mode 100644 index 0000000000000000000000000000000000000000..d4de13e832d567ff29c5b4e9561b8c370348cc9c GIT binary patch literal 124988 zcmbUJd0Z36|2U4%l4KKha{x&!By57#qh9rZpm?<2TJKtFy^$jj1QJZbecwX32_PVX zV7f9YgpFlkhA%W0jjEMtS0Jd_fh znd;+QjS%$}-ydy`PBA{D96bW+QiO!EREy0H^Md=|1;cL$g@gh`QIvF%#cZFOVYFFN zjC_5*%MT6qP=mcbgS`S*kkBC&IHbZV(j4qd1=EyB*Nq-84FB8V_@^Kh2T!&rf+x57 z_i>22@LYgTr4OPIjacN5f{+f4Koihp6ozJ@htNW_7_C5&XcLM;Mr1-MXgkV6d8i20 zpk~y8y3t{D0zHi`p_kAV^fvk!eT#lYf1x1?Q9?>W`B7?0OX;cmsj*ZT^$@j$ilm~b zWGa=)p(?0mY8TZ*9idKAXQ*@3bJR=J73v-8OX_>-XX+0MQ+IqApJ6^)pD{jRKC^um z`>gR&v{exJ{Me)YNS& zBwQ_gT)07K6xxJ&!ct+iuu-^E*el#8JSaRNd`fspcvW~q_@VHo@V1B+sYRnj<3&?M z;i6fhg`!oWCqz*qlPE>BU6d}$6%~j|L^YxYQHQ8Uv{$rGbV_tV^t|Y@=$fcs^rh%` z(GcxJOKBCYqsP*d=`eaWy?|a#ucJ57(eyStjV_|g=xW+Yx6!@yVfq>RW%@PxJ^C~H zTly#ZH~Nm47R$x=i8=8D;tArZ;&Aa|@p`dIoFy(1*NR)j-QxY?qvBKI=fu~zm-4?3?PF?px@)!?(lti0^UVXMCUYecktc z-_L!&_r2{q#83>&1TY$AG&7Ew$V_HJnQ$h8nZ-QJ%wrZYtC%PzmPunA%uePYbCfy3 zTx4Eit}t&gpDVg;<2RkK=lG;3hzv5&IRY&@I7+Sx3&kS$~D*k-na?P8x~ z53onrQ|uY`Y4#%fBKr#a4*LQ7GyA&~Nrh5BsY*IrI!ZcLI#D`BYLG@qXG`Zwmq?dO zS4$(M>!h2cTcvSQlQdbHDz!^9rMc2VX@%4wt&=uMTcsV+E@`iHzx1&5nDmtNtn|F} zIq7BT>(aNR??^w8ej@!s`nB|y^e5?W(m$mG(jgfolgJdZVKR+OCmSW3APbdElg*Sp zESoP|EL$d9C0i@oAlo8~k;Til$;>jVEM1l@%a;|)%4JouT3NHKP1Y&fBYRSIP8~OM0 zpXI;H|B?^N?M0`Iba;j3qNQIXWvUHqjcJY_u9v zjnQ_iG2UvlnfPJ(N0KeEN%6_i3A|xSHCfC?Te>AVEyWlGgWoOjz1}URrEa&zTH=f` z@TPFFM<>9aEyiL=;?I<5Yf`E;(QJ?bZQhoGw3&t?+CiE8(~s5Q?%6x^omX5QE#&wQ=?*{W0NwX zt#R?ufSh}kdsiNlsnI|~pjT?V#rhB6-Lj{LyJh1xW2_zePPbaTuXnHPnQUrunk|Z_ zY)Yc}Zpll3PopKtbJ?B-10}-aJYb?Z-r_0PVy#A_*=Di;9rdfKqU8?E+480T))WU(e@ z1LH*}1CK_<0*&qVj6`5Lt7ld`pYW{esd(8m3dXcrl8jj(WwyIhwAoE*DKWOFv{a9% zc`N+<_^L;sfpz0OBJLG!o=70E$%*D9;4LrFQqycEcnRQpqZNc0B;B0kB_@oQYRXDT zgi&HVGw}+nM;?K!W{)6xSkv44J>l}!Ja;{h-F>rrFXinp4b(ww67UJ|IFG+LtIcML zi;Drm0&>hT#^mH!9%u1@HM`LSl!@~2hNr}fqNk9S>bdam?B%DZe;Mk38a&VbPYY1g z!-037;JZjjw!|1StRRmd(zYZUC^0}vj5X019~*5m@=WLDY_r8~+@1zfZ;nqiC)%@; zjW(O7A;D?^BmoA2(bD2#jL{&^v1#^LODYIus)s!iQ*F^8$h;nj0ptfCIPKrQXqBz6g)^yuvij6<^ChI|EUA1 zfNemH*rPm%@|589Jy#x;-jWwZyjnHeY!<@U%qG@8$$} zDwS9B(J3%sv^mz8VvI{lw8!&vfUdV0?J-89)#Slv{N#9JoFxrV9|g05Umj8a)8N6^ z|Foo~{!f)h_P@`1OP+_kMbK}aj(M;+qb&*aH6R6kJp{L>SYmh^>J>6Cr+WBhdm1pG zXExrFr$=}%vl&?Jo&`<5C${kR|5Z#plK!Kd_^L4z=Hao+u@;^xHjmx5rNH3vpqtGp zMpFV9%GBsMP(B_K^M=^d5r6f_Kk#E5U=R!i?*#zg8dHa>Xe=yDryofSkbG1YEMi}4nsrcMt{P0P;aag%5S8Yc4n z@IJx6CEhKtnG%i3aracacYNL)M1iIQUPw!{nT%j(VnN_w`5GGsLhm(%9?|rO#eW;T z((&Jxe@%kt37(85drGn))@BO@<^nC|)p0zkc(rB&0|a~u@}Fpn`qu#b({#^7M1@Wc z_4q@4w_r5*3I1b&`Ods5*VC441epZ=@4b4Yn|BpF9PH7oo~eaSnd&v5d<~=$BoD;L zOYD2sC}6y(&?(c5Y1V`oun8b9)@`X-*0h);YetMcmKUghgvz54Vt5LJ{*3{>5;`^F zpEf&av6wVFs6<|Y@KFD>@Uy?y>d|`tQ{nGMg@%T~X~+UIl@??4yvW^hCQyw(|Jw%o zE;=g?=np<5@EYLit`1=(<3Cki0sV82=Z*hVy&|0oG{^v7&yrySak5$x2OA*nG+XHnL9atO7xVd& z@V16~FVI^UJQ)Tfguw`5FhUsL1`mXJA6N*37+??s^kV=}1ArO;)BvCc05t%p0VWd; zaNz(K4shWB7w(7ehiRYUEbQ-ix1JG#zIt|*UL6_5@%W2^N6AM@9avH!* z2e|0~2Q&)_Z2$)Z zGfbWg=M*@n!Wjx@7@P(;!{M9;=X5wD(vAE&zyRbjz{3V0mjTFS0CE|CTm~SQ0mx;T z0v%3;4yOVf5Xu0AG610rKqvzc$^e8i0HF*(C<7460E99Cp$tGM0|>t%6yQPuE)?K^ zK88?$3j???fC~dSAd3OWVgRxjfGh?eivh@D2m?3+zyVDRKobMd!~irg08I=)69dr1 z05mZGO$N16+7S{M7Kta01-4sc;22Acz47VweVS z(*O<#VgP~|fFK4Shye&<0D>5RAO;|a0SICMf*61x1|Wz52x0(&7=R!KAc!FX;6Q>5 zAVCI@AVb9T_^F_RLD;5F_b}^J=rtV35)Nbu_sY@K=^jp<3VnwIal(N(;UG%kK-h4g zO*qgd9B2~`vXcG>!2?yGQ18u^AHsL^N=&iTIO;(voLcUQ2^Uc1l!I!dTB#1Ii#h<2;p0?4 z^*;5rkJyLx@$(t)Gu`K5pZPw^eAfAF@rm&%@M-jE@!98dSTI%ah~RNSmteo3PjFiB z48(UY3EmfcEcjgTgWwmzZNY#rP#7YdAPg1G5Y7=U6h0zcAzUYn7A6Sug&zq&7ZMRA z5{Z08deJ12S(G8l7nO-BMYWetHfIIaPcVd zIPrrJcbz7lBYs>QC60yIt3!NDd{+FS_zUqj;_t93X{&1Gquc<%n^u}zRY|Nane5-!u-t&S(a6?GuWl<?qg4~ z&p<@|1$tKBG%ASzL z$+kmmvP{-1I|k9mcOmll4a6M(f{3FJL>$#}y?l~IG5Hg6qr5=gChwH* zl^^!R4$sT`;RkRqIqys(4kBDpi%Is#LY8dR50&7gaB* zuBcv9-B5j?`dsz3>U-5Ms@p1}7ORzNy?U&Al6t0kv3iyIarGv3oH|);SLdpW)jQPH z>IQX-xwc0zXE-rZBl6VcH3l`0Jh{0XVrQ~_y ztKkUMvm}(L;eb+BUS1YEEQC?xFs$c-U6|qX< zFzU4&ehA)5^#I3DT(^wQ%4_S?UlVt>wRP&Q(VcC1S$Z5Pd<4c%;@DXX>3@*HFiG6M znPEd2q8iV!eFqNov7;FhIg(-f%m+;D0!Gh@=P)e1MK^Z{rb|y@SaAuA>=^{!*fR>e zqGuSax;u_a7zHpRId&owJWv?H1=EESfCRg8+p}S2*}1vd`eowm_S{`Cvt8}&yY$3~ z`yXN06)+xum%YKcIs6;r;zSK)#dRgx;*!rfSG+sEm0>L~ZQ>xr6ZB>I)Ek;`3X!Go*{wbSU@{na^1^OM8RXZv**-wpjX6OoXin2v%D&g-hwHDxwux8_KSGonXlYbvXE)K=Cuig3XFYV3x<|;Uv zo2#3pBXgVI9kWx*l0V5QIR50XcoB#H#QcSI@=PyY`0}G~>F(k?cwmkf42Ht34F5+gaP45^#VZbN{-#dyvwj4qAGU4 z87%Bpzt52`$QL5g9?H0Z5pg?>q5dq#{sDr7;US#M6>_2TZ`^F-*tgfbv|tm*b~|2R z>N#N7Wx%a;BXGdARU9i`!m!UXz!ota84f7;)9}Uc<-h_r=idm`vEMT~ccd$_lfyzz z?~ZgwmT-fr%^aRdeDDKg_IJAW4NdEw(2&KGNCcTlu5!fHk zSdSmkUb)=R{G$HT)wj0(x_w{if%1bD9hL1n>pCS^z|`%|Z!O#zcQ)!|;-?b!=8YRS z*)7~1)f^5F2bBS%Iyw9RUvfpBU_j<^7{_kn7O*r37ItzD@p4XonV0NijLuVGK?U8u z0-6M?0BP4jwD2OLz>~O_B$@GID9y>nt3i*9=2+q&n_0a108q#-7;s`W;|5hnK-IZtVYuRE2LI@q zHICB<4}LBLy?aju>)FA6+{F#4=rWGnPZsL$sKjJ0evE|R(lQ-MBwIuo>20P1+QHNG zfwsP`bUjJLTSU0D0Y8RA@LbIxsNRKSGrpfVKrJ2Q0LAV|FN*O(;evx1PCl=?wmZ*}4`O1g8)c9tLWE%y1$iIx_5gLgP`FFLxi@udAW& z&s;HvNVVqe4UHN4!rH>R;<`8@3T!QJEAJ?m6hC>q^l2?F#y;4Bx9C}3>9QmW2a-o{ z4Dr=(A~WZ&TD~ARD?7K|Dsea*RhqQ=&YZ658b^)xWc|s;W6gN(Sv>g@d>@ub%FkWc zaY5@UagD+!@n3p*GJ`p=2NWL530N8!AB*vDHWe6M)CIc9S-`QAflJ&fE5kPJz-t(C z1K$uel$O*LYk4KkX0_#EiUTXa+Myp%u__kVGw#!_)6a3_v^!Efh0*ik=87bz=~o#S z+yH(A4kUJ(N0R<9ewV|C!TNl_>4ze52cvVTX#5#4L2E%yW44yX&ydA+zE45U5Cu)?{#u;@WCx#9!y6lVSUKr98b;^qRuyg)JN;(DwD)8dL3vEpffRu%sK zJ#OHl>wucPJsQ6+CLOLK5th;*ZLf(OJ)3uL)^(ljJ@3%qDd3-AA?=E0yBWM2jO6sF zxVWgo{QQEtOkNFS*R~b3S64f#wFm1C)bDHj^~qajKD{g{dhv4E6|E}>zlpQ(F&3{N zd&zooRzy@}CT@XoaBXvkv!kIksJ5}Lv8GW{OV^avmNu03MhD_hQZK^QG}v#TM+7qv z3C0^-9F^KNll+8#a?gaW9-BpiK=+YhSe>=oQg1H`vK8gnw`<&yJgI3`O~eUUO#jJX z1HJ%i_*=3G=i*KHVH$71a*Xi8&-%-Dbn8g0n8>R{DE0 z%_ckp?t=?r2S)pv!*CHl>~%)$*bWnX1uO&@@S55teNS^o&yyP7U+VYxOZgmFt1xb` zKc8d&qaoc+mot@P$8rCweq6KI{h&5keEKl918ZE+u*sbKO%FS);#nOI4_m#*V3mOP zCU~>KHZh-m`swul`wP7!Gv9)(;r%ueNSxv(Za_u915Sa*wP4j3uy1W$Q$s^_5PplU zuX2{vR-7lkfi8Q}8jie5FT^uN?3)a4C|UK#9BBSoAeZU`FcB3aU}y1G33~1$*>Lo+ z>h5cz&W7D>yR@#`bZ2v3R+&D1nJB9)GcQ}~zD;KpwRJY=S$vjpHkKC8dTr^4{FMc3 zh&426B8{wgCn#wr1DY{-u#n~v4_deor!y60W%~8&=fk)yFs|A)4u48Mb&qq8BmZ3S zr>=2)JAc))`#3xfUK-5MtDL(Zh!MtnkdY7a=AgB#W0z)ELq}^X0JJcagC)mE797Xe zW{zU9V)U;>!HRY?HB~lgTUu)Co%&tPtsS+yv2!^SShu&RH@#iL;>Vby+;|$l2`mCX zI{X#a=+tAo7>{LiKhXTE>48mLPFC#VuuRle?`&<;faBR*-dxh4D`_aKDc<2`i6oH4 zkvN_)!#u$+Aj61!0tragk8n>DS!m)nW(@HIr8koKffW=0`9LA!KRM8cDz>$`x~56r zP*+{2-61Y4E-x=BDk%tZi`-9&rno)^MWmU_y~(j}03tRpz$N&chqZ<;1=a?`3$8DF zi*vAMlMXt|&M7S@U_ML5*ca^~G8c zh1~q2ybApc^05eX*7ssC_0vV<4Y4~Cx2xR`;JGf(N#=@J9QyI3idwz1usWxtVD0R{ z@{;0ma67At>q;9X4)#0{d=B2i$n#rwm33%4b~Ws5)w2Z!Ic3?}?3{+y0zLa=PLI7= zXKS{UXJvvMfNFKZGAKTq2(cg8q$Nwighr5EWH-K#%)rTbE(>}&5+n~tCczS5->OGi zAJGzuB&;LD$#9&o4nuYvPIwj%=e06U2805}oEJf^SUj1*w;2qK0j!NrGx%%ZJPUJx zozGlczXFyWJkU%=-W|<2a5kKPA{@ei&<78C7JVQeyr9Aj?;kq=TBo6*uA#Ou2sHK_ zj@_Bx<=DA1h!t<=*u8rlr>uKf@dAbgvFoSDaFaMaHZkllM+GhiO*UJ%mBzuuR7o~C zG>#plo+Z8$CJQmnedv7khqu$Xax`Gr>(v-;+O z!p0med1fv7g`|^de~rgs`hhz%i@))_iVB1Rrp@A|uznO1SZNYiX+qCm;Q>)gZC6LD zcECxucI6b->c1ibV1`y)T>mOAdmifOpSAPsduVu?`@#2G-OKjde{< z4fsm@v`>=XTz9s9pzA73+iBO@)ABP4^=!1xnvs#7WxYKquw`d!+s+nA_g-G1_2V!Q zG+qG0V6}t8V0EKy%xI75i0X;$sqJap(<||%^SC{kA83o-onXab;|F)EsRa>JE_OC_~fCZr%nMwcG!E1bUPZIp#6BSpCw^* zacQFy3mF{d(QDw);LYI4zQ@QzrU%oZ_!`IlfMqb>V`agf{ zJ$GrSA3p;Ntc5hm9vCMg;cy)qCt3)qY5^Vz#{!Tt@C()8W3ihVa+-DZtET|v2Ay6k zvu+iz!_mAW_FnL*ceTSZogD;Huo^6MU|}T|>WYi1i?z{J?Ae54QBesAQBlVd&YnGX z?5vL6I-C6Fz7wZ$h)E1S5rL<%;{V4OM|MUYiGrw!+bLRp{{6U*fRQ@51ZLng2LIq5 z(Y;rAN4^Cd!}`|Roo$*+ThFWodI95rkGIC%MG4Hlp_JmcqsmwW1F0{ z4Gk=rLrmZns@VlEt$CXzKzbHua3C9i(w)qJvl7NoVGHMxEDOgbFv8$L2$d~o#H=`R zU+PgEM)c8r`;LMw=J0q89={rM6MoknW1~!`^(jYtGN08xyJz=7R@2th+*Ygmw(E_n zCqI+0-t{6@!FsWssM|7XbS0fdodq2d_E}Dz3G*p}vw_(UQy1BLF~#)s=-Dz!Sy@R1 z7(f-Bod+6w**NfyW>ksXO7YI@y*ZtQEZF_gFk?IY00bI13^o`?Zh@Z`h>o#hqWE<* zR)AvrfN}7uONGJvBo42|83WO~-+}jZvih>JijrcD4UZxt+4{e(HMZ(&YpQE%HEdMEF%R3HJ(du~=50&VB(|~Q z+2C%0nx-$E;a5BqSbPDSU*JgJSpe?rt`6v%?t{fL7(zbQ3$@WAlVWmyN2Y^NNz#$6G+j4{5Bwe_}h&9 zpF{z*C}0m#LL9#ksn#L&T%>*r4LgDEt4H@;K=*xy0$CKup}-X=Fdqe;M1ceaMWLY2 zkVcC%laS^qq%B6lD-b6}TrA>p5Z8>j=MncC(kYQH80i)u-A1IdB3&=ieU0=wq~D12 zg(&1c6k(D2XDh*@Za8I5=!-9HE2e;kbrMk9;R$RE*2f<`IPsCqPd2^#$; z8uK`MfI?%nXzT$rE*gywL*qY16K0_a4m9BvG~sVF@i=;LGJ0?&dhj%Q(1j)ip-Cn* zS%fC*(BvL8WhI*WJqis#VdIe@4;flexDN_njKZ&>X*1EZ5;W~Hnr=fgXf(r!W>%qD zlhCYqG^+{C4n(t`M-Q>+;a2qURWxS`n)3~sn}_BhG_MoQ??wx%(ZaoG(FL^lJG5j0 zT5=RE8A6XNMJxT$$||(-U9>6?tumw4zGyXzR?E<81zLR-tr>yVSkRiQC~_})d?i|Y zKU#Yft$hlueG@%#KU!x%>o=nf*U-i(XyYqr(;Bo{hc>@~wlHW*4~mLFQHxR3<0vW* zMeRXR-=HWL+A2a@m1yfe6g?3|Z$dH4P|OD?<_?P8hGM@!agQRS7#WLEd=84gjuM8W z1S>KPN2Y5iF#si|qQsZcwvlLC3`z<{N#{`VHkAA>O0lDqkC9n`%oC6~8ksYZxf+?f zk@W{r6QEN9;L>h)LfL>ind3f?eoy~r;xP>S+5|Q8QD^i&5CR< zBD)INCnNg{DD7F4o{BQ^P{uBlDMgtDD2ql}>rmDOl)VMzY(+V{QO*}AcL~ZpjB@`* zdEcV^DJcIcDhNRZ6Hvj|sL+ZEuc0C_Dw>0ea#7J~R2+zkO{ioJDzTxGQ>f%^RPqxl zO+=+HqcRIBbD*-9QTZrTUWUpqqKb!5#ZI(CjdnbOcI-ww{y>$BQPpTvbs9M`P_+tG zA3-&fQSAy;w;0vcqPm|^{Y+F}f$A@y1`0KdK@BTWqYO1(N6n*9YbDw_1?~I1N@Q;*JGMNiK{Pd|sAsYB<4=-hU6-hwVXiY|PDF6N_)XV9}N z(X&6I=Q;GkM)cx!^zun`c_zC22YO{Cx*|qb;P)zeH3wZyLf2-Y*QTS_$DubSqBn}r z8*idFr=sh_(Di6^Lyc~1LH)PTJ4NVS33@jdy?X(@cNo2&iQfMReb9tH9FIP{jXt`8 zK5jrC-$tK2hd#T7zL<%=Jcz#RLpSr#R~Gd3TJ-gC^v!+fn|Sn11^V_F`feopt`>ba zfNoWx?=PVrQqhld(U0fRPm|EkLFnfy^vgHs*G}|X9r}F~`a_BScn9774!I7Z!AA7A zgM!U;pKmC^QcCa{C0tJl2Pm4R=tfE`r^Kfy@f(!Hmy)cae8VY5Mlo3w^E}1ANJ;IK zY!jteO!Qqz=rD>clIx^Faf-%Tp$5~X>Z(k`L28I<-VD%ePIeU$DM zO8+|*l0yyGQNy#T;rpo(8fwHUYQ(G5{ky4=J=CaTYSa~Kw1FCZo*MlLHAYB{p{X$v zYRp1v%s12n-%w+hQDd)D<6fY~OR4cG)c7uH{MXckG-^UA6`DeYzDI=}r3_liFqJYa zp$uCnLn383M}>z{(^gQ^FH_SA6|s?;VWnoOsF|CoSs~P{<a!)?cDFh^YL~2Vq6$M|q?W49nOhpG!(NR>)Nh;Px#nw=<`>EK= zRO}B_oQ*POQSnQt`0G@{L@MDpWg1DDUZ)a!sBJT;Bm#Q>9TjehQh#erRBkc@5njNLFaTY1X50h_=>xPSd)%aXP|WYUMm66yU!rr9D+YfJR> z-Lvb-J$i@u!13#skLtd^gw_3cjYi)6pM(7Ea>5+bxL`78A_sooLlC-=<7ke84Isci z-5V@gq`t7i8L#8xj`1ssH<)|OT^V}#6iq4`a>62~i5v6;PWvJ9F#w;aiMqOa4jh1C z(kWO5fdemC4wMX0^NYTs;;J3R;E58aC^p{`AFa8w5&Lli>%}lyk;r`%D)JBqcEUnc z2HnC8G9fNLn}Hocc{jMg(1KL}yNuh*9PZ;IW0l;1Q`~LqN!yzN+ebdIH6+A(B9SbA z_q&Jw&{o68jemUi{?&K&SdS&JY8K-AvCrPFo;}^Yk|C#f@R%?>f(Vwb(-F-Gq8Uzt zhD)}t9Y1NIwu-Kz7mok-%vwDO`jcqj@3v&h+iQNtv}OUsLCTmDWl>h}a*wOG^V6XD zy*B-wep~_ggPm0|5)7({N{ydjc5^`1RI<6LR6ihe{|rIa4v6E)@n(33L7DnsQmd^_ z=dS7}X|9c;-No5^>{=7!dYlxBN?Y5?+q4H-d!NJ$8GsKKZilUm8}10V3~zMH$;N(H z1i6eax@NqJA9V%bN8JIg87oA1`z!yy^xCrzdL@6agIyaz0)y{U`*GEDrE2NT4SP?K!byyG18PVGtn1-0Sj>BOsX#W@p4oZ{LRPSbgZ(ca zu!r*i_COc`9{oQ(!Rq}f=1%0jr|~F0#tYr9hS0?Sy#voj{x7V&yDeC_m%_4OS`K1U zF}Oty!L_VT9SO$4Uo%4^henZe`25!l35J&G9KJ*DK-@AI&*k>+ZSL&UV}Khl4VXlo zoy~jqYC!MQf&lqIr=SA^@V0y1ox`5vF4%v^Am{i4pZj+VPXjc;aQ`!urw3^N@7VXo z<;Bm)fliQdo{LlEhLF-Tp6DcfH+zNO>=ApjSojSex*OK9Net+92nj+Q{qSta#nF2N z`EF0VD62mA^yBtK3?cu;)en!{g9X`k0_*U)=o+I+^=yOT3Xo+xc><5tJ$7bBVf31< zkG0NtFPdd;N_xSl{q`Jw8RQQ zp@N(Wea@<~rKKyAi<0xrxkUF@U_%N2U?S0y(c5hL^3saZVhv>0G?eO&Z#lN*=*FCs z{FI_3veFWmyQ3frQd6vANJ!bWLx-28HYc`i+m#fQxG6p=akHenbO$_JQd3f2s(b3u zw^m%*D1mrpg;VQ<;8UX>5C7{x?!kgXMM3+?a#40oM}DUkTOnNB+EJ(Pc%|XB#w&-K z5A8hA4*SFiY!v_GQLM#d4)^LCJTD9_WsSP{rxVU5Ug$W`da&g%Ua>#0qqeoPo#*jr zP!XOO##UYz@W*wK?t#ZIAWUCwj5Vs1SVzABijJjoKWp{oHvEZeFt_fz2JRyb<{?_Qe#g1rG z&`_-Vhy23I^p^afSLfE3HB~fK1v#slY8&eZmbl&t99ZIhM^xU>SlQ&+H*TtKs;h5! z^_@U@J8;Wi5V`w;8_v1HXgTn{9h?i5>$EqD0#_B(?O;I$?f4`|ZWDVP1DhVMupiX- zb9gN1$9^1X*1CKSfTYRpYhCv*dm5Z~kBy1*dAFnghwE->m@)p@X?33pF4oju^u0H1Q8 zJ+r|(I>)%x?^W?GYEZuAS7SZmS{^# zc9fOs$qjNtR94Cd5J$lVP$anxFMS(Fig&g)wbtv&@2+kG)15vDWOu&+7{nC1pd+o?RhoWXq@mU6I{st&}ET0kEAkgV6@A`Ui< zl7EH0h0*%vosQiFEri25z(H{>XsD{z z!WuGyJoW)ur*(_Sc~V8NL0{?M)AQPLVHbBJ-QMhMtJm*3)q0}$qy$g+4o7^87inPt z{|%wv>-m|N07Gr&x*=qI_ZY+Tt4aXc|Mm#TrxXrnJU^K*JM|g9eD6m!q`K#T_QT!) zSOYUR)Gvm8p8o&WC3M3g0$d3kNkP;ftVE;$)(1{CFwkvSQiyT?c-S;af_-OPMYiBA z@G5YHqY7fnNpFEm3Cp49V00i}BDZ;O%t^a0n8+cAGzmE3ck#)dy{Dhiz#Nus;iAZF zkg_S-WOIF+MgJOja*F4m3YePs*fJ8J-=1&Iv*k!K^9r(UnxSlQDA(Ft+t8wW2kY?6 z8{pcRZ$jSIaxGBU|Ai}9q(9K!({@}V2mR@N17Lrc2*m4w*#&!<0iD`4$?cDSaX$fv zKl#NyiBMg`Pd%XP+JIMV6A|jb&oeNqO`6NO`d9Hg0!iZW)7Q?9(l2fmWxiT;?F|in z0Y3+^^h@Klhs9OQVKHWZ{uomS^mxUQt_z}5KX?6! zDUJM2!C{ycUkDNuERMpgf^@~4T%b#*1h)g@Y!*^;1t7)!c|3=T>6 z!{I6ZOP3o$tlk( zk=XKbbIh7h&dDd>=rG?AbckQ!ZLb3aK?!XC={?iS%fP|^R#eK*TwoE^_%((eR0;VD ztmiz{JI*^wwMz+ZyiyDveUlpCAj#0B8s;qwsfbfO1VRE?HLwiyJi{;E)Q}nlxz!1MzQs_$-D-rb$PCq2M%_0Zv~ zhj755?_d4?&|x@kUA=Xc|99x>_qU*WRax-&rK`hSNe)+{%cMz9ccg3Gi4ONRccP}d z%dtm$wOU=y6c#xO?M$oF(W1Ro%(XN-nzeXJG1uzE`6mBSLV2kM4b>mJg;8RcD{xNpl zv-*Lkp)H~wTN}ThmAB1q*TG9~6Pb=aX?sq4^hjGzuijPQD#UYOqZ*tr-~!GQsk!hO ztX>iZ&!}^|(%bCL>MTb_Sthx3#}b%OxHUaqduI|Ixv2H!41LL-YG+fcq}AC`yHh(b zKx5^TNAZK_^myN(uI*gex$Vb-`mE92o3ukUbar-mMYg`WmMD*v5H5N}P>$V}QIWYL zt2w(eyKHUj1lzXUjI^Rsds$Aiy)wOglWA(|=Ax|3yz)#*d3JMJd1m1gi8E5x=cJ}* zSJ)~GocUEbRkn(Z%8WdtBdTMI=*LvmOh&bD{D> zZaQ&(22iIzc!XQF)dYO1cSl9@? zJ8TOqi%1wA4T-^?)e%sw8!|J3#f5^w$bsANb%OUBg?qUq_r6|$>_D)C@a@7tq$^Af zR9y#-((BgQ&o9)vo%F)lk3VA7uLEZa?rdQAgxhpRm%z|VIX%$wTW$z);S0y}ulM7G z&s~pVmd{yI9v?^?G^&-UZu#4fd^`8@gY8_0`&ztNNO@ zu7)-UnD}O3iMHBV?R09o9J{M_>((@pF}3e&PW+17pL|*8T3adVh=FNdOwh!yElq`F z-}@}09owt6Z`ag;0lBXQew0|5gOyrmH6(TH-T{YhQ|F|HZBOR4puPuK_ zl*b>&3l`zUb07~m+GP)fghV(bYw0;OIWlA-MQ(RA>|k|GGzV4A5`pp}f?ETIpIqmE z55PA3mMa#&N1E{0N|)=ocD3zgCth{^cJ-fsYMS?-aU9e_a-^n&jQdW1WNp*Z6&m<# zH4+g*IzY_XU;U7)#90W?h;r^=8!Ru zl9+_}>V^cp`@|iYx)CqJk96S0H*c2R)Z%CG>#)Q7BaSDt0UvA5z|!d&4t@hK*5I9_ z1|yQLQ{LXPxq6G16p`ZW3R0}En=Vqij#S_=rR`=(@21K-tJ5?~>hCwL)~(pSv}##S z<-|aUBo6;<7wEY`r*bO^5Z2%Pvi&Qqvir^JRaMvZRWDu6d}&X2?H+B@k%l8RM^-ei zXk6J=)frgv)CIh;`TQl^d=0mr$F0pT)nDH8{G0pwTdwyu9cVmQcTiF`e0b4tEx1wl zH8&8oK6B(NMQ=2{kP@WaY8BVcB<4Gb`HM?Uh4FUts^mo_%Q7U&?(A?8ER+?v4$Na6 znTS=y5Bmo=FzX7$Ed#AsrR)o)uY-!8Iq3X|KHIjxFIBI6g9PC4)V?T3DgU8Hh7>YSok+S#YvRAU#WB8 zP3MnDx)1!d>$r9ozOOd7P2ZYVF+WQ~e8pr-1Me+qme-Qrv<(14mm9%{QeZ@E0Lp}A|yY)4dy?8BmvJay;j|PA0ORR=a z1ncU=4T6t@MFlX0SL&QSqrjehOo|je~yNqTEF6@Wc?b4Zyb+F`UaOgwKNRb?2?!>+bHof4YPE z0{(%!KXU$~4?gAt@fK`XV+Ht!Lho-UKPUJ)Ox?*q+ppdq`8M$A2JPx67*Ed5X>yv+ z*(om3l++eClnQjC+hIAL6?&a-ioS6*3ayMJhfdx|d&645$VpQ(^J%R;k@#uxsFSJHa%B zdD4$aWCA1p0h}FArWQow#o&q603%$&KSOd^609j4!SLB!3}AcCy+|pZ#R>4=!$QDU z`iuVN8(csNM6Lw`AE?VJ%gW1j?vw75qVjU6X!DDmI~!^m>g)BcldhAZ`g*8ncRGvn z^^e1sJVX6M{UUx!;(`8wei81%{qQXXM+$JhsMofwEm51eEzf4xlNls}-|fIN-~i8I zr~o1=G7jJ5;Cqol2!Qb}Ya;UUt*iy!QMv`_6XjU1*?P^yCYT zSFdPb@ea@Ypk4&Vs~^Ju;Hrl({Jx2k6o9^iui!xCtyb3a+Y{=gj856Tx2d*2ew=5k21>|Szd@y-lMYetjJs!^`yz0F@!Zms)Bx9%gd4foE#J(4p8 zG2Kbpq}cSW`H+*_1A8pJ>t;%nTi4G_o;VtwA&@mmAZrrOT!Rif^kQ`(gZxG#Ex$O_B*B{J!f~wX?V?x44-6PJRz8F3zngb{0FU+nrAQJN`Y; z>1?ld7E3;If1}=6(o#^bE2z(}EGk;IED%_?q(lSCaRDS1)9vk*744uHT5Fxo3l{<* zRMA}7QrTSUEUuI6ijQrIg_yuHX8d57dMIotOhkZf#RFjjVIn*kPgWm4?szr+IPZf5 z#vfndh>xE%DUcV3Z@(4sL0HI!g2efRf#=~RAoz7wy|dUmmAs1L;+)*9{ET8rVOeQm zfdh&jjp6e5X>ruY4Nb z=l8p)t*NM}uHfS}rKS31%Xr#NSO)qJkyqz(x&s2 zwn^F~ZJMO%JWrI;maz)RR3=cn6_1KTJ&u*N)0N`)th8{v_n!Ove@2>QXYaLF zR`y=&9iHcT#k2d9k=<4B3iAAYK44chaPlwvM#*{-dJ=p;leyVbUF0EaT^*bHe6fS4 zL1^$5@JDpNg>TS6_qXn+*x@}1?gSi;`SN8PE;M)=d_DMs0Vdd#hX&mVuwoUY1J-&6 z76|V%&fi8tKtZ7{@g_zDmXLjHiFS!svFk;0A2Hj}j=6Ff0x<00zJq#PAcgGSi;N_x zWq5t!-Dw3@vSi@}Wr86gHI*AZ8ic?%WPaqn@n%dv3z}4;V(*nb59Vi^& zKhmM=q@;hYhW3}xp>KiQC|*Z~Vhf0Uw7>W*B)GAO41G&V`zOmte+e17j?pIHqC>Ie zB@O8>Cf}07AZdzMkWhFk6KLphDH(zWhe&AX3WN?Pte~M%It2R;5g(_a*kb|-U4boV zZ-|719w#{JI0?m3t2Onq?$3nPjFX3GF<5x`gV%m^7#RkBo*xDW4{T$vhhZxydc?a8 zTiI*2jbl6DflYXcBSj>X1R>ACg57!Ut?YJs@>g~_+;N8o#B)?lUza6hJ`XW;3X!BXx2Wb@gvoZI9!iq4E{8b{7MF>$Z4?2%%qJB_$_3?mz=Q8vr;Kc0N?drjQI)%?7ut{JQKly{TE}v{!5t1 zLDnEBwtqVUuD~`RL~wP@g{fQ*qPIuMQBiGeadV3b!276LZt{n)pF;cWrzpOM@8Lu` zvQ86HqvPCsPXO7k`RInIw&wm3H5@%k-WDN&^1+b{SNY!aVD4?hH)=yxp(Uj`s)p;~ z-TZyKEHpVPil01L6r}^PAf#5ufyVi^2z{Bl1}I!i1T&7z`+((Z=uvu96vfV68^wJz z8JO)RGDd?iklWi@Z4o-n!k?34`?vXv2V-pr65eH2;Qg}|F)J_yRv^9w?`?n%7uH;bc!Bupg(Dvzd?CT_gfn}0s^vfWNK{i>+{Df`*@>Y!Du7w20F3}t zfC)AP3^7a!pv<}i7bs#bWU%Qi&xi%!4)FZ?$Mp!!`hdg#J`FlY6lT@cWkWErpz5Z{GHBtD}$05y-l;G7eNGbtDV4tn{5zR#8%Sm4(>J)4Yu2t@u~wRzl5B`qlQvDcv$(K`CwU~1#F3}TUD%TvUT~2W z%G+CTV~EB_tXih!kQ4Fs%)Ck0&ydpn&rt`BrPo#4Y}*{cTyAXrlJo_1#mhrfF;1f^ zfm^++V*90kULfmEs1J3{PCUkMzw=XKr<#l)!w+30Y97IK4t(1+?WA2=)b708&LZn2 zNYci5*)TLvIfY?c`ZPaqdxe6h)!n5ecc>n0>)k}oWm~ecMSJG%9XXxmd9=YExr*K) zdODTtrgF}boof+=UflNG`y@}$wg_?ntMDs!`;eji1uYqh3=HN4WKAZ~-E=nnP)$EX zqq7M%@IR2J$Y8`&Mtv&XI3s4lt4ub4SYJ>2M2mL^wlJ;zZi?uU4dM6b> z_Z-#~h?aZ}7qu<}X-1BmL95@8^^~Y7q2JK;m{e!;sWBNku+Z{ARpaOxoDLrlq9%lV zL)MYAWHw(|l~)543;W>=_q!^bBCC~j+D%O2>LFz8|LPtcat(Pu>3EK`3-|8#Xe5=O zN90ekNLgUaPjhgEG0&ZkSEr^K(~SJ$XGI0`=Q`%G1mL@LEj>q9@F}r|$S75$GpZ<- z1IcP88Bd=jOU6jk5`q^es!|W2m8Ah0^}9sKdH$yVVXWV7&J?AZ@lMthEG zzh{xMA*;dEz|m%pMMS1t0b&1TGFK&NsX|$As7k5kSfKAw@+f`e^V!tLmxw0(FziFj zBBQ7YN($5I;m9e}*B6UR4VJfPvW!1?GgGR&q`*qNCymfhzpSsI_* zcbgZNfbEZ4oGz4@1(`C%l9bkWm**Gp3BqcT!RqJ+ch~|4-uymt0Wv{H+l*)s8wH){{p@HGdsk3}Dp;*w=nvnT<} z%sTw93~Hx=LBogBKpN=V^BftIW=qY?F!-@-jlqzm&rbIP4JzGb6700emloo&q)n7< z&a!5y5uD+NKZ{&>I`+y2P9@I-3vGcfQet*TMqXyV#V^|m9zDV@d}k*(PM|sZEg?%t zAs$U0J3GK-_OsZSu7cB})52LG6A618}Rgw!_#( zB*&|((bV1q`zsJ116$;MjlAi5$Uo(2+6NP-tOt83G3~VixrhxN3>*Lu3GM*wA!vJa zO16{M?S1ZjpQpKhQ18C(uDzNdGtPTW){dkv*j;X2&x1yL+j7d#cpjD+LH9p*78LCt z!BpuK@6-exK|HM!ibQyUrFtpiR+r%K!0cnDpIze~*?mY!o)|_S`<&&>b%C%j#bkIp z%U_=74}IVI-Ptdt-Q7Khl!Z8zgboivr12jM_>IqP7^xjArA1^83EE3es4Fd_fU;sa1SV*wRGXeqs!6CV-|OGS`$k4uH`GPKF?*@c$760Cd^=A=o(%W=ONe@h;#l|gzGLAV zzJz0$LkF);Xn;M+0%N_+_`z3<_d0m-@cW-3=U8sdH6Tsaq;zKGWjZ(-2uKKM;s9`Y zIuH%e!bdJKm82B_PAMov#i{Xmaq77EjO0{o@F+xSdQ(yoBwC2p6DWqi5NX=9pX&y3 z+pQ1+*8n{r1d8E2)Y%Vi;ecM8p)uGp;IFViiUr!(Kya5wxD|u%1Ll|z5x{cY|9uN5-wkvwgFQf+fX)*i zOEZ6p72PGy(-2Uzr}wmr61T6Jyd7Tw5$X>$_eO~GD~o|ksm-V{)o|Ur$v}~OTT^ab zLle%AE2^F0Vgt!G+;#PuK0+XKjDN+V%4R9a(gFA<+)^G{R`%}M<}rjPR#k)6JJo+n=m0ix3KlG<7o?L>}d8xnN&nv873j_nTe4Lk z!T$0+-0v{jo_~={O_yetSjtLOMEd>rM0(*&G1rmu*4o4sA?w%fe9LjD;6Rxa z3*3?bje8y`B4H${zrW~FlF=y>b|2M{`DCQ5YOm~F;jQn9;tDw_YiD6{#9HywGkX+w z{!IBZ;BNjp)9 z+yEzuDWWI};!;A}4Z|p21@$6GHxy%X5i^i#6}ts7+iG!o@ACk62Y!S)P52IH;ZCk_ zr*lWR3UXv)zpR$+ZZM?QbE)-)hTST15@Ez|d$h{kw272LzOGl>O!xfrx}D#@TouD( z^@KSj`lPE3r}tHna5|hkOT*}`zDF3|4JY9QK!~&5i)G=fBQ zc8X%EZar78uKD)c8XnWhdRb=7(HLeoAj-|21|bmYl27c$MYIF{gvX_vzHq^`=?l(X zhg3_q%jdzne`@5;_s=hw4!sP|OUmN3qGVuHN7SS@r0z=D<=1eqao_HPQiw1(oT>&Y zBmH*Pa&{x85`;g@Ccsl=FGLka7VOOP(}6KjY)0}{P3MY}Q<=&|$_kU#v^*j`GA%NN zO1|;U^&S`w?Cn1yVtM2r;CevyCfCR{ZEoDsurVc4ADOX}J|E?aV0coBiq4TF=cg2# zIWi*3wWBbiIKnS{Q`na9&C*OG(08hEA`7UG;((<@a>tpMgDeJ-eO;Scr?1cOs{sKd zIj2}(tR{2C#fACBh%FztpRu3Zl~aRtk~C=+Ysh(xd}8_fpVKQjvK#S;Y#(fvzqVK- zPsc~SAIRt8BZegh_Z^qnJ_;=$j~~&?xK{Wc3cz5ZG-TZOzauy^UWEjs6@UYFsVfM6 zy9;odHsRNNgD6H4#TW#&m)hk^tH{?fM&_3nw!x{1(eQE1$ltPK^ePKi6;-?{R3+bG zC!1up_?);n;E7&cLq#0@2d;H0-g|&P#8)hSe%~T>s9Vt_MuRuW!(`I=BYfSS+C2@s zfBZFsJlB3%N;EZ-p=(8D!^hFTseoquMZ;R<@azALavYr|ZhW`=!uzWCGS6?n$o;tD zsr^IL!J)};x}SQciM}u|X!C|`>w?!x(aEq)Ge&RPDW$vE?bV~e-393fe2s=%VQIVh z)wsre*OMpI=*oBEePZ&OtnP5pi4&@ttXg9=*L1Ax+)o?+Vo5^#}{<>p# z)Sk#a((`L5#^F_Us8~L)4MQV2`|ZAp)BFJ_eu?)I8DNe0po$Fma5;uWKF=O!2112< zQ&+QawF)PWGDfAwa4n$~8&|19lUKz=aoFc=OT*|bfLL0TIP`qNxzJ;rquN$mqrxdp zq@0L6%;gkkmlUhoW7;>J;Or9l;Wjca8^nr!be5X>i0MfB=;q~gD4!Poa@YoZ`_KD-JkIaAkbB{Z>izf&VefKe znwX6bNALp@jvv_bCsUvRHVzD=4u8>YrB$*`CbCKfR{4wic_}pAla;Wo=Fo{*S)Au% z&sonW!a0#Sht44rNsx-PkcIESj(&!`O2^JQ#npzNu-5LDzI%$i3LE?x_||0MeAoQcp5{H?^#~ROE zBabi#U;H!;<~>hHNLqIS0{(xpsg}Wn0tW~>M3b>Fae}r;hP4UERd*omQUZ?m2pL6v zIl(1y%9!1RyFu&~&w}m5dtjpb(nsJSzBmR`!_(p$o_JBBtw>+0#(HZlEh;L_;Z6#% zB4J7|CKYEq1D`}pM;pWv!^h^-L`$3fk#vw#p z1K_Im3QPzc43$q5iWh}7?#GpMc`JYg{{K>S5`4AMO?2R!&vV_ENQ3ejpcVY-@(tXZ z-!=ixI2vF^2tq0F7!8Ms`97Ww_&lwBJUWGhE+h$b3%Q)c9a^?OtUOuTwz7D6kSZt? zZs_o!;T)u}+#RpT+9jRC+lLPiZEtTcKGAlJD=*&Pc<7{*TrMFAWD8@rk?Kp|mAY55 zwDj}!2u9>#qIC@rO3ByCtSn=;DK|6M;>fYtYz~V(GdDBaXwH&aB|BP`Hj~wuWyb3) zvneOjo|S8L*m81n>}Ff0bi*N~B`ed41Y?fbmSfAdrAN|cJVk zw)jQnBfL26^oJ3=XVSm%|ErYwHKvBRawhHRTa=pMNJK)&3%<~Lw7{8zouMU&d1-OQ z)z_5P=JRZJU@}Y`?N1)__t_6`pKzn0IfdYi;&FsgeU1_ZV5M?rfcymnxKrILl!%qB zK(MHEBp3c7^)bAF%*ud0RJ?pu^a{0nK|okyO#^?p`pu&%xxMOEz2B+jrU0z1qLt*~g9lv))wy=7C6|{wC%Y1}W8>DOty!&FTo6&Q zk}KWlqW`rD>qL&ST~GXU=Q;EywJE)L-;w;IM^wLWxJAX>rp;-aAzURoMjuwoEtBbh zp<6aQiPi#M-9B#1jHOblr!xZSdvw1Fr+umJ)t6UCuV1A?cSn5m!cW|ZW4n(LXc&eQ zvHExNU#`7BfmI5VCz1S4zQk?uBkU7$T_hgf%7Bb0KH9pAS8kRvCRf25N=| zgVmtkIz2HdgkKR8x+rpuG<1I4yqT(z2gdIi$5qeWHNQpMMJFPBxSmXW;!N;65f`JS z+i!od`8)M{7b=?G;g8gvZK^shEom-&e;`uT^jF9ZsqWo~i|?tf9V3ITG;;a1 zCkyM3i!H_crK4xg9d4HbUEqG094B9r-TeV*d1pZPB7aerGB;vm z9_^>b6!bhu6b_z-L!ep6B~Sg-9?QM?_|6F#vC`v<8)uAHfj}~I7M&EwHAK~}o;uX> zVx%gzIO?F2BjOIA-uns@I-8h{wk$hV2ph;fW=EFIWX_cC3C6?? za*y5QusCyVxw%fW-DEdr8#1$`jcb&dSs6By)8w?~*=_dRysTV<-C)fyWlG;%k7Xb| z+u$@f%r1LwuH9w9OJh!YW~TI9q|$6m$C2qdMrRIyTP|Ck*_Gumn2pj)CZ*9}O6Srn z2D?**<-^4RXlpX4&gUz$jYea-Io+Ir1<&GiI9xgS2n(L{-&_t1zZRhi#^dPLD#;@< z9Sd^j`#O}puN zX^3rCWV4#6#pPvA#JCEJ9A%brso*jzJWs6GQGH=AaY9Qqk~ivCtEwOFhc)@o`h zp8`>2v^qo*Qop0c%n6?a3mZKfn?0XMgL4{owy2RAFE4chl~lx9Et9gW8YbF6{9|r8 zi(|MAB(Sr0%Yg1WhNc6_8Q3`d^`U`mf&y`!Fy0Wx4CB-x@ux2cIwct`#E8o56-DK0 zca6BbA|(N??r2Yp2pZ9W%3T>X8Fd_8F8n5XUpMpk6m?IHc*@Kb(~&4$?)goW5t*Tj zP|*&c1JUYZvZ`)1`A2^;SB4)KqOuB>Mh%3?&_Q(`h1#Rr0$>E9TLZ<@Y4n%$_4D-g zZ^w~>oOj8<$3Gu^>wO}b@M$Y(^A8^)KZlb;kV1Z)J}pJ84=wGHG2w2c@jSmMX)#$v z9YjQ(4N_7gAq{2VxE;56z;mEAPP%U z2tuLGUB)^;LtSiTq=U{s=G#W*I_nI(;>!KvD)oH?@Q;lMLHv}i(g#40f)EIxxRG%O16U`($9#`D&k?V06>O6 zY!^qQpEI&Dw$4cAuk>9)=Ni1b_?5@)GSoTA+&151biO09BDUV(S7+SiEU!Sajq^oL zjuRypRb*7C9nS1*2Vdu`taQ{JBlCU9+$HEfcJyOk%}}?5%=IPnkJULUE1h+I4)0f! z4kUi~ad5c?5(Ux@BjHw^z>lLxgbKr4O92A7qc*zqF1)XEuOHiz?DTZ3D}-j;s1U>%u6Rcgi% z38WL&I@gtK;4wtFWMnWCIk5DklzlUNOWXRQja6Hu=&l)nfMiurRnVd3fWI%Zm_&4u zg{X!wM&CnSP5XbvcY3k<;!pc8sp0am2q-dW|MLlai`%Z0e>)#Pt^x_> zsjAQ(giZb!ef_m|4qxTKlIEDA=)&kisjh%ZPd2D-H+|H}$?x1Iip#? zu2s_sfvorkRgp>SzFWY*9fo1uDn)0S!@r!dQU%|W^%T+tZUq|$AZjn||Ec;Sci{Iu ze-IxP8<+oZxnO8=dv6IkV8v^c#prg&#bw*#`SrSmy4C8aC`Vxo9~`G)jHJmEc!$Uv1y^DxW)D-eHg*AoM#cj>FUs|Od?cZGgL)9da zU)}FkAXb$d0Vse1*CqO_K!ouV*&!KD%8(7{3UT#doE{48+VU$GeR0cAmsG4A04}J) z-MGSVm*9J@96KWe*ffyzA6aazzgw1F-9m=pXE;WtH{bj$ zz54Bjde^bayi+liMCy`%_Ed}hznRh19G{RQ&9g)%WvkLnsa8XJhQ1&!Dc6{ybEYL1q(&#`OVTp!`ZQy% zF&jvLob19hn?(xyIMbxIr|6T@p~kJt$TG(#q((Lwq}kRGOE#aAYTp)9lx8L-Aiq@OCG;>^4Zh<8; zD=W*KR+!*OFEraCS{*sb#vS=7&X|I%-8(bmvrLAVJZZ8$H9y&z=-S~jRvJrlD$+}& z`NsIl6m_Al(U!&Qi#G1ftIV-Q!#>YV%hub|?Z8(!(hA~BqRr7MnYk62d4{4mtEpI; z12qZ!D~l}7Ele)3R;3lE7bQ7TTqfJrqeZq@Q`+0MLaEhk%~s_W8s06<)?2c6+2E#> zBxReC-pMl~iK2&Zk(INt-eSphTAW6^G%hKBcbX01EyS(Pe|ziW&NgYbBhQ+rE;r{V z6{Y9cGxM_Sw!Fd|Cwz#aoV-k<%aCWtv!E7^#jJP5q^4y`GcpaPj4TsCAeq_hH~UQA zSh}aUxd3?6e^1S@Kf(o0x zSejQ8npLLCFS1z*x%{NcLMNB+IF{xzx{M7OIqAJli}wc0GdPoyGhI3LY4JvU7qcVR z2`|xQ%CQtwJ1qEKDY?en^n$G1bg45TE3wAtG*=W@lBBtCG_zIN$&SRb9F!l4GiPze z^rW10Q*5@Suk)doVXAtN&bUoR`u6mPQR=hzGKSch>F)A9HED=l_QezwX| zT2^2w!Oc{VQoRMzjb%AN5#YzRJCPKG(`nClRMiwF=ch)d z6zOyGG7IzaO3MpkOHE}ahp|YXnOo`1$(B~+=IM*liqonM=Gc6=#CbqG6y!LJ&p%5C z&Y+qoc%C%XUmV)M%3mA|jfM7&8n>_TqLMy#>WQwUKE^Q`u&mLZPM!KuAcs`ZGG@p)s#dRFn^&@qw?*efN2^AKk6t>N`#tOXHSfJ5#hHKp{utm- zR3ZGa9C<8gQ7xv6{l)9<1>(in-nhx2Qh1}<-i?ds3uKY}wSIEQ_=@&3pZ{B#C?P&F zJyH!GN;$B68^}gz?x#WBtFf@As*($7ZrF5E9i)*z+VAA1hLC2is~o}JU%~ar>bX>d$BSsRTmS>HHYjtxJ=Dl-em`OG>7mpvAVSIzV>l$x(V6jB{C$w z@3*pnZe*>XW}MVbj?& z{8wW{i?pGWUscJg`%T*Y+Udm{YA0z>ExLsv3$@W}Ra?a6Jx(Jj^>#EYW2o17Gu%XY`{3UrRR{490Z7%C*Z17O9_mI&ASc zp7x*q`qSx88Yb+XbZ&`s+1VQr->BvD`hEYe#?!ZX^3eO&{^k13)|}a#z6Zrp5X~eH zUGa6JVVzTA>k?DjJ$~+@5H9@(MMewi;z;?!*Pgr^tzvoZ;{l!&4S$P7*o0cc&Hu2;Z z9N76<88$4LvVF@I-ZKIXY}vAX$`VzNS0Mt&2(7dgat{c>A%yB_rNK)1PuEaE>y(6k z@1CUez7jG3FzG#xA-@=s53->`AgF(V613q~-0M;@@d;r2fE`iJaSv+87YhuC6%UCRjUr}Za7d~ot{*Rc&FzRXj#-P)vCtLo;_~ylDY$% zxt=n2xoG9F9ha}F$m0M^NXQdcFNdu<#tFZ9e)qQOQdgZl+uQ1|2vC0T+B2F!`^)6`c&Rs-cu%;^X~1<&`W?;KOUpJ**iAo-tiYulLg^uNWduu3-EOzCl3#Yl)k_0iHQZGftV3p&-{xh ze%ei36?m)oX;9N26`^naS5{i^6Qf-$|_3=Fj=IEU$(sbvMN9< zS4@7Id?f*xvGqqR$on+d9YJtXf?rAEmFr?7Czt9cc*Pk15cc50hFq&1T+Z8=RQ=tP z$Kz!i;1B+EK)ceND2^x(E!$c)qj6#N%3}IN>&Um(9+9p+5`FZz>U{O_BL}&IM=n<0 zP=9(oZ0Qc_3c0{@UE6Uqsya@3dd04#i&U!<*KOa( zg>BprzAQl+zkF5tdiAO`&XSG%hT?4%;kDtl5qqKz>dO;OZn^!W*>|lZHgj9faxQnc zd1;0!MWW9&HOrwKT^h?Q5`>O?7uH==5S%;P%T7F@}&F#|dH-AVX52=5=T~OV@cT`_!JihvHG&%IiyLOpyso z_z=USSo$$86Vaj|xfLrkBRe4@#e*UNFC;X&%3!I&_cj;P%sr?`7Uf zCe6MU5-%#TRMe_I$vy1K=gNxe^A4%sYPC5I@h*wEJ-b+BNeZ{DSFf|IFfTSs<@sjq zBFjQ`;-Vb;bG&WS=Im|izRJHX;7hW)1PtE0=RD|rjiN?3iz zd>Pv{pB*)d1zvl_;@XlJYno}_4)Ygp?!OCvfYsU6Jx>{MmyrtZ28hVW!KnY0TFB8A zWCcP^i4InPhUKgLySwo};#5Y&vH+MUOy$T5x`KHCMlf|9g@wGo2)C>l++7E#y#C!s z$wKm|473biQHFSD1jN&arj*D17##gY&?^GxB6Sw<$Nj0S2v=|i8%&S9P4sc ziYd<9<;T%wi0GLz}9N=7r#!n$f2=Q?jE2#X4-Gq&-Ki-im4q-en0{$ z(ru=1si}>wBO7taxq#-{2+L>44|A8oiC9S%p_V5S6EA&0f!aCld4>X8?Rm!Y48gPT zjPMEoj3$s_>!CP*n(G^(Ftrp!uc6o&q&n@t?UWTgF|!uoc9V(Vge;_ zNwAf)nk9*mN&2XmiJ$u7XVQp>*rO#1FQg5Df?3doNI~mcAOewsa(lA~o^ggPu#{5B zEWiP=YCxt7Xnirt?f@MKoi4Z@(Ch*x5Gx(yPPqGx!P=%Dj-qI*HBdL`5IV?Yjk_b7 z>B)Oxcfk5}C?hrZ{$yB}{_O&Aor>-bs9}1v9xd*F)bfROhW7Cm$iKe*tk_TJ!0ij} zt5(pS(!f9hX%#O)T7~wT7uJYDz#j8t07?Z8Zq#&lxj{eG!-9s&x~B^w?23C`!0%y^ zM%V#-#w~q$fA6H#lZweJ7M&He(Hcx_k?4MqxA$xVdf)f4oAn-!6k;cHH17A5VIjfc zTO(m1ig2%pLFkl8=ZqgRiT3xZuhafRZoE65r{l@P^i`ynUnZh0b-}yCnx#E^5e(_> z@cHVs4+0@eKUo~GWc)Luexai4D|wW5?MFuAA5{MtQ4Nk6|AMLrh;E&HfazW+zd z^be^BnB6H;o*i+05+VaRRxy!$aN`FH@9$&l2~(1DbR2nthH>%;`uc>YXRPDp`*RR& z`Alrh9hrG=FlQy72`40tw%vKv+&i_WFWym;hmV1D#d~&<&m;pOp9xRdts5P$W)l_;=&rMcN|sM*W{O1@cUYh?K`dN6%qH05Jn(WfYO5M#amZy z4d&zH(oku3bwhMx80Sida*aAA)s&9XoxjjuMCl0pr>Ky1ccpWUVbKk%)jM@i?Bllv zuiU!0uRfsw_XwPZ)BBF?YvIc)@=^Tt=#J{JMlRh|Xev?{71~{JEzv&~CyR(k+`bv5 zx4azoKRx{(P`U5o*J4a=@0A+F6q=`k3?*o%YJ|z2XyxTKEic8q9P#86bB6AEa@U-$ zUB6Y|x_0KK;}>C&ud8KmRZBV$lP&3$+cJWs!dd$3R1Fi8#KBsMCcuW$Dur~|CT&?oIv@gkAutV5Om|7&_fKhj{yhl zrk4bFklwXrwoF;mqB^+0iA$v1+KD}T)?|8`O_WB2dsi9++=@J7mCYSyX6DA z{|51S{9uk0b!Mi;lF54lo*|QjjUpScLk?9(7Q5Y&t1d6iFUjMD{r)~iXGvC>zR(Z!nGQB- zVlHIy%p^#+rvm#AkS_xdvC`v2+c^Z3hy_3Tu1@Sc`j^(iszz8?BCx$uz|9o{uFn=gyrubMD3WUPXms z$|I-wH(*%sj0ewQLO-Fjd9}ZVfulVl65^4nJu**!8sZuFJZ~{u%~`4{jmwFkH+TB{ z=>wmufB1}8G)3xSQZKvp&JXGzZsBdQx(IJS!`shKZ(e+!H#(i**-g;&xZI&ic4F=s zNmX`rc2!lirRwiPSv?I#2v365$HEL4F$nhDw<6sxpr1hSQ1rRAfympUOo6Csucikc zZ2L9%OK@O=pkdMzs3fN(5Xn6yBEdMS*PCTGuD$@Gn0bDPP@pbB2V7c&A(-kUCg1K> zMuvr=$PmCg;)wiZ_EsUkBky+W80c#NeeC$i8Ja3h+uexQt2C^-Md09|oio?3;NqgA z5n!A)Zr)RAR3xQw;xrvj6UnN7IeMpooN8GDbq7Ej0TSWP7woP z5IuEzhRp%C6!7&3iey1nuB?~|Ht0wf!U8BP%pwt8-ZHPqH|P>^S>Q^z-=I5CnUI_m z&jGj8C2oYJjQB+t)k&B?;X*BH=<)wfeurKi0Dx*&UY60pwc@*Y8@Xj@6(@ zW=*xTpn~@d!`{L$iN2!RP^0bztgT!hu_>BI>)9sAucHK`my)pqtI^2`yae6&Xjj|&U$E;57~@v2x({YL9k`Y-m@uU)yg8emuE9ZMlcrtV&49~P zfxHY1sD9lp2{@gtV4McwT{}3eReu4%xz7Or_kSVV9>ChTf5Y1T1E}pU&JrMP1md#n zXJ-HUBfI4Vc0$SlR48QI#H?^84@hQ@O9|66%_|q%4#yRtgDWz+4VvQmF|r;V3eRH7 zIU#FmmmGwl0juI64Fs`a5{lY-r#DPhU(3RGZ^KOYmzO;X$;+o+yAi?lRHCAiyHavv z*Qt(MDyG{EqOwa&UXk%Vt!prPOu`n77_4lU@Byht!0j&;5$?Hw5oCmqUbf4#GPjQE zls($<=oSJ%)aCQwHH(S%9`C*ApYmdv@REfPiSE9FyQ>|V7A~yxWl1FoT#z^+38hwp z7$v@pYe#Kd-1umvW4h-5$4>u`HeSF4ipEgcip&JZG>(x@Vc`Q0%jnU}#COBQPlLXu zx94m2>!IH8r*@)DZV)vQ#sLNw7StZE z(m*GWbpY5hfdb%5nLxpCcsAE$a+%hvR?s1lXHFMfP54Eif*_Vh>_M0sRjp_%JaBj@ z{d#)`ue#UgXS2v({C-8RYz5njnM>}jLJ(l;{UAWL!;YHpEC}E$zuRWdEdXmpN?yQE z&!PaZwiNEb(;6}s1^`wwp;d|FnS3a&I@*D-z_u0Mu)y6mZ(JZUGIqr_6|OHZ$-RL9 zF|eCY;30Mbz^Q=u)c2Y&3I8hm!mL-`D836G9XvTJL*b&6m`VhkSbkTJbK@;ekJqpR zbu7t?^;d$8_Y{LeaSJzzF_P>a4#Yhi$nN0|3F-3Q!=ZTB9@xv4G@-s{>) zSCa@j7}h4MmqU*Ws2!RxPm{Rj}CVm1ue9sQZ~>_q|hoMRM+8gVaH9d zg*W4OL{zL}vkXoqVm^TZ8t-lpwdd0q?0a`6A!2J?m;RD^?sZ!!2Oxa|k0$WRD?Jl?&6K)*q! zoPljVGrZfTc(-AhoypwPnVNz3{`8(xxQTOi>y)m{ytSIYo}_PwBJAL8zg@F@Iac~i zEVmiCOm$Y!cr@f!S>HBRgU867SYGHoTeWbL^`HwqU>!Q`ed}(;$zew@Ivzucdm#v^ z7yzXIbFkn+?bWLQ+k<27Pc_CA1=52>YQER&x+b zKmtxMh}{90A{6p9LLf-*-5m}#mGhc=9b05QKzoO}yOc0Qx;rp0fa}*NyVqg%S~xm{ z*xPW04i_)^VBJ?7<|~v#N7<}SiTva}pW!eVkW>ZL=1(im)J{S*ShWY>-rtCkBuKXO zpq*|lY}F330?C>r_Tn+wy;SQl5_k+kuTAXhb_yMx0|fA$m8{%2c?T5GP3&Ng3uWAJ zFfJW$x2V?rH3NyGh6hrqt)(AfkIyytT)j1^1=l5r!?}^%N6{59Y4CmjfyIek>@K0B z440vxDC?~w*B>%^eV-t7QOXSJ%&-f1eXfbc1pd2G6avNrIR#LW0aRa{|WWwFzl@8n9V3YrRPqzHPwkJ=Ccm_VrF2V9yu zOrbEK15t{&VUfL-bL@`0wf8hh3vDsDo!DOrES-=vq*&<%UzAjR5-&Q_%qh^x>1kI7E0g zf>KAy)R39@vmWBbzWj+_3lNnZfbW7^tXpvxca8V{K!g}G0yC{RB;lBv8Q-lXGuS3C(W zsV1$8YY&^TX9mQ3FyoUcG7m&c`t(rH(l@04srS$E0DJx^+SO9==3$tqcwjy+)Ck(k zxah)#^~!>lxV<3-!3A66^uf}Akf*0oAB3=;{@`v1uW#8}5uy*)$89SJmeR2&z=P>W zCa9tB_!J^8V^8p&bYaF=4eHfsQMAU}Ai1CXe@`L)PV+$dc`%V3 zzxfRh#k^O)A+i-@FqHo_Omo9Zz^cZgiGI6q74(^DY>WI}6EG`+kJ4purgJFKr~o{q zNJDjEOqIhW44VPh??V}m?7F`X7TrMXBY(VKzn-qY?C0+KP}cL8{r-K-Z!&r0roH)BN`bsP#**h{@Nqt(1&8e*LN$33C7i6 zCXV9PGr0IYFQdYw@oJ-xTA~1H5_*SEk zC>FH^Jav+eRLegH{rlCWbEz*cbV7;+HsB?q1W|@amo2%=N56GEt&MbOJRS)`$?is_ zd`&QzJSnT{Hyns&g^i|Y(!YHC}5+$=-@Ar8hE~928eI$(zT}`EnrDTqTNY0U`j+21} zQe05NI3N0mi9WHE%H~SR0ttEOB6<29GRPsNC{Wtr+4$i528THc5L}%vNy$yIr#PhN zAp7>nX*%3!1Ra({N^;6dvrE-v`1gw!5D8yoEHV{kO5w;8)dn)=y*o#wbhbp8E3DLDS z_)ATIFUFHCApAYgfrSi>feyO6LP|>7z&3;cZ35wz-5&7^^=Y9q!)d)G$(3AUl0wMa zYEu^$I122%vj`FXcgQAy%UI3S8sUa=#j3(LE&%a(oxD1KkEna81d8MzHO{+|Muepz zvb0cn_^sqO=ebaY)z@2wbyspialG0piH}c?Na1O;XQjvT+Pw7S^>3~76Z+A+V?9}- zwT9B2d(;KRxp^hLu$bt*C0jE}fSXtEDXl+j;KvGC!dPocD#SCb zzCGVUNN%PKfhL^on62&N&yto9X7q*V4K3S0pV? zSQaUj6Tv7s*L?8Z>ngMsBJ=LV^;`tLYGKHxInz{+e>t{Vc74;k3!Axm$&aUM$(R!y znTRj@sg3kVdyn*DGPUz#gur$IzU|joG62UUU*CTxPt*%Rr2LAEOxQrCVmM$iKcSK9 z_5MD;pwl0ReXtl%$gj!Q31x9bv4wu|AXo3A4Sk?Xpf|T}4a(lS&yUt)b4Gk&Y*AcU zf*)EX|D<2_VH!XF-~piV%<0AtK2~{p+}o7$zxPY6OsPmHqyHpd`SzkHCr*6;q0}x8 zn>tZ7v2p5YKq$YaUza6Rq*SJ|mdl9&oX1^&aMtG6tLtmMK+t+@$|x7P|1loj_q5_$ zAbT;KOt>P0dtzlanwDvZyA{k%JFG$G4N|O{F^JxI6hTmP4c`V3D|s5LB6MGrsHunu zJC?@PNDzXC{x4zv09ZDy-Vb#6;2{~`2>*9)_Kw}#SV_%oJHoeR^9?;N(YEZyaLB2@ zr)k{17hBve5ilsP2w`N6U#qF{!Sx#Q{#Tr z{ZAzw^a@Q97b6;dyOJ1G#BbPb`sBE|p&>-8X(>OTZhL#%QXU6(YT|N|Ia`ECD1g41 z3rV8Ei2A*b6j%m%6(?HUccKotfD?7#MC>eLoaO%`>^^(Em%-&yF-&*qJ|Jg}jaVN?D*@^!a>|{sjp3a?M7tw||E~|4F z;zSP@1x~ypTpPCCBn538IK&`oJ;6GQJs9C#zg&g2n|xxohGLq0WAfdY{AIbft9Ql0 zz@sW`x2vhRt_t!?Hq(yXdB-CUf}OG?q9y_u>N(woa56_8gh_KY`)bjzRK`)c=b+D3 zKK_+eVSM2B)C2pJ_bm4c?s7(R?%B*N#we5TN<~go8cb!X=~L_O0jfzHL8YQ3UB;a4 z*J}_YHqyY-#&X2a1t9O>GK%DiqW(&g-fKY4hCxWEP=`GZ7p8zO`y;9NtT&YO4> zJ?t_BX*<@qUq=*6FtJE#Rk|aaIk6-CjVB^-d^*_#?TwCjuma#laze~SR|${Uq~_G! zdqADh*~=$I(`sjNfBYe_{Vx12&R7%fDKJa9(P8*iV4k`+K~a!Ut}iGcxg=L{ea)S~ z`$^1o7&)Eo=Q~gRtgLZ92Wqv%ox4(YtFT+7D`bE{v`g&o5e2G{S5fDmC+B;`kj8}z@iXN{xkKS zJ%E0hrit|{*tk8GNi&(XX0TF-^N7&^qWG=EM};p^N_(syitoLTvb_c41foI6o_EF6 z+rNQ(37(ZWOG04=Pz8e}|6yg#&OvfJFDJ`n7X8IAAmFy(C9SCmWWm8ij+iStXX|&j-pe!2eY^#lPC4}MLg$N zTA!iLOw3DiMI`E(a}IF3kgsteVWylMv%&0IF1&l=+~u=pPP>8wD(NXeJNID$f^c{q zxr30L^bY-=d@sN6CcSRWV(W+^kho6#jrna7efJcQ|88L4B17pN((Fw3pg<6_gtWOK zF`|SojmY*(_MxA*w<*X&DU$Ewtyvvn4VlOwWrEkg7wN^41@3k)!Ak+-Md(;Abbi@S zK}I^$bM%}7x{c@X+*PO)dUcdAl7HG-*LJoAqdi)J{_UIsTb>h5pqDSnLbUL*dv&zz z(u#)5oI4u=3}!@6*r~WRnqaZO-L>D#4%-R)|L>-x68reCwh(^N{P*#`#J(3|-yO$^ zePgdL`-%G`mCM9~{U1U7NYpkX)8M-nyW8H_K4II(N{gW4U{y$$+gm98P@+qh(Kj!` z$#w~uCM`fM^0F_<^5c~xN@5qJD+L%?jMR;$kwb{Ey4ltVH|SX578#2dk}_bft&V_f zEg?s{L7&=V=otIQWK2C7AfZR4)2U#c zPs^>X@b$~wBxA(>U<|=e6`jTp1vLUvYes&%J8yHxjx(bYq=YMo#Z7s;xAVt$A zz2ZC!`KFKE!PK||NH~9y)BgN zgMn`nmyQU%!2|zmC~HVcPf8`b-3v-|d>p8NCXfkqZ4nb=NFaNhb4*z#9l01oAbDFt zFERqC^bE+Prl3Kg*gzNsHuNX7tH5{nBLxn7MrLyh{2%xn!GnV*Ou)9NDImS0hx&y`!MA$*L)d7GkKosSZO zu*8T+HT0n9YB#Bw?j!rUpAco0{&^wKwwY|#So<~mHFAw!6Y!AOtJ)DNeXFCkx8v4) zBfP1q+NZAybrmawJ8rV7GWN(3{XMUv@NV8$czDomdXHNkxAdgjty@sp6Dh@)ADy80 zTJ9?MdBeZqmM_;&IO^pJ{)_InZjo;KTOO{rJoL1ihX(+P-4#c??&*&nvGKN^3Vio& zQiq))ipUozFR|*`hX0-6b!73pJGe>2S;pl)X6mrT?(J>Jsex8alpkV)F?n~Az_oS8 zo}qIF)hRdv_)5h{s-rE_Hi5NNrq{-nAG?LayrU{FHpigHMF7fm^M*vT&OPJcWs*4A~0w-w3-iF)>*U zG}jG-Xdu#YfsWRxodY4Y5t}&t{xcA6rkfSQW?}Px4TKs}2@N0@BzI2X zx+=jn{m(N;;X}cLUAj~v3W3SK0uG}{*u$pe#cLq}c7Ps$1ei7+C7#KJMw5vgAO|1; zW-Lt31vh5<=PYeO#!YAuuz*w670SR_XNj=g+Uz)YFnZ%T~0wF4{OT4-M;<5W`ym)&sVxfm8R91t6aC4w-wi@ zgfOkMJxolynL2tNE!s1qJMPw3pft2;P-2NvcL?x6@h&rk4>iXEuLWjlx}aCU=kxhb zCq&Uf4K&plpB$f%#(>gJm##`m%F0XOQ}a*{x0HA*iT*MmZZ`lRk<}D$t1@%j%yns{ zQ6fk|oEjOBy*%jY?&~a4!5}t=5u_uyjNl%u3^6t*L9l5(i*%AnV&5afC4sCK>BIIx z7Rk*i+WL~kms=33YIl)_h9}@cP)8Vp3&jh;QxTJ2rm0X>l$lEqb8Qnm3(Jf(>Izq) zYG2fZphstR!X^SR-gt_sDNivqg-(TWtffL*6E9xTo{EyhD074=B1#j}LBH)8AEgbp zM7V}qDif+yRu^ff6As>${QrBWwl+lWD>P*>`5=abM0;VdF+%Mcu1*LKRl+_DEeNkv za~0|uV_6}ltTshSzPYRdv^MrI#5mtTEy(7%*4^gmjpzRysCWlP!Jhr>73Sp>64B*% zlI3XIK%!Y~URqvqb~0+llQS6I^w7~N5JmL;4K+i&@PV|bz*3aSR}m+pNo!8cbInaf zUAfA>TB_Zn+nL$O2yxQle>RaCO&R9YT-UtRq%3UWBP9c`kX}#7q#IXb462f}5_49` zelkj7%+s0D!C;k=lWb%R>0>JUs8G^mqVwsFk^Df2cS!p>Uy*8k^cxL+%q+3KL(*B_ z@r#rm`VqRJ3(40i^7hY-z?c>lgDARGl)=-4`2?RA%4=A-(Dq>KOW4`8MvG@2tY!xRs?YUN#qK1 zfeu>sOm-@`E&xnY(Ok$`OrTLb4ILswhadEH{>3gIBp&CWzRtFVh>Nv@|NAP*{hh3M z1p!doCh`|cQt5`fbnXp~_C86w9eS;N^5`PKRD;MnJ+aTcRD5(svmq}h+jN)oSLEhv zLFb;Hg>ZUTx_TQ!rsFtO03C=`05fHD<9YzJhtRo7nnl7!keSoLKlBB0UO8AvCB2po zgmgqtqBLkZh=gV)>F`KTOX&-)prk}Yj5#qo6`|;!B*B-V(`4Y`FF|Vz;L~KprwPvS z7_vs$t-T#q@OU5<`;w0V3GCr$>tQ>FPw^9}`eejmzZQnXPjr5{0K-4NFxSrShx7wi z&f|?9yLtPFLC*d9It!mjX_r9Sbs>eSw3GM=$z}h5rWV1q`;dM{#?UXA5Y1C>_B_vIwPt4YkoAz4@TxCV>efnYq z8vE3_uehW?AoN8%r10=?Tw#c%IFl{7FSm$Pud%{$P|VuuY^zzS95RCT;>1w`;Py7u zcmFbiDtV&mLCkbMnMunzy}cRNRQtb3i#r{NzQaIB6NXRNrQ^A$xSxsmsyqdwc=fu# zgD_%eKTBc8q5}ddOL#A^WDlW6+QCtS`zboEcWFG{N#_UQ9ZIDm z#CI|h#CP1K8ciCe{8aENWNLn*zba^#aqgtIbO(-&PQ%j;Krh(slK4!}1gLN}MID6Q z2qFQCxlu|!7T?SI=e@!Lk<6Qn7vI~03&)#=DVKVs=s+Fx@r_-(DiC%m?hi1!kzP@^Ygm|fsK_Z_= z$0ONbgj=n=Siad0jD~wr(W2MofW2Iwrn2{!MP?-WuTklZS}HMe{&bE+K8LK7?rPRG zt7x7~uEzmnOLhBN^m|k^3wyxpJSnjhl9^v`Bk84N=|>M~|0YJh?@{ZiI|;;y# zEO^eouk6E-C$hiD_uwSurwc(W>d&gnM|0$y>>;VHrL&NPLe;#~0Zaup1bh9ZNrg%I z8nX!dRA|hJrg#$rA~pjnw6y=jr;Aj+2oZwkFvZ!{Vi(sU)7h09K6vo?v3*Gh~si-pVta#;4K`%ktvWTU%O-tIwW zA$?E(tCN5Ct8o4ceI@_9E87UFLlbO1(#`1^I@O`m3`wTUVn(Mjv8OocpMYDq!rFa4 z06aVHwifCl+P$M;?2<&}AMwNmPwbwf#YAT!B2-XWF^TyRS25S+hdZTX%|uvFq^+Y5 z>u3RebhZ%hXR9ZA?C9t}ui85LSD-EVRZK%lg)Na}g)_9umtq|4>?P@%!9Bpb_9A>X zY+&mxZn*;c{1Mx@QBCJY8)(u+=LR=PjX^{-fPQhbqe#xSIdH4b=B;(jO?CCnV1k0h z1zBd=0`#5>LbxqMkoSO3%>Fg%Q6G*rNb?%aW=kbg`&Ip!d&=8-uPU9{$smaOU|d>s;(;AVcuogtKX{zDRa>w?NO#My+Pf`?c7sw`Z(f5 zHW#wS8EVf!9XAKo;rO?1_NfbO-U~#5-6Zne)0SJ}w^4v$S&K7~+1klK*3y{OP^dH> zjXM;u*Rl(p@73&z+7VKfb1UZj#@02*X4Q-`FzNC7Xw@gu7%A;TRVz192Yzn&f(RcS zvqcxM)ki!L-@2`!h}@O&oW6BnQM32XHQW97Y_KfIUu0RBKX3n9rX1rnKA7A00?q_~ z#j7hd=Hy0(G)Vt?_~~#MmfZ+Xx)4Xw^E_cr-amKjI&rxor2c}CLm(M_^YP_X zPx7xMUdq0bb~696`fS$a%UAA^KzVc9F56%d&-!X&qtxnbiyA3mT=bS~i>k~V_+0Lus6eZPHey6>)XR(S<>((6IR6 z2%e0YY1dq7mIYOAi{GZIEiJ6eq*zs$x@0H+HF5n` zwkM@7zKpAm4l3|fZ3#*UiQ?m(yHi~n5w3~e0;Gp*i#evU!cwx66B_I%kdVK*W~_dA!?2|Ct=72s(DCt#JnOGZs%Tk)-z6!k_cQEE)+(G6$>2bRB7%CQTNy!TP zJM4y(fOwomRB!@LFu0&PnvX9_sYmR&2MD?A3vuqHH3d6WJ8BX_%J{;l+(4Xr52%yT zx7oe2fS{1L5LHB+sWgR8&)1f~cRF~5R?FmF8HZSXGVD3E0oJLipwL`V#FOSLcBxF5 zNlwEVGok46le4#o^wzCsWa?btvV(=&>Kh8eyg9l_W?kQ&%n}CSm0;q;MSnm0%oGz-4liK7 zp3Z}CB9@WRaGjhqXHnE7CWJca5D8~+)liw9zFPxo%hE|-FS?z~MBo;kuP5_VD7Kuh zuYktg?Yv88%D!i+iIV{nolN;A#?8sj&Y;E9NwK7tv|?W6+{$^4!^%H1K|r{G|US~jE-EOWTF}iBAiY7zIB@KphipCJ1n*g)EQK5q% zflftp?4BtJhJ+lAt0u<+DNK?qZ7P8i3`0toV=mDvt%sn#V@_3P$E#?nbaPyISORai zyy+VgpjV;?^0d7R7hx$2Z5EprTC&Z#e2!UPm{LH05~xC_HyBhxwe92F0<1H;b|Y?> zBW<@xD1tTCd{&>50MO42{LI!iWO z+-y@;zKYD1))hv_0wL0!2J3Y=OeZ0g%}&;9(lqv=?VA-iG-Rd<>_IsitV?!HPD@IM zTQOG}7++S561O5D43Z2=eZe-NxAjY|)SO>Zt0D`emb~<2Q1V974|{f$ca=Gdnv|Gn z!_^T{YE*L~#F(N<%t%zJH60;FOG0I5h_L`AWE~;K@&q7`+Z1JL3*an*sR!w!Cqw*E zoD}}sK*o>qdiaffKuwJ0cFJ>=1HYU0OwELl z5E2etg$nLVxW1Z%@XsvYeN*up(@1#qP5K}$B7XhOT`pBSI|}`+P!D)QtAqsl4f%!a zmI!K^$2tCR7MV_`Gf1>D`U~Af2RxTh2bmBL1y`NSU@+(;2APl`>b%}^bNY$3 zi(NdS+k_-?S|TLT(=4jz&XDJHw-8Uhk=Wy{;0G38;Vq0v+a%q-CZoE*&KreH(Z2?> z0zihSb+WC)tUp?ePE8joSZfs>zk>{KuY&a2brQf@x6mh7NWbD7an31`~*M=KODb| zlpogvl1$T4p%jP*q%y>1hh#<|rgN+(fgEuVhOx)iwJckxlc zAWV{CTK@;%6kiil8&n%q5?tuR?CqZ0ZCxm%N)py3{?!PaWx! zL*8X_Uh7`HR*C`CT456DiN9Kxpv~^~L+wc7_H`G|_rQNq_||0Wj|rBZl?eT%5J3rJ z`;gHRdzrKk9W5Cu6;@kk2&>y?NRaC=b!3>pX!;lmKciqxh2t*=x3W_g;V}sjdR94F zPgy6h-wir3a~(H%v!2TD_}p0Y^0N9zhB#KRMYP)xNSSq0i@(f^G}0~o=Tnb<*hM}# zOU4W>rM(%FjEL;Kc^@T@*U%56=nw<_uxx^PxM|M0J*Tc)E||%J9mG>d76e>Y-_jgd z#GHOp&Kh<$onBdpK-O~m7(G2kmPaQkQe%q;77wf*?0R}2>E`=a6j|;=0xV?4?|+?+ zC5pP=7&6QD1)JTJwaXfsL4+Kg44#Wv9~-$+UNkN5QD7bvL4~sc$4+&(2rm=MaC| zn;h2@KhoQErzT`wD2yebB|_+^Ad2g6M6&nl;Ej<~HG_^&(+`UWSo+p}d|_jQ{%G>P z5Hc{342UL!Oqbf~PE;`8)Z8w(olC|RlZmNhr1$BVb78wzl!T`RriU`5~)Ii^F6I>W+j*qA?*)LkLnDNQI*ukt}mI z^2|nL7G0rDh|;2e_h+kPv-7nD$!1EB{Sfu%lEhX?Ab(8d=%03%WQ|tL zx+G>>QVK9PV0VCbVb^d#3M_dD)^#HnoiCw3Xk&}nAZ!3wSV6Kyoz0=#TdPU3yU@QC zV!cC>k~lhdmNy74^iOkgfi^$eH9tGoQlLc7=o5%B^oF$ialoRFLwy|$P*0JX!`WTP zpPIY`V`7?XVp@tCdT-*P0C$FFK%6DysV!+73c^7jgQVi$iX6ZSOrjVF$w9GiFlLHi za+6(H`sF_F%Z&Hsuv_<(-&S7Re}SuN+P&wi16%g_?DVN(_RpJMIZ@@cC^38%A2w@+ zI#3nnZ7%iz==c|73HJly+Z_4kbZZ8s+~o2!FHo-Rk5t2I$3Xq?yb zY0IYtkI{a3C~IfVw%q3Y=BnoAefzc_EI-PW9Wftlf#aJhs#;p72(_%feTw~r%sOSL z#7z?7)Q+Y7f^~|_<~xpk!?zEV+IafDq}ti(jks(dVdF*CFB{^9xc}E;tXvBpXC0>b zwT^AZa#Rt7l zpKd*PniD>io$@}ogtN6qv2O;o50lP6;&q<8DK*eY2{t-)`XDwUksxP}>}=He`j+h6 zkt64M8fQDj-XI@9-@=rV<(iV2q)ktm2EF6j`7?^9siw_{3!2YQBZ~CgBx6d3Yf8En z{J}Tq2MXG2+7Q6^M=5P1q-4|(bl>wEP6)Qgv8TOT7ccQ%wV3NX%FY8oXynN1mO~Yh z&&h)l;pmkE zozvzp@*WQ79nzP?dL}OkFl1Jkwlngs4(~abY72H48VwB@rO8nJP(w6ni|5qP&y!~) z&B@)eTU`(tqlJi6VUi`1kvj~RIuvg$TD>vS@P}WH?*$x!{9jD(YnO6OSN-clt10)= zXKzetm?^0u{BYd0+9NP})6=7wj^haLeRWLH0ZW7CM9u+pr>Qm!PDcyQv#Fxlh+#O7>gRbYZ7v^%1cVkrs|x63dWdO zTvA}l%G7_i0j#`T9eTdE#h?i`1T(?L!f=zS)DRP?$%spfyqMWwY%D&tSJ$koS*4rI zB%CQLkKhX9=fQC0EX^rRiG}0Rk_#7wrvxR%n2T%7HJZzw=}R*5J}lA}X?F+JrZEp= z<}A0&XXNiWWIGhhXf17_v-8wDH9Kg}diwslkFMtx8>+I+%{5Qg6UX(p!VZMjCz=li zogG~`hbbMKzd2|GQ=GB~LL%*q^(vbIXcZ^-aLRB<(t+@pHyP7%(h(<4)oM%gMK<8* z^bkfEN0+miP`*kuMrN%%T(OOjGhG}U@HH`A9UO9Vvm(n9i#3J0Sy2rAoNQq;H0egA zwkWv}Ni%e1OwTER_gayt3uR6qHk76ggL+INsr*LO#03@p?89guA&2%;q-9?1GmIzCeNNUi#pd-;Nxq{ zIU9X3sUdxDPOarceR2J=Qs117moganLMI1@7wP4HG-g+1R-TXjE&A0wGGWq>j9l&D z;56&{y7R#g!*3?u$hwyE$cwx?`HWZdl=9DY%!W;=aa(!H%#9sk>}wpHNxNG5B&?V* ze9e+Yivy|S#zB$Gd_yy4>7ooPN(!%jb)PDLB3p%%soL-m{4PTxmZeN+o>V@)00V8xu;@HR_s-a+8J0F%@QR)7ED+<&@=bFDu#;f0$Vr8?!N-+Z^dx z5*!u~-12$GvW$)ESC?++yevyM+)sNHO}YoSd7shV&nUQ06q$PryN$aI%>Mm)-2whl zMu7L}z#}0K%@yT!wclPkU5{&C?cmY2i%h;q-~G13=5i7qy^KYqwv;%*WpHu>&xDiw zuFcfU`c4`XHCz;8=y&>OD&_U2)SNU9h}2pE>UYpV10T2QDNWf;SDF_wbe`}Ro16jV z9SFW5I_GURd=ay$7C@`NwjRJy5n6VsCbIed3Ky-I5{ zV^sUWs^ErVoH-9niR2wRo=EXQT0Q7DYyh3phmNEJK1|u;L%tXT@SD#LGG|d?I@5m8 z8qLCe)AJw+hsHV-RQj>njA67l)qjK>-a7C{j?)w{`A5IXJ+6`?J4lAi>xU8r5^9fT zlMOWV2#pA2G^4v_{O-#xa}nW^(!*OXnabYPSQR``Vm8%Qeef;At|=WVy-q& zBugV-TX&PMfVOio3jr)$O_vR&3&AP1@CAAIHxgW>2iR~vBjAjZE?1TY(#oc zc&JJrqNg`EYz^ALt(9%4+q#F8)gkIoTN@CFTvy;$+CL+fiOq=G>Z{TR>8a1^#8jUE zP9M057SXF5*x?PCO4|d#UFsXHQ)|VRRUv*UJXu@^?U_2Co3w|j9ex>XR@!azM~hIT zyU5Mfs+`pnTAs|6C!a{!u^S_f5R;pyS6a*louz_|)q_J*T6*tLK5uRzj>6?#WG16` z+C*nkNBd>Xx{eFF#nwj7IRkCtg1^x&u9U#N2J^Ue*ykP<1AuN!q~FZGEET&5U-2m?D~0!r>g8O(y8-SEL@K|Hc_iQ zE){yTi=7)AifcV=OaMA0fkh~=3isI(!r5d_Kh(bkp>XW0K82SWh%59{~^64zvHBPL{Dq}A@c zeKh$6^|qJZ^d%p;3mY!kH(+V&dx^fndfH-rmEjCuwU8vR^ra9Gw9AjY^~V+0ho|nX z*}t5LF0Kv#O7&G;Woa?L|LDE_50<=~=||rR+QbMWX5w-OPp6yoe-Q5YraOsx8s+>{ zzROK=9FZS-gIe&oAufr9+`!{MOL0AvgJ}Z`&>E7fbS5z6BatwR;!#)-vS^@*{r_*xCL^_eD1qfJV6O-@bIXq5Di1-*9?sTf&s`v8_M+OpR-%CNIU5L0ShZurac_d8wQ!6&TrivL*=Wjf1)9NZR^qTo>vM@b2$UlL-Z9WGhV==YJit4zIs`?3 z$NU8-^xJgSDEftpzNUN0=kCblFD4nJ?0bG@uT8MH8ArdPkL{zB zq}7=mLy^QZ6nni7cpk0_&yL6zfH$5UX(W>rvdI8)nzYVB8%iR;Q#uN0n!zAs9pZk; zO`--q+vX4tegWsAPR7LxJ zDaD#lXV-hqL|idTKY+TxqY>rq!=#kiHnIsqNvmjNSP%pjLS5AbMQKGUQH2aK(>Wjj z*AoS1#aSGR48$7wDIhX@ThD{Aak+#zyJJ@%=iaE;d!zOlc^|G7DkH-HHYcCaKBNyI z7l)liy&9AyRz}$L^~t&2-DF#fgM5rvG`_JUtP*g{_(lu9Bo zX*S*`p){W46eBkylQluy2dj!pbvrmM8TQRKz4ChHWBSSSS&Y7I`AG|;LbD`9Wtc;p z^vX1o-!;q@eHi&Q3jN`VQ1T`2DQ7a`(DS$!sEUnw*@o=$46p(A>)?8uO6rMwccJI6 zWSQkASuAWK&aVk4C-<%6NH!bjJulL`VpT=_@%q-f1Lw+HqYgzDeYw?}c}Cu0HPKEwa1DLzutqr!W1roafXkN_HumA-i->8VGMNHeMW-I2W42(U zP068~^ETye+7-Ghk4US?yFNb-`|+bnD&I^U@wR$%`NrnN=EU9Q`OOH>IUgm%{UH?R zOnQh@kelSsZ{g+#Y+-TfI^hzYyn=YG1iMEcoW*Cb+ILDk)@+wP0hdSG)CK4a;3q==rPkMzpMN7cU+zhLx& zzJHMr&(R04IwsKX^h#rs{;oC$iKAFyrhNq&!J&%bp`f6ZdSyl`{UCKdE`7jog%$Q0 zbQ;%epDpCx(JNzm2M^jj@-v`y=a9Ab-mu$7fQhL202y=!M439e7M%5oIwmACDkKDY zZ#-!-V4(B_spMBUh6s9+cnj$qOp*e!?FPwf6MwfsFT?2;!c)&lGwVhN&5}~dBM=yJ zLJh5yA}&}dIV~j)$O}q%!Hqm~7Ve1ucqigC>Irq=+8;{6JTsg+@iWm6hz5I$8H;>i z;X!W&aOOYkR;cUm1F()WIp~ZT(^Fa!R|Kjok?JB-q`ClA);Ir9WsL;r0mJ`!pb?&T zfHQ$ifo0*IkdU5?B#0-HATf!W$Vg>`IjSTPl_OY@Y$-@DP>F-GD1i9?4#=#5T_PgY zVPLd?+Mx(Fsu-OA2JkqKykx1l6vTN!6lgObPCf@}m5lp_k0BpOXykY#M*L}-l3pkI z;2paTn$Qq3jwIdYgvEcc)ayeUC9IHCXu=9ZRrVFqSRkKJLg!+iDBVQ%NuFx%eD|cI zc4qpVRi8(3aM!{On&<813cswnkVX|SHze5}EQv60i?70L*+Gd9{Ax#4NDDxvEtnAJ z*q)IL1gqY*^`xamAlDsCT?Y11&HmyXd21CPK)MEyF8I%ow|qCB+o(zo zjNY=GUwY-_;p0b69CH2U(y7MgtcQ8W7nalRmDIgxTpr5vB{elm8dTewnr|NB54KgG z%G}Ld$_;5;q6!L1N!-exAT$1YNQR{mY5IvzQ)oX1*Hnn8S*|DHbWMZ^k_rR5B}^V9 z-v#71@G5k)bbve1kY4ymGh=um_ILN6e+QBV=)2K?tY!Y@O#CiOhJofcNPJ=^${I=CW7|q&#lin=2VmX+{5YNU-ml~Cgb1s1`hx5*xX_;EUy!lPK z_w%7uy+KPe$LPL!H7{?C&Wy>5=cZ^ECB!OY&m`Q|a`M~h@fq;$R~K$Bu&Nky;M&F zcGKj29CB38_59%Hn9xT1H8PEUU=>&CXY2jBVd%D7PXs%WoO6@Buo~F7*o?F|o{nGA z8=v=x6OvP9hrha@yfgF6md zq$EpxXXx>hbev>C`N<6zRd+63`K~ylIIW2HB;(1&*C*)&ymJcge1GZk_r+TAoh2yF z^f)UySFxk@lJef%a}&7sCR)VyCYQ;@zh8mlqMHzQ33rLf1{>aSvwP#4mX5Mv^4Pr- zW;Ro{Ev7VlTinlcep~$W9LD$1nayVrcIkYaJ=4775dZU~U(YR#w3fccA%9b?ux1_DQQ_^OsCI;HK1+K}qCLK+AD^Q0DqX3E>~+-hE#G<50pk@yC6!9L zkp|dLaP?eZDFcgp(%BIMZ8>HRIGSsnWj@;jcLU-0w{-XR`X*Fx;=Trj1x0a`X`yVR zKZ>5`R6AdiHTlnU zLN@mXL!czxkfBE$K%f40-#4$o*qD%(lo+p!HzgJzj`X0sDIsm|PQe0Cy6GEO+lPN1VhtJ8)H0ex>gwGUB+qUg#RUQi2yRnkXBdWcm z>*-c&Pr6Q#g|gpF6jNrs-Pb1WzaZO`UkE+~v%7UTS?*|k0Zs%EqOQT;YVsCYeU1F< zGI{$BCMEHHOWL#{ZKG=Q=4=xx$CcpU9zjzvo27yHB?Ds2sYnwUnB>hHQ#PqKZO*|) zDC)XErlFQ{KE0XHzEqLZ)Rf(%YHmtP-HEBf1-9vrq(pd&G-Cj01xu4PiKQh1pzxAt zgvSEuX%!+Rz9aw^UIh`CMP%TMIi9C^vXOX8aFZ$Nr{B``D*I%B37*?0+b08J@LZTI zEPyrmwJ`fw+U}G+eESy2^pN@k5Ga`e`nru>gx7fDPi8pU?g$b#IWJzHoXl+6G$qkf zRfl^sJM<~k+<2ELF+d}a@oaIj_zIO<+Xkt z_Otg0-6gJ-l?{bERhLhEIg2N@0Jhe7tTWe*+}%aq!M z(>{mH>@WbAhGBWm(e{Zj7{y9ZY)oeS{b#Cyyqam*?$39wN=eZt=B6-SN1mnEsp_6( z9XZ11=IZlPP`p%3hC{;InLL4nH4KA4+4W&QzA;=@tPzys2<*(54pUDP)c6YZ4>NxNC=h-u`FSIZ~lOWmK*?gDhIBs41u^X;AHJ@>#pq2Y*|3 z?$hz~lRaP1^glD6`Cnh*T2@w*U#B{K5VOD_%j)VU-H<|`nPo+ zyP!^TLRJ$|5fU5`5zNsYvYsQy^rT%zJtSQ?1VYI>N=S&mEe$S@sHv%_sNqPn?DgXx zU%!4lwigE$m~zhy@?G3W-~aP>*U@&!`ZY^Fm`|3Tkq|c-iKRp9kc(mnKU`#hoE<|mW;JJ2=l=g59kRg>{7S=&C3u9e#SoXA?Kd@0_eYh`5b z1h##iO#bLNxjTX0rQ?JK+ow{x*4`jC+lyxHDB+$!@8F$!+o!UB-og3&WPPtp5Xek? z=m*JWTx^@k3RJOIIoh@h1?&Uzx$}J<1A_;9A5S0f!dd$?7Ot`i0jiJJY{)6_fwY;7 zZeAy`z9+krb*uT*`CWTz4i+6_j0FV-a@Cc0+Fd|897f%$IH3 zf280D_yPXeTCkCs_|(dCBlZ`AV7>>5KahD5lw&fkx_8YM|pr>hf{^7quAl7Sa{ zD(4`A({Jup)YW|2WZ(?NWcFT3c~*W&nQ~iXad-lC_e%@sN>ie?hoim~Rj#~zklHWl z6Wxvl_LyFZsPx3>C}l)hOhuhA_4k5PoJpOlwj?vluOq@?Jfr%NIDdEbAa6mz9zbjc+ zpSF|RQ+~v--%K>8Q70sSO+qRTlpi!6Nl8+CNI#ABhDLx3bp#s2llEASY?nIRAo*67 zsPoE*JGZ6Eb@sGXpAFf(Iwmwad>zwx^`_;P>YMGE>MDMlrX+mNDh5DE8vJG`TSZ4m zQd;(bX|tgC^2NS1_OM@q#sU@?z2(5M&80r_Q1_4;kdk7ei}6_%UNSerY13w zkyj@tPyXVgq~Xc*z0|2!6Z5l5@^YD66Npw-X01Lwn-AW3EQ~m)h{Lzrt9SD9w&HvQ zkW-iqM8@XEq-f$(5>s`ViIq%cqNZ}8YGG7FSRlVORGo}8ki1$`m|0L(QdZJXTaUW+ z`XX(usicHGH+88dYK0&d;Hknj~*^RrO4zGQMHlQ|GNCmZM_ zRe%4&ZCiMG^|GeWlZKl{+?DUb^c`*>UPeG|ynaWW;C)zyAKy{Qcii7LYAG)cL|{w0 zPgZ}igBy8jY~|QfOPfBuKfet}q^AG!S+Ul4?2IoWJk~RFed*71m3^ktK1*<)N9dY$Ks=IUa zh{d81-%U&$H7bCB0gFmVl!9yT;62(}gdI|*dl zrm&+Q(08^|$6)5y*m1Y|s;K0nkEnFu)d^1{c^~?(I{LxW;SB)_n77z3@Ux@E)}p6} zS3?5py^iSb9y#KAWGs+d3W@~zy^ibptB*K zjm9$+1vdm7@zPK9@^bAwpTvBe2pwWc#BsZBB}}ucUN*Gshv_d=MDp}0k@8v_iYTQY zJ*AR9W2Ov%yU6UMJpzXh4-7!}c;NUXI8;0pPf$FVhK9~#bM4$wA`TII$j^WBq@J+8 zMCSUU@Vf_pVMa0SwhhMc^>r8h9_#D_!u36l*51M@)|jV0m}*Ql(zlMr6f&;OBp zG559VM``_zoSb?d!OFdNzuG%XaRS#S*>AfIu7p!y1aYurY@1Tzz$C7cfnkY~Z>%QSv!y?La)4_OdlURAB7yBL|Nj3Rz|c1?qT57AUqe_?+6}=! zL<&GcP2Lg_yok2p@s_jvt3O0S4D|b7WZFaAtDXIw+uLXh>)|Y)S}|ugIIf%)Im<^J z|J=Rvg@^OMm-5y3#iuTC6*~mG=5*?HUFwwUy40!Gg{ro(?jYZ>9cRabv=}esQ-%}M zo3{VIHi+EP6gTNYQJ^9WNlHX*t8GE-uHE``n|5#9wLrgd6X1wZ3cHh(MvKE+VNLp#DqWxA28K7g2uzDk zwC8WoNE%DnGYA179Po=hk|q71e6buOVV9--2GM>H!dQlTz3Z_*e&qzNmZe(yBO-Os zb$HCp-R*?o8fr@NM2v|Ll=WeO2*?&lhP(W@( z7r{hS!aGQ(L;TI^GMLERtsdbFQtP*V?4k2D zhf&MLfk12RsQJ`gCC_z0`rQdm_~+0ce+!rGQ~<_lFFFZjCOQpo|42Ig@E1=xxyC^w zbY(r3uk=XcNv`x(%7#OeRq~!5P>?EPr;u-M%fyn6$3n*AFUTO_Z!)O6o79&KlDE1^ zhaq-`Ii@S=g0P4RB57UlA53g8R>dqD))N(i-tCt57#1qoj(G5c$DjCqEhukWVq0Qb zVqdN$%+Z#YEiac7S-+M(`xIHFrN&Z`p0#6R-g*NtA|&YCA?7(rTy_AFz^;eKWONPl z+#PRD;>n;M;NZ=|*t3RaAx^XgiEpEpqr2>bB?fh(AyGAVVT}JW9?+W+68lsciTOwZ zHo&1f&|XHys!(Oo9|!GG%nP$nE`kus8pNZ3OGeCS^o^53+)<&&A$*LG`?-FWe0oIq zKzs$>WvB0L@31{blN;_2NB83Ff7|b~r0b|hv}=5vHY0(%=X=+0&qsa}U41|PXv4%t z-$K6v-vVatj>~JlRgtcb9zp)p=4L&|4s<57o$Wp{a+JO$soHy};Hb)M((52f6;5tR z$Z{j-6h@QfDoEUnfz>1?F2~TZ(6^z#(QFBIOQ5ozw5Ldl@9>1Y6Uj<$%FjiHce*G4E<4b|WsmEV6sCoAkas$a-6F zWbM<7r{wFE0V9{vu6u`-t={kTRk|=fP+_br5}YLV4}>3B`)4Jj=NQQ(`o7Ox1e1N{ z?pef<#ndW6h1wFFhM6M+K9bm)DaY#Rl;QMg3zq`m!e;u0#Mm8^FYPZ_+tL~0stiN!KmFwP5b6im^+Dc=b91n0o#^9+x{P`#oQx#Z@>$L zGYG1MP0~LwsY}Uxce2`D{O>|mq4K*yk1pM0JrR$^R=BSAp>Uf_!KSi5+~;a17a#Q* zpB|T-9Z53*G;}+XN)3YW%Xg($%en}A4xRjpsE+P_^6I*ywHiUB1f52cpi0z$ z1BQ<$sfGWGvG)Lr;%eWovug+DNBcCfrVXq z?*a;_2=-oL)Wj&Z6ia%nd1E=VoW=LM2hIC?f8YQ5uIul*?36QS&dixP<$3PszQtlD zCo3yECsP}t=kqPa4B127I32_`5@X}y`S^GQj6lFCEhA1y!0bL<)e&2$C6Q7jV5WFm zpUz|&OhyB5NHsu6&5&g1(#IGNL3dTQj!y(Rk`PL53TO`|UZ0v^ zP#aRy40@p$QhZktxnj`4V4{vsNQg)DqCed%l+pD}Tv~#`kcMP@C2?U$2GwzrF`h04 z(RN0>AubLD)bW8dsf0!`ae701x;ote9>xk11$_|%XVk?RV%4~k7$J}vN@ya$UGW(i z=?0^oFC&S}b>QBNI#5%oV`5`tgdiGGOmz%M%8ka143nNOAvy*mWpQuMdeGd7%ZxEb zN5z7>3kJpH5KA|{5C=r*Gh#BKK4r`VeqK7JRoup9MH{2En6Y%E++}g&^Kp8u-WUTb zg~^zOltn1PccOvI)VVs_iJnTjw88 zC3Lkpg3Hxrg@D;LM*kr?Ja?o_@`n~gzUWaKWL5NXk7 zQ!Nvw&yLJf=VfQ-Azd!fGGw)FxLFB2US_nxJ~bgOB_6i~btc3j(nS|7Pn1QrcT1=5 zr^5{us?QBCP#5Ip7T{p%@Lf#XlOhhVBPCJN&$euf33um-(H}PcwKP{fe_>>RlMoOS z7Za*_^RX->H=-bkmnK)0P@Gia)&2}t`d3opBu!}Wh0ZwqAto*oEtqwr0+_A>jL{-XXXd1f*IeoDDqVu(%UQ&RM)`qcEg z#L~!IIgZPWi8O>kh%=B43Jdd%6+-4_QtLX}$#1ON$o0cFPjH>*EuRv#E-@%gYlu%t(kG?r$|LRKO~81oFMjus%=lY)-AMY?5+P6Sa{tNp%j#2k z#f7OryXup9gq8wComCF>Ri?bjcZ_k4+I34({6@j6a7UqUu^dA~ORHrVm$&!G)m!K1 z_uH_+J6taIZW{tinm$FPwC01A59IQy@~ZQ&+D+bYz4}VgmwTtTEIPIUyRA(znX#EMQo?~D19yyc zlbcofoW5h`tix-IHg|ny;c9_&stk_DfJNeQeXS5DWRTwv`dAK12~s2M^|2{2ajG;nr9_{TBBgmI z&SQqZMm959I<9>nLr1b06Nkj->+%zG?GwwH1U5#851+IP(G+1If(fyc(u^|?WM)dU z=r$7`jPG6yfAI~;f@X6^+1|Le*K*&ma5OZ4iL!#3{hBoQoXWnUBaP99*tA&tl*E)o zeS$oN)tU0Li}=6ENM_n=QrB}13yfPm92J$!H@#RTr7f>+vpvb^*vz=}1fxA1)TwY# zC$WifVZo6?A3B=3)r;=!n9N7OT#nFp5|82(k?aVmH0|2A#qmdReiu&;do5bChYu%& z?Gx^~ogPa&sc5HVpAPrpBk(M2kjNk={?Utq3FDP$%YjU$w$hMUA{;C!Za%9z71ZQf z!e#eXsKKs@QKrNpwBByt6D1!#lGReIG9dJ&=Np$Ic$mA!gmDtQVK zf>sL@n00;(2=q1SscM(evs`tIZ_#%3B(Mf!z@wb*IDq~XxDcqxPzmM&US_KaFp3T! zRzHx=g^8eUS04ZJwI zeI^$kZpe%jc9bR@D65uV`M&R9k$j|SeiGNq}ayt2GWSH4qz zc2Vt=@v8A&Qzn<3d0oX~S7;?rC5e>(HMQZM>v0-)@ES zwWv+v^a%<21T}f65ojSTVus6z^n-XzaI(I;z}9ych*OZhfo*pGEn7DVxx)#1I!2qk z%c!*{Sj-A9PRz}+Kd~=2E45ggYY+OW1Wd>ivT_rP!?Wz2_l0K#Vf18gZl*+V%f8*pvXT2L zsvxl-E49#`@a7w-1=@m;RQm;)uqtR1L+mNvej_n7D-;CaUBxi6S^Sx#b~1;Md`u8Z zFq*we2bsJa*b$lBjA4&HJ6lEWqll&S zSJdbh7|+%ZWj*sO8g^u1DnF?p-Xp| z&B)Lhp)dlN?kxB{$M=EWbl;1DL)#UKG0AwMc?8uAa^)P1hwkcIXOG?acJ7h6OV|5u z*(`W9csF|1%ddUgT8#<92x317Z}K>5H;{fN(AKqx>h)32`eM!WXWU|opp`y(O=GQTbD$ou?nAnzlW;<9Tl=7%4xA`N#?S`6}%X1 zdCKAPKiYE+Bu?m|u=~{6sPpOzXEF;Q<-Pa ztIkKA4LOB;rIS-DglSS+u=IG)k8qS^-u5T{o$81`IC5c|WglQ(D9%D}KrN##@iZ9b z*2TmJinW(iQYZsHul@;XxI}zNHaT>GC&4nysD-qZQp+rrWvBQtCgMBs`52#_IE4c< zH>fnIM-d4G3u_p@AJmWQ22S7!DYIFBs_rIv4r&1x@H2G8@vhWU zad}Cx+>jcVgeh1doetb;K@{B&pglFUv;Y_c!^GO4Jy%;=dL*|rlc7>%+|cG0B{^k& z)0f+%-(=X5QSi`?_S;QuZV!DuZ>gP6t?!<|dbnSfxD&{yfOT&OsgJR@JQDxl{I5pb zxT(6CeWUCuKfXF=f5E<@di$k&n1z&e1&l;cN%LE~OO)l$?Fnw!)fm3t{$4eh!GEDM zxj;8x4xNoNm7@?06IHv$7U1jeiYIo&Eg-~zsK zKeyo+haKS8NR0Ioj?&o0k~ z>`C}UCfX-{hqubxu)_p-*szHu3-&H;1{X6DHEuZJeIe3*4UJ>sYWF0NpA~88wZa+_ zcOm;kO=C0C&@s)&_MR*G%ASUO&zPzV)itV``08j#=@*>W%WbvL;>q`cZ6Km{?FJH04l zqs#JWr)8I8n=vM_YB`pDT5!cg@`(RI=cPegSFSAeJcD72)#>8;;{us*i`x|+ny@QD zo*tTpF;4G!lllhnUhyH}9xAt^LDlj6y|CZB`>SZL!E32aFZy8vQQkb%{7osJD%)NV zS+z%1m%hI)7i$YkHa)zgBJyAF6L$Z;sNg;P;lnxk&4{*_U9gPhQY(_tgo_TcvgC@y zG9G#&N&deW<#XS8`1|s_v+&b3{Yu0Q# zc;sk9^RZ*~E^C4OISO_mj4r1kj%vLa3s~J$GPlP!u(B=(c;Y>PEI&akXMeIDt*Zyz zbl%E89*Dn}a-$}POrO;!>(^g?%Deu}lgN<(J|=JzJeQ3c>3Z_s{kkuIzt=F^kw>q3 zhx3^=Eyz(_yL@4O2MJbR46YaTyGn(>+=T?$N`LJFXVvl&m%}@F@cegjoj!|pQPE9g z>(itN(dxBWQcD=W^O4(aGb+8P^bh=cQT2!1`oDDtI>+^&PL=(DTmuZ*K`*_iKIu zTs~5i{oS_oMUQhYoL{tQUMTM<|1jTcbLL);df2Py=+QlW3_G*@_>C^>m#?3Lj%7Yx z+pqRp=E;3h%YrIX^vNme>eP~oq}|@+?lp1{(4VCJ=MNlf*e?&L+ZWM4+>{h>1{GjHcG#!w6f zh;yxKo5?%ZgHK9Nj4`V9?D_PQXG%}V4JoO48EQjf-sex~^lQ5?0b~+&$vPdci%-zS zt6h`)L%rhUTU;Y|Ekkcgj>O-7NCp;u{Uu+S*pOBpD|aWdXPyv*`JD{SdU#GSW`Q0g zEA-K@_@!sAT&llYch8V!hnQrYUf7x2JY>K6Y!T^NPex28{Ai*CiCLU6rM$4JN_BeY z$?Yu=yjn#fSC9oX@|peK@q_ae=2M_%Hcwu{_yS68RyP7SBeoWZxj)rmLnvZQg_u+`PIp|Jt~u+^2P zS}{#ZyWD9x(w%O=e<|%pQrc~<*zq>)=|(ASktD@&Xd%4{j}!XyPw02F93Fu+@WG5j zAFLEU2bEMhQ8FRF-3a+jT~?}3DHFnu#+(3$+ck_(Gs%a~TZEJK=5bOU7b^=?S`;e`ECWiv#nD%ZP#s9S~oM zaZ!@C_Zz3c$Vh*^pM8pNUSL_YD4^eKJKZ+C{pFh$hW<_6q@2AkU0YfD#GCX(P5mq$8*YW@*yQQ~5)S zhA0$r7C5sgj*r46!OU&Q>G|v&cYlDckZloK&N(4uZ6st(r9;k;@a|uaNu6JNF zFmm1Frn&(XpdPj?5UT zb`9U`J?8m=mL5WgNz5i{}KC#x<2fjW-^P{gO@XJ_T7$x7sVHW)oHTIIlvZ);Gu%Zpujx9iuKtdOL{jt{{$o-ygumdY*fA)f%dX9o_& zBmng3WD33?Y9MZ5^8iohpB#OE@L+%>6oVg=_l;miHS#o$bYa}KItMIMW9K7;xGEk$ zBJZC)5#Y8@Akt19-czHBypIqg1^&K09)FiPmo{w0@w5x0$LJ$DCOJkI8-r_*wlwTJ zQF<0$ZX{Pg^VD37;Y1szi%@Px%o2uX;~lJzl3|9+1_(XD)v9b2ziFGz<$CPe<`GV< z*AE}Q9X?|6)EL1dC#*4N&v~#q%kk-RUap+CC#Nwi$3xyWoroM}w28C7 z@vYdD?CWbke?D`zAANrhAWasqG9Zf6{vYlI@MVCd0e`!DkoTAUC0xE-QIXu_TVb!< zI{O>MtR*m8|Hb8GCznKI5C6?BqC>DSG9o!BJL0$D;KhQ5mfC0}BNZf+hH`IZ4L|$U zE;1)DIWmG=(fsh2mJQQLYO#Zx z-evIiEW&Fn!X*iLSuPO1I2-bXLVRW30yi`Lg(0B0?gZt&17r&$zO?R` z3yc4DXgk7rBf9&$%@`M)Ao5v^uj7R9vFfoCaw{Bxg}sI`_zC*m0dH!@3?(*B@CZ!N zg8)ZP${u>iAHRt zPD?bTt3nxTH9~>VmY1BUWE*zxZV(7($pXo*>+bE1JV2_JrX?EXC9D7Yu%8@9pdlBZ za9;x;dbd5ly#RLDyL0#mF)LHnSa+HHtp}G`O5L1oswgo_W)Z9*Kna4Rf}8kLO|s0=iUZy>Ij|*&glvL4n7jlJ z1_1}!KWiObAz1hw*zXZ-wd(kUA-aBSNX z_EqD0Dihj=$;em(S9jFy#ENaP@zO_bo+o?!`P~r^ftRcn_Ygp0f z=3KYt@+8uA5cy&%UDZC)JfWwSJdwxg;Wz$7RhW>Mke4W@z4dfix=Kr*m?ylZtIQ+G z7q>~*Czrp2W#Jc+-nN(Y?erW2rM_hD4g8T7@CB|5#4EHfU{ZZqv9~zupJn=;wWT*p zy{R{Yf!B9!dmXH6+Z$x0Z<{0M&^8)s74#r5nW18D>P@_52qQwm?^tn`IE(4}rv`-g zD>|EVVJOnqgj9Rvcx1cA1o_Gr&(tM@9AO=ej@HJ9C&na2>!VX(>dw?20e)iKjqD0T zVXm>nkb_>8)XPctN<(n1ceZ@Y9t><%L_wP))5FvO`XFt1!1i?!w13vX zRL^uD&{b?m zsE8{I$@fj4Tue`nby^w{66bFSlqY9~iq@99{MnH$Ik{yo5m=NYOpj%AVaH?z~S zjYT=8lB5dICjw*vBRdI%i=;*x%-LW}r=)*%=oLs_7Q_@nQK}uCwGBFJ8@A2HI=LO| zW*eaQB$K=eJ}naqbKd`JiB&RMqyU(-y_F*i6m3rMgyIyC$f;1+f;wJ$05XcxN=sF3 ztqT-yT5&$9op3N)vC24ug!YsvgEzcsCHZLkp?Q5D!^RpERcb0bzMT#_$oAMgXfx$- zm9R_qtU5+*sagJ`4Q+}mho8_ zbGeZ-80ZpVDthJdLIUFcVC^l(Y0Lg|TEMN+EuCOhd#$FgEuGNSU;|EGW;CW5z!vF3 zc99f#+Mu#?g`{BKgbhMGx=y1S(Q!Q_FHZ-3%Nc3BEZW!-Cq*9(P%EEn%qEM?=WiGP z?{y5OP29{SOJ>5{GjqxLZz017+dCT4Z_h8838)LiAj~GH(xRP~2w32@0ushVav((p z(2Yq(Tdi>t)b}mmfwlJ}Q1Dv^jH}`+O(s_VCb>OK4$Lz|h$xh32A{Wezz02Hmm)1MffEOA=EmAcJBCV z9V#tb%XcIc`d6z-8oRf;VsD0!l6QtYODkgbrejsz!V(a!qBFmDMaaFCdM)B2OqO7q zsOQL#$>6K#eTJ``GoWaL+VY6q;=X+=#LU7R+NLqv6H0g1U@*uUQ&ThaLjLnJ>qZMA!nZwtCM6f7}u(97v234Al5%M4brS!TxfpDS>9)N z?(z=I7szC^Sqhr*J*}0COWAp(jzX>jG`TVI{K%lpAhmdwnz^xLGr)yj00aaj(qUnA z;7$O06?Dl1>U@fBJx-wh{qY{6mOq0($1yg!a2zPEg|t_EpW>u$JTj~p?u_-7{9QsdcFNh+Bp!(G7(vFs`Avj& zTkeI~mLU_^Pugu6Isx6fndSVc5N7nw-JG>tXFtz-hmUuC;Q8&sqjiUzrmK>Gvtvfl z>3X^2jQqka0^Y(>E#rHtA?9oKk&{Ku)qy4RYJ~;0<4)**M~ki}P+A$MzI-w~VvitB z&IepiI?<u%IUUfEqE!2vu!er4ehS8HqUL z=$g~3nl>F~*U2eAb!#^QX^{ zVaHCMC-T#04tbs0e{$~yguEsw&-B0i%sf(j&Uxx~1^BBYVof zxgjUFP+b@2o*;<6uJ4jX#&jgB6O`S1mRO}pX~~UBZbR_)ox#z$)dvfAR}^K1`=G5{ z1BFm0IyQ-nWhSsLG!MZ}R*qJupa`@!jjm<(v)9QwPr8md%eIg_-1(kdlW)oDpy0%q z9ek`yast9MOr;ss>W&jtW`e8$OIC{$b&0xIULPHk9H(Bm%^Nz--K?y7x|jIXRumZv zb9r3=v)>5*1bu$iRYR>jr7$HYOGQ3A&vhJ~8Wy0BP%jAd-0YJRQWGweYSR*<08r6d zSw}?01%&QOHH7f7Ym*_;lbD^IxL18aS6y~YwL7wKM-K0onUtET$}*)FX65OU@_6Gh z=4adVI>w0w1*VmC0PT?&l&ne!NbrqTdFk_Z?N;Yxrx@}C;}J-i#_M3djWcAWXP!tu zAnax{PD0gmI(NjoX5F$)E2b~3^Z2T$C>7IJ(`hCuC?p|B?HQC)3vHs#tf3?&9||18 zP0r5%=krc|R%(_mOYY3Z&ehJ*&P@!rJIfXmTSG-{VtSRSEF)V^7Bz7l7nK^bJ=0I^ zxN_dmnfo?e%+Eywa+>l~sOjLR7I}I>(SP z{iO<76Br^@h|;lVH>;SATEU{+Dix=xQcJahp!1|yK_3IUPPGyYoK_26y;r&y`_)!T z)gegLk%8(+$thP*b3K)y73L1SN{1T~X!MRFapGpU)=-GpE>QJWXe)EeE16 z%oyou7*Uy~Ys1j1+_`@Kx0-*+SFzs1S4^0-aMq<2KY0I&)tbKNKf5ynP#!BQw9T`I zQDzhUNR1;C$OsMIr$llZ9z|x;tlxpp8t=GhAZRG%$JyP_&ir)q>zi}VjM_Z_tJ_KE zMNh}yLJrq{CrlIhNR7j!62POF0LGb)7x=RH^VJiWSq6X`-M`&3`+RtL9|X%GH0u56_?fAbltF z7Z7+hjdNo`9R7$=TFb4jv%gUPUx`0+o!t#(4DygHSV}*bMr6yVY&iK~nT%|<9Zu|- zXlg%?JY=Q(p0Kx?T^Bg}c&v^Rz}0H?lJ-OprFk-UbMeLLyn`rbr!QVKO>m%HWYaDz zYULedBHMc5B8=i<4JmJMJ-_G7+B56UtUPlR_SMyAPyalU42(UyjL4}RQ4QP3HtKlR z<;=csmY(a8e0|1UGP(5hmBU4sFNYN$xq9>pS$Ji|<-??NpW^-3mfVs@kR$31(^Kv)IA;lnwp zQM1C=H$>}?#v$>&XsnLAcAqURjP?`A!8Fb%5YfOBq}C5@u$9%9Kgx41xzoRi9>sK zlmYIjOlB}v@rGJigOi_@LyWHCBFNm>3c$tfh#UJSbpu1ypTv!!ZdYaEDY}pQW=#nQ zw5+Nq4URG8CGUZ|{S!t~bi}t2fsQ=kcW(KeY zWi0+M1wl4nip9lGi>4HTqyGx*-FqtjI3*4)h<8b8Ef~$Pb5#6H|Shv~JEQ!Hbfi=jR?l!JyQ3CxC!6zP)(PvcoR-zcmb>QgHQD(!H7Z&oy5czF zN}dkYGqn8j({E)r!Zt6_3&`W$lXFVe5LdP>hgT{(UWvuKvkPi!Rbr*(72<~V%s)@h z;Ip6-D<@tu%M^1UHCVgmmbi8>f&byeUELqG9peC3$5WhBv9Y)=m?d(cz-Qhnjg?*zFE-a7@+qCwx zQ3uxjBHZeD=TvNE$2;f3lCBiB?5LHVsl~su5>md249Fwz*D1uUWJsGAFcL?Bj0-b| zn_-;RR0TF3+uwMM2U2+;qBfehrnvJVY;1fÐT?>-5aYhU|+1c>&YMpPK5x#-mbV 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'NS^o{z1ZKlHsAybrl=JE7AP369ntV%vB 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 CDx5C> literal 0 HcmV?d00001 diff --git a/socket/node_modules/pillarjs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.eot b/socket/node_modules/pillarjs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..c7b00d2ba8896fd29de846b19f89fcf0d56ad152 GIT binary patch literal 76518 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%0DyT{kunD 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⋙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 z + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/socket/node_modules/pillarjs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.ttf b/socket/node_modules/pillarjs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f221e50a2ef60738ba30932d834530cdfe55cb3e GIT binary patch literal 152796 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

              =v_rA!CPE#mM^4@)}X7qf;At+v)G*FZd&; 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 ALjV8( literal 0 HcmV?d00001 diff --git a/socket/node_modules/pillarjs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.woff b/socket/node_modules/pillarjs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..6e7483cf61b490c08ed644d6ef802c69472eb247 GIT binary patch literal 90412 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%0Ded40&XED0GYFoIh+AV*?9!MR5pBW?X_8Bp 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 IH>08b4`|GD*#H0l literal 0 HcmV?d00001 diff --git a/socket/node_modules/pillarjs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 b/socket/node_modules/pillarjs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..7eb74fd127ee5eddf3b95fee6a20dc1684b0963b GIT binary patch literal 71896 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≠dR0E9ICQ{-tcR;@{R^I5P#1GUH!p=-{c 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 literal 0 HcmV?d00001 diff --git a/socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-fontsettings/fontsettings.js b/socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-fontsettings/fontsettings.js new file mode 100644 index 0000000..ff7be71 --- /dev/null +++ b/socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-fontsettings/fontsettings.js @@ -0,0 +1,240 @@ +require(['gitbook', 'jquery'], function(gitbook, $) { + // Configuration + var MAX_SIZE = 4, + MIN_SIZE = 0, + BUTTON_ID; + + // Current fontsettings state + var fontState; + + // Default themes + var THEMES = [ + { + config: 'white', + text: 'White', + id: 0 + }, + { + config: 'sepia', + text: 'Sepia', + id: 1 + }, + { + config: 'night', + text: 'Night', + id: 2 + } + ]; + + // Default font families + var FAMILIES = [ + { + config: 'serif', + text: 'Serif', + id: 0 + }, + { + config: 'sans', + text: 'Sans', + id: 1 + } + ]; + + // Return configured themes + function getThemes() { + return THEMES; + } + + // Modify configured themes + function setThemes(themes) { + THEMES = themes; + updateButtons(); + } + + // Return configured font families + function getFamilies() { + return FAMILIES; + } + + // Modify configured font families + function setFamilies(families) { + FAMILIES = families; + updateButtons(); + } + + // Save current font settings + function saveFontSettings() { + gitbook.storage.set('fontState', fontState); + update(); + } + + // Increase font size + function enlargeFontSize(e) { + e.preventDefault(); + if (fontState.size >= MAX_SIZE) return; + + fontState.size++; + saveFontSettings(); + } + + // Decrease font size + function reduceFontSize(e) { + e.preventDefault(); + if (fontState.size <= MIN_SIZE) return; + + fontState.size--; + saveFontSettings(); + } + + // Change font family + function changeFontFamily(configName, e) { + if (e && e instanceof Event) { + e.preventDefault(); + } + + var familyId = getFontFamilyId(configName); + fontState.family = familyId; + saveFontSettings(); + } + + // Change type of color theme + function changeColorTheme(configName, e) { + if (e && e instanceof Event) { + e.preventDefault(); + } + + var $book = gitbook.state.$book; + + // Remove currently applied color theme + if (fontState.theme !== 0) + $book.removeClass('color-theme-'+fontState.theme); + + // Set new color theme + var themeId = getThemeId(configName); + fontState.theme = themeId; + if (fontState.theme !== 0) + $book.addClass('color-theme-'+fontState.theme); + + saveFontSettings(); + } + + // Return the correct id for a font-family config key + // Default to first font-family + function getFontFamilyId(configName) { + // Search for plugin configured font family + var configFamily = $.grep(FAMILIES, function(family) { + return family.config == configName; + })[0]; + // Fallback to default font family + return (!!configFamily)? configFamily.id : 0; + } + + // Return the correct id for a theme config key + // Default to first theme + function getThemeId(configName) { + // Search for plugin configured theme + var configTheme = $.grep(THEMES, function(theme) { + return theme.config == configName; + })[0]; + // Fallback to default theme + return (!!configTheme)? configTheme.id : 0; + } + + function update() { + var $book = gitbook.state.$book; + + $('.font-settings .font-family-list li').removeClass('active'); + $('.font-settings .font-family-list li:nth-child('+(fontState.family+1)+')').addClass('active'); + + $book[0].className = $book[0].className.replace(/\bfont-\S+/g, ''); + $book.addClass('font-size-'+fontState.size); + $book.addClass('font-family-'+fontState.family); + + if(fontState.theme !== 0) { + $book[0].className = $book[0].className.replace(/\bcolor-theme-\S+/g, ''); + $book.addClass('color-theme-'+fontState.theme); + } + } + + function init(config) { + // Search for plugin configured font family + var configFamily = getFontFamilyId(config.family), + configTheme = getThemeId(config.theme); + + // Instantiate font state object + fontState = gitbook.storage.get('fontState', { + size: config.size || 2, + family: configFamily, + theme: configTheme + }); + + update(); + } + + function updateButtons() { + // Remove existing fontsettings buttons + if (!!BUTTON_ID) { + gitbook.toolbar.removeButton(BUTTON_ID); + } + + // Create buttons in toolbar + BUTTON_ID = gitbook.toolbar.createButton({ + icon: 'fa fa-font', + label: 'Font Settings', + className: 'font-settings', + dropdown: [ + [ + { + text: 'A', + className: 'font-reduce', + onClick: reduceFontSize + }, + { + text: 'A', + className: 'font-enlarge', + onClick: enlargeFontSize + } + ], + $.map(FAMILIES, function(family) { + family.onClick = function(e) { + return changeFontFamily(family.config, e); + }; + + return family; + }), + $.map(THEMES, function(theme) { + theme.onClick = function(e) { + return changeColorTheme(theme.config, e); + }; + + return theme; + }) + ] + }); + } + + // Init configuration at start + gitbook.events.bind('start', function(e, config) { + var opts = config.fontsettings; + + // Generate buttons at start + updateButtons(); + + // Init current settings + init(opts); + }); + + // Expose API + gitbook.fontsettings = { + enlargeFontSize: enlargeFontSize, + reduceFontSize: reduceFontSize, + setTheme: changeColorTheme, + setFamily: changeFontFamily, + getThemes: getThemes, + setThemes: setThemes, + getFamilies: getFamilies, + setFamilies: setFamilies + }; +}); + + diff --git a/socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-fontsettings/website.css b/socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-fontsettings/website.css new file mode 100644 index 0000000..26591fe --- /dev/null +++ b/socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-fontsettings/website.css @@ -0,0 +1,291 @@ +/* + * Theme 1 + */ +.color-theme-1 .dropdown-menu { + background-color: #111111; + border-color: #7e888b; +} +.color-theme-1 .dropdown-menu .dropdown-caret .caret-inner { + border-bottom: 9px solid #111111; +} +.color-theme-1 .dropdown-menu .buttons { + border-color: #7e888b; +} +.color-theme-1 .dropdown-menu .button { + color: #afa790; +} +.color-theme-1 .dropdown-menu .button:hover { + color: #73553c; +} +/* + * Theme 2 + */ +.color-theme-2 .dropdown-menu { + background-color: #2d3143; + border-color: #272a3a; +} +.color-theme-2 .dropdown-menu .dropdown-caret .caret-inner { + border-bottom: 9px solid #2d3143; +} +.color-theme-2 .dropdown-menu .buttons { + border-color: #272a3a; +} +.color-theme-2 .dropdown-menu .button { + color: #62677f; +} +.color-theme-2 .dropdown-menu .button:hover { + color: #f4f4f5; +} +.book .book-header .font-settings .font-enlarge { + line-height: 30px; + font-size: 1.4em; +} +.book .book-header .font-settings .font-reduce { + line-height: 30px; + font-size: 1em; +} +.book.color-theme-1 .book-body { + color: #704214; + background: #f3eacb; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section { + background: #f3eacb; +} +.book.color-theme-2 .book-body { + color: #bdcadb; + background: #1c1f2b; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section { + background: #1c1f2b; +} +.book.font-size-0 .book-body .page-inner section { + font-size: 1.2rem; +} +.book.font-size-1 .book-body .page-inner section { + font-size: 1.4rem; +} +.book.font-size-2 .book-body .page-inner section { + font-size: 1.6rem; +} +.book.font-size-3 .book-body .page-inner section { + font-size: 2.2rem; +} +.book.font-size-4 .book-body .page-inner section { + font-size: 4rem; +} +.book.font-family-0 { + font-family: Georgia, serif; +} +.book.font-family-1 { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal { + color: #704214; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal a { + color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h1, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h2, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h3, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h4, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h5, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h6 { + color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h1, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h2 { + border-color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h6 { + color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal hr { + background-color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal blockquote { + border-color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code { + background: #fdf6e3; + color: #657b83; + border-color: #f8df9c; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal .highlight { + background-color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table th, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table td { + border-color: #f5d06c; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table tr { + color: inherit; + background-color: #fdf6e3; + border-color: #444444; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n) { + background-color: #fbeecb; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal { + color: #bdcadb; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal a { + color: #3eb1d0; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h1, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h2, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h3, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h4, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h5, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h6 { + color: #fffffa; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h1, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h2 { + border-color: #373b4e; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h6 { + color: #373b4e; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal hr { + background-color: #373b4e; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal blockquote { + border-color: #373b4e; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code { + color: #9dbed8; + background: #2d3143; + border-color: #2d3143; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal .highlight { + background-color: #282a39; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table th, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table td { + border-color: #3b3f54; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table tr { + color: #b6c2d2; + background-color: #2d3143; + border-color: #3b3f54; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n) { + background-color: #35394b; +} +.book.color-theme-1 .book-header { + color: #afa790; + background: transparent; +} +.book.color-theme-1 .book-header .btn { + color: #afa790; +} +.book.color-theme-1 .book-header .btn:hover { + color: #73553c; + background: none; +} +.book.color-theme-1 .book-header h1 { + color: #704214; +} +.book.color-theme-2 .book-header { + color: #7e888b; + background: transparent; +} +.book.color-theme-2 .book-header .btn { + color: #3b3f54; +} +.book.color-theme-2 .book-header .btn:hover { + color: #fffff5; + background: none; +} +.book.color-theme-2 .book-header h1 { + color: #bdcadb; +} +.book.color-theme-1 .book-body .navigation { + color: #afa790; +} +.book.color-theme-1 .book-body .navigation:hover { + color: #73553c; +} +.book.color-theme-2 .book-body .navigation { + color: #383f52; +} +.book.color-theme-2 .book-body .navigation:hover { + color: #fffff5; +} +/* + * Theme 1 + */ +.book.color-theme-1 .book-summary { + color: #afa790; + background: #111111; + border-right: 1px solid rgba(0, 0, 0, 0.07); +} +.book.color-theme-1 .book-summary .book-search { + background: transparent; +} +.book.color-theme-1 .book-summary .book-search input, +.book.color-theme-1 .book-summary .book-search input:focus { + border: 1px solid transparent; +} +.book.color-theme-1 .book-summary ul.summary li.divider { + background: #7e888b; + box-shadow: none; +} +.book.color-theme-1 .book-summary ul.summary li i.fa-check { + color: #33cc33; +} +.book.color-theme-1 .book-summary ul.summary li.done > a { + color: #877f6a; +} +.book.color-theme-1 .book-summary ul.summary li a, +.book.color-theme-1 .book-summary ul.summary li span { + color: #877f6a; + background: transparent; + font-weight: normal; +} +.book.color-theme-1 .book-summary ul.summary li.active > a, +.book.color-theme-1 .book-summary ul.summary li a:hover { + color: #704214; + background: transparent; + font-weight: normal; +} +/* + * Theme 2 + */ +.book.color-theme-2 .book-summary { + color: #bcc1d2; + background: #2d3143; + border-right: none; +} +.book.color-theme-2 .book-summary .book-search { + background: transparent; +} +.book.color-theme-2 .book-summary .book-search input, +.book.color-theme-2 .book-summary .book-search input:focus { + border: 1px solid transparent; +} +.book.color-theme-2 .book-summary ul.summary li.divider { + background: #272a3a; + box-shadow: none; +} +.book.color-theme-2 .book-summary ul.summary li i.fa-check { + color: #33cc33; +} +.book.color-theme-2 .book-summary ul.summary li.done > a { + color: #62687f; +} +.book.color-theme-2 .book-summary ul.summary li a, +.book.color-theme-2 .book-summary ul.summary li span { + color: #c1c6d7; + background: transparent; + font-weight: 600; +} +.book.color-theme-2 .book-summary ul.summary li.active > a, +.book.color-theme-2 .book-summary ul.summary li a:hover { + color: #f4f4f5; + background: #252737; + font-weight: 600; +} diff --git a/socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-highlight/ebook.css b/socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-highlight/ebook.css new file mode 100644 index 0000000..cecaaab --- /dev/null +++ b/socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-highlight/ebook.css @@ -0,0 +1,135 @@ +pre, +code { + /* http://jmblog.github.io/color-themes-for-highlightjs */ + /* Tomorrow Comment */ + /* Tomorrow Red */ + /* Tomorrow Orange */ + /* Tomorrow Yellow */ + /* Tomorrow Green */ + /* Tomorrow Aqua */ + /* Tomorrow Blue */ + /* Tomorrow Purple */ +} +pre .hljs-comment, +code .hljs-comment, +pre .hljs-title, +code .hljs-title { + color: #8e908c; +} +pre .hljs-variable, +code .hljs-variable, +pre .hljs-attribute, +code .hljs-attribute, +pre .hljs-tag, +code .hljs-tag, +pre .hljs-regexp, +code .hljs-regexp, +pre .hljs-deletion, +code .hljs-deletion, +pre .ruby .hljs-constant, +code .ruby .hljs-constant, +pre .xml .hljs-tag .hljs-title, +code .xml .hljs-tag .hljs-title, +pre .xml .hljs-pi, +code .xml .hljs-pi, +pre .xml .hljs-doctype, +code .xml .hljs-doctype, +pre .html .hljs-doctype, +code .html .hljs-doctype, +pre .css .hljs-id, +code .css .hljs-id, +pre .css .hljs-class, +code .css .hljs-class, +pre .css .hljs-pseudo, +code .css .hljs-pseudo { + color: #c82829; +} +pre .hljs-number, +code .hljs-number, +pre .hljs-preprocessor, +code .hljs-preprocessor, +pre .hljs-pragma, +code .hljs-pragma, +pre .hljs-built_in, +code .hljs-built_in, +pre .hljs-literal, +code .hljs-literal, +pre .hljs-params, +code .hljs-params, +pre .hljs-constant, +code .hljs-constant { + color: #f5871f; +} +pre .ruby .hljs-class .hljs-title, +code .ruby .hljs-class .hljs-title, +pre .css .hljs-rules .hljs-attribute, +code .css .hljs-rules .hljs-attribute { + color: #eab700; +} +pre .hljs-string, +code .hljs-string, +pre .hljs-value, +code .hljs-value, +pre .hljs-inheritance, +code .hljs-inheritance, +pre .hljs-header, +code .hljs-header, +pre .hljs-addition, +code .hljs-addition, +pre .ruby .hljs-symbol, +code .ruby .hljs-symbol, +pre .xml .hljs-cdata, +code .xml .hljs-cdata { + color: #718c00; +} +pre .css .hljs-hexcolor, +code .css .hljs-hexcolor { + color: #3e999f; +} +pre .hljs-function, +code .hljs-function, +pre .python .hljs-decorator, +code .python .hljs-decorator, +pre .python .hljs-title, +code .python .hljs-title, +pre .ruby .hljs-function .hljs-title, +code .ruby .hljs-function .hljs-title, +pre .ruby .hljs-title .hljs-keyword, +code .ruby .hljs-title .hljs-keyword, +pre .perl .hljs-sub, +code .perl .hljs-sub, +pre .javascript .hljs-title, +code .javascript .hljs-title, +pre .coffeescript .hljs-title, +code .coffeescript .hljs-title { + color: #4271ae; +} +pre .hljs-keyword, +code .hljs-keyword, +pre .javascript .hljs-function, +code .javascript .hljs-function { + color: #8959a8; +} +pre .hljs, +code .hljs { + display: block; + background: white; + color: #4d4d4c; + padding: 0.5em; +} +pre .coffeescript .javascript, +code .coffeescript .javascript, +pre .javascript .xml, +code .javascript .xml, +pre .tex .hljs-formula, +code .tex .hljs-formula, +pre .xml .javascript, +code .xml .javascript, +pre .xml .vbscript, +code .xml .vbscript, +pre .xml .css, +code .xml .css, +pre .xml .hljs-cdata, +code .xml .hljs-cdata { + opacity: 0.5; +} diff --git a/socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-highlight/website.css b/socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-highlight/website.css new file mode 100644 index 0000000..6674448 --- /dev/null +++ b/socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-highlight/website.css @@ -0,0 +1,434 @@ +.book .book-body .page-wrapper .page-inner section.normal pre, +.book .book-body .page-wrapper .page-inner section.normal code { + /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + /* Tomorrow Comment */ + /* Tomorrow Red */ + /* Tomorrow Orange */ + /* Tomorrow Yellow */ + /* Tomorrow Green */ + /* Tomorrow Aqua */ + /* Tomorrow Blue */ + /* Tomorrow Purple */ +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-comment, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-comment, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-title { + color: #8e908c; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-variable, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-variable, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-attribute, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-tag, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-tag, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-regexp, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-deletion, +.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-constant, +.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-constant, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-tag .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-tag .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-pi, +.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-pi, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-doctype, +.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-doctype, +.book .book-body .page-wrapper .page-inner section.normal pre .html .hljs-doctype, +.book .book-body .page-wrapper .page-inner section.normal code .html .hljs-doctype, +.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-id, +.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-id, +.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-class, +.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-class, +.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo, +.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo { + color: #c82829; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-number, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-number, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-pragma, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-built_in, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-literal, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-literal, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-params, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-params, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-constant, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-constant { + color: #f5871f; +} +.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-class .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-class .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-rules .hljs-attribute, +.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-rules .hljs-attribute { + color: #eab700; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-string, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-string, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-value, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-value, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-inheritance, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-inheritance, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-header, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-header, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-addition, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-addition, +.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-symbol, +.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-symbol, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, +.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { + color: #718c00; +} +.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-hexcolor, +.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-hexcolor { + color: #3e999f; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-function, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-function, +.book .book-body .page-wrapper .page-inner section.normal pre .python .hljs-decorator, +.book .book-body .page-wrapper .page-inner section.normal code .python .hljs-decorator, +.book .book-body .page-wrapper .page-inner section.normal pre .python .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .python .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-function .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-function .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-title .hljs-keyword, +.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-title .hljs-keyword, +.book .book-body .page-wrapper .page-inner section.normal pre .perl .hljs-sub, +.book .book-body .page-wrapper .page-inner section.normal code .perl .hljs-sub, +.book .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal pre .coffeescript .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .coffeescript .hljs-title { + color: #4271ae; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-keyword, +.book .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-function, +.book .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-function { + color: #8959a8; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs, +.book .book-body .page-wrapper .page-inner section.normal code .hljs { + display: block; + background: white; + color: #4d4d4c; + padding: 0.5em; +} +.book .book-body .page-wrapper .page-inner section.normal pre .coffeescript .javascript, +.book .book-body .page-wrapper .page-inner section.normal code .coffeescript .javascript, +.book .book-body .page-wrapper .page-inner section.normal pre .javascript .xml, +.book .book-body .page-wrapper .page-inner section.normal code .javascript .xml, +.book .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, +.book .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .javascript, +.book .book-body .page-wrapper .page-inner section.normal code .xml .javascript, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .vbscript, +.book .book-body .page-wrapper .page-inner section.normal code .xml .vbscript, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .css, +.book .book-body .page-wrapper .page-inner section.normal code .xml .css, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, +.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { + opacity: 0.5; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code { + /* + +Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull + +*/ + /* Solarized Green */ + /* Solarized Cyan */ + /* Solarized Blue */ + /* Solarized Yellow */ + /* Solarized Orange */ + /* Solarized Red */ + /* Solarized Violet */ +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs { + display: block; + padding: 0.5em; + background: #fdf6e3; + color: #657b83; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-comment, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-comment, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-template_comment, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-template_comment, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .diff .hljs-header, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .diff .hljs-header, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-doctype, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-doctype, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-pi, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-pi, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .lisp .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .lisp .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-javadoc, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-javadoc { + color: #93a1a1; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-keyword, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-winutils, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-winutils, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .method, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .method, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-addition, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-addition, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-tag, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-tag, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-request, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-request, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-status, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-status, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .nginx .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .nginx .hljs-title { + color: #859900; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-number, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-number, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-command, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-command, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-tag .hljs-value, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-tag .hljs-value, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-rules .hljs-value, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-rules .hljs-value, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-phpdoc, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-phpdoc, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-regexp, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-hexcolor, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-hexcolor, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_url, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_url { + color: #2aa198; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-localvars, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-localvars, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-chunk, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-chunk, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-decorator, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-decorator, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-built_in, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-identifier, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-identifier, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .vhdl .hljs-literal, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .vhdl .hljs-literal, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-id, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-id, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-function, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-function { + color: #268bd2; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-attribute, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-variable, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-variable, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .lisp .hljs-body, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .lisp .hljs-body, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .smalltalk .hljs-number, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .smalltalk .hljs-number, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-constant, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-constant, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-class .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-class .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-parent, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-parent, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .haskell .hljs-type, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .haskell .hljs-type, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_reference, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_reference { + color: #b58900; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor .hljs-keyword, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor .hljs-keyword, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-pragma, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-shebang, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-shebang, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-symbol, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-symbol, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-symbol .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-symbol .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .diff .hljs-change, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .diff .hljs-change, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-special, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-special, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-attr_selector, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-attr_selector, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-subst, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-subst, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-cdata, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-cdata, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .clojure .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .clojure .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-header, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-header { + color: #cb4b16; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-deletion, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-important, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-important { + color: #dc322f; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_label, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_label { + color: #6c71c4; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula { + background: #eee8d5; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code { + /* Tomorrow Night Bright Theme */ + /* Original theme - https://github.com/chriskempson/tomorrow-theme */ + /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + /* Tomorrow Comment */ + /* Tomorrow Red */ + /* Tomorrow Orange */ + /* Tomorrow Yellow */ + /* Tomorrow Green */ + /* Tomorrow Aqua */ + /* Tomorrow Blue */ + /* Tomorrow Purple */ +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-comment, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-comment, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-title { + color: #969896; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-variable, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-variable, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-attribute, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-tag, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-tag, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-regexp, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-deletion, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-constant, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-constant, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-tag .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-tag .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-pi, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-pi, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-doctype, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-doctype, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .html .hljs-doctype, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .html .hljs-doctype, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-id, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-id, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-class, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-class, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo { + color: #d54e53; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-number, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-number, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-pragma, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-built_in, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-literal, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-literal, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-params, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-params, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-constant, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-constant { + color: #e78c45; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-class .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-class .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-rules .hljs-attribute, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-rules .hljs-attribute { + color: #e7c547; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-string, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-string, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-value, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-value, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-inheritance, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-inheritance, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-header, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-header, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-addition, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-addition, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-symbol, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-symbol, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { + color: #b9ca4a; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-hexcolor, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-hexcolor { + color: #70c0b1; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-function, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-function, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .python .hljs-decorator, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .python .hljs-decorator, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .python .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .python .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-function .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-function .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-title .hljs-keyword, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-title .hljs-keyword, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .perl .hljs-sub, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .perl .hljs-sub, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .coffeescript .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .coffeescript .hljs-title { + color: #7aa6da; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-keyword, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-function, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-function { + color: #c397d8; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs { + display: block; + background: black; + color: #eaeaea; + padding: 0.5em; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .coffeescript .javascript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .coffeescript .javascript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .xml, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .xml, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .javascript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .javascript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .vbscript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .vbscript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .css, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .css, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { + opacity: 0.5; +} diff --git a/socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-lunr/lunr.min.js b/socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-lunr/lunr.min.js new file mode 100644 index 0000000..6aa6bc7 --- /dev/null +++ b/socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-lunr/lunr.min.js @@ -0,0 +1,7 @@ +/** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 0.5.12 + * Copyright (C) 2015 Oliver Nightingale + * MIT Licensed + * @license + */ +!function(){var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.5.12",t.utils={},t.utils.warn=function(t){return function(e){t.console&&console.warn&&console.warn(e)}}(this),t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var t=Array.prototype.slice.call(arguments),e=t.pop(),n=t;if("function"!=typeof e)throw new TypeError("last argument must be a function");n.forEach(function(t){this.hasHandler(t)||(this.events[t]=[]),this.events[t].push(e)},this)},t.EventEmitter.prototype.removeListener=function(t,e){if(this.hasHandler(t)){var n=this.events[t].indexOf(e);this.events[t].splice(n,1),this.events[t].length||delete this.events[t]}},t.EventEmitter.prototype.emit=function(t){if(this.hasHandler(t)){var e=Array.prototype.slice.call(arguments,1);this.events[t].forEach(function(t){t.apply(void 0,e)})}},t.EventEmitter.prototype.hasHandler=function(t){return t in this.events},t.tokenizer=function(t){return arguments.length&&null!=t&&void 0!=t?Array.isArray(t)?t.map(function(t){return t.toLowerCase()}):t.toString().trim().toLowerCase().split(/[\s\-]+/):[]},t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.registeredFunctions[e];if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,n)},t.Pipeline.prototype.remove=function(t){var e=this._stack.indexOf(t);-1!=e&&this._stack.splice(e,1)},t.Pipeline.prototype.run=function(t){for(var e=[],n=t.length,i=this._stack.length,o=0;n>o;o++){for(var r=t[o],s=0;i>s&&(r=this._stack[s](r,o,t),void 0!==r);s++);void 0!==r&&e.push(r)}return e},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},t.Vector.Node=function(t,e,n){this.idx=t,this.val=e,this.next=n},t.Vector.prototype.insert=function(e,n){this._magnitude=void 0;var i=this.list;if(!i)return this.list=new t.Vector.Node(e,n,i),this.length++;if(en.idx?n=n.next:(i+=e.val*n.val,e=e.next,n=n.next);return i},t.Vector.prototype.similarity=function(t){return this.dot(t)/(this.magnitude()*t.magnitude())},t.SortedSet=function(){this.length=0,this.elements=[]},t.SortedSet.load=function(t){var e=new this;return e.elements=t,e.length=t.length,e},t.SortedSet.prototype.add=function(){var t,e;for(t=0;t1;){if(r===t)return o;t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o]}return r===t?o:-1},t.SortedSet.prototype.locationFor=function(t){for(var e=0,n=this.elements.length,i=n-e,o=e+Math.floor(i/2),r=this.elements[o];i>1;)t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o];return r>t?o:t>r?o+1:void 0},t.SortedSet.prototype.intersect=function(e){for(var n=new t.SortedSet,i=0,o=0,r=this.length,s=e.length,a=this.elements,h=e.elements;;){if(i>r-1||o>s-1)break;a[i]!==h[o]?a[i]h[o]&&o++:(n.add(a[i]),i++,o++)}return n},t.SortedSet.prototype.clone=function(){var e=new t.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},t.SortedSet.prototype.union=function(t){var e,n,i;return this.length>=t.length?(e=this,n=t):(e=t,n=this),i=e.clone(),i.add.apply(i,n.toArray()),i},t.SortedSet.prototype.toJSON=function(){return this.toArray()},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.Store,this.tokenStore=new t.TokenStore,this.corpusTokens=new t.SortedSet,this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var t=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,t)},t.Index.prototype.off=function(t,e){return this.eventEmitter.removeListener(t,e)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;return n._fields=e.fields,n._ref=e.ref,n.documentStore=t.Store.load(e.documentStore),n.tokenStore=t.TokenStore.load(e.tokenStore),n.corpusTokens=t.SortedSet.load(e.corpusTokens),n.pipeline=t.Pipeline.load(e.pipeline),n},t.Index.prototype.field=function(t,e){var e=e||{},n={name:t,boost:e.boost||1};return this._fields.push(n),this},t.Index.prototype.ref=function(t){return this._ref=t,this},t.Index.prototype.add=function(e,n){var i={},o=new t.SortedSet,r=e[this._ref],n=void 0===n?!0:n;this._fields.forEach(function(n){var r=this.pipeline.run(t.tokenizer(e[n.name]));i[n.name]=r,t.SortedSet.prototype.add.apply(o,r)},this),this.documentStore.set(r,o),t.SortedSet.prototype.add.apply(this.corpusTokens,o.toArray());for(var s=0;s0&&(i=1+Math.log(this.documentStore.length/n)),this._idfCache[e]=i},t.Index.prototype.search=function(e){var n=this.pipeline.run(t.tokenizer(e)),i=new t.Vector,o=[],r=this._fields.reduce(function(t,e){return t+e.boost},0),s=n.some(function(t){return this.tokenStore.has(t)},this);if(!s)return[];n.forEach(function(e,n,s){var a=1/s.length*this._fields.length*r,h=this,l=this.tokenStore.expand(e).reduce(function(n,o){var r=h.corpusTokens.indexOf(o),s=h.idf(o),l=1,u=new t.SortedSet;if(o!==e){var c=Math.max(3,o.length-e.length);l=1/Math.log(c)}return r>-1&&i.insert(r,a*s*l),Object.keys(h.tokenStore.get(o)).forEach(function(t){u.add(t)}),n.union(u)},new t.SortedSet);o.push(l)},this);var a=o.reduce(function(t,e){return t.intersect(e)});return a.map(function(t){return{ref:t,score:i.similarity(this.documentVector(t))}},this).sort(function(t,e){return e.score-t.score})},t.Index.prototype.documentVector=function(e){for(var n=this.documentStore.get(e),i=n.length,o=new t.Vector,r=0;i>r;r++){var s=n.elements[r],a=this.tokenStore.get(s)[e].tf,h=this.idf(s);o.insert(this.corpusTokens.indexOf(s),a*h)}return o},t.Index.prototype.toJSON=function(){return{version:t.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},t.Index.prototype.use=function(t){var e=Array.prototype.slice.call(arguments,1);e.unshift(this),t.apply(this,e)},t.Store=function(){this.store={},this.length=0},t.Store.load=function(e){var n=new this;return n.length=e.length,n.store=Object.keys(e.store).reduce(function(n,i){return n[i]=t.SortedSet.load(e.store[i]),n},{}),n},t.Store.prototype.set=function(t,e){this.has(t)||this.length++,this.store[t]=e},t.Store.prototype.get=function(t){return this.store[t]},t.Store.prototype.has=function(t){return t in this.store},t.Store.prototype.remove=function(t){this.has(t)&&(delete this.store[t],this.length--)},t.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},t.stemmer=function(){var t={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},e={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",o=n+"[^aeiouy]*",r=i+"[aeiou]*",s="^("+o+")?"+r+o,a="^("+o+")?"+r+o+"("+r+")?$",h="^("+o+")?"+r+o+r+o,l="^("+o+")?"+i,u=new RegExp(s),c=new RegExp(h),f=new RegExp(a),d=new RegExp(l),p=/^(.+?)(ss|i)es$/,m=/^(.+?)([^s])s$/,v=/^(.+?)eed$/,y=/^(.+?)(ed|ing)$/,g=/.$/,S=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),x=new RegExp("^"+o+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,b=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,_=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,F=/^(.+?)(s|t)(ion)$/,O=/^(.+?)e$/,P=/ll$/,N=new RegExp("^"+o+i+"[^aeiouwxy]$"),T=function(n){var i,o,r,s,a,h,l;if(n.length<3)return n;if(r=n.substr(0,1),"y"==r&&(n=r.toUpperCase()+n.substr(1)),s=p,a=m,s.test(n)?n=n.replace(s,"$1$2"):a.test(n)&&(n=n.replace(a,"$1$2")),s=v,a=y,s.test(n)){var T=s.exec(n);s=u,s.test(T[1])&&(s=g,n=n.replace(s,""))}else if(a.test(n)){var T=a.exec(n);i=T[1],a=d,a.test(i)&&(n=i,a=S,h=w,l=x,a.test(n)?n+="e":h.test(n)?(s=g,n=n.replace(s,"")):l.test(n)&&(n+="e"))}if(s=k,s.test(n)){var T=s.exec(n);i=T[1],n=i+"i"}if(s=b,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+t[o])}if(s=E,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+e[o])}if(s=_,a=F,s.test(n)){var T=s.exec(n);i=T[1],s=c,s.test(i)&&(n=i)}else if(a.test(n)){var T=a.exec(n);i=T[1]+T[2],a=c,a.test(i)&&(n=i)}if(s=O,s.test(n)){var T=s.exec(n);i=T[1],s=c,a=f,h=N,(s.test(i)||a.test(i)&&!h.test(i))&&(n=i)}return s=P,a=c,s.test(n)&&a.test(n)&&(s=g,n=n.replace(s,"")),"y"==r&&(n=r.toLowerCase()+n.substr(1)),n};return T}(),t.Pipeline.registerFunction(t.stemmer,"stemmer"),t.stopWordFilter=function(e){return e&&t.stopWordFilter.stopWords[e]!==e?e:void 0},t.stopWordFilter.stopWords={a:"a",able:"able",about:"about",across:"across",after:"after",all:"all",almost:"almost",also:"also",am:"am",among:"among",an:"an",and:"and",any:"any",are:"are",as:"as",at:"at",be:"be",because:"because",been:"been",but:"but",by:"by",can:"can",cannot:"cannot",could:"could",dear:"dear",did:"did","do":"do",does:"does",either:"either","else":"else",ever:"ever",every:"every","for":"for",from:"from",get:"get",got:"got",had:"had",has:"has",have:"have",he:"he",her:"her",hers:"hers",him:"him",his:"his",how:"how",however:"however",i:"i","if":"if","in":"in",into:"into",is:"is",it:"it",its:"its",just:"just",least:"least",let:"let",like:"like",likely:"likely",may:"may",me:"me",might:"might",most:"most",must:"must",my:"my",neither:"neither",no:"no",nor:"nor",not:"not",of:"of",off:"off",often:"often",on:"on",only:"only",or:"or",other:"other",our:"our",own:"own",rather:"rather",said:"said",say:"say",says:"says",she:"she",should:"should",since:"since",so:"so",some:"some",than:"than",that:"that",the:"the",their:"their",them:"them",then:"then",there:"there",these:"these",they:"they","this":"this",tis:"tis",to:"to",too:"too",twas:"twas",us:"us",wants:"wants",was:"was",we:"we",were:"were",what:"what",when:"when",where:"where",which:"which","while":"while",who:"who",whom:"whom",why:"why",will:"will","with":"with",would:"would",yet:"yet",you:"you",your:"your"},t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter"),t.trimmer=function(t){var e=t.replace(/^\W+/,"").replace(/\W+$/,"");return""===e?void 0:e},t.Pipeline.registerFunction(t.trimmer,"trimmer"),t.TokenStore=function(){this.root={docs:{}},this.length=0},t.TokenStore.load=function(t){var e=new this;return e.root=t.root,e.length=t.length,e},t.TokenStore.prototype.add=function(t,e,n){var n=n||this.root,i=t[0],o=t.slice(1);return i in n||(n[i]={docs:{}}),0===o.length?(n[i].docs[e.ref]=e,void(this.length+=1)):this.add(o,e,n[i])},t.TokenStore.prototype.has=function(t){if(!t)return!1;for(var e=this.root,n=0;no;o++){for(var r=t[o],s=0;i>s&&(r=this._stack[s](r,o,t),void 0!==r);s++);void 0!==r&&e.push(r)}return e},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},t.Vector.Node=function(t,e,n){this.idx=t,this.val=e,this.next=n},t.Vector.prototype.insert=function(e,n){this._magnitude=void 0;var i=this.list;if(!i)return this.list=new t.Vector.Node(e,n,i),this.length++;if(en.idx?n=n.next:(i+=e.val*n.val,e=e.next,n=n.next);return i},t.Vector.prototype.similarity=function(t){return this.dot(t)/(this.magnitude()*t.magnitude())},t.SortedSet=function(){this.length=0,this.elements=[]},t.SortedSet.load=function(t){var e=new this;return e.elements=t,e.length=t.length,e},t.SortedSet.prototype.add=function(){var t,e;for(t=0;t1;){if(r===t)return o;t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o]}return r===t?o:-1},t.SortedSet.prototype.locationFor=function(t){for(var e=0,n=this.elements.length,i=n-e,o=e+Math.floor(i/2),r=this.elements[o];i>1;)t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o];return r>t?o:t>r?o+1:void 0},t.SortedSet.prototype.intersect=function(e){for(var n=new t.SortedSet,i=0,o=0,r=this.length,s=e.length,a=this.elements,h=e.elements;;){if(i>r-1||o>s-1)break;a[i]!==h[o]?a[i]h[o]&&o++:(n.add(a[i]),i++,o++)}return n},t.SortedSet.prototype.clone=function(){var e=new t.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},t.SortedSet.prototype.union=function(t){var e,n,i;return this.length>=t.length?(e=this,n=t):(e=t,n=this),i=e.clone(),i.add.apply(i,n.toArray()),i},t.SortedSet.prototype.toJSON=function(){return this.toArray()},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.Store,this.tokenStore=new t.TokenStore,this.corpusTokens=new t.SortedSet,this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var t=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,t)},t.Index.prototype.off=function(t,e){return this.eventEmitter.removeListener(t,e)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;return n._fields=e.fields,n._ref=e.ref,n.documentStore=t.Store.load(e.documentStore),n.tokenStore=t.TokenStore.load(e.tokenStore),n.corpusTokens=t.SortedSet.load(e.corpusTokens),n.pipeline=t.Pipeline.load(e.pipeline),n},t.Index.prototype.field=function(t,e){var e=e||{},n={name:t,boost:e.boost||1};return this._fields.push(n),this},t.Index.prototype.ref=function(t){return this._ref=t,this},t.Index.prototype.add=function(e,n){var i={},o=new t.SortedSet,r=e[this._ref],n=void 0===n?!0:n;this._fields.forEach(function(n){var r=this.pipeline.run(t.tokenizer(e[n.name]));i[n.name]=r,t.SortedSet.prototype.add.apply(o,r)},this),this.documentStore.set(r,o),t.SortedSet.prototype.add.apply(this.corpusTokens,o.toArray());for(var s=0;s0&&(i=1+Math.log(this.documentStore.length/n)),this._idfCache[e]=i},t.Index.prototype.search=function(e){var n=this.pipeline.run(t.tokenizer(e)),i=new t.Vector,o=[],r=this._fields.reduce(function(t,e){return t+e.boost},0),s=n.some(function(t){return this.tokenStore.has(t)},this);if(!s)return[];n.forEach(function(e,n,s){var a=1/s.length*this._fields.length*r,h=this,l=this.tokenStore.expand(e).reduce(function(n,o){var r=h.corpusTokens.indexOf(o),s=h.idf(o),l=1,u=new t.SortedSet;if(o!==e){var c=Math.max(3,o.length-e.length);l=1/Math.log(c)}return r>-1&&i.insert(r,a*s*l),Object.keys(h.tokenStore.get(o)).forEach(function(t){u.add(t)}),n.union(u)},new t.SortedSet);o.push(l)},this);var a=o.reduce(function(t,e){return t.intersect(e)});return a.map(function(t){return{ref:t,score:i.similarity(this.documentVector(t))}},this).sort(function(t,e){return e.score-t.score})},t.Index.prototype.documentVector=function(e){for(var n=this.documentStore.get(e),i=n.length,o=new t.Vector,r=0;i>r;r++){var s=n.elements[r],a=this.tokenStore.get(s)[e].tf,h=this.idf(s);o.insert(this.corpusTokens.indexOf(s),a*h)}return o},t.Index.prototype.toJSON=function(){return{version:t.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},t.Index.prototype.use=function(t){var e=Array.prototype.slice.call(arguments,1);e.unshift(this),t.apply(this,e)},t.Store=function(){this.store={},this.length=0},t.Store.load=function(e){var n=new this;return n.length=e.length,n.store=Object.keys(e.store).reduce(function(n,i){return n[i]=t.SortedSet.load(e.store[i]),n},{}),n},t.Store.prototype.set=function(t,e){this.has(t)||this.length++,this.store[t]=e},t.Store.prototype.get=function(t){return this.store[t]},t.Store.prototype.has=function(t){return t in this.store},t.Store.prototype.remove=function(t){this.has(t)&&(delete this.store[t],this.length--)},t.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},t.stemmer=function(){var t={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},e={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",o=n+"[^aeiouy]*",r=i+"[aeiou]*",s="^("+o+")?"+r+o,a="^("+o+")?"+r+o+"("+r+")?$",h="^("+o+")?"+r+o+r+o,l="^("+o+")?"+i,u=new RegExp(s),c=new RegExp(h),f=new RegExp(a),d=new RegExp(l),p=/^(.+?)(ss|i)es$/,m=/^(.+?)([^s])s$/,v=/^(.+?)eed$/,y=/^(.+?)(ed|ing)$/,g=/.$/,S=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),x=new RegExp("^"+o+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,b=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,_=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,F=/^(.+?)(s|t)(ion)$/,O=/^(.+?)e$/,P=/ll$/,N=new RegExp("^"+o+i+"[^aeiouwxy]$"),T=function(n){var i,o,r,s,a,h,l;if(n.length<3)return n;if(r=n.substr(0,1),"y"==r&&(n=r.toUpperCase()+n.substr(1)),s=p,a=m,s.test(n)?n=n.replace(s,"$1$2"):a.test(n)&&(n=n.replace(a,"$1$2")),s=v,a=y,s.test(n)){var T=s.exec(n);s=u,s.test(T[1])&&(s=g,n=n.replace(s,""))}else if(a.test(n)){var T=a.exec(n);i=T[1],a=d,a.test(i)&&(n=i,a=S,h=w,l=x,a.test(n)?n+="e":h.test(n)?(s=g,n=n.replace(s,"")):l.test(n)&&(n+="e"))}if(s=k,s.test(n)){var T=s.exec(n);i=T[1],n=i+"i"}if(s=b,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+t[o])}if(s=E,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+e[o])}if(s=_,a=F,s.test(n)){var T=s.exec(n);i=T[1],s=c,s.test(i)&&(n=i)}else if(a.test(n)){var T=a.exec(n);i=T[1]+T[2],a=c,a.test(i)&&(n=i)}if(s=O,s.test(n)){var T=s.exec(n);i=T[1],s=c,a=f,h=N,(s.test(i)||a.test(i)&&!h.test(i))&&(n=i)}return s=P,a=c,s.test(n)&&a.test(n)&&(s=g,n=n.replace(s,"")),"y"==r&&(n=r.toLowerCase()+n.substr(1)),n};return T}(),t.Pipeline.registerFunction(t.stemmer,"stemmer"),t.stopWordFilter=function(e){return e&&t.stopWordFilter.stopWords[e]!==e?e:void 0},t.stopWordFilter.stopWords={a:"a",able:"able",about:"about",across:"across",after:"after",all:"all",almost:"almost",also:"also",am:"am",among:"among",an:"an",and:"and",any:"any",are:"are",as:"as",at:"at",be:"be",because:"because",been:"been",but:"but",by:"by",can:"can",cannot:"cannot",could:"could",dear:"dear",did:"did","do":"do",does:"does",either:"either","else":"else",ever:"ever",every:"every","for":"for",from:"from",get:"get",got:"got",had:"had",has:"has",have:"have",he:"he",her:"her",hers:"hers",him:"him",his:"his",how:"how",however:"however",i:"i","if":"if","in":"in",into:"into",is:"is",it:"it",its:"its",just:"just",least:"least",let:"let",like:"like",likely:"likely",may:"may",me:"me",might:"might",most:"most",must:"must",my:"my",neither:"neither",no:"no",nor:"nor",not:"not",of:"of",off:"off",often:"often",on:"on",only:"only",or:"or",other:"other",our:"our",own:"own",rather:"rather",said:"said",say:"say",says:"says",she:"she",should:"should",since:"since",so:"so",some:"some",than:"than",that:"that",the:"the",their:"their",them:"them",then:"then",there:"there",these:"these",they:"they","this":"this",tis:"tis",to:"to",too:"too",twas:"twas",us:"us",wants:"wants",was:"was",we:"we",were:"were",what:"what",when:"when",where:"where",which:"which","while":"while",who:"who",whom:"whom",why:"why",will:"will","with":"with",would:"would",yet:"yet",you:"you",your:"your"},t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter"),t.trimmer=function(t){var e=t.replace(/^\W+/,"").replace(/\W+$/,"");return""===e?void 0:e},t.Pipeline.registerFunction(t.trimmer,"trimmer"),t.TokenStore=function(){this.root={docs:{}},this.length=0},t.TokenStore.load=function(t){var e=new this;return e.root=t.root,e.length=t.length,e},t.TokenStore.prototype.add=function(t,e,n){var n=n||this.root,i=t[0],o=t.slice(1);return i in n||(n[i]={docs:{}}),0===o.length?(n[i].docs[e.ref]=e,void(this.length+=1)):this.add(o,e,n[i])},t.TokenStore.prototype.has=function(t){if(!t)return!1;for(var e=this.root,n=0;n element for each result + res.results.forEach(function(res) { + var $li = $('

            • ', { + 'class': 'search-results-item' + }); + + var $title = $('

              '); + + var $link = $('', { + 'href': gitbook.state.basePath + '/' + res.url, + 'text': res.title + }); + + var content = res.body.trim(); + if (content.length > MAX_DESCRIPTION_SIZE) { + content = content.slice(0, MAX_DESCRIPTION_SIZE).trim()+'...'; + } + var $content = $('

              ').html(content); + + $link.appendTo($title); + $title.appendTo($li); + $content.appendTo($li); + $li.appendTo($searchList); + }); + } + + function launchSearch(q) { + // Add class for loading + $body.addClass('with-search'); + $body.addClass('search-loading'); + + // Launch search query + throttle(gitbook.search.query(q, 0, MAX_RESULTS) + .then(function(results) { + displayResults(results); + }) + .always(function() { + $body.removeClass('search-loading'); + }), 1000); + } + + function closeSearch() { + $body.removeClass('with-search'); + $bookSearchResults.removeClass('open'); + } + + function launchSearchFromQueryString() { + var q = getParameterByName('q'); + if (q && q.length > 0) { + // Update search input + $searchInput.val(q); + + // Launch search + launchSearch(q); + } + } + + function bindSearch() { + // Bind DOM + $searchInput = $('#book-search-input input'); + $bookSearchResults = $('#book-search-results'); + $searchList = $bookSearchResults.find('.search-results-list'); + $searchTitle = $bookSearchResults.find('.search-results-title'); + $searchResultsCount = $searchTitle.find('.search-results-count'); + $searchQuery = $searchTitle.find('.search-query'); + + // Launch query based on input content + function handleUpdate() { + var q = $searchInput.val(); + + if (q.length == 0) { + closeSearch(); + } + else { + launchSearch(q); + } + } + + // Detect true content change in search input + // Workaround for IE < 9 + var propertyChangeUnbound = false; + $searchInput.on('propertychange', function(e) { + if (e.originalEvent.propertyName == 'value') { + handleUpdate(); + } + }); + + // HTML5 (IE9 & others) + $searchInput.on('input', function(e) { + // Unbind propertychange event for IE9+ + if (!propertyChangeUnbound) { + $(this).unbind('propertychange'); + propertyChangeUnbound = true; + } + + handleUpdate(); + }); + + // Push to history on blur + $searchInput.on('blur', function(e) { + // Update history state + if (usePushState) { + var uri = updateQueryString('q', $(this).val()); + history.pushState({ path: uri }, null, uri); + } + }); + } + + gitbook.events.on('page.change', function() { + bindSearch(); + closeSearch(); + + // Launch search based on query parameter + if (gitbook.search.isInitialized()) { + launchSearchFromQueryString(); + } + }); + + gitbook.events.on('search.ready', function() { + bindSearch(); + + // Launch search from query param at start + launchSearchFromQueryString(); + }); + + function getParameterByName(name) { + var url = window.location.href; + name = name.replace(/[\[\]]/g, '\\$&'); + var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)', 'i'), + results = regex.exec(url); + if (!results) return null; + if (!results[2]) return ''; + return decodeURIComponent(results[2].replace(/\+/g, ' ')); + } + + function updateQueryString(key, value) { + value = encodeURIComponent(value); + + var url = window.location.href; + var re = new RegExp('([?&])' + key + '=.*?(&|#|$)(.*)', 'gi'), + hash; + + if (re.test(url)) { + if (typeof value !== 'undefined' && value !== null) + return url.replace(re, '$1' + key + '=' + value + '$2$3'); + else { + hash = url.split('#'); + url = hash[0].replace(re, '$1$3').replace(/(&|\?)$/, ''); + if (typeof hash[1] !== 'undefined' && hash[1] !== null) + url += '#' + hash[1]; + return url; + } + } + else { + if (typeof value !== 'undefined' && value !== null) { + var separator = url.indexOf('?') !== -1 ? '&' : '?'; + hash = url.split('#'); + url = hash[0] + separator + key + '=' + value; + if (typeof hash[1] !== 'undefined' && hash[1] !== null) + url += '#' + hash[1]; + return url; + } + else + return url; + } + } +}); diff --git a/socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-sharing/buttons.js b/socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-sharing/buttons.js new file mode 100644 index 0000000..709a4e4 --- /dev/null +++ b/socket/node_modules/pillarjs/_book/gitbook/gitbook-plugin-sharing/buttons.js @@ -0,0 +1,90 @@ +require(['gitbook', 'jquery'], function(gitbook, $) { + var SITES = { + 'facebook': { + 'label': 'Facebook', + 'icon': 'fa fa-facebook', + 'onClick': function(e) { + e.preventDefault(); + window.open('http://www.facebook.com/sharer/sharer.php?s=100&p[url]='+encodeURIComponent(location.href)); + } + }, + 'twitter': { + 'label': 'Twitter', + 'icon': 'fa fa-twitter', + 'onClick': function(e) { + e.preventDefault(); + window.open('http://twitter.com/home?status='+encodeURIComponent(document.title+' '+location.href)); + } + }, + 'google': { + 'label': 'Google+', + 'icon': 'fa fa-google-plus', + 'onClick': function(e) { + e.preventDefault(); + window.open('https://plus.google.com/share?url='+encodeURIComponent(location.href)); + } + }, + 'weibo': { + 'label': 'Weibo', + 'icon': 'fa fa-weibo', + 'onClick': function(e) { + e.preventDefault(); + window.open('http://service.weibo.com/share/share.php?content=utf-8&url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title)); + } + }, + 'instapaper': { + 'label': 'Instapaper', + 'icon': 'fa fa-instapaper', + 'onClick': function(e) { + e.preventDefault(); + window.open('http://www.instapaper.com/text?u='+encodeURIComponent(location.href)); + } + }, + 'vk': { + 'label': 'VK', + 'icon': 'fa fa-vk', + 'onClick': function(e) { + e.preventDefault(); + window.open('http://vkontakte.ru/share.php?url='+encodeURIComponent(location.href)); + } + } + }; + + + + gitbook.events.bind('start', function(e, config) { + var opts = config.sharing; + + // Create dropdown menu + var menu = $.map(opts.all, function(id) { + var site = SITES[id]; + + return { + text: site.label, + onClick: site.onClick + }; + }); + + // Create main button with dropdown + if (menu.length > 0) { + gitbook.toolbar.createButton({ + icon: 'fa fa-share-alt', + label: 'Share', + position: 'right', + dropdown: [menu] + }); + } + + // Direct actions to share + $.each(SITES, function(sideId, site) { + if (!opts[sideId]) return; + + gitbook.toolbar.createButton({ + icon: site.icon, + label: site.text, + position: 'right', + onClick: site.onClick + }); + }); + }); +}); diff --git a/socket/node_modules/pillarjs/_book/gitbook/gitbook.js b/socket/node_modules/pillarjs/_book/gitbook/gitbook.js new file mode 100644 index 0000000..13077b4 --- /dev/null +++ b/socket/node_modules/pillarjs/_book/gitbook/gitbook.js @@ -0,0 +1,4 @@ +!function e(t,n,r){function o(s,a){if(!n[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(i)return i(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[s]={exports:{}};t[s][0].call(l.exports,function(e){var n=t[s][1][e];return o(n?n:e)},l,l.exports,e,t,n,r)}return n[s].exports}for(var i="function"==typeof require&&require,s=0;s0&&t-1 in e)}function o(e,t,n){return de.isFunction(t)?de.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?de.grep(e,function(e){return e===t!==n}):"string"!=typeof t?de.grep(e,function(e){return se.call(t,e)>-1!==n}):je.test(t)?de.filter(t,e,n):(t=de.filter(t,e),de.grep(e,function(e){return se.call(t,e)>-1!==n&&1===e.nodeType}))}function i(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function s(e){var t={};return de.each(e.match(qe)||[],function(e,n){t[n]=!0}),t}function a(e){return e}function u(e){throw e}function c(e,t,n){var r;try{e&&de.isFunction(r=e.promise)?r.call(e).done(t).fail(n):e&&de.isFunction(r=e.then)?r.call(e,t,n):t.call(void 0,e)}catch(e){n.call(void 0,e)}}function l(){te.removeEventListener("DOMContentLoaded",l),e.removeEventListener("load",l),de.ready()}function f(){this.expando=de.expando+f.uid++}function p(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Ie.test(e)?JSON.parse(e):e)}function h(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Pe,"-$&").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n=p(n)}catch(e){}Re.set(e,t,n)}else n=void 0;return n}function d(e,t,n,r){var o,i=1,s=20,a=r?function(){return r.cur()}:function(){return de.css(e,t,"")},u=a(),c=n&&n[3]||(de.cssNumber[t]?"":"px"),l=(de.cssNumber[t]||"px"!==c&&+u)&&$e.exec(de.css(e,t));if(l&&l[3]!==c){c=c||l[3],n=n||[],l=+u||1;do i=i||".5",l/=i,de.style(e,t,l+c);while(i!==(i=a()/u)&&1!==i&&--s)}return n&&(l=+l||+u||0,o=n[1]?l+(n[1]+1)*n[2]:+n[2],r&&(r.unit=c,r.start=l,r.end=o)),o}function g(e){var t,n=e.ownerDocument,r=e.nodeName,o=Ue[r];return o?o:(t=n.body.appendChild(n.createElement(r)),o=de.css(t,"display"),t.parentNode.removeChild(t),"none"===o&&(o="block"),Ue[r]=o,o)}function m(e,t){for(var n,r,o=[],i=0,s=e.length;i-1)o&&o.push(i);else if(c=de.contains(i.ownerDocument,i),s=v(f.appendChild(i),"script"),c&&y(s),n)for(l=0;i=s[l++];)Ve.test(i.type||"")&&n.push(i);return f}function b(){return!0}function w(){return!1}function T(){try{return te.activeElement}catch(e){}}function C(e,t,n,r,o,i){var s,a;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(a in t)C(e,a,n,r,t[a],i);return e}if(null==r&&null==o?(o=n,r=n=void 0):null==o&&("string"==typeof n?(o=r,r=void 0):(o=r,r=n,n=void 0)),o===!1)o=w;else if(!o)return e;return 1===i&&(s=o,o=function(e){return de().off(e),s.apply(this,arguments)},o.guid=s.guid||(s.guid=de.guid++)),e.each(function(){de.event.add(this,t,o,r,n)})}function j(e,t){return de.nodeName(e,"table")&&de.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e:e}function k(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function E(e){var t=rt.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function S(e,t){var n,r,o,i,s,a,u,c;if(1===t.nodeType){if(Fe.hasData(e)&&(i=Fe.access(e),s=Fe.set(t,i),c=i.events)){delete s.handle,s.events={};for(o in c)for(n=0,r=c[o].length;n1&&"string"==typeof d&&!pe.checkClone&&nt.test(d))return e.each(function(n){var i=e.eq(n);g&&(t[0]=d.call(this,n,i.html())),A(i,t,r,o)});if(p&&(i=x(t,e[0].ownerDocument,!1,e,o),s=i.firstChild,1===i.childNodes.length&&(i=s),s||o)){for(a=de.map(v(i,"script"),k),u=a.length;f=0&&nC.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[$]=!0,e}function o(e){var t=L.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function i(e,t){for(var n=e.split("|"),r=n.length;r--;)C.attrHandle[n[r]]=t}function s(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function a(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return function(t){return"form"in t?t.parentNode&&t.disabled===!1?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&je(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function l(e){return r(function(t){return t=+t,r(function(n,r){for(var o,i=e([],n.length,t),s=i.length;s--;)n[o=i[s]]&&(n[o]=!(r[o]=n[o]))})})}function f(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function p(){}function h(e){for(var t=0,n=e.length,r="";t1?function(t,n,r){for(var o=e.length;o--;)if(!e[o](t,n,r))return!1;return!0}:e[0]}function m(e,n,r){for(var o=0,i=n.length;o-1&&(r[c]=!(s[c]=f))}}else x=v(x===s?x.splice(d,x.length):x),i?i(null,s,x,u):K.apply(s,x)})}function x(e){for(var t,n,r,o=e.length,i=C.relative[e[0].type],s=i||C.relative[" "],a=i?1:0,u=d(function(e){return e===t},s,!0),c=d(function(e){return ee(t,e)>-1},s,!0),l=[function(e,n,r){var o=!i&&(r||n!==A)||((t=n).nodeType?u(e,n,r):c(e,n,r));return t=null,o}];a1&&g(l),a>1&&h(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(ae,"$1"),n,a0,i=e.length>0,s=function(r,s,a,u,c){var l,f,p,h=0,d="0",g=r&&[],m=[],y=A,x=r||i&&C.find.TAG("*",c),b=B+=null==y?1:Math.random()||.1,w=x.length;for(c&&(A=s===L||s||c);d!==w&&null!=(l=x[d]);d++){if(i&&l){for(f=0,s||l.ownerDocument===L||(O(l),a=!F);p=e[f++];)if(p(l,s||L,a)){u.push(l);break}c&&(B=b)}o&&((l=!p&&l)&&h--,r&&g.push(l))}if(h+=d,o&&d!==h){for(f=0;p=n[f++];)p(g,m,s,a);if(r){if(h>0)for(;d--;)g[d]||m[d]||(m[d]=Q.call(u));m=v(m)}K.apply(u,m),c&&!r&&m.length>0&&h+n.length>1&&t.uniqueSort(u)}return c&&(B=b,A=y),g};return o?r(s):s}var w,T,C,j,k,E,S,N,A,q,D,O,L,H,F,R,I,P,M,$="sizzle"+1*new Date,W=e.document,B=0,_=0,U=n(),z=n(),X=n(),V=function(e,t){return e===t&&(D=!0),0},G={}.hasOwnProperty,Y=[],Q=Y.pop,J=Y.push,K=Y.push,Z=Y.slice,ee=function(e,t){for(var n=0,r=e.length;n+~]|"+ne+")"+ne+"*"),le=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),fe=new RegExp(ie),pe=new RegExp("^"+re+"$"),he={ID:new RegExp("^#("+re+")"),CLASS:new RegExp("^\\.("+re+")"),TAG:new RegExp("^("+re+"|[*])"),ATTR:new RegExp("^"+oe),PSEUDO:new RegExp("^"+ie),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},de=/^(?:input|select|textarea|button)$/i,ge=/^h\d$/i,me=/^[^{]+\{\s*\[native \w/,ve=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ye=/[+~]/,xe=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),be=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},we=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,Te=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},Ce=function(){O()},je=d(function(e){return e.disabled===!0&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{K.apply(Y=Z.call(W.childNodes),W.childNodes),Y[W.childNodes.length].nodeType}catch(e){K={apply:Y.length?function(e,t){J.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}T=t.support={},k=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},O=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:W;return r!==L&&9===r.nodeType&&r.documentElement?(L=r,H=L.documentElement,F=!k(L),W!==L&&(n=L.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Ce,!1):n.attachEvent&&n.attachEvent("onunload",Ce)),T.attributes=o(function(e){return e.className="i",!e.getAttribute("className")}),T.getElementsByTagName=o(function(e){return e.appendChild(L.createComment("")),!e.getElementsByTagName("*").length}),T.getElementsByClassName=me.test(L.getElementsByClassName),T.getById=o(function(e){return H.appendChild(e).id=$,!L.getElementsByName||!L.getElementsByName($).length}),T.getById?(C.filter.ID=function(e){var t=e.replace(xe,be);return function(e){return e.getAttribute("id")===t}},C.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&F){var n=t.getElementById(e);return n?[n]:[]}}):(C.filter.ID=function(e){var t=e.replace(xe,be);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},C.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&F){var n,r,o,i=t.getElementById(e);if(i){if(n=i.getAttributeNode("id"),n&&n.value===e)return[i];for(o=t.getElementsByName(e),r=0;i=o[r++];)if(n=i.getAttributeNode("id"),n&&n.value===e)return[i]}return[]}}),C.find.TAG=T.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):T.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],o=0,i=t.getElementsByTagName(e);if("*"===e){for(;n=i[o++];)1===n.nodeType&&r.push(n);return r}return i},C.find.CLASS=T.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&F)return t.getElementsByClassName(e)},I=[],R=[],(T.qsa=me.test(L.querySelectorAll))&&(o(function(e){H.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&R.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||R.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+$+"-]").length||R.push("~="),e.querySelectorAll(":checked").length||R.push(":checked"),e.querySelectorAll("a#"+$+"+*").length||R.push(".#.+[+~]")}),o(function(e){e.innerHTML="";var t=L.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&R.push("name"+ne+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&R.push(":enabled",":disabled"),H.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&R.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),R.push(",.*:")})),(T.matchesSelector=me.test(P=H.matches||H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&o(function(e){T.disconnectedMatch=P.call(e,"*"),P.call(e,"[s!='']:x"),I.push("!=",ie)}),R=R.length&&new RegExp(R.join("|")),I=I.length&&new RegExp(I.join("|")),t=me.test(H.compareDocumentPosition),M=t||me.test(H.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},V=t?function(e,t){if(e===t)return D=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!T.sortDetached&&t.compareDocumentPosition(e)===n?e===L||e.ownerDocument===W&&M(W,e)?-1:t===L||t.ownerDocument===W&&M(W,t)?1:q?ee(q,e)-ee(q,t):0:4&n?-1:1)}:function(e,t){if(e===t)return D=!0,0;var n,r=0,o=e.parentNode,i=t.parentNode,a=[e],u=[t];if(!o||!i)return e===L?-1:t===L?1:o?-1:i?1:q?ee(q,e)-ee(q,t):0;if(o===i)return s(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;a[r]===u[r];)r++;return r?s(a[r],u[r]):a[r]===W?-1:u[r]===W?1:0},L):L},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==L&&O(e),n=n.replace(le,"='$1']"),T.matchesSelector&&F&&!X[n+" "]&&(!I||!I.test(n))&&(!R||!R.test(n)))try{var r=P.call(e,n);if(r||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return t(n,L,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==L&&O(e),M(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==L&&O(e);var n=C.attrHandle[t.toLowerCase()],r=n&&G.call(C.attrHandle,t.toLowerCase())?n(e,t,!F):void 0;return void 0!==r?r:T.attributes||!F?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.escape=function(e){return(e+"").replace(we,Te)},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,o=0;if(D=!T.detectDuplicates,q=!T.sortStable&&e.slice(0),e.sort(V),D){for(;t=e[o++];)t===e[o]&&(r=n.push(o));for(;r--;)e.splice(n[r],1)}return q=null,e},j=t.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=j(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=j(t);return n},C=t.selectors={cacheLength:50,createPseudo:r,match:he,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(xe,be),e[3]=(e[3]||e[4]||e[5]||"").replace(xe,be),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return he.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&fe.test(n)&&(t=E(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(xe,be).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=U[e+" "];return t||(t=new RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&U(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(o){var i=t.attr(o,e);return null==i?"!="===n:!n||(i+="","="===n?i===r:"!="===n?i!==r:"^="===n?r&&0===i.indexOf(r):"*="===n?r&&i.indexOf(r)>-1:"$="===n?r&&i.slice(-r.length)===r:"~="===n?(" "+i.replace(se," ")+" ").indexOf(r)>-1:"|="===n&&(i===r||i.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,o){var i="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===o?function(e){return!!e.parentNode}:function(t,n,u){var c,l,f,p,h,d,g=i!==s?"nextSibling":"previousSibling",m=t.parentNode,v=a&&t.nodeName.toLowerCase(),y=!u&&!a,x=!1;if(m){if(i){for(;g;){for(p=t;p=p[g];)if(a?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;d=g="only"===e&&!d&&"nextSibling"}return!0}if(d=[s?m.firstChild:m.lastChild],s&&y){for(p=m,f=p[$]||(p[$]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),c=l[e]||[],h=c[0]===B&&c[1],x=h&&c[2],p=h&&m.childNodes[h];p=++h&&p&&p[g]||(x=h=0)||d.pop();)if(1===p.nodeType&&++x&&p===t){l[e]=[B,h,x];break}}else if(y&&(p=t,f=p[$]||(p[$]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),c=l[e]||[],h=c[0]===B&&c[1],x=h),x===!1)for(;(p=++h&&p&&p[g]||(x=h=0)||d.pop())&&((a?p.nodeName.toLowerCase()!==v:1!==p.nodeType)||!++x||(y&&(f=p[$]||(p[$]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),l[e]=[B,x]),p!==t)););return x-=o,x===r||x%r===0&&x/r>=0}}},PSEUDO:function(e,n){var o,i=C.pseudos[e]||C.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return i[$]?i(n):i.length>1?(o=[e,e,"",n],C.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,o=i(e,n),s=o.length;s--;)r=ee(e,o[s]),e[r]=!(t[r]=o[s])}):function(e){return i(e,0,o)}):i}},pseudos:{not:r(function(e){var t=[],n=[],o=S(e.replace(ae,"$1"));return o[$]?r(function(e,t,n,r){for(var i,s=o(e,null,r,[]),a=e.length;a--;)(i=s[a])&&(e[a]=!(t[a]=i))}):function(e,r,i){return t[0]=e,o(t,null,i,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){ +return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(xe,be),function(t){return(t.textContent||t.innerText||j(t)).indexOf(e)>-1}}),lang:r(function(e){return pe.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(xe,be).toLowerCase(),function(t){var n;do if(n=F?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===H},focus:function(e){return e===L.activeElement&&(!L.hasFocus||L.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:c(!1),disabled:c(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!C.pseudos.empty(e)},header:function(e){return ge.test(e.nodeName)},input:function(e){return de.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:l(function(){return[0]}),last:l(function(e,t){return[t-1]}),eq:l(function(e,t,n){return[n<0?n+t:n]}),even:l(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:l(function(e,t,n){for(var r=n<0?n+t:n;++r2&&"ID"===(s=i[0]).type&&9===t.nodeType&&F&&C.relative[i[1].type]){if(t=(C.find.ID(s.matches[0].replace(xe,be),t)||[])[0],!t)return n;c&&(t=t.parentNode),e=e.slice(i.shift().value.length)}for(o=he.needsContext.test(e)?0:i.length;o--&&(s=i[o],!C.relative[a=s.type]);)if((u=C.find[a])&&(r=u(s.matches[0].replace(xe,be),ye.test(i[0].type)&&f(t.parentNode)||t))){if(i.splice(o,1),e=r.length&&h(i),!e)return K.apply(n,r),n;break}}return(c||S(e,l))(r,t,!F,n,!t||ye.test(e)&&f(t.parentNode)||t),n},T.sortStable=$.split("").sort(V).join("")===$,T.detectDuplicates=!!D,O(),T.sortDetached=o(function(e){return 1&e.compareDocumentPosition(L.createElement("fieldset"))}),o(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||i("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),T.attributes&&o(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||i("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),o(function(e){return null==e.getAttribute("disabled")})||i(te,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);de.find=xe,de.expr=xe.selectors,de.expr[":"]=de.expr.pseudos,de.uniqueSort=de.unique=xe.uniqueSort,de.text=xe.getText,de.isXMLDoc=xe.isXML,de.contains=xe.contains,de.escapeSelector=xe.escape;var be=function(e,t,n){for(var r=[],o=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(o&&de(e).is(n))break;r.push(e)}return r},we=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},Te=de.expr.match.needsContext,Ce=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,je=/^.[^:#\[\.,]*$/;de.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?de.find.matchesSelector(r,e)?[r]:[]:de.find.matches(e,de.grep(t,function(e){return 1===e.nodeType}))},de.fn.extend({find:function(e){var t,n,r=this.length,o=this;if("string"!=typeof e)return this.pushStack(de(e).filter(function(){for(t=0;t1?de.uniqueSort(n):n},filter:function(e){return this.pushStack(o(this,e||[],!1))},not:function(e){return this.pushStack(o(this,e||[],!0))},is:function(e){return!!o(this,"string"==typeof e&&Te.test(e)?de(e):e||[],!1).length}});var ke,Ee=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,Se=de.fn.init=function(e,t,n){var r,o;if(!e)return this;if(n=n||ke,"string"==typeof e){if(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:Ee.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof de?t[0]:t,de.merge(this,de.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:te,!0)),Ce.test(r[1])&&de.isPlainObject(t))for(r in t)de.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return o=te.getElementById(r[2]),o&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):de.isFunction(e)?void 0!==n.ready?n.ready(e):e(de):de.makeArray(e,this)};Se.prototype=de.fn,ke=de(te);var Ne=/^(?:parents|prev(?:Until|All))/,Ae={children:!0,contents:!0,next:!0,prev:!0};de.fn.extend({has:function(e){var t=de(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&de.find.matchesSelector(n,e))){i.push(n);break}return this.pushStack(i.length>1?de.uniqueSort(i):i)},index:function(e){return e?"string"==typeof e?se.call(de(e),this[0]):se.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(de.uniqueSort(de.merge(this.get(),de(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),de.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return be(e,"parentNode")},parentsUntil:function(e,t,n){return be(e,"parentNode",n)},next:function(e){return i(e,"nextSibling")},prev:function(e){return i(e,"previousSibling")},nextAll:function(e){return be(e,"nextSibling")},prevAll:function(e){return be(e,"previousSibling")},nextUntil:function(e,t,n){return be(e,"nextSibling",n)},prevUntil:function(e,t,n){return be(e,"previousSibling",n)},siblings:function(e){return we((e.parentNode||{}).firstChild,e)},children:function(e){return we(e.firstChild)},contents:function(e){return e.contentDocument||de.merge([],e.childNodes)}},function(e,t){de.fn[e]=function(n,r){var o=de.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(o=de.filter(r,o)),this.length>1&&(Ae[e]||de.uniqueSort(o),Ne.test(e)&&o.reverse()),this.pushStack(o)}});var qe=/[^\x20\t\r\n\f]+/g;de.Callbacks=function(e){e="string"==typeof e?s(e):de.extend({},e);var t,n,r,o,i=[],a=[],u=-1,c=function(){for(o=e.once,r=t=!0;a.length;u=-1)for(n=a.shift();++u-1;)i.splice(n,1),n<=u&&u--}),this},has:function(e){return e?de.inArray(e,i)>-1:i.length>0},empty:function(){return i&&(i=[]),this},disable:function(){return o=a=[],i=n="",this},disabled:function(){return!i},lock:function(){return o=a=[],n||t||(i=n=""),this},locked:function(){return!!o},fireWith:function(e,n){return o||(n=n||[],n=[e,n.slice?n.slice():n],a.push(n),t||c()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},de.extend({Deferred:function(t){var n=[["notify","progress",de.Callbacks("memory"),de.Callbacks("memory"),2],["resolve","done",de.Callbacks("once memory"),de.Callbacks("once memory"),0,"resolved"],["reject","fail",de.Callbacks("once memory"),de.Callbacks("once memory"),1,"rejected"]],r="pending",o={state:function(){return r},always:function(){return i.done(arguments).fail(arguments),this},catch:function(e){return o.then(null,e)},pipe:function(){var e=arguments;return de.Deferred(function(t){de.each(n,function(n,r){var o=de.isFunction(e[r[4]])&&e[r[4]];i[r[1]](function(){var e=o&&o.apply(this,arguments);e&&de.isFunction(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,o?[e]:arguments)})}),e=null}).promise()},then:function(t,r,o){function i(t,n,r,o){return function(){var c=this,l=arguments,f=function(){var e,f;if(!(t=s&&(r!==u&&(c=void 0,l=[e]),n.rejectWith(c,l))}};t?p():(de.Deferred.getStackHook&&(p.stackTrace=de.Deferred.getStackHook()),e.setTimeout(p))}}var s=0;return de.Deferred(function(e){n[0][3].add(i(0,e,de.isFunction(o)?o:a,e.notifyWith)),n[1][3].add(i(0,e,de.isFunction(t)?t:a)),n[2][3].add(i(0,e,de.isFunction(r)?r:u))}).promise()},promise:function(e){return null!=e?de.extend(e,o):o}},i={};return de.each(n,function(e,t){var s=t[2],a=t[5];o[t[1]]=s.add,a&&s.add(function(){r=a},n[3-e][2].disable,n[0][2].lock),s.add(t[3].fire),i[t[0]]=function(){return i[t[0]+"With"](this===i?void 0:this,arguments),this},i[t[0]+"With"]=s.fireWith}),o.promise(i),t&&t.call(i,i),i},when:function(e){var t=arguments.length,n=t,r=Array(n),o=re.call(arguments),i=de.Deferred(),s=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?re.call(arguments):n,--t||i.resolveWith(r,o)}};if(t<=1&&(c(e,i.done(s(n)).resolve,i.reject),"pending"===i.state()||de.isFunction(o[n]&&o[n].then)))return i.then();for(;n--;)c(o[n],s(n),i.reject);return i.promise()}});var De=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;de.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&De.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},de.readyException=function(t){e.setTimeout(function(){throw t})};var Oe=de.Deferred();de.fn.ready=function(e){return Oe.then(e).catch(function(e){de.readyException(e)}),this},de.extend({isReady:!1,readyWait:1,holdReady:function(e){e?de.readyWait++:de.ready(!0)},ready:function(e){(e===!0?--de.readyWait:de.isReady)||(de.isReady=!0,e!==!0&&--de.readyWait>0||Oe.resolveWith(te,[de]))}}),de.ready.then=Oe.then,"complete"===te.readyState||"loading"!==te.readyState&&!te.documentElement.doScroll?e.setTimeout(de.ready):(te.addEventListener("DOMContentLoaded",l),e.addEventListener("load",l));var Le=function(e,t,n,r,o,i,s){var a=0,u=e.length,c=null==n;if("object"===de.type(n)){o=!0;for(a in n)Le(e,t,a,n[a],!0,i,s)}else if(void 0!==r&&(o=!0,de.isFunction(r)||(s=!0),c&&(s?(t.call(e,r),t=null):(c=t,t=function(e,t,n){return c.call(de(e),n)})),t))for(;a1,null,!0)},removeData:function(e){return this.each(function(){Re.remove(this,e)})}}),de.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Fe.get(e,t),n&&(!r||de.isArray(n)?r=Fe.access(e,t,de.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=de.queue(e,t),r=n.length,o=n.shift(),i=de._queueHooks(e,t),s=function(){de.dequeue(e,t)};"inprogress"===o&&(o=n.shift(),r--),o&&("fx"===t&&n.unshift("inprogress"),delete i.stop,o.call(e,s,i)),!r&&i&&i.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Fe.get(e,n)||Fe.access(e,n,{empty:de.Callbacks("once memory").add(function(){Fe.remove(e,[t+"queue",n])})})}}),de.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,Ve=/^$|\/(?:java|ecma)script/i,Ge={option:[1,""],thead:[1,"","
              "],col:[2,"","
              "],tr:[2,"","
              "],td:[3,"","
              "],_default:[0,"",""]};Ge.optgroup=Ge.option,Ge.tbody=Ge.tfoot=Ge.colgroup=Ge.caption=Ge.thead,Ge.th=Ge.td;var Ye=/<|&#?\w+;/;!function(){var e=te.createDocumentFragment(),t=e.appendChild(te.createElement("div")),n=te.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),pe.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="",pe.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var Qe=te.documentElement,Je=/^key/,Ke=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ze=/^([^.]*)(?:\.(.+)|)/;de.event={global:{},add:function(e,t,n,r,o){var i,s,a,u,c,l,f,p,h,d,g,m=Fe.get(e);if(m)for(n.handler&&(i=n,n=i.handler,o=i.selector),o&&de.find.matchesSelector(Qe,o),n.guid||(n.guid=de.guid++),(u=m.events)||(u=m.events={}),(s=m.handle)||(s=m.handle=function(t){return"undefined"!=typeof de&&de.event.triggered!==t.type?de.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(qe)||[""],c=t.length;c--;)a=Ze.exec(t[c])||[],h=g=a[1],d=(a[2]||"").split(".").sort(),h&&(f=de.event.special[h]||{},h=(o?f.delegateType:f.bindType)||h,f=de.event.special[h]||{},l=de.extend({type:h,origType:g,data:r,handler:n,guid:n.guid,selector:o,needsContext:o&&de.expr.match.needsContext.test(o),namespace:d.join(".")},i),(p=u[h])||(p=u[h]=[],p.delegateCount=0,f.setup&&f.setup.call(e,r,d,s)!==!1||e.addEventListener&&e.addEventListener(h,s)),f.add&&(f.add.call(e,l),l.handler.guid||(l.handler.guid=n.guid)),o?p.splice(p.delegateCount++,0,l):p.push(l),de.event.global[h]=!0)},remove:function(e,t,n,r,o){var i,s,a,u,c,l,f,p,h,d,g,m=Fe.hasData(e)&&Fe.get(e);if(m&&(u=m.events)){for(t=(t||"").match(qe)||[""],c=t.length;c--;)if(a=Ze.exec(t[c])||[],h=g=a[1],d=(a[2]||"").split(".").sort(),h){for(f=de.event.special[h]||{},h=(r?f.delegateType:f.bindType)||h,p=u[h]||[],a=a[2]&&new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=i=p.length;i--;)l=p[i],!o&&g!==l.origType||n&&n.guid!==l.guid||a&&!a.test(l.namespace)||r&&r!==l.selector&&("**"!==r||!l.selector)||(p.splice(i,1),l.selector&&p.delegateCount--,f.remove&&f.remove.call(e,l));s&&!p.length&&(f.teardown&&f.teardown.call(e,d,m.handle)!==!1||de.removeEvent(e,h,m.handle),delete u[h])}else for(h in u)de.event.remove(e,h+t[c],n,r,!0);de.isEmptyObject(u)&&Fe.remove(e,"handle events")}},dispatch:function(e){var t,n,r,o,i,s,a=de.event.fix(e),u=new Array(arguments.length),c=(Fe.get(this,"events")||{})[a.type]||[],l=de.event.special[a.type]||{};for(u[0]=a,t=1;t=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||c.disabled!==!0)){for(i=[],s={},n=0;n-1:de.find(o,this,null,[c]).length),s[o]&&i.push(r);i.length&&a.push({elem:c,handlers:i})}return c=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,tt=/\s*$/g;de.extend({htmlPrefilter:function(e){return e.replace(et,"<$1>")},clone:function(e,t,n){var r,o,i,s,a=e.cloneNode(!0),u=de.contains(e.ownerDocument,e);if(!(pe.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||de.isXMLDoc(e)))for(s=v(a),i=v(e),r=0,o=i.length;r0&&y(s,!u&&v(e,"script")),a},cleanData:function(e){for(var t,n,r,o=de.event.special,i=0;void 0!==(n=e[i]);i++)if(He(n)){if(t=n[Fe.expando]){if(t.events)for(r in t.events)o[r]?de.event.remove(n,r):de.removeEvent(n,r,t.handle);n[Fe.expando]=void 0}n[Re.expando]&&(n[Re.expando]=void 0)}}}),de.fn.extend({detach:function(e){return q(this,e,!0)},remove:function(e){return q(this,e)},text:function(e){return Le(this,function(e){return void 0===e?de.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return A(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=j(this,e);t.appendChild(e)}})},prepend:function(){return A(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=j(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return A(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return A(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(de.cleanData(v(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return de.clone(this,e,t)})},html:function(e){return Le(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!tt.test(e)&&!Ge[(Xe.exec(e)||["",""])[1].toLowerCase()]){e=de.htmlPrefilter(e);try{for(;n1)}}),de.Tween=I,I.prototype={constructor:I,init:function(e,t,n,r,o,i){this.elem=e,this.prop=n,this.easing=o||de.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=i||(de.cssNumber[n]?"":"px")},cur:function(){var e=I.propHooks[this.prop];return e&&e.get?e.get(this):I.propHooks._default.get(this)},run:function(e){var t,n=I.propHooks[this.prop];return this.options.duration?this.pos=t=de.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):I.propHooks._default.set(this),this}},I.prototype.init.prototype=I.prototype,I.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=de.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){de.fx.step[e.prop]?de.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[de.cssProps[e.prop]]&&!de.cssHooks[e.prop]?e.elem[e.prop]=e.now:de.style(e.elem,e.prop,e.now+e.unit)}}},I.propHooks.scrollTop=I.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},de.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},de.fx=I.prototype.init,de.fx.step={};var ht,dt,gt=/^(?:toggle|show|hide)$/,mt=/queueHooks$/;de.Animation=de.extend(U,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return d(n.elem,e,$e.exec(t),n),n}]},tweener:function(e,t){de.isFunction(e)?(t=e,e=["*"]):e=e.match(qe);for(var n,r=0,o=e.length;r1)},removeAttr:function(e){return this.each(function(){de.removeAttr(this,e)})}}),de.extend({attr:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return"undefined"==typeof e.getAttribute?de.prop(e,t,n):(1===i&&de.isXMLDoc(e)||(o=de.attrHooks[t.toLowerCase()]||(de.expr.match.bool.test(t)?vt:void 0)),void 0!==n?null===n?void de.removeAttr(e,t):o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:(e.setAttribute(t,n+""),n):o&&"get"in o&&null!==(r=o.get(e,t))?r:(r=de.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!pe.radioValue&&"radio"===t&&de.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,o=t&&t.match(qe);if(o&&1===e.nodeType)for(;n=o[r++];)e.removeAttribute(n)}}),vt={set:function(e,t,n){return t===!1?de.removeAttr(e,n):e.setAttribute(n,n),n}},de.each(de.expr.match.bool.source.match(/\w+/g),function(e,t){var n=yt[t]||de.find.attr;yt[t]=function(e,t,r){var o,i,s=t.toLowerCase();return r||(i=yt[s],yt[s]=o,o=null!=n(e,t,r)?s:null,yt[s]=i),o}});var xt=/^(?:input|select|textarea|button)$/i,bt=/^(?:a|area)$/i;de.fn.extend({prop:function(e,t){return Le(this,de.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[de.propFix[e]||e]})}}),de.extend({prop:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return 1===i&&de.isXMLDoc(e)||(t=de.propFix[t]||t,o=de.propHooks[t]),void 0!==n?o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:e[t]=n:o&&"get"in o&&null!==(r=o.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=de.find.attr(e,"tabindex");return t?parseInt(t,10):xt.test(e.nodeName)||bt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),pe.optSelected||(de.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),de.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){de.propFix[this.toLowerCase()]=this}),de.fn.extend({addClass:function(e){var t,n,r,o,i,s,a,u=0;if(de.isFunction(e))return this.each(function(t){de(this).addClass(e.call(this,t,X(this)))});if("string"==typeof e&&e)for(t=e.match(qe)||[];n=this[u++];)if(o=X(n),r=1===n.nodeType&&" "+z(o)+" "){for(s=0;i=t[s++];)r.indexOf(" "+i+" ")<0&&(r+=i+" ");a=z(r),o!==a&&n.setAttribute("class",a)}return this},removeClass:function(e){var t,n,r,o,i,s,a,u=0;if(de.isFunction(e))return this.each(function(t){de(this).removeClass(e.call(this,t,X(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(qe)||[];n=this[u++];)if(o=X(n),r=1===n.nodeType&&" "+z(o)+" "){for(s=0;i=t[s++];)for(;r.indexOf(" "+i+" ")>-1;)r=r.replace(" "+i+" "," ");a=z(r),o!==a&&n.setAttribute("class",a)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):de.isFunction(e)?this.each(function(n){de(this).toggleClass(e.call(this,n,X(this),t),t)}):this.each(function(){var t,r,o,i;if("string"===n)for(r=0,o=de(this),i=e.match(qe)||[];t=i[r++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||(t=X(this),t&&Fe.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||e===!1?"":Fe.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+z(X(n))+" ").indexOf(t)>-1)return!0;return!1}});var wt=/\r/g;de.fn.extend({val:function(e){var t,n,r,o=this[0];{if(arguments.length)return r=de.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=r?e.call(this,n,de(this).val()):e,null==o?o="":"number"==typeof o?o+="":de.isArray(o)&&(o=de.map(o,function(e){return null==e?"":e+""})),t=de.valHooks[this.type]||de.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,o,"value")||(this.value=o))});if(o)return t=de.valHooks[o.type]||de.valHooks[o.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(o,"value"))?n:(n=o.value,"string"==typeof n?n.replace(wt,""):null==n?"":n)}}}),de.extend({valHooks:{option:{get:function(e){var t=de.find.attr(e,"value");return null!=t?t:z(de.text(e))}},select:{get:function(e){var t,n,r,o=e.options,i=e.selectedIndex,s="select-one"===e.type,a=s?null:[],u=s?i+1:o.length;for(r=i<0?u:s?i:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),i}}}}),de.each(["radio","checkbox"],function(){de.valHooks[this]={set:function(e,t){if(de.isArray(t))return e.checked=de.inArray(de(e).val(),t)>-1}},pe.checkOn||(de.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Tt=/^(?:focusinfocus|focusoutblur)$/;de.extend(de.event,{trigger:function(t,n,r,o){var i,s,a,u,c,l,f,p=[r||te],h=ce.call(t,"type")?t.type:t,d=ce.call(t,"namespace")?t.namespace.split("."):[];if(s=a=r=r||te,3!==r.nodeType&&8!==r.nodeType&&!Tt.test(h+de.event.triggered)&&(h.indexOf(".")>-1&&(d=h.split("."),h=d.shift(),d.sort()),c=h.indexOf(":")<0&&"on"+h,t=t[de.expando]?t:new de.Event(h,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=d.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:de.makeArray(n,[t]),f=de.event.special[h]||{},o||!f.trigger||f.trigger.apply(r,n)!==!1)){if(!o&&!f.noBubble&&!de.isWindow(r)){for(u=f.delegateType||h,Tt.test(u+h)||(s=s.parentNode);s;s=s.parentNode)p.push(s),a=s;a===(r.ownerDocument||te)&&p.push(a.defaultView||a.parentWindow||e)}for(i=0;(s=p[i++])&&!t.isPropagationStopped();)t.type=i>1?u:f.bindType||h,l=(Fe.get(s,"events")||{})[t.type]&&Fe.get(s,"handle"),l&&l.apply(s,n),l=c&&s[c],l&&l.apply&&He(s)&&(t.result=l.apply(s,n),t.result===!1&&t.preventDefault());return t.type=h,o||t.isDefaultPrevented()||f._default&&f._default.apply(p.pop(),n)!==!1||!He(r)||c&&de.isFunction(r[h])&&!de.isWindow(r)&&(a=r[c],a&&(r[c]=null),de.event.triggered=h,r[h](),de.event.triggered=void 0,a&&(r[c]=a)),t.result}},simulate:function(e,t,n){var r=de.extend(new de.Event,n,{type:e,isSimulated:!0});de.event.trigger(r,null,t)}}),de.fn.extend({trigger:function(e,t){return this.each(function(){de.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return de.event.trigger(e,t,n,!0)}}),de.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){de.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),de.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),pe.focusin="onfocusin"in e,pe.focusin||de.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){de.event.simulate(t,e.target,de.event.fix(e))};de.event.special[t]={setup:function(){var r=this.ownerDocument||this,o=Fe.access(r,t);o||r.addEventListener(e,n,!0),Fe.access(r,t,(o||0)+1)},teardown:function(){var r=this.ownerDocument||this,o=Fe.access(r,t)-1;o?Fe.access(r,t,o):(r.removeEventListener(e,n,!0),Fe.remove(r,t))}}});var Ct=e.location,jt=de.now(),kt=/\?/;de.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||de.error("Invalid XML: "+t),n};var Et=/\[\]$/,St=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;de.param=function(e,t){var n,r=[],o=function(e,t){var n=de.isFunction(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(de.isArray(e)||e.jquery&&!de.isPlainObject(e))de.each(e,function(){o(this.name,this.value)});else for(n in e)V(n,e[n],t,o);return r.join("&")},de.fn.extend({serialize:function(){return de.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=de.prop(this,"elements");return e?de.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!de(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!ze.test(e))}).map(function(e,t){var n=de(this).val();return null==n?null:de.isArray(n)?de.map(n,function(e){return{name:t.name,value:e.replace(St,"\r\n")}}):{name:t.name,value:n.replace(St,"\r\n")}}).get()}});var qt=/%20/g,Dt=/#.*$/,Ot=/([?&])_=[^&]*/,Lt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ht=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ft=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Pt={},Mt="*/".concat("*"),$t=te.createElement("a");$t.href=Ct.href,de.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Ht.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Mt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":de.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Q(Q(e,de.ajaxSettings),t):Q(de.ajaxSettings,e)},ajaxPrefilter:G(It),ajaxTransport:G(Pt),ajax:function(t,n){function r(t,n,r,a){var c,p,h,b,w,T=n;l||(l=!0,u&&e.clearTimeout(u),o=void 0,s=a||"",C.readyState=t>0?4:0,c=t>=200&&t<300||304===t,r&&(b=J(d,C,r)),b=K(d,b,C,c),c?(d.ifModified&&(w=C.getResponseHeader("Last-Modified"),w&&(de.lastModified[i]=w),w=C.getResponseHeader("etag"),w&&(de.etag[i]=w)),204===t||"HEAD"===d.type?T="nocontent":304===t?T="notmodified":(T=b.state,p=b.data,h=b.error,c=!h)):(h=T,!t&&T||(T="error",t<0&&(t=0))),C.status=t,C.statusText=(n||T)+"",c?v.resolveWith(g,[p,T,C]):v.rejectWith(g,[C,T,h]),C.statusCode(x),x=void 0,f&&m.trigger(c?"ajaxSuccess":"ajaxError",[C,d,c?p:h]),y.fireWith(g,[C,T]),f&&(m.trigger("ajaxComplete",[C,d]),--de.active||de.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var o,i,s,a,u,c,l,f,p,h,d=de.ajaxSetup({},n),g=d.context||d,m=d.context&&(g.nodeType||g.jquery)?de(g):de.event,v=de.Deferred(),y=de.Callbacks("once memory"),x=d.statusCode||{},b={},w={},T="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(l){if(!a)for(a={};t=Lt.exec(s);)a[t[1].toLowerCase()]=t[2];t=a[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return l?s:null},setRequestHeader:function(e,t){return null==l&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==l&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)C.always(e[C.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||T;return o&&o.abort(t),r(0,t),this}};if(v.promise(C),d.url=((t||d.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=(d.dataType||"*").toLowerCase().match(qe)||[""],null==d.crossDomain){c=te.createElement("a");try{c.href=d.url,c.href=c.href,d.crossDomain=$t.protocol+"//"+$t.host!=c.protocol+"//"+c.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=de.param(d.data,d.traditional)),Y(It,d,n,C),l)return C;f=de.event&&d.global,f&&0===de.active++&&de.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Ft.test(d.type),i=d.url.replace(Dt,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(qt,"+")):(h=d.url.slice(i.length),d.data&&(i+=(kt.test(i)?"&":"?")+d.data,delete d.data),d.cache===!1&&(i=i.replace(Ot,"$1"),h=(kt.test(i)?"&":"?")+"_="+jt++ +h),d.url=i+h),d.ifModified&&(de.lastModified[i]&&C.setRequestHeader("If-Modified-Since",de.lastModified[i]),de.etag[i]&&C.setRequestHeader("If-None-Match",de.etag[i])),(d.data&&d.hasContent&&d.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",d.contentType),C.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Mt+"; q=0.01":""):d.accepts["*"]);for(p in d.headers)C.setRequestHeader(p,d.headers[p]);if(d.beforeSend&&(d.beforeSend.call(g,C,d)===!1||l))return C.abort();if(T="abort",y.add(d.complete),C.done(d.success),C.fail(d.error),o=Y(Pt,d,n,C)){if(C.readyState=1,f&&m.trigger("ajaxSend",[C,d]),l)return C;d.async&&d.timeout>0&&(u=e.setTimeout(function(){C.abort("timeout")},d.timeout));try{l=!1,o.send(b,r)}catch(e){if(l)throw e;r(-1,e)}}else r(-1,"No Transport");return C},getJSON:function(e,t,n){return de.get(e,t,n,"json")},getScript:function(e,t){return de.get(e,void 0,t,"script")}}),de.each(["get","post"],function(e,t){de[t]=function(e,n,r,o){return de.isFunction(n)&&(o=o||r,r=n,n=void 0),de.ajax(de.extend({url:e,type:t,dataType:o,data:n,success:r},de.isPlainObject(e)&&e))}}),de._evalUrl=function(e){return de.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},de.fn.extend({wrapAll:function(e){var t;return this[0]&&(de.isFunction(e)&&(e=e.call(this[0])),t=de(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return de.isFunction(e)?this.each(function(t){de(this).wrapInner(e.call(this,t))}):this.each(function(){var t=de(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=de.isFunction(e);return this.each(function(n){de(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){de(this).replaceWith(this.childNodes)}),this}}),de.expr.pseudos.hidden=function(e){return!de.expr.pseudos.visible(e)},de.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},de.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Wt={0:200,1223:204},Bt=de.ajaxSettings.xhr();pe.cors=!!Bt&&"withCredentials"in Bt,pe.ajax=Bt=!!Bt,de.ajaxTransport(function(t){var n,r;if(pe.cors||Bt&&!t.crossDomain)return{send:function(o,i){var s,a=t.xhr();if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(s in t.xhrFields)a[s]=t.xhrFields[s];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||o["X-Requested-With"]||(o["X-Requested-With"]="XMLHttpRequest");for(s in o)a.setRequestHeader(s,o[s]);n=function(e){return function(){n&&(n=r=a.onload=a.onerror=a.onabort=a.onreadystatechange=null,"abort"===e?a.abort():"error"===e?"number"!=typeof a.status?i(0,"error"):i(a.status,a.statusText):i(Wt[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=n(),r=a.onerror=n("error"),void 0!==a.onabort?a.onabort=r:a.onreadystatechange=function(){4===a.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{a.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),de.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),de.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return de.globalEval(e),e}}}),de.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),de.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,o){t=de(" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/socket/node_modules/pillarjs/_book/search_index.json b/socket/node_modules/pillarjs/_book/search_index.json new file mode 100644 index 0000000..9da33ab --- /dev/null +++ b/socket/node_modules/pillarjs/_book/search_index.json @@ -0,0 +1 @@ +{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["\"batteri","\"bi","\"h\"","\"plugins\":","\"pragma\":","\"presets\":","\"transform","'closed',","'open'","'pillarjs';","'super","(","(easiest)","({",");","*/",".babelrc",".babelrc:","/**","//","1.","15","2.","3","3.","4.","54","=","=>",">10.1","@jsx","[","[\"pillar\"]","[...],","]","abil","abov","accord","adding:","allow","allowscript","allowscripts:","alreadi","angular","api","app","app,","approach","apps.","aren't","argument","attribut","attributes,","awesom","babel","babel.","be:","befor","behavior.","benefit","bit.","browser","browsers.","build","bundling!","call","calls.","can!","care","case","chang","class","close","closed.","code","collect","compon","componen","component:","components.","components?","componentwillreceiveprop","consid","const","contain","content","conveni","convert","core,","creat","current","custom","custom,","dash","decid","default","default,","definition\"","depend","destructuring.","develop","differ","disabl","doesn't","dom","dom,","dom.","don't","down","downsid","drop","dynam","element","element'","elements?","enabl","encapsul","etc.","exact","exampl","execut","expect.","explain","extend","familiar","familiar?","faq","featur","file","firefox","flag","follows:","for.","forc","framework,","friend!","gener","get","go","go!","good","header!","header');","heavili","here.","hold","hood","horses.","html","i'm","idea.","imper","implement","import","imports!","impos","includ","included\"","insid","inspir","instanc","interactivity,","introduct","it!","it'","it.","javascript","jqueri","jsx","jsx!","jsx\",","jsx,","jsx.","librari","library.","lifecycl","linkstat","look","lot","manag","manipulations.","mechan","method","mind.","miss","mode","modern","modul","moral","name","name.","need","networking,","new","next:","nope.","note","note:","object:","open","oppos","option","option.","otherwise.","out","outsid","overwrit","page","page.","pass","permit","pillar","pillar.h","pillar.regist","pillar.register(superheader,","pillar:","pillar?","pillarj","pillarjs:","platform","pollyfil","polyfil","polyfill:","polyfills.","port","pragma","preact","preact,","preset","probabl","project","promises.","prop","provid","purpos","q:","re","react","react,","react.createel","regist","reli","remov","render","render()","render(props)","rendering.","requir","required.","respons","result","return","reusabl","safari","same","script","second","see","serv","server","set","set,","shadow","shortcut","side","simpl","simple:","singl","smart","smarter","spa","stabl","start","state","stateless","step","still","string","strings.","stuff","style","suggest","superhead","superpowered!","support","supported?","suppos","sweet","system","tag","tag'","tag.","tag:","tags.","target","tell","templat","text","them,","them.","there'","thing","third","this.","this.prop","this.props.children.","this.stat","this:","this?","those","to,","too.","tool","top","trim","true","turn","unavail","under","us","used.","useshadow","useshadow:","via","virtual","vue","wan't","want","way","way.","we'll","web","webcomponents.org,","webpack","weird.","whoa","whoa,","whole","within","work,","work?","write","written","xyz","yes!","yes,","you'll","you'r","you.","zyx?","{","{props.text}","{text}","||","}","})","→","⏱","☘️","❇️","🏁","🛠","🤔"],"1_LIFECYCLE_METHODS.html":["1.","accept","befor","called.","called?","compon","componentdidmount","componentdidupd","componentwillmount","componentwillreceiveprop","componentwillunmount","componentwillupd","dom","don't","exact","fals","get","lifecycl","method","mount","name","new","next:","note:","pillar","prevent","prop","provid","react:","remov","render","render()","render.","return","same","shouldcomponentupd","stateless","string","string/templ","tag","work","→"],"2_STRING_RENDER.html":["${text}","(i.e.","({","2.","=","=>","`","`;","argument","compon","components,","const","doesn't","don't","es6","extrem","function","instead","interpol","it'","jsx","jsx,","lifecycl","methods.","next:","note","prop","reason","render","return","similar","simple.","state","stateless","string","string).","string:","superhead","superpowered!","support","syntax","tag","tag.","templat","text","us","veri","via","want","})","→"],"3_TEMPLATE_RENDER.html":["'super","...","3.","access","allow","allowscript","allowscripts:","befor","behavior","code","compon","danger","default","defin","directli","do:","explicit","explicitli","flag","function","header');","header',","html","id","insid","instead","it'","js","live","name","need","next:","note:","option","overrid","pass","pillar","pillar.register('#mi","place","prop","props.","props?","regist","registering:","remov","render","rendering.","requir","run","so:","specifi","superpowered!","syntax.","tag","tag.","templat","template'","template',","template,","template.","there'","true,","us","want","you'r","{","{{mustache}}","{{text}}","});","→"],"4_HANDLING_INPUT.html":["'path'",".bind(this)","4.",";","abov","architectur","argument","autobind","bindings.","class","code.","compon","components'","conveni","custom","decko","decor","demonstr","dot","e.target.value,","email:","exampl","explicitli","extend","handl","handlechange(e)","hood,","however,","input","interact","it'","linkstat","method","more","new","notat","note:","optionally,","path","pillar","preact","provid","purposes,","react's,","real","recommend","render()","return","same","second","similar","so:","state","superinput","this.setstate({","under","us","user","valu","virtual","way.","way:","{","}","});"],"5_FLAGS.html":["\"service\"","5.","attribut","attributes.","avail","becom","behavior","chang","children","compon","components:","content","custom","defin","dom→","down","element","element'","error.","extern","flag","flag,","flag.","forc","jqueri","lock","manipulation.","namespac","next:","p:","p:ignor","p:protect","pass","pillar","pre","prefix","recommend","rendered.","set,","shadow","tag","this.flag","this.prop","this.props.children","throw","tri","won't"],"6_SHADOW_DOM.html":["'closed'","'mi","'open'","'open',","6.","access","bit","browser","can't","compon","component',","control","default","devtool","devtools.","do","dom","dom,","don't","element","enabl","expensive.","javascript.","know","mode","need","next:","object","option","outsid","pass","pillar","pillar.register(mycomponent,","polyfil","registering:","shadow","such,","unaccess","unchang","us","useshadow","useshadow:","want","{","});","→"],"7_DEVTOOLS.html":["\"elements\"","(element","(use","2","7.","allow","avail","befor","chrome","commun","compon","components.","contain","creat","dev","devtool","dom","dure","edit","effici","element","extens","flags,","highlight","hover","html","initi","inspect","is:","json","list","loaded,","manner","metadata","mode","name,","object","page","panel","parse.","pillar","present,","pretti","preview","props,","provid","quick","react.","represent","representation)","servic","set","shadowdom","side","sidebar","sidebar.","similar","statu","stuff","sweet","tab","through","tool","tree).","view","window.__pillar_devtools_hook__"]},"length":8},"tokenStore":{"root":{"1":{"5":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":3.333333333333333}}}},"2":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":3.333333333333333}}}},"3":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":2.5}}}},"4":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":2.5}}}},"5":{"4":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"docs":{},".":{"docs":{"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":5}}}},"6":{"docs":{},".":{"docs":{"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":3.333333333333333}}}},"7":{"docs":{},".":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":3.333333333333333}}}},"docs":{},"\"":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}},"i":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"h":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"m":{"docs":{},"a":{"docs":{},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"\"":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"\"":{"docs":{"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"\"":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}}}}}}}},"'":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"'":{"docs":{"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}},",":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}},",":{"docs":{"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}}}}}}}},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"j":{"docs":{},"s":{"docs":{},"'":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"'":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}}}},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.022988505747126436}}}}}}},"m":{"docs":{},"i":{"docs":{"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}}}}},"(":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}}}}},"{":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}}},"i":{"docs":{},".":{"docs":{},"e":{"docs":{},".":{"docs":{"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}}}},"*":{"docs":{},"/":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},"r":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}},":":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}}}}}}}}},".":{"docs":{},".":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}}}},"/":{"docs":{},"*":{"docs":{},"*":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"/":{"docs":{"./":{"ref":"./","tf":0.004310344827586207}}}},"=":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}},">":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}}}},">":{"1":{"0":{"docs":{},".":{"1":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}}},"docs":{}}},"docs":{}},"docs":{}},"@":{"docs":{},"j":{"docs":{},"s":{"docs":{},"x":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"[":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}},"\"":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"\"":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{},"]":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}},"]":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"a":{"docs":{},"b":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"o":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666}}}},"s":{"docs":{},"s":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.022988505747126436},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}}}}}}},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.004310344827586207},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218},"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}},"p":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"p":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}},",":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"r":{"docs":{},"o":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"g":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.004310344827586207},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.03333333333333333}},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},".":{"docs":{"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666},"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}}},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.08333333333333333},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218},"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218},"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}},".":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}}}}}},"i":{"docs":{},"t":{"docs":{"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},".":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.004310344827586207},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.005747126436781609}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"!":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666}}},"?":{"docs":{"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666}}}}}}},"n":{"docs":{},"!":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"'":{"docs":{},"t":{"docs":{"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}}}}},"r":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"s":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046},"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.05}}}}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}}}}}}}},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.023255813953488372}}}}},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}},"d":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}},".":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.014367816091954023},"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.06666666666666667},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.031746031746031744},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186},"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666},"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}},"t":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}},"?":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},",":{"docs":{"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}}},"'":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}},":":{"docs":{"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}}}},"w":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666}}}}}}},"u":{"docs":{},"n":{"docs":{},"m":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666}}}}}}}},"p":{"docs":{},"d":{"docs":{"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"m":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666}}}}}}}},"'":{"docs":{},",":{"docs":{"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"n":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.004310344827586207}}}},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046},"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}}}}},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}},"r":{"docs":{},"e":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.004310344827586207},"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.008620689655172414},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186},"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}},",":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}}}}}},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"k":{"docs":{},"o":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}},"o":{"docs":{},"r":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}},",":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}},"i":{"docs":{},"n":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218},"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}}}}}}},"v":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.03225806451612903}},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}}}}}},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666},"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":3.365591397849462}},"s":{"docs":{},".":{"docs":{"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}}}}}},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}}}}}}}},"o":{"docs":{"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}},"e":{"docs":{},"s":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.005747126436781609},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}}}}}}},"m":{"docs":{"./":{"ref":"./","tf":0.005747126436781609},"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.05},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":3.4},"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}},",":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}}},".":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}}},"→":{"docs":{"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}}}},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}}}}},"w":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046},"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}},":":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}},"t":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.004310344827586207},"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.03333333333333333},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666},"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.053763440860215055}},"'":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}}},"s":{"docs":{},"?":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.004310344827586207},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.03333333333333333}}}}},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}},"t":{"docs":{},"c":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}},"x":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}}},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},".":{"docs":{"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}},"l":{"docs":{},"i":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.023255813953488372}}},"s":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.03225806451612903}}}},"r":{"docs":{},"n":{"docs":{"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.03333333333333333}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}}}}}}},"s":{"6":{"docs":{"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}}},"docs":{}},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},":":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}}}}}}},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.021505376344086023}}}}},"f":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}}}},"f":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}},"?":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}},"q":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}}},"l":{"docs":{},"s":{"docs":{"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666}}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.004310344827586207}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"x":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.004310344827586207},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218},"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":5.1}},",":{"docs":{"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}}},".":{"docs":{"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}}},"s":{"docs":{},",":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}}},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}},"r":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"c":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"!":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.031746031746031744},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.022988505747126436}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}},"t":{"docs":{"./":{"ref":"./","tf":0.004310344827586207},"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.03333333333333333}}}},"o":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}},"!":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"!":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"'":{"docs":{},")":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}}},",":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}}}}}},"v":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}},"r":{"docs":{},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.004310344827586207}}}},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}},",":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}},"w":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.007183908045977011},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.022988505747126436},"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":2.5232558139534884}},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.021505376344086023}}}}}}}}}}},"i":{"docs":{},"'":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"d":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}},"e":{"docs":{},"a":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"m":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.005747126436781609}},"s":{"docs":{},"!":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"s":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}},"e":{"docs":{},"d":{"docs":{},"\"":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}}},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.021505376344086023}}}}}},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"l":{"docs":{"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}}}}}}},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":10}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":2.511627906976744}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}},"t":{"docs":{},"!":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"'":{"docs":{"./":{"ref":"./","tf":0.008620689655172414},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"s":{"docs":{},":":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}},".":{"docs":{"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.03333333333333333}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}}}}}}},"s":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}},"x":{"docs":{"./":{"ref":"./","tf":0.01293103448275862},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}},"!":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"\"":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},",":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}}},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"o":{"docs":{},"n":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.021505376344086023}}}}}},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.005747126436781609}}},"y":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}},"f":{"docs":{},"e":{"docs":{},"c":{"docs":{},"y":{"docs":{},"c":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":3.383333333333333},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}}}}}}}},"n":{"docs":{},"k":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}}}}},"v":{"docs":{},"e":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}}},"s":{"docs":{},"t":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.004310344827586207}}}},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"c":{"docs":{},"k":{"docs":{"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}}}},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"i":{"docs":{},"p":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},".":{"docs":{"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}}},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046},"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":3.4},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}},"s":{"docs":{},".":{"docs":{"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}}}}}}},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666},"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}},"r":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}},"u":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}}}}},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.005747126436781609}}}},"e":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.03333333333333333}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}}}}}},",":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}}}},"w":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218},"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}},"t":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}},":":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046},"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}},"a":{"docs":{},"t":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666},"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.03225806451612903}},":":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.004310344827586207}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.008620689655172414},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},",":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.005747126436781609},"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.021505376344086023}},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.008620689655172414},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.034482758620689655},"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.05},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}}}},"t":{"docs":{},"h":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.021505376344086023}}}}},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}}},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.021551724137931036},"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.046511627906976744},"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.03333333333333333},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.05},"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":3.419354838709677}},".":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}}}}}}},"'":{"docs":{},"#":{"docs":{},"m":{"docs":{},"i":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.022988505747126436}}}}}},"m":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"?":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"j":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.004310344827586207}}}}}}},"c":{"docs":{},"e":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}}}}},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}},"y":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.014367816091954023},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}},"l":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}}},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"m":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"e":{"docs":{"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}},",":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666}}}}},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}}}}},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}},"p":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}},"s":{"docs":{},".":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}},"?":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}},",":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.004310344827586207},"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.023255813953488372},"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}}},"u":{"docs":{},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}}}}}}},":":{"docs":{"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}}}}}}}}}}},"q":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.011494252873563218}}},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}}},"r":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.014367816091954023}},",":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},".":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}}}},":":{"docs":{"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666}}},"'":{"docs":{},"s":{"docs":{},",":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}}}}},"l":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.034482758620689655}},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}}}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.008620689655172414},"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.03333333333333333},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":3.4126984126984126},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":2.5229885057471266}},"(":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.05},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.023255813953488372}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}}}}},".":{"docs":{"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666}}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.031746031746031744},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.023255813953488372}}}}}},"u":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186},"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.021505376344086023}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}}}},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"m":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.004310344827586207}}}}}}},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}}},"e":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"r":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"i":{"docs":{},"c":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}},",":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}}}}},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.005747126436781609},"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":3.4166666666666665}},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}},"u":{"docs":{},"l":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}},".":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},".":{"docs":{"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}}}}}},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186},"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}}},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}}}}}},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}},"p":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.04310344827586207}}}},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.005747126436781609}}}},"t":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046},"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}}}}}}},"u":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}},"e":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.005747126436781609}}}},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.004310344827586207}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046},"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":3.3968253968253963}},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"/":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666}}}}}}}},")":{"docs":{},".":{"docs":{"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}}}},":":{"docs":{"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}}}}}}},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"u":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}}}}}},"p":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"!":{"docs":{"./":{"ref":"./","tf":0.004310344827586207},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.023255813953488372}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.010057471264367816},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}},"e":{"docs":{},"d":{"docs":{},"?":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}},"s":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"c":{"docs":{},"h":{"docs":{},",":{"docs":{"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}}}}}},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}}}}}},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"x":{"docs":{"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}},".":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}}}}}}},"o":{"docs":{},":":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.015804597701149427},"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":2.545977011494253},"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}},"'":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}},":":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"b":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.011494252873563218},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.047619047619047616},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":2.5344827586206895}},"e":{"docs":{},"'":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}},",":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.022988505747126436}}}},",":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}},".":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.022988505747126436}}}}}}}}},"x":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}}}}},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"r":{"docs":{},"e":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"r":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"s":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.004310344827586207},"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"{":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}}}}}}},":":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"?":{"docs":{"./":{"ref":"./","tf":0.004310344827586207}}}}},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}}},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}}}},"o":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"o":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"l":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.03225806451612903}}}},"p":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"r":{"docs":{},"i":{"docs":{"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.016666666666666666}},"m":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"u":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}},",":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}}}},"e":{"docs":{},"e":{"docs":{},")":{"docs":{},".":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}}}}}}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}}}}}}}},"s":{"docs":{"./":{"ref":"./","tf":0.028735632183908046},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.031746031746031744},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.022988505747126436},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.046511627906976744},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.05}},"e":{"docs":{},"d":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}},":":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.05}}}}}}}}},"r":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":2.511627906976744}}}}}},"v":{"docs":{},"i":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}}},"r":{"docs":{},"t":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.004310344827586207},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}}}},"e":{"docs":{},"w":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}},"u":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}}}}},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}}},"w":{"docs":{},"a":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"t":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}}}},"y":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}},":":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186}}}}},"e":{"docs":{},"'":{"docs":{},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}},"b":{"docs":{"./":{"ref":"./","tf":0.011494252873563218}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}},"i":{"docs":{},"r":{"docs":{},"d":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}},"h":{"docs":{},"o":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}},",":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"l":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"_":{"docs":{},"_":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"_":{"docs":{},"_":{"docs":{"7_DEVTOOLS.html":{"ref":"7_DEVTOOLS.html","tf":0.010752688172043012}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666}},",":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"?":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"5_FLAGS.html":{"ref":"5_FLAGS.html","tf":0.03333333333333333}}}}}},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}}}}}}}}},"x":{"docs":{},"y":{"docs":{},"z":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}}}}},"y":{"docs":{},"e":{"docs":{},"s":{"docs":{},"!":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}},",":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}},"o":{"docs":{},"u":{"docs":{},"'":{"docs":{},"l":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"r":{"docs":{"./":{"ref":"./","tf":0.004310344827586207},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}}},".":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}}}}}},"z":{"docs":{},"y":{"docs":{},"x":{"docs":{},"?":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}},"{":{"docs":{"./":{"ref":"./","tf":0.008620689655172414},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.05813953488372093},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"}":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}}}}},"{":{"docs":{},"m":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"}":{"docs":{},"}":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"}":{"docs":{},"}":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218}}}}}}}}}},"|":{"docs":{},"|":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023}}}},"}":{"docs":{"./":{"ref":"./","tf":0.008620689655172414},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.05813953488372093}},")":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}},";":{"docs":{"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218},"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.011627906976744186},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}}}}},"→":{"docs":{"./":{"ref":"./","tf":0.0014367816091954023},"1_LIFECYCLE_METHODS.html":{"ref":"1_LIFECYCLE_METHODS.html","tf":0.016666666666666666},"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872},"3_TEMPLATE_RENDER.html":{"ref":"3_TEMPLATE_RENDER.html","tf":0.011494252873563218},"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}}},"⏱":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}}},"☘":{"docs":{},"️":{"docs":{"./":{"ref":"./","tf":0.01293103448275862}}}},"❇":{"docs":{},"️":{"docs":{"./":{"ref":"./","tf":0.04597701149425287}}}},"�":{"docs":{},"�":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}}}},"�":{"docs":{},"�":{"docs":{"./":{"ref":"./","tf":0.0028735632183908046}}}},"�":{"docs":{},"�":{"docs":{"./":{"ref":"./","tf":0.004310344827586207}}}},"$":{"docs":{},"{":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"}":{"docs":{"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}}}}}}}}},"`":{"docs":{"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}},";":{"docs":{"2_STRING_RENDER.html":{"ref":"2_STRING_RENDER.html","tf":0.015873015873015872}}}},";":{"docs":{"4_HANDLING_INPUT.html":{"ref":"4_HANDLING_INPUT.html","tf":0.023255813953488372}}},"k":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{"6_SHADOW_DOM.html":{"ref":"6_SHADOW_DOM.html","tf":0.016666666666666666}}}}}}},"length":750},"corpusTokens":["\"batteri","\"bi","\"elements\"","\"h\"","\"plugins\":","\"pragma\":","\"presets\":","\"service\"","\"transform","${text}","'closed'","'closed',","'mi","'open'","'open',","'path'","'pillarjs';","'super","(","(easiest)","(element","(i.e.","(use","({",");","*/","...",".babelrc",".babelrc:",".bind(this)","/**","//","1.","15","2","2.","3","3.","4.","5.","54","6.","7.",";","=","=>",">10.1","@jsx","[","[\"pillar\"]","[...],","]","`","`;","abil","abov","accept","access","accord","adding:","allow","allowscript","allowscripts:","alreadi","angular","api","app","app,","approach","apps.","architectur","aren't","argument","attribut","attributes,","attributes.","autobind","avail","awesom","babel","babel.","be:","becom","befor","behavior","behavior.","benefit","bindings.","bit","bit.","browser","browsers.","build","bundling!","call","called.","called?","calls.","can!","can't","care","case","chang","children","chrome","class","close","closed.","code","code.","collect","commun","compon","componen","component',","component:","componentdidmount","componentdidupd","components'","components,","components.","components:","components?","componentwillmount","componentwillreceiveprop","componentwillunmount","componentwillupd","consid","const","contain","content","control","conveni","convert","core,","creat","current","custom","custom,","danger","dash","decid","decko","decor","default","default,","defin","definition\"","demonstr","depend","destructuring.","dev","develop","devtool","devtools.","differ","directli","disabl","do","do:","doesn't","dom","dom,","dom.","dom→","don't","dot","down","downsid","drop","dure","dynam","e.target.value,","edit","effici","element","element'","elements?","email:","enabl","encapsul","error.","es6","etc.","exact","exampl","execut","expect.","expensive.","explain","explicit","explicitli","extend","extens","extern","extrem","fals","familiar","familiar?","faq","featur","file","firefox","flag","flag,","flag.","flags,","follows:","for.","forc","framework,","friend!","function","gener","get","go","go!","good","handl","handlechange(e)","header!","header');","header',","heavili","here.","highlight","hold","hood","hood,","horses.","hover","however,","html","i'm","id","idea.","imper","implement","import","imports!","impos","includ","included\"","initi","input","insid","inspect","inspir","instanc","instead","interact","interactivity,","interpol","introduct","is:","it!","it'","it.","javascript","javascript.","jqueri","js","json","jsx","jsx!","jsx\",","jsx,","jsx.","know","librari","library.","lifecycl","linkstat","list","live","loaded,","lock","look","lot","manag","manipulation.","manipulations.","manner","mechan","metadata","method","methods.","mind.","miss","mode","modern","modul","moral","more","mount","name","name,","name.","namespac","need","networking,","new","next:","nope.","notat","note","note:","object","object:","open","oppos","option","option.","optionally,","otherwise.","out","outsid","overrid","overwrit","p:","p:ignor","p:protect","page","page.","panel","parse.","pass","path","permit","pillar","pillar.h","pillar.regist","pillar.register('#mi","pillar.register(mycomponent,","pillar.register(superheader,","pillar:","pillar?","pillarj","pillarjs:","place","platform","pollyfil","polyfil","polyfill:","polyfills.","port","pragma","pre","preact","preact,","prefix","present,","preset","pretti","prevent","preview","probabl","project","promises.","prop","props,","props.","props?","provid","purpos","purposes,","q:","quick","re","react","react's,","react,","react.","react.createel","react:","real","reason","recommend","regist","registering:","reli","remov","render","render()","render(props)","render.","rendered.","rendering.","represent","representation)","requir","required.","respons","result","return","reusabl","run","safari","same","script","second","see","serv","server","servic","set","set,","shadow","shadowdom","shortcut","shouldcomponentupd","side","sidebar","sidebar.","similar","simpl","simple.","simple:","singl","smart","smarter","so:","spa","specifi","stabl","start","state","stateless","statu","step","still","string","string).","string/templ","string:","strings.","stuff","style","such,","suggest","superhead","superinput","superpowered!","support","supported?","suppos","sweet","syntax","syntax.","system","tab","tag","tag'","tag.","tag:","tags.","target","tell","templat","template'","template',","template,","template.","text","them,","them.","there'","thing","third","this.","this.flag","this.prop","this.props.children","this.props.children.","this.setstate({","this.stat","this:","this?","those","through","throw","to,","too.","tool","top","tree).","tri","trim","true","true,","turn","unaccess","unavail","unchang","under","us","used.","user","useshadow","useshadow:","valu","veri","via","view","virtual","vue","wan't","want","way","way.","way:","we'll","web","webcomponents.org,","webpack","weird.","whoa","whoa,","whole","window.__pillar_devtools_hook__","within","won't","work","work,","work?","write","written","xyz","yes!","yes,","you'll","you'r","you.","zyx?","{","{props.text}","{text}","{{mustache}}","{{text}}","||","}","})","});","→","⏱","☘️","❇️","🏁","🛠","🤔"],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"Introduction","keywords":"","body":"\n \n\n\nPillarJS is a \"batteries included\" JavaScript library for writing smart reusable Web Components in a modern way.\nInspired by React components PillarJS provides familiar state management mechanisms and Virtual DOM, while also providing all of the sweetness of Web Components like Shadow DOM, \"by-definition\" server side rendering and ability to render from template tags and strings.\nShortcuts\n\nGetting started\nUsing stateless components\nOptions\nUsing JSX\nBrowser support\nFAQ\n\n\nGetting Started\nGetting started is simple:\nStep 1. Import PillarJS:\nimport Pillar from 'pillarjs';\n\nStep 2. Create your component:\nclass SuperHeader extends Pillar {\n render(props) {\n return (\n \n {props.text}\n It's Superpowered!\n \n );\n }\n}\n\nLooks familiar? Pillar components are written in the exact same way as React components.\nNote: Because Pillar uses Preact for rendering JSX, props and state are passed as arguments to the render() method for convenient destructuring. You can still use this.props and this.state if you want to, but it's not required.\nStep 3. Register your custom tag:\nPillar.register(SuperHeader, 'super-header');\n\nSecond argument is an optional tag name. If not set, component name converted to dash-case will be used.\nStep 4. Use it!\n\n \n\n\nAnd you're good to go! Custom tag's attributes will be passed to this.props in your component and resulting HTML on the page will be:\n\n This is not a simple header!\n It's Superpowered!\n\n\n\nCan I use stateless components?\nYes, you can! The above class example can be trimmed down to this:\nconst SuperHeader = ({ text }) => (\n \n {text}\n It's Superpowered!\n \n);\n\n\nOptions\nA third argument passed to Pillar.register is an options object:\n{\n useShadow: 'open' || 'closed',\n allowScripts: true // Template render only\n}\n\nuseShadow option enables Shadow DOM. Pass open for open mode and closed for closed. See the difference here.\nallowScripts By default, all tags will be removed from the content of the template tag before rendering. This option re-enables them and permits executing any JavaScript code within template tag. Be careful with this option.\n\nNotes on JSX\nThere are 3 ways to enable JSX with Pillar:\n\nUsing a Babel preset (easiest)\n // .babelrc\n {\n \"presets\": [\"pillar\"]\n }\n\n\nBy adding:\n /** @jsx Pillar.h */\n\n on top of the file containing JSX. This will tell Babel to turn all JSX calls into Pillar.h calls. This is useful if for instance you already have React in your project and don't wan't to overwrite all of JSX behavior.\n\nIn .babelrc:\n {\n \"presets\": [...],\n \"plugins\": [\n \"transform-react-jsx\",\n {\n \"pragma\": \"h\" // default pragma is React.createElement\n }\n ]\n }\n\n\n\n\nWhat browsers are supported?\nPillar is written with the web platform in mind. According to WebComponents.org, the current support for platform features is as follows:\n\n\n\nBrowser Support\n\n\n\n\n\n\n\n\n\nTemplate Tags\n❇️ Stable\n❇️ Stable\n❇️ Stable\n❇️ Stable\n❇️ Stable\n\n\nCustom Elements\n❇️ Stable\n❇️ Stable\n❇️ Stable\n\n🛠 Developing\n\n\n🤔 Considering\n\n\n\nShadow DOM\n❇️ Stable\n❇️ Stable\n❇️ Stable\n\n🛠 Developing\n\n\n🤔 Considering\n\n\n\nModule Scripts\n❇️ Stable\n❇️ Stable\n❇️ >10.1\n🏁 Flag in 54\n🏁 Flag in 15\n\n\nHTML Imports\n❇️ Stable\n❇️ Stable\n⏱ On Hold\n⏱ On Hold\n🤔 Considering\n\n\n\n\n\nAnd this is what the support looks like with \nthe polyfill:\n\n\n\nPolyfill Support\n\n\n\n\n\n\n\n\n\nTemplate Tags\n❇️ Stable\n❇️ Stable\n❇️ Stable\n❇️ Stable\n❇️ Stable\n\n\nCustom Elements\n❇️ Stable\n❇️ Stable\n❇️ Stable\n\n☘️ Polyfill\n\n\n☘️ Polyfill\n\n\n\nShadow DOM\n❇️ Stable\n❇️ Stable\n❇️ Stable\n\n☘️ Polyfill\n\n\n☘️ Polyfill\n\n\n\nModule Scripts\n❇️ Stable\n❇️ Stable\n❇️ >10.1\n☘️ Polyfill\n☘️ Polyfill\n\n\nHTML Imports\n❇️ Stable\n❇️ Stable\n☘️ Polyfill\n☘️ Polyfill\n☘️ Polyfill\n\n\n\n\n\nNote: Pillar does not include any polyfills. You are responsible for pollyfilling for your target browsers.\n\nFAQ\nQ: I am morally opposed to JSX! How can I use this?\nPillar also supports rendering from string and template tags. We'll get to explaining those in a bit.\nHowever using JSX provides a whole lot of awesome features that you'll be missing out on otherwise.\nQ: I'm morally opposed to Webpack and bundling! How can I use this?\nPillar doesn't impose any build systems on you. All you need to get started is drop a script tag on the page.\nThe downside of not using a build system is unavailability of JSX via Babel. But you can still use string render and template tags and get all benefits of Virtual DOM.\nQ: I am morally opposed to HTML Imports!\nWe are too. Safari and Firefox aren't going to implement them, and they are just generally weird. Pillar doesn't rely on them and we suggest not to use them.\nQ: Do I need React to use this?\nNope. Pillar is inspired by React components approach and uses Preact under the hood for features like Virtual DOM and linkState but it's not React nor does it require it.\nQ: Can I have content inside of my custom elements?\nYes! By default all elements inside your custom tag will be passed to this.props.children. There's a flag to disable that behavior.\nQ: I am morally supportive of imperative DOM manipulations. Will this still work?\nPillar is your friend! If outside forces like jQuery decide to change your element's attributes, changes will be passed down to this.props and componentWillReceiveProps will be called as you would expect.\nQ: Can I use React library XYZ to do ZYX?\nNo idea. Pillar doesn't use React, it only uses JSX via Preact, so if library XYZ just does some JSX stuff and doesn't heavily depend on React core, it might work, but no promises.\nQ: How do I port my single page app to Pillar?\nWhoa whoa, hold your horses. Pillar serves different purpose than React or Angular or Vue or what have you. You're not supposed to be building an SPA with this.\nPillar is not a framework, it's a Web Components library.\n\nWeb components are a set of web platform APIs that allow you to create new custom, reusable encapsulated HTML tags to use in web pages and web apps.\n\nWhat Pillar does is allows you to create componens that are smarter than just a collection of tags and styles and allow you to do things like interactivity, networking, etc.\nIf you want to build a dynamic single page app, this library is probably not the tool you're looking for.\nNext: Lifecycle Methods →\n"},"1_LIFECYCLE_METHODS.html":{"url":"1_LIFECYCLE_METHODS.html","title":"1. Lifecycle Methods","keywords":"","body":"Lifecycle Methods\nPillar provides exact same lifecycle methods as\nReact:\n\n\n\nMethod Name\nWhen is it called?\n\n\n\n\ncomponentWillMount\nBefore the component gets mounted to the DOM\n\n\ncomponentDidMount\nAfter the component gets mounted to the DOM\n\n\ncomponentWillUnmount\nBefore component is removed from the DOM\n\n\ncomponentWillReceiveProps\nBefore new props are accepted\n\n\nshouldComponentUpdate\nBefore render() is called. Return false to prevent render\n\n\ncomponentWillUpdate\nBefore render()\n\n\ncomponentDidUpdate\nAfter render()\n\n\n\nNote: Lifecycle methods don't work in stateless components and string/template tag render.\nNext: Render from string →\n"},"2_STRING_RENDER.html":{"url":"2_STRING_RENDER.html","title":"2. Rendering from string","keywords":"","body":"Rendering from string\nIf for any reason you don't want to use JSX, you can render component from string or template tag.\nRendering from string is extremely simple. The syntax is very similar to\nstateless components, but instead of returning JSX your function should\nreturn a string:\nconst SuperHeader = ({ text }) => `\n \n ${text}\n It's Superpowered!\n \n`;\n\nYour component function will have the props argument that you can use for interpolation (i.e. via\nES6 template string).\nNote that string render doesn't support state and lifecycle methods.\nNext: Render from template tag →\n"},"3_TEMPLATE_RENDER.html":{"url":"3_TEMPLATE_RENDER.html","title":"3. Rendering template tags","keywords":"","body":"Rendering from template tag\nPillar allows rendering components from HTML tag. All you need to do is pass template's\nID to the register function like so:\nPillar.register('#my-template', 'super-header');\n\nNote: Explicitly specifying tag name is required when registering a template.\nHow do I access props?\nBecause you're not defining a function when registering template, there's no explicit place to\naccess props. Instead props are passed to the template directly using {{Mustache}} syntax.\nSo in your HTML you can do:\n\n {{text}}\n It's Superpowered!\n\n\n...\n\n\n\nI like to live dangerously and want to use tags\nBy default tags are removed from template before rendering. You can override this\nbehavior by passing allowScripts option when registering:\nPillar.register('#my-template', 'super-header', {\n allowScripts: true,\n});\n\nThis will run any JS code inside the template.\nNext: Flags →\n"},"4_HANDLING_INPUT.html":{"url":"4_HANDLING_INPUT.html","title":"4. Handling user input","keywords":"","body":"Handling User Input\nSince Pillar components' architecture is virtually the same as React's, you can handle interactions\nin the similar way:\nclass SuperInput extends Pillar {\n handleChange(e) {\n this.setState({\n email: e.target.value,\n });\n }\n\n render() {\n return ;\n }\n}\n\nHowever, because Pillar is using Preact under the hood, you\nget a convenient linkState method on a component which you can use like so:\nNote: the example above uses .bind(this) for demonstration purposes, but it's not a\nrecommended way. Use autobind-decorator or\ndecko in real code.\nclass SuperInput extends Pillar {\n render() {\n return ;\n }\n}\n\nOptionally, you can provide a second 'path' argument to explicitly provide a dot-notated path to the\nnew state value for more custom bindings.\n"},"5_FLAGS.html":{"url":"5_FLAGS.html","title":"5. Flags","keywords":"","body":"Flags\nIf you prefix any of your element's attributes with a p: it becomes a flag.\nFlags are passed to this.flags and are recommended for namespacing your \"service\" attributes.\nAvailable flags\nPillar also pre-defines some flags that change the behavior of Pillar components:\np:ignore-children\nIf this flag is set, content of a custom element tag won't be passed to this.props.children when\ncomponent is rendered.\np:protected\nThis flag locks external attribute manipulation. If an external force like jQuery is trying to\nchange an element with this flag, changes won't be passed down to this.props and it will throw an\nerror.\nNext: Shadow DOM→\n"},"6_SHADOW_DOM.html":{"url":"6_SHADOW_DOM.html","title":"6. Shadow DOM","keywords":"","body":"Shadow DOM\nBy default Pillar components don't use Shadow DOM because polyfill for it in some browsers may be a\nbit expensive. If you know what you doing and want to use Shadow DOM, all you need to do is pass an\noptions object with useShadow when registering:\nPillar.register(MyComponent, 'my-component', {\n useShadow: 'open',\n});\n\nModes\n\nuseShadow: 'open' will enable Shadow DOM that is accessible from outside JavaScript.\nuseShadow: 'closed' will enable Shadow DOM that is unaccessible and unchangeable from\n JavaScript. As such, these elements can't be controlled using\n Pillar DevTools.\n\nNext: Pillar DevTools →\n"},"7_DEVTOOLS.html":{"url":"7_DEVTOOLS.html","title":"7. Pillar DevTools","keywords":"","body":"Pillar DevTools\nPillar provides a Chrome DevTools extension that allows you to efficiently inspect Pillar\ncomponents.\n\nWhat it does\nExtension has 2 modes - panel and elements sidebar.\nPanel is where most of the sweet stuff is:\n\nList of all Pillar elements on the page with previews\nHighlight element on hover\nHighlight all Pillar elements on page\nEditable JSON representation of the element\nPretty side view (element name, props, flags, ShadowDOM status and HTML representation)\n\nSidebar available on \"Elements\" tab of DevTools only contains editable JSON representation (useful\nfor quick inspection in the DOM tree).\nHow it does it\nPillar communicates with Dev Tools through a service object window.__PILLAR_DEVTOOLS_HOOK__ in a\nsimilar manner to React. Dev Tools extension creates this object before Pillar is loaded, and if\nduring initialization of a component this object is present, Pillar will set metadata for Dev Tools\nto parse.\n"}}} \ No newline at end of file diff --git a/socket/node_modules/pillarjs/book.json b/socket/node_modules/pillarjs/book.json new file mode 100644 index 0000000..b88745d --- /dev/null +++ b/socket/node_modules/pillarjs/book.json @@ -0,0 +1,3 @@ +{ + "root": "./docs" +} diff --git a/socket/node_modules/pillarjs/dist/index.js b/socket/node_modules/pillarjs/dist/index.js new file mode 100644 index 0000000..d5d942e --- /dev/null +++ b/socket/node_modules/pillarjs/dist/index.js @@ -0,0 +1,1983 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global.Pillar = factory()); +}(this, (function () { 'use strict'; + +/** Virtual DOM Node */ +function VNode() {} + +/** Global options + * @public + * @namespace options {Object} + */ +var options = { + + /** If `true`, `prop` changes trigger synchronous component updates. + * @name syncComponentUpdates + * @type Boolean + * @default true + */ + //syncComponentUpdates: true, + + /** Processes all created VNodes. + * @param {VNode} vnode A newly-created VNode to normalize/process + */ + //vnode(vnode) { } + + /** Hook invoked after a component is mounted. */ + // afterMount(component) { } + + /** Hook invoked after the DOM is updated with a component's latest render. */ + // afterUpdate(component) { } + + /** Hook invoked immediately before a component is unmounted. */ + // beforeUnmount(component) { } +}; + +var stack = []; + +var EMPTY_CHILDREN = []; + +/** JSX/hyperscript reviver +* Benchmarks: https://esbench.com/bench/57ee8f8e330ab09900a1a1a0 + * @see http://jasonformat.com/wtf-is-jsx + * @public + */ +function h(nodeName, attributes) { + var children = EMPTY_CHILDREN, + lastSimple, + child, + simple, + i; + for (i = arguments.length; i-- > 2;) { + stack.push(arguments[i]); + } + if (attributes && attributes.children != null) { + if (!stack.length) stack.push(attributes.children); + delete attributes.children; + } + while (stack.length) { + if ((child = stack.pop()) && child.pop !== undefined) { + for (i = child.length; i--;) { + stack.push(child[i]); + } + } else { + if (typeof child === 'boolean') child = null; + + if (simple = typeof nodeName !== 'function') { + if (child == null) child = '';else if (typeof child === 'number') child = String(child);else if (typeof child !== 'string') simple = false; + } + + if (simple && lastSimple) { + children[children.length - 1] += child; + } else if (children === EMPTY_CHILDREN) { + children = [child]; + } else { + children.push(child); + } + + lastSimple = simple; + } + } + + var p = new VNode(); + p.nodeName = nodeName; + p.children = children; + p.attributes = attributes == null ? undefined : attributes; + p.key = attributes == null ? undefined : attributes.key; + + // if a "vnode hook" is defined, pass every created VNode to it + if (options.vnode !== undefined) options.vnode(p); + + return p; +} + +/** Copy own-properties from `props` onto `obj`. + * @returns obj + * @private + */ +function extend(obj, props) { + for (var i in props) { + obj[i] = props[i]; + }return obj; +} + +/** Call a function asynchronously, as soon as possible. + * @param {Function} callback + */ +var defer = typeof Promise == 'function' ? Promise.resolve().then.bind(Promise.resolve()) : setTimeout; + +function cloneElement(vnode, props) { + return h(vnode.nodeName, extend(extend({}, vnode.attributes), props), arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children); +} + +// DOM properties that should NOT have "px" added when numeric +var IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i; + +/** Managed queue of dirty components to be re-rendered */ + +var items = []; + +function enqueueRender(component) { + if (!component._dirty && (component._dirty = true) && items.push(component) == 1) { + (options.debounceRendering || defer)(rerender); + } +} + +function rerender() { + var p, + list = items; + items = []; + while (p = list.pop()) { + if (p._dirty) renderComponent(p); + } +} + +/** Check if two nodes are equivalent. + * @param {Element} node + * @param {VNode} vnode + * @private + */ +function isSameNodeType(node, vnode, hydrating) { + if (typeof vnode === 'string' || typeof vnode === 'number') { + return node.splitText !== undefined; + } + if (typeof vnode.nodeName === 'string') { + return !node._componentConstructor && isNamedNode(node, vnode.nodeName); + } + return hydrating || node._componentConstructor === vnode.nodeName; +} + +/** Check if an Element has a given normalized name. +* @param {Element} node +* @param {String} nodeName + */ +function isNamedNode(node, nodeName) { + return node.normalizedNodeName === nodeName || node.nodeName.toLowerCase() === nodeName.toLowerCase(); +} + +/** + * Reconstruct Component-style `props` from a VNode. + * Ensures default/fallback values from `defaultProps`: + * Own-properties of `defaultProps` not present in `vnode.attributes` are added. + * @param {VNode} vnode + * @returns {Object} props + */ +function getNodeProps(vnode) { + var props = extend({}, vnode.attributes); + props.children = vnode.children; + + var defaultProps = vnode.nodeName.defaultProps; + if (defaultProps !== undefined) { + for (var i in defaultProps) { + if (props[i] === undefined) { + props[i] = defaultProps[i]; + } + } + } + + return props; +} + +/** Create an element with the given nodeName. + * @param {String} nodeName + * @param {Boolean} [isSvg=false] If `true`, creates an element within the SVG namespace. + * @returns {Element} node + */ +function createNode(nodeName, isSvg) { + var node = isSvg ? document.createElementNS('http://www.w3.org/2000/svg', nodeName) : document.createElement(nodeName); + node.normalizedNodeName = nodeName; + return node; +} + +/** Remove a child node from its parent if attached. + * @param {Element} node The node to remove + */ +function removeNode(node) { + var parentNode = node.parentNode; + if (parentNode) parentNode.removeChild(node); +} + +/** Set a named attribute on the given Node, with special behavior for some names and event handlers. + * If `value` is `null`, the attribute/handler will be removed. + * @param {Element} node An element to mutate + * @param {string} name The name/key to set, such as an event or attribute name + * @param {any} old The last value that was set for this name/node pair + * @param {any} value An attribute value, such as a function to be used as an event handler + * @param {Boolean} isSvg Are we currently diffing inside an svg? + * @private + */ +function setAccessor(node, name, old, value, isSvg) { + if (name === 'className') name = 'class'; + + if (name === 'key') { + // ignore + } else if (name === 'ref') { + if (old) old(null); + if (value) value(node); + } else if (name === 'class' && !isSvg) { + node.className = value || ''; + } else if (name === 'style') { + if (!value || typeof value === 'string' || typeof old === 'string') { + node.style.cssText = value || ''; + } + if (value && typeof value === 'object') { + if (typeof old !== 'string') { + for (var i in old) { + if (!(i in value)) node.style[i] = ''; + } + } + for (var i in value) { + node.style[i] = typeof value[i] === 'number' && IS_NON_DIMENSIONAL.test(i) === false ? value[i] + 'px' : value[i]; + } + } + } else if (name === 'dangerouslySetInnerHTML') { + if (value) node.innerHTML = value.__html || ''; + } else if (name[0] == 'o' && name[1] == 'n') { + var useCapture = name !== (name = name.replace(/Capture$/, '')); + name = name.toLowerCase().substring(2); + if (value) { + if (!old) node.addEventListener(name, eventProxy, useCapture); + } else { + node.removeEventListener(name, eventProxy, useCapture); + } + (node._listeners || (node._listeners = {}))[name] = value; + } else if (name !== 'list' && name !== 'type' && !isSvg && name in node) { + setProperty(node, name, value == null ? '' : value); + if (value == null || value === false) node.removeAttribute(name); + } else { + var ns = isSvg && name !== (name = name.replace(/^xlink\:?/, '')); + if (value == null || value === false) { + if (ns) node.removeAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase());else node.removeAttribute(name); + } else if (typeof value !== 'function') { + if (ns) node.setAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase(), value);else node.setAttribute(name, value); + } + } +} + +/** Attempt to set a DOM property to the given value. + * IE & FF throw for certain property-value combinations. + */ +function setProperty(node, name, value) { + try { + node[name] = value; + } catch (e) {} +} + +/** Proxy an event to hooked event handlers + * @private + */ +function eventProxy(e) { + return this._listeners[e.type](options.event && options.event(e) || e); +} + +/** Queue of components that have been mounted and are awaiting componentDidMount */ +var mounts = []; + +/** Diff recursion count, used to track the end of the diff cycle. */ +var diffLevel = 0; + +/** Global flag indicating if the diff is currently within an SVG */ +var isSvgMode = false; + +/** Global flag indicating if the diff is performing hydration */ +var hydrating = false; + +/** Invoke queued componentDidMount lifecycle methods */ +function flushMounts() { + var c; + while (c = mounts.pop()) { + if (options.afterMount) options.afterMount(c); + if (c.componentDidMount) c.componentDidMount(); + } +} + +/** Apply differences in a given vnode (and it's deep children) to a real DOM Node. + * @param {Element} [dom=null] A DOM node to mutate into the shape of the `vnode` + * @param {VNode} vnode A VNode (with descendants forming a tree) representing the desired DOM structure + * @returns {Element} dom The created/mutated element + * @private + */ +function diff(dom, vnode, context, mountAll, parent, componentRoot) { + // diffLevel having been 0 here indicates initial entry into the diff (not a subdiff) + if (!diffLevel++) { + // when first starting the diff, check if we're diffing an SVG or within an SVG + isSvgMode = parent != null && parent.ownerSVGElement !== undefined; + + // hydration is indicated by the existing element to be diffed not having a prop cache + hydrating = dom != null && !('__preactattr_' in dom); + } + + var ret = idiff(dom, vnode, context, mountAll, componentRoot); + + // append the element if its a new parent + if (parent && ret.parentNode !== parent) parent.appendChild(ret); + + // diffLevel being reduced to 0 means we're exiting the diff + if (! --diffLevel) { + hydrating = false; + // invoke queued componentDidMount lifecycle methods + if (!componentRoot) flushMounts(); + } + + return ret; +} + +/** Internals of `diff()`, separated to allow bypassing diffLevel / mount flushing. */ +function idiff(dom, vnode, context, mountAll, componentRoot) { + var out = dom, + prevSvgMode = isSvgMode; + + // empty values (null, undefined, booleans) render as empty Text nodes + if (vnode == null || typeof vnode === 'boolean') vnode = ''; + + // Fast case: Strings & Numbers create/update Text nodes. + if (typeof vnode === 'string' || typeof vnode === 'number') { + + // update if it's already a Text node: + if (dom && dom.splitText !== undefined && dom.parentNode && (!dom._component || componentRoot)) { + /* istanbul ignore if */ /* Browser quirk that can't be covered: https://github.com/developit/preact/commit/fd4f21f5c45dfd75151bd27b4c217d8003aa5eb9 */ + if (dom.nodeValue != vnode) { + dom.nodeValue = vnode; + } + } else { + // it wasn't a Text node: replace it with one and recycle the old Element + out = document.createTextNode(vnode); + if (dom) { + if (dom.parentNode) dom.parentNode.replaceChild(out, dom); + recollectNodeTree(dom, true); + } + } + + out['__preactattr_'] = true; + + return out; + } + + // If the VNode represents a Component, perform a component diff: + var vnodeName = vnode.nodeName; + if (typeof vnodeName === 'function') { + return buildComponentFromVNode(dom, vnode, context, mountAll); + } + + // Tracks entering and exiting SVG namespace when descending through the tree. + isSvgMode = vnodeName === 'svg' ? true : vnodeName === 'foreignObject' ? false : isSvgMode; + + // If there's no existing element or it's the wrong type, create a new one: + vnodeName = String(vnodeName); + if (!dom || !isNamedNode(dom, vnodeName)) { + out = createNode(vnodeName, isSvgMode); + + if (dom) { + // move children into the replacement node + while (dom.firstChild) { + out.appendChild(dom.firstChild); + } // if the previous Element was mounted into the DOM, replace it inline + if (dom.parentNode) dom.parentNode.replaceChild(out, dom); + + // recycle the old element (skips non-Element node types) + recollectNodeTree(dom, true); + } + } + + var fc = out.firstChild, + props = out['__preactattr_'], + vchildren = vnode.children; + + if (props == null) { + props = out['__preactattr_'] = {}; + for (var a = out.attributes, i = a.length; i--;) { + props[a[i].name] = a[i].value; + } + } + + // Optimization: fast-path for elements containing a single TextNode: + if (!hydrating && vchildren && vchildren.length === 1 && typeof vchildren[0] === 'string' && fc != null && fc.splitText !== undefined && fc.nextSibling == null) { + if (fc.nodeValue != vchildren[0]) { + fc.nodeValue = vchildren[0]; + } + } + // otherwise, if there are existing or new children, diff them: + else if (vchildren && vchildren.length || fc != null) { + innerDiffNode(out, vchildren, context, mountAll, hydrating || props.dangerouslySetInnerHTML != null); + } + + // Apply attributes/props from VNode to the DOM Element: + diffAttributes(out, vnode.attributes, props); + + // restore previous SVG mode: (in case we're exiting an SVG namespace) + isSvgMode = prevSvgMode; + + return out; +} + +/** Apply child and attribute changes between a VNode and a DOM Node to the DOM. + * @param {Element} dom Element whose children should be compared & mutated + * @param {Array} vchildren Array of VNodes to compare to `dom.childNodes` + * @param {Object} context Implicitly descendant context object (from most recent `getChildContext()`) + * @param {Boolean} mountAll + * @param {Boolean} isHydrating If `true`, consumes externally created elements similar to hydration + */ +function innerDiffNode(dom, vchildren, context, mountAll, isHydrating) { + var originalChildren = dom.childNodes, + children = [], + keyed = {}, + keyedLen = 0, + min = 0, + len = originalChildren.length, + childrenLen = 0, + vlen = vchildren ? vchildren.length : 0, + j, + c, + f, + vchild, + child; + + // Build up a map of keyed children and an Array of unkeyed children: + if (len !== 0) { + for (var i = 0; i < len; i++) { + var _child = originalChildren[i], + props = _child['__preactattr_'], + key = vlen && props ? _child._component ? _child._component.__key : props.key : null; + if (key != null) { + keyedLen++; + keyed[key] = _child; + } else if (props || (_child.splitText !== undefined ? isHydrating ? _child.nodeValue.trim() : true : isHydrating)) { + children[childrenLen++] = _child; + } + } + } + + if (vlen !== 0) { + for (var i = 0; i < vlen; i++) { + vchild = vchildren[i]; + child = null; + + // attempt to find a node based on key matching + var key = vchild.key; + if (key != null) { + if (keyedLen && keyed[key] !== undefined) { + child = keyed[key]; + keyed[key] = undefined; + keyedLen--; + } + } + // attempt to pluck a node of the same type from the existing children + else if (!child && min < childrenLen) { + for (j = min; j < childrenLen; j++) { + if (children[j] !== undefined && isSameNodeType(c = children[j], vchild, isHydrating)) { + child = c; + children[j] = undefined; + if (j === childrenLen - 1) childrenLen--; + if (j === min) min++; + break; + } + } + } + + // morph the matched/found/created DOM child to match vchild (deep) + child = idiff(child, vchild, context, mountAll); + + f = originalChildren[i]; + if (child && child !== dom && child !== f) { + if (f == null) { + dom.appendChild(child); + } else if (child === f.nextSibling) { + removeNode(f); + } else { + dom.insertBefore(child, f); + } + } + } + } + + // remove unused keyed children: + if (keyedLen) { + for (var i in keyed) { + if (keyed[i] !== undefined) recollectNodeTree(keyed[i], false); + } + } + + // remove orphaned unkeyed children: + while (min <= childrenLen) { + if ((child = children[childrenLen--]) !== undefined) recollectNodeTree(child, false); + } +} + +/** Recursively recycle (or just unmount) a node and its descendants. + * @param {Node} node DOM node to start unmount/removal from + * @param {Boolean} [unmountOnly=false] If `true`, only triggers unmount lifecycle, skips removal + */ +function recollectNodeTree(node, unmountOnly) { + var component = node._component; + if (component) { + // if node is owned by a Component, unmount that component (ends up recursing back here) + unmountComponent(component); + } else { + // If the node's VNode had a ref function, invoke it with null here. + // (this is part of the React spec, and smart for unsetting references) + if (node['__preactattr_'] != null && node['__preactattr_'].ref) node['__preactattr_'].ref(null); + + if (unmountOnly === false || node['__preactattr_'] == null) { + removeNode(node); + } + + removeChildren(node); + } +} + +/** Recollect/unmount all children. + * - we use .lastChild here because it causes less reflow than .firstChild + * - it's also cheaper than accessing the .childNodes Live NodeList + */ +function removeChildren(node) { + node = node.lastChild; + while (node) { + var next = node.previousSibling; + recollectNodeTree(node, true); + node = next; + } +} + +/** Apply differences in attributes from a VNode to the given DOM Element. + * @param {Element} dom Element with attributes to diff `attrs` against + * @param {Object} attrs The desired end-state key-value attribute pairs + * @param {Object} old Current/previous attributes (from previous VNode or element's prop cache) + */ +function diffAttributes(dom, attrs, old) { + var name; + + // remove attributes no longer present on the vnode by setting them to undefined + for (name in old) { + if (!(attrs && attrs[name] != null) && old[name] != null) { + setAccessor(dom, name, old[name], old[name] = undefined, isSvgMode); + } + } + + // add new & update changed attributes + for (name in attrs) { + if (name !== 'children' && name !== 'innerHTML' && (!(name in old) || attrs[name] !== (name === 'value' || name === 'checked' ? dom[name] : old[name]))) { + setAccessor(dom, name, old[name], old[name] = attrs[name], isSvgMode); + } + } +} + +/** Retains a pool of Components for re-use, keyed on component name. + * Note: since component names are not unique or even necessarily available, these are primarily a form of sharding. + * @private + */ +var components = {}; + +/** Reclaim a component for later re-use by the recycler. */ +function collectComponent(component) { + var name = component.constructor.name; + (components[name] || (components[name] = [])).push(component); +} + +/** Create a component. Normalizes differences between PFC's and classful Components. */ +function createComponent(Ctor, props, context) { + var list = components[Ctor.name], + inst; + + if (Ctor.prototype && Ctor.prototype.render) { + inst = new Ctor(props, context); + Component.call(inst, props, context); + } else { + inst = new Component(props, context); + inst.constructor = Ctor; + inst.render = doRender; + } + + if (list) { + for (var i = list.length; i--;) { + if (list[i].constructor === Ctor) { + inst.nextBase = list[i].nextBase; + list.splice(i, 1); + break; + } + } + } + return inst; +} + +/** The `.render()` method for a PFC backing instance. */ +function doRender(props, state, context) { + return this.constructor(props, context); +} + +/** Set a component's `props` (generally derived from JSX attributes). + * @param {Object} props + * @param {Object} [opts] + * @param {boolean} [opts.renderSync=false] If `true` and {@link options.syncComponentUpdates} is `true`, triggers synchronous rendering. + * @param {boolean} [opts.render=true] If `false`, no render will be triggered. + */ +function setComponentProps(component, props, opts, context, mountAll) { + if (component._disable) return; + component._disable = true; + + if (component.__ref = props.ref) delete props.ref; + if (component.__key = props.key) delete props.key; + + if (!component.base || mountAll) { + if (component.componentWillMount) component.componentWillMount(); + } else if (component.componentWillReceiveProps) { + component.componentWillReceiveProps(props, context); + } + + if (context && context !== component.context) { + if (!component.prevContext) component.prevContext = component.context; + component.context = context; + } + + if (!component.prevProps) component.prevProps = component.props; + component.props = props; + + component._disable = false; + + if (opts !== 0) { + if (opts === 1 || options.syncComponentUpdates !== false || !component.base) { + renderComponent(component, 1, mountAll); + } else { + enqueueRender(component); + } + } + + if (component.__ref) component.__ref(component); +} + +/** Render a Component, triggering necessary lifecycle events and taking High-Order Components into account. + * @param {Component} component + * @param {Object} [opts] + * @param {boolean} [opts.build=false] If `true`, component will build and store a DOM node if not already associated with one. + * @private + */ +function renderComponent(component, opts, mountAll, isChild) { + if (component._disable) return; + + var props = component.props, + state = component.state, + context = component.context, + previousProps = component.prevProps || props, + previousState = component.prevState || state, + previousContext = component.prevContext || context, + isUpdate = component.base, + nextBase = component.nextBase, + initialBase = isUpdate || nextBase, + initialChildComponent = component._component, + skip = false, + rendered, + inst, + cbase; + + // if updating + if (isUpdate) { + component.props = previousProps; + component.state = previousState; + component.context = previousContext; + if (opts !== 2 && component.shouldComponentUpdate && component.shouldComponentUpdate(props, state, context) === false) { + skip = true; + } else if (component.componentWillUpdate) { + component.componentWillUpdate(props, state, context); + } + component.props = props; + component.state = state; + component.context = context; + } + + component.prevProps = component.prevState = component.prevContext = component.nextBase = null; + component._dirty = false; + + if (!skip) { + rendered = component.render(props, state, context); + + // context to pass to the child, can be updated via (grand-)parent component + if (component.getChildContext) { + context = extend(extend({}, context), component.getChildContext()); + } + + var childComponent = rendered && rendered.nodeName, + toUnmount, + base; + + if (typeof childComponent === 'function') { + // set up high order component link + + var childProps = getNodeProps(rendered); + inst = initialChildComponent; + + if (inst && inst.constructor === childComponent && childProps.key == inst.__key) { + setComponentProps(inst, childProps, 1, context, false); + } else { + toUnmount = inst; + + component._component = inst = createComponent(childComponent, childProps, context); + inst.nextBase = inst.nextBase || nextBase; + inst._parentComponent = component; + setComponentProps(inst, childProps, 0, context, false); + renderComponent(inst, 1, mountAll, true); + } + + base = inst.base; + } else { + cbase = initialBase; + + // destroy high order component link + toUnmount = initialChildComponent; + if (toUnmount) { + cbase = component._component = null; + } + + if (initialBase || opts === 1) { + if (cbase) cbase._component = null; + base = diff(cbase, rendered, context, mountAll || !isUpdate, initialBase && initialBase.parentNode, true); + } + } + + if (initialBase && base !== initialBase && inst !== initialChildComponent) { + var baseParent = initialBase.parentNode; + if (baseParent && base !== baseParent) { + baseParent.replaceChild(base, initialBase); + + if (!toUnmount) { + initialBase._component = null; + recollectNodeTree(initialBase, false); + } + } + } + + if (toUnmount) { + unmountComponent(toUnmount); + } + + component.base = base; + if (base && !isChild) { + var componentRef = component, + t = component; + while (t = t._parentComponent) { + (componentRef = t).base = base; + } + base._component = componentRef; + base._componentConstructor = componentRef.constructor; + } + } + + if (!isUpdate || mountAll) { + mounts.unshift(component); + } else if (!skip) { + // Ensure that pending componentDidMount() hooks of child components + // are called before the componentDidUpdate() hook in the parent. + // Note: disabled as it causes duplicate hooks, see https://github.com/developit/preact/issues/750 + // flushMounts(); + + if (component.componentDidUpdate) { + component.componentDidUpdate(previousProps, previousState, previousContext); + } + if (options.afterUpdate) options.afterUpdate(component); + } + + if (component._renderCallbacks != null) { + while (component._renderCallbacks.length) { + component._renderCallbacks.pop().call(component); + } + } + + if (!diffLevel && !isChild) flushMounts(); +} + +/** Apply the Component referenced by a VNode to the DOM. + * @param {Element} dom The DOM node to mutate + * @param {VNode} vnode A Component-referencing VNode + * @returns {Element} dom The created/mutated element + * @private + */ +function buildComponentFromVNode(dom, vnode, context, mountAll) { + var c = dom && dom._component, + originalComponent = c, + oldDom = dom, + isDirectOwner = c && dom._componentConstructor === vnode.nodeName, + isOwner = isDirectOwner, + props = getNodeProps(vnode); + while (c && !isOwner && (c = c._parentComponent)) { + isOwner = c.constructor === vnode.nodeName; + } + + if (c && isOwner && (!mountAll || c._component)) { + setComponentProps(c, props, 3, context, mountAll); + dom = c.base; + } else { + if (originalComponent && !isDirectOwner) { + unmountComponent(originalComponent); + dom = oldDom = null; + } + + c = createComponent(vnode.nodeName, props, context); + if (dom && !c.nextBase) { + c.nextBase = dom; + // passing dom/oldDom as nextBase will recycle it if unused, so bypass recycling on L229: + oldDom = null; + } + setComponentProps(c, props, 1, context, mountAll); + dom = c.base; + + if (oldDom && dom !== oldDom) { + oldDom._component = null; + recollectNodeTree(oldDom, false); + } + } + + return dom; +} + +/** Remove a component from the DOM and recycle it. + * @param {Component} component The Component instance to unmount + * @private + */ +function unmountComponent(component) { + if (options.beforeUnmount) options.beforeUnmount(component); + + var base = component.base; + + component._disable = true; + + if (component.componentWillUnmount) component.componentWillUnmount(); + + component.base = null; + + // recursively tear down & recollect high-order component children: + var inner = component._component; + if (inner) { + unmountComponent(inner); + } else if (base) { + if (base['__preactattr_'] && base['__preactattr_'].ref) base['__preactattr_'].ref(null); + + component.nextBase = base; + + removeNode(base); + collectComponent(component); + + removeChildren(base); + } + + if (component.__ref) component.__ref(null); +} + +/** Base Component class. + * Provides `setState()` and `forceUpdate()`, which trigger rendering. + * @public + * + * @example + * class MyFoo extends Component { + * render(props, state) { + * return

              ; + * } + * } + */ +function Component(props, context) { + this._dirty = true; + + /** @public + * @type {object} + */ + this.context = context; + + /** @public + * @type {object} + */ + this.props = props; + + /** @public + * @type {object} + */ + this.state = this.state || {}; +} + +extend(Component.prototype, { + + /** Returns a `boolean` indicating if the component should re-render when receiving the given `props` and `state`. + * @param {object} nextProps + * @param {object} nextState + * @param {object} nextContext + * @returns {Boolean} should the component re-render + * @name shouldComponentUpdate + * @function + */ + + /** Update component state by copying properties from `state` to `this.state`. + * @param {object} state A hash of state properties to update with new values + * @param {function} callback A function to be called once component state is updated + */ + setState: function setState(state, callback) { + var s = this.state; + if (!this.prevState) this.prevState = extend({}, s); + extend(s, typeof state === 'function' ? state(s, this.props) : state); + if (callback) (this._renderCallbacks = this._renderCallbacks || []).push(callback); + enqueueRender(this); + }, + + + /** Immediately perform a synchronous re-render of the component. + * @param {function} callback A function to be called after component is re-rendered. + * @private + */ + forceUpdate: function forceUpdate(callback) { + if (callback) (this._renderCallbacks = this._renderCallbacks || []).push(callback); + renderComponent(this, 2); + }, + + + /** Accepts `props` and `state`, and returns a new Virtual DOM tree to build. + * Virtual DOM is generally constructed via [JSX](http://jasonformat.com/wtf-is-jsx). + * @param {object} props Props (eg: JSX attributes) received from parent element/component + * @param {object} state The component's current state + * @param {object} context Context object (if a parent component has provided context) + * @returns VNode + */ + render: function render() {} +}); + +/** Render JSX into a `parent` Element. + * @param {VNode} vnode A (JSX) VNode to render + * @param {Element} parent DOM element to render into + * @param {Element} [merge] Attempt to re-use an existing DOM tree rooted at `merge` + * @public + * + * @example + * // render a div into : + * render(
              hello!
              , document.body); + * + * @example + * // render a "Thing" component into #foo: + * const Thing = ({ name }) => { name }; + * render(, document.querySelector('#foo')); + */ +function render(vnode, parent, merge) { + return diff(merge, vnode, {}, false, parent, false); +} + +var preact = { + h: h, + createElement: h, + cloneElement: cloneElement, + Component: Component, + render: render, + rerender: rerender, + options: options +}; + + + + + +var preact_esm = Object.freeze({ + h: h, + createElement: h, + cloneElement: cloneElement, + Component: Component, + render: render, + rerender: rerender, + options: options, + default: preact +}); + +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + +/** + * Use invariant() to assert state which your program assumes to be true. + * + * Provide sprintf-style format (only %s is supported) and arguments + * to provide information about what broke and what you were + * expecting. + * + * The invariant message will be stripped in production, but the invariant + * will remain to ensure logic does not differ in production. + */ + +var validateFormat = function validateFormat(format) {}; + +{ + validateFormat = function validateFormat(format) { + if (format === undefined) { + throw new Error('invariant requires an error message argument'); + } + }; +} + +function invariant(condition, format, a, b, c, d, e, f) { + validateFormat(format); + + if (!condition) { + var error; + if (format === undefined) { + error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.'); + } else { + var args = [a, b, c, d, e, f]; + var argIndex = 0; + error = new Error(format.replace(/%s/g, function () { + return args[argIndex++]; + })); + error.name = 'Invariant Violation'; + } + + error.framesToPop = 1; // we don't care about invariant's own frame + throw error; + } +} + +var invariant_1 = invariant; + +var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; + + + + + +function createCommonjsModule(fn, module) { + return module = { exports: {} }, fn(module, module.exports), module.exports; +} + +var require$$0 = ( preact_esm && preact ) || preact_esm; + +var preactMarkup = createCommonjsModule(function (module, exports) { +(function (global, factory) { + module.exports = factory(require$$0); +}(commonjsGlobal, function (preact) { var parserDoc = void 0; + + function parseMarkup(markup, type) { + var doc = void 0, + mime = type === 'html' ? 'text/html' : 'application/xml', + parserError = void 0, + wrappedMarkup = void 0, + tag = void 0; + + if (type === 'html') { + tag = 'body'; + wrappedMarkup = '\n' + markup + ''; + } else { + tag = 'xml'; + wrappedMarkup = '\n' + markup + ''; + } + + try { + doc = new DOMParser().parseFromString(wrappedMarkup, mime); + } catch (err) { + parserError = err; + } + + if (!doc && type === 'html') { + doc = parserDoc || (parserDoc = buildParserFrame()); + doc.open(); + doc.write(wrappedMarkup); + doc.close(); + } + + if (!doc) return; + + var out = doc.getElementsByTagName(tag)[0], + fc = out.firstChild; + + if (markup && !fc) { + out.error = 'Document parse failed.'; + } + + if (fc && String(fc.nodeName).toLowerCase() === 'parsererror') { + fc.removeChild(fc.firstChild); + fc.removeChild(fc.lastChild); + out.error = fc.textContent || fc.nodeValue || parserError || 'Unknown error'; + + out.removeChild(fc); + } + + return out; + } + + function buildParserFrame() { + if (document.implementation && document.implementation.createHTMLDocument) { + return document.implementation.createHTMLDocument(''); + } + var frame = document.createElement('iframe'); + frame.style.cssText = 'position:absolute; left:0; top:-999em; width:1px; height:1px; overflow:hidden;'; + frame.setAttribute('sandbox', 'allow-forms'); + document.body.appendChild(frame); + return frame.contentWindow.document; + } + + var EMPTY_OBJ$1 = {}; + + function toVdom(node, visitor, h, options) { + walk.visitor = visitor; + walk.h = h; + walk.options = options || EMPTY_OBJ$1; + return walk(node); + } + + function walk(n, index, arr) { + if (n.nodeType === 3) { + var text = 'textContent' in n ? n.textContent : n.nodeValue || ''; + + if (walk.options.trim !== false) { + var isFirstOrLast = index === 0 || index === arr.length - 1; + + if (text.match(/^[\s\n]+$/g) && walk.options.trim !== 'all') { + text = ' '; + } else { + text = text.replace(/(^[\s\n]+|[\s\n]+$)/g, walk.options.trim === 'all' || isFirstOrLast ? '' : ' '); + } + + if ((!text || text === ' ') && arr.length > 1 && isFirstOrLast) return null; + } + return text; + } + if (n.nodeType !== 1) return null; + var nodeName = String(n.nodeName).toLowerCase(); + + if (nodeName === 'script' && !walk.options.allowScripts) return null; + + var out = walk.h(nodeName, getProps(n.attributes), walkChildren(n.childNodes)); + if (walk.visitor) walk.visitor(out); + return out; + } + + function getProps(attrs) { + var len = attrs && attrs.length; + if (!len) return null; + var props = {}; + for (var i = 0; i < len; i++) { + var _attrs$i = attrs[i]; + var name = _attrs$i.name; + var value = _attrs$i.value; + + if (value === '') value = true; + if (name.substring(0, 2) === 'on' && walk.options.allowEvents) { + value = new Function(value); + } + props[name] = value; + } + return props; + } + + function walkChildren(children) { + var c = children && Array.prototype.map.call(children, walk).filter(exists); + return c && c.length ? c : null; + } + + var exists = function (x) { + return x; + }; + + var EMPTY_OBJ = {}; + + function markupToVdom(markup, type, reviver, map, options) { + var dom = parseMarkup(markup, type); + + if (dom && dom.error) { + throw new Error(dom.error); + } + + var body = dom && dom.body || dom; + visitor.map = map || EMPTY_OBJ; + var vdom = body && toVdom(body, visitor, reviver, options); + visitor.map = null; + + return vdom && vdom.children || null; + } + + function toCamelCase(name) { + return name.replace(/-(.)/g, function (match, letter) { + return letter.toUpperCase(); + }); + } + + function visitor(node) { + var name = node.nodeName.toLowerCase(), + map = visitor.map; + if (map && map.hasOwnProperty(name)) { + node.nodeName = map[name]; + node.attributes = Object.keys(node.attributes || {}).reduce(function (attrs, attrName) { + attrs[toCamelCase(attrName)] = node.attributes[attrName]; + return attrs; + }, {}); + } else { + node.nodeName = name.replace(/[^a-z0-9-]/i, ''); + } + } + + var classCallCheck = function (instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + }; + + var inherits = function (subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); + } + + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + enumerable: false, + writable: true, + configurable: true + } + }); + if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; + }; + + var objectWithoutProperties = function (obj, keys) { + var target = {}; + + for (var i in obj) { + if (keys.indexOf(i) >= 0) continue; + if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; + target[i] = obj[i]; + } + + return target; + }; + + var possibleConstructorReturn = function (self, call) { + if (!self) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return call && (typeof call === "object" || typeof call === "function") ? call : self; + }; + + var customReviver = void 0; + + var Markup = function (_Component) { + inherits(Markup, _Component); + + function Markup() { + classCallCheck(this, Markup); + return possibleConstructorReturn(this, _Component.apply(this, arguments)); + } + + Markup.setReviver = function setReviver(h) { + customReviver = h; + }; + + Markup.prototype.shouldComponentUpdate = function shouldComponentUpdate(_ref) { + var wrap = _ref.wrap; + var type = _ref.type; + var markup = _ref.markup; + + var p = this.props; + return wrap !== p.wrap || type !== p.type || markup !== p.markup; + }; + + Markup.prototype.setComponents = function setComponents(components) { + this.map = {}; + if (components) { + for (var i in components) { + if (components.hasOwnProperty(i)) { + var name = i.replace(/([A-Z]+)([A-Z][a-z0-9])|([a-z0-9]+)([A-Z])/g, '$1$3-$2$4').toLowerCase(); + this.map[name] = components[i]; + } + } + } + }; + + Markup.prototype.render = function render(_ref2) { + var _ref2$wrap = _ref2.wrap; + var wrap = _ref2$wrap === undefined ? true : _ref2$wrap; + var type = _ref2.type; + var markup = _ref2.markup; + var components = _ref2.components; + var reviver = _ref2.reviver; + var onError = _ref2.onError; + var allowScripts = _ref2['allow-scripts']; + var allowEvents = _ref2['allow-events']; + var trim = _ref2.trim; + var props = objectWithoutProperties(_ref2, ['wrap', 'type', 'markup', 'components', 'reviver', 'onError', 'allow-scripts', 'allow-events', 'trim']); + + var h = reviver || this.reviver || this.constructor.prototype.reviver || customReviver || preact.h, + vdom = void 0; + + this.setComponents(components); + + var options = { + allowScripts: allowScripts, + allowEvents: allowEvents, + trim: trim + }; + + try { + vdom = markupToVdom(markup, type, h, this.map, options); + } catch (error) { + if (onError) { + onError({ error: error }); + } else if (typeof console !== 'undefined' && console.error) { + console.error('preact-markup: ' + error); + } + } + + if (wrap === false) return vdom && vdom[0] || null; + + var c = props.hasOwnProperty('className') ? 'className' : 'class', + cl = props[c]; + if (!cl) props[c] = 'markup';else if (cl.splice) cl.splice(0, 0, 'markup');else if (typeof cl === 'string') props[c] += ' markup';else if (typeof cl === 'object') cl.markup = true; + + return h('div', props, vdom || null); + }; + + return Markup; + }(preact.Component); + + return Markup; + +})); + +}); + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { + return typeof obj; +} : function (obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; +}; + + + + + + + + + + + +var classCallCheck = function (instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +}; + +var 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; + }; +}(); + + + + + + + +var _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; +}; + + + +var inherits = function (subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); + } + + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + enumerable: false, + writable: true, + configurable: true + } + }); + if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; +}; + + + + + + + + + + + +var possibleConstructorReturn = function (self, call) { + if (!self) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return call && (typeof call === "object" || typeof call === "function") ? call : self; +}; + +/** + * Minimal implementation of Mustache templates + * Taken from https://github.com/aishikaty/tiny-mustache + */ +/* eslint-disable */ +function mustache(template, self, parent, invert) { + var render = mustache; + var output = ''; + var i = void 0; + + function get$$1(ctx, path) { + path = path.pop ? path : path.split('.'); + ctx = ctx[path.shift()] || ''; + return 0 in path ? get$$1(ctx, path) : ctx; + } + + self = Array.isArray(self) ? self : self ? [self] : []; + self = invert ? 0 in self ? [] : [1] : self; + + for (i = 0; i < self.length; i++) { + var childCode = ''; + var depth = 0; + var inverted; + var ctx = _typeof(self[i]) === 'object' ? self[i] : {}; + ctx = Object.assign({}, parent, ctx); + ctx[''] = { '': self[i] }; + + template.replace(/([\s\S]*?)({{((\/)|(\^)|#)(.*?)}}|$)/g, function (match, code, y, z, close, invert, name) { + if (!depth) { + output += code.replace(/{{{(.*?)}}}|{{(!?)(&?)(>?)(.*?)}}/g, function (match, raw, comment, isRaw, partial, name) { + return raw ? get$$1(ctx, raw) : isRaw ? get$$1(ctx, name) : partial ? render(get$$1(ctx, name), ctx) : !comment ? new Option(get$$1(ctx, name)).innerHTML : ''; + }); + inverted = invert; + } else { + childCode += depth && !close || depth > 1 ? match : code; + } + if (close) { + if (! --depth) { + name = get$$1(ctx, name); + if (/^f/.test(typeof name === 'undefined' ? 'undefined' : _typeof(name))) { + output += name.call(ctx, childCode, function (template) { + return render(template, ctx); + }); + } else { + output += render(childCode, name, ctx, inverted); + } + childCode = ''; + } + } else { + ++depth; + } + }); + } + return output; +} + +// This is used for emptying VDOM +var Null = function Null() { + return null; +}; + +/* eslint-disable no-underscore-dangle */ + +var PillarBaseElement = function (_HTMLElement) { + inherits(PillarBaseElement, _HTMLElement); + + function PillarBaseElement() { + var _ref; + + var _temp, _this, _ret; + + classCallCheck(this, PillarBaseElement); + + for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _ret = (_temp = (_this = possibleConstructorReturn(this, (_ref = PillarBaseElement.__proto__ || Object.getPrototypeOf(PillarBaseElement)).call.apply(_ref, [this].concat(args))), _this), _this.props = { + flags: {} + }, _temp), possibleConstructorReturn(_this, _ret); + } + + createClass(PillarBaseElement, [{ + key: 'convertToVdom', + + + /** + * Convert to VDOM + * + * @description Converts given HTML node into a Virtual DOM node + * @param {HTMLElement} element - Element to convert + * @param {VNode} [node] - Virtual dom node + * @returns {PillarConnectedComponent} + * @memberof Pillar + */ + value: function convertToVdom(element, node) { + if (element.nodeType === 3) return element.nodeValue; + if (element.nodeType !== 1) return null; + + var attributes = element.attributes, + childNodes = element.childNodes; + + var children = []; + + this.mapAttributesToProps(attributes); + + // If we're not using children as placeholder, go through child nodes and parse them too + if (!this.props.flags.ignoreChildren) { + for (var i = 0; i < childNodes.length; i += 1) { + children[i] = this.convertToVdom(childNodes[i], null, true); + } + } + + // @REFACTOR? This feels dirty. If not using Shadow DOM, + // existing children are appended to, instead of being overwritten by VDOM render. + // This works fine, but we need to investigate for a better way to do it. + if (!this.useShadow) { + for (var _i = 0; _i < childNodes.length; _i += 1) { + element.removeChild(childNodes[_i]); + } + } + + var ConnectedComponent = void 0; + if (node) { + ConnectedComponent = this.connectAttrsToProps(node); + } else { + ConnectedComponent = element.nodeName.toLowerCase(); + } + + var componentProps = node ? this.props : null; + + return h( + ConnectedComponent, + componentProps, + children + ); + } + + /** + * Map attributes to props + * + * @description Goes through element's attributes and maps them to `this.props` and `this.flags` + * @param {NamedNodeMap} attributes + * @memberof PillarBaseElement + */ + + }, { + key: 'mapAttributesToProps', + value: function mapAttributesToProps(attributes) { + for (var i = 0; i < attributes.length; i += 1) { + invariant_1(attributes[i].name !== 'flags', 'Attribute "flags" is reserved'); + if (attributes[i].name.indexOf('p:') === -1) { + // Map attributes to props + var name = PillarBaseElement.dashToCamel(attributes[i].name); + this.props[name] = attributes[i].value; + } else { + // Map flags separately + var flagName = PillarBaseElement.dashToCamel(attributes[i].name.replace('p:', '')); + this.props.flags[flagName] = attributes[i].value || true; // UIKit-style implicit boolean + } + } + } + + // Fires when custom element creates + + }, { + key: 'connectedCallback', + value: function connectedCallback() { + this.initialize(); + } + + // Fires when custom element is destroyed + + }, { + key: 'disconnectedCallback', + value: function disconnectedCallback() { + render(h(Null, null), this.shadow || this, this.root); + } + + /** + * Initialize + * @description Initialize Pillar web component + * @memberof Pillar + */ + + }, { + key: 'initialize', + value: function initialize() { + var _this2 = this; + + this.observer = new MutationObserver(function (mutations) { + if (_this2.props.flags.protected) { + // Lock external mutations + invariant_1(false, 'Attempting to change attributes of protected component.'); + // @TODO Revert attributes? + } else { + var newProps = []; + mutations.forEach(function (mutation) { + var attributeName = mutation.attributeName; + + newProps.push({ + name: attributeName, + value: _this2.attributes[attributeName] ? _this2.attributes[attributeName].value : null + }); + }); + + _this2.mapAttributesToProps(newProps); + + if (_this2.passPropsToVdom) { + _this2.passPropsToVdom(_this2.props); + if (_this2.__pillar__) { + // Wait till it's for sure rendered, then pass it to dev tools + setTimeout(function () { + return _this2.hookToDevTools(_this2.__pillar__); + }, 200); + } + } + } + }); + + // Activate observer + this.observer.observe(this, { attributes: true, attributeOldValue: true }); + + if (this.useShadow) { + invariant_1(this.useShadow === 'open' || this.useShadow === 'closed', 'Shadow DOM mode is expected to be "open" or "closed", but got %s', this.useShadow); + this.shadow = this.attachShadow({ mode: this.useShadow }); + } + + var snapshot = void 0; + try { + snapshot = this.vdomComponent(this.props); + } catch (e) { + // VDOM component is a class, so moving on + } + + if (this.vdomComponent.prototype.render || (typeof snapshot === 'undefined' ? 'undefined' : _typeof(snapshot)) === 'object') { + this.renderComponent(); + } else if (typeof snapshot === 'string') { + if (snapshot.charAt(0) === '#') { + this.renderTemplate(snapshot.slice(1)); + } else { + this.renderString(); + } + } else { + invariant_1(false, 'Component must return a JSX element, HTML string or template ID.'); + } + } + + /** + * Connect element attributes to props + * + * @description Creates a higher order component that makes element's attributes + * available in wrapped component's 'this.props', allowing reacting + * to their changes via 'componentWillReceiveProps'. + * @param {PillarComponent} WrappedComponent + * @returns {PillarConnectedComponent} + * @memberof PillarBaseElement + */ + + }, { + key: 'connectAttrsToProps', + value: function connectAttrsToProps(WrappedComponent) { + var element = this; + + // Higher order component to link props to the outside world + return function (_Component) { + inherits(PillarConnectedComponent, _Component); + + function PillarConnectedComponent() { + classCallCheck(this, PillarConnectedComponent); + + var _this3 = possibleConstructorReturn(this, (PillarConnectedComponent.__proto__ || Object.getPrototypeOf(PillarConnectedComponent)).call(this)); + + element.passPropsToVdom = _this3.reinsertProps.bind(_this3); + return _this3; + } + + /** + * Reinsert props + * + * @description Updates props from attributes and triggers re-render of wrapped component + * @param {object} attrProps + */ + + + createClass(PillarConnectedComponent, [{ + key: 'reinsertProps', + value: function reinsertProps(attrProps) { + this.setState(_extends({}, this.state, { + attrProps: attrProps + })); + } + }, { + key: 'render', + value: function render$$1() { + return h(WrappedComponent, _extends({}, this.props, this.state.attrProps)); + } + }]); + return PillarConnectedComponent; + }(Component); + } + + /** + * DevTools Hook + * + * @description Hook created element to Pillar DevTools plugin if it exists + * @memberof PillarBaseElement + */ + + }, { + key: 'hookToDevTools', + value: function hookToDevTools(existingId) { + if (window.__PILLAR_DEVTOOLS_HOOK__) { + console.log('HOOK', existingId, this.__pillar__); + var id = existingId || Math.random().toString(36).slice(2); + + window.__PILLAR_DEVTOOLS_HOOK__.elements[id] = { + name: this.localName, + props: this.props, + useShadow: this.useShadow, + innerHTML: this.useShadow ? this.shadow.innerHTML : this.innerHTML, + outerHTML: this.useShadow ? this.shadow.outerHTML : this.outerHTML + }; + + if (!window.__PILLAR_DEVTOOLS_HOOK__.attached) { + window.__PILLAR_DEVTOOLS_HOOK__.attached = true; + } + + if (!existingId) { + this.__pillar__ = id; + } else { + window.postMessage({ type: 'PILLAR_UPDATE' }, '*'); + } + } + } + + /** + * Render component + * + * @description Render JSX component. NOTE: This method is only called once. + * @memberof PillarBaseElement + */ + + }, { + key: 'renderComponent', + value: function renderComponent() { + this.root = render(this.convertToVdom(this, this.vdomComponent), this.shadow || this, this.root); + + this.hookToDevTools(); + } + + /** + * Render string + * + * @description Render contents of an HTML string. NOTE: This method is only called once. + * @memberof PillarBaseElement + */ + + }, { + key: 'renderString', + value: function renderString() { + var _this4 = this; + + this.mapAttributesToProps(this.attributes); + this.innerHTML = null; + this.root = render(h(preactMarkup, { markup: this.vdomComponent(this.props) }), this.shadow || this); + this.passPropsToVdom = function (props) { + render(h(preactMarkup, { markup: _this4.vdomComponent(props) }), _this4.shadow || _this4, _this4.root); + }; + + this.hookToDevTools(); + } + + /** + * Render Template + * + * + * @description Render template tag's content. NOTE: This method is only called once. + * @param {any} id - ID of a template tag + * @memberof PillarBaseElement + */ + + }, { + key: 'renderTemplate', + value: function renderTemplate(id) { + var _this5 = this; + + // Get an HTML string for running through Mustache + var template = document.getElementById(id).innerHTML; + + this.mapAttributesToProps(this.attributes); + this.innerHTML = null; + + this.root = render(h(preactMarkup, { markup: mustache(template, this.props), 'allow-scripts': this.allowScripts }), this.shadow || this); + + this.passPropsToVdom = function (props) { + render(h(preactMarkup, { markup: mustache(template, props), 'allow-scripts': _this5.allowScripts }), _this5.shadow || _this5, _this5.root); + }; + + this.hookToDevTools(); + } + }], [{ + key: 'dashToCamel', + + /** + * Dash to Camel case + * + * @description Convert dash-cased-string to camelCasedString + * @static + * @param {string} dash - string to convert + * @returns {string} + * @memberof Pillar + */ + value: function dashToCamel(dash) { + return dash.indexOf('-') < 0 ? dash : dash.toLowerCase().replace(/-[aA-zZ]/g, function (m) { + return m[1].toUpperCase(); + }); + } + + /** + * Camel to Dash case + * + * @description Convert camelCasedString to dash-cased-string + * @static + * @param {string} camel - string to convert + * @returns {string} + * @memberof Pillar + */ + + }, { + key: 'camelToDash', + value: function camelToDash(camel) { + return camel.replace(/([A-Z])/g, '-$1').toLowerCase(); + } + }]); + return PillarBaseElement; +}(HTMLElement); + +var Pillar = function (_Component) { + inherits(Pillar, _Component); + createClass(Pillar, null, [{ + key: 'register', + + /** + * Register tag + * + * @description Register custom element as an HTML tag with the name specified + * @static + * @param {any} tagName - Name of an HTML tag to register + * @param {Pillar} TargetComponent - Component to register as a tag + * @memberof Pillar + */ + value: function register(TargetComponent, tagName) { + var elementOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + + if (typeof TargetComponent === 'string') { + Pillar.invariant(tagName, 'When using a template tag, you need to explicitly define tag name to register'); + } + var elementName = tagName || PillarBaseElement.camelToDash(TargetComponent.name).slice(1); + + Pillar.invariant(!window.customElements.get(elementName), 'Element "' + tagName + '" has already been defined. You can only define element once.'); + Pillar.invariant(TargetComponent, 'You need to pass the component to create element from.'); + + // Define custom element + window.customElements.define(elementName, Pillar.createElement(TargetComponent, elementOptions)); + } + }, { + key: 'createElement', + value: function createElement(TargetComponent, elementOptions) { + return function (_PillarBaseElement) { + inherits(PillarElement, _PillarBaseElement); + + function PillarElement() { + classCallCheck(this, PillarElement); + + var _this2 = possibleConstructorReturn(this, (PillarElement.__proto__ || Object.getPrototypeOf(PillarElement)).call(this)); + + Object.assign(_this2, elementOptions); // Extend "this" with options + Pillar.invariant(typeof TargetComponent === 'string' || typeof TargetComponent === 'function', 'Register method requires a component or template tag ID, but found unexpected %s', typeof TargetComponent === 'undefined' ? 'undefined' : _typeof(TargetComponent)); + if (typeof TargetComponent === 'string') { + _this2.vdomComponent = function () { + return TargetComponent; + }; + } else { + _this2.vdomComponent = TargetComponent; + } + return _this2; + } + + return PillarElement; + }(PillarBaseElement); + } + }]); + + function Pillar(props, state) { + classCallCheck(this, Pillar); + + var _this = possibleConstructorReturn(this, (Pillar.__proto__ || Object.getPrototypeOf(Pillar)).call(this, props, state)); + + _this.validateRender(); + + _this.flags = _this.props ? _this.props.flags : {}; + if (_this.componentWillReceiveProps) { + var originalHandler = _this.componentWillReceiveProps.bind(_this); + _this.componentWillReceiveProps = function (nextProps, nextState) { + _this.flags = nextProps.flags; + originalHandler(nextProps, nextState); + }; + } else { + _this.componentWillReceiveProps = function (nextProps) { + _this.flags = nextProps.flags; + }; + } + return _this; + } + + /** + * Validate render method + * @description Makes sure there's only one render method and it's actually a method + * @memberof Pillar + */ + + + createClass(Pillar, [{ + key: 'validateRender', + value: function validateRender() { + Pillar.invariant(typeof this.render === 'function', 'render() is expected to be a function, but got a type "%s"', _typeof(this.render)); + } + }]); + return Pillar; +}(Component); + +Pillar.invariant = invariant_1; +Pillar.h = h; + + +Pillar.register(function (_ref) { + var text = _ref.text; + return h( + 'h1', + null, + text + ); +}, 'custom-header'); + +return Pillar; + +}))); diff --git a/socket/node_modules/pillarjs/docs/1_LIFECYCLE_METHODS.md b/socket/node_modules/pillarjs/docs/1_LIFECYCLE_METHODS.md new file mode 100644 index 0000000..335f2e1 --- /dev/null +++ b/socket/node_modules/pillarjs/docs/1_LIFECYCLE_METHODS.md @@ -0,0 +1,18 @@ +# Lifecycle Methods + +Pillar provides exact same lifecycle methods as +[React](https://reactjs.org/docs/react-component.html#the-component-lifecycle): + +| Method Name | When is it called? | +| --------------------------- | ----------------------------------------------------------- | +| `componentWillMount` | Before the component gets mounted to the DOM | +| `componentDidMount` | After the component gets mounted to the DOM | +| `componentWillUnmount` | Before component is removed from the DOM | +| `componentWillReceiveProps` | Before new props are accepted | +| `shouldComponentUpdate` | Before render() is called. Return `false` to prevent render | +| `componentWillUpdate` | Before render() | +| `componentDidUpdate` | After render() | + +_**Note:** Lifecycle methods don't work in stateless components and string/template tag render._ + +**_Next: [Render from string →](./2_STRING_RENDER.html)_** diff --git a/socket/node_modules/pillarjs/docs/2_STRING_RENDER.md b/socket/node_modules/pillarjs/docs/2_STRING_RENDER.md new file mode 100644 index 0000000..68874de --- /dev/null +++ b/socket/node_modules/pillarjs/docs/2_STRING_RENDER.md @@ -0,0 +1,23 @@ +# Rendering from string + +If for any reason you don't want to use JSX, you can render component from string or template tag. + +Rendering from string is extremely simple. The syntax is very similar to +[stateless components](/#stateless-components), but instead of returning JSX your function should +return a string: + +```javascript +const SuperHeader = ({ text }) => ` +
              +

              ${text}

              +

              It's Superpowered!

              +
              +`; +``` + +Your component function will have the `props` argument that you can use for interpolation (i.e. via +ES6 template string). + +_Note that string render doesn't support state and lifecycle methods._ + +**_Next: [Render from template tag →](./3_TEMPLATE_RENDER.html)_** diff --git a/socket/node_modules/pillarjs/docs/3_TEMPLATE_RENDER.md b/socket/node_modules/pillarjs/docs/3_TEMPLATE_RENDER.md new file mode 100644 index 0000000..d8ed7d8 --- /dev/null +++ b/socket/node_modules/pillarjs/docs/3_TEMPLATE_RENDER.md @@ -0,0 +1,43 @@ +# Rendering from template tag + +Pillar allows rendering components from HTML `