From 23a3481f7d4b02c2748e51a4511332a471806d5a Mon Sep 17 00:00:00 2001 From: Christoph Oberhofer Date: Tue, 2 Aug 2016 23:15:12 +0200 Subject: [PATCH] Fixed initialization-error --- dist/quagga.js | 1 + dist/quagga.js.map | 2 +- dist/quagga.min.js | 2 +- lib/quagga.js | 1 + lib/quagga.js.map | 2 +- src/quagga.js | 1 + 6 files changed, 6 insertions(+), 3 deletions(-) diff --git a/dist/quagga.js b/dist/quagga.js index a567423..e9c7bb6 100644 --- a/dist/quagga.js +++ b/dist/quagga.js @@ -4759,6 +4759,7 @@ return /******/ (function(modules) { // webpackBootstrap }, stop: function stop() { scanner.stop(); + initialized = false; return this; }, toPromise: function toPromise() { diff --git a/dist/quagga.js.map b/dist/quagga.js.map index fa0ae61..acb951a 100644 --- a/dist/quagga.js.map +++ b/dist/quagga.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/myModuleDefinition","webpack:///webpack/bootstrap 031c04142de88339aa14","webpack:///./~/lodash/isArray.js","webpack:///./~/webrtc-adapter/src/js/utils.js","webpack:///./~/lodash/_root.js","webpack:///./~/lodash/isObject.js","webpack:///./~/lodash/isObjectLike.js","webpack:///./src/reader/ean_reader.js","webpack:///./~/lodash/_getNative.js","webpack:///./~/lodash/_toKey.js","webpack:///./~/lodash/keys.js","webpack:///./~/lodash/merge.js","webpack:///./src/common/image_debug.js","webpack:///./src/reader/barcode_reader.js","webpack:///./~/gl-vec2/clone.js","webpack:///./~/lodash/isArguments.js","webpack:///./~/lodash/isFunction.js","webpack:///./src/common/array_helper.js","webpack:///./~/lodash/_ListCache.js","webpack:///./~/lodash/_Stack.js","webpack:///./~/lodash/_assocIndexOf.js","webpack:///./~/lodash/_getMapData.js","webpack:///./~/lodash/_getPrototype.js","webpack:///./~/lodash/_isHostObject.js","webpack:///./~/lodash/_isIndex.js","webpack:///./~/lodash/_isKey.js","webpack:///./~/lodash/_nativeCreate.js","webpack:///./~/lodash/eq.js","webpack:///./~/lodash/isArrayLike.js","webpack:///./~/lodash/isLength.js","webpack:///./~/lodash/isSymbol.js","webpack:///./src/common/cv_utils.js","webpack:///./src/common/image_wrapper.js","webpack:///./~/lodash/_MapCache.js","webpack:///./~/lodash/_Symbol.js","webpack:///./~/lodash/_arrayMap.js","webpack:///./~/lodash/_arrayPush.js","webpack:///./~/lodash/_arrayReduce.js","webpack:///./~/lodash/_cloneArrayBuffer.js","webpack:///./~/lodash/_copyObject.js","webpack:///./~/lodash/_getSymbols.js","webpack:///./~/lodash/_getTag.js","webpack:///./~/lodash/_isPrototype.js","webpack:///./~/lodash/isString.js","webpack:///./~/lodash/isTypedArray.js","webpack:///./~/lodash/keysIn.js","webpack:///./~/lodash/rest.js","webpack:///./src/analytics/result_collector.js","webpack:///./src/config/config.js","webpack:///./src/locator/tracer.js","webpack:///./src/reader/code_39_reader.js","webpack:///./~/gl-vec2/dot.js","webpack:///./~/lodash/_Map.js","webpack:///./~/lodash/_SetCache.js","webpack:///./~/lodash/_Uint8Array.js","webpack:///./~/lodash/_arrayEach.js","webpack:///./~/lodash/_assignMergeValue.js","webpack:///./~/lodash/_assignValue.js","webpack:///./~/lodash/_baseFlatten.js","webpack:///./~/lodash/_baseGet.js","webpack:///./~/lodash/_baseGetAllKeys.js","webpack:///./~/lodash/_baseHas.js","webpack:///./~/lodash/_baseIsEqual.js","webpack:///./~/lodash/_basePick.js","webpack:///./~/lodash/_baseProperty.js","webpack:///./~/lodash/_castPath.js","webpack:///./~/lodash/_copyArray.js","webpack:///./~/lodash/_equalArrays.js","webpack:///./~/lodash/_getAllKeysIn.js","webpack:///./~/lodash/_indexKeys.js","webpack:///./~/lodash/_isStrictComparable.js","webpack:///./~/lodash/_mapToArray.js","webpack:///./~/lodash/_matchesStrictComparable.js","webpack:///./~/lodash/_setToArray.js","webpack:///./~/lodash/_toSource.js","webpack:///./~/lodash/isArrayLikeObject.js","webpack:///./~/lodash/isBuffer.js","webpack:///./~/lodash/pick.js","webpack:///./src/quagga.js","webpack:///./src/common/cluster.js","webpack:///./src/common/dom_helper.js","webpack:///./src/common/events.js","webpack:///./src/common/subImage.js","webpack:///./src/common/typedefs.js","webpack:///./src/config/config.dev.js","webpack:///./src/decoder/barcode_decoder.js","webpack:///./src/decoder/bresenham.js","webpack:///./src/input/camera_access.js","webpack:///./src/input/config_factory.js","webpack:///./src/input/frame_grabber.js","webpack:///./src/input/image_loader.js","webpack:///./src/input/input_stream.js","webpack:///./src/locator/barcode_locator.js","webpack:///./src/locator/rasterizer.js","webpack:///./src/locator/skeletonizer.js","webpack:///./src/reader/codabar_reader.js","webpack:///./src/reader/code_128_reader.js","webpack:///./src/reader/code_39_vin_reader.js","webpack:///./src/reader/ean_2_reader.js","webpack:///./src/reader/ean_5_reader.js","webpack:///./src/reader/ean_8_reader.js","webpack:///./src/reader/i2of5_reader.js","webpack:///./src/reader/upc_e_reader.js","webpack:///./src/reader/upc_reader.js","webpack:///./src/scanner.js","webpack:///./~/gl-mat2/copy.js","webpack:///./~/gl-mat2/create.js","webpack:///./~/gl-mat2/invert.js","webpack:///./~/gl-vec2/scale.js","webpack:///./~/gl-vec2/transformMat2.js","webpack:///./~/gl-vec3/clone.js","webpack:///./~/lodash/_DataView.js","webpack:///./~/lodash/_Hash.js","webpack:///./~/lodash/_Promise.js","webpack:///./~/lodash/_Reflect.js","webpack:///./~/lodash/_Set.js","webpack:///./~/lodash/_WeakMap.js","webpack:///./~/lodash/_addMapEntry.js","webpack:///./~/lodash/_addSetEntry.js","webpack:///./~/lodash/_apply.js","webpack:///./~/lodash/_arrayIncludes.js","webpack:///./~/lodash/_arrayIncludesWith.js","webpack:///./~/lodash/_arraySome.js","webpack:///./~/lodash/_baseAssign.js","webpack:///./~/lodash/_baseClone.js","webpack:///./~/lodash/_baseCreate.js","webpack:///./~/lodash/_baseDifference.js","webpack:///./~/lodash/_baseHasIn.js","webpack:///./~/lodash/_baseIndexOf.js","webpack:///./~/lodash/_baseIsEqualDeep.js","webpack:///./~/lodash/_baseIsMatch.js","webpack:///./~/lodash/_baseIsNative.js","webpack:///./~/lodash/_baseIteratee.js","webpack:///./~/lodash/_baseKeys.js","webpack:///./~/lodash/_baseKeysIn.js","webpack:///./~/lodash/_baseMatches.js","webpack:///./~/lodash/_baseMatchesProperty.js","webpack:///./~/lodash/_baseMerge.js","webpack:///./~/lodash/_baseMergeDeep.js","webpack:///./~/lodash/_basePickBy.js","webpack:///./~/lodash/_basePropertyDeep.js","webpack:///./~/lodash/_baseTimes.js","webpack:///./~/lodash/_baseToString.js","webpack:///./~/lodash/_baseUnary.js","webpack:///./~/lodash/_cacheHas.js","webpack:///./~/lodash/_checkGlobal.js","webpack:///./~/lodash/_cloneBuffer.js","webpack:///./~/lodash/_cloneDataView.js","webpack:///./~/lodash/_cloneMap.js","webpack:///./~/lodash/_cloneRegExp.js","webpack:///./~/lodash/_cloneSet.js","webpack:///./~/lodash/_cloneSymbol.js","webpack:///./~/lodash/_cloneTypedArray.js","webpack:///./~/lodash/_copySymbols.js","webpack:///./~/lodash/_coreJsData.js","webpack:///./~/lodash/_createAssigner.js","webpack:///./~/lodash/_equalByTag.js","webpack:///./~/lodash/_equalObjects.js","webpack:///./~/lodash/_getAllKeys.js","webpack:///./~/lodash/_getLength.js","webpack:///./~/lodash/_getMatchData.js","webpack:///./~/lodash/_getSymbolsIn.js","webpack:///./~/lodash/_getValue.js","webpack:///./~/lodash/_hasPath.js","webpack:///./~/lodash/_hashClear.js","webpack:///./~/lodash/_hashDelete.js","webpack:///./~/lodash/_hashGet.js","webpack:///./~/lodash/_hashHas.js","webpack:///./~/lodash/_hashSet.js","webpack:///./~/lodash/_indexOfNaN.js","webpack:///./~/lodash/_initCloneArray.js","webpack:///./~/lodash/_initCloneByTag.js","webpack:///./~/lodash/_initCloneObject.js","webpack:///./~/lodash/_isFlattenable.js","webpack:///./~/lodash/_isIterateeCall.js","webpack:///./~/lodash/_isKeyable.js","webpack:///./~/lodash/_isMasked.js","webpack:///./~/lodash/_iteratorToArray.js","webpack:///./~/lodash/_listCacheClear.js","webpack:///./~/lodash/_listCacheDelete.js","webpack:///./~/lodash/_listCacheGet.js","webpack:///./~/lodash/_listCacheHas.js","webpack:///./~/lodash/_listCacheSet.js","webpack:///./~/lodash/_mapCacheClear.js","webpack:///./~/lodash/_mapCacheDelete.js","webpack:///./~/lodash/_mapCacheGet.js","webpack:///./~/lodash/_mapCacheHas.js","webpack:///./~/lodash/_mapCacheSet.js","webpack:///./~/lodash/_setCacheAdd.js","webpack:///./~/lodash/_setCacheHas.js","webpack:///./~/lodash/_stackClear.js","webpack:///./~/lodash/_stackDelete.js","webpack:///./~/lodash/_stackGet.js","webpack:///./~/lodash/_stackHas.js","webpack:///./~/lodash/_stackSet.js","webpack:///./~/lodash/_stringToPath.js","webpack:///./~/lodash/get.js","webpack:///./~/lodash/hasIn.js","webpack:///./~/lodash/identity.js","webpack:///./~/lodash/isEmpty.js","webpack:///./~/lodash/isPlainObject.js","webpack:///./~/lodash/memoize.js","webpack:///./~/lodash/omit.js","webpack:///./~/lodash/omitBy.js","webpack:///./~/lodash/property.js","webpack:///./~/lodash/stubArray.js","webpack:///./~/lodash/stubFalse.js","webpack:///./~/lodash/toFinite.js","webpack:///./~/lodash/toInteger.js","webpack:///./~/lodash/toNumber.js","webpack:///./~/lodash/toPlainObject.js","webpack:///./~/lodash/toString.js","webpack:///./~/sdp/sdp.js","webpack:///./~/webpack/buildin/module.js","webpack:///./~/webrtc-adapter/src/js/adapter_core.js","webpack:///./~/webrtc-adapter/src/js/chrome/chrome_shim.js","webpack:///./~/webrtc-adapter/src/js/chrome/getusermedia.js","webpack:///./~/webrtc-adapter/src/js/edge/edge_shim.js","webpack:///./~/webrtc-adapter/src/js/edge/getusermedia.js","webpack:///./~/webrtc-adapter/src/js/firefox/firefox_shim.js","webpack:///./~/webrtc-adapter/src/js/firefox/getusermedia.js","webpack:///./~/webrtc-adapter/src/js/safari/safari_shim.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACRA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,QAAQ;AACrB,cAAa,QAAQ;AACrB,cAAa,QAAQ;AACrB,eAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9IA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;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,YAAO,CAAP;AACA,UAAM,IAAI,OAAO,MAAP,GAAgB,CAA1B,EAA6B,KAAK,CAAlC,EAAqC,KAAK,CAA1C,EAA6C;AACzC,gBAAO,OAAO,CAAP,CAAP;AACH;AACD,YAAO,MAAM,EAAN,KAAa,CAApB;AACH,EAXD;;AAaA,WAAU,WAAV,GAAwB;AACpB,kBAAa;AACT,iBAAQ,iBADC;AAET,oBAAW,EAFF;AAGT,wBAAe;AAHN;AADO,EAAxB;;AAQA,6CAAgB,SAAhB,C;;;;;;AChYA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvDA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,UAAU;AACrB,cAAa,OAAO;AACpB;AACA;AACA;AACA,gBAAe,mBAAmB,GAAG,iBAAiB;AACtD;AACA;AACA;AACA,gBAAe,YAAY,GAAG,YAAY;AAC1C;AACA;AACA;AACA,WAAU,WAAW,8BAA8B,GAAG,4BAA4B;AAClF;AACA;AACA;AACA,EAAC;;AAED;;;;;;;ACtCA,6CAAe;AACX,eAAU,kBAAS,GAAT,EAAc,IAAd,EAAoB,GAApB,EAAyB,KAAzB,EAA+B;AA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;AA7EU,EAAf,C;;;;;;ACAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5BA;;AAEA;AACA;;AAEA;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,kBAAiB;AACjB,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnCA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;gtCCtCA;AACA;AACA,KAAM,OAAO;AACT,YAAO,oBAAQ,EAAR;AADE,EAAb;AAGA,KAAM,OAAO;AACT,YAAO,oBAAQ,GAAR;AADE,EAAb;;AAIA;;;;;AAKO,UAAS,QAAT,CAAkB,CAAlB,EAAqB,CAArB,EAAwB;AAC3B,SAAI,OAAO;AACP,YAAG,CADI;AAEP,YAAG,CAFI;AAGP,iBAAQ,kBAAW;AACf,oBAAO,KAAK,KAAL,CAAW,CAAC,KAAK,CAAN,EAAS,KAAK,CAAd,CAAX,CAAP;AACH,UALM;AAMP,iBAAQ,kBAAW;AACf,oBAAO,KAAK,KAAL,CAAW,CAAC,KAAK,CAAN,EAAS,KAAK,CAAd,EAAiB,CAAjB,CAAX,CAAP;AACH,UARM;AASP,gBAAO,iBAAW;AACd,kBAAK,CAAL,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W,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA;;AAEA;AACA;;AAEA;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB;AACA,cAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,OAAO,WAAW;AAC7B,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA,yBAAwB;;AAExB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;AC9BA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACjBA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/EA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtDA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;A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ACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,YAAW,QAAQ;AACnB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,aAAa;AACxB,cAAa,EAAE;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,aAAa;AACxB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7BA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG,IAAI;AACP;;AAEA;;;;;;;ACrBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChFA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,WAAW;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;ACjBA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChCA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,qBAAqB;AAChC,cAAa,OAAO;AACpB;AACA;AACA,kBAAiB;AACjB;AACA;AACA,WAAU;AACV;AACA;AACA,6BAA4B;AAC5B,EAAC;;AAED;;;;;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AY;AAClC,2BAAK,IAAL;AACA,oCAAe,IAAf,CAAoB,IAApB,EAA0B,MAA1B;AACH,kBAHD,EAGG,IAHH;AAIA;AACH,cAND;AAOH,UAhDE;AAiDH,iBAAQ;AAjDL,MAAP;AAmDH;;AAED,6CAAe,aAAf,C;;;;;;AC3fA;;AAEA;AACA;AACA;AACA;AACA,YAAW,KAAK;AAChB,YAAW,KAAK;AAChB,cAAa,KAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA;AACA,cAAa,KAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACfA;;AAEA;AACA;AACA;AACA;AACA,YAAW,KAAK;AAChB,YAAW,KAAK;AAChB,cAAa,KAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;AC1BA;;AAEA;AACA;AACA;AACA,YAAW,KAAK;AAChB,YAAW,KAAK;AAChB,YAAW,OAAO;AAClB,cAAa,KAAK;AAClB;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACdA;;AAEA;AACA;AACA;AACA,YAAW,KAAK;AAChB,YAAW,KAAK;AAChB,YAAW,KAAK;AAChB,cAAa,KAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;AChBA;;AAEA;AACA;AACA;AACA,YAAW,KAAK;AAChB,cAAa,KAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACdA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACNA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACNA;;AAEA;AACA;;AAEA;;;;;;;ACLA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACNA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACNA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,EAAE;AACb,YAAW,MAAM;AACjB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,EAAE;AACb,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,YAAW,QAAQ;AACnB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;;;;;;AC1IA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,aAAa;AACxB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACZA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjFA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7DA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAoC;;AAEpC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9CA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9BA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,8CAA6C,eAAe;AAC5D;AACA;AACA;AACA;;AAEA;;;;;;;ACnCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClFA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;;AAEA;AACA;AACA;AACA;AACA,YAAW,aAAa;AACxB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9BA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACZA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO,WAAW;AAC7B,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;;AAEA;AACA;;AAEA;;;;;;;ACLA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;;;;;;;ACpCA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjHA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClFA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;;AAEA;;;;;;;ACfA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,aAAa;AACxB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxCA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7BA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;AC/EA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7BA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACdA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACXA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;AClBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;;;;;;;ACxBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACfA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;ACbA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,EAAC;;AAED;;;;;;;ACxBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,aAAa;AACxB,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB,QAAQ,OAAO,SAAS,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChCA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,aAAa;AACxB,cAAa,QAAQ;AACrB;AACA;AACA,2BAA0B,gBAAgB,SAAS,GAAG;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,EAAE;AACf;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,kDAAiD,eAAe;;AAEhE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/EA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,SAAS;AACtB;AACA;AACA,kBAAiB;AACjB,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,6BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,qBAAqB;AAChC,cAAa,OAAO;AACpB;AACA;AACA,kBAAiB;AACjB;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;;;;;;;ACnCA;AACA;;AAEA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,6BAA6B;AACxC;AACA,cAAa,OAAO;AACpB;AACA;AACA,kBAAiB;AACjB;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;;;;;;;AC/BA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,aAAa;AACxB,cAAa,SAAS;AACtB;AACA;AACA;AACA,OAAM,OAAO,SAAS,EAAE;AACxB,OAAM,OAAO,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzCA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACnCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,SAAS;AACtB,WAAU;AACV;AACA,cAAa,SAAS;AACtB,WAAU;AACV;AACA;AACA;AACA;;AAEA;;;;;;;AC/BA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC;AACvC;AACA,qCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,6CAA4C;AAC5C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAoB;AACpB,2BAA0B;AAC1B;AACA;AACA;AACA,0DAAyD;AACzD,kBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,kDAAiD;AACjD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB,kBAAkB,OAAO;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,6CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;AC1eA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB,iBAAiB,EAAE;AACvC,sBAAqB,qBAAqB;AAC1C,IAAG;AACH;AACA;AACA;AACA,qBAAoB,iBAAiB;AACrC,IAAG;AACH;AACA;AACA;AACA,qBAAoB,iBAAiB;AACrC,IAAG;AACH;AACA;AACA;AACA;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC;;;;;;;;AC1FD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAgC;AAChC;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,iCAAgC;AAChC;AACA;AACA,cAAa;AACb,YAAW;AACX;AACA,QAAO;AACP;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA,UAAS;AACT;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA,YAAW;;AAEX;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,YAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf,YAAW;AACX;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA,UAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA,YAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA2D,YAAY;;AAEvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,cAAa;AACb;AACA,0DAAyD,qBAAqB;AAC9E,0DAAyD;AACzD;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAuB;AACvB;AACA;AACA,uBAAsB;AACtB;AACA;AACA;AACA,cAAa;AACb,YAAW;AACX,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC5LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,UAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,qBAAqB;AAC9C;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,sCAAsC;AACjE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA,gCAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;;AAEf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB;AACnB;AACA;AACA,oBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA,kBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,gBAAe;;AAEf;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAe;;AAEf;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB;AACnB;AACA,gBAAe;AACf,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,YAAW;AACX;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yDAAwD;AACxD,UAAS;AACT,QAAO;AACP;AACA;AACA,0BAAyB,8BAA8B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,YAAW;AACX;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxhCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAa,yCAAyC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAgC;AAChC;AACA;AACA,cAAa;AACb,YAAW;AACX;AACA,QAAO;AACP;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,gCAAgC;AAC3D;AACA;AACA,gCAA+B,wBAAwB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB;AACvB,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA,+BAA8B;AAC9B,qCAAoC,EAAE;AACtC,wCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,gEAAgE;AAC7E,cAAa;AACb;AACA;AACA,UAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,EAAE;;AAEhC;AACA,oDAAmD,EAAE;AACrD,+CAA8C,EAAE;;AAEhD;AACA;AACA,sCAAqC,EAAE;;AAEvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"quagga.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(factory.toString()).default;\n\telse if(typeof exports === 'object')\n\t\texports[\"Quagga\"] = factory(factory.toString()).default;\n\telse\n\t\troot[\"Quagga\"] = factory(factory.toString()).default;\n})(this, function(__factorySource__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/myModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].e;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\te: {},\n \t\t\ti: moduleId,\n \t\t\tl: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.e, module, module.e, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.e;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 220);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 031c04142de88339aa14\n **/","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @type {Function}\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isArray.js\n ** module id = 0\n ** module chunks = 0\n **/","/*\n * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n * Use of this source code is governed by a BSD-style license\n * that can be found in the LICENSE file in the root of the source\n * tree.\n */\n /* eslint-env node */\n'use strict';\n\nvar logDisabled_ = true;\n\n// Utility methods.\nvar utils = {\n disableLog: function(bool) {\n if (typeof bool !== 'boolean') {\n return new Error('Argument type: ' + typeof bool +\n '. Please use a boolean.');\n }\n logDisabled_ = bool;\n return (bool) ? 'adapter.js logging disabled' :\n 'adapter.js logging enabled';\n },\n\n log: function() {\n if (typeof window === 'object') {\n if (logDisabled_) {\n return;\n }\n if (typeof console !== 'undefined' && typeof console.log === 'function') {\n console.log.apply(console, arguments);\n }\n }\n },\n\n /**\n * Extract browser version out of the provided user agent string.\n *\n * @param {!string} uastring userAgent string.\n * @param {!string} expr Regular expression used as match criteria.\n * @param {!number} pos position in the version string to be returned.\n * @return {!number} browser version.\n */\n extractVersion: function(uastring, expr, pos) {\n var match = uastring.match(expr);\n return match && match.length >= pos && parseInt(match[pos], 10);\n },\n\n /**\n * Browser detector.\n *\n * @return {object} result containing browser, version and minVersion\n * properties.\n */\n detectBrowser: function() {\n // Returned result object.\n var result = {};\n result.browser = null;\n result.version = null;\n result.minVersion = null;\n\n // Fail early if it's not a browser\n if (typeof window === 'undefined' || !window.navigator) {\n result.browser = 'Not a browser.';\n return result;\n }\n\n // Firefox.\n if (navigator.mozGetUserMedia) {\n result.browser = 'firefox';\n result.version = this.extractVersion(navigator.userAgent,\n /Firefox\\/([0-9]+)\\./, 1);\n result.minVersion = 31;\n\n // all webkit-based browsers\n } else if (navigator.webkitGetUserMedia) {\n // Chrome, Chromium, Webview, Opera, all use the chrome shim for now\n if (window.webkitRTCPeerConnection) {\n result.browser = 'chrome';\n result.version = this.extractVersion(navigator.userAgent,\n /Chrom(e|ium)\\/([0-9]+)\\./, 2);\n result.minVersion = 38;\n\n // Safari or unknown webkit-based\n // for the time being Safari has support for MediaStreams but not webRTC\n } else {\n // Safari UA substrings of interest for reference:\n // - webkit version: AppleWebKit/602.1.25 (also used in Op,Cr)\n // - safari UI version: Version/9.0.3 (unique to Safari)\n // - safari UI webkit version: Safari/601.4.4 (also used in Op,Cr)\n //\n // if the webkit version and safari UI webkit versions are equals,\n // ... this is a stable version.\n //\n // only the internal webkit version is important today to know if\n // media streams are supported\n //\n if (navigator.userAgent.match(/Version\\/(\\d+).(\\d+)/)) {\n result.browser = 'safari';\n result.version = this.extractVersion(navigator.userAgent,\n /AppleWebKit\\/([0-9]+)\\./, 1);\n result.minVersion = 602;\n\n // unknown webkit-based browser\n } else {\n result.browser = 'Unsupported webkit-based browser ' +\n 'with GUM support but no WebRTC support.';\n return result;\n }\n }\n\n // Edge.\n } else if (navigator.mediaDevices &&\n navigator.userAgent.match(/Edge\\/(\\d+).(\\d+)$/)) {\n result.browser = 'edge';\n result.version = this.extractVersion(navigator.userAgent,\n /Edge\\/(\\d+).(\\d+)$/, 2);\n result.minVersion = 10547;\n\n // Default fallthrough: not supported.\n } else {\n result.browser = 'Not a supported browser.';\n return result;\n }\n\n // Warn if version is less than minVersion.\n if (result.version < result.minVersion) {\n utils.log('Browser: ' + result.browser + ' Version: ' + result.version +\n ' < minimum supported version: ' + result.minVersion +\n '\\n some things might not work!');\n }\n\n return result;\n }\n};\n\n// Export.\nmodule.exports = {\n log: utils.log,\n disableLog: utils.disableLog,\n browserDetails: utils.detectBrowser(),\n extractVersion: utils.extractVersion\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/webrtc-adapter/src/js/utils.js\n ** module id = 1\n ** module chunks = 0\n **/","var checkGlobal = require('./_checkGlobal');\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = checkGlobal(typeof global == 'object' && global);\n\n/** Detect free variable `self`. */\nvar freeSelf = checkGlobal(typeof self == 'object' && self);\n\n/** Detect `this` as the global object. */\nvar thisGlobal = checkGlobal(typeof this == 'object' && this);\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || thisGlobal || Function('return this')();\n\nmodule.exports = root;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_root.js\n ** module id = 2\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isObject.js\n ** module id = 3\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isObjectLike.js\n ** module id = 4\n ** module chunks = 0\n **/","import BarcodeReader from './barcode_reader';\r\nimport {merge} from 'lodash';\r\n\r\nfunction EANReader(opts, supplements) {\r\n opts = merge(getDefaulConfig(), opts);\r\n BarcodeReader.call(this, opts, supplements);\r\n}\r\n\r\nfunction getDefaulConfig() {\r\n var config = {};\r\n\r\n Object.keys(EANReader.CONFIG_KEYS).forEach(function(key) {\r\n config[key] = EANReader.CONFIG_KEYS[key].default;\r\n });\r\n return config;\r\n}\r\n\r\nvar properties = {\r\n CODE_L_START: {value: 0},\r\n CODE_G_START: {value: 10},\r\n START_PATTERN: {value: [1, 1, 1]},\r\n STOP_PATTERN: {value: [1, 1, 1]},\r\n MIDDLE_PATTERN: {value: [1, 1, 1, 1, 1]},\r\n EXTENSION_START_PATTERN: {value: [1, 1, 2]},\r\n CODE_PATTERN: {value: [\r\n [3, 2, 1, 1],\r\n [2, 2, 2, 1],\r\n [2, 1, 2, 2],\r\n [1, 4, 1, 1],\r\n [1, 1, 3, 2],\r\n [1, 2, 3, 1],\r\n [1, 1, 1, 4],\r\n [1, 3, 1, 2],\r\n [1, 2, 1, 3],\r\n [3, 1, 1, 2],\r\n [1, 1, 2, 3],\r\n [1, 2, 2, 2],\r\n [2, 2, 1, 2],\r\n [1, 1, 4, 1],\r\n [2, 3, 1, 1],\r\n [1, 3, 2, 1],\r\n [4, 1, 1, 1],\r\n [2, 1, 3, 1],\r\n [3, 1, 2, 1],\r\n [2, 1, 1, 3]\r\n ]},\r\n CODE_FREQUENCY: {value: [0, 11, 13, 14, 19, 25, 28, 21, 22, 26]},\r\n SINGLE_CODE_ERROR: {value: 0.70},\r\n AVG_CODE_ERROR: {value: 0.48},\r\n FORMAT: {value: \"ean_13\", writeable: false}\r\n};\r\n\r\nEANReader.prototype = Object.create(BarcodeReader.prototype, properties);\r\nEANReader.prototype.constructor = EANReader;\r\n\r\nEANReader.prototype._decodeCode = function(start, coderange) {\r\n var counter = [0, 0, 0, 0],\r\n i,\r\n self = this,\r\n offset = start,\r\n isWhite = !self._row[offset],\r\n counterPos = 0,\r\n bestMatch = {\r\n error: Number.MAX_VALUE,\r\n code: -1,\r\n start: start,\r\n end: start\r\n },\r\n code,\r\n error;\r\n\r\n if (!coderange) {\r\n coderange = self.CODE_PATTERN.length;\r\n }\r\n\r\n for ( i = offset; i < self._row.length; i++) {\r\n if (self._row[i] ^ isWhite) {\r\n counter[counterPos]++;\r\n } else {\r\n if (counterPos === counter.length - 1) {\r\n for (code = 0; code < coderange; code++) {\r\n error = self._matchPattern(counter, self.CODE_PATTERN[code]);\r\n if (error < bestMatch.error) {\r\n bestMatch.code = code;\r\n bestMatch.error = error;\r\n }\r\n }\r\n bestMatch.end = i;\r\n if (bestMatch.error > self.AVG_CODE_ERROR) {\r\n return null;\r\n }\r\n return bestMatch;\r\n } else {\r\n counterPos++;\r\n }\r\n counter[counterPos] = 1;\r\n isWhite = !isWhite;\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nEANReader.prototype._findPattern = function(pattern, offset, isWhite, tryHarder, epsilon) {\r\n var counter = [],\r\n self = this,\r\n i,\r\n counterPos = 0,\r\n bestMatch = {\r\n error: Number.MAX_VALUE,\r\n code: -1,\r\n start: 0,\r\n end: 0\r\n },\r\n error,\r\n j,\r\n sum;\r\n\r\n if (!offset) {\r\n offset = self._nextSet(self._row);\r\n }\r\n\r\n if (isWhite === undefined) {\r\n isWhite = false;\r\n }\r\n\r\n if (tryHarder === undefined) {\r\n tryHarder = true;\r\n }\r\n\r\n if ( epsilon === undefined) {\r\n epsilon = self.AVG_CODE_ERROR;\r\n }\r\n\r\n for ( i = 0; i < pattern.length; i++) {\r\n counter[i] = 0;\r\n }\r\n\r\n for ( i = offset; i < self._row.length; i++) {\r\n if (self._row[i] ^ isWhite) {\r\n counter[counterPos]++;\r\n } else {\r\n if (counterPos === counter.length - 1) {\r\n sum = 0;\r\n for ( j = 0; j < counter.length; j++) {\r\n sum += counter[j];\r\n }\r\n error = self._matchPattern(counter, pattern);\r\n\r\n if (error < epsilon) {\r\n bestMatch.error = error;\r\n bestMatch.start = i - sum;\r\n bestMatch.end = i;\r\n return bestMatch;\r\n }\r\n if (tryHarder) {\r\n for ( j = 0; j < counter.length - 2; j++) {\r\n counter[j] = counter[j + 2];\r\n }\r\n counter[counter.length - 2] = 0;\r\n counter[counter.length - 1] = 0;\r\n counterPos--;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n counterPos++;\r\n }\r\n counter[counterPos] = 1;\r\n isWhite = !isWhite;\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nEANReader.prototype._findStart = function() {\r\n var self = this,\r\n leadingWhitespaceStart,\r\n offset = self._nextSet(self._row),\r\n startInfo;\r\n\r\n while (!startInfo) {\r\n startInfo = self._findPattern(self.START_PATTERN, offset);\r\n if (!startInfo) {\r\n return null;\r\n }\r\n leadingWhitespaceStart = startInfo.start - (startInfo.end - startInfo.start);\r\n if (leadingWhitespaceStart >= 0) {\r\n if (self._matchRange(leadingWhitespaceStart, startInfo.start, 0)) {\r\n return startInfo;\r\n }\r\n }\r\n offset = startInfo.end;\r\n startInfo = null;\r\n }\r\n};\r\n\r\nEANReader.prototype._verifyTrailingWhitespace = function(endInfo) {\r\n var self = this,\r\n trailingWhitespaceEnd;\r\n\r\n trailingWhitespaceEnd = endInfo.end + (endInfo.end - endInfo.start);\r\n if (trailingWhitespaceEnd < self._row.length) {\r\n if (self._matchRange(endInfo.end, trailingWhitespaceEnd, 0)) {\r\n return endInfo;\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nEANReader.prototype._findEnd = function(offset, isWhite) {\r\n var self = this,\r\n endInfo = self._findPattern(self.STOP_PATTERN, offset, isWhite, false);\r\n\r\n return endInfo !== null ? self._verifyTrailingWhitespace(endInfo) : null;\r\n};\r\n\r\nEANReader.prototype._calculateFirstDigit = function(codeFrequency) {\r\n var i,\r\n self = this;\r\n\r\n for ( i = 0; i < self.CODE_FREQUENCY.length; i++) {\r\n if (codeFrequency === self.CODE_FREQUENCY[i]) {\r\n return i;\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nEANReader.prototype._decodePayload = function(code, result, decodedCodes) {\r\n var i,\r\n self = this,\r\n codeFrequency = 0x0,\r\n firstDigit;\r\n\r\n for ( i = 0; i < 6; i++) {\r\n code = self._decodeCode(code.end);\r\n if (!code) {\r\n return null;\r\n }\r\n if (code.code >= self.CODE_G_START) {\r\n code.code = code.code - self.CODE_G_START;\r\n codeFrequency |= 1 << (5 - i);\r\n } else {\r\n codeFrequency |= 0 << (5 - i);\r\n }\r\n result.push(code.code);\r\n decodedCodes.push(code);\r\n }\r\n\r\n firstDigit = self._calculateFirstDigit(codeFrequency);\r\n if (firstDigit === null) {\r\n return null;\r\n }\r\n result.unshift(firstDigit);\r\n\r\n code = self._findPattern(self.MIDDLE_PATTERN, code.end, true, false);\r\n if (code === null) {\r\n return null;\r\n }\r\n decodedCodes.push(code);\r\n\r\n for ( i = 0; i < 6; i++) {\r\n code = self._decodeCode(code.end, self.CODE_G_START);\r\n if (!code) {\r\n return null;\r\n }\r\n decodedCodes.push(code);\r\n result.push(code.code);\r\n }\r\n\r\n return code;\r\n};\r\n\r\nEANReader.prototype._decode = function() {\r\n var startInfo,\r\n self = this,\r\n code,\r\n result = [],\r\n decodedCodes = [],\r\n resultInfo = {};\r\n\r\n startInfo = self._findStart();\r\n if (!startInfo) {\r\n return null;\r\n }\r\n code = {\r\n code: startInfo.code,\r\n start: startInfo.start,\r\n end: startInfo.end\r\n };\r\n decodedCodes.push(code);\r\n code = self._decodePayload(code, result, decodedCodes);\r\n if (!code) {\r\n return null;\r\n }\r\n code = self._findEnd(code.end, false);\r\n if (!code){\r\n return null;\r\n }\r\n\r\n decodedCodes.push(code);\r\n\r\n // Checksum\r\n if (!self._checksum(result)) {\r\n return null;\r\n }\r\n\r\n if (this.supplements.length > 0) {\r\n let ext = this._decodeExtensions(code.end);\r\n if (!ext) {\r\n return null;\r\n }\r\n let lastCode = ext.decodedCodes[ext.decodedCodes.length-1],\r\n endInfo = {\r\n start: lastCode.start + (((lastCode.end - lastCode.start) / 2) | 0),\r\n end: lastCode.end\r\n };\r\n if(!self._verifyTrailingWhitespace(endInfo)) {\r\n return null;\r\n }\r\n resultInfo = {\r\n supplement: ext,\r\n code: result.join(\"\") + ext.code\r\n }\r\n }\r\n\r\n return {\r\n code: result.join(\"\"),\r\n start: startInfo.start,\r\n end: code.end,\r\n codeset: \"\",\r\n startInfo: startInfo,\r\n decodedCodes: decodedCodes,\r\n ...resultInfo\r\n };\r\n};\r\n\r\nEANReader.prototype._decodeExtensions = function(offset) {\r\n var i,\r\n start = this._nextSet(this._row, offset),\r\n startInfo = this._findPattern(this.EXTENSION_START_PATTERN, start, false, false),\r\n result;\r\n\r\n if (startInfo === null) {\r\n return null;\r\n }\r\n\r\n for (i = 0; i < this.supplements.length; i++) {\r\n result = this.supplements[i].decode(this._row, startInfo.end);\r\n if (result !== null) {\r\n return {\r\n code: result.code,\r\n start,\r\n startInfo,\r\n end: result.end,\r\n codeset: \"\",\r\n decodedCodes: result.decodedCodes\r\n }\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nEANReader.prototype._checksum = function(result) {\r\n var sum = 0, i;\r\n\r\n for ( i = result.length - 2; i >= 0; i -= 2) {\r\n sum += result[i];\r\n }\r\n sum *= 3;\r\n for ( i = result.length - 1; i >= 0; i -= 2) {\r\n sum += result[i];\r\n }\r\n return sum % 10 === 0;\r\n};\r\n\r\nEANReader.CONFIG_KEYS = {\r\n supplements: {\r\n 'type': 'arrayOf(string)',\r\n 'default': [],\r\n 'description': 'Allowed extensions to be decoded (2 and/or 5)'\r\n }\r\n};\r\n\r\nexport default (EANReader);\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/reader/ean_reader.js\n **/","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getNative.js\n ** module id = 6\n ** module chunks = 0\n **/","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_toKey.js\n ** module id = 7\n ** module chunks = 0\n **/","var baseHas = require('./_baseHas'),\n baseKeys = require('./_baseKeys'),\n indexKeys = require('./_indexKeys'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n var isProto = isPrototype(object);\n if (!(isProto || isArrayLike(object))) {\n return baseKeys(object);\n }\n var indexes = indexKeys(object),\n skipIndexes = !!indexes,\n result = indexes || [],\n length = result.length;\n\n for (var key in object) {\n if (baseHas(object, key) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length))) &&\n !(isProto && key == 'constructor')) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/keys.js\n ** module id = 8\n ** module chunks = 0\n **/","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var users = {\n * 'data': [{ 'user': 'barney' }, { 'user': 'fred' }]\n * };\n *\n * var ages = {\n * 'data': [{ 'age': 36 }, { 'age': 40 }]\n * };\n *\n * _.merge(users, ages);\n * // => { 'data': [{ 'user': 'barney', 'age': 36 }, { 'user': 'fred', 'age': 40 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/merge.js\n ** module id = 9\n ** module chunks = 0\n **/","export default {\r\n drawRect: function(pos, size, ctx, style){\r\n ctx.strokeStyle = style.color;\r\n ctx.fillStyle = style.color;\r\n ctx.lineWidth = 1;\r\n ctx.beginPath();\r\n ctx.strokeRect(pos.x, pos.y, size.x, size.y);\r\n },\r\n drawPath: function(path, def, ctx, style) {\r\n ctx.strokeStyle = style.color;\r\n ctx.fillStyle = style.color;\r\n ctx.lineWidth = style.lineWidth;\r\n ctx.beginPath();\r\n ctx.moveTo(path[0][def.x], path[0][def.y]);\r\n for (var j = 1; j < path.length; j++) {\r\n ctx.lineTo(path[j][def.x], path[j][def.y]);\r\n }\r\n ctx.closePath();\r\n ctx.stroke();\r\n },\r\n drawImage: function(imageData, size, ctx) {\r\n var canvasData = ctx.getImageData(0, 0, size.x, size.y),\r\n data = canvasData.data,\r\n imageDataPos = imageData.length,\r\n canvasDataPos = data.length,\r\n value;\r\n\r\n if (canvasDataPos / imageDataPos !== 4) {\r\n return false;\r\n }\r\n while (imageDataPos--){\r\n value = imageData[imageDataPos];\r\n data[--canvasDataPos] = 255;\r\n data[--canvasDataPos] = value;\r\n data[--canvasDataPos] = value;\r\n data[--canvasDataPos] = value;\r\n }\r\n ctx.putImageData(canvasData, 0, 0);\r\n return true;\r\n }\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/image_debug.js\n **/","function BarcodeReader(config, supplements) {\r\n this._row = [];\r\n this.config = config || {};\r\n this.supplements = supplements;\r\n return this;\r\n}\r\n\r\nBarcodeReader.prototype._nextUnset = function(line, start) {\r\n var i;\r\n\r\n if (start === undefined) {\r\n start = 0;\r\n }\r\n for (i = start; i < line.length; i++) {\r\n if (!line[i]) {\r\n return i;\r\n }\r\n }\r\n return line.length;\r\n};\r\n\r\nBarcodeReader.prototype._matchPattern = function(counter, code, maxSingleError) {\r\n var i,\r\n error = 0,\r\n singleError = 0,\r\n sum = 0,\r\n modulo = 0,\r\n barWidth,\r\n count,\r\n scaled;\r\n\r\n maxSingleError = maxSingleError || this.SINGLE_CODE_ERROR || 1;\r\n\r\n for (i = 0; i < counter.length; i++) {\r\n sum += counter[i];\r\n modulo += code[i];\r\n }\r\n if (sum < modulo) {\r\n return Number.MAX_VALUE;\r\n }\r\n barWidth = sum / modulo;\r\n maxSingleError *= barWidth;\r\n\r\n for (i = 0; i < counter.length; i++) {\r\n count = counter[i];\r\n scaled = code[i] * barWidth;\r\n singleError = Math.abs(count - scaled) / scaled;\r\n if (singleError > maxSingleError) {\r\n return Number.MAX_VALUE;\r\n }\r\n error += singleError;\r\n }\r\n return error / modulo;\r\n};\r\n\r\nBarcodeReader.prototype._nextSet = function(line, offset) {\r\n var i;\r\n\r\n offset = offset || 0;\r\n for (i = offset; i < line.length; i++) {\r\n if (line[i]) {\r\n return i;\r\n }\r\n }\r\n return line.length;\r\n};\r\n\r\nBarcodeReader.prototype._correctBars = function(counter, correction, indices) {\r\n var length = indices.length,\r\n tmp = 0;\r\n while(length--) {\r\n tmp = counter[indices[length]] * (1 - ((1 - correction) / 2));\r\n if (tmp > 1) {\r\n counter[indices[length]] = tmp;\r\n }\r\n }\r\n}\r\n\r\nBarcodeReader.prototype._matchTrace = function(cmpCounter, epsilon) {\r\n var counter = [],\r\n i,\r\n self = this,\r\n offset = self._nextSet(self._row),\r\n isWhite = !self._row[offset],\r\n counterPos = 0,\r\n bestMatch = {\r\n error: Number.MAX_VALUE,\r\n code: -1,\r\n start: 0\r\n },\r\n error;\r\n\r\n if (cmpCounter) {\r\n for ( i = 0; i < cmpCounter.length; i++) {\r\n counter.push(0);\r\n }\r\n for ( i = offset; i < self._row.length; i++) {\r\n if (self._row[i] ^ isWhite) {\r\n counter[counterPos]++;\r\n } else {\r\n if (counterPos === counter.length - 1) {\r\n error = self._matchPattern(counter, cmpCounter);\r\n\r\n if (error < epsilon) {\r\n bestMatch.start = i - offset;\r\n bestMatch.end = i;\r\n bestMatch.counter = counter;\r\n return bestMatch;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n counterPos++;\r\n }\r\n counter[counterPos] = 1;\r\n isWhite = !isWhite;\r\n }\r\n }\r\n } else {\r\n counter.push(0);\r\n for ( i = offset; i < self._row.length; i++) {\r\n if (self._row[i] ^ isWhite) {\r\n counter[counterPos]++;\r\n } else {\r\n counterPos++;\r\n counter.push(0);\r\n counter[counterPos] = 1;\r\n isWhite = !isWhite;\r\n }\r\n }\r\n }\r\n\r\n // if cmpCounter was not given\r\n bestMatch.start = offset;\r\n bestMatch.end = self._row.length - 1;\r\n bestMatch.counter = counter;\r\n return bestMatch;\r\n};\r\n\r\nBarcodeReader.prototype.decodePattern = function(pattern) {\r\n var self = this,\r\n result;\r\n\r\n self._row = pattern;\r\n result = self._decode();\r\n if (result === null) {\r\n self._row.reverse();\r\n result = self._decode();\r\n if (result) {\r\n result.direction = BarcodeReader.DIRECTION.REVERSE;\r\n result.start = self._row.length - result.start;\r\n result.end = self._row.length - result.end;\r\n }\r\n } else {\r\n result.direction = BarcodeReader.DIRECTION.FORWARD;\r\n }\r\n if (result) {\r\n result.format = self.FORMAT;\r\n }\r\n return result;\r\n};\r\n\r\nBarcodeReader.prototype._matchRange = function(start, end, value) {\r\n var i;\r\n\r\n start = start < 0 ? 0 : start;\r\n for (i = start; i < end; i++) {\r\n if (this._row[i] !== value) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n};\r\n\r\nBarcodeReader.prototype._fillCounters = function(offset, end, isWhite) {\r\n var self = this,\r\n counterPos = 0,\r\n i,\r\n counters = [];\r\n\r\n isWhite = (typeof isWhite !== 'undefined') ? isWhite : true;\r\n offset = (typeof offset !== 'undefined') ? offset : self._nextUnset(self._row);\r\n end = end || self._row.length;\r\n\r\n counters[counterPos] = 0;\r\n for (i = offset; i < end; i++) {\r\n if (self._row[i] ^ isWhite) {\r\n counters[counterPos]++;\r\n } else {\r\n counterPos++;\r\n counters[counterPos] = 1;\r\n isWhite = !isWhite;\r\n }\r\n }\r\n return counters;\r\n};\r\n\r\nObject.defineProperty(BarcodeReader.prototype, \"FORMAT\", {\r\n value: 'unknown',\r\n writeable: false\r\n});\r\n\r\nBarcodeReader.DIRECTION = {\r\n FORWARD: 1,\r\n REVERSE: -1\r\n};\r\n\r\nBarcodeReader.Exception = {\r\n StartNotFoundException: \"Start-Info was not found!\",\r\n CodeNotFoundException: \"Code could not be found!\",\r\n PatternNotFoundException: \"Pattern could not be found!\"\r\n};\r\n\r\nBarcodeReader.CONFIG_KEYS = {};\r\n\r\nexport default BarcodeReader;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/reader/barcode_reader.js\n **/","module.exports = clone\n\n/**\n * Creates a new vec2 initialized with values from an existing vector\n *\n * @param {vec2} a vector to clone\n * @returns {vec2} a new 2D vector\n */\nfunction clone(a) {\n var out = new Float32Array(2)\n out[0] = a[0]\n out[1] = a[1]\n return out\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/gl-vec2/clone.js\n ** module id = 12\n ** module chunks = 0\n **/","var isArrayLikeObject = require('./isArrayLikeObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 incorrectly makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isArguments.js\n ** module id = 13\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8 which returns 'object' for typed array and weak map constructors,\n // and PhantomJS 1.9 which returns 'function' for `NodeList` instances.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isFunction.js\n ** module id = 14\n ** module chunks = 0\n **/","export default {\r\n init: function(arr, val) {\r\n var l = arr.length;\r\n while (l--) {\r\n arr[l] = val;\r\n }\r\n },\r\n\r\n /**\r\n * Shuffles the content of an array\r\n * @return {Array} the array itself shuffled\r\n */\r\n shuffle: function(arr) {\r\n var i = arr.length - 1, j, x;\r\n for (i; i >= 0; i--) {\r\n j = Math.floor(Math.random() * i);\r\n x = arr[i];\r\n arr[i] = arr[j];\r\n arr[j] = x;\r\n }\r\n return arr;\r\n },\r\n\r\n toPointList: function(arr) {\r\n var i, j, row = [], rows = [];\r\n for ( i = 0; i < arr.length; i++) {\r\n row = [];\r\n for ( j = 0; j < arr[i].length; j++) {\r\n row[j] = arr[i][j];\r\n }\r\n rows[i] = \"[\" + row.join(\",\") + \"]\";\r\n }\r\n return \"[\" + rows.join(\",\\r\\n\") + \"]\";\r\n },\r\n\r\n /**\r\n * returns the elements which's score is bigger than the threshold\r\n * @return {Array} the reduced array\r\n */\r\n threshold: function(arr, threshold, scoreFunc) {\r\n var i, queue = [];\r\n for ( i = 0; i < arr.length; i++) {\r\n if (scoreFunc.apply(arr, [arr[i]]) >= threshold) {\r\n queue.push(arr[i]);\r\n }\r\n }\r\n return queue;\r\n },\r\n\r\n maxIndex: function(arr) {\r\n var i, max = 0;\r\n for ( i = 0; i < arr.length; i++) {\r\n if (arr[i] > arr[max]) {\r\n max = i;\r\n }\r\n }\r\n return max;\r\n },\r\n\r\n max: function(arr) {\r\n var i, max = 0;\r\n for ( i = 0; i < arr.length; i++) {\r\n if (arr[i] > max) {\r\n max = arr[i];\r\n }\r\n }\r\n return max;\r\n },\r\n\r\n sum: function(arr) {\r\n var length = arr.length,\r\n sum = 0;\r\n\r\n while (length--) {\r\n sum += arr[length];\r\n }\r\n return sum;\r\n }\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/array_helper.js\n **/","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_ListCache.js\n ** module id = 16\n ** module chunks = 0\n **/","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_Stack.js\n ** module id = 17\n ** module chunks = 0\n **/","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_assocIndexOf.js\n ** module id = 18\n ** module chunks = 0\n **/","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getMapData.js\n ** module id = 19\n ** module chunks = 0\n **/","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetPrototype = Object.getPrototypeOf;\n\n/**\n * Gets the `[[Prototype]]` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {null|Object} Returns the `[[Prototype]]`.\n */\nfunction getPrototype(value) {\n return nativeGetPrototype(Object(value));\n}\n\nmodule.exports = getPrototype;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getPrototype.js\n ** module id = 20\n ** module chunks = 0\n **/","/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\nmodule.exports = isHostObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_isHostObject.js\n ** module id = 21\n ** module chunks = 0\n **/","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_isIndex.js\n ** module id = 22\n ** module chunks = 0\n **/","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_isKey.js\n ** module id = 23\n ** module chunks = 0\n **/","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_nativeCreate.js\n ** module id = 24\n ** module chunks = 0\n **/","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/eq.js\n ** module id = 25\n ** module chunks = 0\n **/","var getLength = require('./_getLength'),\n isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value)) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isArrayLike.js\n ** module id = 26\n ** module chunks = 0\n **/","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length,\n * else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isLength.js\n ** module id = 27\n ** module chunks = 0\n **/","var isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isSymbol.js\n ** module id = 28\n ** module chunks = 0\n **/","import Cluster2 from './cluster';\r\nimport ArrayHelper from './array_helper';\r\nconst vec2 = {\r\n clone: require('gl-vec2/clone')\r\n};\r\nconst vec3 = {\r\n clone: require('gl-vec3/clone')\r\n};\r\n\r\n/**\r\n * @param x x-coordinate\r\n * @param y y-coordinate\r\n * @return ImageReference {x,y} Coordinate\r\n */\r\nexport function imageRef(x, y) {\r\n var that = {\r\n x: x,\r\n y: y,\r\n toVec2: function() {\r\n return vec2.clone([this.x, this.y]);\r\n },\r\n toVec3: function() {\r\n return vec3.clone([this.x, this.y, 1]);\r\n },\r\n round: function() {\r\n this.x = this.x > 0.0 ? Math.floor(this.x + 0.5) : Math.floor(this.x - 0.5);\r\n this.y = this.y > 0.0 ? Math.floor(this.y + 0.5) : Math.floor(this.y - 0.5);\r\n return this;\r\n }\r\n };\r\n return that;\r\n};\r\n\r\n/**\r\n * Computes an integral image of a given grayscale image.\r\n * @param imageDataContainer {ImageDataContainer} the image to be integrated\r\n */\r\nexport function computeIntegralImage2(imageWrapper, integralWrapper) {\r\n var imageData = imageWrapper.data;\r\n var width = imageWrapper.size.x;\r\n var height = imageWrapper.size.y;\r\n var integralImageData = integralWrapper.data;\r\n var sum = 0, posA = 0, posB = 0, posC = 0, posD = 0, x, y;\r\n\r\n // sum up first column\r\n posB = width;\r\n sum = 0;\r\n for ( y = 1; y < height; y++) {\r\n sum += imageData[posA];\r\n integralImageData[posB] += sum;\r\n posA += width;\r\n posB += width;\r\n }\r\n\r\n posA = 0;\r\n posB = 1;\r\n sum = 0;\r\n for ( x = 1; x < width; x++) {\r\n sum += imageData[posA];\r\n integralImageData[posB] += sum;\r\n posA++;\r\n posB++;\r\n }\r\n\r\n for ( y = 1; y < height; y++) {\r\n posA = y * width + 1;\r\n posB = (y - 1) * width + 1;\r\n posC = y * width;\r\n posD = (y - 1) * width;\r\n for ( x = 1; x < width; x++) {\r\n integralImageData[posA] +=\r\n imageData[posA] + integralImageData[posB] + integralImageData[posC] - integralImageData[posD];\r\n posA++;\r\n posB++;\r\n posC++;\r\n posD++;\r\n }\r\n }\r\n};\r\n\r\nexport function computeIntegralImage(imageWrapper, integralWrapper) {\r\n var imageData = imageWrapper.data;\r\n var width = imageWrapper.size.x;\r\n var height = imageWrapper.size.y;\r\n var integralImageData = integralWrapper.data;\r\n var sum = 0;\r\n\r\n // sum up first row\r\n for (var i = 0; i < width; i++) {\r\n sum += imageData[i];\r\n integralImageData[i] = sum;\r\n }\r\n\r\n for (var v = 1; v < height; v++) {\r\n sum = 0;\r\n for (var u = 0; u < width; u++) {\r\n sum += imageData[v * width + u];\r\n integralImageData[((v) * width) + u] = sum + integralImageData[(v - 1) * width + u];\r\n }\r\n }\r\n};\r\n\r\nexport function thresholdImage(imageWrapper, threshold, targetWrapper) {\r\n if (!targetWrapper) {\r\n targetWrapper = imageWrapper;\r\n }\r\n var imageData = imageWrapper.data, length = imageData.length, targetData = targetWrapper.data;\r\n\r\n while (length--) {\r\n targetData[length] = imageData[length] < threshold ? 1 : 0;\r\n }\r\n};\r\n\r\nexport function computeHistogram(imageWrapper, bitsPerPixel) {\r\n if (!bitsPerPixel) {\r\n bitsPerPixel = 8;\r\n }\r\n var imageData = imageWrapper.data,\r\n length = imageData.length,\r\n bitShift = 8 - bitsPerPixel,\r\n bucketCnt = 1 << bitsPerPixel,\r\n hist = new Int32Array(bucketCnt);\r\n\r\n while (length--) {\r\n hist[imageData[length] >> bitShift]++;\r\n }\r\n return hist;\r\n};\r\n\r\nexport function sharpenLine(line) {\r\n var i,\r\n length = line.length,\r\n left = line[0],\r\n center = line[1],\r\n right;\r\n\r\n for (i = 1; i < length - 1; i++) {\r\n right = line[i + 1];\r\n // -1 4 -1 kernel\r\n line[i - 1] = (((center * 2) - left - right)) & 255;\r\n left = center;\r\n center = right;\r\n }\r\n return line;\r\n};\r\n\r\nexport function determineOtsuThreshold(imageWrapper, bitsPerPixel) {\r\n if (!bitsPerPixel) {\r\n bitsPerPixel = 8;\r\n }\r\n var hist,\r\n threshold,\r\n bitShift = 8 - bitsPerPixel;\r\n\r\n function px(init, end) {\r\n var sum = 0, i;\r\n for ( i = init; i <= end; i++) {\r\n sum += hist[i];\r\n }\r\n return sum;\r\n }\r\n\r\n function mx(init, end) {\r\n var i, sum = 0;\r\n\r\n for ( i = init; i <= end; i++) {\r\n sum += i * hist[i];\r\n }\r\n\r\n return sum;\r\n }\r\n\r\n function determineThreshold() {\r\n var vet = [0], p1, p2, p12, k, m1, m2, m12,\r\n max = (1 << bitsPerPixel) - 1;\r\n\r\n hist = computeHistogram(imageWrapper, bitsPerPixel);\r\n for ( k = 1; k < max; k++) {\r\n p1 = px(0, k);\r\n p2 = px(k + 1, max);\r\n p12 = p1 * p2;\r\n if (p12 === 0) {\r\n p12 = 1;\r\n }\r\n m1 = mx(0, k) * p2;\r\n m2 = mx(k + 1, max) * p1;\r\n m12 = m1 - m2;\r\n vet[k] = m12 * m12 / p12;\r\n }\r\n return ArrayHelper.maxIndex(vet);\r\n }\r\n\r\n threshold = determineThreshold();\r\n return threshold << bitShift;\r\n};\r\n\r\nexport function otsuThreshold(imageWrapper, targetWrapper) {\r\n var threshold = determineOtsuThreshold(imageWrapper);\r\n\r\n thresholdImage(imageWrapper, threshold, targetWrapper);\r\n return threshold;\r\n};\r\n\r\n// local thresholding\r\nexport function computeBinaryImage(imageWrapper, integralWrapper, targetWrapper) {\r\n computeIntegralImage(imageWrapper, integralWrapper);\r\n\r\n if (!targetWrapper) {\r\n targetWrapper = imageWrapper;\r\n }\r\n var imageData = imageWrapper.data;\r\n var targetData = targetWrapper.data;\r\n var width = imageWrapper.size.x;\r\n var height = imageWrapper.size.y;\r\n var integralImageData = integralWrapper.data;\r\n var sum = 0, v, u, kernel = 3, A, B, C, D, avg, size = (kernel * 2 + 1) * (kernel * 2 + 1);\r\n\r\n // clear out top & bottom-border\r\n for ( v = 0; v <= kernel; v++) {\r\n for ( u = 0; u < width; u++) {\r\n targetData[((v) * width) + u] = 0;\r\n targetData[(((height - 1) - v) * width) + u] = 0;\r\n }\r\n }\r\n\r\n // clear out left & right border\r\n for ( v = kernel; v < height - kernel; v++) {\r\n for ( u = 0; u <= kernel; u++) {\r\n targetData[((v) * width) + u] = 0;\r\n targetData[((v) * width) + (width - 1 - u)] = 0;\r\n }\r\n }\r\n\r\n for ( v = kernel + 1; v < height - kernel - 1; v++) {\r\n for ( u = kernel + 1; u < width - kernel; u++) {\r\n A = integralImageData[(v - kernel - 1) * width + (u - kernel - 1)];\r\n B = integralImageData[(v - kernel - 1) * width + (u + kernel)];\r\n C = integralImageData[(v + kernel) * width + (u - kernel - 1)];\r\n D = integralImageData[(v + kernel) * width + (u + kernel)];\r\n sum = D - C - B + A;\r\n avg = sum / (size);\r\n targetData[v * width + u] = imageData[v * width + u] > (avg + 5) ? 0 : 1;\r\n }\r\n }\r\n};\r\n\r\nexport function cluster(points, threshold, property) {\r\n var i, k, cluster, point, clusters = [];\r\n\r\n if (!property) {\r\n property = \"rad\";\r\n }\r\n\r\n function addToCluster(newPoint) {\r\n var found = false;\r\n for ( k = 0; k < clusters.length; k++) {\r\n cluster = clusters[k];\r\n if (cluster.fits(newPoint)) {\r\n cluster.add(newPoint);\r\n found = true;\r\n }\r\n }\r\n return found;\r\n }\r\n\r\n // iterate over each cloud\r\n for ( i = 0; i < points.length; i++) {\r\n point = Cluster2.createPoint(points[i], i, property);\r\n if (!addToCluster(point)) {\r\n clusters.push(Cluster2.create(point, threshold));\r\n }\r\n }\r\n return clusters;\r\n};\r\n\r\nexport const Tracer = {\r\n trace: function(points, vec) {\r\n var iteration, maxIterations = 10, top = [], result = [], centerPos = 0, currentPos = 0;\r\n\r\n function trace(idx, forward) {\r\n var from, to, toIdx, predictedPos, thresholdX = 1, thresholdY = Math.abs(vec[1] / 10), found = false;\r\n\r\n function match(pos, predicted) {\r\n if (pos.x > (predicted.x - thresholdX)\r\n && pos.x < (predicted.x + thresholdX)\r\n && pos.y > (predicted.y - thresholdY)\r\n && pos.y < (predicted.y + thresholdY)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n // check if the next index is within the vec specifications\r\n // if not, check as long as the threshold is met\r\n\r\n from = points[idx];\r\n if (forward) {\r\n predictedPos = {\r\n x: from.x + vec[0],\r\n y: from.y + vec[1]\r\n };\r\n } else {\r\n predictedPos = {\r\n x: from.x - vec[0],\r\n y: from.y - vec[1]\r\n };\r\n }\r\n\r\n toIdx = forward ? idx + 1 : idx - 1;\r\n to = points[toIdx];\r\n while (to && ( found = match(to, predictedPos)) !== true && (Math.abs(to.y - from.y) < vec[1])) {\r\n toIdx = forward ? toIdx + 1 : toIdx - 1;\r\n to = points[toIdx];\r\n }\r\n\r\n return found ? toIdx : null;\r\n }\r\n\r\n for ( iteration = 0; iteration < maxIterations; iteration++) {\r\n // randomly select point to start with\r\n centerPos = Math.floor(Math.random() * points.length);\r\n\r\n // trace forward\r\n top = [];\r\n currentPos = centerPos;\r\n top.push(points[currentPos]);\r\n while (( currentPos = trace(currentPos, true)) !== null) {\r\n top.push(points[currentPos]);\r\n }\r\n if (centerPos > 0) {\r\n currentPos = centerPos;\r\n while (( currentPos = trace(currentPos, false)) !== null) {\r\n top.push(points[currentPos]);\r\n }\r\n }\r\n\r\n if (top.length > result.length) {\r\n result = top;\r\n }\r\n }\r\n return result;\r\n }\r\n};\r\n\r\nexport const DILATE = 1;\r\nexport const ERODE = 2;\r\n\r\nexport function dilate(inImageWrapper, outImageWrapper) {\r\n var v,\r\n u,\r\n inImageData = inImageWrapper.data,\r\n outImageData = outImageWrapper.data,\r\n height = inImageWrapper.size.y,\r\n width = inImageWrapper.size.x,\r\n sum,\r\n yStart1,\r\n yStart2,\r\n xStart1,\r\n xStart2;\r\n\r\n for ( v = 1; v < height - 1; v++) {\r\n for ( u = 1; u < width - 1; u++) {\r\n yStart1 = v - 1;\r\n yStart2 = v + 1;\r\n xStart1 = u - 1;\r\n xStart2 = u + 1;\r\n sum = inImageData[yStart1 * width + xStart1] + inImageData[yStart1 * width + xStart2] +\r\n inImageData[v * width + u] +\r\n inImageData[yStart2 * width + xStart1] + inImageData[yStart2 * width + xStart2];\r\n outImageData[v * width + u] = sum > 0 ? 1 : 0;\r\n }\r\n }\r\n};\r\n\r\nexport function erode(inImageWrapper, outImageWrapper) {\r\n var v,\r\n u,\r\n inImageData = inImageWrapper.data,\r\n outImageData = outImageWrapper.data,\r\n height = inImageWrapper.size.y,\r\n width = inImageWrapper.size.x,\r\n sum,\r\n yStart1,\r\n yStart2,\r\n xStart1,\r\n xStart2;\r\n\r\n for ( v = 1; v < height - 1; v++) {\r\n for ( u = 1; u < width - 1; u++) {\r\n yStart1 = v - 1;\r\n yStart2 = v + 1;\r\n xStart1 = u - 1;\r\n xStart2 = u + 1;\r\n sum = inImageData[yStart1 * width + xStart1] + inImageData[yStart1 * width + xStart2] +\r\n inImageData[v * width + u] +\r\n inImageData[yStart2 * width + xStart1] + inImageData[yStart2 * width + xStart2];\r\n outImageData[v * width + u] = sum === 5 ? 1 : 0;\r\n }\r\n }\r\n};\r\n\r\nexport function subtract(aImageWrapper, bImageWrapper, resultImageWrapper) {\r\n if (!resultImageWrapper) {\r\n resultImageWrapper = aImageWrapper;\r\n }\r\n var length = aImageWrapper.data.length,\r\n aImageData = aImageWrapper.data,\r\n bImageData = bImageWrapper.data,\r\n cImageData = resultImageWrapper.data;\r\n\r\n while (length--) {\r\n cImageData[length] = aImageData[length] - bImageData[length];\r\n }\r\n};\r\n\r\nexport function bitwiseOr(aImageWrapper, bImageWrapper, resultImageWrapper) {\r\n if (!resultImageWrapper) {\r\n resultImageWrapper = aImageWrapper;\r\n }\r\n var length = aImageWrapper.data.length,\r\n aImageData = aImageWrapper.data,\r\n bImageData = bImageWrapper.data,\r\n cImageData = resultImageWrapper.data;\r\n\r\n while (length--) {\r\n cImageData[length] = aImageData[length] || bImageData[length];\r\n }\r\n};\r\n\r\nexport function countNonZero(imageWrapper) {\r\n var length = imageWrapper.data.length, data = imageWrapper.data, sum = 0;\r\n\r\n while (length--) {\r\n sum += data[length];\r\n }\r\n return sum;\r\n};\r\n\r\nexport function topGeneric(list, top, scoreFunc) {\r\n var i, minIdx = 0, min = 0, queue = [], score, hit, pos;\r\n\r\n for ( i = 0; i < top; i++) {\r\n queue[i] = {\r\n score: 0,\r\n item: null\r\n };\r\n }\r\n\r\n for ( i = 0; i < list.length; i++) {\r\n score = scoreFunc.apply(this, [list[i]]);\r\n if (score > min) {\r\n hit = queue[minIdx];\r\n hit.score = score;\r\n hit.item = list[i];\r\n min = Number.MAX_VALUE;\r\n for ( pos = 0; pos < top; pos++) {\r\n if (queue[pos].score < min) {\r\n min = queue[pos].score;\r\n minIdx = pos;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return queue;\r\n};\r\n\r\nexport function grayArrayFromImage(htmlImage, offsetX, ctx, array) {\r\n ctx.drawImage(htmlImage, offsetX, 0, htmlImage.width, htmlImage.height);\r\n var ctxData = ctx.getImageData(offsetX, 0, htmlImage.width, htmlImage.height).data;\r\n computeGray(ctxData, array);\r\n};\r\n\r\nexport function grayArrayFromContext(ctx, size, offset, array) {\r\n var ctxData = ctx.getImageData(offset.x, offset.y, size.x, size.y).data;\r\n computeGray(ctxData, array);\r\n};\r\n\r\nexport function grayAndHalfSampleFromCanvasData(canvasData, size, outArray) {\r\n var topRowIdx = 0;\r\n var bottomRowIdx = size.x;\r\n var endIdx = Math.floor(canvasData.length / 4);\r\n var outWidth = size.x / 2;\r\n var outImgIdx = 0;\r\n var inWidth = size.x;\r\n var i;\r\n\r\n while (bottomRowIdx < endIdx) {\r\n for ( i = 0; i < outWidth; i++) {\r\n outArray[outImgIdx] = Math.floor((\r\n (0.299 * canvasData[topRowIdx * 4 + 0] +\r\n 0.587 * canvasData[topRowIdx * 4 + 1] +\r\n 0.114 * canvasData[topRowIdx * 4 + 2]) +\r\n (0.299 * canvasData[(topRowIdx + 1) * 4 + 0] +\r\n 0.587 * canvasData[(topRowIdx + 1) * 4 + 1] +\r\n 0.114 * canvasData[(topRowIdx + 1) * 4 + 2]) +\r\n (0.299 * canvasData[(bottomRowIdx) * 4 + 0] +\r\n 0.587 * canvasData[(bottomRowIdx) * 4 + 1] +\r\n 0.114 * canvasData[(bottomRowIdx) * 4 + 2]) +\r\n (0.299 * canvasData[(bottomRowIdx + 1) * 4 + 0] +\r\n 0.587 * canvasData[(bottomRowIdx + 1) * 4 + 1] +\r\n 0.114 * canvasData[(bottomRowIdx + 1) * 4 + 2])) / 4);\r\n outImgIdx++;\r\n topRowIdx = topRowIdx + 2;\r\n bottomRowIdx = bottomRowIdx + 2;\r\n }\r\n topRowIdx = topRowIdx + inWidth;\r\n bottomRowIdx = bottomRowIdx + inWidth;\r\n }\r\n};\r\n\r\nexport function computeGray(imageData, outArray, config) {\r\n var l = (imageData.length / 4) | 0,\r\n i,\r\n singleChannel = config && config.singleChannel === true;\r\n\r\n if (singleChannel) {\r\n for (i = 0; i < l; i++) {\r\n outArray[i] = imageData[i * 4 + 0];\r\n }\r\n } else {\r\n for (i = 0; i < l; i++) {\r\n outArray[i] = Math.floor(\r\n 0.299 * imageData[i * 4 + 0] + 0.587 * imageData[i * 4 + 1] + 0.114 * imageData[i * 4 + 2]);\r\n }\r\n }\r\n};\r\n\r\nexport function loadImageArray(src, callback, canvas) {\r\n if (!canvas) {\r\n canvas = document.createElement('canvas');\r\n }\r\n var img = new Image();\r\n img.callback = callback;\r\n img.onload = function() {\r\n canvas.width = this.width;\r\n canvas.height = this.height;\r\n var ctx = canvas.getContext('2d');\r\n ctx.drawImage(this, 0, 0);\r\n var array = new Uint8Array(this.width * this.height);\r\n ctx.drawImage(this, 0, 0);\r\n var data = ctx.getImageData(0, 0, this.width, this.height).data;\r\n computeGray(data, array);\r\n this.callback(array, {\r\n x: this.width,\r\n y: this.height\r\n }, this);\r\n };\r\n img.src = src;\r\n};\r\n\r\n/**\r\n * @param inImg {ImageWrapper} input image to be sampled\r\n * @param outImg {ImageWrapper} to be stored in\r\n */\r\nexport function halfSample(inImgWrapper, outImgWrapper) {\r\n var inImg = inImgWrapper.data;\r\n var inWidth = inImgWrapper.size.x;\r\n var outImg = outImgWrapper.data;\r\n var topRowIdx = 0;\r\n var bottomRowIdx = inWidth;\r\n var endIdx = inImg.length;\r\n var outWidth = inWidth / 2;\r\n var outImgIdx = 0;\r\n while (bottomRowIdx < endIdx) {\r\n for (var i = 0; i < outWidth; i++) {\r\n outImg[outImgIdx] = Math.floor(\r\n (inImg[topRowIdx] + inImg[topRowIdx + 1] + inImg[bottomRowIdx] + inImg[bottomRowIdx + 1]) / 4);\r\n outImgIdx++;\r\n topRowIdx = topRowIdx + 2;\r\n bottomRowIdx = bottomRowIdx + 2;\r\n }\r\n topRowIdx = topRowIdx + inWidth;\r\n bottomRowIdx = bottomRowIdx + inWidth;\r\n }\r\n};\r\n\r\nexport function hsv2rgb(hsv, rgb) {\r\n var h = hsv[0],\r\n s = hsv[1],\r\n v = hsv[2],\r\n c = v * s,\r\n x = c * (1 - Math.abs((h / 60) % 2 - 1)),\r\n m = v - c,\r\n r = 0,\r\n g = 0,\r\n b = 0;\r\n\r\n rgb = rgb || [0, 0, 0];\r\n\r\n if (h < 60) {\r\n r = c;\r\n g = x;\r\n } else if (h < 120) {\r\n r = x;\r\n g = c;\r\n } else if (h < 180) {\r\n g = c;\r\n b = x;\r\n } else if (h < 240) {\r\n g = x;\r\n b = c;\r\n } else if (h < 300) {\r\n r = x;\r\n b = c;\r\n } else if (h < 360) {\r\n r = c;\r\n b = x;\r\n }\r\n rgb[0] = ((r + m) * 255) | 0;\r\n rgb[1] = ((g + m) * 255) | 0;\r\n rgb[2] = ((b + m) * 255) | 0;\r\n return rgb;\r\n};\r\n\r\nexport function _computeDivisors(n) {\r\n var largeDivisors = [],\r\n divisors = [],\r\n i;\r\n\r\n for (i = 1; i < Math.sqrt(n) + 1; i++) {\r\n if (n % i === 0) {\r\n divisors.push(i);\r\n if (i !== n / i) {\r\n largeDivisors.unshift(Math.floor(n / i));\r\n }\r\n }\r\n }\r\n return divisors.concat(largeDivisors);\r\n};\r\n\r\nfunction _computeIntersection(arr1, arr2) {\r\n var i = 0,\r\n j = 0,\r\n result = [];\r\n\r\n while (i < arr1.length && j < arr2.length) {\r\n if (arr1[i] === arr2[j]) {\r\n result.push(arr1[i]);\r\n i++;\r\n j++;\r\n } else if (arr1[i] > arr2[j]) {\r\n j++;\r\n } else {\r\n i++;\r\n }\r\n }\r\n return result;\r\n};\r\n\r\nexport function calculatePatchSize(patchSize, imgSize) {\r\n var divisorsX = _computeDivisors(imgSize.x),\r\n divisorsY = _computeDivisors(imgSize.y),\r\n wideSide = Math.max(imgSize.x, imgSize.y),\r\n common = _computeIntersection(divisorsX, divisorsY),\r\n nrOfPatchesList = [8, 10, 15, 20, 32, 60, 80],\r\n nrOfPatchesMap = {\r\n \"x-small\": 5,\r\n \"small\": 4,\r\n \"medium\": 3,\r\n \"large\": 2,\r\n \"x-large\": 1\r\n },\r\n nrOfPatchesIdx = nrOfPatchesMap[patchSize] || nrOfPatchesMap.medium,\r\n nrOfPatches = nrOfPatchesList[nrOfPatchesIdx],\r\n desiredPatchSize = Math.floor(wideSide / nrOfPatches),\r\n optimalPatchSize;\r\n\r\n function findPatchSizeForDivisors(divisors) {\r\n var i = 0,\r\n found = divisors[Math.floor(divisors.length / 2)];\r\n\r\n while (i < (divisors.length - 1) && divisors[i] < desiredPatchSize) {\r\n i++;\r\n }\r\n if (i > 0) {\r\n if (Math.abs(divisors[i] - desiredPatchSize) > Math.abs(divisors[i - 1] - desiredPatchSize)) {\r\n found = divisors[i - 1];\r\n } else {\r\n found = divisors[i];\r\n }\r\n }\r\n if (desiredPatchSize / found < nrOfPatchesList[nrOfPatchesIdx + 1] / nrOfPatchesList[nrOfPatchesIdx] &&\r\n desiredPatchSize / found > nrOfPatchesList[nrOfPatchesIdx - 1] / nrOfPatchesList[nrOfPatchesIdx] ) {\r\n return {x: found, y: found};\r\n }\r\n return null;\r\n }\r\n\r\n optimalPatchSize = findPatchSizeForDivisors(common);\r\n if (!optimalPatchSize) {\r\n optimalPatchSize = findPatchSizeForDivisors(_computeDivisors(wideSide));\r\n if (!optimalPatchSize) {\r\n optimalPatchSize = findPatchSizeForDivisors((_computeDivisors(desiredPatchSize * nrOfPatches)));\r\n }\r\n }\r\n return optimalPatchSize;\r\n};\r\n\r\nexport function _parseCSSDimensionValues(value) {\r\n var dimension = {\r\n value: parseFloat(value),\r\n unit: value.indexOf(\"%\") === value.length - 1 ? \"%\" : \"%\"\r\n };\r\n\r\n return dimension;\r\n};\r\n\r\nexport const _dimensionsConverters = {\r\n top: function(dimension, context) {\r\n if (dimension.unit === \"%\") {\r\n return Math.floor(context.height * (dimension.value / 100));\r\n }\r\n },\r\n right: function(dimension, context) {\r\n if (dimension.unit === \"%\") {\r\n return Math.floor(context.width - (context.width * (dimension.value / 100)));\r\n }\r\n },\r\n bottom: function(dimension, context) {\r\n if (dimension.unit === \"%\") {\r\n return Math.floor(context.height - (context.height * (dimension.value / 100)));\r\n }\r\n },\r\n left: function(dimension, context) {\r\n if (dimension.unit === \"%\") {\r\n return Math.floor(context.width * (dimension.value / 100));\r\n }\r\n }\r\n};\r\n\r\nexport function computeImageArea(inputWidth, inputHeight, area) {\r\n var context = {width: inputWidth, height: inputHeight};\r\n\r\n var parsedArea = Object.keys(area).reduce(function(result, key) {\r\n var value = area[key],\r\n parsed = _parseCSSDimensionValues(value),\r\n calculated = _dimensionsConverters[key](parsed, context);\r\n\r\n result[key] = calculated;\r\n return result;\r\n }, {});\r\n\r\n return {\r\n sx: parsedArea.left,\r\n sy: parsedArea.top,\r\n sw: parsedArea.right - parsedArea.left,\r\n sh: parsedArea.bottom - parsedArea.top\r\n };\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/cv_utils.js\n **/","import SubImage from './subImage';\r\nimport {hsv2rgb} from '../common/cv_utils';\r\nimport ArrayHelper from '../common/array_helper';\r\nconst vec2 = {\r\n clone: require('gl-vec2/clone'),\r\n};\r\n\r\n/**\r\n * Represents a basic image combining the data and size.\r\n * In addition, some methods for manipulation are contained.\r\n * @param size {x,y} The size of the image in pixel\r\n * @param data {Array} If given, a flat array containing the pixel data\r\n * @param ArrayType {Type} If given, the desired DataType of the Array (may be typed/non-typed)\r\n * @param initialize {Boolean} Indicating if the array should be initialized on creation.\r\n * @returns {ImageWrapper}\r\n */\r\nfunction ImageWrapper(size, data, ArrayType, initialize) {\r\n if (!data) {\r\n if (ArrayType) {\r\n this.data = new ArrayType(size.x * size.y);\r\n if (ArrayType === Array && initialize) {\r\n ArrayHelper.init(this.data, 0);\r\n }\r\n } else {\r\n this.data = new Uint8Array(size.x * size.y);\r\n if (Uint8Array === Array && initialize) {\r\n ArrayHelper.init(this.data, 0);\r\n }\r\n }\r\n } else {\r\n this.data = data;\r\n }\r\n this.size = size;\r\n}\r\n\r\n/**\r\n * tests if a position is within the image with a given offset\r\n * @param imgRef {x, y} The location to test\r\n * @param border Number the padding value in pixel\r\n * @returns {Boolean} true if location inside the image's border, false otherwise\r\n * @see cvd/image.h\r\n */\r\nImageWrapper.prototype.inImageWithBorder = function(imgRef, border) {\r\n return (imgRef.x >= border)\r\n && (imgRef.y >= border)\r\n && (imgRef.x < (this.size.x - border))\r\n && (imgRef.y < (this.size.y - border));\r\n};\r\n\r\n/**\r\n * Performs bilinear sampling\r\n * @param inImg Image to extract sample from\r\n * @param x the x-coordinate\r\n * @param y the y-coordinate\r\n * @returns the sampled value\r\n * @see cvd/vision.h\r\n */\r\nImageWrapper.sample = function(inImg, x, y) {\r\n var lx = Math.floor(x);\r\n var ly = Math.floor(y);\r\n var w = inImg.size.x;\r\n var base = ly * inImg.size.x + lx;\r\n var a = inImg.data[base + 0];\r\n var b = inImg.data[base + 1];\r\n var c = inImg.data[base + w];\r\n var d = inImg.data[base + w + 1];\r\n var e = a - b;\r\n x -= lx;\r\n y -= ly;\r\n\r\n var result = Math.floor(x * (y * (e - c + d) - e) + y * (c - a) + a);\r\n return result;\r\n};\r\n\r\n/**\r\n * Initializes a given array. Sets each element to zero.\r\n * @param array {Array} The array to initialize\r\n */\r\nImageWrapper.clearArray = function(array) {\r\n var l = array.length;\r\n while (l--) {\r\n array[l] = 0;\r\n }\r\n};\r\n\r\n/**\r\n * Creates a {SubImage} from the current image ({this}).\r\n * @param from {ImageRef} The position where to start the {SubImage} from. (top-left corner)\r\n * @param size {ImageRef} The size of the resulting image\r\n * @returns {SubImage} A shared part of the original image\r\n */\r\nImageWrapper.prototype.subImage = function(from, size) {\r\n return new SubImage(from, size, this);\r\n};\r\n\r\n/**\r\n * Creates an {ImageWrapper) and copies the needed underlying image-data area\r\n * @param imageWrapper {ImageWrapper} The target {ImageWrapper} where the data should be copied\r\n * @param from {ImageRef} The location where to copy from (top-left location)\r\n */\r\nImageWrapper.prototype.subImageAsCopy = function(imageWrapper, from) {\r\n var sizeY = imageWrapper.size.y, sizeX = imageWrapper.size.x;\r\n var x, y;\r\n for ( x = 0; x < sizeX; x++) {\r\n for ( y = 0; y < sizeY; y++) {\r\n imageWrapper.data[y * sizeX + x] = this.data[(from.y + y) * this.size.x + from.x + x];\r\n }\r\n }\r\n};\r\n\r\nImageWrapper.prototype.copyTo = function(imageWrapper) {\r\n var length = this.data.length, srcData = this.data, dstData = imageWrapper.data;\r\n\r\n while (length--) {\r\n dstData[length] = srcData[length];\r\n }\r\n};\r\n\r\n/**\r\n * Retrieves a given pixel position from the image\r\n * @param x {Number} The x-position\r\n * @param y {Number} The y-position\r\n * @returns {Number} The grayscale value at the pixel-position\r\n */\r\nImageWrapper.prototype.get = function(x, y) {\r\n return this.data[y * this.size.x + x];\r\n};\r\n\r\n/**\r\n * Retrieves a given pixel position from the image\r\n * @param x {Number} The x-position\r\n * @param y {Number} The y-position\r\n * @returns {Number} The grayscale value at the pixel-position\r\n */\r\nImageWrapper.prototype.getSafe = function(x, y) {\r\n var i;\r\n\r\n if (!this.indexMapping) {\r\n this.indexMapping = {\r\n x: [],\r\n y: []\r\n };\r\n for (i = 0; i < this.size.x; i++) {\r\n this.indexMapping.x[i] = i;\r\n this.indexMapping.x[i + this.size.x] = i;\r\n }\r\n for (i = 0; i < this.size.y; i++) {\r\n this.indexMapping.y[i] = i;\r\n this.indexMapping.y[i + this.size.y] = i;\r\n }\r\n }\r\n return this.data[(this.indexMapping.y[y + this.size.y]) * this.size.x + this.indexMapping.x[x + this.size.x]];\r\n};\r\n\r\n/**\r\n * Sets a given pixel position in the image\r\n * @param x {Number} The x-position\r\n * @param y {Number} The y-position\r\n * @param value {Number} The grayscale value to set\r\n * @returns {ImageWrapper} The Image itself (for possible chaining)\r\n */\r\nImageWrapper.prototype.set = function(x, y, value) {\r\n this.data[y * this.size.x + x] = value;\r\n return this;\r\n};\r\n\r\n/**\r\n * Sets the border of the image (1 pixel) to zero\r\n */\r\nImageWrapper.prototype.zeroBorder = function() {\r\n var i, width = this.size.x, height = this.size.y, data = this.data;\r\n for ( i = 0; i < width; i++) {\r\n data[i] = data[(height - 1) * width + i] = 0;\r\n }\r\n for ( i = 1; i < height - 1; i++) {\r\n data[i * width] = data[i * width + (width - 1)] = 0;\r\n }\r\n};\r\n\r\n/**\r\n * Inverts a binary image in place\r\n */\r\nImageWrapper.prototype.invert = function() {\r\n var data = this.data, length = data.length;\r\n\r\n while (length--) {\r\n data[length] = data[length] ? 0 : 1;\r\n }\r\n};\r\n\r\nImageWrapper.prototype.convolve = function(kernel) {\r\n var x, y, kx, ky, kSize = (kernel.length / 2) | 0, accu = 0;\r\n for ( y = 0; y < this.size.y; y++) {\r\n for ( x = 0; x < this.size.x; x++) {\r\n accu = 0;\r\n for ( ky = -kSize; ky <= kSize; ky++) {\r\n for ( kx = -kSize; kx <= kSize; kx++) {\r\n accu += kernel[ky + kSize][kx + kSize] * this.getSafe(x + kx, y + ky);\r\n }\r\n }\r\n this.data[y * this.size.x + x] = accu;\r\n }\r\n }\r\n};\r\n\r\nImageWrapper.prototype.moments = function(labelcount) {\r\n var data = this.data,\r\n x,\r\n y,\r\n height = this.size.y,\r\n width = this.size.x,\r\n val,\r\n ysq,\r\n labelsum = [],\r\n i,\r\n label,\r\n mu11,\r\n mu02,\r\n mu20,\r\n x_,\r\n y_,\r\n tmp,\r\n result = [],\r\n PI = Math.PI,\r\n PI_4 = PI / 4;\r\n\r\n if (labelcount <= 0) {\r\n return result;\r\n }\r\n\r\n for ( i = 0; i < labelcount; i++) {\r\n labelsum[i] = {\r\n m00: 0,\r\n m01: 0,\r\n m10: 0,\r\n m11: 0,\r\n m02: 0,\r\n m20: 0,\r\n theta: 0,\r\n rad: 0\r\n };\r\n }\r\n\r\n for ( y = 0; y < height; y++) {\r\n ysq = y * y;\r\n for ( x = 0; x < width; x++) {\r\n val = data[y * width + x];\r\n if (val > 0) {\r\n label = labelsum[val - 1];\r\n label.m00 += 1;\r\n label.m01 += y;\r\n label.m10 += x;\r\n label.m11 += x * y;\r\n label.m02 += ysq;\r\n label.m20 += x * x;\r\n }\r\n }\r\n }\r\n\r\n for ( i = 0; i < labelcount; i++) {\r\n label = labelsum[i];\r\n if (!isNaN(label.m00) && label.m00 !== 0) {\r\n x_ = label.m10 / label.m00;\r\n y_ = label.m01 / label.m00;\r\n mu11 = label.m11 / label.m00 - x_ * y_;\r\n mu02 = label.m02 / label.m00 - y_ * y_;\r\n mu20 = label.m20 / label.m00 - x_ * x_;\r\n tmp = (mu02 - mu20) / (2 * mu11);\r\n tmp = 0.5 * Math.atan(tmp) + (mu11 >= 0 ? PI_4 : -PI_4 ) + PI;\r\n label.theta = (tmp * 180 / PI + 90) % 180 - 90;\r\n if (label.theta < 0) {\r\n label.theta += 180;\r\n }\r\n label.rad = tmp > PI ? tmp - PI : tmp;\r\n label.vec = vec2.clone([Math.cos(tmp), Math.sin(tmp)]);\r\n result.push(label);\r\n }\r\n }\r\n\r\n return result;\r\n};\r\n\r\n/**\r\n * Displays the {ImageWrapper} in a given canvas\r\n * @param canvas {Canvas} The canvas element to write to\r\n * @param scale {Number} Scale which is applied to each pixel-value\r\n */\r\nImageWrapper.prototype.show = function(canvas, scale) {\r\n var ctx,\r\n frame,\r\n data,\r\n current,\r\n pixel,\r\n x,\r\n y;\r\n\r\n if (!scale) {\r\n scale = 1.0;\r\n }\r\n ctx = canvas.getContext('2d');\r\n canvas.width = this.size.x;\r\n canvas.height = this.size.y;\r\n frame = ctx.getImageData(0, 0, canvas.width, canvas.height);\r\n data = frame.data;\r\n current = 0;\r\n for (y = 0; y < this.size.y; y++) {\r\n for (x = 0; x < this.size.x; x++) {\r\n pixel = y * this.size.x + x;\r\n current = this.get(x, y) * scale;\r\n data[pixel * 4 + 0] = current;\r\n data[pixel * 4 + 1] = current;\r\n data[pixel * 4 + 2] = current;\r\n data[pixel * 4 + 3] = 255;\r\n }\r\n }\r\n //frame.data = data;\r\n ctx.putImageData(frame, 0, 0);\r\n};\r\n\r\n/**\r\n * Displays the {SubImage} in a given canvas\r\n * @param canvas {Canvas} The canvas element to write to\r\n * @param scale {Number} Scale which is applied to each pixel-value\r\n */\r\nImageWrapper.prototype.overlay = function(canvas, scale, from) {\r\n if (!scale || scale < 0 || scale > 360) {\r\n scale = 360;\r\n }\r\n var hsv = [0, 1, 1];\r\n var rgb = [0, 0, 0];\r\n var whiteRgb = [255, 255, 255];\r\n var blackRgb = [0, 0, 0];\r\n var result = [];\r\n var ctx = canvas.getContext('2d');\r\n var frame = ctx.getImageData(from.x, from.y, this.size.x, this.size.y);\r\n var data = frame.data;\r\n var length = this.data.length;\r\n while (length--) {\r\n hsv[0] = this.data[length] * scale;\r\n result = hsv[0] <= 0 ? whiteRgb : hsv[0] >= 360 ? blackRgb : hsv2rgb(hsv, rgb);\r\n data[length * 4 + 0] = result[0];\r\n data[length * 4 + 1] = result[1];\r\n data[length * 4 + 2] = result[2];\r\n data[length * 4 + 3] = 255;\r\n }\r\n ctx.putImageData(frame, from.x, from.y);\r\n};\r\n\r\nexport default ImageWrapper;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/image_wrapper.js\n **/","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_MapCache.js\n ** module id = 31\n ** module chunks = 0\n **/","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_Symbol.js\n ** module id = 32\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_arrayMap.js\n ** module id = 33\n ** module chunks = 0\n **/","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_arrayPush.js\n ** module id = 34\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\nmodule.exports = arrayReduce;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_arrayReduce.js\n ** module id = 35\n ** module chunks = 0\n **/","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_cloneArrayBuffer.js\n ** module id = 36\n ** module chunks = 0\n **/","var assignValue = require('./_assignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : source[key];\n\n assignValue(object, key, newValue);\n }\n return object;\n}\n\nmodule.exports = copyObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_copyObject.js\n ** module id = 37\n ** module chunks = 0\n **/","var stubArray = require('./stubArray');\n\n/** Built-in value references. */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbol properties of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nfunction getSymbols(object) {\n // Coerce `object` to an object to avoid non-object errors in V8.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=3443 for more details.\n return getOwnPropertySymbols(Object(object));\n}\n\n// Fallback for IE < 11.\nif (!getOwnPropertySymbols) {\n getSymbols = stubArray;\n}\n\nmodule.exports = getSymbols;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getSymbols.js\n ** module id = 38\n ** module chunks = 0\n **/","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction getTag(value) {\n return objectToString.call(value);\n}\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getTag.js\n ** module id = 39\n ** module chunks = 0\n **/","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_isPrototype.js\n ** module id = 40\n ** module chunks = 0\n **/","var isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && objectToString.call(value) == stringTag);\n}\n\nmodule.exports = isString;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isString.js\n ** module id = 41\n ** module chunks = 0\n **/","var isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nfunction isTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n\nmodule.exports = isTypedArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isTypedArray.js\n ** module id = 42\n ** module chunks = 0\n **/","var baseKeysIn = require('./_baseKeysIn'),\n indexKeys = require('./_indexKeys'),\n isIndex = require('./_isIndex'),\n isPrototype = require('./_isPrototype');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n var index = -1,\n isProto = isPrototype(object),\n props = baseKeysIn(object),\n propsLength = props.length,\n indexes = indexKeys(object),\n skipIndexes = !!indexes,\n result = indexes || [],\n length = result.length;\n\n while (++index < propsLength) {\n var key = props[index];\n if (!(skipIndexes && (key == 'length' || isIndex(key, length))) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/keysIn.js\n ** module id = 43\n ** module chunks = 0\n **/","var apply = require('./_apply'),\n toInteger = require('./toInteger');\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Creates a function that invokes `func` with the `this` binding of the\n * created function and arguments from `start` and beyond provided as\n * an array.\n *\n * **Note:** This method is based on the\n * [rest parameter](https://mdn.io/rest_parameters).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.rest(function(what, names) {\n * return what + ' ' + _.initial(names).join(', ') +\n * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n * });\n *\n * say('hello', 'fred', 'barney', 'pebbles');\n * // => 'hello fred, barney, & pebbles'\n */\nfunction rest(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = nativeMax(start === undefined ? (func.length - 1) : toInteger(start), 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n switch (start) {\n case 0: return func.call(this, array);\n case 1: return func.call(this, args[0], array);\n case 2: return func.call(this, args[0], args[1], array);\n }\n var otherArgs = Array(start + 1);\n index = -1;\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = rest;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/rest.js\n ** module id = 44\n ** module chunks = 0\n **/","import ImageDebug from '../common/image_debug';\r\n\r\nfunction contains(codeResult, list) {\r\n if (list) {\r\n return list.some(function (item) {\r\n return Object.keys(item).every(function (key) {\r\n return item[key] === codeResult[key];\r\n });\r\n });\r\n }\r\n return false;\r\n}\r\n\r\nfunction passesFilter(codeResult, filter) {\r\n if (typeof filter === 'function') {\r\n return filter(codeResult);\r\n }\r\n return true;\r\n}\r\n\r\nexport default {\r\n create: function(config) {\r\n var canvas = document.createElement(\"canvas\"),\r\n ctx = canvas.getContext(\"2d\"),\r\n results = [],\r\n capacity = config.capacity || 20,\r\n capture = config.capture === true;\r\n\r\n function matchesConstraints(codeResult) {\r\n return capacity\r\n && codeResult\r\n && !contains(codeResult, config.blacklist)\r\n && passesFilter(codeResult, config.filter);\r\n }\r\n\r\n return {\r\n addResult: function(data, imageSize, codeResult) {\r\n var result = {};\r\n\r\n if (matchesConstraints(codeResult)) {\r\n capacity--;\r\n result.codeResult = codeResult;\r\n if (capture) {\r\n canvas.width = imageSize.x;\r\n canvas.height = imageSize.y;\r\n ImageDebug.drawImage(data, imageSize, ctx);\r\n result.frame = canvas.toDataURL();\r\n }\r\n results.push(result);\r\n }\r\n },\r\n getResults: function() {\r\n return results;\r\n }\r\n };\r\n }\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/analytics/result_collector.js\n **/","let config;\r\n\r\nif (ENV.development){\r\n config = require('./config.dev.js');\r\n} else if (ENV.node) {\r\n config = require('./config.node.js');\r\n} else {\r\n config = require('./config.prod.js');\r\n}\r\n\r\nexport default config;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/config/config.js\n **/","/**\r\n * http://www.codeproject.com/Tips/407172/Connected-Component-Labeling-and-Vectorization\r\n */\r\nvar Tracer = {\r\n searchDirections: [[0, 1], [1, 1], [1, 0], [1, -1], [0, -1], [-1, -1], [-1, 0], [-1, 1]],\r\n create: function(imageWrapper, labelWrapper) {\r\n var imageData = imageWrapper.data,\r\n labelData = labelWrapper.data,\r\n searchDirections = this.searchDirections,\r\n width = imageWrapper.size.x,\r\n pos;\r\n\r\n function trace(current, color, label, edgelabel) {\r\n var i,\r\n y,\r\n x;\r\n\r\n for ( i = 0; i < 7; i++) {\r\n y = current.cy + searchDirections[current.dir][0];\r\n x = current.cx + searchDirections[current.dir][1];\r\n pos = y * width + x;\r\n if ((imageData[pos] === color) && ((labelData[pos] === 0) || (labelData[pos] === label))) {\r\n labelData[pos] = label;\r\n current.cy = y;\r\n current.cx = x;\r\n return true;\r\n } else {\r\n if (labelData[pos] === 0) {\r\n labelData[pos] = edgelabel;\r\n }\r\n current.dir = (current.dir + 1) % 8;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n function vertex2D(x, y, dir) {\r\n return {\r\n dir: dir,\r\n x: x,\r\n y: y,\r\n next: null,\r\n prev: null\r\n };\r\n }\r\n\r\n function contourTracing(sy, sx, label, color, edgelabel) {\r\n var Fv = null,\r\n Cv,\r\n P,\r\n ldir,\r\n current = {\r\n cx: sx,\r\n cy: sy,\r\n dir: 0\r\n };\r\n\r\n if (trace(current, color, label, edgelabel)) {\r\n Fv = vertex2D(sx, sy, current.dir);\r\n Cv = Fv;\r\n ldir = current.dir;\r\n P = vertex2D(current.cx, current.cy, 0);\r\n P.prev = Cv;\r\n Cv.next = P;\r\n P.next = null;\r\n Cv = P;\r\n do {\r\n current.dir = (current.dir + 6) % 8;\r\n trace(current, color, label, edgelabel);\r\n if (ldir !== current.dir) {\r\n Cv.dir = current.dir;\r\n P = vertex2D(current.cx, current.cy, 0);\r\n P.prev = Cv;\r\n Cv.next = P;\r\n P.next = null;\r\n Cv = P;\r\n } else {\r\n Cv.dir = ldir;\r\n Cv.x = current.cx;\r\n Cv.y = current.cy;\r\n }\r\n ldir = current.dir;\r\n } while (current.cx !== sx || current.cy !== sy);\r\n Fv.prev = Cv.prev;\r\n Cv.prev.next = Fv;\r\n }\r\n return Fv;\r\n }\r\n\r\n return {\r\n trace: function(current, color, label, edgelabel) {\r\n return trace(current, color, label, edgelabel);\r\n },\r\n contourTracing: function(sy, sx, label, color, edgelabel) {\r\n return contourTracing(sy, sx, label, color, edgelabel);\r\n }\r\n };\r\n }\r\n};\r\n\r\nexport default (Tracer);\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/locator/tracer.js\n **/","import BarcodeReader from './barcode_reader';\r\nimport ArrayHelper from '../common/array_helper';\r\n\r\nfunction Code39Reader() {\r\n BarcodeReader.call(this);\r\n}\r\n\r\nvar properties = {\r\n ALPHABETH_STRING: {value: \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. *$/+%\"},\r\n ALPHABET: {value: [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,\r\n 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 45, 46, 32, 42, 36, 47, 43, 37]},\r\n CHARACTER_ENCODINGS: {value: [0x034, 0x121, 0x061, 0x160, 0x031, 0x130, 0x070, 0x025, 0x124, 0x064, 0x109, 0x049,\r\n 0x148, 0x019, 0x118, 0x058, 0x00D, 0x10C, 0x04C, 0x01C, 0x103, 0x043, 0x142, 0x013, 0x112, 0x052, 0x007, 0x106,\r\n 0x046, 0x016, 0x181, 0x0C1, 0x1C0, 0x091, 0x190, 0x0D0, 0x085, 0x184, 0x0C4, 0x094, 0x0A8, 0x0A2, 0x08A, 0x02A\r\n ]},\r\n ASTERISK: {value: 0x094},\r\n FORMAT: {value: \"code_39\", writeable: false}\r\n};\r\n\r\nCode39Reader.prototype = Object.create(BarcodeReader.prototype, properties);\r\nCode39Reader.prototype.constructor = Code39Reader;\r\n\r\nCode39Reader.prototype._toCounters = function(start, counter) {\r\n var self = this,\r\n numCounters = counter.length,\r\n end = self._row.length,\r\n isWhite = !self._row[start],\r\n i,\r\n counterPos = 0;\r\n\r\n ArrayHelper.init(counter, 0);\r\n\r\n for ( i = start; i < end; i++) {\r\n if (self._row[i] ^ isWhite) {\r\n counter[counterPos]++;\r\n } else {\r\n counterPos++;\r\n if (counterPos === numCounters) {\r\n break;\r\n } else {\r\n counter[counterPos] = 1;\r\n isWhite = !isWhite;\r\n }\r\n }\r\n }\r\n\r\n return counter;\r\n};\r\n\r\nCode39Reader.prototype._decode = function() {\r\n var self = this,\r\n counters = [0, 0, 0, 0, 0, 0, 0, 0, 0],\r\n result = [],\r\n start = self._findStart(),\r\n decodedChar,\r\n lastStart,\r\n pattern,\r\n nextStart;\r\n\r\n if (!start) {\r\n return null;\r\n }\r\n nextStart = self._nextSet(self._row, start.end);\r\n\r\n do {\r\n counters = self._toCounters(nextStart, counters);\r\n pattern = self._toPattern(counters);\r\n if (pattern < 0) {\r\n return null;\r\n }\r\n decodedChar = self._patternToChar(pattern);\r\n if (decodedChar < 0){\r\n return null;\r\n }\r\n result.push(decodedChar);\r\n lastStart = nextStart;\r\n nextStart += ArrayHelper.sum(counters);\r\n nextStart = self._nextSet(self._row, nextStart);\r\n } while (decodedChar !== '*');\r\n result.pop();\r\n\r\n if (!result.length) {\r\n return null;\r\n }\r\n\r\n if (!self._verifyTrailingWhitespace(lastStart, nextStart, counters)) {\r\n return null;\r\n }\r\n\r\n return {\r\n code: result.join(\"\"),\r\n start: start.start,\r\n end: nextStart,\r\n startInfo: start,\r\n decodedCodes: result\r\n };\r\n};\r\n\r\nCode39Reader.prototype._verifyTrailingWhitespace = function(lastStart, nextStart, counters) {\r\n var trailingWhitespaceEnd,\r\n patternSize = ArrayHelper.sum(counters);\r\n\r\n trailingWhitespaceEnd = nextStart - lastStart - patternSize;\r\n if ((trailingWhitespaceEnd * 3) >= patternSize) {\r\n return true;\r\n }\r\n return false;\r\n};\r\n\r\nCode39Reader.prototype._patternToChar = function(pattern) {\r\n var i,\r\n self = this;\r\n\r\n for (i = 0; i < self.CHARACTER_ENCODINGS.length; i++) {\r\n if (self.CHARACTER_ENCODINGS[i] === pattern) {\r\n return String.fromCharCode(self.ALPHABET[i]);\r\n }\r\n }\r\n return -1;\r\n};\r\n\r\nCode39Reader.prototype._findNextWidth = function(counters, current) {\r\n var i,\r\n minWidth = Number.MAX_VALUE;\r\n\r\n for (i = 0; i < counters.length; i++) {\r\n if (counters[i] < minWidth && counters[i] > current) {\r\n minWidth = counters[i];\r\n }\r\n }\r\n\r\n return minWidth;\r\n};\r\n\r\nCode39Reader.prototype._toPattern = function(counters) {\r\n var numCounters = counters.length,\r\n maxNarrowWidth = 0,\r\n numWideBars = numCounters,\r\n wideBarWidth = 0,\r\n self = this,\r\n pattern,\r\n i;\r\n\r\n while (numWideBars > 3) {\r\n maxNarrowWidth = self._findNextWidth(counters, maxNarrowWidth);\r\n numWideBars = 0;\r\n pattern = 0;\r\n for (i = 0; i < numCounters; i++) {\r\n if (counters[i] > maxNarrowWidth) {\r\n pattern |= 1 << (numCounters - 1 - i);\r\n numWideBars++;\r\n wideBarWidth += counters[i];\r\n }\r\n }\r\n\r\n if (numWideBars === 3) {\r\n for (i = 0; i < numCounters && numWideBars > 0; i++) {\r\n if (counters[i] > maxNarrowWidth) {\r\n numWideBars--;\r\n if ((counters[i] * 2) >= wideBarWidth) {\r\n return -1;\r\n }\r\n }\r\n }\r\n return pattern;\r\n }\r\n }\r\n return -1;\r\n};\r\n\r\nCode39Reader.prototype._findStart = function() {\r\n var self = this,\r\n offset = self._nextSet(self._row),\r\n patternStart = offset,\r\n counter = [0, 0, 0, 0, 0, 0, 0, 0, 0],\r\n counterPos = 0,\r\n isWhite = false,\r\n i,\r\n j,\r\n whiteSpaceMustStart;\r\n\r\n for ( i = offset; i < self._row.length; i++) {\r\n if (self._row[i] ^ isWhite) {\r\n counter[counterPos]++;\r\n } else {\r\n if (counterPos === counter.length - 1) {\r\n // find start pattern\r\n if (self._toPattern(counter) === self.ASTERISK) {\r\n whiteSpaceMustStart = Math.floor(Math.max(0, patternStart - ((i - patternStart) / 4)));\r\n if (self._matchRange(whiteSpaceMustStart, patternStart, 0)) {\r\n return {\r\n start: patternStart,\r\n end: i\r\n };\r\n }\r\n }\r\n\r\n patternStart += counter[0] + counter[1];\r\n for ( j = 0; j < 7; j++) {\r\n counter[j] = counter[j + 2];\r\n }\r\n counter[7] = 0;\r\n counter[8] = 0;\r\n counterPos--;\r\n } else {\r\n counterPos++;\r\n }\r\n counter[counterPos] = 1;\r\n isWhite = !isWhite;\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nexport default Code39Reader;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/reader/code_39_reader.js\n **/","module.exports = dot\n\n/**\n * Calculates the dot product of two vec2's\n *\n * @param {vec2} a the first operand\n * @param {vec2} b the second operand\n * @returns {Number} dot product of a and b\n */\nfunction dot(a, b) {\n return a[0] * b[0] + a[1] * b[1]\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/gl-vec2/dot.js\n ** module id = 49\n ** module chunks = 0\n **/","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_Map.js\n ** module id = 50\n ** module chunks = 0\n **/","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_SetCache.js\n ** module id = 51\n ** module chunks = 0\n **/","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_Uint8Array.js\n ** module id = 52\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_arrayEach.js\n ** module id = 53\n ** module chunks = 0\n **/","var eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (typeof key == 'number' && value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\nmodule.exports = assignMergeValue;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_assignMergeValue.js\n ** module id = 54\n ** module chunks = 0\n **/","var eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\nmodule.exports = assignValue;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_assignValue.js\n ** module id = 55\n ** module chunks = 0\n **/","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseFlatten.js\n ** module id = 56\n ** module chunks = 0\n **/","var castPath = require('./_castPath'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseGet.js\n ** module id = 57\n ** module chunks = 0\n **/","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseGetAllKeys.js\n ** module id = 58\n ** module chunks = 0\n **/","var getPrototype = require('./_getPrototype');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n // Avoid a bug in IE 10-11 where objects with a [[Prototype]] of `null`,\n // that are composed entirely of index properties, return `false` for\n // `hasOwnProperty` checks of them.\n return object != null &&\n (hasOwnProperty.call(object, key) ||\n (typeof object == 'object' && key in object && getPrototype(object) === null));\n}\n\nmodule.exports = baseHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseHas.js\n ** module id = 59\n ** module chunks = 0\n **/","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObject = require('./isObject'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, bitmask, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n\nmodule.exports = baseIsEqual;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseIsEqual.js\n ** module id = 60\n ** module chunks = 0\n **/","var arrayReduce = require('./_arrayReduce');\n\n/**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} props The property identifiers to pick.\n * @returns {Object} Returns the new object.\n */\nfunction basePick(object, props) {\n object = Object(object);\n return arrayReduce(props, function(result, key) {\n if (key in object) {\n result[key] = object[key];\n }\n return result;\n }, {});\n}\n\nmodule.exports = basePick;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_basePick.js\n ** module id = 61\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_baseProperty.js\n ** module id = 62\n ** module chunks = 0\n **/","var isArray = require('./isArray'),\n stringToPath = require('./_stringToPath');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\nmodule.exports = castPath;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_castPath.js\n ** module id = 63\n ** module chunks = 0\n **/","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_copyArray.js\n ** module id = 64\n ** module chunks = 0\n **/","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome');\n\n/** Used to compose bitmasks for comparison styles. */\nvar UNORDERED_COMPARE_FLAG = 1,\n PARTIAL_COMPARE_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!seen.has(othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n return seen.add(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, customizer, bitmask, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n return result;\n}\n\nmodule.exports = equalArrays;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_equalArrays.js\n ** module id = 65\n ** module chunks = 0\n **/","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_getAllKeysIn.js\n ** module id = 66\n ** module chunks = 0\n **/","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isLength = require('./isLength'),\n isString = require('./isString');\n\n/**\n * Creates an array of index keys for `object` values of arrays,\n * `arguments` objects, and strings, otherwise `null` is returned.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array|null} Returns index keys, else `null`.\n */\nfunction indexKeys(object) {\n var length = object ? object.length : undefined;\n if (isLength(length) &&\n (isArray(object) || isString(object) || isArguments(object))) {\n return baseTimes(length, String);\n }\n return null;\n}\n\nmodule.exports = indexKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_indexKeys.js\n ** module id = 67\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_isStrictComparable.js\n ** module id = 68\n ** module chunks = 0\n **/","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_mapToArray.js\n ** module id = 69\n ** module chunks = 0\n **/","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_matchesStrictComparable.js\n ** module id = 70\n ** module chunks = 0\n **/","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_setToArray.js\n ** module id = 71\n ** module chunks = 0\n **/","/** Used to resolve the decompiled source of functions. */\nvar funcToString = Function.prototype.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/_toSource.js\n ** module id = 72\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isArrayLikeObject.js\n ** module id = 73\n ** module chunks = 0\n **/","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = !Buffer ? stubFalse : function(value) {\n return value instanceof Buffer;\n};\n\nmodule.exports = isBuffer;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/isBuffer.js\n ** module id = 74\n ** module chunks = 0\n **/","var arrayMap = require('./_arrayMap'),\n baseFlatten = require('./_baseFlatten'),\n basePick = require('./_basePick'),\n rest = require('./rest'),\n toKey = require('./_toKey');\n\n/**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [props] The property identifiers to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\nvar pick = rest(function(object, props) {\n return object == null ? {} : basePick(object, arrayMap(baseFlatten(props, 1), toKey));\n});\n\nmodule.exports = pick;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/lodash/pick.js\n ** module id = 75\n ** module chunks = 0\n **/","import './common/typedefs';\r\nimport 'webrtc-adapter';\r\nimport createScanner from './scanner';\r\nimport ImageWrapper from './common/image_wrapper';\r\nimport ImageDebug from './common/image_debug';\r\nimport ResultCollector from './analytics/result_collector';\r\nimport Config from './config/config';\r\nimport {merge} from 'lodash';\r\nimport {createConfigFromSource} from './input/config_factory';\r\n\r\nfunction fromConfig(config) {\r\n const scanner = createScanner();\r\n let pendingStart = null;\r\n let initialized = false;\r\n return {\r\n addEventListener(eventType, cb) {\r\n scanner.subscribe(eventType, cb);\r\n return this;\r\n },\r\n removeEventListener(eventType, cb) {\r\n scanner.unsubscribe(eventType, cb);\r\n return this;\r\n },\r\n start() {\r\n if (scanner.isRunning()) {\r\n return Promise.resolve(true);\r\n }\r\n if (pendingStart) {\r\n return pendingStart;\r\n }\r\n if (initialized) {\r\n scanner.start();\r\n return Promise.resolve(true);\r\n }\r\n pendingStart = new Promise((resolve, reject) => {\r\n scanner.init(config, (error) => {\r\n if (error) {\r\n console.log(error);\r\n reject(error);\r\n }\r\n initialized = true;\r\n scanner.start();\r\n resolve();\r\n pendingStart = null;\r\n });\r\n });\r\n return pendingStart;\r\n },\r\n stop() {\r\n scanner.stop();\r\n return this;\r\n },\r\n toPromise() {\r\n if (config.inputStream.type === 'LiveStream'\r\n || config.inputStream.type === 'VideoStream') {\r\n let cancelRequested = false;\r\n return {\r\n cancel() {\r\n cancelRequested = true;\r\n },\r\n promise: new Promise((resolve, reject) => {\r\n function onProcessed(result) {\r\n if (result && result.codeResult && result.codeResult.code) {\r\n scanner.stop();\r\n scanner.unsubscribe(\"processed\", onProcessed);\r\n resolve(result);\r\n }\r\n if (cancelRequested) {\r\n scanner.stop();\r\n scanner.unsubscribe(\"processed\", onProcessed);\r\n reject(\"cancelled!\");\r\n }\r\n }\r\n scanner.subscribe(\"processed\", onProcessed);\r\n this.start();\r\n })\r\n };\r\n } else {\r\n return new Promise((resolve, reject) => {\r\n scanner.decodeSingle(config, (result) => {\r\n if (result && result.codeResult && result.codeResult.code) {\r\n return resolve(result);\r\n }\r\n return reject(result);\r\n });\r\n });\r\n }\r\n },\r\n registerResultCollector(resultCollector) {\r\n scanner.registerResultCollector(resultCollector);\r\n },\r\n getCanvas() {\r\n return scanner.canvas.dom.image;\r\n },\r\n };\r\n}\r\n\r\nfunction fromSource(config, source, inputConfig = {}) {\r\n config = createConfigFromSource(config, inputConfig, source);\r\n return fromConfig(config);\r\n}\r\n\r\nfunction setConfig(configuration = {}, key, config = {}) {\r\n var mergedConfig = merge({}, configuration, {[key]: config});\r\n return createApi(mergedConfig);\r\n}\r\n\r\nfunction createApi(configuration = Config) {\r\n return {\r\n fromSource(src, inputConfig) {\r\n return fromSource(configuration, src, inputConfig);\r\n },\r\n fromConfig(conf) {\r\n return fromConfig(merge({}, configuration, conf));\r\n },\r\n decoder(conf) {\r\n return setConfig(configuration, \"decoder\", conf);\r\n },\r\n locator(conf) {\r\n return setConfig(configuration, \"locator\", conf);\r\n },\r\n throttle(timeInMs) {\r\n return setConfig(configuration, \"frequency\", 1000 / parseInt(timeInMs));\r\n },\r\n config(conf) {\r\n return createApi(merge({}, configuration, conf));\r\n },\r\n ImageWrapper,\r\n ImageDebug,\r\n ResultCollector,\r\n _worker: {\r\n createScanner\r\n }\r\n };\r\n}\r\nexport default createApi();\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/quagga.js\n **/","const vec2 = {\r\n clone: require('gl-vec2/clone'),\r\n dot: require('gl-vec2/dot')\r\n};\r\n\r\n/**\r\n * Creates a cluster for grouping similar orientations of datapoints\r\n */\r\nexport default {\r\n create: function(point, threshold) {\r\n var points = [],\r\n center = {\r\n rad: 0,\r\n vec: vec2.clone([0, 0])\r\n },\r\n pointMap = {};\r\n\r\n function init() {\r\n add(point);\r\n updateCenter();\r\n }\r\n\r\n function add(pointToAdd) {\r\n pointMap[pointToAdd.id] = pointToAdd;\r\n points.push(pointToAdd);\r\n }\r\n\r\n function updateCenter() {\r\n var i, sum = 0;\r\n for ( i = 0; i < points.length; i++) {\r\n sum += points[i].rad;\r\n }\r\n center.rad = sum / points.length;\r\n center.vec = vec2.clone([Math.cos(center.rad), Math.sin(center.rad)]);\r\n }\r\n\r\n init();\r\n\r\n return {\r\n add: function(pointToAdd) {\r\n if (!pointMap[pointToAdd.id]) {\r\n add(pointToAdd);\r\n updateCenter();\r\n }\r\n },\r\n fits: function(otherPoint) {\r\n // check cosine similarity to center-angle\r\n var similarity = Math.abs(vec2.dot(otherPoint.point.vec, center.vec));\r\n if (similarity > threshold) {\r\n return true;\r\n }\r\n return false;\r\n },\r\n getPoints: function() {\r\n return points;\r\n },\r\n getCenter: function() {\r\n return center;\r\n }\r\n };\r\n },\r\n createPoint: function(newPoint, id, property) {\r\n return {\r\n rad: newPoint[property],\r\n point: newPoint,\r\n id: id\r\n };\r\n }\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/cluster.js\n **/","const hasWindow = typeof window !== 'undefined';\r\nconst windowRef = hasWindow ? window : {};\r\n\r\nconst windowObjects = [\r\n \"MediaStream\",\r\n \"HTMLImageElement\",\r\n \"HTMLVideoElement\",\r\n \"HTMLCanvasElement\",\r\n \"FileList\",\r\n \"File\",\r\n \"URL\"\r\n];\r\n\r\nconst DOMHelper = windowObjects.reduce((result, obj) => {\r\n return {\r\n ...result,\r\n [obj]: obj in windowRef ? windowRef[obj] : () => {}\r\n };\r\n}, {});\r\n\r\nDOMHelper.setObject = (key, value) => {\r\n DOMHelper[key] = value;\r\n};\r\n\r\nexport default DOMHelper;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/dom_helper.js\n **/","export default function createEventedElement() {\r\n var events = {};\r\n\r\n function getEvent(eventName) {\r\n if (!events[eventName]) {\r\n events[eventName] = {\r\n subscribers: []\r\n };\r\n }\r\n return events[eventName];\r\n }\r\n\r\n function clearEvents(){\r\n events = {};\r\n }\r\n\r\n function publishSubscription(subscription, data) {\r\n if (subscription.async) {\r\n setTimeout(function() {\r\n subscription.callback(data);\r\n }, 4);\r\n } else {\r\n subscription.callback(data);\r\n }\r\n }\r\n\r\n function subscribe(event, callback, async) {\r\n var subscription;\r\n\r\n if ( typeof callback === \"function\") {\r\n subscription = {\r\n callback: callback,\r\n async: async\r\n };\r\n } else {\r\n subscription = callback;\r\n if (!subscription.callback) {\r\n throw \"Callback was not specified on options\";\r\n }\r\n }\r\n\r\n getEvent(event).subscribers.push(subscription);\r\n }\r\n\r\n return {\r\n subscribe: function(event, callback, async) {\r\n return subscribe(event, callback, async);\r\n },\r\n publish: function(eventName, data) {\r\n var event = getEvent(eventName),\r\n subscribers = event.subscribers;\r\n\r\n // Publish one-time subscriptions\r\n subscribers.filter(function(subscriber) {\r\n return !!subscriber.once;\r\n }).forEach((subscriber) => {\r\n publishSubscription(subscriber, data);\r\n });\r\n\r\n // remove them from the subscriber\r\n event.subscribers = subscribers.filter(function(subscriber) {\r\n return !subscriber.once;\r\n });\r\n\r\n // publish the rest\r\n event.subscribers.forEach((subscriber) => {\r\n publishSubscription(subscriber, data);\r\n });\r\n },\r\n once: function(event, callback, async) {\r\n subscribe(event, {\r\n callback: callback,\r\n async: async,\r\n once: true\r\n });\r\n },\r\n unsubscribe: function(eventName, callback) {\r\n var event;\r\n\r\n if (eventName) {\r\n event = getEvent(eventName);\r\n if (event && callback) {\r\n event.subscribers = event.subscribers.filter(function(subscriber){\r\n return subscriber.callback !== callback;\r\n });\r\n } else {\r\n event.subscribers = [];\r\n }\r\n } else {\r\n clearEvents();\r\n }\r\n }\r\n };\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/events.js\n **/","/**\r\n * Construct representing a part of another {ImageWrapper}. Shares data\r\n * between the parent and the child.\r\n * @param from {ImageRef} The position where to start the {SubImage} from. (top-left corner)\r\n * @param size {ImageRef} The size of the resulting image\r\n * @param I {ImageWrapper} The {ImageWrapper} to share from\r\n * @returns {SubImage} A shared part of the original image\r\n */\r\nfunction SubImage(from, size, I) {\r\n if (!I) {\r\n I = {\r\n data: null,\r\n size: size\r\n };\r\n }\r\n this.data = I.data;\r\n this.originalSize = I.size;\r\n this.I = I;\r\n\r\n this.from = from;\r\n this.size = size;\r\n}\r\n\r\n/**\r\n * Displays the {SubImage} in a given canvas\r\n * @param canvas {Canvas} The canvas element to write to\r\n * @param scale {Number} Scale which is applied to each pixel-value\r\n */\r\nSubImage.prototype.show = function(canvas, scale) {\r\n var ctx,\r\n frame,\r\n data,\r\n current,\r\n y,\r\n x,\r\n pixel;\r\n\r\n if (!scale) {\r\n scale = 1.0;\r\n }\r\n ctx = canvas.getContext('2d');\r\n canvas.width = this.size.x;\r\n canvas.height = this.size.y;\r\n frame = ctx.getImageData(0, 0, canvas.width, canvas.height);\r\n data = frame.data;\r\n current = 0;\r\n for (y = 0; y < this.size.y; y++) {\r\n for (x = 0; x < this.size.x; x++) {\r\n pixel = y * this.size.x + x;\r\n current = this.get(x, y) * scale;\r\n data[pixel * 4 + 0] = current;\r\n data[pixel * 4 + 1] = current;\r\n data[pixel * 4 + 2] = current;\r\n data[pixel * 4 + 3] = 255;\r\n }\r\n }\r\n frame.data = data;\r\n ctx.putImageData(frame, 0, 0);\r\n};\r\n\r\n/**\r\n * Retrieves a given pixel position from the {SubImage}\r\n * @param x {Number} The x-position\r\n * @param y {Number} The y-position\r\n * @returns {Number} The grayscale value at the pixel-position\r\n */\r\nSubImage.prototype.get = function(x, y) {\r\n return this.data[(this.from.y + y) * this.originalSize.x + this.from.x + x];\r\n};\r\n\r\n/**\r\n * Updates the underlying data from a given {ImageWrapper}\r\n * @param image {ImageWrapper} The updated image\r\n */\r\nSubImage.prototype.updateData = function(image) {\r\n this.originalSize = image.size;\r\n this.data = image.data;\r\n};\r\n\r\n/**\r\n * Updates the position of the shared area\r\n * @param from {x,y} The new location\r\n * @returns {SubImage} returns {this} for possible chaining\r\n */\r\nSubImage.prototype.updateFrom = function(from) {\r\n this.from = from;\r\n return this;\r\n};\r\n\r\nexport default (SubImage);\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/subImage.js\n **/","/*\r\n * typedefs.js\r\n * Normalizes browser-specific prefixes\r\n */\r\n\r\nif (typeof window !== 'undefined') {\r\n window.requestAnimFrame = (function () {\r\n return window.requestAnimationFrame ||\r\n window.webkitRequestAnimationFrame ||\r\n window.mozRequestAnimationFrame ||\r\n window.oRequestAnimationFrame ||\r\n window.msRequestAnimationFrame ||\r\n function (/* function FrameRequestCallback */ callback) {\r\n window.setTimeout(callback, 1000 / 60);\r\n };\r\n })();\r\n}\r\nMath.imul = Math.imul || function(a, b) {\r\n var ah = (a >>> 16) & 0xffff,\r\n al = a & 0xffff,\r\n bh = (b >>> 16) & 0xffff,\r\n bl = b & 0xffff;\r\n // the shift by 0 fixes the sign on the high part\r\n // the final |0 converts the unsigned value into a signed value\r\n return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0) | 0);\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/common/typedefs.js\n **/","module.exports = {\r\n inputStream: {\r\n name: \"Live\",\r\n type: \"LiveStream\",\r\n constraints: {\r\n width: 640,\r\n height: 480,\r\n // aspectRatio: 640/480, // optional\r\n facingMode: \"environment\", // or user\r\n // deviceId: \"38745983457387598375983759834\"\r\n },\r\n area: {\r\n top: \"0%\",\r\n right: \"0%\",\r\n left: \"0%\",\r\n bottom: \"0%\"\r\n },\r\n singleChannel: false // true: only the red color-channel is read\r\n },\r\n locate: true,\r\n numOfWorkers: 2,\r\n decoder: {\r\n readers: [\r\n 'code_128_reader'\r\n ],\r\n debug: {\r\n drawBoundingBox: false,\r\n showFrequency: false,\r\n drawScanline: false,\r\n showPattern: false\r\n }\r\n },\r\n locator: {\r\n halfSample: true,\r\n patchSize: \"medium\", // x-small, small, medium, large, x-large\r\n debug: {\r\n showCanvas: false,\r\n showPatches: false,\r\n showFoundPatches: false,\r\n showSkeleton: false,\r\n showLabels: false,\r\n showPatchLabels: false,\r\n showRemainingPatchLabels: false,\r\n boxFromPatches: {\r\n showTransformed: false,\r\n showTransformedBox: false,\r\n showBB: false\r\n }\r\n }\r\n }\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/config/config.dev.js\n **/","import Bresenham from './bresenham';\r\nimport ImageDebug from '../common/image_debug';\r\nimport Code128Reader from '../reader/code_128_reader';\r\nimport EANReader from '../reader/ean_reader';\r\nimport Code39Reader from '../reader/code_39_reader';\r\nimport Code39VINReader from '../reader/code_39_vin_reader';\r\nimport CodabarReader from '../reader/codabar_reader';\r\nimport UPCReader from '../reader/upc_reader';\r\nimport EAN8Reader from '../reader/ean_8_reader';\r\nimport EAN2Reader from '../reader/ean_2_reader';\r\nimport EAN5Reader from '../reader/ean_5_reader';\r\nimport UPCEReader from '../reader/upc_e_reader';\r\nimport I2of5Reader from '../reader/i2of5_reader';\r\n\r\nconst READERS = {\r\n code_128_reader: Code128Reader,\r\n ean_reader: EANReader,\r\n ean_5_reader: EAN5Reader,\r\n ean_2_reader: EAN2Reader,\r\n ean_8_reader: EAN8Reader,\r\n code_39_reader: Code39Reader,\r\n code_39_vin_reader: Code39VINReader,\r\n codabar_reader: CodabarReader,\r\n upc_reader: UPCReader,\r\n upc_e_reader: UPCEReader,\r\n i2of5_reader: I2of5Reader\r\n};\r\nexport default {\r\n create: function(config, inputImageWrapper) {\r\n var _canvas = {\r\n ctx: {\r\n frequency: null,\r\n pattern: null,\r\n overlay: null\r\n },\r\n dom: {\r\n frequency: null,\r\n pattern: null,\r\n overlay: null\r\n }\r\n },\r\n _barcodeReaders = [];\r\n\r\n initCanvas();\r\n initReaders();\r\n initConfig();\r\n\r\n function initCanvas() {\r\n if (ENV.development && typeof document !== 'undefined') {\r\n var $debug = document.querySelector(\"#debug.detection\");\r\n _canvas.dom.frequency = document.querySelector(\"canvas.frequency\");\r\n if (!_canvas.dom.frequency) {\r\n _canvas.dom.frequency = document.createElement(\"canvas\");\r\n _canvas.dom.frequency.className = \"frequency\";\r\n if ($debug) {\r\n $debug.appendChild(_canvas.dom.frequency);\r\n }\r\n }\r\n _canvas.ctx.frequency = _canvas.dom.frequency.getContext(\"2d\");\r\n\r\n _canvas.dom.pattern = document.querySelector(\"canvas.patternBuffer\");\r\n if (!_canvas.dom.pattern) {\r\n _canvas.dom.pattern = document.createElement(\"canvas\");\r\n _canvas.dom.pattern.className = \"patternBuffer\";\r\n if ($debug) {\r\n $debug.appendChild(_canvas.dom.pattern);\r\n }\r\n }\r\n _canvas.ctx.pattern = _canvas.dom.pattern.getContext(\"2d\");\r\n\r\n if ($debug) {\r\n _canvas.dom.overlay = document.querySelector(\"canvas.drawingBuffer\");\r\n if (!_canvas.dom.overlay) {\r\n _canvas.dom.overlay = document.createElement(\"canvas\");\r\n _canvas.dom.overlay.className = \"drawingBuffer\";\r\n $debug.appendChild(_canvas.dom.overlay);\r\n }\r\n _canvas.ctx.overlay = _canvas.dom.overlay.getContext(\"2d\");\r\n }\r\n }\r\n }\r\n\r\n function initReaders() {\r\n config.readers.forEach(function(readerConfig) {\r\n var reader,\r\n configuration = {},\r\n supplements = [];\r\n\r\n if (typeof readerConfig === 'object') {\r\n reader = readerConfig.format;\r\n configuration = readerConfig.config;\r\n } else if (typeof readerConfig === 'string') {\r\n reader = readerConfig;\r\n }\r\n if (ENV.development) {\r\n console.log(\"Before registering reader: \", reader);\r\n }\r\n if (configuration.supplements) {\r\n supplements = configuration\r\n .supplements.map((supplement) => {\r\n return new READERS[supplement]();\r\n });\r\n }\r\n _barcodeReaders.push(new READERS[reader](configuration, supplements));\r\n });\r\n if (ENV.development) {\r\n console.log(\"Registered Readers: \" + _barcodeReaders\r\n .map((reader) => JSON.stringify({format: reader.FORMAT, config: reader.config}))\r\n .join(', '));\r\n }\r\n }\r\n\r\n function initConfig() {\r\n if (ENV.development && typeof document !== 'undefined') {\r\n var i,\r\n vis = [{\r\n node: _canvas.dom.frequency,\r\n prop: config.debug.showFrequency\r\n }, {\r\n node: _canvas.dom.pattern,\r\n prop: config.debug.showPattern\r\n }];\r\n\r\n for (i = 0; i < vis.length; i++) {\r\n if (vis[i].prop === true) {\r\n vis[i].node.style.display = \"block\";\r\n } else {\r\n vis[i].node.style.display = \"none\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * extend the line on both ends\r\n * @param {Array} line\r\n * @param {Number} angle\r\n */\r\n function getExtendedLine(line, angle, ext) {\r\n function extendLine(amount) {\r\n var extension = {\r\n y: amount * Math.sin(angle),\r\n x: amount * Math.cos(angle)\r\n };\r\n\r\n line[0].y -= extension.y;\r\n line[0].x -= extension.x;\r\n line[1].y += extension.y;\r\n line[1].x += extension.x;\r\n }\r\n\r\n // check if inside image\r\n extendLine(ext);\r\n while (ext > 1 && (!inputImageWrapper.inImageWithBorder(line[0], 0)\r\n || !inputImageWrapper.inImageWithBorder(line[1], 0))) {\r\n ext -= Math.ceil(ext / 2);\r\n extendLine(-ext);\r\n }\r\n return line;\r\n }\r\n\r\n function getLine(box) {\r\n return [{\r\n x: (box[1][0] - box[0][0]) / 2 + box[0][0],\r\n y: (box[1][1] - box[0][1]) / 2 + box[0][1]\r\n }, {\r\n x: (box[3][0] - box[2][0]) / 2 + box[2][0],\r\n y: (box[3][1] - box[2][1]) / 2 + box[2][1]\r\n }];\r\n }\r\n\r\n function tryDecode(line) {\r\n var result = null,\r\n i,\r\n barcodeLine = Bresenham.getBarcodeLine(inputImageWrapper, line[0], line[1]);\r\n\r\n if (ENV.development && config.debug.showFrequency) {\r\n ImageDebug.drawPath(line, {x: 'x', y: 'y'}, _canvas.ctx.overlay, {color: 'red', lineWidth: 3});\r\n Bresenham.debug.printFrequency(barcodeLine.line, _canvas.dom.frequency);\r\n }\r\n\r\n Bresenham.toBinaryLine(barcodeLine);\r\n\r\n if (ENV.development && config.debug.showPattern) {\r\n Bresenham.debug.printPattern(barcodeLine.line, _canvas.dom.pattern);\r\n }\r\n\r\n for ( i = 0; i < _barcodeReaders.length && result === null; i++) {\r\n result = _barcodeReaders[i].decodePattern(barcodeLine.line);\r\n }\r\n if (result === null){\r\n return null;\r\n }\r\n return {\r\n codeResult: result,\r\n barcodeLine: barcodeLine\r\n };\r\n }\r\n\r\n /**\r\n * This method slices the given area apart and tries to detect a barcode-pattern\r\n * for each slice. It returns the decoded barcode, or null if nothing was found\r\n * @param {Array} box\r\n * @param {Array} line\r\n * @param {Number} lineAngle\r\n */\r\n function tryDecodeBruteForce(box, line, lineAngle) {\r\n var sideLength = Math.sqrt(Math.pow(box[1][0] - box[0][0], 2) + Math.pow((box[1][1] - box[0][1]), 2)),\r\n i,\r\n slices = 16,\r\n result = null,\r\n dir,\r\n extension,\r\n xdir = Math.sin(lineAngle),\r\n ydir = Math.cos(lineAngle);\r\n\r\n for ( i = 1; i < slices && result === null; i++) {\r\n // move line perpendicular to angle\r\n dir = sideLength / slices * i * (i % 2 === 0 ? -1 : 1);\r\n extension = {\r\n y: dir * xdir,\r\n x: dir * ydir\r\n };\r\n line[0].y += extension.x;\r\n line[0].x -= extension.y;\r\n line[1].y += extension.x;\r\n line[1].x -= extension.y;\r\n\r\n result = tryDecode(line);\r\n }\r\n return result;\r\n }\r\n\r\n function getLineLength(line) {\r\n return Math.sqrt(\r\n Math.pow(Math.abs(line[1].y - line[0].y), 2) +\r\n Math.pow(Math.abs(line[1].x - line[0].x), 2));\r\n }\r\n\r\n /**\r\n * With the help of the configured readers (Code128 or EAN) this function tries to detect a\r\n * valid barcode pattern within the given area.\r\n * @param {Object} box The area to search in\r\n * @returns {Object} the result {codeResult, line, angle, pattern, threshold}\r\n */\r\n function decodeFromBoundingBox(box) {\r\n var line,\r\n lineAngle,\r\n ctx = _canvas.ctx.overlay,\r\n result,\r\n lineLength;\r\n\r\n if (ENV.development) {\r\n if (config.debug.drawBoundingBox && ctx) {\r\n ImageDebug.drawPath(box, {x: 0, y: 1}, ctx, {color: \"blue\", lineWidth: 2});\r\n }\r\n }\r\n\r\n line = getLine(box);\r\n lineLength = getLineLength(line);\r\n lineAngle = Math.atan2(line[1].y - line[0].y, line[1].x - line[0].x);\r\n line = getExtendedLine(line, lineAngle, Math.floor(lineLength * 0.1));\r\n if (line === null){\r\n return null;\r\n }\r\n\r\n result = tryDecode(line);\r\n if (result === null) {\r\n result = tryDecodeBruteForce(box, line, lineAngle);\r\n }\r\n\r\n if (result === null) {\r\n return null;\r\n }\r\n\r\n if (ENV.development && result && config.debug.drawScanline && ctx) {\r\n ImageDebug.drawPath(line, {x: 'x', y: 'y'}, ctx, {color: 'red', lineWidth: 3});\r\n }\r\n\r\n return {\r\n codeResult: result.codeResult,\r\n line: line,\r\n angle: lineAngle,\r\n pattern: result.barcodeLine.line,\r\n threshold: result.barcodeLine.threshold\r\n };\r\n }\r\n\r\n return {\r\n decodeFromBoundingBox: function(box) {\r\n return decodeFromBoundingBox(box);\r\n },\r\n decodeFromBoundingBoxes: function(boxes) {\r\n var i, result,\r\n barcodes = [],\r\n multiple = config.multiple;\r\n\r\n for ( i = 0; i < boxes.length; i++) {\r\n const box = boxes[i];\r\n result = decodeFromBoundingBox(box) || {};\r\n result.box = box;\r\n\r\n if (multiple) {\r\n barcodes.push(result);\r\n } else if (result.codeResult) {\r\n return result;\r\n }\r\n }\r\n\r\n if (multiple) {\r\n return {\r\n barcodes\r\n };\r\n }\r\n },\r\n setReaders: function(readers) {\r\n config.readers = readers;\r\n _barcodeReaders.length = 0;\r\n initReaders();\r\n }\r\n };\r\n }\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/decoder/barcode_decoder.js\n **/","var Bresenham = {};\r\n\r\nvar Slope = {\r\n DIR: {\r\n UP: 1,\r\n DOWN: -1\r\n }\r\n};\r\n/**\r\n * Scans a line of the given image from point p1 to p2 and returns a result object containing\r\n * gray-scale values (0-255) of the underlying pixels in addition to the min\r\n * and max values.\r\n * @param {Object} imageWrapper\r\n * @param {Object} p1 The start point {x,y}\r\n * @param {Object} p2 The end point {x,y}\r\n * @returns {line, min, max}\r\n */\r\nBresenham.getBarcodeLine = function(imageWrapper, p1, p2) {\r\n var x0 = p1.x | 0,\r\n y0 = p1.y | 0,\r\n x1 = p2.x | 0,\r\n y1 = p2.y | 0,\r\n steep = Math.abs(y1 - y0) > Math.abs(x1 - x0),\r\n deltax,\r\n deltay,\r\n error,\r\n ystep,\r\n y,\r\n tmp,\r\n x,\r\n line = [],\r\n imageData = imageWrapper.data,\r\n width = imageWrapper.size.x,\r\n sum = 0,\r\n val,\r\n min = 255,\r\n max = 0;\r\n\r\n function read(a, b) {\r\n val = imageData[b * width + a];\r\n sum += val;\r\n min = val < min ? val : min;\r\n max = val > max ? val : max;\r\n line.push(val);\r\n }\r\n\r\n if (steep) {\r\n tmp = x0;\r\n x0 = y0;\r\n y0 = tmp;\r\n\r\n tmp = x1;\r\n x1 = y1;\r\n y1 = tmp;\r\n }\r\n if (x0 > x1) {\r\n tmp = x0;\r\n x0 = x1;\r\n x1 = tmp;\r\n\r\n tmp = y0;\r\n y0 = y1;\r\n y1 = tmp;\r\n }\r\n deltax = x1 - x0;\r\n deltay = Math.abs(y1 - y0);\r\n error = (deltax / 2) | 0;\r\n y = y0;\r\n ystep = y0 < y1 ? 1 : -1;\r\n for ( x = x0; x < x1; x++) {\r\n if (steep){\r\n read(y, x);\r\n } else {\r\n read(x, y);\r\n }\r\n error = error - deltay;\r\n if (error < 0) {\r\n y = y + ystep;\r\n error = error + deltax;\r\n }\r\n }\r\n\r\n return {\r\n line: line,\r\n min: min,\r\n max: max\r\n };\r\n};\r\n\r\n/**\r\n * Converts the result from getBarcodeLine into a binary representation\r\n * also considering the frequency and slope of the signal for more robust results\r\n * @param {Object} result {line, min, max}\r\n */\r\nBresenham.toBinaryLine = function(result) {\r\n var min = result.min,\r\n max = result.max,\r\n line = result.line,\r\n slope,\r\n slope2,\r\n center = min + (max - min) / 2,\r\n extrema = [],\r\n currentDir,\r\n dir,\r\n threshold = (max - min) / 12,\r\n rThreshold = -threshold,\r\n i,\r\n j;\r\n\r\n // 1. find extrema\r\n currentDir = line[0] > center ? Slope.DIR.UP : Slope.DIR.DOWN;\r\n extrema.push({\r\n pos: 0,\r\n val: line[0]\r\n });\r\n for ( i = 0; i < line.length - 2; i++) {\r\n slope = (line[i + 1] - line[i]);\r\n slope2 = (line[i + 2] - line[i + 1]);\r\n if ((slope + slope2) < rThreshold && line[i + 1] < (center * 1.5)) {\r\n dir = Slope.DIR.DOWN;\r\n } else if ((slope + slope2) > threshold && line[i + 1] > (center * 0.5)) {\r\n dir = Slope.DIR.UP;\r\n } else {\r\n dir = currentDir;\r\n }\r\n\r\n if (currentDir !== dir) {\r\n extrema.push({\r\n pos: i,\r\n val: line[i]\r\n });\r\n currentDir = dir;\r\n }\r\n }\r\n extrema.push({\r\n pos: line.length,\r\n val: line[line.length - 1]\r\n });\r\n\r\n for ( j = extrema[0].pos; j < extrema[1].pos; j++) {\r\n line[j] = line[j] > center ? 0 : 1;\r\n }\r\n\r\n // iterate over extrema and convert to binary based on avg between minmax\r\n for ( i = 1; i < extrema.length - 1; i++) {\r\n if (extrema[i + 1].val > extrema[i].val) {\r\n threshold = (extrema[i].val + ((extrema[i + 1].val - extrema[i].val) / 3) * 2) | 0;\r\n } else {\r\n threshold = (extrema[i + 1].val + ((extrema[i].val - extrema[i + 1].val) / 3)) | 0;\r\n }\r\n\r\n for ( j = extrema[i].pos; j < extrema[i + 1].pos; j++) {\r\n line[j] = line[j] > threshold ? 0 : 1;\r\n }\r\n }\r\n\r\n return {\r\n line: line,\r\n threshold: threshold\r\n };\r\n};\r\n\r\n/**\r\n * Used for development only\r\n */\r\nBresenham.debug = {\r\n printFrequency: function(line, canvas) {\r\n var i,\r\n ctx = canvas.getContext(\"2d\");\r\n canvas.width = line.length;\r\n canvas.height = 256;\r\n\r\n ctx.beginPath();\r\n ctx.strokeStyle = \"blue\";\r\n for ( i = 0; i < line.length; i++) {\r\n ctx.moveTo(i, 255);\r\n ctx.lineTo(i, 255 - line[i]);\r\n }\r\n ctx.stroke();\r\n ctx.closePath();\r\n },\r\n\r\n printPattern: function(line, canvas) {\r\n var ctx = canvas.getContext(\"2d\"), i;\r\n\r\n canvas.width = line.length;\r\n ctx.fillColor = \"black\";\r\n for ( i = 0; i < line.length; i++) {\r\n if (line[i] === 1) {\r\n ctx.fillRect(i, 0, 1, 100);\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport default Bresenham;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/decoder/bresenham.js\n **/","import {merge, pick, omit} from 'lodash';\r\n\r\nvar streamRef;\r\n\r\nfunction waitForVideo(video) {\r\n return new Promise((resolve, reject) => {\r\n let attempts = 10;\r\n\r\n function checkVideo() {\r\n if (attempts > 0) {\r\n if (video.videoWidth > 0 && video.videoHeight > 0) {\r\n if (ENV.development) {\r\n console.log(video.videoWidth + \"px x \" + video.videoHeight + \"px\");\r\n }\r\n resolve();\r\n } else {\r\n window.setTimeout(checkVideo, 500);\r\n }\r\n } else {\r\n reject('Unable to play video stream. Is webcam working?');\r\n }\r\n attempts--;\r\n }\r\n checkVideo();\r\n });\r\n}\r\n\r\n/**\r\n * Tries to attach the camera-stream to a given video-element\r\n * and calls the callback function when the content is ready\r\n * @param {Object} constraints\r\n * @param {Object} video\r\n */\r\nfunction initCamera(video, constraints) {\r\n return navigator.mediaDevices.getUserMedia(constraints)\r\n .then((stream) => {\r\n return new Promise((resolve) => {\r\n streamRef = stream;\r\n video.setAttribute(\"autoplay\", 'true');\r\n video.srcObject = stream;\r\n video.addEventListener('loadedmetadata', () => {\r\n video.play();\r\n resolve();\r\n });\r\n });\r\n })\r\n .then(waitForVideo.bind(null, video));\r\n}\r\n\r\nfunction deprecatedConstraints(videoConstraints) {\r\n const normalized = pick(videoConstraints, [\"width\", \"height\", \"facingMode\",\r\n \"aspectRatio\", \"deviceId\"]);\r\n\r\n if (typeof videoConstraints.minAspectRatio !== 'undefined' &&\r\n videoConstraints.minAspectRatio > 0) {\r\n normalized.aspectRatio = videoConstraints.minAspectRatio;\r\n console.log(\"WARNING: Constraint 'minAspectRatio' is deprecated; Use 'aspectRatio' instead\");\r\n }\r\n if (typeof videoConstraints.facing !== 'undefined') {\r\n normalized.facingMode = videoConstraints.facing;\r\n console.log(\"WARNING: Constraint 'facing' is deprecated. Use 'facingMode' instead'\");\r\n }\r\n return normalized;\r\n}\r\n\r\nfunction applyCameraFacing(facing, constraints) {\r\n if (typeof constraints.video.deviceId === 'string' && constraints.video.deviceId.length > 0) {\r\n return Promise.resolve({\r\n ...constraints,\r\n video: {\r\n ...omit(constraints.video, \"facingMode\")\r\n }\r\n });\r\n } else if (!facing) {\r\n return Promise.resolve(constraints);\r\n }\r\n if ( typeof MediaStreamTrack !== 'undefined' &&\r\n typeof MediaStreamTrack.getSources !== 'undefined') {\r\n return new Promise((resolve) => {\r\n MediaStreamTrack.getSources((sourceInfos) => {\r\n const videoSource = sourceInfos.filter((sourceInfo) => (\r\n sourceInfo.kind === \"video\" && sourceInfo.facing === facing\r\n ))[0];\r\n if (videoSource) {\r\n return resolve(merge({}, constraints,\r\n {video: {deviceId: videoSource.id}}));\r\n }\r\n return resolve(constraints);\r\n });\r\n });\r\n }\r\n return Promise.resolve(merge({}, constraints, {video: {facingMode: facing}}));\r\n}\r\n\r\nfunction pickConstraints(videoConstraints) {\r\n const constraints = {\r\n audio: false,\r\n video: deprecatedConstraints(videoConstraints)\r\n };\r\n return applyCameraFacing(constraints.video.facingMode, constraints);\r\n}\r\n\r\nexport default {\r\n request: function(video, videoConstraints) {\r\n return pickConstraints(videoConstraints)\r\n .then(initCamera.bind(null, video));\r\n },\r\n release: function() {\r\n var tracks = streamRef && streamRef.getVideoTracks();\r\n if (tracks && tracks.length) {\r\n tracks[0].stop();\r\n }\r\n streamRef = null;\r\n }\r\n};\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/input/camera_access.js\n **/","import {merge, pick, omitBy, isEmpty} from 'lodash';\r\n\r\nimport DOMHelper from '../common/dom_helper';\r\n\r\nconst isDataURL = {regex: /^\\s*data:([a-z]+\\/[a-z0-9\\-\\+]+(;[a-z\\-]+\\=[a-z0-9\\-]+)?)?(;base64)?,[a-z0-9\\!\\$\\&\\'\\,\\(\\)\\*\\+\\,\\;\\=\\-\\.\\_\\~\\:\\@\\/\\?\\%\\s]*\\s*$/i}, // eslint-disable-line max-len\r\n isBlobURL = {regex: /^\\s*blob:(.*)$/i},\r\n isMediaURL = {regex: /^(?:(?:http[s]?|ftp):\\/)?\\/?(?:(?:[^:\\/\\s]+)(?:(?:\\/\\w+)*\\/))?([\\w\\-]+\\.([^#?\\s]+))(?:.*)?(?:#[\\w\\-]+)?$/i}, // eslint-disable-line max-len\r\n isImageExt = {regex: /(jpe?g|png|gif|tiff)(?:\\s+|$)/i},\r\n isVideoExt = {regex: /(webm|ogg|mp4|m4v)/i};\r\n\r\nexport function createConfigFromSource(config, sourceConfig, source) {\r\n if (source instanceof DOMHelper.MediaStream) {\r\n return createConfigForStream(config, sourceConfig, {srcObject: source});\r\n } else if (source instanceof DOMHelper.HTMLImageElement) {\r\n throw new Error('Source \"HTMLImageElement\": not yet supported');\r\n // return createConfigForImage(config, inputConfig, {image: source});\r\n } else if (source instanceof DOMHelper.HTMLVideoElement) {\r\n throw new Error('Source \"HTMLVideoElement\": not yet supported');\r\n // return createConfigForVideo(config, inputConfig, {video: source});\r\n } else if (source instanceof DOMHelper.HTMLCanvasElement) {\r\n return createConfigForCanvas(config, sourceConfig, {canvas: source});\r\n } else if (source instanceof DOMHelper.FileList) {\r\n if (source.length > 0) {\r\n return createConfigForFile(config, sourceConfig, source[0]);\r\n }\r\n } else if (source instanceof DOMHelper.File) {\r\n return createConfigForFile(config, sourceConfig, source);\r\n } else if (typeof source === 'string') {\r\n return createConfigForString(config, sourceConfig, source);\r\n } else if (typeof source === 'object'\r\n && (typeof source.constraints !== 'undefined'\r\n || typeof source.area !== 'undefined')) {\r\n return createConfigForLiveStream(config, source);\r\n } else {\r\n throw new Error(\"No source given!\");\r\n }\r\n}\r\n\r\nfunction createConfigForImage(config, source, inputConfig = {}) {\r\n const staticImageConfig = {\r\n inputStream: merge({\r\n type: \"ImageStream\",\r\n sequence: false,\r\n size: 800\r\n }, source),\r\n numOfWorkers: (ENV.development && config.debug) ? 0 : 1\r\n };\r\n return merge(\r\n config,\r\n staticImageConfig,\r\n {numOfWorkers: typeof config.numOfWorkers === 'number' && config.numOfWorkers > 0 ? 1 : 0},\r\n {inputStream: omitBy(pick(config.inputStream, ['size']), isEmpty)},\r\n {inputStream: inputConfig});\r\n}\r\n\r\nfunction createConfigForMimeType(config, inputConfig, {src, mime}) {\r\n const [, type] = mime.match(/^(video|image)\\/(.*)$/i) || [];\r\n if (type === 'video') {\r\n return createConfigForVideo(config, {src}, inputConfig);\r\n } else if (type === 'image') {\r\n return createConfigForImage(config, {src}, inputConfig);\r\n }\r\n throw new Error(`Source with mimetype: \"${type}\" not supported`);\r\n}\r\n\r\nfunction createConfigForFile(config, inputConfig, file) {\r\n const src = DOMHelper.URL.createObjectURL(file);\r\n return createConfigForMimeType(config, inputConfig, {\r\n src,\r\n mime: file.type\r\n });\r\n}\r\n\r\nfunction createConfigForString(config, inputConfig = {}, source) {\r\n const [, mime] = source.match(isDataURL.regex) || [];\r\n if (mime) {\r\n return createConfigForMimeType(config, inputConfig, {src: source, mime});\r\n }\r\n const blobURL = source.match(isBlobURL.regex);\r\n if (blobURL) {\r\n throw new Error(`Source \"objectURL\": not supported`);\r\n }\r\n const [, , ext] = source.match(isMediaURL.regex) || [];\r\n if (ext) {\r\n return createConfigForMediaExtension(config, inputConfig, {src: source, ext});\r\n }\r\n throw new Error(`Source \"${source}\": not recognized`);\r\n}\r\n\r\nfunction createConfigForMediaExtension(config, inputConfig, {src, ext}) {\r\n if (ext.match(isImageExt.regex)) {\r\n return createConfigForImage(config, {src}, inputConfig);\r\n } else if (ext.match(isVideoExt.regex)) {\r\n return createConfigForVideo(config, {src}, inputConfig);\r\n }\r\n throw new Error(`Source \"MediaString\": not recognized`);\r\n}\r\n\r\nfunction createConfigForCanvas (config, {canvas}, inputConfig = {}) {\r\n // TODO: adjust stream & frame-grabber\r\n // once/continous\r\n throw new Error('Source \"Canvas\": not implemented!');\r\n}\r\n\r\nfunction createConfigForVideo (config, source, inputConfig = {}) {\r\n return merge({},\r\n config,\r\n {\r\n inputStream: merge({\r\n type: \"VideoStream\"\r\n }, source)\r\n }, {\r\n inputStream: inputConfig\r\n });\r\n}\r\n\r\nfunction createConfigForStream(config, {srcObject}, inputConfig = {}) {\r\n // TODO: attach to