{
  "errors": [],
  "warnings": [
    "reach.js from UglifyJs\nSide effects in initialization of unused variable i [reach.js:227,1616]\nSide effects in initialization of unused variable w [reach.js:227,1664]\nSide effects in initialization of unused variable e [reach.js:227,1712]\nSide effects in initialization of unused variable r [reach.js:227,1758]\nSide effects in initialization of unused variable set [reach.js:242,998]\nSide effects in initialization of unused variable push [reach.js:242,1047]\nSide effects in initialization of unused variable update [reach.js:242,1271]\nSide effects in initialization of unused variable remove [reach.js:242,1329]\nSide effects in initialization of unused variable list [reach.js:242,1777]\nSide effects in initialization of unused variable on [reach.js:242,2159]\nSide effects in initialization of unused variable off [reach.js:242,2315]\nSide effects in initialization of unused variable onDisconnect [reach.js:242,2435]\nSide effects in initialization of unused variable ts [reach.js:242,2558]\nSide effects in initialization of unused variable OPENED [reach.js:626,61]\nSide effects in initialization of unused variable CLOSED [reach.js:626,96]\nSide effects in initialization of unused variable CLOSING [reach.js:626,131]\nSide effects in initialization of unused variable CONNECTED [reach.js:626,169]\nSide effects in initialization of unused variable NOT_CONNECTED [reach.js:626,213]\nSide effects in initialization of unused variable WAS_CONNECTED [reach.js:626,269]\nSide effects in initialization of unused variable OWNER [reach.js:626,325]\nSide effects in initialization of unused variable MODERATOR [reach.js:626,357]\nSide effects in initialization of unused variable PARTICIPANT [reach.js:626,401]\nSide effects in initialization of unused variable NONE [reach.js:626,451]\nSide effects in initialization of unused variable ONGOING [reach.js:626,480]\nSide effects in initialization of unused variable ACCEPTED [reach.js:626,518]\nSide effects in initialization of unused variable REJECTED [reach.js:626,559]\nSide effects in initialization of unused variable CANCELED [reach.js:626,600]\nSide effects in initialization of unused variable reach [reach.js:740,2366]\nSide effects in initialization of unused variable room [reach.js:740,2523]\nSide effects in initialization of unused variable stream [reach.js:740,2716]\nSide effects in initialization of unused variable invite [reach.js:740,2771]\nSide effects in initialization of unused variable video [reach.js:1720,61]\nSide effects in initialization of unused variable audio [reach.js:1720,153]\nDropping unused variable cname [reach.js:3963,6]\nCondition always true [reach.js:4138,4]"
  ],
  "version": "2.7.0",
  "hash": "9b615cc18bc73bcad97d",
  "time": 3658,
  "publicPath": "",
  "assetsByChunkName": {
    "main": "reach.js"
  },
  "assets": [
    {
      "name": "reach.js",
      "size": 148839,
      "chunks": [
        0
      ],
      "chunkNames": [
        "main"
      ],
      "emitted": true
    }
  ],
  "entrypoints": {
    "main": {
      "chunks": [
        0
      ],
      "assets": [
        "reach.js"
      ]
    }
  },
  "chunks": [
    {
      "id": 0,
      "rendered": true,
      "initial": true,
      "entry": true,
      "extraAsync": false,
      "size": 296194,
      "names": [
        "main"
      ],
      "files": [
        "reach.js"
      ],
      "hash": "5e22832a94bcf25426f6",
      "parents": [],
      "origins": [
        {
          "moduleId": 58,
          "module": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
          "moduleName": "./src/Reach.js",
          "loc": "",
          "name": "main",
          "reasons": []
        }
      ]
    }
  ],
  "modules": [
    {
      "id": 0,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/helpers/classCallCheck.js",
      "name": "./~/babel-runtime/helpers/classCallCheck.js",
      "index": 75,
      "index2": 74,
      "size": 208,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
      "issuerId": 58,
      "issuerName": "./src/Reach.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 6,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/cache.js",
          "module": "./src/core/util/cache.js",
          "moduleName": "./src/core/util/cache.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/classCallCheck",
          "loc": "1:91-138"
        },
        {
          "moduleId": 28,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Room.js",
          "module": "./src/core/Room.js",
          "moduleName": "./src/core/Room.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/classCallCheck",
          "loc": "1:368-415"
        },
        {
          "moduleId": 29,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/Media.js",
          "module": "./src/core/util/Media.js",
          "moduleName": "./src/core/util/Media.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/classCallCheck",
          "loc": "1:91-138"
        },
        {
          "moduleId": 30,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/Events.js",
          "module": "./src/definitions/Events.js",
          "moduleName": "./src/definitions/Events.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/classCallCheck",
          "loc": "1:352-399"
        },
        {
          "moduleId": 39,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Invite.js",
          "module": "./src/core/Invite.js",
          "moduleName": "./src/core/Invite.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/classCallCheck",
          "loc": "1:187-234"
        },
        {
          "moduleId": 56,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/User.js",
          "module": "./src/core/User.js",
          "moduleName": "./src/core/User.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/classCallCheck",
          "loc": "1:280-327"
        },
        {
          "moduleId": 58,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
          "module": "./src/Reach.js",
          "moduleName": "./src/Reach.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/classCallCheck",
          "loc": "1:272-319"
        },
        {
          "moduleId": 59,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Device.js",
          "module": "./src/core/Device.js",
          "moduleName": "./src/core/Device.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/classCallCheck",
          "loc": "1:187-234"
        },
        {
          "moduleId": 60,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Message.js",
          "module": "./src/core/Message.js",
          "moduleName": "./src/core/Message.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/classCallCheck",
          "loc": "1:280-327"
        },
        {
          "moduleId": 61,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Participant.js",
          "module": "./src/core/Participant.js",
          "moduleName": "./src/core/Participant.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/classCallCheck",
          "loc": "1:187-234"
        },
        {
          "moduleId": 62,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/stream/Remote.js",
          "module": "./src/core/stream/Remote.js",
          "moduleName": "./src/core/stream/Remote.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/classCallCheck",
          "loc": "1:368-415"
        },
        {
          "moduleId": 93,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Config.js",
          "module": "./src/core/Config.js",
          "moduleName": "./src/core/Config.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/classCallCheck",
          "loc": "1:179-226"
        },
        {
          "moduleId": 94,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/stream/Local.js",
          "module": "./src/core/stream/Local.js",
          "moduleName": "./src/core/stream/Local.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/classCallCheck",
          "loc": "1:368-415"
        },
        {
          "moduleId": 95,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/stream/StreamManager.js",
          "module": "./src/core/stream/StreamManager.js",
          "moduleName": "./src/core/stream/StreamManager.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/classCallCheck",
          "loc": "1:91-138"
        },
        {
          "moduleId": 96,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/webrtc/PeerConnection.js",
          "module": "./src/core/webrtc/PeerConnection.js",
          "moduleName": "./src/core/webrtc/PeerConnection.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/classCallCheck",
          "loc": "1:355-402"
        },
        {
          "moduleId": 97,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/webrtc/PeerConnectionManager.js",
          "module": "./src/core/webrtc/PeerConnectionManager.js",
          "moduleName": "./src/core/webrtc/PeerConnectionManager.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/classCallCheck",
          "loc": "1:184-231"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 1,
      "source": "\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n};"
    },
    {
      "id": 1,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/helpers/createClass.js",
      "name": "./~/babel-runtime/helpers/createClass.js",
      "index": 76,
      "index2": 78,
      "size": 904,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
      "issuerId": 58,
      "issuerName": "./src/Reach.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 6,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/cache.js",
          "module": "./src/core/util/cache.js",
          "moduleName": "./src/core/util/cache.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/createClass",
          "loc": "1:211-255"
        },
        {
          "moduleId": 28,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Room.js",
          "module": "./src/core/Room.js",
          "moduleName": "./src/core/Room.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/createClass",
          "loc": "1:488-532"
        },
        {
          "moduleId": 29,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/Media.js",
          "module": "./src/core/util/Media.js",
          "moduleName": "./src/core/util/Media.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/createClass",
          "loc": "1:211-255"
        },
        {
          "moduleId": 30,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/Events.js",
          "module": "./src/definitions/Events.js",
          "moduleName": "./src/definitions/Events.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/createClass",
          "loc": "1:472-516"
        },
        {
          "moduleId": 39,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Invite.js",
          "module": "./src/core/Invite.js",
          "moduleName": "./src/core/Invite.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/createClass",
          "loc": "1:307-351"
        },
        {
          "moduleId": 56,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/User.js",
          "module": "./src/core/User.js",
          "moduleName": "./src/core/User.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/createClass",
          "loc": "1:400-444"
        },
        {
          "moduleId": 58,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
          "module": "./src/Reach.js",
          "moduleName": "./src/Reach.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/createClass",
          "loc": "1:392-436"
        },
        {
          "moduleId": 59,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Device.js",
          "module": "./src/core/Device.js",
          "moduleName": "./src/core/Device.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/createClass",
          "loc": "1:307-351"
        },
        {
          "moduleId": 60,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Message.js",
          "module": "./src/core/Message.js",
          "moduleName": "./src/core/Message.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/createClass",
          "loc": "1:400-444"
        },
        {
          "moduleId": 62,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/stream/Remote.js",
          "module": "./src/core/stream/Remote.js",
          "moduleName": "./src/core/stream/Remote.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/createClass",
          "loc": "1:488-532"
        },
        {
          "moduleId": 93,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Config.js",
          "module": "./src/core/Config.js",
          "moduleName": "./src/core/Config.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/createClass",
          "loc": "1:299-343"
        },
        {
          "moduleId": 94,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/stream/Local.js",
          "module": "./src/core/stream/Local.js",
          "moduleName": "./src/core/stream/Local.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/createClass",
          "loc": "1:488-532"
        },
        {
          "moduleId": 95,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/stream/StreamManager.js",
          "module": "./src/core/stream/StreamManager.js",
          "moduleName": "./src/core/stream/StreamManager.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/createClass",
          "loc": "1:211-255"
        },
        {
          "moduleId": 96,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/webrtc/PeerConnection.js",
          "module": "./src/core/webrtc/PeerConnection.js",
          "moduleName": "./src/core/webrtc/PeerConnection.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/createClass",
          "loc": "1:475-519"
        },
        {
          "moduleId": 97,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/webrtc/PeerConnectionManager.js",
          "module": "./src/core/webrtc/PeerConnectionManager.js",
          "moduleName": "./src/core/webrtc/PeerConnectionManager.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/createClass",
          "loc": "1:304-348"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 1,
      "source": "\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n  function defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n      var descriptor = props[i];\n      descriptor.enumerable = descriptor.enumerable || false;\n      descriptor.configurable = true;\n      if (\"value\" in descriptor) descriptor.writable = true;\n      (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n    }\n  }\n\n  return function (Constructor, protoProps, staticProps) {\n    if (protoProps) defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) defineProperties(Constructor, staticProps);\n    return Constructor;\n  };\n}();"
    },
    {
      "id": 2,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_core.js",
      "index": 23,
      "index2": 17,
      "size": 122,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/promise.js",
      "issuerId": 111,
      "issuerName": "./~/babel-runtime/~/core-js/library/fn/promise.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 10,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_export.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_export.js",
          "type": "cjs require",
          "userRequest": "./_core",
          "loc": "2:11-29"
        },
        {
          "moduleId": 50,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_wks-define.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_wks-define.js",
          "type": "cjs require",
          "userRequest": "./_core",
          "loc": "2:11-29"
        },
        {
          "moduleId": 76,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-sap.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-sap.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-sap.js",
          "type": "cjs require",
          "userRequest": "./_core",
          "loc": "3:11-29"
        },
        {
          "moduleId": 82,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/core.get-iterator-method.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/core.get-iterator-method.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/core.get-iterator-method.js",
          "type": "cjs require",
          "userRequest": "./_core",
          "loc": "4:17-35"
        },
        {
          "moduleId": 105,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/array/from.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/array/from.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/array/from.js",
          "type": "cjs require",
          "userRequest": "../../modules/_core",
          "loc": "3:17-47"
        },
        {
          "moduleId": 106,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/json/stringify.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/json/stringify.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/json/stringify.js",
          "type": "cjs require",
          "userRequest": "../../modules/_core",
          "loc": "1:11-41"
        },
        {
          "moduleId": 107,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/object/assign.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/object/assign.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/object/assign.js",
          "type": "cjs require",
          "userRequest": "../../modules/_core",
          "loc": "2:17-47"
        },
        {
          "moduleId": 108,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/object/define-property.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/object/define-property.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/object/define-property.js",
          "type": "cjs require",
          "userRequest": "../../modules/_core",
          "loc": "2:14-44"
        },
        {
          "moduleId": 109,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/object/get-own-property-descriptor.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/object/get-own-property-descriptor.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/object/get-own-property-descriptor.js",
          "type": "cjs require",
          "userRequest": "../../modules/_core",
          "loc": "2:14-44"
        },
        {
          "moduleId": 110,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/object/keys.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/object/keys.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/object/keys.js",
          "type": "cjs require",
          "userRequest": "../../modules/_core",
          "loc": "2:17-47"
        },
        {
          "moduleId": 111,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/promise.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/promise.js",
          "type": "cjs require",
          "userRequest": "../modules/_core",
          "loc": "7:17-44"
        },
        {
          "moduleId": 112,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/index.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/symbol/index.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/symbol/index.js",
          "type": "cjs require",
          "userRequest": "../../modules/_core",
          "loc": "5:17-47"
        },
        {
          "moduleId": 131,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_set-species.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_set-species.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_set-species.js",
          "type": "cjs require",
          "userRequest": "./_core",
          "loc": "3:11-29"
        },
        {
          "moduleId": 140,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "type": "cjs require",
          "userRequest": "./_core",
          "loc": "212:10-28"
        },
        {
          "moduleId": 142,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es7.promise.finally.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es7.promise.finally.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es7.promise.finally.js",
          "type": "cjs require",
          "userRequest": "./_core",
          "loc": "4:11-29"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 3,
      "source": "var core = module.exports = { version: '2.5.3' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n"
    },
    {
      "id": 3,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_global.js",
      "index": 18,
      "index2": 10,
      "size": 369,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js",
      "issuerId": 84,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/web.dom.iterable.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 4,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_wks.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_wks.js",
          "type": "cjs require",
          "userRequest": "./_global",
          "loc": "3:13-33"
        },
        {
          "moduleId": 10,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_export.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_export.js",
          "type": "cjs require",
          "userRequest": "./_global",
          "loc": "1:13-33"
        },
        {
          "moduleId": 41,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_dom-create.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_dom-create.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_dom-create.js",
          "type": "cjs require",
          "userRequest": "./_global",
          "loc": "2:15-35"
        },
        {
          "moduleId": 46,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_shared.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_shared.js",
          "type": "cjs require",
          "userRequest": "./_global",
          "loc": "1:13-33"
        },
        {
          "moduleId": 50,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_wks-define.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_wks-define.js",
          "type": "cjs require",
          "userRequest": "./_global",
          "loc": "1:13-33"
        },
        {
          "moduleId": 65,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_html.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_html.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_html.js",
          "type": "cjs require",
          "userRequest": "./_global",
          "loc": "1:15-35"
        },
        {
          "moduleId": 81,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_task.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_task.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_task.js",
          "type": "cjs require",
          "userRequest": "./_global",
          "loc": "5:13-33"
        },
        {
          "moduleId": 84,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/web.dom.iterable.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/web.dom.iterable.js",
          "type": "cjs require",
          "userRequest": "./_global",
          "loc": "2:13-33"
        },
        {
          "moduleId": 125,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_microtask.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_microtask.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_microtask.js",
          "type": "cjs require",
          "userRequest": "./_global",
          "loc": "1:13-33"
        },
        {
          "moduleId": 131,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_set-species.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_set-species.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_set-species.js",
          "type": "cjs require",
          "userRequest": "./_global",
          "loc": "2:13-33"
        },
        {
          "moduleId": 140,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "type": "cjs require",
          "userRequest": "./_global",
          "loc": "3:13-33"
        },
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_global",
          "loc": "3:13-33"
        },
        {
          "moduleId": 142,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es7.promise.finally.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es7.promise.finally.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es7.promise.finally.js",
          "type": "cjs require",
          "userRequest": "./_global",
          "loc": "5:13-33"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n"
    },
    {
      "id": 4,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_wks.js",
      "index": 50,
      "index2": 43,
      "size": 358,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js",
      "issuerId": 84,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/web.dom.iterable.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 35,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_set-to-string-tag.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_set-to-string-tag.js",
          "type": "cjs require",
          "userRequest": "./_wks",
          "loc": "3:10-27"
        },
        {
          "moduleId": 51,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-ext.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_wks-ext.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_wks-ext.js",
          "type": "cjs require",
          "userRequest": "./_wks",
          "loc": "1:12-29"
        },
        {
          "moduleId": 64,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_classof.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_classof.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_classof.js",
          "type": "cjs require",
          "userRequest": "./_wks",
          "loc": "3:10-27"
        },
        {
          "moduleId": 68,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array-iter.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_is-array-iter.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_is-array-iter.js",
          "type": "cjs require",
          "userRequest": "./_wks",
          "loc": "3:15-32"
        },
        {
          "moduleId": 70,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_iter-define.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_iter-define.js",
          "type": "cjs require",
          "userRequest": "./_wks",
          "loc": "11:15-32"
        },
        {
          "moduleId": 71,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-detect.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_iter-detect.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_iter-detect.js",
          "type": "cjs require",
          "userRequest": "./_wks",
          "loc": "1:15-32"
        },
        {
          "moduleId": 80,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_species-constructor.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_species-constructor.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_species-constructor.js",
          "type": "cjs require",
          "userRequest": "./_wks",
          "loc": "4:14-31"
        },
        {
          "moduleId": 82,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/core.get-iterator-method.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/core.get-iterator-method.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/core.get-iterator-method.js",
          "type": "cjs require",
          "userRequest": "./_wks",
          "loc": "2:15-32"
        },
        {
          "moduleId": 84,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/web.dom.iterable.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/web.dom.iterable.js",
          "type": "cjs require",
          "userRequest": "./_wks",
          "loc": "5:20-37"
        },
        {
          "moduleId": 122,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-create.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_iter-create.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_iter-create.js",
          "type": "cjs require",
          "userRequest": "./_wks",
          "loc": "8:38-55"
        },
        {
          "moduleId": 131,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_set-species.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_set-species.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_set-species.js",
          "type": "cjs require",
          "userRequest": "./_wks",
          "loc": "6:14-31"
        },
        {
          "moduleId": 140,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "type": "cjs require",
          "userRequest": "./_wks",
          "loc": "30:49-66"
        },
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_wks",
          "loc": "13:10-27"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n"
    },
    {
      "id": 5,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/Log.js",
      "name": "./src/core/util/Log.js",
      "index": 115,
      "index2": 124,
      "size": 1881,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
      "issuerId": 58,
      "issuerName": "./src/Reach.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 28,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Room.js",
          "module": "./src/core/Room.js",
          "moduleName": "./src/core/Room.js",
          "type": "cjs require",
          "userRequest": "./util/Log",
          "loc": "1:1164-1185"
        },
        {
          "moduleId": 29,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/Media.js",
          "module": "./src/core/util/Media.js",
          "moduleName": "./src/core/util/Media.js",
          "type": "cjs require",
          "userRequest": "./Log",
          "loc": "1:409-425"
        },
        {
          "moduleId": 39,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Invite.js",
          "module": "./src/core/Invite.js",
          "moduleName": "./src/core/Invite.js",
          "type": "cjs require",
          "userRequest": "./util/Log",
          "loc": "1:710-731"
        },
        {
          "moduleId": 56,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/User.js",
          "module": "./src/core/User.js",
          "moduleName": "./src/core/User.js",
          "type": "cjs require",
          "userRequest": "./util/Log",
          "loc": "1:653-674"
        },
        {
          "moduleId": 58,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
          "module": "./src/Reach.js",
          "moduleName": "./src/Reach.js",
          "type": "cjs require",
          "userRequest": "./core/util/Log",
          "loc": "1:1122-1148"
        },
        {
          "moduleId": 59,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Device.js",
          "module": "./src/core/Device.js",
          "moduleName": "./src/core/Device.js",
          "type": "cjs require",
          "userRequest": "./util/Log",
          "loc": "1:490-511"
        },
        {
          "moduleId": 60,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Message.js",
          "module": "./src/core/Message.js",
          "moduleName": "./src/core/Message.js",
          "type": "cjs require",
          "userRequest": "./util/Log",
          "loc": "1:583-604"
        },
        {
          "moduleId": 62,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/stream/Remote.js",
          "module": "./src/core/stream/Remote.js",
          "moduleName": "./src/core/stream/Remote.js",
          "type": "cjs require",
          "userRequest": "../util/Log",
          "loc": "1:743-765"
        },
        {
          "moduleId": 93,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Config.js",
          "module": "./src/core/Config.js",
          "moduleName": "./src/core/Config.js",
          "type": "cjs require",
          "userRequest": "./util/Log",
          "loc": "1:687-708"
        },
        {
          "moduleId": 94,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/stream/Local.js",
          "module": "./src/core/stream/Local.js",
          "moduleName": "./src/core/stream/Local.js",
          "type": "cjs require",
          "userRequest": "../util/Log",
          "loc": "1:695-717"
        },
        {
          "moduleId": 96,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/webrtc/PeerConnection.js",
          "module": "./src/core/webrtc/PeerConnection.js",
          "moduleName": "./src/core/webrtc/PeerConnection.js",
          "type": "cjs require",
          "userRequest": "../util/Log",
          "loc": "1:648-670"
        },
        {
          "moduleId": 97,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/webrtc/PeerConnectionManager.js",
          "module": "./src/core/webrtc/PeerConnectionManager.js",
          "moduleName": "./src/core/webrtc/PeerConnectionManager.js",
          "type": "cjs require",
          "userRequest": "../util/Log",
          "loc": "1:578-600"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 1,
      "source": "'use strict';Object.defineProperty(exports,\"__esModule\",{value:true});exports.r=exports.e=exports.w=exports.i=exports.d=undefined;var _promise=require('babel-runtime/core-js/promise'),_promise2=_interopRequireDefault(_promise),_typeof2=require('babel-runtime/helpers/typeof'),_typeof3=_interopRequireDefault(_typeof2),_cache=require('./cache'),_cache2=_interopRequireDefault(_cache);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var levels=['DEBUG','INFO','WARN','ERROR'],isEnabled=function isEnabled(level){return levels.indexOf(level.toUpperCase())>=levels.indexOf(_cache2.default.logLevel.toUpperCase());},gConsole=global.console,logger=function logger(method,level){for(var _len=arguments.length,messages=Array(_len>2?_len-2:0),_key=2;_key<_len;_key++){messages[_key-2]=arguments[_key];}isEnabled(level)?gConsole[method.toLowerCase()].bind(gConsole).apply(undefined,messages):function(){};},group=function group(level,message){for(var _len2=arguments.length,items=Array(_len2>2?_len2-2:0),_key2=2;_key2<_len2;_key2++){items[_key2-2]=arguments[_key2];}if(items.length>0){logger.bind(undefined,gConsole.group?'group':level,level)(typeof message==='string'?message:'');var values=(typeof message!=='string'?[message]:[]).concat(items);if(items.length===1&&items[0]instanceof Array&&(0,_typeof3.default)(items[0].length)!==undefined){values=items[0];}values.forEach(function(item){return logger.bind(undefined,level,level)(item);});gConsole.groupEnd&&gConsole.groupEnd();}else{logger.bind(undefined,level,level,message);}};var d=exports.d=group.bind(undefined,levels[0]);var i=exports.i=group.bind(undefined,levels[1]);var w=exports.w=group.bind(undefined,levels[2]);var e=exports.e=gConsole.error.bind(gConsole);var r=exports.r=function r(message){return function(reason){d(message,reason);return _promise2.default.reject(reason||message);};};"
    },
    {
      "id": 6,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/cache.js",
      "name": "./src/core/util/cache.js",
      "index": 112,
      "index2": 169,
      "size": 2156,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
      "issuerId": 58,
      "issuerName": "./src/Reach.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 5,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/Log.js",
          "module": "./src/core/util/Log.js",
          "moduleName": "./src/core/util/Log.js",
          "type": "cjs require",
          "userRequest": "./cache",
          "loc": "1:325-343"
        },
        {
          "moduleId": 7,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/DataSync.js",
          "module": "./src/core/util/DataSync.js",
          "moduleName": "./src/core/util/DataSync.js",
          "type": "cjs require",
          "userRequest": "./cache",
          "loc": "1:350-368"
        },
        {
          "moduleId": 28,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Room.js",
          "module": "./src/core/Room.js",
          "moduleName": "./src/core/Room.js",
          "type": "cjs require",
          "userRequest": "./util/cache",
          "loc": "1:712-735"
        },
        {
          "moduleId": 39,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Invite.js",
          "module": "./src/core/Invite.js",
          "moduleName": "./src/core/Invite.js",
          "type": "cjs require",
          "userRequest": "./util/cache",
          "loc": "1:773-796"
        },
        {
          "moduleId": 56,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/User.js",
          "module": "./src/core/User.js",
          "moduleName": "./src/core/User.js",
          "type": "cjs require",
          "userRequest": "./util/cache",
          "loc": "1:585-608"
        },
        {
          "moduleId": 58,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
          "module": "./src/Reach.js",
          "moduleName": "./src/Reach.js",
          "type": "cjs require",
          "userRequest": "./core/util/cache",
          "loc": "1:1049-1077"
        },
        {
          "moduleId": 60,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Message.js",
          "module": "./src/core/Message.js",
          "moduleName": "./src/core/Message.js",
          "type": "cjs require",
          "userRequest": "./util/cache",
          "loc": "1:646-669"
        },
        {
          "moduleId": 62,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/stream/Remote.js",
          "module": "./src/core/stream/Remote.js",
          "moduleName": "./src/core/stream/Remote.js",
          "type": "cjs require",
          "userRequest": "../util/cache",
          "loc": "1:592-616"
        },
        {
          "moduleId": 93,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Config.js",
          "module": "./src/core/Config.js",
          "moduleName": "./src/core/Config.js",
          "type": "cjs require",
          "userRequest": "./util/cache",
          "loc": "1:750-773"
        },
        {
          "moduleId": 94,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/stream/Local.js",
          "module": "./src/core/stream/Local.js",
          "moduleName": "./src/core/stream/Local.js",
          "type": "cjs require",
          "userRequest": "../util/cache",
          "loc": "1:759-783"
        },
        {
          "moduleId": 96,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/webrtc/PeerConnection.js",
          "module": "./src/core/webrtc/PeerConnection.js",
          "moduleName": "./src/core/webrtc/PeerConnection.js",
          "type": "cjs require",
          "userRequest": "../util/cache",
          "loc": "1:579-603"
        },
        {
          "moduleId": 97,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/webrtc/PeerConnectionManager.js",
          "module": "./src/core/webrtc/PeerConnectionManager.js",
          "moduleName": "./src/core/webrtc/PeerConnectionManager.js",
          "type": "cjs require",
          "userRequest": "../util/cache",
          "loc": "1:509-533"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 1,
      "source": "'use strict';Object.defineProperty(exports,\"__esModule\",{value:true});var _classCallCheck2=require('babel-runtime/helpers/classCallCheck'),_classCallCheck3=_interopRequireDefault(_classCallCheck2),_createClass2=require('babel-runtime/helpers/createClass'),_createClass3=_interopRequireDefault(_createClass2),_Config=require('../Config'),_Config2=_interopRequireDefault(_Config),_StreamManager=require('../stream/StreamManager'),_StreamManager2=_interopRequireDefault(_StreamManager),_PeerConnectionManager=require('../webrtc/PeerConnectionManager'),_PeerConnectionManager2=_interopRequireDefault(_PeerConnectionManager),_webcom=require('webcom/webcom'),_webcom2=_interopRequireDefault(_webcom);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var _cache=null;var CacheManager=function(){function CacheManager(){(0,_classCallCheck3.default)(this,CacheManager);if(!_cache){_cache=this;}return _cache;}(0,_createClass3.default)(CacheManager,[{key:'base',set:function set(url){this._base=url instanceof _webcom2.default?url:new _webcom2.default(url);},get:function get(){return this._base;}},{key:'config',set:function set(config){if(!this._config){this._config=new _Config2.default(config);}else{this._config.assign(config);}},get:function get(){if(!this._config){this._config=new _Config2.default();}return this._config;}},{key:'user',set:function set(user){this._user=user;},get:function get(){return this._user;}},{key:'device',set:function set(device){this._device=device;},get:function get(){return this._device;}},{key:'logLevel',set:function set(level){if(/^DEBUG|INFO|WARN|ERROR$/i.test(level)){this._logLevel=level;}else if(level){throw new Error('Unsupported log level (DEBUG, INFO, WARN, ERROR)');}},get:function get(){return this._logLevel||'ERROR';}},{key:'streams',get:function get(){if(!this._streams){this._streams=new _StreamManager2.default();}return this._streams;}},{key:'peerConnections',get:function get(){if(!this._peerConnections){this._peerConnections=new _PeerConnectionManager2.default();}return this._peerConnections;}}]);return CacheManager;}();var cache=new CacheManager();exports.default=cache;"
    },
    {
      "id": 7,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/DataSync.js",
      "name": "./src/core/util/DataSync.js",
      "index": 111,
      "index2": 170,
      "size": 2633,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
      "issuerId": 58,
      "issuerName": "./src/Reach.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 28,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Room.js",
          "module": "./src/core/Room.js",
          "moduleName": "./src/core/Room.js",
          "type": "cjs require",
          "userRequest": "./util/DataSync",
          "loc": "1:634-660"
        },
        {
          "moduleId": 39,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Invite.js",
          "module": "./src/core/Invite.js",
          "moduleName": "./src/core/Invite.js",
          "type": "cjs require",
          "userRequest": "./util/DataSync",
          "loc": "1:634-660"
        },
        {
          "moduleId": 56,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/User.js",
          "module": "./src/core/User.js",
          "moduleName": "./src/core/User.js",
          "type": "cjs require",
          "userRequest": "./util/DataSync",
          "loc": "1:507-533"
        },
        {
          "moduleId": 58,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
          "module": "./src/Reach.js",
          "moduleName": "./src/Reach.js",
          "type": "cjs require",
          "userRequest": "./core/util/DataSync",
          "loc": "1:966-997"
        },
        {
          "moduleId": 59,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Device.js",
          "module": "./src/core/Device.js",
          "moduleName": "./src/core/Device.js",
          "type": "cjs require",
          "userRequest": "./util/DataSync",
          "loc": "1:414-440"
        },
        {
          "moduleId": 60,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Message.js",
          "module": "./src/core/Message.js",
          "moduleName": "./src/core/Message.js",
          "type": "cjs require",
          "userRequest": "./util/DataSync",
          "loc": "1:507-533"
        },
        {
          "moduleId": 62,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/stream/Remote.js",
          "module": "./src/core/stream/Remote.js",
          "moduleName": "./src/core/stream/Remote.js",
          "type": "cjs require",
          "userRequest": "../util/DataSync",
          "loc": "1:666-693"
        },
        {
          "moduleId": 93,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Config.js",
          "module": "./src/core/Config.js",
          "moduleName": "./src/core/Config.js",
          "type": "cjs require",
          "userRequest": "./util/DataSync",
          "loc": "1:611-637"
        },
        {
          "moduleId": 94,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/stream/Local.js",
          "module": "./src/core/stream/Local.js",
          "moduleName": "./src/core/stream/Local.js",
          "type": "cjs require",
          "userRequest": "../util/DataSync",
          "loc": "1:833-860"
        },
        {
          "moduleId": 96,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/webrtc/PeerConnection.js",
          "module": "./src/core/webrtc/PeerConnection.js",
          "moduleName": "./src/core/webrtc/PeerConnection.js",
          "type": "cjs require",
          "userRequest": "../util/DataSync",
          "loc": "1:856-883"
        },
        {
          "moduleId": 97,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/webrtc/PeerConnectionManager.js",
          "module": "./src/core/webrtc/PeerConnectionManager.js",
          "moduleName": "./src/core/webrtc/PeerConnectionManager.js",
          "type": "cjs require",
          "userRequest": "../util/DataSync",
          "loc": "1:645-672"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 1,
      "source": "'use strict';Object.defineProperty(exports,\"__esModule\",{value:true});exports.ts=exports.onDisconnect=exports.off=exports.on=exports.list=exports.get=exports.once=exports.remove=exports.update=exports.push=exports.set=exports.eventType=undefined;var _promise=require('babel-runtime/core-js/promise'),_promise2=_interopRequireDefault(_promise),_cache=require('./cache'),_cache2=_interopRequireDefault(_cache);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var eventType=exports.eventType=function eventType(event){var evt=void 0;if(/_ADDED$/i.test(event)||/_PUBLISHED$/.test(event)){evt='added';}else if(/_CHANGED$/.test(event)||/_REFRESHED$/.test(event)){evt='changed';}else if(/_REMOVED$/.test(event)||/_UNPUBLISHED$/.test(event)){evt='removed';}return evt?'child_'+evt:event;};var _write=function _write(method,path,data){return new _promise2.default(function(resolve,reject){_cache2.default.base.child(path)[method](data,function(error){return error?reject(error):resolve();});});};var set=exports.set=_write.bind(undefined,'set');var push=exports.push=function push(path,data){return new _promise2.default(function(resolve,reject){var pushRef=_cache2.default.base.child(path).push(data,function(error){return error?reject(error):resolve(pushRef);});});};var update=exports.update=_write.bind(undefined,'update');var remove=exports.remove=function remove(path){return new _promise2.default(function(resolve,reject){_cache2.default.base.child(path).remove(function(error){return error?reject(error):resolve();});});};var once=exports.once=function once(path,event){return new _promise2.default(function(resolve,reject){_cache2.default.base.child(path).once(eventType(event),resolve,reject);});};var get=exports.get=function get(path){return once(path,'value');};var list=exports.list=function list(path,Type){for(var _len=arguments.length,params=Array(_len>2?_len-2:0),_key=2;_key<_len;_key++){params[_key-2]=arguments[_key];}return get(path).then(function(snapData){if(snapData){var values=[];snapData.forEach(function(snapChild){values.push(new(Function.prototype.bind.apply(Type,[null].concat([snapChild],params)))());});return values;}});};var on=exports.on=function on(path,event,queryCallback,cancelCallback){_cache2.default.base.child(path).on(eventType(event),queryCallback,cancelCallback);};var off=exports.off=function off(path,event,callback){_cache2.default.base.child(path).off(eventType(event),callback);};var onDisconnect=exports.onDisconnect=function onDisconnect(path){return _cache2.default.base.child(path).onDisconnect();};var ts=exports.ts=function ts(){return Date.now();};"
    },
    {
      "id": 8,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/promise.js",
      "name": "./~/babel-runtime/core-js/promise.js",
      "index": 36,
      "index2": 73,
      "size": 88,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
      "issuerId": 58,
      "issuerName": "./src/Reach.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 5,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/Log.js",
          "module": "./src/core/util/Log.js",
          "moduleName": "./src/core/util/Log.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/promise",
          "loc": "1:143-183"
        },
        {
          "moduleId": 7,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/DataSync.js",
          "module": "./src/core/util/DataSync.js",
          "moduleName": "./src/core/util/DataSync.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/promise",
          "loc": "1:259-299"
        },
        {
          "moduleId": 28,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Room.js",
          "module": "./src/core/Room.js",
          "moduleName": "./src/core/Room.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/promise",
          "loc": "1:171-211"
        },
        {
          "moduleId": 39,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Invite.js",
          "module": "./src/core/Invite.js",
          "moduleName": "./src/core/Invite.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/promise",
          "loc": "1:501-541"
        },
        {
          "moduleId": 56,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/User.js",
          "module": "./src/core/User.js",
          "moduleName": "./src/core/User.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/promise",
          "loc": "1:83-123"
        },
        {
          "moduleId": 58,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
          "module": "./src/Reach.js",
          "moduleName": "./src/Reach.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/promise",
          "loc": "1:171-211"
        },
        {
          "moduleId": 60,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Message.js",
          "module": "./src/core/Message.js",
          "moduleName": "./src/core/Message.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/promise",
          "loc": "1:83-123"
        },
        {
          "moduleId": 62,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/stream/Remote.js",
          "module": "./src/core/stream/Remote.js",
          "moduleName": "./src/core/stream/Remote.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/promise",
          "loc": "1:171-211"
        },
        {
          "moduleId": 94,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/stream/Local.js",
          "module": "./src/core/stream/Local.js",
          "moduleName": "./src/core/stream/Local.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/promise",
          "loc": "1:171-211"
        },
        {
          "moduleId": 96,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/webrtc/PeerConnection.js",
          "module": "./src/core/webrtc/PeerConnection.js",
          "moduleName": "./src/core/webrtc/PeerConnection.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/promise",
          "loc": "1:83-123"
        },
        {
          "moduleId": 97,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/webrtc/PeerConnectionManager.js",
          "module": "./src/core/webrtc/PeerConnectionManager.js",
          "moduleName": "./src/core/webrtc/PeerConnectionManager.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/promise",
          "loc": "1:83-123"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 1,
      "source": "module.exports = { \"default\": require(\"core-js/library/fn/promise\"), __esModule: true };"
    },
    {
      "id": 9,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/object/assign.js",
      "name": "./~/babel-runtime/core-js/object/assign.js",
      "index": 86,
      "index2": 89,
      "size": 94,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/Browser.js",
      "issuerId": 91,
      "issuerName": "./src/definitions/Browser.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 28,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Room.js",
          "module": "./src/core/Room.js",
          "moduleName": "./src/core/Room.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/object/assign",
          "loc": "1:263-309"
        },
        {
          "moduleId": 29,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/Media.js",
          "module": "./src/core/util/Media.js",
          "moduleName": "./src/core/util/Media.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/object/assign",
          "loc": "1:316-362"
        },
        {
          "moduleId": 39,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Invite.js",
          "module": "./src/core/Invite.js",
          "moduleName": "./src/core/Invite.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/object/assign",
          "loc": "1:82-128"
        },
        {
          "moduleId": 56,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/User.js",
          "module": "./src/core/User.js",
          "moduleName": "./src/core/User.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/object/assign",
          "loc": "1:175-221"
        },
        {
          "moduleId": 59,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Device.js",
          "module": "./src/core/Device.js",
          "moduleName": "./src/core/Device.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/object/assign",
          "loc": "1:82-128"
        },
        {
          "moduleId": 60,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Message.js",
          "module": "./src/core/Message.js",
          "moduleName": "./src/core/Message.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/object/assign",
          "loc": "1:175-221"
        },
        {
          "moduleId": 61,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Participant.js",
          "module": "./src/core/Participant.js",
          "moduleName": "./src/core/Participant.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/object/assign",
          "loc": "1:82-128"
        },
        {
          "moduleId": 62,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/stream/Remote.js",
          "module": "./src/core/stream/Remote.js",
          "moduleName": "./src/core/stream/Remote.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/object/assign",
          "loc": "1:263-309"
        },
        {
          "moduleId": 91,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/Browser.js",
          "module": "./src/definitions/Browser.js",
          "moduleName": "./src/definitions/Browser.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/object/assign",
          "loc": "1:243-289"
        },
        {
          "moduleId": 94,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/stream/Local.js",
          "module": "./src/core/stream/Local.js",
          "moduleName": "./src/core/stream/Local.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/object/assign",
          "loc": "1:263-309"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 2,
      "source": "module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };"
    },
    {
      "id": 10,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_export.js",
      "index": 22,
      "index2": 30,
      "size": 2317,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es7.promise.finally.js",
      "issuerId": 142,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es7.promise.finally.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 70,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_iter-define.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_iter-define.js",
          "type": "cjs require",
          "userRequest": "./_export",
          "loc": "3:14-34"
        },
        {
          "moduleId": 76,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-sap.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-sap.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-sap.js",
          "type": "cjs require",
          "userRequest": "./_export",
          "loc": "2:14-34"
        },
        {
          "moduleId": 134,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.from.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.array.from.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.array.from.js",
          "type": "cjs require",
          "userRequest": "./_export",
          "loc": "3:14-34"
        },
        {
          "moduleId": 136,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.assign.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.object.assign.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.object.assign.js",
          "type": "cjs require",
          "userRequest": "./_export",
          "loc": "2:14-34"
        },
        {
          "moduleId": 137,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.define-property.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.object.define-property.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.object.define-property.js",
          "type": "cjs require",
          "userRequest": "./_export",
          "loc": "1:14-34"
        },
        {
          "moduleId": 140,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "type": "cjs require",
          "userRequest": "./_export",
          "loc": "6:14-34"
        },
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_export",
          "loc": "6:14-34"
        },
        {
          "moduleId": 142,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es7.promise.finally.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es7.promise.finally.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es7.promise.finally.js",
          "type": "cjs require",
          "userRequest": "./_export",
          "loc": "3:14-34"
        },
        {
          "moduleId": 143,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es7.promise.try.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es7.promise.try.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es7.promise.try.js",
          "type": "cjs require",
          "userRequest": "./_export",
          "loc": "3:14-34"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && key in exports) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n"
    },
    {
      "id": 11,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_object-dp.js",
      "index": 27,
      "index2": 27,
      "size": 600,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.define-property.js",
      "issuerId": 137,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.object.define-property.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 16,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_hide.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_hide.js",
          "type": "cjs require",
          "userRequest": "./_object-dp",
          "loc": "1:9-32"
        },
        {
          "moduleId": 35,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_set-to-string-tag.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_set-to-string-tag.js",
          "type": "cjs require",
          "userRequest": "./_object-dp",
          "loc": "1:10-33"
        },
        {
          "moduleId": 50,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_wks-define.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_wks-define.js",
          "type": "cjs require",
          "userRequest": "./_object-dp",
          "loc": "5:21-44"
        },
        {
          "moduleId": 117,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_create-property.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_create-property.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_create-property.js",
          "type": "cjs require",
          "userRequest": "./_object-dp",
          "loc": "2:22-45"
        },
        {
          "moduleId": 124,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_meta.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_meta.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_meta.js",
          "type": "cjs require",
          "userRequest": "./_object-dp",
          "loc": "4:14-37"
        },
        {
          "moduleId": 127,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dps.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-dps.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-dps.js",
          "type": "cjs require",
          "userRequest": "./_object-dp",
          "loc": "1:9-32"
        },
        {
          "moduleId": 131,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_set-species.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_set-species.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_set-species.js",
          "type": "cjs require",
          "userRequest": "./_object-dp",
          "loc": "4:9-32"
        },
        {
          "moduleId": 137,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.define-property.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.object.define-property.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.object.define-property.js",
          "type": "cjs require",
          "userRequest": "./_object-dp",
          "loc": "3:88-111"
        },
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_object-dp",
          "loc": "26:10-33"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n"
    },
    {
      "id": 12,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_an-object.js",
      "index": 28,
      "index2": 21,
      "size": 154,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_species-constructor.js",
      "issuerId": 80,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/_species-constructor.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 11,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-dp.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-dp.js",
          "type": "cjs require",
          "userRequest": "./_an-object",
          "loc": "1:15-38"
        },
        {
          "moduleId": 69,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-call.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_iter-call.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_iter-call.js",
          "type": "cjs require",
          "userRequest": "./_an-object",
          "loc": "2:15-38"
        },
        {
          "moduleId": 72,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-create.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-create.js",
          "type": "cjs require",
          "userRequest": "./_an-object",
          "loc": "2:15-38"
        },
        {
          "moduleId": 78,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_promise-resolve.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_promise-resolve.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_promise-resolve.js",
          "type": "cjs require",
          "userRequest": "./_an-object",
          "loc": "1:15-38"
        },
        {
          "moduleId": 80,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_species-constructor.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_species-constructor.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_species-constructor.js",
          "type": "cjs require",
          "userRequest": "./_an-object",
          "loc": "2:15-38"
        },
        {
          "moduleId": 119,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_for-of.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_for-of.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_for-of.js",
          "type": "cjs require",
          "userRequest": "./_an-object",
          "loc": "4:15-38"
        },
        {
          "moduleId": 127,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dps.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-dps.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-dps.js",
          "type": "cjs require",
          "userRequest": "./_an-object",
          "loc": "2:15-38"
        },
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_an-object",
          "loc": "18:15-38"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "var isObject = require('./_is-object');\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n"
    },
    {
      "id": 13,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_descriptors.js",
      "index": 31,
      "index2": 23,
      "size": 184,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.define-property.js",
      "issuerId": 137,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.object.define-property.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 11,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-dp.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-dp.js",
          "type": "cjs require",
          "userRequest": "./_descriptors",
          "loc": "6:12-37"
        },
        {
          "moduleId": 16,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_hide.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_hide.js",
          "type": "cjs require",
          "userRequest": "./_descriptors",
          "loc": "3:17-42"
        },
        {
          "moduleId": 66,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_ie8-dom-define.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_ie8-dom-define.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_ie8-dom-define.js",
          "type": "cjs require",
          "userRequest": "./_descriptors",
          "loc": "1:18-43"
        },
        {
          "moduleId": 73,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-gopd.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-gopd.js",
          "type": "cjs require",
          "userRequest": "./_descriptors",
          "loc": "9:12-37"
        },
        {
          "moduleId": 127,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dps.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-dps.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-dps.js",
          "type": "cjs require",
          "userRequest": "./_descriptors",
          "loc": "5:17-42"
        },
        {
          "moduleId": 131,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_set-species.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_set-species.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_set-species.js",
          "type": "cjs require",
          "userRequest": "./_descriptors",
          "loc": "5:18-43"
        },
        {
          "moduleId": 137,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.define-property.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.object.define-property.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.object.define-property.js",
          "type": "cjs require",
          "userRequest": "./_descriptors",
          "loc": "3:33-58"
        },
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_descriptors",
          "loc": "5:18-43"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n"
    },
    {
      "id": 14,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/object/keys.js",
      "name": "./~/babel-runtime/core-js/object/keys.js",
      "index": 1,
      "index2": 34,
      "size": 92,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
      "issuerId": 58,
      "issuerName": "./src/Reach.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 28,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Room.js",
          "module": "./src/core/Room.js",
          "moduleName": "./src/core/Room.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/object/keys",
          "loc": "1:80-124"
        },
        {
          "moduleId": 30,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/Events.js",
          "module": "./src/definitions/Events.js",
          "moduleName": "./src/definitions/Events.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/object/keys",
          "loc": "1:147-191"
        },
        {
          "moduleId": 39,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Invite.js",
          "module": "./src/core/Invite.js",
          "moduleName": "./src/core/Invite.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/object/keys",
          "loc": "1:410-454"
        },
        {
          "moduleId": 58,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
          "module": "./src/Reach.js",
          "moduleName": "./src/Reach.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/object/keys",
          "loc": "1:80-124"
        },
        {
          "moduleId": 62,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/stream/Remote.js",
          "module": "./src/core/stream/Remote.js",
          "moduleName": "./src/core/stream/Remote.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/object/keys",
          "loc": "1:80-124"
        },
        {
          "moduleId": 93,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Config.js",
          "module": "./src/core/Config.js",
          "moduleName": "./src/core/Config.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/object/keys",
          "loc": "1:80-124"
        },
        {
          "moduleId": 94,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/stream/Local.js",
          "module": "./src/core/stream/Local.js",
          "moduleName": "./src/core/stream/Local.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/object/keys",
          "loc": "1:80-124"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 1,
      "source": "module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };"
    },
    {
      "id": 15,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_has.js",
      "index": 8,
      "index2": 2,
      "size": 120,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js",
      "issuerId": 70,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/_iter-define.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 35,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_set-to-string-tag.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_set-to-string-tag.js",
          "type": "cjs require",
          "userRequest": "./_has",
          "loc": "2:10-27"
        },
        {
          "moduleId": 70,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_iter-define.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_iter-define.js",
          "type": "cjs require",
          "userRequest": "./_has",
          "loc": "6:10-27"
        },
        {
          "moduleId": 73,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-gopd.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-gopd.js",
          "type": "cjs require",
          "userRequest": "./_has",
          "loc": "5:10-27"
        },
        {
          "moduleId": 75,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-keys-internal.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-keys-internal.js",
          "type": "cjs require",
          "userRequest": "./_has",
          "loc": "1:10-27"
        },
        {
          "moduleId": 124,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_meta.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_meta.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_meta.js",
          "type": "cjs require",
          "userRequest": "./_has",
          "loc": "3:10-27"
        },
        {
          "moduleId": 129,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gpo.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-gpo.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-gpo.js",
          "type": "cjs require",
          "userRequest": "./_has",
          "loc": "2:10-27"
        },
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_has",
          "loc": "4:10-27"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n"
    },
    {
      "id": 16,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_hide.js",
      "index": 26,
      "index2": 29,
      "size": 286,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js",
      "issuerId": 84,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/web.dom.iterable.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 10,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_export.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_export.js",
          "type": "cjs require",
          "userRequest": "./_hide",
          "loc": "4:11-29"
        },
        {
          "moduleId": 70,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_iter-define.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_iter-define.js",
          "type": "cjs require",
          "userRequest": "./_hide",
          "loc": "5:11-29"
        },
        {
          "moduleId": 79,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_redefine.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_redefine.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_redefine.js",
          "type": "cjs require",
          "userRequest": "./_hide",
          "loc": "1:17-35"
        },
        {
          "moduleId": 84,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/web.dom.iterable.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/web.dom.iterable.js",
          "type": "cjs require",
          "userRequest": "./_hide",
          "loc": "3:11-29"
        },
        {
          "moduleId": 122,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-create.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_iter-create.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_iter-create.js",
          "type": "cjs require",
          "userRequest": "./_hide",
          "loc": "8:0-18"
        },
        {
          "moduleId": 130,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_redefine-all.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_redefine-all.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_redefine-all.js",
          "type": "cjs require",
          "userRequest": "./_hide",
          "loc": "1:11-29"
        },
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_hide",
          "loc": "228:36-54"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n"
    },
    {
      "id": 17,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_is-object.js",
      "index": 29,
      "index2": 20,
      "size": 110,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
      "issuerId": 140,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 12,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_an-object.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_an-object.js",
          "type": "cjs require",
          "userRequest": "./_is-object",
          "loc": "1:15-38"
        },
        {
          "moduleId": 41,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_dom-create.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_dom-create.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_dom-create.js",
          "type": "cjs require",
          "userRequest": "./_is-object",
          "loc": "1:15-38"
        },
        {
          "moduleId": 49,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_to-primitive.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_to-primitive.js",
          "type": "cjs require",
          "userRequest": "./_is-object",
          "loc": "2:15-38"
        },
        {
          "moduleId": 78,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_promise-resolve.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_promise-resolve.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_promise-resolve.js",
          "type": "cjs require",
          "userRequest": "./_is-object",
          "loc": "2:15-38"
        },
        {
          "moduleId": 124,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_meta.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_meta.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_meta.js",
          "type": "cjs require",
          "userRequest": "./_is-object",
          "loc": "2:15-38"
        },
        {
          "moduleId": 140,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "type": "cjs require",
          "userRequest": "./_is-object",
          "loc": "7:15-38"
        },
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_is-object",
          "loc": "19:15-38"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "module.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n"
    },
    {
      "id": 18,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_to-iobject.js",
      "index": 9,
      "index2": 5,
      "size": 217,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.iterator.js",
      "issuerId": 135,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.array.iterator.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 73,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-gopd.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-gopd.js",
          "type": "cjs require",
          "userRequest": "./_to-iobject",
          "loc": "3:16-40"
        },
        {
          "moduleId": 75,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-keys-internal.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-keys-internal.js",
          "type": "cjs require",
          "userRequest": "./_to-iobject",
          "loc": "2:16-40"
        },
        {
          "moduleId": 116,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_array-includes.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_array-includes.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_array-includes.js",
          "type": "cjs require",
          "userRequest": "./_to-iobject",
          "loc": "3:16-40"
        },
        {
          "moduleId": 128,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn-ext.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-gopn-ext.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-gopn-ext.js",
          "type": "cjs require",
          "userRequest": "./_to-iobject",
          "loc": "2:16-40"
        },
        {
          "moduleId": 135,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.iterator.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.array.iterator.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.array.iterator.js",
          "type": "cjs require",
          "userRequest": "./_to-iobject",
          "loc": "5:16-40"
        },
        {
          "moduleId": 138,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.object.get-own-property-descriptor.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.object.get-own-property-descriptor.js",
          "type": "cjs require",
          "userRequest": "./_to-iobject",
          "loc": "2:16-40"
        },
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_to-iobject",
          "loc": "20:16-40"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n"
    },
    {
      "id": 19,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/utils.js",
      "name": "./~/webrtc-adapter/src/js/utils.js",
      "index": 95,
      "index2": 91,
      "size": 6333,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/adapter_factory.js",
      "issuerId": 171,
      "issuerName": "./~/webrtc-adapter/src/js/adapter_factory.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 171,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/adapter_factory.js",
          "module": "./~/webrtc-adapter/src/js/adapter_factory.js",
          "moduleName": "./~/webrtc-adapter/src/js/adapter_factory.js",
          "type": "cjs require",
          "userRequest": "./utils",
          "loc": "30:14-32"
        },
        {
          "moduleId": 172,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/chrome/chrome_shim.js",
          "module": "./~/webrtc-adapter/src/js/chrome/chrome_shim.js",
          "moduleName": "./~/webrtc-adapter/src/js/chrome/chrome_shim.js",
          "type": "cjs require",
          "userRequest": "../utils.js",
          "loc": "11:12-34"
        },
        {
          "moduleId": 173,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/chrome/getusermedia.js",
          "module": "./~/webrtc-adapter/src/js/chrome/getusermedia.js",
          "moduleName": "./~/webrtc-adapter/src/js/chrome/getusermedia.js",
          "type": "cjs require",
          "userRequest": "../utils.js",
          "loc": "10:12-34"
        },
        {
          "moduleId": 174,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/edge/edge_shim.js",
          "module": "./~/webrtc-adapter/src/js/edge/edge_shim.js",
          "moduleName": "./~/webrtc-adapter/src/js/edge/edge_shim.js",
          "type": "cjs require",
          "userRequest": "../utils",
          "loc": "11:12-31"
        },
        {
          "moduleId": 177,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/firefox/firefox_shim.js",
          "module": "./~/webrtc-adapter/src/js/firefox/firefox_shim.js",
          "moduleName": "./~/webrtc-adapter/src/js/firefox/firefox_shim.js",
          "type": "cjs require",
          "userRequest": "../utils",
          "loc": "11:12-31"
        },
        {
          "moduleId": 178,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/firefox/getusermedia.js",
          "module": "./~/webrtc-adapter/src/js/firefox/getusermedia.js",
          "moduleName": "./~/webrtc-adapter/src/js/firefox/getusermedia.js",
          "type": "cjs require",
          "userRequest": "../utils",
          "loc": "11:12-31"
        },
        {
          "moduleId": 179,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/safari/safari_shim.js",
          "module": "./~/webrtc-adapter/src/js/safari/safari_shim.js",
          "moduleName": "./~/webrtc-adapter/src/js/safari/safari_shim.js",
          "type": "cjs require",
          "userRequest": "../utils",
          "loc": "9:12-31"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "/*\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;\nvar deprecationWarnings_ = 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  /**\n   * Disable or enable deprecation warnings\n   * @param {!boolean} bool set to true to disable warnings.\n   */\n  disableWarnings: function(bool) {\n    if (typeof bool !== 'boolean') {\n      return new Error('Argument type: ' + typeof bool +\n          '. Please use a boolean.');\n    }\n    deprecationWarnings_ = !bool;\n    return 'adapter.js deprecation warnings ' + (bool ? 'disabled' : '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   * Shows a deprecation warning suggesting the modern and spec-compatible API.\n   */\n  deprecated: function(oldMethod, newMethod) {\n    if (!deprecationWarnings_) {\n      return;\n    }\n    console.warn(oldMethod + ' is deprecated, please use ' + newMethod +\n        ' instead.');\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 and version\n   *     properties.\n   */\n  detectBrowser: function(window) {\n    var navigator = window && window.navigator;\n\n    // Returned result object.\n    var result = {};\n    result.browser = null;\n    result.version = 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\\/(\\d+)\\./, 1);\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)\\/(\\d+)\\./, 2);\n      } else { // Safari (in an unpublished version) or unknown webkit-based.\n        if (navigator.userAgent.match(/Version\\/(\\d+).(\\d+)/)) {\n          result.browser = 'safari';\n          result.version = this.extractVersion(navigator.userAgent,\n            /AppleWebKit\\/(\\d+)\\./, 1);\n        } else { // unknown webkit-based browser.\n          result.browser = 'Unsupported webkit-based browser ' +\n              'with GUM support but no WebRTC support.';\n          return result;\n        }\n      }\n    } else if (navigator.mediaDevices &&\n        navigator.userAgent.match(/Edge\\/(\\d+).(\\d+)$/)) { // Edge.\n      result.browser = 'edge';\n      result.version = this.extractVersion(navigator.userAgent,\n          /Edge\\/(\\d+).(\\d+)$/, 2);\n    } else if (navigator.mediaDevices &&\n        navigator.userAgent.match(/AppleWebKit\\/(\\d+)\\./)) {\n        // Safari, with webkitGetUserMedia removed.\n      result.browser = 'safari';\n      result.version = this.extractVersion(navigator.userAgent,\n          /AppleWebKit\\/(\\d+)\\./, 1);\n    } else { // Default fallthrough: not supported.\n      result.browser = 'Not a supported browser.';\n      return result;\n    }\n\n    return result;\n  },\n\n  // shimCreateObjectURL must be called before shimSourceObject to avoid loop.\n\n  shimCreateObjectURL: function(window) {\n    var URL = window && window.URL;\n\n    if (!(typeof window === 'object' && window.HTMLMediaElement &&\n          'srcObject' in window.HTMLMediaElement.prototype)) {\n      // Only shim CreateObjectURL using srcObject if srcObject exists.\n      return undefined;\n    }\n\n    var nativeCreateObjectURL = URL.createObjectURL.bind(URL);\n    var nativeRevokeObjectURL = URL.revokeObjectURL.bind(URL);\n    var streams = new Map(), newId = 0;\n\n    URL.createObjectURL = function(stream) {\n      if ('getTracks' in stream) {\n        var url = 'polyblob:' + (++newId);\n        streams.set(url, stream);\n        utils.deprecated('URL.createObjectURL(stream)',\n            'elem.srcObject = stream');\n        return url;\n      }\n      return nativeCreateObjectURL(stream);\n    };\n    URL.revokeObjectURL = function(url) {\n      nativeRevokeObjectURL(url);\n      streams.delete(url);\n    };\n\n    var dsc = Object.getOwnPropertyDescriptor(window.HTMLMediaElement.prototype,\n                                              'src');\n    Object.defineProperty(window.HTMLMediaElement.prototype, 'src', {\n      get: function() {\n        return dsc.get.apply(this);\n      },\n      set: function(url) {\n        this.srcObject = streams.get(url) || null;\n        return dsc.set.apply(this, [url]);\n      }\n    });\n\n    var nativeSetAttribute = window.HTMLMediaElement.prototype.setAttribute;\n    window.HTMLMediaElement.prototype.setAttribute = function() {\n      if (arguments.length === 2 &&\n          ('' + arguments[0]).toLowerCase() === 'src') {\n        this.srcObject = streams.get(arguments[1]) || null;\n      }\n      return nativeSetAttribute.apply(this, arguments);\n    };\n  }\n};\n\n// Export.\nmodule.exports = {\n  log: utils.log,\n  deprecated: utils.deprecated,\n  disableLog: utils.disableLog,\n  disableWarnings: utils.disableWarnings,\n  extractVersion: utils.extractVersion,\n  shimCreateObjectURL: utils.shimCreateObjectURL,\n  detectBrowser: utils.detectBrowser.bind(utils)\n};\n"
    },
    {
      "id": 20,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/constants.js",
      "name": "./src/core/util/constants.js",
      "index": 140,
      "index2": 133,
      "size": 650,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/Events.js",
      "issuerId": 30,
      "issuerName": "./src/definitions/Events.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 28,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Room.js",
          "module": "./src/core/Room.js",
          "moduleName": "./src/core/Room.js",
          "type": "cjs require",
          "userRequest": "./util/constants",
          "loc": "1:596-623"
        },
        {
          "moduleId": 30,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/Events.js",
          "module": "./src/definitions/Events.js",
          "moduleName": "./src/definitions/Events.js",
          "type": "cjs require",
          "userRequest": "../core/util/constants",
          "loc": "1:1045-1078"
        },
        {
          "moduleId": 39,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Invite.js",
          "module": "./src/core/Invite.js",
          "moduleName": "./src/core/Invite.js",
          "type": "cjs require",
          "userRequest": "./util/constants",
          "loc": "1:596-623"
        },
        {
          "moduleId": 56,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/User.js",
          "module": "./src/core/User.js",
          "moduleName": "./src/core/User.js",
          "type": "cjs require",
          "userRequest": "./util/constants",
          "loc": "1:850-877"
        },
        {
          "moduleId": 94,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/stream/Local.js",
          "module": "./src/core/stream/Local.js",
          "moduleName": "./src/core/stream/Local.js",
          "type": "cjs require",
          "userRequest": "../util/constants",
          "loc": "1:987-1015"
        },
        {
          "moduleId": 96,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/webrtc/PeerConnection.js",
          "module": "./src/core/webrtc/PeerConnection.js",
          "moduleName": "./src/core/webrtc/PeerConnection.js",
          "type": "cjs require",
          "userRequest": "../util/constants",
          "loc": "1:939-967"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 2,
      "source": "'use strict';Object.defineProperty(exports,\"__esModule\",{value:true});var OPENED=exports.OPENED='OPENED';var CLOSED=exports.CLOSED='CLOSED';var CLOSING=exports.CLOSING='CLOSING';var CONNECTED=exports.CONNECTED='CONNECTED';var NOT_CONNECTED=exports.NOT_CONNECTED='NOT_CONNECTED';var WAS_CONNECTED=exports.WAS_CONNECTED='WAS_CONNECTED';var OWNER=exports.OWNER='OWNER';var MODERATOR=exports.MODERATOR='MODERATOR';var PARTICIPANT=exports.PARTICIPANT='PARTICIPANT';var NONE=exports.NONE='NONE';var ONGOING=exports.ONGOING='ONGOING';var ACCEPTED=exports.ACCEPTED='ACCEPTED';var REJECTED=exports.REJECTED='REJECTED';var CANCELED=exports.CANCELED='CANCELED';"
    },
    {
      "id": 21,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_fails.js",
      "index": 32,
      "index2": 22,
      "size": 104,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-sap.js",
      "issuerId": 76,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/_object-sap.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 13,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_descriptors.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_descriptors.js",
          "type": "cjs require",
          "userRequest": "./_fails",
          "loc": "2:18-37"
        },
        {
          "moduleId": 66,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_ie8-dom-define.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_ie8-dom-define.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_ie8-dom-define.js",
          "type": "cjs require",
          "userRequest": "./_fails",
          "loc": "1:48-67"
        },
        {
          "moduleId": 76,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-sap.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-sap.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-sap.js",
          "type": "cjs require",
          "userRequest": "./_fails",
          "loc": "4:12-31"
        },
        {
          "moduleId": 124,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_meta.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_meta.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_meta.js",
          "type": "cjs require",
          "userRequest": "./_fails",
          "loc": "9:14-33"
        },
        {
          "moduleId": 126,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-assign.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-assign.js",
          "type": "cjs require",
          "userRequest": "./_fails",
          "loc": "11:29-48"
        },
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_fails",
          "loc": "9:13-32"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "module.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n"
    },
    {
      "id": 22,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_cof.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_cof.js",
      "index": 11,
      "index2": 3,
      "size": 106,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_classof.js",
      "issuerId": 64,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/_classof.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 64,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_classof.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_classof.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_classof.js",
          "type": "cjs require",
          "userRequest": "./_cof",
          "loc": "2:10-27"
        },
        {
          "moduleId": 67,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iobject.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_iobject.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_iobject.js",
          "type": "cjs require",
          "userRequest": "./_cof",
          "loc": "2:10-27"
        },
        {
          "moduleId": 81,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_task.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_task.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_task.js",
          "type": "cjs require",
          "userRequest": "./_cof",
          "loc": "44:6-23"
        },
        {
          "moduleId": 121,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_is-array.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_is-array.js",
          "type": "cjs require",
          "userRequest": "./_cof",
          "loc": "2:10-27"
        },
        {
          "moduleId": 125,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_microtask.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_microtask.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_microtask.js",
          "type": "cjs require",
          "userRequest": "./_cof",
          "loc": "6:13-30"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "var toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n"
    },
    {
      "id": 23,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_ctx.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_ctx.js",
      "index": 24,
      "index2": 19,
      "size": 520,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
      "issuerId": 140,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 10,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_export.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_export.js",
          "type": "cjs require",
          "userRequest": "./_ctx",
          "loc": "3:10-27"
        },
        {
          "moduleId": 81,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_task.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_task.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_task.js",
          "type": "cjs require",
          "userRequest": "./_ctx",
          "loc": "1:10-27"
        },
        {
          "moduleId": 119,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_for-of.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_for-of.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_for-of.js",
          "type": "cjs require",
          "userRequest": "./_ctx",
          "loc": "1:10-27"
        },
        {
          "moduleId": 134,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.from.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.array.from.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.array.from.js",
          "type": "cjs require",
          "userRequest": "./_ctx",
          "loc": "2:10-27"
        },
        {
          "moduleId": 140,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "type": "cjs require",
          "userRequest": "./_ctx",
          "loc": "4:10-27"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n"
    },
    {
      "id": 24,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_iterators.js",
      "index": 44,
      "index2": 39,
      "size": 21,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js",
      "issuerId": 84,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/web.dom.iterable.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 68,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array-iter.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_is-array-iter.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_is-array-iter.js",
          "type": "cjs require",
          "userRequest": "./_iterators",
          "loc": "2:16-39"
        },
        {
          "moduleId": 70,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_iter-define.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_iter-define.js",
          "type": "cjs require",
          "userRequest": "./_iterators",
          "loc": "7:16-39"
        },
        {
          "moduleId": 82,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/core.get-iterator-method.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/core.get-iterator-method.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/core.get-iterator-method.js",
          "type": "cjs require",
          "userRequest": "./_iterators",
          "loc": "3:16-39"
        },
        {
          "moduleId": 84,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/web.dom.iterable.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/web.dom.iterable.js",
          "type": "cjs require",
          "userRequest": "./_iterators",
          "loc": "4:16-39"
        },
        {
          "moduleId": 135,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.iterator.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.array.iterator.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.array.iterator.js",
          "type": "cjs require",
          "userRequest": "./_iterators",
          "loc": "4:16-39"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "module.exports = {};\n"
    },
    {
      "id": 25,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_object-keys.js",
      "index": 6,
      "index2": 16,
      "size": 222,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.keys.js",
      "issuerId": 139,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.object.keys.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 118,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-keys.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_enum-keys.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_enum-keys.js",
          "type": "cjs require",
          "userRequest": "./_object-keys",
          "loc": "2:14-39"
        },
        {
          "moduleId": 126,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-assign.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-assign.js",
          "type": "cjs require",
          "userRequest": "./_object-keys",
          "loc": "3:14-39"
        },
        {
          "moduleId": 127,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dps.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-dps.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-dps.js",
          "type": "cjs require",
          "userRequest": "./_object-keys",
          "loc": "3:14-39"
        },
        {
          "moduleId": 139,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.keys.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.object.keys.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.object.keys.js",
          "type": "cjs require",
          "userRequest": "./_object-keys",
          "loc": "3:12-37"
        },
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_object-keys",
          "loc": "27:12-37"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n"
    },
    {
      "id": 26,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_property-desc.js",
      "index": 35,
      "index2": 28,
      "size": 173,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js",
      "issuerId": 16,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/_hide.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 16,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_hide.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_hide.js",
          "type": "cjs require",
          "userRequest": "./_property-desc",
          "loc": "2:17-44"
        },
        {
          "moduleId": 73,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-gopd.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-gopd.js",
          "type": "cjs require",
          "userRequest": "./_property-desc",
          "loc": "2:17-44"
        },
        {
          "moduleId": 117,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_create-property.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_create-property.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_create-property.js",
          "type": "cjs require",
          "userRequest": "./_property-desc",
          "loc": "3:17-44"
        },
        {
          "moduleId": 122,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-create.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_iter-create.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_iter-create.js",
          "type": "cjs require",
          "userRequest": "./_property-desc",
          "loc": "3:17-44"
        },
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_property-desc",
          "loc": "22:17-44"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "module.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n"
    },
    {
      "id": 27,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_global.js",
      "name": "./~/core-js/modules/_global.js",
      "index": 144,
      "index2": 134,
      "size": 322,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_export.js",
      "issuerId": 155,
      "issuerName": "./~/core-js/modules/_export.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 89,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_wks.js",
          "module": "./~/core-js/modules/_wks.js",
          "moduleName": "./~/core-js/modules/_wks.js",
          "type": "cjs require",
          "userRequest": "./_global",
          "loc": "3:17-37"
        },
        {
          "moduleId": 154,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_dom-create.js",
          "module": "./~/core-js/modules/_dom-create.js",
          "moduleName": "./~/core-js/modules/_dom-create.js",
          "type": "cjs require",
          "userRequest": "./_global",
          "loc": "2:15-35"
        },
        {
          "moduleId": 155,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_export.js",
          "module": "./~/core-js/modules/_export.js",
          "moduleName": "./~/core-js/modules/_export.js",
          "type": "cjs require",
          "userRequest": "./_global",
          "loc": "1:16-36"
        },
        {
          "moduleId": 162,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_redefine.js",
          "module": "./~/core-js/modules/_redefine.js",
          "moduleName": "./~/core-js/modules/_redefine.js",
          "type": "cjs require",
          "userRequest": "./_global",
          "loc": "1:16-36"
        },
        {
          "moduleId": 163,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_shared.js",
          "module": "./~/core-js/modules/_shared.js",
          "moduleName": "./~/core-js/modules/_shared.js",
          "type": "cjs require",
          "userRequest": "./_global",
          "loc": "1:13-33"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 7,
      "source": "// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef"
    },
    {
      "id": 28,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Room.js",
      "name": "./src/core/Room.js",
      "index": 174,
      "index2": 175,
      "size": 9100,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
      "issuerId": 58,
      "issuerName": "./src/Reach.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 30,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/Events.js",
          "module": "./src/definitions/Events.js",
          "moduleName": "./src/definitions/Events.js",
          "type": "cjs require",
          "userRequest": "../core/Room",
          "loc": "1:642-665"
        },
        {
          "moduleId": 39,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Invite.js",
          "module": "./src/core/Invite.js",
          "moduleName": "./src/core/Invite.js",
          "type": "cjs require",
          "userRequest": "./Room",
          "loc": "1:842-859"
        },
        {
          "moduleId": 56,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/User.js",
          "module": "./src/core/User.js",
          "moduleName": "./src/core/User.js",
          "type": "cjs require",
          "userRequest": "./Room",
          "loc": "1:715-732"
        },
        {
          "moduleId": 58,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
          "module": "./src/Reach.js",
          "moduleName": "./src/Reach.js",
          "type": "cjs require",
          "userRequest": "./core/Room",
          "loc": "1:822-844"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 1,
      "source": "'use strict';Object.defineProperty(exports,\"__esModule\",{value:true});var _keys=require('babel-runtime/core-js/object/keys'),_keys2=_interopRequireDefault(_keys),_promise=require('babel-runtime/core-js/promise'),_promise2=_interopRequireDefault(_promise),_assign=require('babel-runtime/core-js/object/assign'),_assign2=_interopRequireDefault(_assign),_classCallCheck2=require('babel-runtime/helpers/classCallCheck'),_classCallCheck3=_interopRequireDefault(_classCallCheck2),_createClass2=require('babel-runtime/helpers/createClass'),_createClass3=_interopRequireDefault(_createClass2),_constants=require('./util/constants'),_DataSync=require('./util/DataSync'),DataSync=_interopRequireWildcard(_DataSync),_cache=require('./util/cache'),_cache2=_interopRequireDefault(_cache),_Participant=require('./Participant'),_Participant2=_interopRequireDefault(_Participant),_Message=require('./Message'),_Message2=_interopRequireDefault(_Message),_Local=require('./stream/Local'),_Local2=_interopRequireDefault(_Local),_Invite=require('./Invite'),_Invite2=_interopRequireDefault(_Invite),_Events=require('../definitions/Events'),Events=_interopRequireWildcard(_Events),_Log=require('./util/Log'),Log=_interopRequireWildcard(_Log);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var _joinRoom=function _joinRoom(room,role){var participant={status:_constants.CONNECTED,userAgent:_cache2.default.userAgent,_joined:DataSync.ts()};if(role){participant.role=role;}Log.w('Room#join',[participant,'_/rooms/'+room.uid+'/participants/'+_cache2.default.user.uid]);return DataSync.update('_/rooms/'+room.uid+'/participants/'+_cache2.default.user.uid,participant).then(function(){DataSync.onDisconnect('_/rooms/'+room.uid+'/participants/'+_cache2.default.user.uid+'/status').set(_constants.WAS_CONNECTED);return room;});};var Room=function(){function Room(snapData){(0,_classCallCheck3.default)(this,Room);var values=snapData;if(snapData&&snapData.val&&typeof snapData.val==='function'){values=(0,_assign2.default)({},snapData.val(),{uid:snapData.name()});}this.uid=values.uid;this.name=values.name;this.localStream={};this.owner=values.owner;this.status=values.status;this._public=!!values._public;this.extra=values.extra;this._callbacks={};}(0,_createClass3.default)(Room,[{key:'participants',value:function participants(){return DataSync.list('_/rooms/'+this.uid+'/participants',_Participant2.default,this.uid);}},{key:'messages',value:function messages(){return DataSync.list('_/rooms/'+this.uid+'/messages',_Message2.default,this.uid);}},{key:'_streams',value:function _streams(localStreams){var _this=this;if(!_cache2.default.user){return _promise2.default.reject(new Error('Only an authenticated user can list a Room\\'s streams.'));}return DataSync.get('_/rooms/'+this.uid+'/streams').then(function(snapData){var values=snapData.val();Log.d('Rooms~_streams',values);if(values){return(0,_keys2.default)(values).map(function(key){return(0,_assign2.default)({uid:key,roomId:_this.uid},values[key]);});}return[];}).then(function(streams){return streams.filter(function(stream){return localStreams===(stream.device===_cache2.default.device&&stream.from===_cache2.default.user.uid);});}).then(function(streams){return streams.map(_cache2.default.streams['get'+(localStreams?'Shared':'Remote')].bind(_cache2.default.streams));}).then(function(streams){return streams.filter(function(stream){return stream!==null;});});}},{key:'localStreams',value:function localStreams(){return this._streams(true).catch(Log.r('Room~localStreams'));}},{key:'remoteStreams',value:function remoteStreams(){return this._streams(false).catch(Log.r('Room~remoteStreams'));}},{key:'invite',value:function invite(users){var _this2=this,role=arguments.length>1&&arguments[1]!==undefined?arguments[1]:_constants.NONE,message=arguments[2],_path=function _path(user){return'_/rooms/'+_this2.uid+'/participants/'+user.uid;},_data={status:_constants.NOT_CONNECTED,role:role||_constants.NONE};return _promise2.default.all(users.map(function(user){return DataSync.set(_path(user),_data);})).then(function(){return _promise2.default.all(users.map(function(user){return _Invite2.default.send(user,_this2,message);}));}).then(function(invites){var removeParticipant=function removeParticipant(invite){return DataSync.remove('_/rooms/'+invite.room+'/participants/'+invite.to);};invites.forEach(function(invite){invite.on(_constants.REJECTED,removeParticipant);invite.on(_constants.CANCELED,removeParticipant);});return{room:_this2,invites:invites};}).catch(function(e){Log.e('Room~invite',e);users.forEach(function(user){return DataSync.remove('_/rooms/'+_this2.uid+'/participants/'+user.uid);});return _promise2.default.reject(e);});}},{key:'on',value:function on(event,callback,cancelCallback){var _this3=this,path=Events.room.toPath(event)(this),obj=Events.room.toClass(event);if(path&&obj){var typedCallback=function typedCallback(snapData){if(!/^STREAM_/i.test(event)||!snapData){Log.i('Room~on('+event+')',snapData?new obj(snapData):null);callback(snapData?new obj(snapData):null);}else if(_cache2.default.user){var streamData=(0,_assign2.default)({uid:snapData.name(),roomId:_this3.uid},snapData.val());if(streamData.from!==_cache2.default.user.uid||streamData.device!==_cache2.default.device){var remoteStream=_cache2.default.streams.getRemote(streamData);Log.i('Room~on('+event+')',remoteStream);callback(remoteStream);}}};DataSync.on(path,event,typedCallback,cancelCallback);if(!this._callbacks[event]){this._callbacks[event]=[];}this._callbacks[event].push(typedCallback);}}},{key:'sendMessage',value:function sendMessage(message){return _Message2.default.send(this,message);}},{key:'share',value:function share(type,localStreamContainer,constraints){Log.i('Room~share',{type:type,localStreamContainer:localStreamContainer,constraints:constraints});return _Local2.default.share(this.uid,type,localStreamContainer,constraints);}},{key:'getLocalVideo',value:function getLocalVideo(type,localStreamContainer,constraints){var _this4=this;Log.i('Room~getLocalVideo',{type:type,localStreamContainer:localStreamContainer,constraints:constraints});return _Local2.default.getLocalVideo(this.uid,type,localStreamContainer,constraints).then(function(localStream){_this4.localStream=localStream;return localStream;});}},{key:'publish',value:function publish(){Log.i('Room~publish Local');return _Local2.default.publish(this.localStream);}},{key:'join',value:function join(){Log.i('Room~join',this);if(!_cache2.default.user){return _promise2.default.reject(new Error('Only an authenticated user can join a Room.'));}return _joinRoom(this).catch(Log.r('Room~join'));}},{key:'leave',value:function leave(){var _this5=this;if(!_cache2.default.user){return _promise2.default.reject(new Error('Only an authenticated user can leave a Room.'));}Log.i('Room~leave',this);DataSync.onDisconnect('_/rooms/'+this.uid+'/participants/'+_cache2.default.user.uid+'/status').cancel();(0,_keys2.default)(this._callbacks).forEach(function(event){DataSync.off(Events.room.toPath(event)(_this5),event);});this.localStreams().then(function(localStreams){localStreams.forEach(function(localStream){return localStream.close();});});if(this.localStream){this.localStream.close();}this.remoteStreams().then(function(remoteStreams){return remoteStreams.forEach(function(remoteStream){return remoteStream.unSubscribe();});});return DataSync.set('_/rooms/'+this.uid+'/participants/'+_cache2.default.user.uid+'/status',_constants.WAS_CONNECTED).catch(Log.r('Room~leave'));}},{key:'close',value:function close(){var _this6=this;Log.i('Room~close',this);return this.leave().then(function(){return DataSync.update('rooms/'+_this6.uid,{status:_constants.CLOSED,_closed:DataSync.ts()});}).then(function(){return DataSync.remove('_/rooms/'+_this6.uid);}).catch(Log.r('Room~close'));}}],[{key:'create',value:function create(name){var extra=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null,publicRoom=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;if(!_cache2.default.user){return _promise2.default.reject(new Error('Only an authenticated user can create a Room.'));}var roomMetaData={owner:_cache2.default.user.uid,_public:publicRoom,name:name||_cache2.default.user.name+'-'+Date.now()},roomFullMetaData=(0,_assign2.default)({status:_constants.OPENED,_created:DataSync.ts(),extra:extra},roomMetaData),room=null;return DataSync.push('rooms',roomFullMetaData).then(function(roomRef){room=new Room((0,_assign2.default)({uid:roomRef.name()},roomFullMetaData));return DataSync.update('_/rooms/'+room.uid+'/meta',roomMetaData);}).then(function(){return _joinRoom(room,_constants.OWNER);}).catch(Log.r('Room#create'));}},{key:'get',value:function get(uid){return DataSync.get('rooms/'+uid).then(function(snapData){if(snapData.val()){return new Room(snapData);}});}}]);return Room;}();exports.default=Room;"
    },
    {
      "id": 29,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/Media.js",
      "name": "./src/core/util/Media.js",
      "index": 114,
      "index2": 125,
      "size": 4841,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
      "issuerId": 58,
      "issuerName": "./src/Reach.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 58,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
          "module": "./src/Reach.js",
          "moduleName": "./src/Reach.js",
          "type": "cjs require",
          "userRequest": "./core/util/Media",
          "loc": "1:1190-1218"
        },
        {
          "moduleId": 93,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Config.js",
          "module": "./src/core/Config.js",
          "moduleName": "./src/core/Config.js",
          "type": "cjs require",
          "userRequest": "./util/Media",
          "loc": "1:538-561"
        },
        {
          "moduleId": 94,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/stream/Local.js",
          "module": "./src/core/stream/Local.js",
          "moduleName": "./src/core/stream/Local.js",
          "type": "cjs require",
          "userRequest": "../util/Media",
          "loc": "1:912-936"
        },
        {
          "moduleId": 96,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/webrtc/PeerConnection.js",
          "module": "./src/core/webrtc/PeerConnection.js",
          "moduleName": "./src/core/webrtc/PeerConnection.js",
          "type": "cjs require",
          "userRequest": "../util/Media",
          "loc": "1:712-736"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 1,
      "source": "'use strict';Object.defineProperty(exports,\"__esModule\",{value:true});var _classCallCheck2=require('babel-runtime/helpers/classCallCheck'),_classCallCheck3=_interopRequireDefault(_classCallCheck2),_createClass2=require('babel-runtime/helpers/createClass'),_createClass3=_interopRequireDefault(_createClass2),_assign=require('babel-runtime/core-js/object/assign'),_assign2=_interopRequireDefault(_assign),_Log=require('./Log'),Log=_interopRequireWildcard(_Log),_Reach=require('../../Reach'),_Reach2=_interopRequireDefault(_Reach);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var presets={UHD:{w:3840,h:2160,min:'HD'},FHD:{w:1920,h:1080,min:'HD',max:'UHD'},HD:{w:1280,h:720,min:'SD',max:'FHD'},SVGA:{w:800,h:600,min:'VGA',max:'HD'},SD:{w:720,h:576,min:'VGA',max:'HD'},VGA:{w:640,h:480,max:'SVGA'}},_assignDevice=function _assignDevice(constraint,deviceId){if(constraint&&deviceId){return(0,_assign2.default)(/^((user)|(environment))$/i.test(deviceId)?{facingMode:deviceId}:{deviceId:deviceId},constraint===true?{}:constraint);}return constraint;};var Media=function(){function Media(){(0,_classCallCheck3.default)(this,Media);}(0,_createClass3.default)(Media,null,[{key:'constraints',value:function constraints(){var videoConstraints=arguments.length>0&&arguments[0]!==undefined?arguments[0]:'HD',audioConstraints=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true,type=arguments.length>2&&arguments[2]!==undefined?arguments[2]:'ideal',videoDeviceId=arguments[3],audioDeviceId=arguments[4],video=videoConstraints;if(typeof videoConstraints==='string'){if(presets[videoConstraints.toUpperCase()]){var preset=presets[videoConstraints.toUpperCase()],dimConstraint=function dimConstraint(dim){if(/^(min|max|exact)$/.test(type)){var r={};r[type]=preset[dim];return r;}return{min:preset.min?presets[preset.min][dim]:preset[dim],ideal:preset[dim],max:preset.max?presets[preset.max][dim]:preset[dim]};};video={width:dimConstraint('w'),height:dimConstraint('h')};}else{throw new Error('Unknown Video Resolution preset (UHD, FHD, HD, SVGA, SD, VGA)');}}video=_assignDevice(video,videoDeviceId);var audio=_assignDevice(audioConstraints,audioDeviceId);Log.d('Media#constraints',{video:video,audio:audio});return{video:video,audio:audio};}},{key:'attachStream',value:function attachStream(mediaStream,container,previous){var volume=arguments.length>3&&arguments[3]!==undefined?arguments[3]:.7,tagName='';if(mediaStream.getVideoTracks().length>0){tagName='video';}else if(mediaStream.getAudioTracks().length>0){tagName='audio';}Log.d('Media#attachStream',mediaStream,tagName);if(tagName.length>0){var _node=previous;if(!_node||_node.tagName.toLowerCase()!==tagName){_node=document.createElement(tagName);_node.autoplay=true;if(_Reach2.default.browser.browser==='safari'){_node.setAttribute('playsinline',true);_node.setAttribute('muted',true);}else{}_node.style.borderRadius='1px';}if(container){if(previous&&previous!==_node){container.replaceChild(_node,previous);}else if(!previous){container.appendChild(_node);}}_node.srcObject=mediaStream;_node.addEventListener('play',function(event){Log.d('video.onplay = '+event.type);_node.srcObject.onaddtrack=function(track){Log.d('[Local] listener: video.onaddtrack = '+track.label);};_node.srcObject.onremovetrack=function(track){Log.d('[Local] listener: video.onremovetrack = '+track.label);};_node.srcObject.oninactive=function(){Log.d('[Local] listener: video.oninactive');};_node.srcObject.onplaying=function(event){console.debug('[Local] listener: video.onplaying = '+event.type);};_node.srcObject.onstalled=function(event){console.debug('[Local] listener: video.onstalled = '+event.type);};_node.srcObject.onsuspend=function(event){console.debug('[Local] listener: video.onsuspend = '+event.type);console.debug(event);console.debug('on passe là');};});_node.onsuspend=function(event){console.debug('[Local] listener: video.onsuspend = '+event);console.debug(event);};_node.addEventListener('loadeddata',function(){return Log.d('on a chargé les données');});_node.addEventListener('error',function(error){return Log.d('on a une erreur '+error);});_node.volume=volume;return _node;}return previous;}},{key:'devices',value:function devices(){return navigator.mediaDevices.enumerateDevices().then(function(devices){var r={};devices.forEach(function(device){if(!r[device.kind]){r[device.kind]=[];}r[device.kind].push(device);});Log.d('Media#devices',r);return r;}).catch(Log.r('Media#devices'));}},{key:'facingMode',get:function get(){return{USER:'user',ENVIRONMENT:'environment'};}}]);return Media;}();exports.default=Media;"
    },
    {
      "id": 30,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/Events.js",
      "name": "./src/definitions/Events.js",
      "index": 107,
      "index2": 177,
      "size": 3004,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
      "issuerId": 58,
      "issuerName": "./src/Reach.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 28,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Room.js",
          "module": "./src/core/Room.js",
          "moduleName": "./src/core/Room.js",
          "type": "cjs require",
          "userRequest": "../definitions/Events",
          "loc": "1:1086-1118"
        },
        {
          "moduleId": 39,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Invite.js",
          "module": "./src/core/Invite.js",
          "moduleName": "./src/core/Invite.js",
          "type": "cjs require",
          "userRequest": "../definitions/Events",
          "loc": "1:905-937"
        },
        {
          "moduleId": 58,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
          "module": "./src/Reach.js",
          "moduleName": "./src/Reach.js",
          "type": "cjs require",
          "userRequest": "./definitions/Events",
          "loc": "1:640-671"
        },
        {
          "moduleId": 62,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/stream/Remote.js",
          "module": "./src/core/stream/Remote.js",
          "moduleName": "./src/core/stream/Remote.js",
          "type": "cjs require",
          "userRequest": "../../definitions/Events",
          "loc": "1:808-843"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 1,
      "source": "'use strict';Object.defineProperty(exports,\"__esModule\",{value:true});exports.invite=exports.stream=exports.room=exports.reach=undefined;var _keys=require('babel-runtime/core-js/object/keys'),_keys2=_interopRequireDefault(_keys),_stringify=require('babel-runtime/core-js/json/stringify'),_stringify2=_interopRequireDefault(_stringify),_classCallCheck2=require('babel-runtime/helpers/classCallCheck'),_classCallCheck3=_interopRequireDefault(_classCallCheck2),_createClass2=require('babel-runtime/helpers/createClass'),_createClass3=_interopRequireDefault(_createClass2),_User=require('../core/User'),_User2=_interopRequireDefault(_User),_Room=require('../core/Room'),_Room2=_interopRequireDefault(_Room),_Invite=require('../core/Invite'),_Invite2=_interopRequireDefault(_Invite),_Participant=require('../core/Participant'),_Participant2=_interopRequireDefault(_Participant),_Message=require('../core/Message'),_Message2=_interopRequireDefault(_Message),_Remote=require('../core/stream/Remote'),_Remote2=_interopRequireDefault(_Remote),_constants=require('../core/util/constants');function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var paths={USER:function USER(){return'users';},ROOM:function ROOM(){return'rooms';},INVITE:function INVITE(user){if(!user){throw new Error('You must be authenticated to list the invites');}return'_/invites/'+user.uid;},PARTICIPANT:function PARTICIPANT(room){return'_/rooms/'+room.uid+'/participants';},MESSAGE:function MESSAGE(room){return'_/rooms/'+room.uid+'/messages';},STREAM:function STREAM(room){return'_/rooms/'+room.uid+'/streams';}},classes={USER:_User2.default,ROOM:_Room2.default,INVITE:_Invite2.default,PARTICIPANT:_Participant2.default,MESSAGE:_Message2.default,STREAM:_Remote2.default};var _Events=function(){function _Events(keys){var _this=this;(0,_classCallCheck3.default)(this,_Events);keys.forEach(function(key){_this[key]=key;});}(0,_createClass3.default)(_Events,[{key:'supports',value:function supports(event){if(!event||typeof event!=='string'||this[event]!==event.toUpperCase()){throw new Error('Unsupported event. Use one of the following: '+(0,_stringify2.default)((0,_keys2.default)(this)));}return true;}},{key:'toPath',value:function toPath(event){if(this.supports(event)){return paths[event.toUpperCase().replace(/_.*$/,'')]||function(){return null;};}}},{key:'toClass',value:function toClass(event){if(this.supports(event)){return classes[event.toUpperCase().replace(/_.*$/,'')];}}}]);return _Events;}();var reach=exports.reach=new _Events(['USER_ADDED','USER_CHANGED','USER_REMOVED','ROOM_ADDED','ROOM_CHANGED','ROOM_REMOVED','INVITE_ADDED','INVITE_CHANGED']);var room=exports.room=new _Events(['MESSAGE_ADDED','MESSAGE_CHANGED','MESSAGE_REMOVED','PARTICIPANT_ADDED','PARTICIPANT_CHANGED','PARTICIPANT_REMOVED','STREAM_PUBLISHED','STREAM_UNPUBLISHED']);var stream=exports.stream=new _Events(['MUTE','SIZE']);var invite=exports.invite=new _Events([_constants.ACCEPTED,_constants.REJECTED,_constants.CANCELED]);"
    },
    {
      "id": 31,
      "identifier": "external {\"root\":\"Webcom\",\"commonjs\":\"webcom/webcom\",\"commonjs2\":\"webcom/webcom\",\"amd\":\"webcom/webcom\"}",
      "name": "external {\"root\":\"Webcom\",\"commonjs\":\"webcom/webcom\",\"commonjs2\":\"webcom/webcom\",\"amd\":\"webcom/webcom\"}",
      "index": 105,
      "index2": 103,
      "size": 42,
      "cacheable": false,
      "built": false,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
      "issuerId": 58,
      "issuerName": "./src/Reach.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 6,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/cache.js",
          "module": "./src/core/util/cache.js",
          "moduleName": "./src/core/util/cache.js",
          "type": "cjs require",
          "userRequest": "webcom/webcom",
          "loc": "1:628-652"
        },
        {
          "moduleId": 56,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/User.js",
          "module": "./src/core/User.js",
          "moduleName": "./src/core/User.js",
          "type": "cjs require",
          "userRequest": "webcom/webcom",
          "loc": "1:886-910"
        },
        {
          "moduleId": 58,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
          "module": "./src/Reach.js",
          "moduleName": "./src/Reach.js",
          "type": "cjs require",
          "userRequest": "webcom/webcom",
          "loc": "1:1266-1290"
        },
        {
          "moduleId": 91,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/Browser.js",
          "module": "./src/definitions/Browser.js",
          "moduleName": "./src/definitions/Browser.js",
          "type": "cjs require",
          "userRequest": "webcom/webcom",
          "loc": "1:389-413"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 1
    },
    {
      "id": 32,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_a-function.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_a-function.js",
      "index": 25,
      "index2": 18,
      "size": 125,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
      "issuerId": 140,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 23,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_ctx.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_ctx.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_ctx.js",
          "type": "cjs require",
          "userRequest": "./_a-function",
          "loc": "2:16-40"
        },
        {
          "moduleId": 43,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_new-promise-capability.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_new-promise-capability.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_new-promise-capability.js",
          "type": "cjs require",
          "userRequest": "./_a-function",
          "loc": "3:16-40"
        },
        {
          "moduleId": 80,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_species-constructor.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_species-constructor.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_species-constructor.js",
          "type": "cjs require",
          "userRequest": "./_a-function",
          "loc": "3:16-40"
        },
        {
          "moduleId": 140,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "type": "cjs require",
          "userRequest": "./_a-function",
          "loc": "8:16-40"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "module.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n"
    },
    {
      "id": 33,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_library.js",
      "index": 42,
      "index2": 37,
      "size": 23,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
      "issuerId": 140,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 50,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_wks-define.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_wks-define.js",
          "type": "cjs require",
          "userRequest": "./_library",
          "loc": "3:14-35"
        },
        {
          "moduleId": 70,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_iter-define.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_iter-define.js",
          "type": "cjs require",
          "userRequest": "./_library",
          "loc": "2:14-35"
        },
        {
          "moduleId": 140,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "type": "cjs require",
          "userRequest": "./_library",
          "loc": "2:14-35"
        },
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_library",
          "loc": "154:22-43"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "module.exports = true;\n"
    },
    {
      "id": 34,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_object-pie.js",
      "index": 91,
      "index2": 85,
      "size": 37,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js",
      "issuerId": 126,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/_object-assign.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 73,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-gopd.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-gopd.js",
          "type": "cjs require",
          "userRequest": "./_object-pie",
          "loc": "1:10-34"
        },
        {
          "moduleId": 118,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-keys.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_enum-keys.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_enum-keys.js",
          "type": "cjs require",
          "userRequest": "./_object-pie",
          "loc": "4:10-34"
        },
        {
          "moduleId": 126,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-assign.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-assign.js",
          "type": "cjs require",
          "userRequest": "./_object-pie",
          "loc": "5:10-34"
        },
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_object-pie",
          "loc": "151:2-26"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 6,
      "source": "exports.f = {}.propertyIsEnumerable;\n"
    },
    {
      "id": 35,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_set-to-string-tag.js",
      "index": 49,
      "index2": 44,
      "size": 262,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
      "issuerId": 140,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 70,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_iter-define.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_iter-define.js",
          "type": "cjs require",
          "userRequest": "./_set-to-string-tag",
          "loc": "9:21-52"
        },
        {
          "moduleId": 122,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-create.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_iter-create.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_iter-create.js",
          "type": "cjs require",
          "userRequest": "./_set-to-string-tag",
          "loc": "4:21-52"
        },
        {
          "moduleId": 140,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "type": "cjs require",
          "userRequest": "./_set-to-string-tag",
          "loc": "210:0-31"
        },
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_set-to-string-tag",
          "loc": "11:21-52"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n"
    },
    {
      "id": 36,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_to-object.js",
      "index": 4,
      "index2": 1,
      "size": 132,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.keys.js",
      "issuerId": 139,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.object.keys.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 126,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-assign.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-assign.js",
          "type": "cjs require",
          "userRequest": "./_to-object",
          "loc": "6:15-38"
        },
        {
          "moduleId": 129,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gpo.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-gpo.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-gpo.js",
          "type": "cjs require",
          "userRequest": "./_to-object",
          "loc": "3:15-38"
        },
        {
          "moduleId": 134,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.from.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.array.from.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.array.from.js",
          "type": "cjs require",
          "userRequest": "./_to-object",
          "loc": "4:15-38"
        },
        {
          "moduleId": 139,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.keys.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.object.keys.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.object.keys.js",
          "type": "cjs require",
          "userRequest": "./_to-object",
          "loc": "2:15-38"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n"
    },
    {
      "id": 37,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_uid.js",
      "index": 19,
      "index2": 12,
      "size": 162,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js",
      "issuerId": 4,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/_wks.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 4,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_wks.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_wks.js",
          "type": "cjs require",
          "userRequest": "./_uid",
          "loc": "2:10-27"
        },
        {
          "moduleId": 45,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_shared-key.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_shared-key.js",
          "type": "cjs require",
          "userRequest": "./_uid",
          "loc": "2:10-27"
        },
        {
          "moduleId": 124,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_meta.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_meta.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_meta.js",
          "type": "cjs require",
          "userRequest": "./_uid",
          "loc": "1:11-28"
        },
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_uid",
          "loc": "12:10-27"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n"
    },
    {
      "id": 38,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_is-object.js",
      "name": "./~/core-js/modules/_is-object.js",
      "index": 149,
      "index2": 136,
      "size": 107,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_array-species-constructor.js",
      "issuerId": 151,
      "issuerName": "./~/core-js/modules/_array-species-constructor.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 149,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_an-object.js",
          "module": "./~/core-js/modules/_an-object.js",
          "moduleName": "./~/core-js/modules/_an-object.js",
          "type": "cjs require",
          "userRequest": "./_is-object",
          "loc": "1:15-38"
        },
        {
          "moduleId": 151,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_array-species-constructor.js",
          "module": "./~/core-js/modules/_array-species-constructor.js",
          "moduleName": "./~/core-js/modules/_array-species-constructor.js",
          "type": "cjs require",
          "userRequest": "./_is-object",
          "loc": "1:15-38"
        },
        {
          "moduleId": 154,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_dom-create.js",
          "module": "./~/core-js/modules/_dom-create.js",
          "moduleName": "./~/core-js/modules/_dom-create.js",
          "type": "cjs require",
          "userRequest": "./_is-object",
          "loc": "1:15-38"
        },
        {
          "moduleId": 167,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_to-primitive.js",
          "module": "./~/core-js/modules/_to-primitive.js",
          "moduleName": "./~/core-js/modules/_to-primitive.js",
          "type": "cjs require",
          "userRequest": "./_is-object",
          "loc": "2:15-38"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 9,
      "source": "module.exports = function(it){\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};"
    },
    {
      "id": 39,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Invite.js",
      "name": "./src/core/Invite.js",
      "index": 178,
      "index2": 174,
      "size": 5193,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
      "issuerId": 58,
      "issuerName": "./src/Reach.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 28,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Room.js",
          "module": "./src/core/Room.js",
          "moduleName": "./src/core/Room.js",
          "type": "cjs require",
          "userRequest": "./Invite",
          "loc": "1:1017-1036"
        },
        {
          "moduleId": 30,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/Events.js",
          "module": "./src/definitions/Events.js",
          "moduleName": "./src/definitions/Events.js",
          "type": "cjs require",
          "userRequest": "../core/Invite",
          "loc": "1:711-736"
        },
        {
          "moduleId": 58,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
          "module": "./src/Reach.js",
          "moduleName": "./src/Reach.js",
          "type": "cjs require",
          "userRequest": "./core/Invite",
          "loc": "1:890-914"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 1,
      "source": "'use strict';Object.defineProperty(exports,\"__esModule\",{value:true});var _assign=require('babel-runtime/core-js/object/assign'),_assign2=_interopRequireDefault(_assign),_classCallCheck2=require('babel-runtime/helpers/classCallCheck'),_classCallCheck3=_interopRequireDefault(_classCallCheck2),_createClass2=require('babel-runtime/helpers/createClass'),_createClass3=_interopRequireDefault(_createClass2),_keys=require('babel-runtime/core-js/object/keys'),_keys2=_interopRequireDefault(_keys),_promise=require('babel-runtime/core-js/promise'),_promise2=_interopRequireDefault(_promise),_constants=require('./util/constants'),_DataSync=require('./util/DataSync'),DataSync=_interopRequireWildcard(_DataSync),_Log=require('./util/Log'),Log=_interopRequireWildcard(_Log),_cache=require('./util/cache'),_cache2=_interopRequireDefault(_cache),_Room=require('./Room'),_Room2=_interopRequireDefault(_Room),_Events=require('../definitions/Events'),Events=_interopRequireWildcard(_Events);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var update=function update(invite,status){var reason=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null,_ended=arguments.length>3&&arguments[3]!==undefined?arguments[3]:null,values={status:status,reason:reason,_ended:_ended};if(invite.status!==_constants.ONGOING){return _promise2.default.reject(new Error('This invitation has already been answered'));}return DataSync.update('_/invites/'+invite.to+'/'+invite.uid,values).then(function(){(0,_keys2.default)(values).forEach(function(prop){invite[prop]=values[prop];});return _Room2.default.get(invite.room);}).then(function(room){return{room:room,invite:invite};}).catch(Log.r('Invite_update'));};var Invite=function(){function Invite(snapData){(0,_classCallCheck3.default)(this,Invite);var values=snapData;if(snapData&&snapData.val&&typeof snapData.val==='function'){values=(0,_assign2.default)({},snapData.val(),{uid:snapData.name(),to:snapData.ref().parent().name()});}this.uid=values.uid;this.from=values.from;this.to=values.to;this.room=values.room;this.status=values.status;this.topic=values.topic;this._created=values._created;this._ended=values._ended;this._callbacks={};}(0,_createClass3.default)(Invite,[{key:'cancel',value:function cancel(reason){return update(this,_constants.CANCELED,reason,DataSync.ts());}},{key:'reject',value:function reject(reason){return update(this,_constants.REJECTED,reason,DataSync.ts());}},{key:'accept',value:function accept(){return update(this,_constants.ACCEPTED);}},{key:'on',value:function on(status,callback){var _this=this;if(Events.invite.supports(status)){if(!this._callbacks[status]){this._callbacks[status]=[];}this._callbacks[status].push(callback);if(!this._listener){this._listener=function(snapData){var updated=snapData.val();if(updated!==null&&updated!==_this.status){_this.status=updated;(_this._callbacks[updated]||[]).forEach(function(cb){cb(_this);});}};DataSync.on('_/invites/'+this.to+'/'+this.uid+'/status','value',this._listener.bind(this));}}}},{key:'onStatusChange',value:function onStatusChange(callback){var _this2=this;[_constants.ACCEPTED,_constants.REJECTED,_constants.CANCELED].forEach(function(event){_this2.on(event,callback);});}},{key:'off',value:function off(status,callback){var _this3=this;if(!status){this._callbacks={};}else if(this._callbacks[status]){if(callback){var idx=this._callbacks[status].findIndex(function(cb){return cb===callback;});if(idx>=0){this._callbacks.splice(idx,1);}}else{this._callbacks[status]=[];}}if(![_constants.CANCELED,_constants.ACCEPTED,_constants.REJECTED].some(function(event){return _this3._callbacks[event]&&_this3._callbacks[event].length>0;})){DataSync.off('_/invites/'+this.to+'/'+this.uid+'/status','value');}}},{key:'offStatusChange',value:function offStatusChange(callback){var _this4=this;if(!callback){this.off();}else{[_constants.ACCEPTED,_constants.REJECTED,_constants.CANCELED].forEach(function(event){_this4.off(event,callback);});}}},{key:'isOnGoing',get:function get(){return this.status===_constants.ONGOING;}},{key:'isRejected',get:function get(){return this.status===_constants.REJECTED;}},{key:'isAccepted',get:function get(){return this.status===_constants.ACCEPTED;}},{key:'isCanceled',get:function get(){return this.status===_constants.CANCELED;}}],[{key:'send',value:function send(invitee,room){var message=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;if(!_cache2.default.user){return _promise2.default.reject(new Error('Only an authenticated user can send an invite.'));}var inviteMetaData={from:_cache2.default.user.uid,room:room.uid,status:_constants.ONGOING,_created:DataSync.ts(),topic:message};return DataSync.push('_/invites/'+invitee.uid,inviteMetaData).then(function(inviteRef){var inviteId=inviteRef.name();return new Invite((0,_assign2.default)({uid:inviteId,to:invitee.uid},inviteMetaData));}).catch(Log.r('Invite#send'));}}]);return Invite;}();exports.default=Invite;"
    },
    {
      "id": 40,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_defined.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_defined.js",
      "index": 5,
      "index2": 0,
      "size": 162,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_string-at.js",
      "issuerId": 132,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/_string-at.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 18,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_to-iobject.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_to-iobject.js",
          "type": "cjs require",
          "userRequest": "./_defined",
          "loc": "3:14-35"
        },
        {
          "moduleId": 36,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_to-object.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_to-object.js",
          "type": "cjs require",
          "userRequest": "./_defined",
          "loc": "2:14-35"
        },
        {
          "moduleId": 132,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_string-at.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_string-at.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_string-at.js",
          "type": "cjs require",
          "userRequest": "./_defined",
          "loc": "2:14-35"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n"
    },
    {
      "id": 41,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_dom-create.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_dom-create.js",
      "index": 33,
      "index2": 24,
      "size": 289,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_task.js",
      "issuerId": 81,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/_task.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 66,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_ie8-dom-define.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_ie8-dom-define.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_ie8-dom-define.js",
          "type": "cjs require",
          "userRequest": "./_dom-create",
          "loc": "2:31-55"
        },
        {
          "moduleId": 72,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-create.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-create.js",
          "type": "cjs require",
          "userRequest": "./_dom-create",
          "loc": "12:15-39"
        },
        {
          "moduleId": 81,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_task.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_task.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_task.js",
          "type": "cjs require",
          "userRequest": "./_dom-create",
          "loc": "4:10-34"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n"
    },
    {
      "id": 42,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-bug-keys.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_enum-bug-keys.js",
      "index": 20,
      "index2": 15,
      "size": 160,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js",
      "issuerId": 25,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/_object-keys.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 25,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-keys.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-keys.js",
          "type": "cjs require",
          "userRequest": "./_enum-bug-keys",
          "loc": "3:18-45"
        },
        {
          "moduleId": 72,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-create.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-create.js",
          "type": "cjs require",
          "userRequest": "./_enum-bug-keys",
          "loc": "4:18-45"
        },
        {
          "moduleId": 74,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-gopn.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-gopn.js",
          "type": "cjs require",
          "userRequest": "./_enum-bug-keys",
          "loc": "3:17-44"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n"
    },
    {
      "id": 43,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_new-promise-capability.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_new-promise-capability.js",
      "index": 67,
      "index2": 63,
      "size": 504,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es7.promise.try.js",
      "issuerId": 143,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es7.promise.try.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 78,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_promise-resolve.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_promise-resolve.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_promise-resolve.js",
          "type": "cjs require",
          "userRequest": "./_new-promise-capability",
          "loc": "3:27-63"
        },
        {
          "moduleId": 140,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "type": "cjs require",
          "userRequest": "./_new-promise-capability",
          "loc": "14:33-69"
        },
        {
          "moduleId": 143,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es7.promise.try.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es7.promise.try.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es7.promise.try.js",
          "type": "cjs require",
          "userRequest": "./_new-promise-capability",
          "loc": "4:27-63"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n  var resolve, reject;\n  this.promise = new C(function ($$resolve, $$reject) {\n    if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n    resolve = $$resolve;\n    reject = $$reject;\n  });\n  this.resolve = aFunction(resolve);\n  this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n"
    },
    {
      "id": 44,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gops.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_object-gops.js",
      "index": 90,
      "index2": 84,
      "size": 42,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js",
      "issuerId": 126,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/_object-assign.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 118,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-keys.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_enum-keys.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_enum-keys.js",
          "type": "cjs require",
          "userRequest": "./_object-gops",
          "loc": "3:11-36"
        },
        {
          "moduleId": 126,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-assign.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-assign.js",
          "type": "cjs require",
          "userRequest": "./_object-gops",
          "loc": "4:11-36"
        },
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_object-gops",
          "loc": "152:2-27"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 6,
      "source": "exports.f = Object.getOwnPropertySymbols;\n"
    },
    {
      "id": 45,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_shared-key.js",
      "index": 16,
      "index2": 13,
      "size": 159,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gpo.js",
      "issuerId": 129,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/_object-gpo.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 72,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-create.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-create.js",
          "type": "cjs require",
          "userRequest": "./_shared-key",
          "loc": "5:15-39"
        },
        {
          "moduleId": 75,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-keys-internal.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-keys-internal.js",
          "type": "cjs require",
          "userRequest": "./_shared-key",
          "loc": "4:15-39"
        },
        {
          "moduleId": 129,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gpo.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-gpo.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-gpo.js",
          "type": "cjs require",
          "userRequest": "./_shared-key",
          "loc": "4:15-39"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 6,
      "source": "var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n"
    },
    {
      "id": 46,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_shared.js",
      "index": 17,
      "index2": 11,
      "size": 202,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js",
      "issuerId": 4,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/_wks.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 4,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_wks.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_wks.js",
          "type": "cjs require",
          "userRequest": "./_shared",
          "loc": "1:12-32"
        },
        {
          "moduleId": 45,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_shared-key.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_shared-key.js",
          "type": "cjs require",
          "userRequest": "./_shared",
          "loc": "1:13-33"
        },
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_shared",
          "loc": "10:13-33"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "var global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n  return store[key] || (store[key] = {});\n};\n"
    },
    {
      "id": 47,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_to-integer.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_to-integer.js",
      "index": 14,
      "index2": 6,
      "size": 161,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_string-at.js",
      "issuerId": 132,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/_string-at.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 48,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_to-length.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_to-length.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_to-length.js",
          "type": "cjs require",
          "userRequest": "./_to-integer",
          "loc": "2:16-40"
        },
        {
          "moduleId": 132,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_string-at.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_string-at.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_string-at.js",
          "type": "cjs require",
          "userRequest": "./_to-integer",
          "loc": "1:16-40"
        },
        {
          "moduleId": 133,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_to-absolute-index.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_to-absolute-index.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_to-absolute-index.js",
          "type": "cjs require",
          "userRequest": "./_to-integer",
          "loc": "1:16-40"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n"
    },
    {
      "id": 48,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_to-length.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_to-length.js",
      "index": 13,
      "index2": 7,
      "size": 215,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.from.js",
      "issuerId": 134,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.array.from.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 116,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_array-includes.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_array-includes.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_array-includes.js",
          "type": "cjs require",
          "userRequest": "./_to-length",
          "loc": "4:15-38"
        },
        {
          "moduleId": 119,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_for-of.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_for-of.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_for-of.js",
          "type": "cjs require",
          "userRequest": "./_to-length",
          "loc": "5:15-38"
        },
        {
          "moduleId": 134,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.from.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.array.from.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.array.from.js",
          "type": "cjs require",
          "userRequest": "./_to-length",
          "loc": "7:15-38"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n"
    },
    {
      "id": 49,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_to-primitive.js",
      "index": 34,
      "index2": 26,
      "size": 655,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js",
      "issuerId": 11,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/_object-dp.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 11,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-dp.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-dp.js",
          "type": "cjs require",
          "userRequest": "./_to-primitive",
          "loc": "3:18-44"
        },
        {
          "moduleId": 73,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-gopd.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-gopd.js",
          "type": "cjs require",
          "userRequest": "./_to-primitive",
          "loc": "4:18-44"
        },
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_to-primitive",
          "loc": "21:18-44"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 6,
      "source": "// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n"
    },
    {
      "id": 50,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_wks-define.js",
      "index": 124,
      "index2": 112,
      "size": 417,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
      "issuerId": 141,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_wks-define",
          "loc": "15:16-40"
        },
        {
          "moduleId": 144,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.async-iterator.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es7.symbol.async-iterator.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es7.symbol.async-iterator.js",
          "type": "cjs require",
          "userRequest": "./_wks-define",
          "loc": "1:0-24"
        },
        {
          "moduleId": 145,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.observable.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es7.symbol.observable.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es7.symbol.observable.js",
          "type": "cjs require",
          "userRequest": "./_wks-define",
          "loc": "1:0-24"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 6,
      "source": "var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n"
    },
    {
      "id": 51,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-ext.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_wks-ext.js",
      "index": 119,
      "index2": 108,
      "size": 31,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/iterator.js",
      "issuerId": 113,
      "issuerName": "./~/babel-runtime/~/core-js/library/fn/symbol/iterator.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 50,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_wks-define.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_wks-define.js",
          "type": "cjs require",
          "userRequest": "./_wks-ext",
          "loc": "4:13-34"
        },
        {
          "moduleId": 113,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/iterator.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/symbol/iterator.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/symbol/iterator.js",
          "type": "cjs require",
          "userRequest": "../../modules/_wks-ext",
          "loc": "3:17-50"
        },
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_wks-ext",
          "loc": "14:13-34"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "exports.f = require('./_wks');\n"
    },
    {
      "id": 52,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.string.iterator.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/es6.string.iterator.js",
      "index": 39,
      "index2": 48,
      "size": 531,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/promise.js",
      "issuerId": 111,
      "issuerName": "./~/babel-runtime/~/core-js/library/fn/promise.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 105,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/array/from.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/array/from.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/array/from.js",
          "type": "cjs require",
          "userRequest": "../../modules/es6.string.iterator",
          "loc": "1:0-44"
        },
        {
          "moduleId": 111,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/promise.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/promise.js",
          "type": "cjs require",
          "userRequest": "../modules/es6.string.iterator",
          "loc": "2:0-41"
        },
        {
          "moduleId": 113,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/iterator.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/symbol/iterator.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/symbol/iterator.js",
          "type": "cjs require",
          "userRequest": "../../modules/es6.string.iterator",
          "loc": "1:0-44"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 3,
      "source": "'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n"
    },
    {
      "id": 53,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_core.js",
      "name": "./~/core-js/modules/_core.js",
      "index": 145,
      "index2": 135,
      "size": 117,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/fn/array/find.js",
      "issuerId": 146,
      "issuerName": "./~/core-js/fn/array/find.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 146,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/fn/array/find.js",
          "module": "./~/core-js/fn/array/find.js",
          "moduleName": "./~/core-js/fn/array/find.js",
          "type": "cjs require",
          "userRequest": "../../modules/_core",
          "loc": "2:17-47"
        },
        {
          "moduleId": 155,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_export.js",
          "module": "./~/core-js/modules/_export.js",
          "moduleName": "./~/core-js/modules/_export.js",
          "type": "cjs require",
          "userRequest": "./_core",
          "loc": "2:16-34"
        },
        {
          "moduleId": 162,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_redefine.js",
          "module": "./~/core-js/modules/_redefine.js",
          "moduleName": "./~/core-js/modules/_redefine.js",
          "type": "cjs require",
          "userRequest": "./_core",
          "loc": "9:0-18"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "var core = module.exports = {version: '2.4.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef"
    },
    {
      "id": 54,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_descriptors.js",
      "name": "./~/core-js/modules/_descriptors.js",
      "index": 151,
      "index2": 139,
      "size": 177,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_hide.js",
      "issuerId": 55,
      "issuerName": "./~/core-js/modules/_hide.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 55,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_hide.js",
          "module": "./~/core-js/modules/_hide.js",
          "moduleName": "./~/core-js/modules/_hide.js",
          "type": "cjs require",
          "userRequest": "./_descriptors",
          "loc": "3:17-42"
        },
        {
          "moduleId": 157,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_ie8-dom-define.js",
          "module": "./~/core-js/modules/_ie8-dom-define.js",
          "moduleName": "./~/core-js/modules/_ie8-dom-define.js",
          "type": "cjs require",
          "userRequest": "./_descriptors",
          "loc": "1:18-43"
        },
        {
          "moduleId": 160,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_object-dp.js",
          "module": "./~/core-js/modules/_object-dp.js",
          "moduleName": "./~/core-js/modules/_object-dp.js",
          "type": "cjs require",
          "userRequest": "./_descriptors",
          "loc": "6:12-37"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 8,
      "source": "// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function(){\n  return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});"
    },
    {
      "id": 55,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_hide.js",
      "name": "./~/core-js/modules/_hide.js",
      "index": 146,
      "index2": 145,
      "size": 288,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_export.js",
      "issuerId": 155,
      "issuerName": "./~/core-js/modules/_export.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 148,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_add-to-unscopables.js",
          "module": "./~/core-js/modules/_add-to-unscopables.js",
          "moduleName": "./~/core-js/modules/_add-to-unscopables.js",
          "type": "cjs require",
          "userRequest": "./_hide",
          "loc": "4:40-58"
        },
        {
          "moduleId": 155,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_export.js",
          "module": "./~/core-js/modules/_export.js",
          "moduleName": "./~/core-js/modules/_export.js",
          "type": "cjs require",
          "userRequest": "./_hide",
          "loc": "3:16-34"
        },
        {
          "moduleId": 162,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_redefine.js",
          "module": "./~/core-js/modules/_redefine.js",
          "moduleName": "./~/core-js/modules/_redefine.js",
          "type": "cjs require",
          "userRequest": "./_hide",
          "loc": "2:16-34"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 7,
      "source": "var dP         = require('./_object-dp')\n  , createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function(object, key, value){\n  return dP.f(object, key, createDesc(1, value));\n} : function(object, key, value){\n  object[key] = value;\n  return object;\n};"
    },
    {
      "id": 56,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/User.js",
      "name": "./src/core/User.js",
      "index": 110,
      "index2": 176,
      "size": 4805,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
      "issuerId": 58,
      "issuerName": "./src/Reach.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 30,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/Events.js",
          "module": "./src/definitions/Events.js",
          "moduleName": "./src/definitions/Events.js",
          "type": "cjs require",
          "userRequest": "../core/User",
          "loc": "1:575-598"
        },
        {
          "moduleId": 58,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
          "module": "./src/Reach.js",
          "moduleName": "./src/Reach.js",
          "type": "cjs require",
          "userRequest": "./core/User",
          "loc": "1:756-778"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 1,
      "source": "'use strict';Object.defineProperty(exports,\"__esModule\",{value:true});var _promise=require('babel-runtime/core-js/promise'),_promise2=_interopRequireDefault(_promise),_assign=require('babel-runtime/core-js/object/assign'),_assign2=_interopRequireDefault(_assign),_classCallCheck2=require('babel-runtime/helpers/classCallCheck'),_classCallCheck3=_interopRequireDefault(_classCallCheck2),_createClass2=require('babel-runtime/helpers/createClass'),_createClass3=_interopRequireDefault(_createClass2),_DataSync=require('./util/DataSync'),DataSync=_interopRequireWildcard(_DataSync),_cache=require('./util/cache'),_cache2=_interopRequireDefault(_cache),_Log=require('./util/Log'),Log=_interopRequireWildcard(_Log),_Room=require('./Room'),_Room2=_interopRequireDefault(_Room),_Device=require('./Device'),_Device2=_interopRequireDefault(_Device),_constants=require('./util/constants'),_webcom=require('webcom/webcom'),_webcom2=_interopRequireDefault(_webcom);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var initializing=false;var User=function(){function User(snapData){(0,_classCallCheck3.default)(this,User);var values=(0,_assign2.default)({},snapData.val());this.uid=snapData.name();this.name=values.name;this.status=values.status;this.lastSeen=values.lastSeen;this.anonymous=/^anonymous/.test(values.provider);}(0,_createClass3.default)(User,[{key:'invite',value:function invite(message){var _this=this;if(!_cache2.default.user){return _promise2.default.reject(new Error('Only an authenticated user can invite another User.'));}return _Room2.default.create(_cache2.default.user.uid+'-'+this.uid).then(function(room){return room.invite([_this],null,message);}).then(function(data){return{room:data.room,invite:data.invites[0]};}).catch(Log.r('User~invite'));}},{key:'devices',value:function devices(){return DataSync.list('_/devices/'+this.uid,_Device2.default);}}],[{key:'init',value:function init(auth,name){var uid=auth.uid;if(!initializing){initializing=true;var d={status:_constants.CONNECTED,lastSeen:DataSync.ts(),provider:auth.provider};if(name){(0,_assign2.default)(d,{name:name});}var deviceId=_webcom2.default.INTERNAL.PersistentStorage.get(uid);return DataSync.update('users/'+uid,d).then(function(){var deviceMetadata={status:_constants.CONNECTED,sdk:{reach:SDK_VERSION,webcom:_webcom2.default.SDK_VERSION},userAgent:navigator.userAgent};_cache2.default.userAgent=deviceMetadata.userAgent;if(deviceId){return DataSync.update('_/devices/'+uid+'/'+deviceId,deviceMetadata);}return DataSync.push('_/devices/'+uid,deviceMetadata);}).then(function(deviceRef){if(!deviceId){deviceId=deviceRef.name();_webcom2.default.INTERNAL.PersistentStorage.set(uid,deviceId);}_cache2.default.device=deviceId;}).then(function(){DataSync.onDisconnect('_/devices/'+uid+'/'+deviceId+'/status').set(_constants.NOT_CONNECTED);DataSync.onDisconnect('users/'+uid).update({status:_constants.NOT_CONNECTED,lastSeen:DataSync.ts()});}).then(function(){return User.get(uid);}).then(function(user){initializing=false;return user;}).catch(function(e){Log.e(e);initializing=false;return _promise2.default.reject(e);});}return User.get(uid);}},{key:'disconnect',value:function disconnect(user){DataSync.onDisconnect('_/devices/'+user.uid+'/'+_cache2.default.device+'/status').cancel();DataSync.onDisconnect('users/'+user.uid).cancel();if(user.anonymous){return DataSync.remove('_/devices/'+user.uid).then(function(){return DataSync.get('_/invites/'+user.uid);}).then(function(invites){var inviteIds=[];invites.forEach(function(invite){inviteIds.push(invite.name());});return _promise2.default.all(inviteIds.map(function(inviteId){return DataSync.remove('_/invites/'+user.uid+'/'+inviteId);}));}).then(function(){return DataSync.remove('users/'+user.uid);}).then(function(){_webcom2.default.INTERNAL.PersistentStorage.remove(user.uid);}).catch(Log.r('User#anonymous_disconnect'));}return DataSync.set('_/devices/'+user.uid+'/'+_cache2.default.device+'/status',_constants.NOT_CONNECTED).then(function(){return DataSync.get('_/devices/'+user.uid);}).then(function(devices){var hasConnectedDevices=devices.forEach(function(device){return new RegExp('^'+_constants.CONNECTED+'$').test(device.val().status);});if(!hasConnectedDevices){return DataSync.update('users/'+user.uid,{status:_constants.NOT_CONNECTED});}return true;}).catch(Log.r('User#disconnect'));}},{key:'get',value:function get(uid){return DataSync.get('users/'+uid).then(function(snapData){return snapData?new User(snapData):null;}).catch(Log.r('User#get'));}}]);return User;}();exports.default=User;"
    },
    {
      "id": 57,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/StreamTypes.js",
      "name": "./src/definitions/StreamTypes.js",
      "index": 106,
      "index2": 105,
      "size": 339,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
      "issuerId": 58,
      "issuerName": "./src/Reach.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 58,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
          "module": "./src/Reach.js",
          "moduleName": "./src/Reach.js",
          "type": "cjs require",
          "userRequest": "./definitions/StreamTypes",
          "loc": "1:544-580"
        },
        {
          "moduleId": 94,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/stream/Local.js",
          "module": "./src/core/stream/Local.js",
          "moduleName": "./src/core/stream/Local.js",
          "type": "cjs require",
          "userRequest": "../../definitions/StreamTypes",
          "loc": "1:598-638"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 1,
      "source": "'use strict';Object.defineProperty(exports,\"__esModule\",{value:true});var AUDIO=exports.AUDIO='audio';var VIDEO=exports.VIDEO='video';var AUDIO_VIDEO=exports.AUDIO_VIDEO='audio-video';var SCREEN_SHARING=exports.SCREEN_SHARING='screen-sharing';exports.default={AUDIO:AUDIO,VIDEO:VIDEO,AUDIO_VIDEO:AUDIO_VIDEO,SCREEN_SHARING:SCREEN_SHARING};"
    },
    {
      "id": 58,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
      "name": "./src/Reach.js",
      "index": 0,
      "index2": 179,
      "size": 6273,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": null,
      "issuerId": null,
      "issuerName": null,
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 29,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/Media.js",
          "module": "./src/core/util/Media.js",
          "moduleName": "./src/core/util/Media.js",
          "type": "cjs require",
          "userRequest": "../../Reach",
          "loc": "1:467-489"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 0,
      "source": "'use strict';Object.defineProperty(exports,\"__esModule\",{value:true});var _keys=require('babel-runtime/core-js/object/keys'),_keys2=_interopRequireDefault(_keys),_promise=require('babel-runtime/core-js/promise'),_promise2=_interopRequireDefault(_promise),_classCallCheck2=require('babel-runtime/helpers/classCallCheck'),_classCallCheck3=_interopRequireDefault(_classCallCheck2),_createClass2=require('babel-runtime/helpers/createClass'),_createClass3=_interopRequireDefault(_createClass2),_Browser=require('./definitions/Browser'),_StreamTypes=require('./definitions/StreamTypes'),_StreamTypes2=_interopRequireDefault(_StreamTypes),_Events=require('./definitions/Events'),Events=_interopRequireWildcard(_Events),_Codec=require('./definitions/Codec'),_User=require('./core/User'),_User2=_interopRequireDefault(_User),_Room=require('./core/Room'),_Room2=_interopRequireDefault(_Room),_Invite=require('./core/Invite'),_Invite2=_interopRequireDefault(_Invite),_DataSync=require('./core/util/DataSync'),DataSync=_interopRequireWildcard(_DataSync),_cache=require('./core/util/cache'),_cache2=_interopRequireDefault(_cache),_Log=require('./core/util/Log'),Log=_interopRequireWildcard(_Log),_Media=require('./core/util/Media'),_Media2=_interopRequireDefault(_Media),_webcom=require('webcom/webcom'),_webcom2=_interopRequireDefault(_webcom);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var Reach=function(){function Reach(url){var cfg=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;(0,_classCallCheck3.default)(this,Reach);_cache2.default.base=url;_cache2.default.config=cfg;this._callbacks={};}(0,_createClass3.default)(Reach,[{key:'register',value:function register(email,password,name,rememberMe){var _this=this;return _cache2.default.base.createUser(email,password).then(function(auth){if(auth){return _this.login(email,password,name||email,rememberMe);}}).catch(Log.r('Reach~register'));}},{key:'login',value:function login(email,password,name){var rememberMe=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false,p=_promise2.default.resolve();if(this.current&&this.current.email!==email){p=this.logout();}return p.then(function(){return _cache2.default.base.authWithPassword({email:email,password:password,rememberMe:rememberMe});}).then(function(auth){return _User2.default.init(auth,name);}).then(function(u){_cache2.default.user=u;return u;}).catch(Log.r('Reach~login'));}},{key:'resume',value:function resume(){var _this2=this;return new _promise2.default(function(resolve,reject){if(_webcom2.default.INTERNAL.PersistentStorage.get('session')){_cache2.default.base.resume(function(error,auth){if(auth&&!_this2.current){_User2.default.init(auth).then(function(u){_cache2.default.user=u;resolve(u);},reject);}});}else{reject(new Error('No session to resume'));}});}},{key:'anonymous',value:function anonymous(name){var p=_promise2.default.resolve();if(this.current&&(!this.current.anonymous||this.current.name!==name)){p=this.logout();}return p.then(function(){return _cache2.default.base.authAnonymously();}).then(function(auth){return _User2.default.init(auth,name);}).then(function(u){_cache2.default.user=u;return u;}).catch(Log.r('Reach~anonymous'));}},{key:'logout',value:function logout(){var _this3=this;return new _promise2.default(function(resolve,reject){var p=_promise2.default.resolve();if(_this3.current!=null){p=_User2.default.disconnect(_this3.current);}p.then(function(){(0,_keys2.default)(_this3._callbacks).forEach(function(event){return DataSync.off(Events.reach.toPath(event)(_cache2.default.user),event);});_cache2.default.base.logout(function(){_cache2.default.user=null;resolve();});}).catch(function(e){Log.e(e);reject(e);});});}},{key:'users',value:function users(include){var _this4=this;return DataSync.list('users',_User2.default).then(function(users){return!include&&users&&_this4.current?users.filter(function(user){return user.uid!==_this4.current.uid;}):users;}).catch(Log.r('Reach~users'));}},{key:'rooms',value:function rooms(){return DataSync.list('rooms',_Room2.default).catch(Log.r('Reach~rooms'));}},{key:'invites',value:function invites(){if(!this.current){return _promise2.default.reject(new Error('Cannot list invites without a User being logged in.'));}return DataSync.list('_/invites/'+this.current.uid,_Invite2.default).catch(Log.r('Reach~invites'));}},{key:'on',value:function on(event,callback,cancelCallback){var path=Events.reach.toPath(event)(_cache2.default.user);if(path){var cls=Events.reach.toClass(event),cb=function cb(snapData){var d=cls?new cls(snapData):null;Log.i('Reach~on('+event+')',d);callback(d);};DataSync.on(path,event,cb,cancelCallback);if(!this._callbacks[event]){this._callbacks[event]=[];}this._callbacks[event].push(cb);}}},{key:'createRoom',value:function createRoom(name,extra){var publicRoom=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;if(!this.current){return _promise2.default.reject(new Error('Cannot create a Room without a User being logged in.'));}return _Room2.default.create(name,extra,publicRoom);}},{key:'getRoom',value:function getRoom(uid){return _Room2.default.get(uid);}},{key:'getUser',value:function getUser(uid){return _User2.default.get(uid);}},{key:'base',get:function get(){return _cache2.default.base;}},{key:'config',get:function get(){return _cache2.default.config;}},{key:'current',get:function get(){return _cache2.default.user;}},{key:'peerConnections',get:function get(){return _cache2.default.peerConnections.stacks;}}],[{key:'version',get:function get(){return{sdk:SDK_VERSION,schema:SCHEMA_VERSION};}},{key:'types',get:function get(){return _StreamTypes2.default;}},{key:'events',get:function get(){return{room:Events.room,reach:Events.reach,stream:Events.stream,invite:Events.invite};}},{key:'browser',get:function get(){return _Browser.browser;}},{key:'media',get:function get(){return _Media2.default;}},{key:'codecs',get:function get(){return{audio:_Codec.audio,video:_Codec.video};}}]);return Reach;}();exports.default=Reach;module.exports=Reach;"
    },
    {
      "id": 59,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Device.js",
      "name": "./src/core/Device.js",
      "index": 139,
      "index2": 132,
      "size": 1412,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/User.js",
      "issuerId": 56,
      "issuerName": "./src/core/User.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 56,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/User.js",
          "module": "./src/core/User.js",
          "moduleName": "./src/core/User.js",
          "type": "cjs require",
          "userRequest": "./Device",
          "loc": "1:778-797"
        },
        {
          "moduleId": 96,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/webrtc/PeerConnection.js",
          "module": "./src/core/webrtc/PeerConnection.js",
          "moduleName": "./src/core/webrtc/PeerConnection.js",
          "type": "cjs require",
          "userRequest": "../Device",
          "loc": "1:784-804"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 2,
      "source": "'use strict';Object.defineProperty(exports,\"__esModule\",{value:true});var _assign=require('babel-runtime/core-js/object/assign'),_assign2=_interopRequireDefault(_assign),_classCallCheck2=require('babel-runtime/helpers/classCallCheck'),_classCallCheck3=_interopRequireDefault(_classCallCheck2),_createClass2=require('babel-runtime/helpers/createClass'),_createClass3=_interopRequireDefault(_createClass2),_DataSync=require('./util/DataSync'),DataSync=_interopRequireWildcard(_DataSync),_Log=require('./util/Log'),Log=_interopRequireWildcard(_Log);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var Device=function(){function Device(snapData){(0,_classCallCheck3.default)(this,Device);var values=(0,_assign2.default)({},snapData.val());this.uid=snapData.name();this.os=values.os;this.userAgent=values.userAgent;this.status=values.status;this.sdk=values.sdk;}(0,_createClass3.default)(Device,null,[{key:'get',value:function get(userUid,deviceUid){return DataSync.get('_/devices/'+userUid+'/'+deviceUid).then(function(snapData){return snapData?new Device(snapData):null;}).catch(Log.r('Device#get'));}}]);return Device;}();exports.default=Device;"
    },
    {
      "id": 60,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Message.js",
      "name": "./src/core/Message.js",
      "index": 176,
      "index2": 172,
      "size": 2247,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/Events.js",
      "issuerId": 30,
      "issuerName": "./src/definitions/Events.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 28,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Room.js",
          "module": "./src/core/Room.js",
          "moduleName": "./src/core/Room.js",
          "type": "cjs require",
          "userRequest": "./Message",
          "loc": "1:873-893"
        },
        {
          "moduleId": 30,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/Events.js",
          "module": "./src/definitions/Events.js",
          "moduleName": "./src/definitions/Events.js",
          "type": "cjs require",
          "userRequest": "../core/Message",
          "loc": "1:882-908"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 2,
      "source": "'use strict';Object.defineProperty(exports,\"__esModule\",{value:true});var _promise=require('babel-runtime/core-js/promise'),_promise2=_interopRequireDefault(_promise),_assign=require('babel-runtime/core-js/object/assign'),_assign2=_interopRequireDefault(_assign),_classCallCheck2=require('babel-runtime/helpers/classCallCheck'),_classCallCheck3=_interopRequireDefault(_classCallCheck2),_createClass2=require('babel-runtime/helpers/createClass'),_createClass3=_interopRequireDefault(_createClass2),_DataSync=require('./util/DataSync'),DataSync=_interopRequireWildcard(_DataSync),_Log=require('./util/Log'),Log=_interopRequireWildcard(_Log),_cache=require('./util/cache'),_cache2=_interopRequireDefault(_cache);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var Message=function(){function Message(snapData,roomId){(0,_classCallCheck3.default)(this,Message);var values=(0,_assign2.default)({},snapData.val());this.uid=snapData.name();this.roomId=roomId;this.text=values.text;this.from=values.from;this._created=values._created;}(0,_createClass3.default)(Message,[{key:'edit',value:function edit(newText){var _this=this;return DataSync.update('/rooms/'+this.roomId+'/messages/'+this.uid,{text:newText}).then(function(){_this.text=newText;return _this;}).catch(Log.r('Message~edit'));}},{key:'remove',value:function remove(){return DataSync.remove('/rooms/'+this.roomId+'/messages/'+this.uid).catch(Log.r('Message~remove'));}}],[{key:'send',value:function send(room,text){if(!_cache2.default.user){return _promise2.default.reject(new Error('Cannot send a message to the Room without a User being logged in.'));}var data={from:_cache2.default.user.uid,_created:DataSync.ts(),text:text};return DataSync.push('_/rooms/'+room.uid+'/messages',data).then(function(pushRef){return DataSync.get('_/rooms/'+room.uid+'/messages/'+pushRef.name());}).then(function(snapData){return new Message(snapData,room.uid);}).catch(Log.r('Message#send'));}}]);return Message;}();exports.default=Message;"
    },
    {
      "id": 61,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Participant.js",
      "name": "./src/core/Participant.js",
      "index": 175,
      "index2": 171,
      "size": 684,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/Events.js",
      "issuerId": 30,
      "issuerName": "./src/definitions/Events.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 28,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Room.js",
          "module": "./src/core/Room.js",
          "moduleName": "./src/core/Room.js",
          "type": "cjs require",
          "userRequest": "./Participant",
          "loc": "1:788-812"
        },
        {
          "moduleId": 30,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/Events.js",
          "module": "./src/definitions/Events.js",
          "moduleName": "./src/definitions/Events.js",
          "type": "cjs require",
          "userRequest": "../core/Participant",
          "loc": "1:791-821"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 2,
      "source": "\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:true});var _assign=require(\"babel-runtime/core-js/object/assign\"),_assign2=_interopRequireDefault(_assign),_classCallCheck2=require(\"babel-runtime/helpers/classCallCheck\"),_classCallCheck3=_interopRequireDefault(_classCallCheck2);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var Participant=function Participant(snapData){(0,_classCallCheck3.default)(this,Participant);var values=(0,_assign2.default)({},snapData.val());this.uid=snapData.name();this.role=values.role;this.status=values.status;this._joined=values._joined;this.userAgent=values.userAgent;};exports.default=Participant;"
    },
    {
      "id": 62,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/stream/Remote.js",
      "name": "./src/core/stream/Remote.js",
      "index": 133,
      "index2": 127,
      "size": 4562,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/Events.js",
      "issuerId": 30,
      "issuerName": "./src/definitions/Events.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 30,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/Events.js",
          "module": "./src/definitions/Events.js",
          "moduleName": "./src/definitions/Events.js",
          "type": "cjs require",
          "userRequest": "../core/stream/Remote",
          "loc": "1:960-992"
        },
        {
          "moduleId": 95,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/stream/StreamManager.js",
          "module": "./src/core/stream/StreamManager.js",
          "moduleName": "./src/core/stream/StreamManager.js",
          "type": "cjs require",
          "userRequest": "./Remote",
          "loc": "1:316-335"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 2,
      "source": "'use strict';Object.defineProperty(exports,\"__esModule\",{value:true});var _keys=require('babel-runtime/core-js/object/keys'),_keys2=_interopRequireDefault(_keys),_promise=require('babel-runtime/core-js/promise'),_promise2=_interopRequireDefault(_promise),_assign=require('babel-runtime/core-js/object/assign'),_assign2=_interopRequireDefault(_assign),_classCallCheck2=require('babel-runtime/helpers/classCallCheck'),_classCallCheck3=_interopRequireDefault(_classCallCheck2),_createClass2=require('babel-runtime/helpers/createClass'),_createClass3=_interopRequireDefault(_createClass2),_cache=require('../util/cache'),_cache2=_interopRequireDefault(_cache),_DataSync=require('../util/DataSync'),DataSync=_interopRequireWildcard(_DataSync),_Log=require('../util/Log'),Log=_interopRequireWildcard(_Log),_Events=require('../../definitions/Events'),Events=_interopRequireWildcard(_Events);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var Remote=function(){function Remote(values){(0,_classCallCheck3.default)(this,Remote);Log.d('Remote~new',values);this.roomId=values.roomId;this.uid=values.uid;this.from=values.from;this.type=values.type;this.device=values.device;this.userAgent=values.userAgent;this.height=values.height;this.width=values.width;this.container=_cache2.default.config.remoteStreamContainer;this.muted=(0,_assign2.default)({audio:false,video:false},values.muted);this._callbacks={};this.peerConnection=null;}(0,_createClass3.default)(Remote,[{key:'subscribe',value:function subscribe(remoteStreamContainer){var _this=this;if(!_cache2.default.user){return _promise2.default.reject(new Error('Only an authenticated user can subscribe to a Room\\'s stream.'));}this.container=remoteStreamContainer||_cache2.default.config.remoteStreamContainer;Log.d('Remote~subscribe',this.container);return _cache2.default.peerConnections.answer(this,this.container).then(function(pc){_this.peerConnection=pc;}).then(function(){return DataSync.update('_/rooms/'+_this.roomId+'/subscribers/'+_this.uid+'/'+_cache2.default.device,{to:_cache2.default.user.uid,_created:DataSync.ts()});}).then(function(){DataSync.onDisconnect('_/rooms/'+_this.roomId+'/subscribers/'+_this.uid+'/'+_cache2.default.device).remove();var subscribed=false;DataSync.on('_/rooms/'+_this.roomId+'/streams/'+_this.uid,'value',function(snapData){var values=snapData.val();Log.d('Remote~updated',values);if(values){_this.type=values.type;var height=values.height,width=values.width;if((height||width)&&(height!==_this.height||width!==_this.height)){_this.height=values.height;_this.width=values.width;Log.w(_this._callbacks[Events.stream.SIZE]);(_this._callbacks[Events.stream.SIZE]||[]).forEach(function(cb){return cb(_this.height,_this.width);});}var muted=values.muted;if(muted&&(muted.audio!==_this.muted.audio||muted.video!==_this.muted.video)){_this.muted=muted;Log.w(_this._callbacks[Events.stream.MUTE]);(_this._callbacks[Events.stream.MUTE]||[]).forEach(function(cb){return cb(_this.muted);});}subscribed=true;}else if(subscribed){Log.i('Remote#removed',_this);_this._close(true);}});}).catch(Log.r('Remote~subscribe'));}},{key:'unSubscribe',value:function unSubscribe(){return this._close(false);}},{key:'_close',value:function _close(remote){DataSync.onDisconnect('_/rooms/'+this.roomId+'/subscribers/'+this.uid+'/'+_cache2.default.device).cancel();DataSync.off('_/rooms/'+this.roomId+'/streams/'+this.uid,'value');!remote&&DataSync.remove('_/rooms/'+this.roomId+'/subscribers/'+this.uid+'/'+_cache2.default.device);return _promise2.default.resolve(_cache2.default.peerConnections.close(this.uid,this.device));}},{key:'on',value:function on(event,callback){if(Events.stream.supports(event)){if(!this._callbacks[event]){this._callbacks[event]=[];}this._callbacks[event].push(callback);}}},{key:'off',value:function off(event,callback){if(!event){this._callbacks={};}else if(Events.stream.supports(event)){if(!callback){this._callbacks[event]=[];}else{this._callbacks[event]=this._callbacks[event].filter(function(cb){return cb!==callback;});}}}},{key:'update',value:function update(values){var _this2=this;(0,_keys2.default)(values).forEach(function(key){_this2[key]=values[key];});}},{key:'node',get:function get(){return this.peerConnection?this.peerConnection.node:null;}}]);return Remote;}();exports.default=Remote;"
    },
    {
      "id": 63,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/helpers/toConsumableArray.js",
      "name": "./~/babel-runtime/helpers/toConsumableArray.js",
      "index": 81,
      "index2": 83,
      "size": 466,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/Browser.js",
      "issuerId": 91,
      "issuerName": "./src/definitions/Browser.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 91,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/Browser.js",
          "module": "./src/definitions/Browser.js",
          "moduleName": "./src/definitions/Browser.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/toConsumableArray",
          "loc": "1:120-170"
        },
        {
          "moduleId": 93,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Config.js",
          "module": "./src/core/Config.js",
          "moduleName": "./src/core/Config.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/toConsumableArray",
          "loc": "1:416-466"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 2,
      "source": "\"use strict\";\n\nexports.__esModule = true;\n\nvar _from = require(\"../core-js/array/from\");\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n      arr2[i] = arr[i];\n    }\n\n    return arr2;\n  } else {\n    return (0, _from2.default)(arr);\n  }\n};"
    },
    {
      "id": 64,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_classof.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_classof.js",
      "index": 57,
      "index2": 53,
      "size": 718,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
      "issuerId": 140,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 82,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/core.get-iterator-method.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/core.get-iterator-method.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/core.get-iterator-method.js",
          "type": "cjs require",
          "userRequest": "./_classof",
          "loc": "1:14-35"
        },
        {
          "moduleId": 140,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "type": "cjs require",
          "userRequest": "./_classof",
          "loc": "5:14-35"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n"
    },
    {
      "id": 65,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_html.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_html.js",
      "index": 48,
      "index2": 41,
      "size": 101,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_task.js",
      "issuerId": 81,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/_task.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 72,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-create.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-create.js",
          "type": "cjs require",
          "userRequest": "./_html",
          "loc": "18:2-20"
        },
        {
          "moduleId": 81,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_task.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_task.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_task.js",
          "type": "cjs require",
          "userRequest": "./_html",
          "loc": "3:11-29"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n"
    },
    {
      "id": 66,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_ie8-dom-define.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_ie8-dom-define.js",
      "index": 30,
      "index2": 25,
      "size": 199,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js",
      "issuerId": 11,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/_object-dp.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 11,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-dp.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-dp.js",
          "type": "cjs require",
          "userRequest": "./_ie8-dom-define",
          "loc": "2:21-49"
        },
        {
          "moduleId": 73,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-gopd.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-gopd.js",
          "type": "cjs require",
          "userRequest": "./_ie8-dom-define",
          "loc": "6:21-49"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 6,
      "source": "module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n  return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n"
    },
    {
      "id": 67,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iobject.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_iobject.js",
      "index": 10,
      "index2": 4,
      "size": 289,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js",
      "issuerId": 126,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/_object-assign.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 18,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_to-iobject.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_to-iobject.js",
          "type": "cjs require",
          "userRequest": "./_iobject",
          "loc": "2:14-35"
        },
        {
          "moduleId": 126,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-assign.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-assign.js",
          "type": "cjs require",
          "userRequest": "./_iobject",
          "loc": "7:14-35"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 6,
      "source": "// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n"
    },
    {
      "id": 68,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array-iter.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_is-array-iter.js",
      "index": 61,
      "index2": 56,
      "size": 279,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.from.js",
      "issuerId": 134,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.array.from.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 119,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_for-of.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_for-of.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_for-of.js",
          "type": "cjs require",
          "userRequest": "./_is-array-iter",
          "loc": "3:18-45"
        },
        {
          "moduleId": 134,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.from.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.array.from.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.array.from.js",
          "type": "cjs require",
          "userRequest": "./_is-array-iter",
          "loc": "6:18-45"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n"
    },
    {
      "id": 69,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-call.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_iter-call.js",
      "index": 60,
      "index2": 55,
      "size": 410,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.from.js",
      "issuerId": 134,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.array.from.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 119,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_for-of.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_for-of.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_for-of.js",
          "type": "cjs require",
          "userRequest": "./_iter-call",
          "loc": "2:11-34"
        },
        {
          "moduleId": 134,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.from.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.array.from.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.array.from.js",
          "type": "cjs require",
          "userRequest": "./_iter-call",
          "loc": "5:11-34"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n"
    },
    {
      "id": 70,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_iter-define.js",
      "index": 41,
      "index2": 47,
      "size": 2805,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.string.iterator.js",
      "issuerId": 52,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.string.iterator.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 52,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.string.iterator.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.string.iterator.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.string.iterator.js",
          "type": "cjs require",
          "userRequest": "./_iter-define",
          "loc": "5:0-25"
        },
        {
          "moduleId": 135,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.iterator.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.array.iterator.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.array.iterator.js",
          "type": "cjs require",
          "userRequest": "./_iter-define",
          "loc": "11:17-42"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = (!BUGGY && $native) || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n"
    },
    {
      "id": 71,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-detect.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_iter-detect.js",
      "index": 72,
      "index2": 68,
      "size": 645,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
      "issuerId": 140,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 134,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.from.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.array.from.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.array.from.js",
          "type": "cjs require",
          "userRequest": "./_iter-detect",
          "loc": "11:33-58"
        },
        {
          "moduleId": 140,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "type": "cjs require",
          "userRequest": "./_iter-detect",
          "loc": "230:48-73"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n"
    },
    {
      "id": 72,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_object-create.js",
      "index": 46,
      "index2": 42,
      "size": 1505,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
      "issuerId": 141,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 122,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-create.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_iter-create.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_iter-create.js",
          "type": "cjs require",
          "userRequest": "./_object-create",
          "loc": "2:13-40"
        },
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_object-create",
          "loc": "23:14-41"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 6,
      "source": "// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = require('./_dom-create')('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  require('./_html').appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n"
    },
    {
      "id": 73,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_object-gopd.js",
      "index": 129,
      "index2": 117,
      "size": 577,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
      "issuerId": 141,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 138,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.object.get-own-property-descriptor.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.object.get-own-property-descriptor.js",
          "type": "cjs require",
          "userRequest": "./_object-gopd",
          "loc": "3:32-57"
        },
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_object-gopd",
          "loc": "25:12-37"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 6,
      "source": "var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n"
    },
    {
      "id": 74,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_object-gopn.js",
      "index": 128,
      "index2": 115,
      "size": 288,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
      "issuerId": 141,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 128,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn-ext.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-gopn-ext.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-gopn-ext.js",
          "type": "cjs require",
          "userRequest": "./_object-gopn",
          "loc": "3:11-36"
        },
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_object-gopn",
          "loc": "150:2-27"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 6,
      "source": "// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n"
    },
    {
      "id": 75,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_object-keys-internal.js",
      "index": 7,
      "index2": 14,
      "size": 537,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js",
      "issuerId": 25,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/_object-keys.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 25,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-keys.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-keys.js",
          "type": "cjs require",
          "userRequest": "./_object-keys-internal",
          "loc": "2:12-46"
        },
        {
          "moduleId": 74,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-gopn.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-gopn.js",
          "type": "cjs require",
          "userRequest": "./_object-keys-internal",
          "loc": "2:12-46"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n"
    },
    {
      "id": 76,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-sap.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_object-sap.js",
      "index": 21,
      "index2": 31,
      "size": 370,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.keys.js",
      "issuerId": 139,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.object.keys.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 138,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.object.get-own-property-descriptor.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.object.get-own-property-descriptor.js",
          "type": "cjs require",
          "userRequest": "./_object-sap",
          "loc": "5:0-24"
        },
        {
          "moduleId": 139,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.keys.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.object.keys.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.object.keys.js",
          "type": "cjs require",
          "userRequest": "./_object-sap",
          "loc": "5:0-24"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n"
    },
    {
      "id": 77,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_perform.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_perform.js",
      "index": 68,
      "index2": 64,
      "size": 132,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es7.promise.try.js",
      "issuerId": 143,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es7.promise.try.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 140,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "type": "cjs require",
          "userRequest": "./_perform",
          "loc": "15:14-35"
        },
        {
          "moduleId": 143,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es7.promise.try.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es7.promise.try.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es7.promise.try.js",
          "type": "cjs require",
          "userRequest": "./_perform",
          "loc": "5:14-35"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "module.exports = function (exec) {\n  try {\n    return { e: false, v: exec() };\n  } catch (e) {\n    return { e: true, v: e };\n  }\n};\n"
    },
    {
      "id": 78,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_promise-resolve.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_promise-resolve.js",
      "index": 69,
      "index2": 65,
      "size": 397,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es7.promise.finally.js",
      "issuerId": 142,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es7.promise.finally.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 140,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "type": "cjs require",
          "userRequest": "./_promise-resolve",
          "loc": "16:21-50"
        },
        {
          "moduleId": 142,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es7.promise.finally.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es7.promise.finally.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es7.promise.finally.js",
          "type": "cjs require",
          "userRequest": "./_promise-resolve",
          "loc": "7:21-50"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n  anObject(C);\n  if (isObject(x) && x.constructor === C) return x;\n  var promiseCapability = newPromiseCapability.f(C);\n  var resolve = promiseCapability.resolve;\n  resolve(x);\n  return promiseCapability.promise;\n};\n"
    },
    {
      "id": 79,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_redefine.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_redefine.js",
      "index": 43,
      "index2": 38,
      "size": 37,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js",
      "issuerId": 70,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/_iter-define.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 70,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_iter-define.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_iter-define.js",
          "type": "cjs require",
          "userRequest": "./_redefine",
          "loc": "4:15-37"
        },
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_redefine",
          "loc": "7:15-37"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "module.exports = require('./_hide');\n"
    },
    {
      "id": 80,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_species-constructor.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_species-constructor.js",
      "index": 63,
      "index2": 59,
      "size": 348,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es7.promise.finally.js",
      "issuerId": 142,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es7.promise.finally.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 140,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "type": "cjs require",
          "userRequest": "./_species-constructor",
          "loc": "11:25-58"
        },
        {
          "moduleId": 142,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es7.promise.finally.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es7.promise.finally.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es7.promise.finally.js",
          "type": "cjs require",
          "userRequest": "./_species-constructor",
          "loc": "6:25-58"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n"
    },
    {
      "id": 81,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_task.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_task.js",
      "index": 64,
      "index2": 61,
      "size": 2484,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
      "issuerId": 140,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 125,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_microtask.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_microtask.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_microtask.js",
          "type": "cjs require",
          "userRequest": "./_task",
          "loc": "2:16-34"
        },
        {
          "moduleId": 140,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "type": "cjs require",
          "userRequest": "./_task",
          "loc": "12:11-29"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n  var id = +this;\n  // eslint-disable-next-line no-prototype-builtins\n  if (queue.hasOwnProperty(id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\nvar listener = function (event) {\n  run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n  setTask = function setImmediate(fn) {\n    var args = [];\n    var i = 1;\n    while (arguments.length > i) args.push(arguments[i++]);\n    queue[++counter] = function () {\n      // eslint-disable-next-line no-new-func\n      invoke(typeof fn == 'function' ? fn : Function(fn), args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clearTask = function clearImmediate(id) {\n    delete queue[id];\n  };\n  // Node.js 0.8-\n  if (require('./_cof')(process) == 'process') {\n    defer = function (id) {\n      process.nextTick(ctx(run, id, 1));\n    };\n  // Sphere (JS game engine) Dispatch API\n  } else if (Dispatch && Dispatch.now) {\n    defer = function (id) {\n      Dispatch.now(ctx(run, id, 1));\n    };\n  // Browsers with MessageChannel, includes WebWorkers\n  } else if (MessageChannel) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = listener;\n    defer = ctx(port.postMessage, port, 1);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n    defer = function (id) {\n      global.postMessage(id + '', '*');\n    };\n    global.addEventListener('message', listener, false);\n  // IE8-\n  } else if (ONREADYSTATECHANGE in cel('script')) {\n    defer = function (id) {\n      html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run.call(id);\n      };\n    };\n  // Rest old browsers\n  } else {\n    defer = function (id) {\n      setTimeout(ctx(run, id, 1), 0);\n    };\n  }\n}\nmodule.exports = {\n  set: setTask,\n  clear: clearTask\n};\n"
    },
    {
      "id": 82,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/core.get-iterator-method.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/core.get-iterator-method.js",
      "index": 62,
      "index2": 57,
      "size": 297,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.from.js",
      "issuerId": 134,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.array.from.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 119,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_for-of.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_for-of.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_for-of.js",
          "type": "cjs require",
          "userRequest": "./core.get-iterator-method",
          "loc": "6:16-53"
        },
        {
          "moduleId": 134,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.from.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.array.from.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.array.from.js",
          "type": "cjs require",
          "userRequest": "./core.get-iterator-method",
          "loc": "9:16-53"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n"
    },
    {
      "id": 83,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.to-string.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/es6.object.to-string.js",
      "index": 38,
      "index2": 35,
      "size": 0,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/promise.js",
      "issuerId": 111,
      "issuerName": "./~/babel-runtime/~/core-js/library/fn/promise.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 111,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/promise.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/promise.js",
          "type": "cjs require",
          "userRequest": "../modules/es6.object.to-string",
          "loc": "1:0-42"
        },
        {
          "moduleId": 112,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/index.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/symbol/index.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/symbol/index.js",
          "type": "cjs require",
          "userRequest": "../../modules/es6.object.to-string",
          "loc": "2:0-45"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 3,
      "source": ""
    },
    {
      "id": 84,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/web.dom.iterable.js",
      "index": 52,
      "index2": 52,
      "size": 969,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/promise.js",
      "issuerId": 111,
      "issuerName": "./~/babel-runtime/~/core-js/library/fn/promise.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 111,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/promise.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/promise.js",
          "type": "cjs require",
          "userRequest": "../modules/web.dom.iterable",
          "loc": "3:0-38"
        },
        {
          "moduleId": 113,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/iterator.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/symbol/iterator.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/symbol/iterator.js",
          "type": "cjs require",
          "userRequest": "../../modules/web.dom.iterable",
          "loc": "2:0-41"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 3,
      "source": "require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n"
    },
    {
      "id": 85,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_cof.js",
      "name": "./~/core-js/modules/_cof.js",
      "index": 163,
      "index2": 152,
      "size": 103,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_iobject.js",
      "issuerId": 158,
      "issuerName": "./~/core-js/modules/_iobject.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 158,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_iobject.js",
          "module": "./~/core-js/modules/_iobject.js",
          "moduleName": "./~/core-js/modules/_iobject.js",
          "type": "cjs require",
          "userRequest": "./_cof",
          "loc": "2:10-27"
        },
        {
          "moduleId": 159,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_is-array.js",
          "module": "./~/core-js/modules/_is-array.js",
          "moduleName": "./~/core-js/modules/_is-array.js",
          "type": "cjs require",
          "userRequest": "./_cof",
          "loc": "2:10-27"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 8,
      "source": "var toString = {}.toString;\n\nmodule.exports = function(it){\n  return toString.call(it).slice(8, -1);\n};"
    },
    {
      "id": 86,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_ctx.js",
      "name": "./~/core-js/modules/_ctx.js",
      "index": 159,
      "index2": 150,
      "size": 505,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_export.js",
      "issuerId": 155,
      "issuerName": "./~/core-js/modules/_export.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 150,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_array-methods.js",
          "module": "./~/core-js/modules/_array-methods.js",
          "moduleName": "./~/core-js/modules/_array-methods.js",
          "type": "cjs require",
          "userRequest": "./_ctx",
          "loc": "8:15-32"
        },
        {
          "moduleId": 155,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_export.js",
          "module": "./~/core-js/modules/_export.js",
          "moduleName": "./~/core-js/modules/_export.js",
          "type": "cjs require",
          "userRequest": "./_ctx",
          "loc": "5:16-33"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 7,
      "source": "// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n  aFunction(fn);\n  if(that === undefined)return fn;\n  switch(length){\n    case 1: return function(a){\n      return fn.call(that, a);\n    };\n    case 2: return function(a, b){\n      return fn.call(that, a, b);\n    };\n    case 3: return function(a, b, c){\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function(/* ...args */){\n    return fn.apply(that, arguments);\n  };\n};"
    },
    {
      "id": 87,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_fails.js",
      "name": "./~/core-js/modules/_fails.js",
      "index": 152,
      "index2": 138,
      "size": 99,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_descriptors.js",
      "issuerId": 54,
      "issuerName": "./~/core-js/modules/_descriptors.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 54,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_descriptors.js",
          "module": "./~/core-js/modules/_descriptors.js",
          "moduleName": "./~/core-js/modules/_descriptors.js",
          "type": "cjs require",
          "userRequest": "./_fails",
          "loc": "2:18-37"
        },
        {
          "moduleId": 157,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_ie8-dom-define.js",
          "module": "./~/core-js/modules/_ie8-dom-define.js",
          "moduleName": "./~/core-js/modules/_ie8-dom-define.js",
          "type": "cjs require",
          "userRequest": "./_fails",
          "loc": "1:48-67"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 9,
      "source": "module.exports = function(exec){\n  try {\n    return !!exec();\n  } catch(e){\n    return true;\n  }\n};"
    },
    {
      "id": 88,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_uid.js",
      "name": "./~/core-js/modules/_uid.js",
      "index": 158,
      "index2": 147,
      "size": 158,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_redefine.js",
      "issuerId": 162,
      "issuerName": "./~/core-js/modules/_redefine.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 89,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_wks.js",
          "module": "./~/core-js/modules/_wks.js",
          "moduleName": "./~/core-js/modules/_wks.js",
          "type": "cjs require",
          "userRequest": "./_uid",
          "loc": "2:17-34"
        },
        {
          "moduleId": 162,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_redefine.js",
          "module": "./~/core-js/modules/_redefine.js",
          "moduleName": "./~/core-js/modules/_redefine.js",
          "type": "cjs require",
          "userRequest": "./_uid",
          "loc": "4:16-33"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 8,
      "source": "var id = 0\n  , px = Math.random();\nmodule.exports = function(key){\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};"
    },
    {
      "id": 89,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_wks.js",
      "name": "./~/core-js/modules/_wks.js",
      "index": 171,
      "index2": 160,
      "size": 368,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_add-to-unscopables.js",
      "issuerId": 148,
      "issuerName": "./~/core-js/modules/_add-to-unscopables.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 148,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_add-to-unscopables.js",
          "module": "./~/core-js/modules/_add-to-unscopables.js",
          "moduleName": "./~/core-js/modules/_add-to-unscopables.js",
          "type": "cjs require",
          "userRequest": "./_wks",
          "loc": "2:18-35"
        },
        {
          "moduleId": 151,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_array-species-constructor.js",
          "module": "./~/core-js/modules/_array-species-constructor.js",
          "moduleName": "./~/core-js/modules/_array-species-constructor.js",
          "type": "cjs require",
          "userRequest": "./_wks",
          "loc": "3:15-32"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 7,
      "source": "var store      = require('./_shared')('wks')\n  , uid        = require('./_uid')\n  , Symbol     = require('./_global').Symbol\n  , USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function(name){\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;"
    },
    {
      "id": 90,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webpack/buildin/global.js",
      "name": "(webpack)/buildin/global.js",
      "index": 93,
      "index2": 90,
      "size": 509,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/Log.js",
      "issuerId": 5,
      "issuerName": "./src/core/util/Log.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 5,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/Log.js",
          "module": "./src/core/util/Log.js",
          "moduleName": "./src/core/util/Log.js",
          "type": "cjs require",
          "userRequest": "global",
          "loc": "1:0-60"
        },
        {
          "moduleId": 170,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/adapter_core.js",
          "module": "./~/webrtc-adapter/src/js/adapter_core.js",
          "moduleName": "./~/webrtc-adapter/src/js/adapter_core.js",
          "type": "cjs require",
          "userRequest": "global",
          "loc": "1:0-47"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 2,
      "source": "var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n"
    },
    {
      "id": 91,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/Browser.js",
      "name": "./src/definitions/Browser.js",
      "index": 80,
      "index2": 104,
      "size": 1654,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
      "issuerId": 58,
      "issuerName": "./src/Reach.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 58,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
          "module": "./src/Reach.js",
          "moduleName": "./src/Reach.js",
          "type": "cjs require",
          "userRequest": "./definitions/Browser",
          "loc": "1:498-530"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 1,
      "source": "'use strict';Object.defineProperty(exports,\"__esModule\",{value:true});exports.browser=undefined;var _toConsumableArray2=require('babel-runtime/helpers/toConsumableArray'),_toConsumableArray3=_interopRequireDefault(_toConsumableArray2),_assign=require('babel-runtime/core-js/object/assign'),_assign2=_interopRequireDefault(_assign),_console,_webrtcAdapter=require('webrtc-adapter'),_webcom=require('webcom/webcom'),_webcom2=_interopRequireDefault(_webcom);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var browser=exports.browser=(0,_assign2.default)({compatible:!/\\s/.test(_webrtcAdapter.browserDetails.browser)&&(!_webrtcAdapter.browserDetails.minVersion||_webrtcAdapter.browserDetails.version>=_webrtcAdapter.browserDetails.minVersion)},_webrtcAdapter.browserDetails);var version='Reach v'+SDK_VERSION+' | Schema '+SCHEMA_VERSION+' | Webcom v'+_webcom2.default.SDK_VERSION,message='';if(browser.version===null){message='Unsupported browser: browser must support WebRTC Peer-to-peer connections to use Reach';}else if(browser.minVersion&&browser.minVersion>browser.version){message='Unsupported browser: browser is outdated, update to latest version ('+browser.minVersion+'+)';}else if(!_webrtcAdapter.browserShim){message='No shim for your browser. There might a problem with your package.';}var args=[version+' '+message];if(/^(chrome|firefox)$/.test(browser.browser)){args=['%c '+version+' %c '+message,'background: '+(browser.compatible?'#f50':'red')+'; color: #fff; font-weight: bold','color: '+(browser.compatible?'inherit':'red')];}(_console=console).log.apply(_console,(0,_toConsumableArray3.default)(args));"
    },
    {
      "id": 92,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/Codec.js",
      "name": "./src/definitions/Codec.js",
      "index": 179,
      "index2": 178,
      "size": 306,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
      "issuerId": 58,
      "issuerName": "./src/Reach.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 58,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/Reach.js",
          "module": "./src/Reach.js",
          "moduleName": "./src/Reach.js",
          "type": "cjs require",
          "userRequest": "./definitions/Codec",
          "loc": "1:719-749"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 1,
      "source": "'use strict';Object.defineProperty(exports,\"__esModule\",{value:true});var video=exports.video={VP8:/^vp8/i,VP9:/^vp9/i,VP10:/^vp10/i,H264:/^h264/i,H265:/^h265/i};var audio=exports.audio={OPUS:/^opus/i,G722:/^g722/i,G711:/^g711/i,ISAC:/^isac/i,ISAC_16:/^isac\\/16000/i,ISAC_32:/^isac\\/32000/i,LSAC:/^lsac/i};"
    },
    {
      "id": 93,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Config.js",
      "name": "./src/core/Config.js",
      "index": 113,
      "index2": 126,
      "size": 3592,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/cache.js",
      "issuerId": 6,
      "issuerName": "./src/core/util/cache.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 6,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/cache.js",
          "module": "./src/core/util/cache.js",
          "moduleName": "./src/core/util/cache.js",
          "type": "cjs require",
          "userRequest": "../Config",
          "loc": "1:316-336"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 2,
      "source": "'use strict';Object.defineProperty(exports,\"__esModule\",{value:true});var _keys=require('babel-runtime/core-js/object/keys'),_keys2=_interopRequireDefault(_keys),_classCallCheck2=require('babel-runtime/helpers/classCallCheck'),_classCallCheck3=_interopRequireDefault(_classCallCheck2),_createClass2=require('babel-runtime/helpers/createClass'),_createClass3=_interopRequireDefault(_createClass2),_toConsumableArray2=require('babel-runtime/helpers/toConsumableArray'),_toConsumableArray3=_interopRequireDefault(_toConsumableArray2),_Media=require('./util/Media'),_Media2=_interopRequireDefault(_Media),_DataSync=require('./util/DataSync'),DataSync=_interopRequireWildcard(_DataSync),_Log=require('./util/Log'),Log=_interopRequireWildcard(_Log),_cache=require('./util/cache'),_cache2=_interopRequireDefault(_cache);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var _flattenServers=function _flattenServers(servers){var _ref,_expand=servers.map(function(server){var username=server.username,credential=server.credential,urls=server.urls,url=server.url,uris=urls||url;if(typeof uris!=='string'){return uris.map(function(uri){return{username:username,credential:credential,urls:uri};});}return[server];});return(_ref=[]).concat.apply(_ref,(0,_toConsumableArray3.default)(_expand));};var Config=function(){function Config(obj){var _this=this;(0,_classCallCheck3.default)(this,Config);this.constraints=null;this.localStreamContainer=null;this.remoteStreamContainer=null;this.preferredVideoCodec=null;this.preferredAudioCodec=null;this.reset();this.assign(obj);DataSync.get('_/ice').then(function(snapData){if(snapData){_this.iceServers=snapData.val();Log.i('ICEServers',_this.iceServers.length>0?_this.iceServers:'None');}},function(e){return Log.d('ICEServers',e);});}(0,_createClass3.default)(Config,[{key:'assign',value:function assign(obj){var _this2=this;(0,_keys2.default)(obj||{}).forEach(function(key){_this2[key]=obj[key];});}},{key:'reset',value:function reset(){this.assign({constraints:_Media2.default.constraints(),logLevel:'ERROR'});}},{key:'logLevel',set:function set(level){_cache2.default.logLevel=level;},get:function get(){return _cache2.default.logLevel;}},{key:'iceServers',set:function set(servers){Log.d('Config~set~iceServers',servers);if(servers){if(!this._iceServers){this._iceServers=[].concat(servers||[]);}else{var _currentServers=_flattenServers(this._iceServers),_newServers=_flattenServers(servers);_newServers.forEach(function(newServer){if(!_currentServers.some(function(server){return server.urls===newServer.urls&&server.username===newServer.username&&server.credential===newServer.credential;})){_currentServers.push(newServer);}});this._iceServers=_currentServers.reduce(function(previous,current){var username=current.username,credential=current.credential,urls=current.urls,idx=previous.findIndex(function(s){return s.username===username&&s.credential===credential;});if(idx>=0){previous[idx].urls.push(urls);}else{previous.push({username:username,credential:credential,urls:[urls]});}return previous;},[]);}}},get:function get(){return this._iceServers||[{username:'admin',credential:'webcom1234',urls:['turns:turn1.webcom.orange.com:443','turn:turn1.webcom.orange.com:443?transport=tcp','turn:turn1.webcom.orange.com:3478?transport=tcp']}];}}]);return Config;}();exports.default=Config;"
    },
    {
      "id": 94,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/stream/Local.js",
      "name": "./src/core/stream/Local.js",
      "index": 177,
      "index2": 173,
      "size": 13113,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Room.js",
      "issuerId": 28,
      "issuerName": "./src/core/Room.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 28,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/Room.js",
          "module": "./src/core/Room.js",
          "moduleName": "./src/core/Room.js",
          "type": "cjs require",
          "userRequest": "./stream/Local",
          "loc": "1:944-969"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 2,
      "source": "'use strict';Object.defineProperty(exports,\"__esModule\",{value:true});var _keys=require('babel-runtime/core-js/object/keys'),_keys2=_interopRequireDefault(_keys),_promise=require('babel-runtime/core-js/promise'),_promise2=_interopRequireDefault(_promise),_assign=require('babel-runtime/core-js/object/assign'),_assign2=_interopRequireDefault(_assign),_classCallCheck2=require('babel-runtime/helpers/classCallCheck'),_classCallCheck3=_interopRequireDefault(_classCallCheck2),_createClass2=require('babel-runtime/helpers/createClass'),_createClass3=_interopRequireDefault(_createClass2),_StreamTypes=require('../../definitions/StreamTypes'),_StreamTypes2=_interopRequireDefault(_StreamTypes),_Log=require('../util/Log'),Log=_interopRequireWildcard(_Log),_cache=require('../util/cache'),_cache2=_interopRequireDefault(_cache),_DataSync=require('../util/DataSync'),DataSync=_interopRequireWildcard(_DataSync),_Media=require('../util/Media'),_Media2=_interopRequireDefault(_Media),_constants=require('../util/constants');function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var _facingModes=[_Media2.default.facingMode.USER,_Media2.default.facingMode.ENVIRONMENT],_getConstraintValue=function _getConstraintValue(constraints,prop){return constraints[prop].exact||constraints[prop].ideal||constraints[prop];},_setConstrainValue=function _setConstrainValue(constraints,prop,other,value){constraints[prop]={exact:value};delete constraints[other];};var Local=function(){function Local(values){(0,_classCallCheck3.default)(this,Local);this.roomId=values.roomId;this.uid=values.uid;this.type=values.type;this.muted=(0,_assign2.default)({audio:false,video:false},values.muted);this.container=values.container||_cache2.default.config.localStreamContainer;this.node=null;this.peerConnections=[];this.status=_constants.NONE;this.isVideoLoaded=false;this._inputs={};this.constraints=values.constraints;}(0,_createClass3.default)(Local,[{key:'updateConstraints',value:function updateConstraints(constraints){var _this=this;Log.d('Local~updateConstraints',constraints);this.constraints=constraints;return navigator.mediaDevices.getUserMedia(this.constraints).then(function(media){['audio','video'].forEach(function(kind){var constraintsValue=_this.constraints[kind];if(constraintsValue){if(constraintsValue.deviceId||constraintsValue.facingMode){_this._inputs[kind]=_getConstraintValue(constraintsValue,constraintsValue.facingMode?'facingMode':'deviceId');}}});_this.media=media;});}},{key:'mute',value:function mute(){var track=arguments.length>0&&arguments[0]!==undefined?arguments[0]:_StreamTypes2.default.AUDIO,state=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;Log.d('mute',track,state);var audio=this.muted.audio,video=this.muted.video,tracks=void 0;switch(track){case _StreamTypes2.default.AUDIO:audio=state;tracks=this.media.getAudioTracks();break;case _StreamTypes2.default.VIDEO:case _StreamTypes2.default.SCREEN_SHARING:video=state;tracks=this.media.getVideoTracks();break;case _StreamTypes2.default.AUDIO_VIDEO:audio=state;video=state;tracks=this.media.getTracks();break;}tracks.forEach(function(track){track.enabled=!state;});this.muted={audio:audio,video:video};DataSync.set('_/rooms/'+this.roomId+'/streams/'+this.uid+'/muted',this.muted);}},{key:'unMute',value:function unMute(track){this.mute(track,false);}},{key:'close',value:function close(){if(!~[_constants.CLOSED,_constants.CLOSING].indexOf(this.status)){this.status=_constants.CLOSING;var path='_/rooms/'+this.roomId+'/subscribers/'+this.uid;DataSync.off(path,'child_added');DataSync.off(path,'child_removed');DataSync.onDisconnect('_/rooms/'+this.roomId+'/streams/'+this.uid).cancel();DataSync.onDisconnect('_/rooms/'+this.roomId+'/subscribers/'+this.uid).cancel();DataSync.remove(path);DataSync.remove('_/rooms/'+this.roomId+'/streams/'+this.uid);this.media=null;this.status=_constants.CLOSED;}return _promise2.default.resolve(this.status);}},{key:'switchCamera',value:function switchCamera(deviceId){return this._switchDevice(_StreamTypes2.default.VIDEO,deviceId);}},{key:'switchMicrophone',value:function switchMicrophone(deviceId){return this._switchDevice(_StreamTypes2.default.AUDIO,deviceId);}},{key:'_switchDevice',value:function _switchDevice(kind,deviceId){var _this2=this;Log.d('Local~_switchDevice',kind,deviceId);if(this.media.getTracks().some(function(track){return track.kind===kind;})){var next=_promise2.default.resolve(deviceId),currentModeIdx=_facingModes.indexOf(this._inputs[kind]);if(!deviceId&&!!~currentModeIdx){next=_promise2.default.resolve(_facingModes[(currentModeIdx+1)%_facingModes.length]);}else if(!~_facingModes.indexOf(deviceId)){next=_Media2.default.devices().then(function(d){var devices=d[kind+'input'].map(function(mediaDevice){return mediaDevice.deviceId;});devices.sort();var nextDevice=deviceId;if(deviceId&&!devices.some(function(device){return device===deviceId;})){return _promise2.default.reject(new Error('Unknown '+kind+' device'));}if(!deviceId&&devices.length>1){var idx=_this2._inputs[kind]?devices.findIndex(function(v){return v===_this2._inputs[kind];},_this2):0;nextDevice=devices[++idx%devices.length];}return nextDevice;});}else{next=_promise2.default.resolve(deviceId);}return next.then(function(device){if(_this2._inputs[kind]!==device){_this2._inputs[kind]=device;_this2.media.getTracks().forEach(function(track){return track.stop();});var constraints=(0,_assign2.default)({},_this2.constraints),props=['facingMode','deviceId'];if(!~_facingModes.indexOf(device)){props=props.reverse();}_setConstrainValue(constraints[kind],props[0],props[1],device);Log.d('Local~_switchDevice',kind,constraints);return _this2.updateConstraints(constraints);}}).then(function(){return _this2;});}return _promise2.default.reject(new Error('Current stream does not contain a '+kind+' track'));}},{key:'constraints',set:function set(constraints){var _this3=this,values=constraints||_cache2.default.config.constraints,defaultConstraints=_Media2.default.constraints();['audio','video'].forEach(function(type){if(!~_this3.type.indexOf(type)){values[type]=false;}else if(!values[type]){values[type]=defaultConstraints[type];}if(values[type].deviceId||values[type].facingMode){_this3._inputs[type]=_getConstraintValue(values[type],values[type].facingMode?'facingMode':'deviceId');}});Log.d('Local~set#contraints',values);this._constraints=values;},get:function get(){return this._constraints;}},{key:'media',set:function set(mediaStream){var _this4=this;if(mediaStream){if(!(mediaStream instanceof MediaStream)){throw new Error('The media MUST be a MediaStream');}var checkDevices={};mediaStream.getTracks().forEach(function(track){track.enabled=!_this4.muted[track.kind];if(!_this4._inputs[track.kind]){checkDevices[track.kind]=track.label;}});if((0,_keys2.default)(checkDevices).length){_Media2.default.devices().then(function(devices){(0,_keys2.default)(checkDevices).forEach(function(kind){if(devices[kind+'input']){var deviceIds=devices[kind+'input'].filter(function(device){return device.label.length&&device.label===checkDevices[kind];});if(deviceIds.length===1&&!_this4._inputs[kind]){_this4._inputs[kind]=deviceIds[0].deviceId;}if(deviceIds.length===0&&devices[kind+'input'][0].label===''&&!_this4._inputs[kind]){_this4._inputs[kind]=devices[kind+'input'][0].deviceId;}}});});}this.node=_Media2.default.attachStream(mediaStream,this.container,this.node,0);this.node.onloadeddata=function(){_this4.isVideoLoaded=true;};this.status=_constants.CONNECTED;Log.d('Local~set media',{mediaStream:mediaStream},this.node);this.peerConnections.forEach(function(peerConnection){return peerConnection.renegotiate(_this4._media,mediaStream);});}else if(this.media&&!mediaStream){this.node.srcObject=null;this.container.removeChild(this.node);this.node=null;this.media.getTracks().forEach(function(track){return track.stop();});this.peerConnections.forEach(function(peerConnection){return peerConnection.close();});}this._media=mediaStream;},get:function get(){return this._media;}}],[{key:'share',value:function share(roomId,type,container,constraints){if(!_cache2.default.user){return _promise2.default.reject(new Error('Only an authenticated user can share a stream.'));}var streamMetaData={from:_cache2.default.user.uid,device:_cache2.default.device,type:type},sharedStream=new Local((0,_assign2.default)({roomId:roomId,constraints:constraints,container:container},streamMetaData));Log.d('Local~share',{sharedStream:sharedStream});return navigator.mediaDevices.getUserMedia(sharedStream.constraints).then(function(media){sharedStream.media=media;}).then(function(){return DataSync.push('_/rooms/'+roomId+'/streams',streamMetaData);}).then(function(streamRef){sharedStream.uid=streamRef.name();if(sharedStream.isVideoLoaded){var streamSize={height:sharedStream.node.videoHeight,width:sharedStream.node.videoWidth};streamRef.update(streamSize);}else{sharedStream.node.onloadeddata=function(){var streamSize={height:sharedStream.node.videoHeight,width:sharedStream.node.videoWidth};streamRef.update(streamSize);};}window.addEventListener('resize',function(){if(sharedStream.node!=null){var _streamSize={height:sharedStream.node.videoHeight,width:sharedStream.node.videoWidth};streamRef.update(_streamSize);}});_cache2.default.streams.shared[sharedStream.uid]=sharedStream;DataSync.onDisconnect('_/rooms/'+roomId+'/streams/'+sharedStream.uid).remove();DataSync.onDisconnect('_/rooms/'+roomId+'/subscribers/'+sharedStream.uid).remove();var path='_/rooms/'+sharedStream.roomId+'/subscribers/'+sharedStream.uid,value=function value(snapData){return(0,_assign2.default)({device:snapData.name()},snapData.val()||{});};DataSync.on(path,'child_added',function(snapData){var subscriber=value(snapData);Log.d('Local~subscribed',subscriber);_cache2.default.peerConnections.offer(sharedStream,subscriber).then(function(pc){return sharedStream.peerConnections.push(pc);});},Log.e.bind(Log));DataSync.on(path,'child_removed',function(snapData){var subscriber=value(snapData);Log.d('Local~un-subscribed',subscriber);var closedPC=_cache2.default.peerConnections.close(sharedStream.uid,subscriber.device);sharedStream.peerConnections=sharedStream.peerConnections.filter(function(pc){return pc!==closedPC;});},Log.e.bind(Log));Log.d('Local~shared',{sharedStream:sharedStream});return sharedStream;});}},{key:'getLocalVideo',value:function getLocalVideo(roomId,type,container,constraints){if(!_cache2.default.user){return _promise2.default.reject(new Error('Only an authenticated user can share a stream.'));}var streamMetaData={from:_cache2.default.user.uid,device:_cache2.default.device,userAgent:_cache2.default.userAgent,type:type},sharedStream=new Local((0,_assign2.default)({roomId:roomId,constraints:constraints,container:container},streamMetaData));sharedStream.streamMetaData=streamMetaData;Log.d('Local~share',{sharedStream:sharedStream});return navigator.mediaDevices.getUserMedia(sharedStream.constraints).then(function(media){sharedStream.media=media;return sharedStream;});}},{key:'publish',value:function publish(sharedStream){Log.d('Local~publish');var roomId=sharedStream.roomId;return DataSync.push('_/rooms/'+roomId+'/streams',sharedStream.streamMetaData).then(function(streamRef){sharedStream.uid=streamRef.name();if(sharedStream.isVideoLoaded){var streamSize={height:sharedStream.node.videoHeight,width:sharedStream.node.videoWidth};streamRef.update(streamSize);}else{sharedStream.node.onloadeddata=function(){var streamSize={height:sharedStream.node.videoHeight,width:sharedStream.node.videoWidth};streamRef.update(streamSize);};}window.addEventListener('resize',function(){if(sharedStream.node!=null){var _streamSize2={height:sharedStream.node.videoHeight,width:sharedStream.node.videoWidth};streamRef.update(_streamSize2);}});_cache2.default.streams.shared[sharedStream.uid]=sharedStream;DataSync.onDisconnect('_/rooms/'+roomId+'/streams/'+sharedStream.uid).remove();DataSync.onDisconnect('_/rooms/'+roomId+'/subscribers/'+sharedStream.uid).remove();var path='_/rooms/'+sharedStream.roomId+'/subscribers/'+sharedStream.uid,value=function value(snapData){return(0,_assign2.default)({device:snapData.name()},snapData.val()||{});};DataSync.on(path,'child_added',function(snapData){var subscriber=value(snapData);Log.d('Local~subscribed',subscriber);_cache2.default.peerConnections.offer(sharedStream,subscriber).then(function(pc){return sharedStream.peerConnections.push(pc);});},Log.e.bind(Log));DataSync.on(path,'child_removed',function(snapData){var subscriber=value(snapData);Log.d('Local~un-subscribed',subscriber);var closedPC=_cache2.default.peerConnections.close(sharedStream.uid,subscriber.device);sharedStream.peerConnections=sharedStream.peerConnections.filter(function(pc){return pc!==closedPC;});},Log.e.bind(Log));Log.d('Local~shared',{sharedStream:sharedStream});return sharedStream;});}}]);return Local;}();exports.default=Local;"
    },
    {
      "id": 95,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/stream/StreamManager.js",
      "name": "./src/core/stream/StreamManager.js",
      "index": 132,
      "index2": 128,
      "size": 1036,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/cache.js",
      "issuerId": 6,
      "issuerName": "./src/core/util/cache.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 6,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/cache.js",
          "module": "./src/core/util/cache.js",
          "moduleName": "./src/core/util/cache.js",
          "type": "cjs require",
          "userRequest": "../stream/StreamManager",
          "loc": "1:393-427"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 2,
      "source": "'use strict';Object.defineProperty(exports,\"__esModule\",{value:true});var _classCallCheck2=require('babel-runtime/helpers/classCallCheck'),_classCallCheck3=_interopRequireDefault(_classCallCheck2),_createClass2=require('babel-runtime/helpers/createClass'),_createClass3=_interopRequireDefault(_createClass2),_Remote=require('./Remote'),_Remote2=_interopRequireDefault(_Remote);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var StreamManager=function(){function StreamManager(){(0,_classCallCheck3.default)(this,StreamManager);this.shared={};this.remote={};}(0,_createClass3.default)(StreamManager,[{key:'getRemote',value:function getRemote(streamData){var remoteStream=this.remote[streamData.uid];if(remoteStream){remoteStream.update(streamData);}else{this.remote[streamData.uid]=remoteStream=new _Remote2.default(streamData);}return remoteStream;}},{key:'getShared',value:function getShared(streamData){return this.shared[streamData.uid];}}]);return StreamManager;}();exports.default=StreamManager;"
    },
    {
      "id": 96,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/webrtc/PeerConnection.js",
      "name": "./src/core/webrtc/PeerConnection.js",
      "index": 135,
      "index2": 167,
      "size": 11338,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/webrtc/PeerConnectionManager.js",
      "issuerId": 97,
      "issuerName": "./src/core/webrtc/PeerConnectionManager.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 97,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/webrtc/PeerConnectionManager.js",
          "module": "./src/core/webrtc/PeerConnectionManager.js",
          "moduleName": "./src/core/webrtc/PeerConnectionManager.js",
          "type": "cjs require",
          "userRequest": "./PeerConnection",
          "loc": "1:417-444"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 3,
      "source": "'use strict';Object.defineProperty(exports,\"__esModule\",{value:true});var _promise=require('babel-runtime/core-js/promise'),_promise2=_interopRequireDefault(_promise),_getOwnPropertyDescriptor=require('babel-runtime/core-js/object/get-own-property-descriptor'),_getOwnPropertyDescriptor2=_interopRequireDefault(_getOwnPropertyDescriptor),_classCallCheck2=require('babel-runtime/helpers/classCallCheck'),_classCallCheck3=_interopRequireDefault(_classCallCheck2),_createClass2=require('babel-runtime/helpers/createClass'),_createClass3=_interopRequireDefault(_createClass2),_cache=require('../util/cache'),_cache2=_interopRequireDefault(_cache),_Log=require('../util/Log'),Log=_interopRequireWildcard(_Log),_Media=require('../util/Media'),_Media2=_interopRequireDefault(_Media),_Device=require('../Device'),_Device2=_interopRequireDefault(_Device),_DataSync=require('../util/DataSync'),DataSync=_interopRequireWildcard(_DataSync),_constants=require('../util/constants');require('core-js/fn/array/find');function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var DtlsSrtpKeyAgreement={DtlsSrtpKeyAgreement:true},sdpConstraints=function sdpConstraints(receive){return{OfferToReceiveAudio:receive,OfferToReceiveVideo:receive};},ICE_CONNECTION_STATE_DISCONNECTED='disconnected',ICE_CONNECTION_STATE_CONNECTED='connected',ICE_CONNECTION_STATE_COMPLETED='completed',ICE_CONNECTION_STATE_CHECKING='checking',ICE_CONNECTION_STATE_CLOSED='closed',ICE_CONNECTION_STATE_FAILED='failed',ICE_CONNECTION_STATE_OTHER='other',_toJSON=function _toJSON(o){return o.toJSON&&typeof o.toJSON==='function'?o.toJSON():o;};var PeerConnection=function(){function PeerConnection(stackId,streamId,remote,publish){var _this=this;(0,_classCallCheck3.default)(this,PeerConnection);this.stackId=stackId;this.streamId=streamId;this.remote=remote;this.publish=publish;this._localPath='_/webrtc/'+this.stackId+'/'+this.streamId+'/'+_cache2.default.device;this._remotePath='_/webrtc/'+this.stackId+'/'+this.streamId+'/'+this.remote.device;this.negotiated=false;this.node=null;this.container=null;this.pc=new RTCPeerConnection({iceServers:_cache2.default.config.iceServers},{optional:[DtlsSrtpKeyAgreement],mandatory:sdpConstraints(!publish)});this.pc.onicecandidate=function(e){if(!_this.negotiated&&e.candidate){Log.d('PeerConnection~onicecandidate',e.candidate);DataSync.push(_this._localPath+'/ice',_toJSON(e.candidate));}};this.pc.oniceconnectionstatechange=function(){Log.d('PeerConnection~oniceconnectionstatechange',_this.pc);var iceConnectionState=_this.pc.iceConnectionState;switch(iceConnectionState){case ICE_CONNECTION_STATE_CHECKING:break;case ICE_CONNECTION_STATE_CONNECTED:_this._attachStream();_this._remoteICECandidates(false);break;case ICE_CONNECTION_STATE_COMPLETED:_this._remoteICECandidates(false);break;case ICE_CONNECTION_STATE_DISCONNECTED:case ICE_CONNECTION_STATE_FAILED:Log.e('PeerConnection~stateDisconnected','Disconnect PeerConnection');break;case ICE_CONNECTION_STATE_CLOSED:Log.d('PeerConnection~stateclosed','Close PeerConnection');_this.close();break;}_this.negotiated=_this.negotiated||_this.isConnected;};this.pc.onicegatheringstatechange=function(){Log.d('PeerConnection~onicegatheringstatechange',_this.pc.iceGatheringState);};this._status=_constants.OPENED;}(0,_createClass3.default)(PeerConnection,[{key:'_remoteICECandidates',value:function _remoteICECandidates(listen){var _this2=this,path=this._remotePath+'/ice',event='child_added';if(listen){DataSync.on(path,event,function(snap){var candidate=snap.val();Log.d('PeerConnection~addIceCandidate',candidate);_this2.pc.addIceCandidate(new RTCIceCandidate(candidate));});}else{DataSync.off(path,event);}}},{key:'_attachStream',value:function _attachStream(){if(this.remoteStream&&this.isConnected){this.node=_Media2.default.attachStream(this.remoteStream,this.container,this.node);this.node.muted=false;}}},{key:'answer',value:function answer(htmlElement){var _this3=this;Log.i('PeerConnection~answer',{htmlElement:htmlElement,peerConnection:this});this.container=htmlElement;if((0,_getOwnPropertyDescriptor2.default)(RTCPeerConnection.prototype,'ontrack')){this.pc.ontrack=function(e){Log.d('PeerConnection~ontrack',e.streams[0]);_this3.remoteStream=e.streams[0];};}else{this.pc.onaddstream=function(e){Log.d('PeerConnection~onaddstream',e.stream);_this3.remoteStream=e.stream;};}DataSync.on(this._remotePath+'/sdp','value',function(snap){var sdpOffer=snap.val();if(sdpOffer!=null){_this3.pc.setRemoteDescription(sdpOffer).then(function(){return Log.d('PeerConnection~answer#remoteDescription',_this3.pc.remoteDescription.sdp);}).then(function(){if(/^offer$/.test(_this3.pc.remoteDescription.type)){return _this3.pc.createAnswer();}return _promise2.default.reject(new Error('SDP is not an offer'));}).then(function(description){return _this3._setPreferredCodecs(description);}).then(function(description){return _this3.pc.setLocalDescription(description);}).then(function(){Log.d('PeerConnection~answer#localSDP',_this3.pc.localDescription.sdp);_this3._remoteICECandidates(true);}).then(function(){return _this3._sendSdpToRemote();}).catch(Log.r('PeerConnection~answser#error'));}});return _promise2.default.resolve(this);}},{key:'offer',value:function offer(stream){var _this4=this;Log.i('PeerConnection~offer',{stream:stream,peerConnection:this});var sendTimeout=void 0;return new _promise2.default(function(resolve,reject){_this4.pc.onnegotiationneeded=function(){Log.d('PeerConnection~onnegotiationneeded');if(sendTimeout){clearTimeout(sendTimeout);sendTimeout=null;}sendTimeout=setTimeout(function(){sendTimeout=null;_this4._sendOffer().then(function(){resolve(_this4);}).catch(function(e){Log.d('PeerConnection~offer',e);reject(e);});},20);};DataSync.on(_this4._remotePath+'/sdp','value',function(snap){var sdpAnswer=snap.val();if(sdpAnswer!=null){_this4.pc.setRemoteDescription(sdpAnswer).then(function(){Log.d('PeerConnection~offer#remoteDescription',_this4.pc.remoteDescription.sdp);_this4._remoteICECandidates(true);}).catch(Log.e.bind(Log,'PeerConnection~offer#remoteDescription'));}});_this4._alterStream(stream,'add');});}},{key:'_sendSdpToRemote',value:function _sendSdpToRemote(){var _this5=this,remoteUserId=this.remote.to?this.remote.to:this.remote.from;_Device2.default.get(remoteUserId,this.remote.device).then(function(remoteDevice){var sdpOffer=_this5.pc.localDescription.sdp,newSdp=sdpOffer;if(navigator.userAgent.indexOf('Chrome')!==-1&&navigator.userAgent.indexOf('Android')!==-1&&remoteDevice.userAgent.indexOf('Safari')!==-1){newSdp=newSdp.replace('42001f','42e01f');}if(navigator.userAgent.indexOf('Safari')!==-1&&remoteDevice.userAgent.indexOf('Chrome')!==-1&&remoteDevice.userAgent.indexOf('Android')!==-1){newSdp=newSdp.replace('42e01f','42001f');}Log.d('PeerConnection~_sendSdpToRemote#SDP sent to remote',newSdp);var descriptionChanged={sdp:newSdp,type:_this5.pc.localDescription.type};DataSync.update(_this5._localPath+'/sdp',_toJSON(descriptionChanged));});}},{key:'_sendOffer',value:function _sendOffer(){var _this6=this;Log.d('PeerConnection~_sendOffer');return this.pc.createOffer().then(function(description){return _this6._setPreferredCodecs(description);}).then(function(description){return _this6.pc.setLocalDescription(description);}).then(function(){return Log.d('PeerConnection~_sendOffer#localDescription',_this6.pc.localDescription.sdp);}).then(function(){return _this6._sendSdpToRemote();});}},{key:'_alterStream',value:function _alterStream(stream,method){var _this7=this;if((0,_getOwnPropertyDescriptor2.default)(RTCPeerConnection.prototype,method+'Track')){if(method==='add'){stream.getTracks().forEach(function(track){return _this7.pc[method+'Track'](track,stream);},this);}else{this.pc.getSenders().forEach(function(sender){return _this7.pc[method+'Track'](sender);},this);}}else{this.pc[method+'Stream'](stream);}}},{key:'renegotiate',value:function renegotiate(oldStream,newStream){Log.d('PeerConnection~renegotiate');if((0,_getOwnPropertyDescriptor2.default)(RTCPeerConnection.prototype,'getSenders')&&'RTCRtpSender'in window&&(0,_getOwnPropertyDescriptor2.default)(RTCRtpSender.prototype,'replaceTrack')){this.pc.getSenders().forEach(function(sender){var newTracks=void 0;switch(sender.track.kind){case'audio':newTracks=newStream.getAudioTracks();break;case'video':newTracks=newStream.getVideoTracks();break;default:newTracks=[];}if(newTracks.length){sender.replaceTrack(newTracks[0]);}});this._sendOffer().catch(function(e){Log.d('PeerConnection~renegotiate',e);});}else{this._alterStream(oldStream,'remove');this._alterStream(newStream,'add');}}},{key:'close',value:function close(){var _this8=this;if(this._status===_constants.OPENED){this._status=_constants.CLOSING;if(this.node){this.node.stop&&this.node.stop();this.node.srcObject=null;this.container.removeChild(this.node);this.node=null;}this._remoteICECandidates(false);DataSync.off(this._remotePath+'/sdp','value');DataSync.remove(this._localPath);if(this.pc&&this.pc.signalingState!=='closed'){this.pc.onsignalingstatechange=function(){if(_this8.pc.signalingState!=='closed'){_this8._status=_constants.CLOSED;}};this.pc.close();}else{this._status=_constants.CLOSED;}}}},{key:'_setPreferredCodecs',value:function _setPreferredCodecs(description){if(_cache2.default.config.preferredVideoCodec||_cache2.default.config.preferredAudioCodec){Log.d('PeerConnection~_setPreferredCodecs',{description:description,config:_cache2.default.config});var sdpLines=description.sdp.split(/\\r?\\n/),medias={audio:[],video:[]},current=null;sdpLines.forEach(function(sdpLine,i){if(/^m=/.test(sdpLine)){var d=/^m=(\\w+)\\s[0-9\\/]+\\s[A-Za-z0-9\\/]+\\s([0-9\\s]+)/.exec(sdpLine);current={fmt:d[2].split(/\\s/),index:i,codecs:[]};medias[d[1]].push(current);}else if(current&&/^a=rtpmap:/.test(sdpLine)){var c=/^a=rtpmap:(\\d+)\\s([a-zA-Z0-9\\-\\/]+)/.exec(sdpLine);if(c){current.codecs.push({id:c[1],name:c[2],index:i});}}});Log.d('PeerConnection~_setPreferredCodecs',medias);var update=false,prefer=function prefer(mediaList,preferedCodec){mediaList.forEach(function(media){var selected=media.codecs.find(function(codec){return preferedCodec.test(codec.name);});if(selected){var fmt=[selected.id].concat(media.fmt.filter(function(ids){return ids!==selected.id;}));sdpLines[media.index]=sdpLines[media.index].replace(media.fmt.join(' '),fmt.join(' '));update=true;}});};if(_cache2.default.config.preferredVideoCodec){prefer(medias.video,_cache2.default.config.preferredVideoCodec);}if(_cache2.default.config.preferredAudioCodec){prefer(medias.audio,_cache2.default.config.preferredAudioCodec);}if(update){Log.d('PeerConnection~_setPreferredCodecs',sdpLines.join('\\r\\n'));return{sdp:sdpLines.join('\\r\\n'),type:description.type};}}return description;}},{key:'remoteStream',set:function set(stream){this._remoteStream=stream;this._attachStream();},get:function get(){return this._remoteStream;}},{key:'isConnected',get:function get(){return this.pc&&!!~[ICE_CONNECTION_STATE_CONNECTED,ICE_CONNECTION_STATE_COMPLETED,ICE_CONNECTION_STATE_OTHER].indexOf(this.pc.iceConnectionState);}}]);return PeerConnection;}();exports.default=PeerConnection;"
    },
    {
      "id": 97,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/webrtc/PeerConnectionManager.js",
      "name": "./src/core/webrtc/PeerConnectionManager.js",
      "index": 134,
      "index2": 168,
      "size": 3151,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/cache.js",
      "issuerId": 6,
      "issuerName": "./src/core/util/cache.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 6,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/cache.js",
          "module": "./src/core/util/cache.js",
          "moduleName": "./src/core/util/cache.js",
          "type": "cjs require",
          "userRequest": "../webrtc/PeerConnectionManager",
          "loc": "1:506-548"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 2,
      "source": "'use strict';Object.defineProperty(exports,\"__esModule\",{value:true});var _promise=require('babel-runtime/core-js/promise'),_promise2=_interopRequireDefault(_promise),_classCallCheck2=require('babel-runtime/helpers/classCallCheck'),_classCallCheck3=_interopRequireDefault(_classCallCheck2),_createClass2=require('babel-runtime/helpers/createClass'),_createClass3=_interopRequireDefault(_createClass2),_PeerConnection=require('./PeerConnection'),_PeerConnection2=_interopRequireDefault(_PeerConnection),_cache=require('../util/cache'),_cache2=_interopRequireDefault(_cache),_Log=require('../util/Log'),Log=_interopRequireWildcard(_Log),_DataSync=require('../util/DataSync'),DataSync=_interopRequireWildcard(_DataSync);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var getStackId=function getStackId(id1,id2){return id1.localeCompare(id2,'en-us')>0?id1+'-'+id2:id2+'-'+id1;};var PeerConnectionManager=function(){function PeerConnectionManager(){(0,_classCallCheck3.default)(this,PeerConnectionManager);this.stacks={};}(0,_createClass3.default)(PeerConnectionManager,[{key:'getPeerConnection',value:function getPeerConnection(stream,remote,publish){var _this=this;if(!_cache2.default.user){return _promise2.default.reject(new Error('Only an authenticated user can get a PeerConnection\\'s object.'));}var stackId=getStackId(remote.device,_cache2.default.device);if(this.stacks[stackId]&&this.stacks[stackId][stream.uid]){return _promise2.default.resolve(this.stacks[stackId][stream.uid]);}if(!this.stacks[stackId]){this.stacks[stackId]={};}var users={};users[_cache2.default.user.uid]=true;users[remote.from||remote.to]=true;return DataSync.update('_/webrtc/'+stackId,users).then(function(){return new _PeerConnection2.default(stackId,stream.uid,remote,publish);}).then(function(pc){Log.d('PeerConnectionManager~getPeerConnection',{stackId:stackId,streamId:stream.uid,pc:pc});_this.stacks[stackId][stream.uid]=pc;return pc;}).catch(Log.r('PeerConnectionManager~getPeerConnection'));}},{key:'offer',value:function offer(localStream,subscriber){Log.d('PeerConnectionManager~offer',{localStream:localStream,subscriber:subscriber});return this.getPeerConnection(localStream,subscriber,true).then(function(pc){return pc.offer(localStream.media);});}},{key:'answer',value:function answer(remoteStream,htmlElement){Log.d('PeerConnectionManager~answer',{remoteStream:remoteStream,htmlElement:htmlElement});return this.getPeerConnection(remoteStream,remoteStream,false).then(function(pc){return pc.answer(htmlElement);});}},{key:'close',value:function close(streamId,remoteDevice){var stackId=getStackId(remoteDevice,_cache2.default.device),pc=this.stacks[stackId]?this.stacks[stackId][streamId]:null;if(pc){pc.close();this.stacks[stackId][streamId]=null;delete this.stacks[stackId][streamId];return pc;}return false;}}]);return PeerConnectionManager;}();exports.default=PeerConnectionManager;"
    },
    {
      "id": 98,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/array/from.js",
      "name": "./~/babel-runtime/core-js/array/from.js",
      "index": 82,
      "index2": 82,
      "size": 91,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/helpers/toConsumableArray.js",
      "issuerId": 63,
      "issuerName": "./~/babel-runtime/helpers/toConsumableArray.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 63,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/helpers/toConsumableArray.js",
          "module": "./~/babel-runtime/helpers/toConsumableArray.js",
          "moduleName": "./~/babel-runtime/helpers/toConsumableArray.js",
          "type": "cjs require",
          "userRequest": "../core-js/array/from",
          "loc": "5:12-44"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 3,
      "source": "module.exports = { \"default\": require(\"core-js/library/fn/array/from\"), __esModule: true };"
    },
    {
      "id": 99,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/json/stringify.js",
      "name": "./~/babel-runtime/core-js/json/stringify.js",
      "index": 108,
      "index2": 107,
      "size": 95,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/Events.js",
      "issuerId": 30,
      "issuerName": "./src/definitions/Events.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 30,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/Events.js",
          "module": "./src/definitions/Events.js",
          "moduleName": "./src/definitions/Events.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/json/stringify",
          "loc": "1:240-287"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 2,
      "source": "module.exports = { \"default\": require(\"core-js/library/fn/json/stringify\"), __esModule: true };"
    },
    {
      "id": 100,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/object/define-property.js",
      "name": "./~/babel-runtime/core-js/object/define-property.js",
      "index": 77,
      "index2": 77,
      "size": 103,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/helpers/createClass.js",
      "issuerId": 1,
      "issuerName": "./~/babel-runtime/helpers/createClass.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 1,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/helpers/createClass.js",
          "module": "./~/babel-runtime/helpers/createClass.js",
          "moduleName": "./~/babel-runtime/helpers/createClass.js",
          "type": "cjs require",
          "userRequest": "../core-js/object/define-property",
          "loc": "5:22-66"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 2,
      "source": "module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };"
    },
    {
      "id": 101,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/object/get-own-property-descriptor.js",
      "name": "./~/babel-runtime/core-js/object/get-own-property-descriptor.js",
      "index": 136,
      "index2": 131,
      "size": 115,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/webrtc/PeerConnection.js",
      "issuerId": 96,
      "issuerName": "./src/core/webrtc/PeerConnection.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 96,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/webrtc/PeerConnection.js",
          "module": "./src/core/webrtc/PeerConnection.js",
          "moduleName": "./src/core/webrtc/PeerConnection.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/core-js/object/get-own-property-descriptor",
          "loc": "1:193-260"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "module.exports = { \"default\": require(\"core-js/library/fn/object/get-own-property-descriptor\"), __esModule: true };"
    },
    {
      "id": 102,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/symbol.js",
      "name": "./~/babel-runtime/core-js/symbol.js",
      "index": 120,
      "index2": 122,
      "size": 87,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/helpers/typeof.js",
      "issuerId": 104,
      "issuerName": "./~/babel-runtime/helpers/typeof.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 104,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/helpers/typeof.js",
          "module": "./~/babel-runtime/helpers/typeof.js",
          "moduleName": "./~/babel-runtime/helpers/typeof.js",
          "type": "cjs require",
          "userRequest": "../core-js/symbol",
          "loc": "9:14-42"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 3,
      "source": "module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };"
    },
    {
      "id": 103,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/symbol/iterator.js",
      "name": "./~/babel-runtime/core-js/symbol/iterator.js",
      "index": 117,
      "index2": 110,
      "size": 96,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/helpers/typeof.js",
      "issuerId": 104,
      "issuerName": "./~/babel-runtime/helpers/typeof.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 104,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/helpers/typeof.js",
          "module": "./~/babel-runtime/helpers/typeof.js",
          "moduleName": "./~/babel-runtime/helpers/typeof.js",
          "type": "cjs require",
          "userRequest": "../core-js/symbol/iterator",
          "loc": "5:16-53"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 3,
      "source": "module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };"
    },
    {
      "id": 104,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/helpers/typeof.js",
      "name": "./~/babel-runtime/helpers/typeof.js",
      "index": 116,
      "index2": 123,
      "size": 1069,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/Log.js",
      "issuerId": 5,
      "issuerName": "./src/core/util/Log.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 5,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/util/Log.js",
          "module": "./src/core/util/Log.js",
          "moduleName": "./src/core/util/Log.js",
          "type": "cjs require",
          "userRequest": "babel-runtime/helpers/typeof",
          "loc": "1:236-275"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 2,
      "source": "\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};"
    },
    {
      "id": 105,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/array/from.js",
      "name": "./~/babel-runtime/~/core-js/library/fn/array/from.js",
      "index": 83,
      "index2": 81,
      "size": 147,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/array/from.js",
      "issuerId": 98,
      "issuerName": "./~/babel-runtime/core-js/array/from.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 98,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/array/from.js",
          "module": "./~/babel-runtime/core-js/array/from.js",
          "moduleName": "./~/babel-runtime/core-js/array/from.js",
          "type": "cjs require",
          "userRequest": "core-js/library/fn/array/from",
          "loc": "1:30-70"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "require('../../modules/es6.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n"
    },
    {
      "id": 106,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/json/stringify.js",
      "name": "./~/babel-runtime/~/core-js/library/fn/json/stringify.js",
      "index": 109,
      "index2": 106,
      "size": 246,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/json/stringify.js",
      "issuerId": 99,
      "issuerName": "./~/babel-runtime/core-js/json/stringify.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 99,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/json/stringify.js",
          "module": "./~/babel-runtime/core-js/json/stringify.js",
          "moduleName": "./~/babel-runtime/core-js/json/stringify.js",
          "type": "cjs require",
          "userRequest": "core-js/library/fn/json/stringify",
          "loc": "1:30-74"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 3,
      "source": "var core = require('../../modules/_core');\nvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\nmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n  return $JSON.stringify.apply($JSON, arguments);\n};\n"
    },
    {
      "id": 107,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/object/assign.js",
      "name": "./~/babel-runtime/~/core-js/library/fn/object/assign.js",
      "index": 87,
      "index2": 88,
      "size": 107,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/object/assign.js",
      "issuerId": 9,
      "issuerName": "./~/babel-runtime/core-js/object/assign.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 9,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/object/assign.js",
          "module": "./~/babel-runtime/core-js/object/assign.js",
          "moduleName": "./~/babel-runtime/core-js/object/assign.js",
          "type": "cjs require",
          "userRequest": "core-js/library/fn/object/assign",
          "loc": "1:30-73"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 3,
      "source": "require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n"
    },
    {
      "id": 108,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/object/define-property.js",
      "name": "./~/babel-runtime/~/core-js/library/fn/object/define-property.js",
      "index": 78,
      "index2": 76,
      "size": 215,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/object/define-property.js",
      "issuerId": 100,
      "issuerName": "./~/babel-runtime/core-js/object/define-property.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 100,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/object/define-property.js",
          "module": "./~/babel-runtime/core-js/object/define-property.js",
          "moduleName": "./~/babel-runtime/core-js/object/define-property.js",
          "type": "cjs require",
          "userRequest": "core-js/library/fn/object/define-property",
          "loc": "1:30-82"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 3,
      "source": "require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n"
    },
    {
      "id": 109,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/object/get-own-property-descriptor.js",
      "name": "./~/babel-runtime/~/core-js/library/fn/object/get-own-property-descriptor.js",
      "index": 137,
      "index2": 130,
      "size": 235,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/object/get-own-property-descriptor.js",
      "issuerId": 101,
      "issuerName": "./~/babel-runtime/core-js/object/get-own-property-descriptor.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 101,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/object/get-own-property-descriptor.js",
          "module": "./~/babel-runtime/core-js/object/get-own-property-descriptor.js",
          "moduleName": "./~/babel-runtime/core-js/object/get-own-property-descriptor.js",
          "type": "cjs require",
          "userRequest": "core-js/library/fn/object/get-own-property-descriptor",
          "loc": "1:30-94"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "require('../../modules/es6.object.get-own-property-descriptor');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function getOwnPropertyDescriptor(it, key) {\n  return $Object.getOwnPropertyDescriptor(it, key);\n};\n"
    },
    {
      "id": 110,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/object/keys.js",
      "name": "./~/babel-runtime/~/core-js/library/fn/object/keys.js",
      "index": 2,
      "index2": 33,
      "size": 103,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/object/keys.js",
      "issuerId": 14,
      "issuerName": "./~/babel-runtime/core-js/object/keys.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 14,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/object/keys.js",
          "module": "./~/babel-runtime/core-js/object/keys.js",
          "moduleName": "./~/babel-runtime/core-js/object/keys.js",
          "type": "cjs require",
          "userRequest": "core-js/library/fn/object/keys",
          "loc": "1:30-71"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 2,
      "source": "require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n"
    },
    {
      "id": 111,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/promise.js",
      "name": "./~/babel-runtime/~/core-js/library/fn/promise.js",
      "index": 37,
      "index2": 72,
      "size": 298,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/promise.js",
      "issuerId": 8,
      "issuerName": "./~/babel-runtime/core-js/promise.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 8,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/promise.js",
          "module": "./~/babel-runtime/core-js/promise.js",
          "moduleName": "./~/babel-runtime/core-js/promise.js",
          "type": "cjs require",
          "userRequest": "core-js/library/fn/promise",
          "loc": "1:30-67"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 2,
      "source": "require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nrequire('../modules/es7.promise.finally');\nrequire('../modules/es7.promise.try');\nmodule.exports = require('../modules/_core').Promise;\n"
    },
    {
      "id": 112,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/index.js",
      "name": "./~/babel-runtime/~/core-js/library/fn/symbol/index.js",
      "index": 121,
      "index2": 121,
      "size": 240,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/symbol.js",
      "issuerId": 102,
      "issuerName": "./~/babel-runtime/core-js/symbol.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 102,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/symbol.js",
          "module": "./~/babel-runtime/core-js/symbol.js",
          "moduleName": "./~/babel-runtime/core-js/symbol.js",
          "type": "cjs require",
          "userRequest": "core-js/library/fn/symbol",
          "loc": "1:30-66"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n"
    },
    {
      "id": 113,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/iterator.js",
      "name": "./~/babel-runtime/~/core-js/library/fn/symbol/iterator.js",
      "index": 118,
      "index2": 109,
      "size": 155,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/symbol/iterator.js",
      "issuerId": 103,
      "issuerName": "./~/babel-runtime/core-js/symbol/iterator.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 103,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/core-js/symbol/iterator.js",
          "module": "./~/babel-runtime/core-js/symbol/iterator.js",
          "moduleName": "./~/babel-runtime/core-js/symbol/iterator.js",
          "type": "cjs require",
          "userRequest": "core-js/library/fn/symbol/iterator",
          "loc": "1:30-75"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n"
    },
    {
      "id": 114,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_add-to-unscopables.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_add-to-unscopables.js",
      "index": 54,
      "index2": 49,
      "size": 46,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.iterator.js",
      "issuerId": 135,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.array.iterator.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 135,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.iterator.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.array.iterator.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.array.iterator.js",
          "type": "cjs require",
          "userRequest": "./_add-to-unscopables",
          "loc": "2:23-55"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "module.exports = function () { /* empty */ };\n"
    },
    {
      "id": 115,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_an-instance.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_an-instance.js",
      "index": 58,
      "index2": 54,
      "size": 237,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
      "issuerId": 140,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 140,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "type": "cjs require",
          "userRequest": "./_an-instance",
          "loc": "9:17-42"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "module.exports = function (it, Constructor, name, forbiddenField) {\n  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n    throw TypeError(name + ': incorrect invocation!');\n  } return it;\n};\n"
    },
    {
      "id": 116,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_array-includes.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_array-includes.js",
      "index": 12,
      "index2": 9,
      "size": 924,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js",
      "issuerId": 75,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/_object-keys-internal.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 75,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-keys-internal.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-keys-internal.js",
          "type": "cjs require",
          "userRequest": "./_array-includes",
          "loc": "3:19-47"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 6,
      "source": "// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n"
    },
    {
      "id": 117,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_create-property.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_create-property.js",
      "index": 85,
      "index2": 79,
      "size": 271,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.from.js",
      "issuerId": 134,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.array.from.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 134,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.from.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.array.from.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.array.from.js",
          "type": "cjs require",
          "userRequest": "./_create-property",
          "loc": "8:21-50"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 6,
      "source": "'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n  if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n  else object[index] = value;\n};\n"
    },
    {
      "id": 118,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-keys.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_enum-keys.js",
      "index": 125,
      "index2": 113,
      "size": 469,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
      "issuerId": 141,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_enum-keys",
          "loc": "16:15-38"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 6,
      "source": "// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n"
    },
    {
      "id": 119,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_for-of.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_for-of.js",
      "index": 59,
      "index2": 58,
      "size": 1176,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
      "issuerId": 140,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 140,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "type": "cjs require",
          "userRequest": "./_for-of",
          "loc": "10:12-32"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n  var f = ctx(fn, that, entries ? 2 : 1);\n  var index = 0;\n  var length, step, iterator, result;\n  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n  // fast case for arrays with default iterator\n  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n    if (result === BREAK || result === RETURN) return result;\n  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n    result = call(iterator, f, step.value, entries);\n    if (result === BREAK || result === RETURN) return result;\n  }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n"
    },
    {
      "id": 120,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_invoke.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_invoke.js",
      "index": 65,
      "index2": 60,
      "size": 701,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_task.js",
      "issuerId": 81,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/_task.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 81,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_task.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_task.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_task.js",
          "type": "cjs require",
          "userRequest": "./_invoke",
          "loc": "2:13-33"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n  var un = that === undefined;\n  switch (args.length) {\n    case 0: return un ? fn()\n                      : fn.call(that);\n    case 1: return un ? fn(args[0])\n                      : fn.call(that, args[0]);\n    case 2: return un ? fn(args[0], args[1])\n                      : fn.call(that, args[0], args[1]);\n    case 3: return un ? fn(args[0], args[1], args[2])\n                      : fn.call(that, args[0], args[1], args[2]);\n    case 4: return un ? fn(args[0], args[1], args[2], args[3])\n                      : fn.call(that, args[0], args[1], args[2], args[3]);\n  } return fn.apply(that, args);\n};\n"
    },
    {
      "id": 121,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_is-array.js",
      "index": 126,
      "index2": 114,
      "size": 147,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
      "issuerId": 141,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_is-array",
          "loc": "17:14-36"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 6,
      "source": "// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n"
    },
    {
      "id": 122,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-create.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_iter-create.js",
      "index": 45,
      "index2": 45,
      "size": 526,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js",
      "issuerId": 70,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/_iter-define.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 70,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_iter-define.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_iter-define.js",
          "type": "cjs require",
          "userRequest": "./_iter-create",
          "loc": "8:18-43"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n"
    },
    {
      "id": 123,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-step.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_iter-step.js",
      "index": 55,
      "index2": 50,
      "size": 86,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.iterator.js",
      "issuerId": 135,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.array.iterator.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 135,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.iterator.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.array.iterator.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.array.iterator.js",
          "type": "cjs require",
          "userRequest": "./_iter-step",
          "loc": "3:11-34"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "module.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n"
    },
    {
      "id": 124,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_meta.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_meta.js",
      "index": 123,
      "index2": 111,
      "size": 1558,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
      "issuerId": 141,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_meta",
          "loc": "8:11-29"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 6,
      "source": "var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n"
    },
    {
      "id": 125,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_microtask.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_microtask.js",
      "index": 66,
      "index2": 62,
      "size": 1900,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
      "issuerId": 140,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 140,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "type": "cjs require",
          "userRequest": "./_microtask",
          "loc": "13:16-39"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n  var head, last, notify;\n\n  var flush = function () {\n    var parent, fn;\n    if (isNode && (parent = process.domain)) parent.exit();\n    while (head) {\n      fn = head.fn;\n      head = head.next;\n      try {\n        fn();\n      } catch (e) {\n        if (head) notify();\n        else last = undefined;\n        throw e;\n      }\n    } last = undefined;\n    if (parent) parent.enter();\n  };\n\n  // Node.js\n  if (isNode) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n  } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n    var toggle = true;\n    var node = document.createTextNode('');\n    new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n    notify = function () {\n      node.data = toggle = !toggle;\n    };\n  // environments with maybe non-completely correct, but existent Promise\n  } else if (Promise && Promise.resolve) {\n    var promise = Promise.resolve();\n    notify = function () {\n      promise.then(flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessag\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    notify = function () {\n      // strange IE + webpack dev server bug - use .call(global)\n      macrotask.call(global, flush);\n    };\n  }\n\n  return function (fn) {\n    var task = { fn: fn, next: undefined };\n    if (last) last.next = task;\n    if (!head) {\n      head = task;\n      notify();\n    } last = task;\n  };\n};\n"
    },
    {
      "id": 126,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_object-assign.js",
      "index": 89,
      "index2": 86,
      "size": 1195,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.assign.js",
      "issuerId": 136,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.object.assign.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 136,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.assign.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.object.assign.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.object.assign.js",
          "type": "cjs require",
          "userRequest": "./_object-assign",
          "loc": "4:51-78"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n  } return T;\n} : $assign;\n"
    },
    {
      "id": 127,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dps.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_object-dps.js",
      "index": 47,
      "index2": 40,
      "size": 404,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js",
      "issuerId": 72,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/_object-create.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 72,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_object-create.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_object-create.js",
          "type": "cjs require",
          "userRequest": "./_object-dps",
          "loc": "3:10-34"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 7,
      "source": "var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n"
    },
    {
      "id": 128,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn-ext.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_object-gopn-ext.js",
      "index": 127,
      "index2": 116,
      "size": 604,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
      "issuerId": 141,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 141,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
          "type": "cjs require",
          "userRequest": "./_object-gopn-ext",
          "loc": "24:14-43"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 6,
      "source": "// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n"
    },
    {
      "id": 129,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gpo.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_object-gpo.js",
      "index": 51,
      "index2": 46,
      "size": 493,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js",
      "issuerId": 70,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/_iter-define.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 70,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_iter-define.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_iter-define.js",
          "type": "cjs require",
          "userRequest": "./_object-gpo",
          "loc": "10:21-45"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n"
    },
    {
      "id": 130,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_redefine-all.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_redefine-all.js",
      "index": 70,
      "index2": 66,
      "size": 217,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
      "issuerId": 140,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 140,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "type": "cjs require",
          "userRequest": "./_redefine-all",
          "loc": "179:23-49"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "var hide = require('./_hide');\nmodule.exports = function (target, src, safe) {\n  for (var key in src) {\n    if (safe && target[key]) target[key] = src[key];\n    else hide(target, key, src[key]);\n  } return target;\n};\n"
    },
    {
      "id": 131,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_set-species.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_set-species.js",
      "index": 71,
      "index2": 67,
      "size": 435,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
      "issuerId": 140,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 140,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
          "type": "cjs require",
          "userRequest": "./_set-species",
          "loc": "211:0-25"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "'use strict';\nvar global = require('./_global');\nvar core = require('./_core');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n    configurable: true,\n    get: function () { return this; }\n  });\n};\n"
    },
    {
      "id": 132,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_string-at.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_string-at.js",
      "index": 40,
      "index2": 36,
      "size": 620,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.string.iterator.js",
      "issuerId": 52,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/es6.string.iterator.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 52,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.string.iterator.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/es6.string.iterator.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/es6.string.iterator.js",
          "type": "cjs require",
          "userRequest": "./_string-at",
          "loc": "2:10-33"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n"
    },
    {
      "id": 133,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_to-absolute-index.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/_to-absolute-index.js",
      "index": 15,
      "index2": 8,
      "size": 223,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_array-includes.js",
      "issuerId": 116,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/_array-includes.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 116,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/_array-includes.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/_array-includes.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/_array-includes.js",
          "type": "cjs require",
          "userRequest": "./_to-absolute-index",
          "loc": "5:22-53"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 7,
      "source": "var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n"
    },
    {
      "id": 134,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.from.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/es6.array.from.js",
      "index": 84,
      "index2": 80,
      "size": 1635,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/array/from.js",
      "issuerId": 105,
      "issuerName": "./~/babel-runtime/~/core-js/library/fn/array/from.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 105,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/array/from.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/array/from.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/array/from.js",
          "type": "cjs require",
          "userRequest": "../../modules/es6.array.from",
          "loc": "2:0-39"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n    var O = toObject(arrayLike);\n    var C = typeof this == 'function' ? this : Array;\n    var aLen = arguments.length;\n    var mapfn = aLen > 1 ? arguments[1] : undefined;\n    var mapping = mapfn !== undefined;\n    var index = 0;\n    var iterFn = getIterFn(O);\n    var length, result, step, iterator;\n    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n    // if object isn't iterable or it's array with default iterator - use simple case\n    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n      }\n    } else {\n      length = toLength(O.length);\n      for (result = new C(length); length > index; index++) {\n        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n      }\n    }\n    result.length = index;\n    return result;\n  }\n});\n"
    },
    {
      "id": 135,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.iterator.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/es6.array.iterator.js",
      "index": 53,
      "index2": 51,
      "size": 1116,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js",
      "issuerId": 84,
      "issuerName": "./~/babel-runtime/~/core-js/library/modules/web.dom.iterable.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 84,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js",
          "module": "./~/babel-runtime/~/core-js/library/modules/web.dom.iterable.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/modules/web.dom.iterable.js",
          "type": "cjs require",
          "userRequest": "./es6.array.iterator",
          "loc": "1:0-31"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n"
    },
    {
      "id": 136,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.assign.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/es6.object.assign.js",
      "index": 88,
      "index2": 87,
      "size": 162,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/object/assign.js",
      "issuerId": 107,
      "issuerName": "./~/babel-runtime/~/core-js/library/fn/object/assign.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 107,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/object/assign.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/object/assign.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/object/assign.js",
          "type": "cjs require",
          "userRequest": "../../modules/es6.object.assign",
          "loc": "1:0-42"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n"
    },
    {
      "id": 137,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.define-property.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/es6.object.define-property.js",
      "index": 79,
      "index2": 75,
      "size": 217,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/object/define-property.js",
      "issuerId": 108,
      "issuerName": "./~/babel-runtime/~/core-js/library/fn/object/define-property.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 108,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/object/define-property.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/object/define-property.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/object/define-property.js",
          "type": "cjs require",
          "userRequest": "../../modules/es6.object.define-property",
          "loc": "1:0-51"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n"
    },
    {
      "id": 138,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/es6.object.get-own-property-descriptor.js",
      "index": 138,
      "index2": 129,
      "size": 342,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/object/get-own-property-descriptor.js",
      "issuerId": 109,
      "issuerName": "./~/babel-runtime/~/core-js/library/fn/object/get-own-property-descriptor.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 109,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/object/get-own-property-descriptor.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/object/get-own-property-descriptor.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/object/get-own-property-descriptor.js",
          "type": "cjs require",
          "userRequest": "../../modules/es6.object.get-own-property-descriptor",
          "loc": "1:0-63"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 6,
      "source": "// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n  return function getOwnPropertyDescriptor(it, key) {\n    return $getOwnPropertyDescriptor(toIObject(it), key);\n  };\n});\n"
    },
    {
      "id": 139,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.keys.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/es6.object.keys.js",
      "index": 3,
      "index2": 32,
      "size": 225,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/object/keys.js",
      "issuerId": 110,
      "issuerName": "./~/babel-runtime/~/core-js/library/fn/object/keys.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 110,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/object/keys.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/object/keys.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/object/keys.js",
          "type": "cjs require",
          "userRequest": "../../modules/es6.object.keys",
          "loc": "1:0-40"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 3,
      "source": "// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n"
    },
    {
      "id": 140,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/es6.promise.js",
      "index": 56,
      "index2": 69,
      "size": 9255,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/promise.js",
      "issuerId": 111,
      "issuerName": "./~/babel-runtime/~/core-js/library/fn/promise.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 111,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/promise.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/promise.js",
          "type": "cjs require",
          "userRequest": "../modules/es6.promise",
          "loc": "4:0-33"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 3,
      "source": "'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n  try {\n    // correct subclassing with @@species support\n    var promise = $Promise.resolve(1);\n    var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n      exec(empty, empty);\n    };\n    // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n    return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n  } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n  var then;\n  return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n  if (promise._n) return;\n  promise._n = true;\n  var chain = promise._c;\n  microtask(function () {\n    var value = promise._v;\n    var ok = promise._s == 1;\n    var i = 0;\n    var run = function (reaction) {\n      var handler = ok ? reaction.ok : reaction.fail;\n      var resolve = reaction.resolve;\n      var reject = reaction.reject;\n      var domain = reaction.domain;\n      var result, then;\n      try {\n        if (handler) {\n          if (!ok) {\n            if (promise._h == 2) onHandleUnhandled(promise);\n            promise._h = 1;\n          }\n          if (handler === true) result = value;\n          else {\n            if (domain) domain.enter();\n            result = handler(value);\n            if (domain) domain.exit();\n          }\n          if (result === reaction.promise) {\n            reject(TypeError('Promise-chain cycle'));\n          } else if (then = isThenable(result)) {\n            then.call(result, resolve, reject);\n          } else resolve(result);\n        } else reject(value);\n      } catch (e) {\n        reject(e);\n      }\n    };\n    while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n    promise._c = [];\n    promise._n = false;\n    if (isReject && !promise._h) onUnhandled(promise);\n  });\n};\nvar onUnhandled = function (promise) {\n  task.call(global, function () {\n    var value = promise._v;\n    var unhandled = isUnhandled(promise);\n    var result, handler, console;\n    if (unhandled) {\n      result = perform(function () {\n        if (isNode) {\n          process.emit('unhandledRejection', value, promise);\n        } else if (handler = global.onunhandledrejection) {\n          handler({ promise: promise, reason: value });\n        } else if ((console = global.console) && console.error) {\n          console.error('Unhandled promise rejection', value);\n        }\n      });\n      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n      promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n    } promise._a = undefined;\n    if (unhandled && result.e) throw result.v;\n  });\n};\nvar isUnhandled = function (promise) {\n  return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n  task.call(global, function () {\n    var handler;\n    if (isNode) {\n      process.emit('rejectionHandled', promise);\n    } else if (handler = global.onrejectionhandled) {\n      handler({ promise: promise, reason: promise._v });\n    }\n  });\n};\nvar $reject = function (value) {\n  var promise = this;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  promise._v = value;\n  promise._s = 2;\n  if (!promise._a) promise._a = promise._c.slice();\n  notify(promise, true);\n};\nvar $resolve = function (value) {\n  var promise = this;\n  var then;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  try {\n    if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n    if (then = isThenable(value)) {\n      microtask(function () {\n        var wrapper = { _w: promise, _d: false }; // wrap\n        try {\n          then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n        } catch (e) {\n          $reject.call(wrapper, e);\n        }\n      });\n    } else {\n      promise._v = value;\n      promise._s = 1;\n      notify(promise, false);\n    }\n  } catch (e) {\n    $reject.call({ _w: promise, _d: false }, e); // wrap\n  }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n  // 25.4.3.1 Promise(executor)\n  $Promise = function Promise(executor) {\n    anInstance(this, $Promise, PROMISE, '_h');\n    aFunction(executor);\n    Internal.call(this);\n    try {\n      executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n    } catch (err) {\n      $reject.call(this, err);\n    }\n  };\n  // eslint-disable-next-line no-unused-vars\n  Internal = function Promise(executor) {\n    this._c = [];             // <- awaiting reactions\n    this._a = undefined;      // <- checked in isUnhandled reactions\n    this._s = 0;              // <- state\n    this._d = false;          // <- done\n    this._v = undefined;      // <- value\n    this._h = 0;              // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n    this._n = false;          // <- notify\n  };\n  Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n    // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n    then: function then(onFulfilled, onRejected) {\n      var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n      reaction.fail = typeof onRejected == 'function' && onRejected;\n      reaction.domain = isNode ? process.domain : undefined;\n      this._c.push(reaction);\n      if (this._a) this._a.push(reaction);\n      if (this._s) notify(this, false);\n      return reaction.promise;\n    },\n    // 25.4.5.1 Promise.prototype.catch(onRejected)\n    'catch': function (onRejected) {\n      return this.then(undefined, onRejected);\n    }\n  });\n  OwnPromiseCapability = function () {\n    var promise = new Internal();\n    this.promise = promise;\n    this.resolve = ctx($resolve, promise, 1);\n    this.reject = ctx($reject, promise, 1);\n  };\n  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n    return C === $Promise || C === Wrapper\n      ? new OwnPromiseCapability(C)\n      : newGenericPromiseCapability(C);\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n  // 25.4.4.5 Promise.reject(r)\n  reject: function reject(r) {\n    var capability = newPromiseCapability(this);\n    var $$reject = capability.reject;\n    $$reject(r);\n    return capability.promise;\n  }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n  // 25.4.4.6 Promise.resolve(x)\n  resolve: function resolve(x) {\n    return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n  }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n  $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n  // 25.4.4.1 Promise.all(iterable)\n  all: function all(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var resolve = capability.resolve;\n    var reject = capability.reject;\n    var result = perform(function () {\n      var values = [];\n      var index = 0;\n      var remaining = 1;\n      forOf(iterable, false, function (promise) {\n        var $index = index++;\n        var alreadyCalled = false;\n        values.push(undefined);\n        remaining++;\n        C.resolve(promise).then(function (value) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[$index] = value;\n          --remaining || resolve(values);\n        }, reject);\n      });\n      --remaining || resolve(values);\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  },\n  // 25.4.4.4 Promise.race(iterable)\n  race: function race(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var reject = capability.reject;\n    var result = perform(function () {\n      forOf(iterable, false, function (promise) {\n        C.resolve(promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  }\n});\n"
    },
    {
      "id": 141,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/es6.symbol.js",
      "index": 122,
      "index2": 118,
      "size": 8851,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/index.js",
      "issuerId": 112,
      "issuerName": "./~/babel-runtime/~/core-js/library/fn/symbol/index.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 112,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/index.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/symbol/index.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/symbol/index.js",
          "type": "cjs require",
          "userRequest": "../../modules/es6.symbol",
          "loc": "1:0-35"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n  require('./_object-pie').f = $propertyIsEnumerable;\n  require('./_object-gops').f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !require('./_library')) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n"
    },
    {
      "id": 142,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es7.promise.finally.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/es7.promise.finally.js",
      "index": 73,
      "index2": 70,
      "size": 763,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/promise.js",
      "issuerId": 111,
      "issuerName": "./~/babel-runtime/~/core-js/library/fn/promise.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 111,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/promise.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/promise.js",
          "type": "cjs require",
          "userRequest": "../modules/es7.promise.finally",
          "loc": "5:0-41"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 3,
      "source": "// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n  var C = speciesConstructor(this, core.Promise || global.Promise);\n  var isFunction = typeof onFinally == 'function';\n  return this.then(\n    isFunction ? function (x) {\n      return promiseResolve(C, onFinally()).then(function () { return x; });\n    } : onFinally,\n    isFunction ? function (e) {\n      return promiseResolve(C, onFinally()).then(function () { throw e; });\n    } : onFinally\n  );\n} });\n"
    },
    {
      "id": 143,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es7.promise.try.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/es7.promise.try.js",
      "index": 74,
      "index2": 71,
      "size": 477,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/promise.js",
      "issuerId": 111,
      "issuerName": "./~/babel-runtime/~/core-js/library/fn/promise.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 111,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/promise.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/promise.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/promise.js",
          "type": "cjs require",
          "userRequest": "../modules/es7.promise.try",
          "loc": "6:0-37"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 3,
      "source": "'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n  var promiseCapability = newPromiseCapability.f(this);\n  var result = perform(callbackfn);\n  (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n  return promiseCapability.promise;\n} });\n"
    },
    {
      "id": 144,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.async-iterator.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/es7.symbol.async-iterator.js",
      "index": 130,
      "index2": 119,
      "size": 43,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/index.js",
      "issuerId": 112,
      "issuerName": "./~/babel-runtime/~/core-js/library/fn/symbol/index.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 112,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/index.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/symbol/index.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/symbol/index.js",
          "type": "cjs require",
          "userRequest": "../../modules/es7.symbol.async-iterator",
          "loc": "3:0-50"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "require('./_wks-define')('asyncIterator');\n"
    },
    {
      "id": 145,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.observable.js",
      "name": "./~/babel-runtime/~/core-js/library/modules/es7.symbol.observable.js",
      "index": 131,
      "index2": 120,
      "size": 40,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/index.js",
      "issuerId": 112,
      "issuerName": "./~/babel-runtime/~/core-js/library/fn/symbol/index.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 112,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/index.js",
          "module": "./~/babel-runtime/~/core-js/library/fn/symbol/index.js",
          "moduleName": "./~/babel-runtime/~/core-js/library/fn/symbol/index.js",
          "type": "cjs require",
          "userRequest": "../../modules/es7.symbol.observable",
          "loc": "4:0-46"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "require('./_wks-define')('observable');\n"
    },
    {
      "id": 146,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/fn/array/find.js",
      "name": "./~/core-js/fn/array/find.js",
      "index": 141,
      "index2": 166,
      "size": 100,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/webrtc/PeerConnection.js",
      "issuerId": 96,
      "issuerName": "./src/core/webrtc/PeerConnection.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 96,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/core/webrtc/PeerConnection.js",
          "module": "./src/core/webrtc/PeerConnection.js",
          "moduleName": "./src/core/webrtc/PeerConnection.js",
          "type": "cjs require",
          "userRequest": "core-js/fn/array/find",
          "loc": "1:968-1000"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "require('../../modules/es6.array.find');\nmodule.exports = require('../../modules/_core').Array.find;"
    },
    {
      "id": 147,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_a-function.js",
      "name": "./~/core-js/modules/_a-function.js",
      "index": 160,
      "index2": 149,
      "size": 120,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_ctx.js",
      "issuerId": 86,
      "issuerName": "./~/core-js/modules/_ctx.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 86,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_ctx.js",
          "module": "./~/core-js/modules/_ctx.js",
          "moduleName": "./~/core-js/modules/_ctx.js",
          "type": "cjs require",
          "userRequest": "./_a-function",
          "loc": "2:16-40"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 8,
      "source": "module.exports = function(it){\n  if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n  return it;\n};"
    },
    {
      "id": 148,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_add-to-unscopables.js",
      "name": "./~/core-js/modules/_add-to-unscopables.js",
      "index": 173,
      "index2": 164,
      "size": 292,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/es6.array.find.js",
      "issuerId": 168,
      "issuerName": "./~/core-js/modules/es6.array.find.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 168,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/es6.array.find.js",
          "module": "./~/core-js/modules/es6.array.find.js",
          "moduleName": "./~/core-js/modules/es6.array.find.js",
          "type": "cjs require",
          "userRequest": "./_add-to-unscopables",
          "loc": "14:0-32"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 6,
      "source": "// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables')\n  , ArrayProto  = Array.prototype;\nif(ArrayProto[UNSCOPABLES] == undefined)require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function(key){\n  ArrayProto[UNSCOPABLES][key] = true;\n};"
    },
    {
      "id": 149,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_an-object.js",
      "name": "./~/core-js/modules/_an-object.js",
      "index": 148,
      "index2": 137,
      "size": 149,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_object-dp.js",
      "issuerId": 160,
      "issuerName": "./~/core-js/modules/_object-dp.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 160,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_object-dp.js",
          "module": "./~/core-js/modules/_object-dp.js",
          "moduleName": "./~/core-js/modules/_object-dp.js",
          "type": "cjs require",
          "userRequest": "./_an-object",
          "loc": "1:21-44"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 9,
      "source": "var isObject = require('./_is-object');\nmodule.exports = function(it){\n  if(!isObject(it))throw TypeError(it + ' is not an object!');\n  return it;\n};"
    },
    {
      "id": 150,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_array-methods.js",
      "name": "./~/core-js/modules/_array-methods.js",
      "index": 161,
      "index2": 163,
      "size": 1563,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/es6.array.find.js",
      "issuerId": 168,
      "issuerName": "./~/core-js/modules/es6.array.find.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 168,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/es6.array.find.js",
          "module": "./~/core-js/modules/es6.array.find.js",
          "moduleName": "./~/core-js/modules/es6.array.find.js",
          "type": "cjs require",
          "userRequest": "./_array-methods",
          "loc": "4:14-41"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 6,
      "source": "// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx      = require('./_ctx')\n  , IObject  = require('./_iobject')\n  , toObject = require('./_to-object')\n  , toLength = require('./_to-length')\n  , asc      = require('./_array-species-create');\nmodule.exports = function(TYPE, $create){\n  var IS_MAP        = TYPE == 1\n    , IS_FILTER     = TYPE == 2\n    , IS_SOME       = TYPE == 3\n    , IS_EVERY      = TYPE == 4\n    , IS_FIND_INDEX = TYPE == 6\n    , NO_HOLES      = TYPE == 5 || IS_FIND_INDEX\n    , create        = $create || asc;\n  return function($this, callbackfn, that){\n    var O      = toObject($this)\n      , self   = IObject(O)\n      , f      = ctx(callbackfn, that, 3)\n      , length = toLength(self.length)\n      , index  = 0\n      , result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined\n      , val, res;\n    for(;length > index; index++)if(NO_HOLES || index in self){\n      val = self[index];\n      res = f(val, index, O);\n      if(TYPE){\n        if(IS_MAP)result[index] = res;            // map\n        else if(res)switch(TYPE){\n          case 3: return true;                    // some\n          case 5: return val;                     // find\n          case 6: return index;                   // findIndex\n          case 2: result.push(val);               // filter\n        } else if(IS_EVERY)return false;          // every\n      }\n    }\n    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n  };\n};"
    },
    {
      "id": 151,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_array-species-constructor.js",
      "name": "./~/core-js/modules/_array-species-constructor.js",
      "index": 169,
      "index2": 161,
      "size": 464,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_array-species-create.js",
      "issuerId": 152,
      "issuerName": "./~/core-js/modules/_array-species-create.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 152,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_array-species-create.js",
          "module": "./~/core-js/modules/_array-species-create.js",
          "moduleName": "./~/core-js/modules/_array-species-create.js",
          "type": "cjs require",
          "userRequest": "./_array-species-constructor",
          "loc": "2:25-64"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 8,
      "source": "var isObject = require('./_is-object')\n  , isArray  = require('./_is-array')\n  , SPECIES  = require('./_wks')('species');\n\nmodule.exports = function(original){\n  var C;\n  if(isArray(original)){\n    C = original.constructor;\n    // cross-realm fallback\n    if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined;\n    if(isObject(C)){\n      C = C[SPECIES];\n      if(C === null)C = undefined;\n    }\n  } return C === undefined ? Array : C;\n};"
    },
    {
      "id": 152,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_array-species-create.js",
      "name": "./~/core-js/modules/_array-species-create.js",
      "index": 168,
      "index2": 162,
      "size": 220,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_array-methods.js",
      "issuerId": 150,
      "issuerName": "./~/core-js/modules/_array-methods.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 150,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_array-methods.js",
          "module": "./~/core-js/modules/_array-methods.js",
          "moduleName": "./~/core-js/modules/_array-methods.js",
          "type": "cjs require",
          "userRequest": "./_array-species-create",
          "loc": "12:15-49"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 7,
      "source": "// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function(original, length){\n  return new (speciesConstructor(original))(length);\n};"
    },
    {
      "id": 153,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_defined.js",
      "name": "./~/core-js/modules/_defined.js",
      "index": 165,
      "index2": 154,
      "size": 157,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_to-object.js",
      "issuerId": 166,
      "issuerName": "./~/core-js/modules/_to-object.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 166,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_to-object.js",
          "module": "./~/core-js/modules/_to-object.js",
          "moduleName": "./~/core-js/modules/_to-object.js",
          "type": "cjs require",
          "userRequest": "./_defined",
          "loc": "2:14-35"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 8,
      "source": "// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n  if(it == undefined)throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};"
    },
    {
      "id": 154,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_dom-create.js",
      "name": "./~/core-js/modules/_dom-create.js",
      "index": 153,
      "index2": 140,
      "size": 286,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_ie8-dom-define.js",
      "issuerId": 157,
      "issuerName": "./~/core-js/modules/_ie8-dom-define.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 157,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_ie8-dom-define.js",
          "module": "./~/core-js/modules/_ie8-dom-define.js",
          "moduleName": "./~/core-js/modules/_ie8-dom-define.js",
          "type": "cjs require",
          "userRequest": "./_dom-create",
          "loc": "2:31-55"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 10,
      "source": "var isObject = require('./_is-object')\n  , document = require('./_global').document\n  // in old IE typeof document.createElement is 'object'\n  , is = isObject(document) && isObject(document.createElement);\nmodule.exports = function(it){\n  return is ? document.createElement(it) : {};\n};"
    },
    {
      "id": 155,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_export.js",
      "name": "./~/core-js/modules/_export.js",
      "index": 143,
      "index2": 151,
      "size": 1605,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/es6.array.find.js",
      "issuerId": 168,
      "issuerName": "./~/core-js/modules/es6.array.find.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 168,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/es6.array.find.js",
          "module": "./~/core-js/modules/es6.array.find.js",
          "moduleName": "./~/core-js/modules/es6.array.find.js",
          "type": "cjs require",
          "userRequest": "./_export",
          "loc": "3:14-34"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 6,
      "source": "var global    = require('./_global')\n  , core      = require('./_core')\n  , hide      = require('./_hide')\n  , redefine  = require('./_redefine')\n  , ctx       = require('./_ctx')\n  , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n  var IS_FORCED = type & $export.F\n    , IS_GLOBAL = type & $export.G\n    , IS_STATIC = type & $export.S\n    , IS_PROTO  = type & $export.P\n    , IS_BIND   = type & $export.B\n    , target    = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]\n    , exports   = IS_GLOBAL ? core : core[name] || (core[name] = {})\n    , expProto  = exports[PROTOTYPE] || (exports[PROTOTYPE] = {})\n    , key, own, out, exp;\n  if(IS_GLOBAL)source = name;\n  for(key in source){\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    // export native or passed\n    out = (own ? target : source)[key];\n    // bind timers to global for call from export context\n    exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // extend global\n    if(target)redefine(target, key, out, type & $export.U);\n    // export\n    if(exports[key] != out)hide(exports, key, exp);\n    if(IS_PROTO && expProto[key] != out)expProto[key] = out;\n  }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library` \nmodule.exports = $export;"
    },
    {
      "id": 156,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_has.js",
      "name": "./~/core-js/modules/_has.js",
      "index": 157,
      "index2": 146,
      "size": 117,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_redefine.js",
      "issuerId": 162,
      "issuerName": "./~/core-js/modules/_redefine.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 162,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_redefine.js",
          "module": "./~/core-js/modules/_redefine.js",
          "moduleName": "./~/core-js/modules/_redefine.js",
          "type": "cjs require",
          "userRequest": "./_has",
          "loc": "3:16-33"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 8,
      "source": "var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n  return hasOwnProperty.call(it, key);\n};"
    },
    {
      "id": 157,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_ie8-dom-define.js",
      "name": "./~/core-js/modules/_ie8-dom-define.js",
      "index": 150,
      "index2": 141,
      "size": 192,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_object-dp.js",
      "issuerId": 160,
      "issuerName": "./~/core-js/modules/_object-dp.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 160,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_object-dp.js",
          "module": "./~/core-js/modules/_object-dp.js",
          "moduleName": "./~/core-js/modules/_object-dp.js",
          "type": "cjs require",
          "userRequest": "./_ie8-dom-define",
          "loc": "2:21-49"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 9,
      "source": "module.exports = !require('./_descriptors') && !require('./_fails')(function(){\n  return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\n});"
    },
    {
      "id": 158,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_iobject.js",
      "name": "./~/core-js/modules/_iobject.js",
      "index": 162,
      "index2": 153,
      "size": 236,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_array-methods.js",
      "issuerId": 150,
      "issuerName": "./~/core-js/modules/_array-methods.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 150,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_array-methods.js",
          "module": "./~/core-js/modules/_array-methods.js",
          "moduleName": "./~/core-js/modules/_array-methods.js",
          "type": "cjs require",
          "userRequest": "./_iobject",
          "loc": "9:15-36"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 7,
      "source": "// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};"
    },
    {
      "id": 159,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_is-array.js",
      "name": "./~/core-js/modules/_is-array.js",
      "index": 170,
      "index2": 158,
      "size": 145,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_array-species-constructor.js",
      "issuerId": 151,
      "issuerName": "./~/core-js/modules/_array-species-constructor.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 151,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_array-species-constructor.js",
          "module": "./~/core-js/modules/_array-species-constructor.js",
          "moduleName": "./~/core-js/modules/_array-species-constructor.js",
          "type": "cjs require",
          "userRequest": "./_is-array",
          "loc": "2:15-37"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 9,
      "source": "// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg){\n  return cof(arg) == 'Array';\n};"
    },
    {
      "id": 160,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_object-dp.js",
      "name": "./~/core-js/modules/_object-dp.js",
      "index": 147,
      "index2": 143,
      "size": 608,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_hide.js",
      "issuerId": 55,
      "issuerName": "./~/core-js/modules/_hide.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 55,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_hide.js",
          "module": "./~/core-js/modules/_hide.js",
          "moduleName": "./~/core-js/modules/_hide.js",
          "type": "cjs require",
          "userRequest": "./_object-dp",
          "loc": "1:17-40"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 8,
      "source": "var anObject       = require('./_an-object')\n  , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n  , toPrimitive    = require('./_to-primitive')\n  , dP             = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if(IE8_DOM_DEFINE)try {\n    return dP(O, P, Attributes);\n  } catch(e){ /* empty */ }\n  if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n  if('value' in Attributes)O[P] = Attributes.value;\n  return O;\n};"
    },
    {
      "id": 161,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_property-desc.js",
      "name": "./~/core-js/modules/_property-desc.js",
      "index": 155,
      "index2": 144,
      "size": 183,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_hide.js",
      "issuerId": 55,
      "issuerName": "./~/core-js/modules/_hide.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 55,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_hide.js",
          "module": "./~/core-js/modules/_hide.js",
          "moduleName": "./~/core-js/modules/_hide.js",
          "type": "cjs require",
          "userRequest": "./_property-desc",
          "loc": "2:17-44"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 8,
      "source": "module.exports = function(bitmap, value){\n  return {\n    enumerable  : !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable    : !(bitmap & 4),\n    value       : value\n  };\n};"
    },
    {
      "id": 162,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_redefine.js",
      "name": "./~/core-js/modules/_redefine.js",
      "index": 156,
      "index2": 148,
      "size": 1055,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_export.js",
      "issuerId": 155,
      "issuerName": "./~/core-js/modules/_export.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 155,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_export.js",
          "module": "./~/core-js/modules/_export.js",
          "moduleName": "./~/core-js/modules/_export.js",
          "type": "cjs require",
          "userRequest": "./_redefine",
          "loc": "4:16-38"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 7,
      "source": "var global    = require('./_global')\n  , hide      = require('./_hide')\n  , has       = require('./_has')\n  , SRC       = require('./_uid')('src')\n  , TO_STRING = 'toString'\n  , $toString = Function[TO_STRING]\n  , TPL       = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function(it){\n  return $toString.call(it);\n};\n\n(module.exports = function(O, key, val, safe){\n  var isFunction = typeof val == 'function';\n  if(isFunction)has(val, 'name') || hide(val, 'name', key);\n  if(O[key] === val)return;\n  if(isFunction)has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n  if(O === global){\n    O[key] = val;\n  } else {\n    if(!safe){\n      delete O[key];\n      hide(O, key, val);\n    } else {\n      if(O[key])O[key] = val;\n      else hide(O, key, val);\n    }\n  }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString(){\n  return typeof this == 'function' && this[SRC] || $toString.call(this);\n});"
    },
    {
      "id": 163,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_shared.js",
      "name": "./~/core-js/modules/_shared.js",
      "index": 172,
      "index2": 159,
      "size": 198,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_wks.js",
      "issuerId": 89,
      "issuerName": "./~/core-js/modules/_wks.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 89,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_wks.js",
          "module": "./~/core-js/modules/_wks.js",
          "moduleName": "./~/core-js/modules/_wks.js",
          "type": "cjs require",
          "userRequest": "./_shared",
          "loc": "1:17-37"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 8,
      "source": "var global = require('./_global')\n  , SHARED = '__core-js_shared__'\n  , store  = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n  return store[key] || (store[key] = {});\n};"
    },
    {
      "id": 164,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_to-integer.js",
      "name": "./~/core-js/modules/_to-integer.js",
      "index": 167,
      "index2": 156,
      "size": 158,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_to-length.js",
      "issuerId": 165,
      "issuerName": "./~/core-js/modules/_to-length.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 165,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_to-length.js",
          "module": "./~/core-js/modules/_to-length.js",
          "moduleName": "./~/core-js/modules/_to-length.js",
          "type": "cjs require",
          "userRequest": "./_to-integer",
          "loc": "2:16-40"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 8,
      "source": "// 7.1.4 ToInteger\nvar ceil  = Math.ceil\n  , floor = Math.floor;\nmodule.exports = function(it){\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};"
    },
    {
      "id": 165,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_to-length.js",
      "name": "./~/core-js/modules/_to-length.js",
      "index": 166,
      "index2": 157,
      "size": 217,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_array-methods.js",
      "issuerId": 150,
      "issuerName": "./~/core-js/modules/_array-methods.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 150,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_array-methods.js",
          "module": "./~/core-js/modules/_array-methods.js",
          "moduleName": "./~/core-js/modules/_array-methods.js",
          "type": "cjs require",
          "userRequest": "./_to-length",
          "loc": "11:15-38"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 7,
      "source": "// 7.1.15 ToLength\nvar toInteger = require('./_to-integer')\n  , min       = Math.min;\nmodule.exports = function(it){\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};"
    },
    {
      "id": 166,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_to-object.js",
      "name": "./~/core-js/modules/_to-object.js",
      "index": 164,
      "index2": 155,
      "size": 129,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_array-methods.js",
      "issuerId": 150,
      "issuerName": "./~/core-js/modules/_array-methods.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 150,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_array-methods.js",
          "module": "./~/core-js/modules/_array-methods.js",
          "moduleName": "./~/core-js/modules/_array-methods.js",
          "type": "cjs require",
          "userRequest": "./_to-object",
          "loc": "10:15-38"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 7,
      "source": "// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n  return Object(defined(it));\n};"
    },
    {
      "id": 167,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_to-primitive.js",
      "name": "./~/core-js/modules/_to-primitive.js",
      "index": 154,
      "index2": 142,
      "size": 644,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_object-dp.js",
      "issuerId": 160,
      "issuerName": "./~/core-js/modules/_object-dp.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 160,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/_object-dp.js",
          "module": "./~/core-js/modules/_object-dp.js",
          "moduleName": "./~/core-js/modules/_object-dp.js",
          "type": "cjs require",
          "userRequest": "./_to-primitive",
          "loc": "3:21-47"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 9,
      "source": "// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n  if(!isObject(it))return it;\n  var fn, val;\n  if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n  if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n  if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};"
    },
    {
      "id": 168,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/modules/es6.array.find.js",
      "name": "./~/core-js/modules/es6.array.find.js",
      "index": 142,
      "index2": 165,
      "size": 523,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/fn/array/find.js",
      "issuerId": 146,
      "issuerName": "./~/core-js/fn/array/find.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 146,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/core-js/fn/array/find.js",
          "module": "./~/core-js/fn/array/find.js",
          "moduleName": "./~/core-js/fn/array/find.js",
          "type": "cjs require",
          "userRequest": "../../modules/es6.array.find",
          "loc": "1:0-39"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export')\n  , $find   = require('./_array-methods')(5)\n  , KEY     = 'find'\n  , forced  = true;\n// Shouldn't skip holes\nif(KEY in [])Array(1)[KEY](function(){ forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n  find: function find(callbackfn/*, that = undefined */){\n    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\nrequire('./_add-to-unscopables')(KEY);"
    },
    {
      "id": 169,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/sdp/sdp.js",
      "name": "./~/sdp/sdp.js",
      "index": 100,
      "index2": 94,
      "size": 20429,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/edge/rtcpeerconnection_shim.js",
      "issuerId": 176,
      "issuerName": "./~/webrtc-adapter/src/js/edge/rtcpeerconnection_shim.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 176,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/edge/rtcpeerconnection_shim.js",
          "module": "./~/webrtc-adapter/src/js/edge/rtcpeerconnection_shim.js",
          "moduleName": "./~/webrtc-adapter/src/js/edge/rtcpeerconnection_shim.js",
          "type": "cjs require",
          "userRequest": "sdp",
          "loc": "11:15-29"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 6,
      "source": " /* eslint-env node */\n'use strict';\n\n// SDP helpers.\nvar SDPUtils = {};\n\n// Generate an alphanumeric identifier for cname or mids.\n// TODO: use UUIDs instead? https://gist.github.com/jed/982883\nSDPUtils.generateIdentifier = function() {\n  return Math.random().toString(36).substr(2, 10);\n};\n\n// The RTCP CNAME used by all peerconnections from the same JS.\nSDPUtils.localCName = SDPUtils.generateIdentifier();\n\n// Splits SDP into lines, dealing with both CRLF and LF.\nSDPUtils.splitLines = function(blob) {\n  return blob.trim().split('\\n').map(function(line) {\n    return line.trim();\n  });\n};\n// Splits SDP into sessionpart and mediasections. Ensures CRLF.\nSDPUtils.splitSections = function(blob) {\n  var parts = blob.split('\\nm=');\n  return parts.map(function(part, index) {\n    return (index > 0 ? 'm=' + part : part).trim() + '\\r\\n';\n  });\n};\n\n// Returns lines that start with a certain prefix.\nSDPUtils.matchPrefix = function(blob, prefix) {\n  return SDPUtils.splitLines(blob).filter(function(line) {\n    return line.indexOf(prefix) === 0;\n  });\n};\n\n// Parses an ICE candidate line. Sample input:\n// candidate:702786350 2 udp 41819902 8.8.8.8 60769 typ relay raddr 8.8.8.8\n// rport 55996\"\nSDPUtils.parseCandidate = function(line) {\n  var parts;\n  // Parse both variants.\n  if (line.indexOf('a=candidate:') === 0) {\n    parts = line.substring(12).split(' ');\n  } else {\n    parts = line.substring(10).split(' ');\n  }\n\n  var candidate = {\n    foundation: parts[0],\n    component: parseInt(parts[1], 10),\n    protocol: parts[2].toLowerCase(),\n    priority: parseInt(parts[3], 10),\n    ip: parts[4],\n    port: parseInt(parts[5], 10),\n    // skip parts[6] == 'typ'\n    type: parts[7]\n  };\n\n  for (var i = 8; i < parts.length; i += 2) {\n    switch (parts[i]) {\n      case 'raddr':\n        candidate.relatedAddress = parts[i + 1];\n        break;\n      case 'rport':\n        candidate.relatedPort = parseInt(parts[i + 1], 10);\n        break;\n      case 'tcptype':\n        candidate.tcpType = parts[i + 1];\n        break;\n      case 'ufrag':\n        candidate.ufrag = parts[i + 1]; // for backward compability.\n        candidate.usernameFragment = parts[i + 1];\n        break;\n      default: // extension handling, in particular ufrag\n        candidate[parts[i]] = parts[i + 1];\n        break;\n    }\n  }\n  return candidate;\n};\n\n// Translates a candidate object into SDP candidate attribute.\nSDPUtils.writeCandidate = function(candidate) {\n  var sdp = [];\n  sdp.push(candidate.foundation);\n  sdp.push(candidate.component);\n  sdp.push(candidate.protocol.toUpperCase());\n  sdp.push(candidate.priority);\n  sdp.push(candidate.ip);\n  sdp.push(candidate.port);\n\n  var type = candidate.type;\n  sdp.push('typ');\n  sdp.push(type);\n  if (type !== 'host' && candidate.relatedAddress &&\n      candidate.relatedPort) {\n    sdp.push('raddr');\n    sdp.push(candidate.relatedAddress); // was: relAddr\n    sdp.push('rport');\n    sdp.push(candidate.relatedPort); // was: relPort\n  }\n  if (candidate.tcpType && candidate.protocol.toLowerCase() === 'tcp') {\n    sdp.push('tcptype');\n    sdp.push(candidate.tcpType);\n  }\n  if (candidate.ufrag) {\n    sdp.push('ufrag');\n    sdp.push(candidate.ufrag);\n  }\n  return 'candidate:' + sdp.join(' ');\n};\n\n// Parses an ice-options line, returns an array of option tags.\n// a=ice-options:foo bar\nSDPUtils.parseIceOptions = function(line) {\n  return line.substr(14).split(' ');\n}\n\n// Parses an rtpmap line, returns RTCRtpCoddecParameters. Sample input:\n// a=rtpmap:111 opus/48000/2\nSDPUtils.parseRtpMap = function(line) {\n  var parts = line.substr(9).split(' ');\n  var parsed = {\n    payloadType: parseInt(parts.shift(), 10) // was: id\n  };\n\n  parts = parts[0].split('/');\n\n  parsed.name = parts[0];\n  parsed.clockRate = parseInt(parts[1], 10); // was: clockrate\n  // was: channels\n  parsed.numChannels = parts.length === 3 ? parseInt(parts[2], 10) : 1;\n  return parsed;\n};\n\n// Generate an a=rtpmap line from RTCRtpCodecCapability or\n// RTCRtpCodecParameters.\nSDPUtils.writeRtpMap = function(codec) {\n  var pt = codec.payloadType;\n  if (codec.preferredPayloadType !== undefined) {\n    pt = codec.preferredPayloadType;\n  }\n  return 'a=rtpmap:' + pt + ' ' + codec.name + '/' + codec.clockRate +\n      (codec.numChannels !== 1 ? '/' + codec.numChannels : '') + '\\r\\n';\n};\n\n// Parses an a=extmap line (headerextension from RFC 5285). Sample input:\n// a=extmap:2 urn:ietf:params:rtp-hdrext:toffset\n// a=extmap:2/sendonly urn:ietf:params:rtp-hdrext:toffset\nSDPUtils.parseExtmap = function(line) {\n  var parts = line.substr(9).split(' ');\n  return {\n    id: parseInt(parts[0], 10),\n    direction: parts[0].indexOf('/') > 0 ? parts[0].split('/')[1] : 'sendrecv',\n    uri: parts[1]\n  };\n};\n\n// Generates a=extmap line from RTCRtpHeaderExtensionParameters or\n// RTCRtpHeaderExtension.\nSDPUtils.writeExtmap = function(headerExtension) {\n  return 'a=extmap:' + (headerExtension.id || headerExtension.preferredId) +\n      (headerExtension.direction && headerExtension.direction !== 'sendrecv'\n          ? '/' + headerExtension.direction\n          : '') +\n      ' ' + headerExtension.uri + '\\r\\n';\n};\n\n// Parses an ftmp line, returns dictionary. Sample input:\n// a=fmtp:96 vbr=on;cng=on\n// Also deals with vbr=on; cng=on\nSDPUtils.parseFmtp = function(line) {\n  var parsed = {};\n  var kv;\n  var parts = line.substr(line.indexOf(' ') + 1).split(';');\n  for (var j = 0; j < parts.length; j++) {\n    kv = parts[j].trim().split('=');\n    parsed[kv[0].trim()] = kv[1];\n  }\n  return parsed;\n};\n\n// Generates an a=ftmp line from RTCRtpCodecCapability or RTCRtpCodecParameters.\nSDPUtils.writeFmtp = function(codec) {\n  var line = '';\n  var pt = codec.payloadType;\n  if (codec.preferredPayloadType !== undefined) {\n    pt = codec.preferredPayloadType;\n  }\n  if (codec.parameters && Object.keys(codec.parameters).length) {\n    var params = [];\n    Object.keys(codec.parameters).forEach(function(param) {\n      params.push(param + '=' + codec.parameters[param]);\n    });\n    line += 'a=fmtp:' + pt + ' ' + params.join(';') + '\\r\\n';\n  }\n  return line;\n};\n\n// Parses an rtcp-fb line, returns RTCPRtcpFeedback object. Sample input:\n// a=rtcp-fb:98 nack rpsi\nSDPUtils.parseRtcpFb = function(line) {\n  var parts = line.substr(line.indexOf(' ') + 1).split(' ');\n  return {\n    type: parts.shift(),\n    parameter: parts.join(' ')\n  };\n};\n// Generate a=rtcp-fb lines from RTCRtpCodecCapability or RTCRtpCodecParameters.\nSDPUtils.writeRtcpFb = function(codec) {\n  var lines = '';\n  var pt = codec.payloadType;\n  if (codec.preferredPayloadType !== undefined) {\n    pt = codec.preferredPayloadType;\n  }\n  if (codec.rtcpFeedback && codec.rtcpFeedback.length) {\n    // FIXME: special handling for trr-int?\n    codec.rtcpFeedback.forEach(function(fb) {\n      lines += 'a=rtcp-fb:' + pt + ' ' + fb.type +\n      (fb.parameter && fb.parameter.length ? ' ' + fb.parameter : '') +\n          '\\r\\n';\n    });\n  }\n  return lines;\n};\n\n// Parses an RFC 5576 ssrc media attribute. Sample input:\n// a=ssrc:3735928559 cname:something\nSDPUtils.parseSsrcMedia = function(line) {\n  var sp = line.indexOf(' ');\n  var parts = {\n    ssrc: parseInt(line.substr(7, sp - 7), 10)\n  };\n  var colon = line.indexOf(':', sp);\n  if (colon > -1) {\n    parts.attribute = line.substr(sp + 1, colon - sp - 1);\n    parts.value = line.substr(colon + 1);\n  } else {\n    parts.attribute = line.substr(sp + 1);\n  }\n  return parts;\n};\n\n// Extracts the MID (RFC 5888) from a media section.\n// returns the MID or undefined if no mid line was found.\nSDPUtils.getMid = function(mediaSection) {\n  var mid = SDPUtils.matchPrefix(mediaSection, 'a=mid:')[0];\n  if (mid) {\n    return mid.substr(6);\n  }\n}\n\nSDPUtils.parseFingerprint = function(line) {\n  var parts = line.substr(14).split(' ');\n  return {\n    algorithm: parts[0].toLowerCase(), // algorithm is case-sensitive in Edge.\n    value: parts[1]\n  };\n};\n\n// Extracts DTLS parameters from SDP media section or sessionpart.\n// FIXME: for consistency with other functions this should only\n//   get the fingerprint line as input. See also getIceParameters.\nSDPUtils.getDtlsParameters = function(mediaSection, sessionpart) {\n  var lines = SDPUtils.matchPrefix(mediaSection + sessionpart,\n      'a=fingerprint:');\n  // Note: a=setup line is ignored since we use the 'auto' role.\n  // Note2: 'algorithm' is not case sensitive except in Edge.\n  return {\n    role: 'auto',\n    fingerprints: lines.map(SDPUtils.parseFingerprint)\n  };\n};\n\n// Serializes DTLS parameters to SDP.\nSDPUtils.writeDtlsParameters = function(params, setupType) {\n  var sdp = 'a=setup:' + setupType + '\\r\\n';\n  params.fingerprints.forEach(function(fp) {\n    sdp += 'a=fingerprint:' + fp.algorithm + ' ' + fp.value + '\\r\\n';\n  });\n  return sdp;\n};\n// Parses ICE information from SDP media section or sessionpart.\n// FIXME: for consistency with other functions this should only\n//   get the ice-ufrag and ice-pwd lines as input.\nSDPUtils.getIceParameters = function(mediaSection, sessionpart) {\n  var lines = SDPUtils.splitLines(mediaSection);\n  // Search in session part, too.\n  lines = lines.concat(SDPUtils.splitLines(sessionpart));\n  var iceParameters = {\n    usernameFragment: lines.filter(function(line) {\n      return line.indexOf('a=ice-ufrag:') === 0;\n    })[0].substr(12),\n    password: lines.filter(function(line) {\n      return line.indexOf('a=ice-pwd:') === 0;\n    })[0].substr(10)\n  };\n  return iceParameters;\n};\n\n// Serializes ICE parameters to SDP.\nSDPUtils.writeIceParameters = function(params) {\n  return 'a=ice-ufrag:' + params.usernameFragment + '\\r\\n' +\n      'a=ice-pwd:' + params.password + '\\r\\n';\n};\n\n// Parses the SDP media section and returns RTCRtpParameters.\nSDPUtils.parseRtpParameters = function(mediaSection) {\n  var description = {\n    codecs: [],\n    headerExtensions: [],\n    fecMechanisms: [],\n    rtcp: []\n  };\n  var lines = SDPUtils.splitLines(mediaSection);\n  var mline = lines[0].split(' ');\n  for (var i = 3; i < mline.length; i++) { // find all codecs from mline[3..]\n    var pt = mline[i];\n    var rtpmapline = SDPUtils.matchPrefix(\n        mediaSection, 'a=rtpmap:' + pt + ' ')[0];\n    if (rtpmapline) {\n      var codec = SDPUtils.parseRtpMap(rtpmapline);\n      var fmtps = SDPUtils.matchPrefix(\n          mediaSection, 'a=fmtp:' + pt + ' ');\n      // Only the first a=fmtp:<pt> is considered.\n      codec.parameters = fmtps.length ? SDPUtils.parseFmtp(fmtps[0]) : {};\n      codec.rtcpFeedback = SDPUtils.matchPrefix(\n          mediaSection, 'a=rtcp-fb:' + pt + ' ')\n        .map(SDPUtils.parseRtcpFb);\n      description.codecs.push(codec);\n      // parse FEC mechanisms from rtpmap lines.\n      switch (codec.name.toUpperCase()) {\n        case 'RED':\n        case 'ULPFEC':\n          description.fecMechanisms.push(codec.name.toUpperCase());\n          break;\n        default: // only RED and ULPFEC are recognized as FEC mechanisms.\n          break;\n      }\n    }\n  }\n  SDPUtils.matchPrefix(mediaSection, 'a=extmap:').forEach(function(line) {\n    description.headerExtensions.push(SDPUtils.parseExtmap(line));\n  });\n  // FIXME: parse rtcp.\n  return description;\n};\n\n// Generates parts of the SDP media section describing the capabilities /\n// parameters.\nSDPUtils.writeRtpDescription = function(kind, caps) {\n  var sdp = '';\n\n  // Build the mline.\n  sdp += 'm=' + kind + ' ';\n  sdp += caps.codecs.length > 0 ? '9' : '0'; // reject if no codecs.\n  sdp += ' UDP/TLS/RTP/SAVPF ';\n  sdp += caps.codecs.map(function(codec) {\n    if (codec.preferredPayloadType !== undefined) {\n      return codec.preferredPayloadType;\n    }\n    return codec.payloadType;\n  }).join(' ') + '\\r\\n';\n\n  sdp += 'c=IN IP4 0.0.0.0\\r\\n';\n  sdp += 'a=rtcp:9 IN IP4 0.0.0.0\\r\\n';\n\n  // Add a=rtpmap lines for each codec. Also fmtp and rtcp-fb.\n  caps.codecs.forEach(function(codec) {\n    sdp += SDPUtils.writeRtpMap(codec);\n    sdp += SDPUtils.writeFmtp(codec);\n    sdp += SDPUtils.writeRtcpFb(codec);\n  });\n  var maxptime = 0;\n  caps.codecs.forEach(function(codec) {\n    if (codec.maxptime > maxptime) {\n      maxptime = codec.maxptime;\n    }\n  });\n  if (maxptime > 0) {\n    sdp += 'a=maxptime:' + maxptime + '\\r\\n';\n  }\n  sdp += 'a=rtcp-mux\\r\\n';\n\n  caps.headerExtensions.forEach(function(extension) {\n    sdp += SDPUtils.writeExtmap(extension);\n  });\n  // FIXME: write fecMechanisms.\n  return sdp;\n};\n\n// Parses the SDP media section and returns an array of\n// RTCRtpEncodingParameters.\nSDPUtils.parseRtpEncodingParameters = function(mediaSection) {\n  var encodingParameters = [];\n  var description = SDPUtils.parseRtpParameters(mediaSection);\n  var hasRed = description.fecMechanisms.indexOf('RED') !== -1;\n  var hasUlpfec = description.fecMechanisms.indexOf('ULPFEC') !== -1;\n\n  // filter a=ssrc:... cname:, ignore PlanB-msid\n  var ssrcs = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:')\n  .map(function(line) {\n    return SDPUtils.parseSsrcMedia(line);\n  })\n  .filter(function(parts) {\n    return parts.attribute === 'cname';\n  });\n  var primarySsrc = ssrcs.length > 0 && ssrcs[0].ssrc;\n  var secondarySsrc;\n\n  var flows = SDPUtils.matchPrefix(mediaSection, 'a=ssrc-group:FID')\n  .map(function(line) {\n    var parts = line.split(' ');\n    parts.shift();\n    return parts.map(function(part) {\n      return parseInt(part, 10);\n    });\n  });\n  if (flows.length > 0 && flows[0].length > 1 && flows[0][0] === primarySsrc) {\n    secondarySsrc = flows[0][1];\n  }\n\n  description.codecs.forEach(function(codec) {\n    if (codec.name.toUpperCase() === 'RTX' && codec.parameters.apt) {\n      var encParam = {\n        ssrc: primarySsrc,\n        codecPayloadType: parseInt(codec.parameters.apt, 10),\n        rtx: {\n          ssrc: secondarySsrc\n        }\n      };\n      encodingParameters.push(encParam);\n      if (hasRed) {\n        encParam = JSON.parse(JSON.stringify(encParam));\n        encParam.fec = {\n          ssrc: secondarySsrc,\n          mechanism: hasUlpfec ? 'red+ulpfec' : 'red'\n        };\n        encodingParameters.push(encParam);\n      }\n    }\n  });\n  if (encodingParameters.length === 0 && primarySsrc) {\n    encodingParameters.push({\n      ssrc: primarySsrc\n    });\n  }\n\n  // we support both b=AS and b=TIAS but interpret AS as TIAS.\n  var bandwidth = SDPUtils.matchPrefix(mediaSection, 'b=');\n  if (bandwidth.length) {\n    if (bandwidth[0].indexOf('b=TIAS:') === 0) {\n      bandwidth = parseInt(bandwidth[0].substr(7), 10);\n    } else if (bandwidth[0].indexOf('b=AS:') === 0) {\n      // use formula from JSEP to convert b=AS to TIAS value.\n      bandwidth = parseInt(bandwidth[0].substr(5), 10) * 1000 * 0.95\n          - (50 * 40 * 8);\n    } else {\n      bandwidth = undefined;\n    }\n    encodingParameters.forEach(function(params) {\n      params.maxBitrate = bandwidth;\n    });\n  }\n  return encodingParameters;\n};\n\n// parses http://draft.ortc.org/#rtcrtcpparameters*\nSDPUtils.parseRtcpParameters = function(mediaSection) {\n  var rtcpParameters = {};\n\n  var cname;\n  // Gets the first SSRC. Note that with RTX there might be multiple\n  // SSRCs.\n  var remoteSsrc = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:')\n      .map(function(line) {\n        return SDPUtils.parseSsrcMedia(line);\n      })\n      .filter(function(obj) {\n        return obj.attribute === 'cname';\n      })[0];\n  if (remoteSsrc) {\n    rtcpParameters.cname = remoteSsrc.value;\n    rtcpParameters.ssrc = remoteSsrc.ssrc;\n  }\n\n  // Edge uses the compound attribute instead of reducedSize\n  // compound is !reducedSize\n  var rsize = SDPUtils.matchPrefix(mediaSection, 'a=rtcp-rsize');\n  rtcpParameters.reducedSize = rsize.length > 0;\n  rtcpParameters.compound = rsize.length === 0;\n\n  // parses the rtcp-mux attrіbute.\n  // Note that Edge does not support unmuxed RTCP.\n  var mux = SDPUtils.matchPrefix(mediaSection, 'a=rtcp-mux');\n  rtcpParameters.mux = mux.length > 0;\n\n  return rtcpParameters;\n};\n\n// parses either a=msid: or a=ssrc:... msid lines and returns\n// the id of the MediaStream and MediaStreamTrack.\nSDPUtils.parseMsid = function(mediaSection) {\n  var parts;\n  var spec = SDPUtils.matchPrefix(mediaSection, 'a=msid:');\n  if (spec.length === 1) {\n    parts = spec[0].substr(7).split(' ');\n    return {stream: parts[0], track: parts[1]};\n  }\n  var planB = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:')\n  .map(function(line) {\n    return SDPUtils.parseSsrcMedia(line);\n  })\n  .filter(function(parts) {\n    return parts.attribute === 'msid';\n  });\n  if (planB.length > 0) {\n    parts = planB[0].value.split(' ');\n    return {stream: parts[0], track: parts[1]};\n  }\n};\n\n// Generate a session ID for SDP.\n// https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-20#section-5.2.1\n// recommends using a cryptographically random +ve 64-bit value\n// but right now this should be acceptable and within the right range\nSDPUtils.generateSessionId = function() {\n  return Math.random().toString().substr(2, 21);\n};\n\n// Write boilder plate for start of SDP\n// sessId argument is optional - if not supplied it will\n// be generated randomly\n// sessVersion is optional and defaults to 2\nSDPUtils.writeSessionBoilerplate = function(sessId, sessVer) {\n  var sessionId;\n  var version = sessVer !== undefined ? sessVer : 2;\n  if (sessId) {\n    sessionId = sessId;\n  } else {\n    sessionId = SDPUtils.generateSessionId();\n  }\n  // FIXME: sess-id should be an NTP timestamp.\n  return 'v=0\\r\\n' +\n      'o=thisisadapterortc ' + sessionId + ' ' + version + ' IN IP4 127.0.0.1\\r\\n' +\n      's=-\\r\\n' +\n      't=0 0\\r\\n';\n};\n\nSDPUtils.writeMediaSection = function(transceiver, caps, type, stream) {\n  var sdp = SDPUtils.writeRtpDescription(transceiver.kind, caps);\n\n  // Map ICE parameters (ufrag, pwd) to SDP.\n  sdp += SDPUtils.writeIceParameters(\n      transceiver.iceGatherer.getLocalParameters());\n\n  // Map DTLS parameters to SDP.\n  sdp += SDPUtils.writeDtlsParameters(\n      transceiver.dtlsTransport.getLocalParameters(),\n      type === 'offer' ? 'actpass' : 'active');\n\n  sdp += 'a=mid:' + transceiver.mid + '\\r\\n';\n\n  if (transceiver.direction) {\n    sdp += 'a=' + transceiver.direction + '\\r\\n';\n  } else if (transceiver.rtpSender && transceiver.rtpReceiver) {\n    sdp += 'a=sendrecv\\r\\n';\n  } else if (transceiver.rtpSender) {\n    sdp += 'a=sendonly\\r\\n';\n  } else if (transceiver.rtpReceiver) {\n    sdp += 'a=recvonly\\r\\n';\n  } else {\n    sdp += 'a=inactive\\r\\n';\n  }\n\n  if (transceiver.rtpSender) {\n    // spec.\n    var msid = 'msid:' + stream.id + ' ' +\n        transceiver.rtpSender.track.id + '\\r\\n';\n    sdp += 'a=' + msid;\n\n    // for Chrome.\n    sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc +\n        ' ' + msid;\n    if (transceiver.sendEncodingParameters[0].rtx) {\n      sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc +\n          ' ' + msid;\n      sdp += 'a=ssrc-group:FID ' +\n          transceiver.sendEncodingParameters[0].ssrc + ' ' +\n          transceiver.sendEncodingParameters[0].rtx.ssrc +\n          '\\r\\n';\n    }\n  }\n  // FIXME: this should be written by writeRtpDescription.\n  sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc +\n      ' cname:' + SDPUtils.localCName + '\\r\\n';\n  if (transceiver.rtpSender && transceiver.sendEncodingParameters[0].rtx) {\n    sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc +\n        ' cname:' + SDPUtils.localCName + '\\r\\n';\n  }\n  return sdp;\n};\n\n// Gets the direction from the mediaSection or the sessionpart.\nSDPUtils.getDirection = function(mediaSection, sessionpart) {\n  // Look for sendrecv, sendonly, recvonly, inactive, default to sendrecv.\n  var lines = SDPUtils.splitLines(mediaSection);\n  for (var i = 0; i < lines.length; i++) {\n    switch (lines[i]) {\n      case 'a=sendrecv':\n      case 'a=sendonly':\n      case 'a=recvonly':\n      case 'a=inactive':\n        return lines[i].substr(2);\n      default:\n        // FIXME: What should happen here?\n    }\n  }\n  if (sessionpart) {\n    return SDPUtils.getDirection(sessionpart);\n  }\n  return 'sendrecv';\n};\n\nSDPUtils.getKind = function(mediaSection) {\n  var lines = SDPUtils.splitLines(mediaSection);\n  var mline = lines[0].split(' ');\n  return mline[0].substr(2);\n};\n\nSDPUtils.isRejected = function(mediaSection) {\n  return mediaSection.split(' ', 2)[1] === '0';\n};\n\nSDPUtils.parseMLine = function(mediaSection) {\n  var lines = SDPUtils.splitLines(mediaSection);\n  var mline = lines[0].split(' ');\n  return {\n    kind: mline[0].substr(2),\n    port: parseInt(mline[1], 10),\n    protocol: mline[2],\n    fmt: mline.slice(3).join(' ')\n  };\n};\n\n// Expose public methods.\nif (typeof module === 'object') {\n  module.exports = SDPUtils;\n}\n"
    },
    {
      "id": 170,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/adapter_core.js",
      "name": "./~/webrtc-adapter/src/js/adapter_core.js",
      "index": 92,
      "index2": 102,
      "size": 374,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/Browser.js",
      "issuerId": 91,
      "issuerName": "./src/definitions/Browser.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 91,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/babel-loader/lib/index.js!/Users/lebrisfranck/webrtc/reach/src/definitions/Browser.js",
          "module": "./src/definitions/Browser.js",
          "moduleName": "./src/definitions/Browser.js",
          "type": "cjs require",
          "userRequest": "webrtc-adapter",
          "loc": "1:355-380"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 2,
      "source": "/*\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\n'use strict';\n\nvar adapterFactory = require('./adapter_factory.js');\nmodule.exports = adapterFactory({window: global.window});\n"
    },
    {
      "id": 171,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/adapter_factory.js",
      "name": "./~/webrtc-adapter/src/js/adapter_factory.js",
      "index": 94,
      "index2": 101,
      "size": 4243,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/adapter_core.js",
      "issuerId": 170,
      "issuerName": "./~/webrtc-adapter/src/js/adapter_core.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 170,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/adapter_core.js",
          "module": "./~/webrtc-adapter/src/js/adapter_core.js",
          "moduleName": "./~/webrtc-adapter/src/js/adapter_core.js",
          "type": "cjs require",
          "userRequest": "./adapter_factory.js",
          "loc": "12:21-52"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 3,
      "source": "/*\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\n'use strict';\n\n// Shimming starts here.\nmodule.exports = function(dependencies, opts) {\n  var window = dependencies && dependencies.window;\n\n  var options = {\n    shimChrome: true,\n    shimFirefox: true,\n    shimEdge: true,\n    shimSafari: true,\n  };\n\n  for (var key in opts) {\n    if (hasOwnProperty.call(opts, key)) {\n      options[key] = opts[key];\n    }\n  }\n\n  // Utils.\n  var utils = require('./utils');\n  var logging = utils.log;\n  var browserDetails = utils.detectBrowser(window);\n\n  // Export to the adapter global object visible in the browser.\n  var adapter = {\n    browserDetails: browserDetails,\n    extractVersion: utils.extractVersion,\n    disableLog: utils.disableLog,\n    disableWarnings: utils.disableWarnings\n  };\n\n  // Uncomment the line below if you want logging to occur, including logging\n  // for the switch statement below. Can also be turned on in the browser via\n  // adapter.disableLog(false), but then logging from the switch statement below\n  // will not appear.\n  // require('./utils').disableLog(false);\n\n  // Browser shims.\n  var chromeShim = require('./chrome/chrome_shim') || null;\n  var edgeShim = require('./edge/edge_shim') || null;\n  var firefoxShim = require('./firefox/firefox_shim') || null;\n  var safariShim = require('./safari/safari_shim') || null;\n\n  // Shim browser if found.\n  switch (browserDetails.browser) {\n    case 'chrome':\n      if (!chromeShim || !chromeShim.shimPeerConnection ||\n          !options.shimChrome) {\n        logging('Chrome shim is not included in this adapter release.');\n        return adapter;\n      }\n      logging('adapter.js shimming chrome.');\n      // Export to the adapter global object visible in the browser.\n      adapter.browserShim = chromeShim;\n\n      chromeShim.shimGetUserMedia(window);\n      chromeShim.shimMediaStream(window);\n      utils.shimCreateObjectURL(window);\n      chromeShim.shimSourceObject(window);\n      chromeShim.shimPeerConnection(window);\n      chromeShim.shimOnTrack(window);\n      chromeShim.shimAddTrackRemoveTrack(window);\n      chromeShim.shimGetSendersWithDtmf(window);\n      break;\n    case 'firefox':\n      if (!firefoxShim || !firefoxShim.shimPeerConnection ||\n          !options.shimFirefox) {\n        logging('Firefox shim is not included in this adapter release.');\n        return adapter;\n      }\n      logging('adapter.js shimming firefox.');\n      // Export to the adapter global object visible in the browser.\n      adapter.browserShim = firefoxShim;\n\n      firefoxShim.shimGetUserMedia(window);\n      utils.shimCreateObjectURL(window);\n      firefoxShim.shimSourceObject(window);\n      firefoxShim.shimPeerConnection(window);\n      firefoxShim.shimOnTrack(window);\n      break;\n    case 'edge':\n      if (!edgeShim || !edgeShim.shimPeerConnection || !options.shimEdge) {\n        logging('MS edge shim is not included in this adapter release.');\n        return adapter;\n      }\n      logging('adapter.js shimming edge.');\n      // Export to the adapter global object visible in the browser.\n      adapter.browserShim = edgeShim;\n\n      edgeShim.shimGetUserMedia(window);\n      utils.shimCreateObjectURL(window);\n      edgeShim.shimPeerConnection(window);\n      edgeShim.shimReplaceTrack(window);\n      break;\n    case 'safari':\n      if (!safariShim || !options.shimSafari) {\n        logging('Safari shim is not included in this adapter release.');\n        return adapter;\n      }\n      logging('adapter.js shimming safari.');\n      // Export to the adapter global object visible in the browser.\n      adapter.browserShim = safariShim;\n      // shim window.URL.createObjectURL Safari (technical preview)\n      utils.shimCreateObjectURL(window);\n      safariShim.shimRTCIceServerUrls(window);\n      safariShim.shimCallbacksAPI(window);\n      safariShim.shimLocalStreamsAPI(window);\n      safariShim.shimRemoteStreamsAPI(window);\n      safariShim.shimGetUserMedia(window);\n      break;\n    default:\n      logging('Unsupported browser!');\n      break;\n  }\n\n  return adapter;\n};\n"
    },
    {
      "id": 172,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/chrome/chrome_shim.js",
      "name": "./~/webrtc-adapter/src/js/chrome/chrome_shim.js",
      "index": 96,
      "index2": 93,
      "size": 21607,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/adapter_factory.js",
      "issuerId": 171,
      "issuerName": "./~/webrtc-adapter/src/js/adapter_factory.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 171,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/adapter_factory.js",
          "module": "./~/webrtc-adapter/src/js/adapter_factory.js",
          "moduleName": "./~/webrtc-adapter/src/js/adapter_factory.js",
          "type": "cjs require",
          "userRequest": "./chrome/chrome_shim",
          "loc": "49:19-50"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "\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';\nvar utils = require('../utils.js');\nvar logging = utils.log;\n\nvar chromeShim = {\n  shimMediaStream: function(window) {\n    window.MediaStream = window.MediaStream || window.webkitMediaStream;\n  },\n\n  shimOnTrack: function(window) {\n    if (typeof window === 'object' && window.RTCPeerConnection && !('ontrack' in\n        window.RTCPeerConnection.prototype)) {\n      Object.defineProperty(window.RTCPeerConnection.prototype, 'ontrack', {\n        get: function() {\n          return this._ontrack;\n        },\n        set: function(f) {\n          if (this._ontrack) {\n            this.removeEventListener('track', this._ontrack);\n          }\n          this.addEventListener('track', this._ontrack = f);\n        }\n      });\n      var origSetRemoteDescription =\n          window.RTCPeerConnection.prototype.setRemoteDescription;\n      window.RTCPeerConnection.prototype.setRemoteDescription = function() {\n        var pc = this;\n        if (!pc._ontrackpoly) {\n          pc._ontrackpoly = function(e) {\n            // onaddstream does not fire when a track is added to an existing\n            // stream. But stream.onaddtrack is implemented so we use that.\n            e.stream.addEventListener('addtrack', function(te) {\n              var receiver;\n              if (window.RTCPeerConnection.prototype.getReceivers) {\n                receiver = pc.getReceivers().find(function(r) {\n                  return r.track && r.track.id === te.track.id;\n                });\n              } else {\n                receiver = {track: te.track};\n              }\n\n              var event = new Event('track');\n              event.track = te.track;\n              event.receiver = receiver;\n              event.streams = [e.stream];\n              pc.dispatchEvent(event);\n            });\n            e.stream.getTracks().forEach(function(track) {\n              var receiver;\n              if (window.RTCPeerConnection.prototype.getReceivers) {\n                receiver = pc.getReceivers().find(function(r) {\n                  return r.track && r.track.id === track.id;\n                });\n              } else {\n                receiver = {track: track};\n              }\n              var event = new Event('track');\n              event.track = track;\n              event.receiver = receiver;\n              event.streams = [e.stream];\n              pc.dispatchEvent(event);\n            });\n          };\n          pc.addEventListener('addstream', pc._ontrackpoly);\n        }\n        return origSetRemoteDescription.apply(pc, arguments);\n      };\n    }\n  },\n\n  shimGetSendersWithDtmf: function(window) {\n    // Overrides addTrack/removeTrack, depends on shimAddTrackRemoveTrack.\n    if (typeof window === 'object' && window.RTCPeerConnection &&\n        !('getSenders' in window.RTCPeerConnection.prototype) &&\n        'createDTMFSender' in window.RTCPeerConnection.prototype) {\n      var shimSenderWithDtmf = function(pc, track) {\n        return {\n          track: track,\n          get dtmf() {\n            if (this._dtmf === undefined) {\n              if (track.kind === 'audio') {\n                this._dtmf = pc.createDTMFSender(track);\n              } else {\n                this._dtmf = null;\n              }\n            }\n            return this._dtmf;\n          },\n          _pc: pc\n        };\n      };\n\n      // augment addTrack when getSenders is not available.\n      if (!window.RTCPeerConnection.prototype.getSenders) {\n        window.RTCPeerConnection.prototype.getSenders = function() {\n          this._senders = this._senders || [];\n          return this._senders.slice(); // return a copy of the internal state.\n        };\n        var origAddTrack = window.RTCPeerConnection.prototype.addTrack;\n        window.RTCPeerConnection.prototype.addTrack = function(track, stream) {\n          var pc = this;\n          var sender = origAddTrack.apply(pc, arguments);\n          if (!sender) {\n            sender = shimSenderWithDtmf(pc, track);\n            pc._senders.push(sender);\n          }\n          return sender;\n        };\n\n        var origRemoveTrack = window.RTCPeerConnection.prototype.removeTrack;\n        window.RTCPeerConnection.prototype.removeTrack = function(sender) {\n          var pc = this;\n          origRemoveTrack.apply(pc, arguments);\n          var idx = pc._senders.indexOf(sender);\n          if (idx !== -1) {\n            pc._senders.splice(idx, 1);\n          }\n        };\n      }\n      var origAddStream = window.RTCPeerConnection.prototype.addStream;\n      window.RTCPeerConnection.prototype.addStream = function(stream) {\n        var pc = this;\n        pc._senders = pc._senders || [];\n        origAddStream.apply(pc, [stream]);\n        stream.getTracks().forEach(function(track) {\n          pc._senders.push(shimSenderWithDtmf(pc, track));\n        });\n      };\n\n      var origRemoveStream = window.RTCPeerConnection.prototype.removeStream;\n      window.RTCPeerConnection.prototype.removeStream = function(stream) {\n        var pc = this;\n        pc._senders = pc._senders || [];\n        origRemoveStream.apply(pc, [(pc._streams[stream.id] || stream)]);\n\n        stream.getTracks().forEach(function(track) {\n          var sender = pc._senders.find(function(s) {\n            return s.track === track;\n          });\n          if (sender) {\n            pc._senders.splice(pc._senders.indexOf(sender), 1); // remove sender\n          }\n        });\n      };\n    } else if (typeof window === 'object' && window.RTCPeerConnection &&\n               'getSenders' in window.RTCPeerConnection.prototype &&\n               'createDTMFSender' in window.RTCPeerConnection.prototype &&\n               window.RTCRtpSender &&\n               !('dtmf' in window.RTCRtpSender.prototype)) {\n      var origGetSenders = window.RTCPeerConnection.prototype.getSenders;\n      window.RTCPeerConnection.prototype.getSenders = function() {\n        var pc = this;\n        var senders = origGetSenders.apply(pc, []);\n        senders.forEach(function(sender) {\n          sender._pc = pc;\n        });\n        return senders;\n      };\n\n      Object.defineProperty(window.RTCRtpSender.prototype, 'dtmf', {\n        get: function() {\n          if (this._dtmf === undefined) {\n            if (this.track.kind === 'audio') {\n              this._dtmf = this._pc.createDTMFSender(this.track);\n            } else {\n              this._dtmf = null;\n            }\n          }\n          return this._dtmf;\n        }\n      });\n    }\n  },\n\n  shimSourceObject: function(window) {\n    var URL = window && window.URL;\n\n    if (typeof window === 'object') {\n      if (window.HTMLMediaElement &&\n        !('srcObject' in window.HTMLMediaElement.prototype)) {\n        // Shim the srcObject property, once, when HTMLMediaElement is found.\n        Object.defineProperty(window.HTMLMediaElement.prototype, 'srcObject', {\n          get: function() {\n            return this._srcObject;\n          },\n          set: function(stream) {\n            var self = this;\n            // Use _srcObject as a private property for this shim\n            this._srcObject = stream;\n            if (this.src) {\n              URL.revokeObjectURL(this.src);\n            }\n\n            if (!stream) {\n              this.src = '';\n              return undefined;\n            }\n            this.src = URL.createObjectURL(stream);\n            // We need to recreate the blob url when a track is added or\n            // removed. Doing it manually since we want to avoid a recursion.\n            stream.addEventListener('addtrack', function() {\n              if (self.src) {\n                URL.revokeObjectURL(self.src);\n              }\n              self.src = URL.createObjectURL(stream);\n            });\n            stream.addEventListener('removetrack', function() {\n              if (self.src) {\n                URL.revokeObjectURL(self.src);\n              }\n              self.src = URL.createObjectURL(stream);\n            });\n          }\n        });\n      }\n    }\n  },\n\n  shimAddTrackRemoveTrack: function(window) {\n    // shim addTrack and removeTrack.\n    if (window.RTCPeerConnection.prototype.addTrack) {\n      return;\n    }\n\n    // also shim pc.getLocalStreams when addTrack is shimmed\n    // to return the original streams.\n    var origGetLocalStreams = window.RTCPeerConnection.prototype\n        .getLocalStreams;\n    window.RTCPeerConnection.prototype.getLocalStreams = function() {\n      var self = this;\n      var nativeStreams = origGetLocalStreams.apply(this);\n      self._reverseStreams = self._reverseStreams || {};\n      return nativeStreams.map(function(stream) {\n        return self._reverseStreams[stream.id];\n      });\n    };\n\n    var origAddStream = window.RTCPeerConnection.prototype.addStream;\n    window.RTCPeerConnection.prototype.addStream = function(stream) {\n      var pc = this;\n      pc._streams = pc._streams || {};\n      pc._reverseStreams = pc._reverseStreams || {};\n\n      stream.getTracks().forEach(function(track) {\n        var alreadyExists = pc.getSenders().find(function(s) {\n          return s.track === track;\n        });\n        if (alreadyExists) {\n          throw new DOMException('Track already exists.',\n              'InvalidAccessError');\n        }\n      });\n      // Add identity mapping for consistency with addTrack.\n      // Unless this is being used with a stream from addTrack.\n      if (!pc._reverseStreams[stream.id]) {\n        var newStream = new window.MediaStream(stream.getTracks());\n        pc._streams[stream.id] = newStream;\n        pc._reverseStreams[newStream.id] = stream;\n        stream = newStream;\n      }\n      origAddStream.apply(pc, [stream]);\n    };\n\n    var origRemoveStream = window.RTCPeerConnection.prototype.removeStream;\n    window.RTCPeerConnection.prototype.removeStream = function(stream) {\n      var pc = this;\n      pc._streams = pc._streams || {};\n      pc._reverseStreams = pc._reverseStreams || {};\n\n      origRemoveStream.apply(pc, [(pc._streams[stream.id] || stream)]);\n      delete pc._reverseStreams[(pc._streams[stream.id] ?\n          pc._streams[stream.id].id : stream.id)];\n      delete pc._streams[stream.id];\n    };\n\n    window.RTCPeerConnection.prototype.addTrack = function(track, stream) {\n      var pc = this;\n      if (pc.signalingState === 'closed') {\n        throw new DOMException(\n          'The RTCPeerConnection\\'s signalingState is \\'closed\\'.',\n          'InvalidStateError');\n      }\n      var streams = [].slice.call(arguments, 1);\n      if (streams.length !== 1 ||\n          !streams[0].getTracks().find(function(t) {\n            return t === track;\n          })) {\n        // this is not fully correct but all we can manage without\n        // [[associated MediaStreams]] internal slot.\n        throw new DOMException(\n          'The adapter.js addTrack polyfill only supports a single ' +\n          ' stream which is associated with the specified track.',\n          'NotSupportedError');\n      }\n\n      var alreadyExists = pc.getSenders().find(function(s) {\n        return s.track === track;\n      });\n      if (alreadyExists) {\n        throw new DOMException('Track already exists.',\n            'InvalidAccessError');\n      }\n\n      pc._streams = pc._streams || {};\n      pc._reverseStreams = pc._reverseStreams || {};\n      var oldStream = pc._streams[stream.id];\n      if (oldStream) {\n        // this is using odd Chrome behaviour, use with caution:\n        // https://bugs.chromium.org/p/webrtc/issues/detail?id=7815\n        // Note: we rely on the high-level addTrack/dtmf shim to\n        // create the sender with a dtmf sender.\n        oldStream.addTrack(track);\n        pc.dispatchEvent(new Event('negotiationneeded'));\n      } else {\n        var newStream = new window.MediaStream([track]);\n        pc._streams[stream.id] = newStream;\n        pc._reverseStreams[newStream.id] = stream;\n        pc.addStream(newStream);\n      }\n      return pc.getSenders().find(function(s) {\n        return s.track === track;\n      });\n    };\n\n    window.RTCPeerConnection.prototype.removeTrack = function(sender) {\n      var pc = this;\n      if (pc.signalingState === 'closed') {\n        throw new DOMException(\n          'The RTCPeerConnection\\'s signalingState is \\'closed\\'.',\n          'InvalidStateError');\n      }\n      // We can not yet check for sender instanceof RTCRtpSender\n      // since we shim RTPSender. So we check if sender._pc is set.\n      if (!sender._pc) {\n        throw new DOMException('Argument 1 of RTCPeerConnection.removeTrack ' +\n            'does not implement interface RTCRtpSender.', 'TypeError');\n      }\n      var isLocal = sender._pc === pc;\n      if (!isLocal) {\n        throw new DOMException('Sender was not created by this connection.',\n            'InvalidAccessError');\n      }\n\n      // Search for the native stream the senders track belongs to.\n      pc._streams = pc._streams || {};\n      var stream;\n      Object.keys(pc._streams).forEach(function(streamid) {\n        var hasTrack = pc._streams[streamid].getTracks().find(function(track) {\n          return sender.track === track;\n        });\n        if (hasTrack) {\n          stream = pc._streams[streamid];\n        }\n      });\n\n      if (stream) {\n        if (stream.getTracks().length === 1) {\n          // if this is the last track of the stream, remove the stream. This\n          // takes care of any shimmed _senders.\n          pc.removeStream(stream);\n        } else {\n          // relying on the same odd chrome behaviour as above.\n          stream.removeTrack(sender.track);\n        }\n        pc.dispatchEvent(new Event('negotiationneeded'));\n      }\n    };\n  },\n\n  shimPeerConnection: function(window) {\n    var browserDetails = utils.detectBrowser(window);\n\n    // The RTCPeerConnection object.\n    if (!window.RTCPeerConnection) {\n      window.RTCPeerConnection = function(pcConfig, pcConstraints) {\n        // Translate iceTransportPolicy to iceTransports,\n        // see https://code.google.com/p/webrtc/issues/detail?id=4869\n        // this was fixed in M56 along with unprefixing RTCPeerConnection.\n        logging('PeerConnection');\n        if (pcConfig && pcConfig.iceTransportPolicy) {\n          pcConfig.iceTransports = pcConfig.iceTransportPolicy;\n        }\n\n        return new window.webkitRTCPeerConnection(pcConfig, pcConstraints);\n      };\n      window.RTCPeerConnection.prototype =\n          window.webkitRTCPeerConnection.prototype;\n      // wrap static methods. Currently just generateCertificate.\n      if (window.webkitRTCPeerConnection.generateCertificate) {\n        Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', {\n          get: function() {\n            return window.webkitRTCPeerConnection.generateCertificate;\n          }\n        });\n      }\n    } else {\n      // migrate from non-spec RTCIceServer.url to RTCIceServer.urls\n      var OrigPeerConnection = window.RTCPeerConnection;\n      window.RTCPeerConnection = function(pcConfig, pcConstraints) {\n        if (pcConfig && pcConfig.iceServers) {\n          var newIceServers = [];\n          for (var i = 0; i < pcConfig.iceServers.length; i++) {\n            var server = pcConfig.iceServers[i];\n            if (!server.hasOwnProperty('urls') &&\n                server.hasOwnProperty('url')) {\n              utils.deprecated('RTCIceServer.url', 'RTCIceServer.urls');\n              server = JSON.parse(JSON.stringify(server));\n              server.urls = server.url;\n              newIceServers.push(server);\n            } else {\n              newIceServers.push(pcConfig.iceServers[i]);\n            }\n          }\n          pcConfig.iceServers = newIceServers;\n        }\n        return new OrigPeerConnection(pcConfig, pcConstraints);\n      };\n      window.RTCPeerConnection.prototype = OrigPeerConnection.prototype;\n      // wrap static methods. Currently just generateCertificate.\n      Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', {\n        get: function() {\n          return OrigPeerConnection.generateCertificate;\n        }\n      });\n    }\n\n    var origGetStats = window.RTCPeerConnection.prototype.getStats;\n    window.RTCPeerConnection.prototype.getStats = function(selector,\n        successCallback, errorCallback) {\n      var self = this;\n      var args = arguments;\n\n      // If selector is a function then we are in the old style stats so just\n      // pass back the original getStats format to avoid breaking old users.\n      if (arguments.length > 0 && typeof selector === 'function') {\n        return origGetStats.apply(this, arguments);\n      }\n\n      // When spec-style getStats is supported, return those when called with\n      // either no arguments or the selector argument is null.\n      if (origGetStats.length === 0 && (arguments.length === 0 ||\n          typeof arguments[0] !== 'function')) {\n        return origGetStats.apply(this, []);\n      }\n\n      var fixChromeStats_ = function(response) {\n        var standardReport = {};\n        var reports = response.result();\n        reports.forEach(function(report) {\n          var standardStats = {\n            id: report.id,\n            timestamp: report.timestamp,\n            type: {\n              localcandidate: 'local-candidate',\n              remotecandidate: 'remote-candidate'\n            }[report.type] || report.type\n          };\n          report.names().forEach(function(name) {\n            standardStats[name] = report.stat(name);\n          });\n          standardReport[standardStats.id] = standardStats;\n        });\n\n        return standardReport;\n      };\n\n      // shim getStats with maplike support\n      var makeMapStats = function(stats) {\n        return new Map(Object.keys(stats).map(function(key) {\n          return [key, stats[key]];\n        }));\n      };\n\n      if (arguments.length >= 2) {\n        var successCallbackWrapper_ = function(response) {\n          args[1](makeMapStats(fixChromeStats_(response)));\n        };\n\n        return origGetStats.apply(this, [successCallbackWrapper_,\n          arguments[0]]);\n      }\n\n      // promise-support\n      return new Promise(function(resolve, reject) {\n        origGetStats.apply(self, [\n          function(response) {\n            resolve(makeMapStats(fixChromeStats_(response)));\n          }, reject]);\n      }).then(successCallback, errorCallback);\n    };\n\n    // add promise support -- natively available in Chrome 51\n    if (browserDetails.version < 51) {\n      ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate']\n          .forEach(function(method) {\n            var nativeMethod = window.RTCPeerConnection.prototype[method];\n            window.RTCPeerConnection.prototype[method] = function() {\n              var args = arguments;\n              var self = this;\n              var promise = new Promise(function(resolve, reject) {\n                nativeMethod.apply(self, [args[0], resolve, reject]);\n              });\n              if (args.length < 2) {\n                return promise;\n              }\n              return promise.then(function() {\n                args[1].apply(null, []);\n              },\n              function(err) {\n                if (args.length >= 3) {\n                  args[2].apply(null, [err]);\n                }\n              });\n            };\n          });\n    }\n\n    // promise support for createOffer and createAnswer. Available (without\n    // bugs) since M52: crbug/619289\n    if (browserDetails.version < 52) {\n      ['createOffer', 'createAnswer'].forEach(function(method) {\n        var nativeMethod = window.RTCPeerConnection.prototype[method];\n        window.RTCPeerConnection.prototype[method] = function() {\n          var self = this;\n          if (arguments.length < 1 || (arguments.length === 1 &&\n              typeof arguments[0] === 'object')) {\n            var opts = arguments.length === 1 ? arguments[0] : undefined;\n            return new Promise(function(resolve, reject) {\n              nativeMethod.apply(self, [resolve, reject, opts]);\n            });\n          }\n          return nativeMethod.apply(this, arguments);\n        };\n      });\n    }\n\n    // shim implicit creation of RTCSessionDescription/RTCIceCandidate\n    ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate']\n        .forEach(function(method) {\n          var nativeMethod = window.RTCPeerConnection.prototype[method];\n          window.RTCPeerConnection.prototype[method] = function() {\n            arguments[0] = new ((method === 'addIceCandidate') ?\n                window.RTCIceCandidate :\n                window.RTCSessionDescription)(arguments[0]);\n            return nativeMethod.apply(this, arguments);\n          };\n        });\n\n    // support for addIceCandidate(null or undefined)\n    var nativeAddIceCandidate =\n        window.RTCPeerConnection.prototype.addIceCandidate;\n    window.RTCPeerConnection.prototype.addIceCandidate = function() {\n      if (!arguments[0]) {\n        if (arguments[1]) {\n          arguments[1].apply(null);\n        }\n        return Promise.resolve();\n      }\n      return nativeAddIceCandidate.apply(this, arguments);\n    };\n  }\n};\n\n\n// Expose public methods.\nmodule.exports = {\n  shimMediaStream: chromeShim.shimMediaStream,\n  shimOnTrack: chromeShim.shimOnTrack,\n  shimAddTrackRemoveTrack: chromeShim.shimAddTrackRemoveTrack,\n  shimGetSendersWithDtmf: chromeShim.shimGetSendersWithDtmf,\n  shimSourceObject: chromeShim.shimSourceObject,\n  shimPeerConnection: chromeShim.shimPeerConnection,\n  shimGetUserMedia: require('./getusermedia')\n};\n"
    },
    {
      "id": 173,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/chrome/getusermedia.js",
      "name": "./~/webrtc-adapter/src/js/chrome/getusermedia.js",
      "index": 97,
      "index2": 92,
      "size": 8510,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/chrome/chrome_shim.js",
      "issuerId": 172,
      "issuerName": "./~/webrtc-adapter/src/js/chrome/chrome_shim.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 172,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/chrome/chrome_shim.js",
          "module": "./~/webrtc-adapter/src/js/chrome/chrome_shim.js",
          "moduleName": "./~/webrtc-adapter/src/js/chrome/chrome_shim.js",
          "type": "cjs require",
          "userRequest": "./getusermedia",
          "loc": "582:20-45"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "/*\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';\nvar utils = require('../utils.js');\nvar logging = utils.log;\n\n// Expose public methods.\nmodule.exports = function(window) {\n  var browserDetails = utils.detectBrowser(window);\n  var navigator = window && window.navigator;\n\n  var constraintsToChrome_ = function(c) {\n    if (typeof c !== 'object' || c.mandatory || c.optional) {\n      return c;\n    }\n    var cc = {};\n    Object.keys(c).forEach(function(key) {\n      if (key === 'require' || key === 'advanced' || key === 'mediaSource') {\n        return;\n      }\n      var r = (typeof c[key] === 'object') ? c[key] : {ideal: c[key]};\n      if (r.exact !== undefined && typeof r.exact === 'number') {\n        r.min = r.max = r.exact;\n      }\n      var oldname_ = function(prefix, name) {\n        if (prefix) {\n          return prefix + name.charAt(0).toUpperCase() + name.slice(1);\n        }\n        return (name === 'deviceId') ? 'sourceId' : name;\n      };\n      if (r.ideal !== undefined) {\n        cc.optional = cc.optional || [];\n        var oc = {};\n        if (typeof r.ideal === 'number') {\n          oc[oldname_('min', key)] = r.ideal;\n          cc.optional.push(oc);\n          oc = {};\n          oc[oldname_('max', key)] = r.ideal;\n          cc.optional.push(oc);\n        } else {\n          oc[oldname_('', key)] = r.ideal;\n          cc.optional.push(oc);\n        }\n      }\n      if (r.exact !== undefined && typeof r.exact !== 'number') {\n        cc.mandatory = cc.mandatory || {};\n        cc.mandatory[oldname_('', key)] = r.exact;\n      } else {\n        ['min', 'max'].forEach(function(mix) {\n          if (r[mix] !== undefined) {\n            cc.mandatory = cc.mandatory || {};\n            cc.mandatory[oldname_(mix, key)] = r[mix];\n          }\n        });\n      }\n    });\n    if (c.advanced) {\n      cc.optional = (cc.optional || []).concat(c.advanced);\n    }\n    return cc;\n  };\n\n  var shimConstraints_ = function(constraints, func) {\n    constraints = JSON.parse(JSON.stringify(constraints));\n    if (constraints && typeof constraints.audio === 'object') {\n      var remap = function(obj, a, b) {\n        if (a in obj && !(b in obj)) {\n          obj[b] = obj[a];\n          delete obj[a];\n        }\n      };\n      constraints = JSON.parse(JSON.stringify(constraints));\n      remap(constraints.audio, 'autoGainControl', 'googAutoGainControl');\n      remap(constraints.audio, 'noiseSuppression', 'googNoiseSuppression');\n      constraints.audio = constraintsToChrome_(constraints.audio);\n    }\n    if (constraints && typeof constraints.video === 'object') {\n      // Shim facingMode for mobile & surface pro.\n      var face = constraints.video.facingMode;\n      face = face && ((typeof face === 'object') ? face : {ideal: face});\n      var getSupportedFacingModeLies = browserDetails.version < 61;\n\n      if ((face && (face.exact === 'user' || face.exact === 'environment' ||\n                    face.ideal === 'user' || face.ideal === 'environment')) &&\n          !(navigator.mediaDevices.getSupportedConstraints &&\n            navigator.mediaDevices.getSupportedConstraints().facingMode &&\n            !getSupportedFacingModeLies)) {\n        delete constraints.video.facingMode;\n        var matches;\n        if (face.exact === 'environment' || face.ideal === 'environment') {\n          matches = ['back', 'rear'];\n        } else if (face.exact === 'user' || face.ideal === 'user') {\n          matches = ['front'];\n        }\n        if (matches) {\n          // Look for matches in label, or use last cam for back (typical).\n          return navigator.mediaDevices.enumerateDevices()\n          .then(function(devices) {\n            devices = devices.filter(function(d) {\n              return d.kind === 'videoinput';\n            });\n            var dev = devices.find(function(d) {\n              return matches.some(function(match) {\n                return d.label.toLowerCase().indexOf(match) !== -1;\n              });\n            });\n            if (!dev && devices.length && matches.indexOf('back') !== -1) {\n              dev = devices[devices.length - 1]; // more likely the back cam\n            }\n            if (dev) {\n              constraints.video.deviceId = face.exact ? {exact: dev.deviceId} :\n                                                        {ideal: dev.deviceId};\n            }\n            constraints.video = constraintsToChrome_(constraints.video);\n            logging('chrome: ' + JSON.stringify(constraints));\n            return func(constraints);\n          });\n        }\n      }\n      constraints.video = constraintsToChrome_(constraints.video);\n    }\n    logging('chrome: ' + JSON.stringify(constraints));\n    return func(constraints);\n  };\n\n  var shimError_ = function(e) {\n    return {\n      name: {\n        PermissionDeniedError: 'NotAllowedError',\n        InvalidStateError: 'NotReadableError',\n        DevicesNotFoundError: 'NotFoundError',\n        ConstraintNotSatisfiedError: 'OverconstrainedError',\n        TrackStartError: 'NotReadableError',\n        MediaDeviceFailedDueToShutdown: 'NotReadableError',\n        MediaDeviceKillSwitchOn: 'NotReadableError'\n      }[e.name] || e.name,\n      message: e.message,\n      constraint: e.constraintName,\n      toString: function() {\n        return this.name + (this.message && ': ') + this.message;\n      }\n    };\n  };\n\n  var getUserMedia_ = function(constraints, onSuccess, onError) {\n    shimConstraints_(constraints, function(c) {\n      navigator.webkitGetUserMedia(c, onSuccess, function(e) {\n        onError(shimError_(e));\n      });\n    });\n  };\n\n  navigator.getUserMedia = getUserMedia_;\n\n  // Returns the result of getUserMedia as a Promise.\n  var getUserMediaPromise_ = function(constraints) {\n    return new Promise(function(resolve, reject) {\n      navigator.getUserMedia(constraints, resolve, reject);\n    });\n  };\n\n  if (!navigator.mediaDevices) {\n    navigator.mediaDevices = {\n      getUserMedia: getUserMediaPromise_,\n      enumerateDevices: function() {\n        return new Promise(function(resolve) {\n          var kinds = {audio: 'audioinput', video: 'videoinput'};\n          return window.MediaStreamTrack.getSources(function(devices) {\n            resolve(devices.map(function(device) {\n              return {label: device.label,\n                kind: kinds[device.kind],\n                deviceId: device.id,\n                groupId: ''};\n            }));\n          });\n        });\n      },\n      getSupportedConstraints: function() {\n        return {\n          deviceId: true, echoCancellation: true, facingMode: true,\n          frameRate: true, height: true, width: true\n        };\n      }\n    };\n  }\n\n  // A shim for getUserMedia method on the mediaDevices object.\n  // TODO(KaptenJansson) remove once implemented in Chrome stable.\n  if (!navigator.mediaDevices.getUserMedia) {\n    navigator.mediaDevices.getUserMedia = function(constraints) {\n      return getUserMediaPromise_(constraints);\n    };\n  } else {\n    // Even though Chrome 45 has navigator.mediaDevices and a getUserMedia\n    // function which returns a Promise, it does not accept spec-style\n    // constraints.\n    var origGetUserMedia = navigator.mediaDevices.getUserMedia.\n        bind(navigator.mediaDevices);\n    navigator.mediaDevices.getUserMedia = function(cs) {\n      return shimConstraints_(cs, function(c) {\n        return origGetUserMedia(c).then(function(stream) {\n          if (c.audio && !stream.getAudioTracks().length ||\n              c.video && !stream.getVideoTracks().length) {\n            stream.getTracks().forEach(function(track) {\n              track.stop();\n            });\n            throw new DOMException('', 'NotFoundError');\n          }\n          return stream;\n        }, function(e) {\n          return Promise.reject(shimError_(e));\n        });\n      });\n    };\n  }\n\n  // Dummy devicechange event methods.\n  // TODO(KaptenJansson) remove once implemented in Chrome stable.\n  if (typeof navigator.mediaDevices.addEventListener === 'undefined') {\n    navigator.mediaDevices.addEventListener = function() {\n      logging('Dummy mediaDevices.addEventListener called.');\n    };\n  }\n  if (typeof navigator.mediaDevices.removeEventListener === 'undefined') {\n    navigator.mediaDevices.removeEventListener = function() {\n      logging('Dummy mediaDevices.removeEventListener called.');\n    };\n  }\n};\n"
    },
    {
      "id": 174,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/edge/edge_shim.js",
      "name": "./~/webrtc-adapter/src/js/edge/edge_shim.js",
      "index": 98,
      "index2": 97,
      "size": 2815,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/adapter_factory.js",
      "issuerId": 171,
      "issuerName": "./~/webrtc-adapter/src/js/adapter_factory.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 171,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/adapter_factory.js",
          "module": "./~/webrtc-adapter/src/js/adapter_factory.js",
          "moduleName": "./~/webrtc-adapter/src/js/adapter_factory.js",
          "type": "cjs require",
          "userRequest": "./edge/edge_shim",
          "loc": "50:17-44"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "/*\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 utils = require('../utils');\nvar shimRTCPeerConnection = require('./rtcpeerconnection_shim');\n\nmodule.exports = {\n  shimGetUserMedia: require('./getusermedia'),\n  shimPeerConnection: function(window) {\n    var browserDetails = utils.detectBrowser(window);\n\n    if (window.RTCIceGatherer) {\n      // ORTC defines an RTCIceCandidate object but no constructor.\n      // Not implemented in Edge.\n      if (!window.RTCIceCandidate) {\n        window.RTCIceCandidate = function(args) {\n          return args;\n        };\n      }\n      // ORTC does not have a session description object but\n      // other browsers (i.e. Chrome) that will support both PC and ORTC\n      // in the future might have this defined already.\n      if (!window.RTCSessionDescription) {\n        window.RTCSessionDescription = function(args) {\n          return args;\n        };\n      }\n      // this adds an additional event listener to MediaStrackTrack that signals\n      // when a tracks enabled property was changed. Workaround for a bug in\n      // addStream, see below. No longer required in 15025+\n      if (browserDetails.version < 15025) {\n        var origMSTEnabled = Object.getOwnPropertyDescriptor(\n            window.MediaStreamTrack.prototype, 'enabled');\n        Object.defineProperty(window.MediaStreamTrack.prototype, 'enabled', {\n          set: function(value) {\n            origMSTEnabled.set.call(this, value);\n            var ev = new Event('enabled');\n            ev.enabled = value;\n            this.dispatchEvent(ev);\n          }\n        });\n      }\n    }\n\n    // ORTC defines the DTMF sender a bit different.\n    // https://github.com/w3c/ortc/issues/714\n    if (window.RTCRtpSender && !('dtmf' in window.RTCRtpSender.prototype)) {\n      Object.defineProperty(window.RTCRtpSender.prototype, 'dtmf', {\n        get: function() {\n          if (this._dtmf === undefined) {\n            if (this.track.kind === 'audio') {\n              this._dtmf = new window.RTCDtmfSender(this);\n            } else if (this.track.kind === 'video') {\n              this._dtmf = null;\n            }\n          }\n          return this._dtmf;\n        }\n      });\n    }\n\n    window.RTCPeerConnection =\n        shimRTCPeerConnection(window, browserDetails.version);\n  },\n  shimReplaceTrack: function(window) {\n    // ORTC has replaceTrack -- https://github.com/w3c/ortc/issues/614\n    if (window.RTCRtpSender &&\n        !('replaceTrack' in window.RTCRtpSender.prototype)) {\n      window.RTCRtpSender.prototype.replaceTrack =\n          window.RTCRtpSender.prototype.setTrack;\n    }\n  }\n};\n"
    },
    {
      "id": 175,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/edge/getusermedia.js",
      "name": "./~/webrtc-adapter/src/js/edge/getusermedia.js",
      "index": 101,
      "index2": 96,
      "size": 917,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/edge/edge_shim.js",
      "issuerId": 174,
      "issuerName": "./~/webrtc-adapter/src/js/edge/edge_shim.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 174,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/edge/edge_shim.js",
          "module": "./~/webrtc-adapter/src/js/edge/edge_shim.js",
          "moduleName": "./~/webrtc-adapter/src/js/edge/edge_shim.js",
          "type": "cjs require",
          "userRequest": "./getusermedia",
          "loc": "15:20-45"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "/*\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\n// Expose public methods.\nmodule.exports = function(window) {\n  var navigator = window && window.navigator;\n\n  var shimError_ = function(e) {\n    return {\n      name: {PermissionDeniedError: 'NotAllowedError'}[e.name] || e.name,\n      message: e.message,\n      constraint: e.constraint,\n      toString: function() {\n        return this.name;\n      }\n    };\n  };\n\n  // getUserMedia error shim.\n  var origGetUserMedia = navigator.mediaDevices.getUserMedia.\n      bind(navigator.mediaDevices);\n  navigator.mediaDevices.getUserMedia = function(c) {\n    return origGetUserMedia(c).catch(function(e) {\n      return Promise.reject(shimError_(e));\n    });\n  };\n};\n"
    },
    {
      "id": 176,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/edge/rtcpeerconnection_shim.js",
      "name": "./~/webrtc-adapter/src/js/edge/rtcpeerconnection_shim.js",
      "index": 99,
      "index2": 95,
      "size": 47600,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/edge/edge_shim.js",
      "issuerId": 174,
      "issuerName": "./~/webrtc-adapter/src/js/edge/edge_shim.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 174,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/edge/edge_shim.js",
          "module": "./~/webrtc-adapter/src/js/edge/edge_shim.js",
          "moduleName": "./~/webrtc-adapter/src/js/edge/edge_shim.js",
          "type": "cjs require",
          "userRequest": "./rtcpeerconnection_shim",
          "loc": "12:28-63"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "/*\n *  Copyright (c) 2017 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 SDPUtils = require('sdp');\n\n// sort tracks such that they follow an a-v-a-v...\n// pattern.\nfunction sortTracks(tracks) {\n  var audioTracks = tracks.filter(function(track) {\n    return track.kind === 'audio';\n  });\n  var videoTracks = tracks.filter(function(track) {\n    return track.kind === 'video';\n  });\n  tracks = [];\n  while (audioTracks.length || videoTracks.length) {\n    if (audioTracks.length) {\n      tracks.push(audioTracks.shift());\n    }\n    if (videoTracks.length) {\n      tracks.push(videoTracks.shift());\n    }\n  }\n  return tracks;\n}\n\n// Edge does not like\n// 1) stun:\n// 2) turn: that does not have all of turn:host:port?transport=udp\n// 3) turn: with ipv6 addresses\n// 4) turn: occurring muliple times\nfunction filterIceServers(iceServers, edgeVersion) {\n  var hasTurn = false;\n  iceServers = JSON.parse(JSON.stringify(iceServers));\n  return iceServers.filter(function(server) {\n    if (server && (server.urls || server.url)) {\n      var urls = server.urls || server.url;\n      if (server.url && !server.urls) {\n        console.warn('RTCIceServer.url is deprecated! Use urls instead.');\n      }\n      var isString = typeof urls === 'string';\n      if (isString) {\n        urls = [urls];\n      }\n      urls = urls.filter(function(url) {\n        var validTurn = url.indexOf('turn:') === 0 &&\n            url.indexOf('transport=udp') !== -1 &&\n            url.indexOf('turn:[') === -1 &&\n            !hasTurn;\n\n        if (validTurn) {\n          hasTurn = true;\n          return true;\n        }\n        return url.indexOf('stun:') === 0 && edgeVersion >= 14393;\n      });\n\n      delete server.url;\n      server.urls = isString ? urls[0] : urls;\n      return !!urls.length;\n    }\n    return false;\n  });\n}\n\n// Determines the intersection of local and remote capabilities.\nfunction getCommonCapabilities(localCapabilities, remoteCapabilities) {\n  var commonCapabilities = {\n    codecs: [],\n    headerExtensions: [],\n    fecMechanisms: []\n  };\n\n  var findCodecByPayloadType = function(pt, codecs) {\n    pt = parseInt(pt, 10);\n    for (var i = 0; i < codecs.length; i++) {\n      if (codecs[i].payloadType === pt ||\n          codecs[i].preferredPayloadType === pt) {\n        return codecs[i];\n      }\n    }\n  };\n\n  var rtxCapabilityMatches = function(lRtx, rRtx, lCodecs, rCodecs) {\n    var lCodec = findCodecByPayloadType(lRtx.parameters.apt, lCodecs);\n    var rCodec = findCodecByPayloadType(rRtx.parameters.apt, rCodecs);\n    return lCodec && rCodec &&\n        lCodec.name.toLowerCase() === rCodec.name.toLowerCase();\n  };\n\n  localCapabilities.codecs.forEach(function(lCodec) {\n    for (var i = 0; i < remoteCapabilities.codecs.length; i++) {\n      var rCodec = remoteCapabilities.codecs[i];\n      if (lCodec.name.toLowerCase() === rCodec.name.toLowerCase() &&\n          lCodec.clockRate === rCodec.clockRate) {\n        if (lCodec.name.toLowerCase() === 'rtx' &&\n            lCodec.parameters && rCodec.parameters.apt) {\n          // for RTX we need to find the local rtx that has a apt\n          // which points to the same local codec as the remote one.\n          if (!rtxCapabilityMatches(lCodec, rCodec,\n              localCapabilities.codecs, remoteCapabilities.codecs)) {\n            continue;\n          }\n        }\n        rCodec = JSON.parse(JSON.stringify(rCodec)); // deepcopy\n        // number of channels is the highest common number of channels\n        rCodec.numChannels = Math.min(lCodec.numChannels,\n            rCodec.numChannels);\n        // push rCodec so we reply with offerer payload type\n        commonCapabilities.codecs.push(rCodec);\n\n        // determine common feedback mechanisms\n        rCodec.rtcpFeedback = rCodec.rtcpFeedback.filter(function(fb) {\n          for (var j = 0; j < lCodec.rtcpFeedback.length; j++) {\n            if (lCodec.rtcpFeedback[j].type === fb.type &&\n                lCodec.rtcpFeedback[j].parameter === fb.parameter) {\n              return true;\n            }\n          }\n          return false;\n        });\n        // FIXME: also need to determine .parameters\n        //  see https://github.com/openpeer/ortc/issues/569\n        break;\n      }\n    }\n  });\n\n  localCapabilities.headerExtensions.forEach(function(lHeaderExtension) {\n    for (var i = 0; i < remoteCapabilities.headerExtensions.length;\n         i++) {\n      var rHeaderExtension = remoteCapabilities.headerExtensions[i];\n      if (lHeaderExtension.uri === rHeaderExtension.uri) {\n        commonCapabilities.headerExtensions.push(rHeaderExtension);\n        break;\n      }\n    }\n  });\n\n  // FIXME: fecMechanisms\n  return commonCapabilities;\n}\n\n// is action=setLocalDescription with type allowed in signalingState\nfunction isActionAllowedInSignalingState(action, type, signalingState) {\n  return {\n    offer: {\n      setLocalDescription: ['stable', 'have-local-offer'],\n      setRemoteDescription: ['stable', 'have-remote-offer']\n    },\n    answer: {\n      setLocalDescription: ['have-remote-offer', 'have-local-pranswer'],\n      setRemoteDescription: ['have-local-offer', 'have-remote-pranswer']\n    }\n  }[type][action].indexOf(signalingState) !== -1;\n}\n\nmodule.exports = function(window, edgeVersion) {\n  var RTCPeerConnection = function(config) {\n    var self = this;\n\n    var _eventTarget = document.createDocumentFragment();\n    ['addEventListener', 'removeEventListener', 'dispatchEvent']\n        .forEach(function(method) {\n          self[method] = _eventTarget[method].bind(_eventTarget);\n        });\n\n    this.needNegotiation = false;\n\n    this.onicecandidate = null;\n    this.onaddstream = null;\n    this.ontrack = null;\n    this.onremovestream = null;\n    this.onsignalingstatechange = null;\n    this.oniceconnectionstatechange = null;\n    this.onicegatheringstatechange = null;\n    this.onnegotiationneeded = null;\n    this.ondatachannel = null;\n    this.canTrickleIceCandidates = null;\n\n    this.localStreams = [];\n    this.remoteStreams = [];\n    this.getLocalStreams = function() {\n      return self.localStreams;\n    };\n    this.getRemoteStreams = function() {\n      return self.remoteStreams;\n    };\n\n    this.localDescription = new window.RTCSessionDescription({\n      type: '',\n      sdp: ''\n    });\n    this.remoteDescription = new window.RTCSessionDescription({\n      type: '',\n      sdp: ''\n    });\n    this.signalingState = 'stable';\n    this.iceConnectionState = 'new';\n    this.iceGatheringState = 'new';\n\n    this.iceOptions = {\n      gatherPolicy: 'all',\n      iceServers: []\n    };\n    if (config && config.iceTransportPolicy) {\n      switch (config.iceTransportPolicy) {\n        case 'all':\n        case 'relay':\n          this.iceOptions.gatherPolicy = config.iceTransportPolicy;\n          break;\n        default:\n          // don't set iceTransportPolicy.\n          break;\n      }\n    }\n    this.usingBundle = config && config.bundlePolicy === 'max-bundle';\n\n    if (config && config.iceServers) {\n      this.iceOptions.iceServers = filterIceServers(config.iceServers,\n          edgeVersion);\n    }\n    this._config = config || {};\n\n    // per-track iceGathers, iceTransports, dtlsTransports, rtpSenders, ...\n    // everything that is needed to describe a SDP m-line.\n    this.transceivers = [];\n\n    // since the iceGatherer is currently created in createOffer but we\n    // must not emit candidates until after setLocalDescription we buffer\n    // them in this array.\n    this._localIceCandidatesBuffer = [];\n\n    this._sdpSessionId = SDPUtils.generateSessionId();\n  };\n\n  RTCPeerConnection.prototype._emitGatheringStateChange = function() {\n    var event = new Event('icegatheringstatechange');\n    this.dispatchEvent(event);\n    if (this.onicegatheringstatechange !== null) {\n      this.onicegatheringstatechange(event);\n    }\n  };\n\n  RTCPeerConnection.prototype._emitBufferedCandidates = function() {\n    var self = this;\n    var sections = SDPUtils.splitSections(self.localDescription.sdp);\n    // FIXME: need to apply ice candidates in a way which is async but\n    // in-order\n    this._localIceCandidatesBuffer.forEach(function(event) {\n      var end = !event.candidate || Object.keys(event.candidate).length === 0;\n      if (end) {\n        for (var j = 1; j < sections.length; j++) {\n          if (sections[j].indexOf('\\r\\na=end-of-candidates\\r\\n') === -1) {\n            sections[j] += 'a=end-of-candidates\\r\\n';\n          }\n        }\n      } else {\n        sections[event.candidate.sdpMLineIndex + 1] +=\n            'a=' + event.candidate.candidate + '\\r\\n';\n      }\n      self.localDescription.sdp = sections.join('');\n      self.dispatchEvent(event);\n      if (self.onicecandidate !== null) {\n        self.onicecandidate(event);\n      }\n      if (!event.candidate && self.iceGatheringState !== 'complete') {\n        var complete = self.transceivers.every(function(transceiver) {\n          return transceiver.iceGatherer &&\n              transceiver.iceGatherer.state === 'completed';\n        });\n        if (complete && self.iceGatheringStateChange !== 'complete') {\n          self.iceGatheringState = 'complete';\n          self._emitGatheringStateChange();\n        }\n      }\n    });\n    this._localIceCandidatesBuffer = [];\n  };\n\n  RTCPeerConnection.prototype.getConfiguration = function() {\n    return this._config;\n  };\n\n  // internal helper to create a transceiver object.\n  // (whih is not yet the same as the WebRTC 1.0 transceiver)\n  RTCPeerConnection.prototype._createTransceiver = function(kind) {\n    var hasBundleTransport = this.transceivers.length > 0;\n    var transceiver = {\n      track: null,\n      iceGatherer: null,\n      iceTransport: null,\n      dtlsTransport: null,\n      localCapabilities: null,\n      remoteCapabilities: null,\n      rtpSender: null,\n      rtpReceiver: null,\n      kind: kind,\n      mid: null,\n      sendEncodingParameters: null,\n      recvEncodingParameters: null,\n      stream: null,\n      wantReceive: true\n    };\n    if (this.usingBundle && hasBundleTransport) {\n      transceiver.iceTransport = this.transceivers[0].iceTransport;\n      transceiver.dtlsTransport = this.transceivers[0].dtlsTransport;\n    } else {\n      var transports = this._createIceAndDtlsTransports();\n      transceiver.iceTransport = transports.iceTransport;\n      transceiver.dtlsTransport = transports.dtlsTransport;\n    }\n    this.transceivers.push(transceiver);\n    return transceiver;\n  };\n\n  RTCPeerConnection.prototype.addTrack = function(track, stream) {\n    var transceiver;\n    for (var i = 0; i < this.transceivers.length; i++) {\n      if (!this.transceivers[i].track &&\n          this.transceivers[i].kind === track.kind) {\n        transceiver = this.transceivers[i];\n      }\n    }\n    if (!transceiver) {\n      transceiver = this._createTransceiver(track.kind);\n    }\n\n    transceiver.track = track;\n    transceiver.stream = stream;\n    transceiver.rtpSender = new window.RTCRtpSender(track,\n        transceiver.dtlsTransport);\n\n    this._maybeFireNegotiationNeeded();\n    return transceiver.rtpSender;\n  };\n\n  RTCPeerConnection.prototype.addStream = function(stream) {\n    var self = this;\n    if (edgeVersion >= 15025) {\n      this.localStreams.push(stream);\n      stream.getTracks().forEach(function(track) {\n        self.addTrack(track, stream);\n      });\n    } else {\n      // Clone is necessary for local demos mostly, attaching directly\n      // to two different senders does not work (build 10547).\n      // Fixed in 15025 (or earlier)\n      var clonedStream = stream.clone();\n      stream.getTracks().forEach(function(track, idx) {\n        var clonedTrack = clonedStream.getTracks()[idx];\n        track.addEventListener('enabled', function(event) {\n          clonedTrack.enabled = event.enabled;\n        });\n      });\n      clonedStream.getTracks().forEach(function(track) {\n        self.addTrack(track, clonedStream);\n      });\n      this.localStreams.push(clonedStream);\n    }\n    this._maybeFireNegotiationNeeded();\n  };\n\n  RTCPeerConnection.prototype.removeStream = function(stream) {\n    var idx = this.localStreams.indexOf(stream);\n    if (idx > -1) {\n      this.localStreams.splice(idx, 1);\n      this._maybeFireNegotiationNeeded();\n    }\n  };\n\n  RTCPeerConnection.prototype.getSenders = function() {\n    return this.transceivers.filter(function(transceiver) {\n      return !!transceiver.rtpSender;\n    })\n    .map(function(transceiver) {\n      return transceiver.rtpSender;\n    });\n  };\n\n  RTCPeerConnection.prototype.getReceivers = function() {\n    return this.transceivers.filter(function(transceiver) {\n      return !!transceiver.rtpReceiver;\n    })\n    .map(function(transceiver) {\n      return transceiver.rtpReceiver;\n    });\n  };\n\n  // Create ICE gatherer and hook it up.\n  RTCPeerConnection.prototype._createIceGatherer = function(mid,\n      sdpMLineIndex) {\n    var self = this;\n    var iceGatherer = new window.RTCIceGatherer(self.iceOptions);\n    iceGatherer.onlocalcandidate = function(evt) {\n      var event = new Event('icecandidate');\n      event.candidate = {sdpMid: mid, sdpMLineIndex: sdpMLineIndex};\n\n      var cand = evt.candidate;\n      var end = !cand || Object.keys(cand).length === 0;\n      // Edge emits an empty object for RTCIceCandidateComplete‥\n      if (end) {\n        // polyfill since RTCIceGatherer.state is not implemented in\n        // Edge 10547 yet.\n        if (iceGatherer.state === undefined) {\n          iceGatherer.state = 'completed';\n        }\n      } else {\n        // RTCIceCandidate doesn't have a component, needs to be added\n        cand.component = 1;\n        event.candidate.candidate = SDPUtils.writeCandidate(cand);\n      }\n\n      // update local description.\n      var sections = SDPUtils.splitSections(self.localDescription.sdp);\n      if (!end) {\n        sections[event.candidate.sdpMLineIndex + 1] +=\n            'a=' + event.candidate.candidate + '\\r\\n';\n      } else {\n        sections[event.candidate.sdpMLineIndex + 1] +=\n            'a=end-of-candidates\\r\\n';\n      }\n      self.localDescription.sdp = sections.join('');\n      var transceivers = self._pendingOffer ? self._pendingOffer :\n          self.transceivers;\n      var complete = transceivers.every(function(transceiver) {\n        return transceiver.iceGatherer &&\n            transceiver.iceGatherer.state === 'completed';\n      });\n\n      // Emit candidate if localDescription is set.\n      // Also emits null candidate when all gatherers are complete.\n      switch (self.iceGatheringState) {\n        case 'new':\n          if (!end) {\n            self._localIceCandidatesBuffer.push(event);\n          }\n          if (end && complete) {\n            self._localIceCandidatesBuffer.push(\n                new Event('icecandidate'));\n          }\n          break;\n        case 'gathering':\n          self._emitBufferedCandidates();\n          if (!end) {\n            self.dispatchEvent(event);\n            if (self.onicecandidate !== null) {\n              self.onicecandidate(event);\n            }\n          }\n          if (complete) {\n            self.dispatchEvent(new Event('icecandidate'));\n            if (self.onicecandidate !== null) {\n              self.onicecandidate(new Event('icecandidate'));\n            }\n            self.iceGatheringState = 'complete';\n            self._emitGatheringStateChange();\n          }\n          break;\n        case 'complete':\n          // should not happen... currently!\n          break;\n        default: // no-op.\n          break;\n      }\n    };\n    return iceGatherer;\n  };\n\n  // Create ICE transport and DTLS transport.\n  RTCPeerConnection.prototype._createIceAndDtlsTransports = function() {\n    var self = this;\n    var iceTransport = new window.RTCIceTransport(null);\n    iceTransport.onicestatechange = function() {\n      self._updateConnectionState();\n    };\n\n    var dtlsTransport = new window.RTCDtlsTransport(iceTransport);\n    dtlsTransport.ondtlsstatechange = function() {\n      self._updateConnectionState();\n    };\n    dtlsTransport.onerror = function() {\n      // onerror does not set state to failed by itself.\n      Object.defineProperty(dtlsTransport, 'state',\n          {value: 'failed', writable: true});\n      self._updateConnectionState();\n    };\n\n    return {\n      iceTransport: iceTransport,\n      dtlsTransport: dtlsTransport\n    };\n  };\n\n  // Destroy ICE gatherer, ICE transport and DTLS transport.\n  // Without triggering the callbacks.\n  RTCPeerConnection.prototype._disposeIceAndDtlsTransports = function(\n      sdpMLineIndex) {\n    var iceGatherer = this.transceivers[sdpMLineIndex].iceGatherer;\n    if (iceGatherer) {\n      delete iceGatherer.onlocalcandidate;\n      delete this.transceivers[sdpMLineIndex].iceGatherer;\n    }\n    var iceTransport = this.transceivers[sdpMLineIndex].iceTransport;\n    if (iceTransport) {\n      delete iceTransport.onicestatechange;\n      delete this.transceivers[sdpMLineIndex].iceTransport;\n    }\n    var dtlsTransport = this.transceivers[sdpMLineIndex].dtlsTransport;\n    if (dtlsTransport) {\n      delete dtlsTransport.ondtlsstatechange;\n      delete dtlsTransport.onerror;\n      delete this.transceivers[sdpMLineIndex].dtlsTransport;\n    }\n  };\n\n  // Start the RTP Sender and Receiver for a transceiver.\n  RTCPeerConnection.prototype._transceive = function(transceiver,\n      send, recv) {\n    var params = getCommonCapabilities(transceiver.localCapabilities,\n        transceiver.remoteCapabilities);\n    if (send && transceiver.rtpSender) {\n      params.encodings = transceiver.sendEncodingParameters;\n      params.rtcp = {\n        cname: SDPUtils.localCName,\n        compound: transceiver.rtcpParameters.compound\n      };\n      if (transceiver.recvEncodingParameters.length) {\n        params.rtcp.ssrc = transceiver.recvEncodingParameters[0].ssrc;\n      }\n      transceiver.rtpSender.send(params);\n    }\n    if (recv && transceiver.rtpReceiver) {\n      // remove RTX field in Edge 14942\n      if (transceiver.kind === 'video'\n          && transceiver.recvEncodingParameters\n          && edgeVersion < 15019) {\n        transceiver.recvEncodingParameters.forEach(function(p) {\n          delete p.rtx;\n        });\n      }\n      params.encodings = transceiver.recvEncodingParameters;\n      params.rtcp = {\n        cname: transceiver.rtcpParameters.cname,\n        compound: transceiver.rtcpParameters.compound\n      };\n      if (transceiver.sendEncodingParameters.length) {\n        params.rtcp.ssrc = transceiver.sendEncodingParameters[0].ssrc;\n      }\n      transceiver.rtpReceiver.receive(params);\n    }\n  };\n\n  RTCPeerConnection.prototype.setLocalDescription = function(description) {\n    var self = this;\n\n    if (!isActionAllowedInSignalingState('setLocalDescription',\n        description.type, this.signalingState)) {\n      var e = new Error('Can not set local ' + description.type +\n          ' in state ' + this.signalingState);\n      e.name = 'InvalidStateError';\n      if (arguments.length > 2 && typeof arguments[2] === 'function') {\n        window.setTimeout(arguments[2], 0, e);\n      }\n      return Promise.reject(e);\n    }\n\n    var sections;\n    var sessionpart;\n    if (description.type === 'offer') {\n      // FIXME: What was the purpose of this empty if statement?\n      // if (!this._pendingOffer) {\n      // } else {\n      if (this._pendingOffer) {\n        // VERY limited support for SDP munging. Limited to:\n        // * changing the order of codecs\n        sections = SDPUtils.splitSections(description.sdp);\n        sessionpart = sections.shift();\n        sections.forEach(function(mediaSection, sdpMLineIndex) {\n          var caps = SDPUtils.parseRtpParameters(mediaSection);\n          self._pendingOffer[sdpMLineIndex].localCapabilities = caps;\n        });\n        this.transceivers = this._pendingOffer;\n        delete this._pendingOffer;\n      }\n    } else if (description.type === 'answer') {\n      sections = SDPUtils.splitSections(self.remoteDescription.sdp);\n      sessionpart = sections.shift();\n      var isIceLite = SDPUtils.matchPrefix(sessionpart,\n          'a=ice-lite').length > 0;\n      sections.forEach(function(mediaSection, sdpMLineIndex) {\n        var transceiver = self.transceivers[sdpMLineIndex];\n        var iceGatherer = transceiver.iceGatherer;\n        var iceTransport = transceiver.iceTransport;\n        var dtlsTransport = transceiver.dtlsTransport;\n        var localCapabilities = transceiver.localCapabilities;\n        var remoteCapabilities = transceiver.remoteCapabilities;\n\n        var rejected = SDPUtils.isRejected(mediaSection);\n\n        if (!rejected && !transceiver.isDatachannel) {\n          var remoteIceParameters = SDPUtils.getIceParameters(\n              mediaSection, sessionpart);\n          var remoteDtlsParameters = SDPUtils.getDtlsParameters(\n              mediaSection, sessionpart);\n          if (isIceLite) {\n            remoteDtlsParameters.role = 'server';\n          }\n\n          if (!self.usingBundle || sdpMLineIndex === 0) {\n            iceTransport.start(iceGatherer, remoteIceParameters,\n                isIceLite ? 'controlling' : 'controlled');\n            dtlsTransport.start(remoteDtlsParameters);\n          }\n\n          // Calculate intersection of capabilities.\n          var params = getCommonCapabilities(localCapabilities,\n              remoteCapabilities);\n\n          // Start the RTCRtpSender. The RTCRtpReceiver for this\n          // transceiver has already been started in setRemoteDescription.\n          self._transceive(transceiver,\n              params.codecs.length > 0,\n              false);\n        }\n      });\n    }\n\n    this.localDescription = {\n      type: description.type,\n      sdp: description.sdp\n    };\n    switch (description.type) {\n      case 'offer':\n        this._updateSignalingState('have-local-offer');\n        break;\n      case 'answer':\n        this._updateSignalingState('stable');\n        break;\n      default:\n        throw new TypeError('unsupported type \"' + description.type +\n            '\"');\n    }\n\n    // If a success callback was provided, emit ICE candidates after it\n    // has been executed. Otherwise, emit callback after the Promise is\n    // resolved.\n    var hasCallback = arguments.length > 1 &&\n      typeof arguments[1] === 'function';\n    if (hasCallback) {\n      var cb = arguments[1];\n      window.setTimeout(function() {\n        cb();\n        if (self.iceGatheringState === 'new') {\n          self.iceGatheringState = 'gathering';\n          self._emitGatheringStateChange();\n        }\n        self._emitBufferedCandidates();\n      }, 0);\n    }\n    var p = Promise.resolve();\n    p.then(function() {\n      if (!hasCallback) {\n        if (self.iceGatheringState === 'new') {\n          self.iceGatheringState = 'gathering';\n          self._emitGatheringStateChange();\n        }\n        // Usually candidates will be emitted earlier.\n        window.setTimeout(self._emitBufferedCandidates.bind(self), 500);\n      }\n    });\n    return p;\n  };\n\n  RTCPeerConnection.prototype.setRemoteDescription = function(description) {\n    var self = this;\n\n    if (!isActionAllowedInSignalingState('setRemoteDescription',\n        description.type, this.signalingState)) {\n      var e = new Error('Can not set remote ' + description.type +\n          ' in state ' + this.signalingState);\n      e.name = 'InvalidStateError';\n      if (arguments.length > 2 && typeof arguments[2] === 'function') {\n        window.setTimeout(arguments[2], 0, e);\n      }\n      return Promise.reject(e);\n    }\n\n    var streams = {};\n    var receiverList = [];\n    var sections = SDPUtils.splitSections(description.sdp);\n    var sessionpart = sections.shift();\n    var isIceLite = SDPUtils.matchPrefix(sessionpart,\n        'a=ice-lite').length > 0;\n    var usingBundle = SDPUtils.matchPrefix(sessionpart,\n        'a=group:BUNDLE ').length > 0;\n    this.usingBundle = usingBundle;\n    var iceOptions = SDPUtils.matchPrefix(sessionpart,\n        'a=ice-options:')[0];\n    if (iceOptions) {\n      this.canTrickleIceCandidates = iceOptions.substr(14).split(' ')\n          .indexOf('trickle') >= 0;\n    } else {\n      this.canTrickleIceCandidates = false;\n    }\n\n    sections.forEach(function(mediaSection, sdpMLineIndex) {\n      var lines = SDPUtils.splitLines(mediaSection);\n      var kind = SDPUtils.getKind(mediaSection);\n      var rejected = SDPUtils.isRejected(mediaSection);\n      var protocol = lines[0].substr(2).split(' ')[2];\n\n      var direction = SDPUtils.getDirection(mediaSection, sessionpart);\n      var remoteMsid = SDPUtils.parseMsid(mediaSection);\n\n      var mid = SDPUtils.getMid(mediaSection) || SDPUtils.generateIdentifier();\n\n      // Reject datachannels which are not implemented yet.\n      if (kind === 'application' && protocol === 'DTLS/SCTP') {\n        self.transceivers[sdpMLineIndex] = {\n          mid: mid,\n          isDatachannel: true\n        };\n        return;\n      }\n\n      var transceiver;\n      var iceGatherer;\n      var iceTransport;\n      var dtlsTransport;\n      var rtpReceiver;\n      var sendEncodingParameters;\n      var recvEncodingParameters;\n      var localCapabilities;\n\n      var track;\n      // FIXME: ensure the mediaSection has rtcp-mux set.\n      var remoteCapabilities = SDPUtils.parseRtpParameters(mediaSection);\n      var remoteIceParameters;\n      var remoteDtlsParameters;\n      if (!rejected) {\n        remoteIceParameters = SDPUtils.getIceParameters(mediaSection,\n            sessionpart);\n        remoteDtlsParameters = SDPUtils.getDtlsParameters(mediaSection,\n            sessionpart);\n        remoteDtlsParameters.role = 'client';\n      }\n      recvEncodingParameters =\n          SDPUtils.parseRtpEncodingParameters(mediaSection);\n\n      var rtcpParameters = SDPUtils.parseRtcpParameters(mediaSection);\n\n      var isComplete = SDPUtils.matchPrefix(mediaSection,\n          'a=end-of-candidates', sessionpart).length > 0;\n      var cands = SDPUtils.matchPrefix(mediaSection, 'a=candidate:')\n          .map(function(cand) {\n            return SDPUtils.parseCandidate(cand);\n          })\n          .filter(function(cand) {\n            return cand.component === '1' || cand.component === 1;\n          });\n\n      // Check if we can use BUNDLE and dispose transports.\n      if ((description.type === 'offer' || description.type === 'answer') &&\n          !rejected && usingBundle && sdpMLineIndex > 0 &&\n          self.transceivers[sdpMLineIndex]) {\n        self._disposeIceAndDtlsTransports(sdpMLineIndex);\n        self.transceivers[sdpMLineIndex].iceGatherer =\n            self.transceivers[0].iceGatherer;\n        self.transceivers[sdpMLineIndex].iceTransport =\n            self.transceivers[0].iceTransport;\n        self.transceivers[sdpMLineIndex].dtlsTransport =\n            self.transceivers[0].dtlsTransport;\n        if (self.transceivers[sdpMLineIndex].rtpSender) {\n          self.transceivers[sdpMLineIndex].rtpSender.setTransport(\n              self.transceivers[0].dtlsTransport);\n        }\n        if (self.transceivers[sdpMLineIndex].rtpReceiver) {\n          self.transceivers[sdpMLineIndex].rtpReceiver.setTransport(\n              self.transceivers[0].dtlsTransport);\n        }\n      }\n      if (description.type === 'offer' && !rejected) {\n        transceiver = self.transceivers[sdpMLineIndex] ||\n            self._createTransceiver(kind);\n        transceiver.mid = mid;\n\n        if (!transceiver.iceGatherer) {\n          transceiver.iceGatherer = usingBundle && sdpMLineIndex > 0 ?\n              self.transceivers[0].iceGatherer :\n              self._createIceGatherer(mid, sdpMLineIndex);\n        }\n\n        if (isComplete && cands.length &&\n            (!usingBundle || sdpMLineIndex === 0)) {\n          transceiver.iceTransport.setRemoteCandidates(cands);\n        }\n\n        localCapabilities = window.RTCRtpReceiver.getCapabilities(kind);\n\n        // filter RTX until additional stuff needed for RTX is implemented\n        // in adapter.js\n        if (edgeVersion < 15019) {\n          localCapabilities.codecs = localCapabilities.codecs.filter(\n              function(codec) {\n                return codec.name !== 'rtx';\n              });\n        }\n\n        sendEncodingParameters = [{\n          ssrc: (2 * sdpMLineIndex + 2) * 1001\n        }];\n\n        if (direction === 'sendrecv' || direction === 'sendonly') {\n          rtpReceiver = new window.RTCRtpReceiver(transceiver.dtlsTransport,\n              kind);\n\n          track = rtpReceiver.track;\n          // FIXME: does not work with Plan B.\n          if (remoteMsid) {\n            if (!streams[remoteMsid.stream]) {\n              streams[remoteMsid.stream] = new window.MediaStream();\n              Object.defineProperty(streams[remoteMsid.stream], 'id', {\n                get: function() {\n                  return remoteMsid.stream;\n                }\n              });\n            }\n            Object.defineProperty(track, 'id', {\n              get: function() {\n                return remoteMsid.track;\n              }\n            });\n            streams[remoteMsid.stream].addTrack(track);\n            receiverList.push([track, rtpReceiver,\n              streams[remoteMsid.stream]]);\n          } else {\n            if (!streams.default) {\n              streams.default = new window.MediaStream();\n            }\n            streams.default.addTrack(track);\n            receiverList.push([track, rtpReceiver, streams.default]);\n          }\n        }\n\n        transceiver.localCapabilities = localCapabilities;\n        transceiver.remoteCapabilities = remoteCapabilities;\n        transceiver.rtpReceiver = rtpReceiver;\n        transceiver.rtcpParameters = rtcpParameters;\n        transceiver.sendEncodingParameters = sendEncodingParameters;\n        transceiver.recvEncodingParameters = recvEncodingParameters;\n\n        // Start the RTCRtpReceiver now. The RTPSender is started in\n        // setLocalDescription.\n        self._transceive(self.transceivers[sdpMLineIndex],\n            false,\n            direction === 'sendrecv' || direction === 'sendonly');\n      } else if (description.type === 'answer' && !rejected) {\n        transceiver = self.transceivers[sdpMLineIndex];\n        iceGatherer = transceiver.iceGatherer;\n        iceTransport = transceiver.iceTransport;\n        dtlsTransport = transceiver.dtlsTransport;\n        rtpReceiver = transceiver.rtpReceiver;\n        sendEncodingParameters = transceiver.sendEncodingParameters;\n        localCapabilities = transceiver.localCapabilities;\n\n        self.transceivers[sdpMLineIndex].recvEncodingParameters =\n            recvEncodingParameters;\n        self.transceivers[sdpMLineIndex].remoteCapabilities =\n            remoteCapabilities;\n        self.transceivers[sdpMLineIndex].rtcpParameters = rtcpParameters;\n\n        if (!usingBundle || sdpMLineIndex === 0) {\n          if ((isIceLite || isComplete) && cands.length) {\n            iceTransport.setRemoteCandidates(cands);\n          }\n          iceTransport.start(iceGatherer, remoteIceParameters,\n              'controlling');\n          dtlsTransport.start(remoteDtlsParameters);\n        }\n\n        self._transceive(transceiver,\n            direction === 'sendrecv' || direction === 'recvonly',\n            direction === 'sendrecv' || direction === 'sendonly');\n\n        if (rtpReceiver &&\n            (direction === 'sendrecv' || direction === 'sendonly')) {\n          track = rtpReceiver.track;\n          if (remoteMsid) {\n            if (!streams[remoteMsid.stream]) {\n              streams[remoteMsid.stream] = new window.MediaStream();\n            }\n            streams[remoteMsid.stream].addTrack(track);\n            receiverList.push([track, rtpReceiver, streams[remoteMsid.stream]]);\n          } else {\n            if (!streams.default) {\n              streams.default = new window.MediaStream();\n            }\n            streams.default.addTrack(track);\n            receiverList.push([track, rtpReceiver, streams.default]);\n          }\n        } else {\n          // FIXME: actually the receiver should be created later.\n          delete transceiver.rtpReceiver;\n        }\n      }\n    });\n\n    this.remoteDescription = {\n      type: description.type,\n      sdp: description.sdp\n    };\n    switch (description.type) {\n      case 'offer':\n        this._updateSignalingState('have-remote-offer');\n        break;\n      case 'answer':\n        this._updateSignalingState('stable');\n        break;\n      default:\n        throw new TypeError('unsupported type \"' + description.type +\n            '\"');\n    }\n    Object.keys(streams).forEach(function(sid) {\n      var stream = streams[sid];\n      if (stream.getTracks().length) {\n        self.remoteStreams.push(stream);\n        var event = new Event('addstream');\n        event.stream = stream;\n        self.dispatchEvent(event);\n        if (self.onaddstream !== null) {\n          window.setTimeout(function() {\n            self.onaddstream(event);\n          }, 0);\n        }\n\n        receiverList.forEach(function(item) {\n          var track = item[0];\n          var receiver = item[1];\n          if (stream.id !== item[2].id) {\n            return;\n          }\n          var trackEvent = new Event('track');\n          trackEvent.track = track;\n          trackEvent.receiver = receiver;\n          trackEvent.streams = [stream];\n          self.dispatchEvent(trackEvent);\n          if (self.ontrack !== null) {\n            window.setTimeout(function() {\n              self.ontrack(trackEvent);\n            }, 0);\n          }\n        });\n      }\n    });\n\n    // check whether addIceCandidate({}) was called within four seconds after\n    // setRemoteDescription.\n    window.setTimeout(function() {\n      if (!(self && self.transceivers)) {\n        return;\n      }\n      self.transceivers.forEach(function(transceiver) {\n        if (transceiver.iceTransport &&\n            transceiver.iceTransport.state === 'new' &&\n            transceiver.iceTransport.getRemoteCandidates().length > 0) {\n          console.warn('Timeout for addRemoteCandidate. Consider sending ' +\n              'an end-of-candidates notification');\n          transceiver.iceTransport.addRemoteCandidate({});\n        }\n      });\n    }, 4000);\n\n    if (arguments.length > 1 && typeof arguments[1] === 'function') {\n      window.setTimeout(arguments[1], 0);\n    }\n    return Promise.resolve();\n  };\n\n  RTCPeerConnection.prototype.close = function() {\n    this.transceivers.forEach(function(transceiver) {\n      /* not yet\n      if (transceiver.iceGatherer) {\n        transceiver.iceGatherer.close();\n      }\n      */\n      if (transceiver.iceTransport) {\n        transceiver.iceTransport.stop();\n      }\n      if (transceiver.dtlsTransport) {\n        transceiver.dtlsTransport.stop();\n      }\n      if (transceiver.rtpSender) {\n        transceiver.rtpSender.stop();\n      }\n      if (transceiver.rtpReceiver) {\n        transceiver.rtpReceiver.stop();\n      }\n    });\n    // FIXME: clean up tracks, local streams, remote streams, etc\n    this._updateSignalingState('closed');\n  };\n\n  // Update the signaling state.\n  RTCPeerConnection.prototype._updateSignalingState = function(newState) {\n    this.signalingState = newState;\n    var event = new Event('signalingstatechange');\n    this.dispatchEvent(event);\n    if (this.onsignalingstatechange !== null) {\n      this.onsignalingstatechange(event);\n    }\n  };\n\n  // Determine whether to fire the negotiationneeded event.\n  RTCPeerConnection.prototype._maybeFireNegotiationNeeded = function() {\n    var self = this;\n    if (this.signalingState !== 'stable' || this.needNegotiation === true) {\n      return;\n    }\n    this.needNegotiation = true;\n    window.setTimeout(function() {\n      if (self.needNegotiation === false) {\n        return;\n      }\n      self.needNegotiation = false;\n      var event = new Event('negotiationneeded');\n      self.dispatchEvent(event);\n      if (self.onnegotiationneeded !== null) {\n        self.onnegotiationneeded(event);\n      }\n    }, 0);\n  };\n\n  // Update the connection state.\n  RTCPeerConnection.prototype._updateConnectionState = function() {\n    var self = this;\n    var newState;\n    var states = {\n      'new': 0,\n      closed: 0,\n      connecting: 0,\n      checking: 0,\n      connected: 0,\n      completed: 0,\n      disconnected: 0,\n      failed: 0\n    };\n    this.transceivers.forEach(function(transceiver) {\n      states[transceiver.iceTransport.state]++;\n      states[transceiver.dtlsTransport.state]++;\n    });\n    // ICETransport.completed and connected are the same for this purpose.\n    states.connected += states.completed;\n\n    newState = 'new';\n    if (states.failed > 0) {\n      newState = 'failed';\n    } else if (states.connecting > 0 || states.checking > 0) {\n      newState = 'connecting';\n    } else if (states.disconnected > 0) {\n      newState = 'disconnected';\n    } else if (states.new > 0) {\n      newState = 'new';\n    } else if (states.connected > 0 || states.completed > 0) {\n      newState = 'connected';\n    }\n\n    if (newState !== self.iceConnectionState) {\n      self.iceConnectionState = newState;\n      var event = new Event('iceconnectionstatechange');\n      this.dispatchEvent(event);\n      if (this.oniceconnectionstatechange !== null) {\n        this.oniceconnectionstatechange(event);\n      }\n    }\n  };\n\n  RTCPeerConnection.prototype.createOffer = function() {\n    var self = this;\n    if (this._pendingOffer) {\n      throw new Error('createOffer called while there is a pending offer.');\n    }\n    var offerOptions;\n    if (arguments.length === 1 && typeof arguments[0] !== 'function') {\n      offerOptions = arguments[0];\n    } else if (arguments.length === 3) {\n      offerOptions = arguments[2];\n    }\n\n    var numAudioTracks = this.transceivers.filter(function(t) {\n      return t.kind === 'audio';\n    }).length;\n    var numVideoTracks = this.transceivers.filter(function(t) {\n      return t.kind === 'video';\n    }).length;\n\n    // Determine number of audio and video tracks we need to send/recv.\n    if (offerOptions) {\n      // Reject Chrome legacy constraints.\n      if (offerOptions.mandatory || offerOptions.optional) {\n        throw new TypeError(\n            'Legacy mandatory/optional constraints not supported.');\n      }\n      if (offerOptions.offerToReceiveAudio !== undefined) {\n        if (offerOptions.offerToReceiveAudio === true) {\n          numAudioTracks = 1;\n        } else if (offerOptions.offerToReceiveAudio === false) {\n          numAudioTracks = 0;\n        } else {\n          numAudioTracks = offerOptions.offerToReceiveAudio;\n        }\n      }\n      if (offerOptions.offerToReceiveVideo !== undefined) {\n        if (offerOptions.offerToReceiveVideo === true) {\n          numVideoTracks = 1;\n        } else if (offerOptions.offerToReceiveVideo === false) {\n          numVideoTracks = 0;\n        } else {\n          numVideoTracks = offerOptions.offerToReceiveVideo;\n        }\n      }\n    }\n\n    this.transceivers.forEach(function(transceiver) {\n      if (transceiver.kind === 'audio') {\n        numAudioTracks--;\n        if (numAudioTracks < 0) {\n          transceiver.wantReceive = false;\n        }\n      } else if (transceiver.kind === 'video') {\n        numVideoTracks--;\n        if (numVideoTracks < 0) {\n          transceiver.wantReceive = false;\n        }\n      }\n    });\n\n    // Create M-lines for recvonly streams.\n    while (numAudioTracks > 0 || numVideoTracks > 0) {\n      if (numAudioTracks > 0) {\n        this._createTransceiver('audio');\n        numAudioTracks--;\n      }\n      if (numVideoTracks > 0) {\n        this._createTransceiver('video');\n        numVideoTracks--;\n      }\n    }\n    // reorder tracks\n    var transceivers = sortTracks(this.transceivers);\n\n    var sdp = SDPUtils.writeSessionBoilerplate(this._sdpSessionId);\n    transceivers.forEach(function(transceiver, sdpMLineIndex) {\n      // For each track, create an ice gatherer, ice transport,\n      // dtls transport, potentially rtpsender and rtpreceiver.\n      var track = transceiver.track;\n      var kind = transceiver.kind;\n      var mid = SDPUtils.generateIdentifier();\n      transceiver.mid = mid;\n\n      if (!transceiver.iceGatherer) {\n        transceiver.iceGatherer = self.usingBundle && sdpMLineIndex > 0 ?\n            transceivers[0].iceGatherer :\n            self._createIceGatherer(mid, sdpMLineIndex);\n      }\n\n      var localCapabilities = window.RTCRtpSender.getCapabilities(kind);\n      // filter RTX until additional stuff needed for RTX is implemented\n      // in adapter.js\n      if (edgeVersion < 15019) {\n        localCapabilities.codecs = localCapabilities.codecs.filter(\n            function(codec) {\n              return codec.name !== 'rtx';\n            });\n      }\n      localCapabilities.codecs.forEach(function(codec) {\n        // work around https://bugs.chromium.org/p/webrtc/issues/detail?id=6552\n        // by adding level-asymmetry-allowed=1\n        if (codec.name === 'H264' &&\n            codec.parameters['level-asymmetry-allowed'] === undefined) {\n          codec.parameters['level-asymmetry-allowed'] = '1';\n        }\n      });\n\n      // generate an ssrc now, to be used later in rtpSender.send\n      var sendEncodingParameters = [{\n        ssrc: (2 * sdpMLineIndex + 1) * 1001\n      }];\n      if (track) {\n        // add RTX\n        if (edgeVersion >= 15019 && kind === 'video') {\n          sendEncodingParameters[0].rtx = {\n            ssrc: (2 * sdpMLineIndex + 1) * 1001 + 1\n          };\n        }\n      }\n\n      if (transceiver.wantReceive) {\n        transceiver.rtpReceiver = new window.RTCRtpReceiver(\n          transceiver.dtlsTransport,\n          kind\n        );\n      }\n\n      transceiver.localCapabilities = localCapabilities;\n      transceiver.sendEncodingParameters = sendEncodingParameters;\n    });\n\n    // always offer BUNDLE and dispose on return if not supported.\n    if (this._config.bundlePolicy !== 'max-compat') {\n      sdp += 'a=group:BUNDLE ' + transceivers.map(function(t) {\n        return t.mid;\n      }).join(' ') + '\\r\\n';\n    }\n    sdp += 'a=ice-options:trickle\\r\\n';\n\n    transceivers.forEach(function(transceiver, sdpMLineIndex) {\n      sdp += SDPUtils.writeMediaSection(transceiver,\n          transceiver.localCapabilities, 'offer', transceiver.stream);\n      sdp += 'a=rtcp-rsize\\r\\n';\n    });\n\n    this._pendingOffer = transceivers;\n    var desc = new window.RTCSessionDescription({\n      type: 'offer',\n      sdp: sdp\n    });\n    if (arguments.length && typeof arguments[0] === 'function') {\n      window.setTimeout(arguments[0], 0, desc);\n    }\n    return Promise.resolve(desc);\n  };\n\n  RTCPeerConnection.prototype.createAnswer = function() {\n    var sdp = SDPUtils.writeSessionBoilerplate(this._sdpSessionId);\n    if (this.usingBundle) {\n      sdp += 'a=group:BUNDLE ' + this.transceivers.map(function(t) {\n        return t.mid;\n      }).join(' ') + '\\r\\n';\n    }\n    this.transceivers.forEach(function(transceiver, sdpMLineIndex) {\n      if (transceiver.isDatachannel) {\n        sdp += 'm=application 0 DTLS/SCTP 5000\\r\\n' +\n            'c=IN IP4 0.0.0.0\\r\\n' +\n            'a=mid:' + transceiver.mid + '\\r\\n';\n        return;\n      }\n\n      // FIXME: look at direction.\n      if (transceiver.stream) {\n        var localTrack;\n        if (transceiver.kind === 'audio') {\n          localTrack = transceiver.stream.getAudioTracks()[0];\n        } else if (transceiver.kind === 'video') {\n          localTrack = transceiver.stream.getVideoTracks()[0];\n        }\n        if (localTrack) {\n          // add RTX\n          if (edgeVersion >= 15019 && transceiver.kind === 'video') {\n            transceiver.sendEncodingParameters[0].rtx = {\n              ssrc: (2 * sdpMLineIndex + 2) * 1001 + 1\n            };\n          }\n        }\n      }\n\n      // Calculate intersection of capabilities.\n      var commonCapabilities = getCommonCapabilities(\n          transceiver.localCapabilities,\n          transceiver.remoteCapabilities);\n\n      var hasRtx = commonCapabilities.codecs.filter(function(c) {\n        return c.name.toLowerCase() === 'rtx';\n      }).length;\n      if (!hasRtx && transceiver.sendEncodingParameters[0].rtx) {\n        delete transceiver.sendEncodingParameters[0].rtx;\n      }\n\n      sdp += SDPUtils.writeMediaSection(transceiver, commonCapabilities,\n          'answer', transceiver.stream);\n      if (transceiver.rtcpParameters &&\n          transceiver.rtcpParameters.reducedSize) {\n        sdp += 'a=rtcp-rsize\\r\\n';\n      }\n    });\n\n    var desc = new window.RTCSessionDescription({\n      type: 'answer',\n      sdp: sdp\n    });\n    if (arguments.length && typeof arguments[0] === 'function') {\n      window.setTimeout(arguments[0], 0, desc);\n    }\n    return Promise.resolve(desc);\n  };\n\n  RTCPeerConnection.prototype.addIceCandidate = function(candidate) {\n    if (!candidate) {\n      for (var j = 0; j < this.transceivers.length; j++) {\n        this.transceivers[j].iceTransport.addRemoteCandidate({});\n        if (this.usingBundle) {\n          return Promise.resolve();\n        }\n      }\n    } else {\n      var mLineIndex = candidate.sdpMLineIndex;\n      if (candidate.sdpMid) {\n        for (var i = 0; i < this.transceivers.length; i++) {\n          if (this.transceivers[i].mid === candidate.sdpMid) {\n            mLineIndex = i;\n            break;\n          }\n        }\n      }\n      var transceiver = this.transceivers[mLineIndex];\n      if (transceiver) {\n        var cand = Object.keys(candidate.candidate).length > 0 ?\n            SDPUtils.parseCandidate(candidate.candidate) : {};\n        // Ignore Chrome's invalid candidates since Edge does not like them.\n        if (cand.protocol === 'tcp' && (cand.port === 0 || cand.port === 9)) {\n          return Promise.resolve();\n        }\n        // Ignore RTCP candidates, we assume RTCP-MUX.\n        if (cand.component &&\n            !(cand.component === '1' || cand.component === 1)) {\n          return Promise.resolve();\n        }\n        transceiver.iceTransport.addRemoteCandidate(cand);\n\n        // update the remoteDescription.\n        var sections = SDPUtils.splitSections(this.remoteDescription.sdp);\n        sections[mLineIndex + 1] += (cand.type ? candidate.candidate.trim()\n            : 'a=end-of-candidates') + '\\r\\n';\n        this.remoteDescription.sdp = sections.join('');\n      }\n    }\n    if (arguments.length > 1 && typeof arguments[1] === 'function') {\n      window.setTimeout(arguments[1], 0);\n    }\n    return Promise.resolve();\n  };\n\n  RTCPeerConnection.prototype.getStats = function() {\n    var promises = [];\n    this.transceivers.forEach(function(transceiver) {\n      ['rtpSender', 'rtpReceiver', 'iceGatherer', 'iceTransport',\n        'dtlsTransport'].forEach(function(method) {\n          if (transceiver[method]) {\n            promises.push(transceiver[method].getStats());\n          }\n        });\n    });\n    var cb = arguments.length > 1 && typeof arguments[1] === 'function' &&\n        arguments[1];\n    var fixStatsType = function(stat) {\n      return {\n        inboundrtp: 'inbound-rtp',\n        outboundrtp: 'outbound-rtp',\n        candidatepair: 'candidate-pair',\n        localcandidate: 'local-candidate',\n        remotecandidate: 'remote-candidate'\n      }[stat.type] || stat.type;\n    };\n    return new Promise(function(resolve) {\n      // shim getStats with maplike support\n      var results = new Map();\n      Promise.all(promises).then(function(res) {\n        res.forEach(function(result) {\n          Object.keys(result).forEach(function(id) {\n            result[id].type = fixStatsType(result[id]);\n            results.set(id, result[id]);\n          });\n        });\n        if (cb) {\n          window.setTimeout(cb, 0, results);\n        }\n        resolve(results);\n      });\n    });\n  };\n  return RTCPeerConnection;\n};\n"
    },
    {
      "id": 177,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/firefox/firefox_shim.js",
      "name": "./~/webrtc-adapter/src/js/firefox/firefox_shim.js",
      "index": 102,
      "index2": 99,
      "size": 6970,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/adapter_factory.js",
      "issuerId": 171,
      "issuerName": "./~/webrtc-adapter/src/js/adapter_factory.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 171,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/adapter_factory.js",
          "module": "./~/webrtc-adapter/src/js/adapter_factory.js",
          "moduleName": "./~/webrtc-adapter/src/js/adapter_factory.js",
          "type": "cjs require",
          "userRequest": "./firefox/firefox_shim",
          "loc": "51:20-53"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "/*\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 utils = require('../utils');\n\nvar firefoxShim = {\n  shimOnTrack: function(window) {\n    if (typeof window === 'object' && window.RTCPeerConnection && !('ontrack' in\n        window.RTCPeerConnection.prototype)) {\n      Object.defineProperty(window.RTCPeerConnection.prototype, 'ontrack', {\n        get: function() {\n          return this._ontrack;\n        },\n        set: function(f) {\n          if (this._ontrack) {\n            this.removeEventListener('track', this._ontrack);\n            this.removeEventListener('addstream', this._ontrackpoly);\n          }\n          this.addEventListener('track', this._ontrack = f);\n          this.addEventListener('addstream', this._ontrackpoly = function(e) {\n            e.stream.getTracks().forEach(function(track) {\n              var event = new Event('track');\n              event.track = track;\n              event.receiver = {track: track};\n              event.streams = [e.stream];\n              this.dispatchEvent(event);\n            }.bind(this));\n          }.bind(this));\n        }\n      });\n    }\n  },\n\n  shimSourceObject: function(window) {\n    // Firefox has supported mozSrcObject since FF22, unprefixed in 42.\n    if (typeof window === 'object') {\n      if (window.HTMLMediaElement &&\n        !('srcObject' in window.HTMLMediaElement.prototype)) {\n        // Shim the srcObject property, once, when HTMLMediaElement is found.\n        Object.defineProperty(window.HTMLMediaElement.prototype, 'srcObject', {\n          get: function() {\n            return this.mozSrcObject;\n          },\n          set: function(stream) {\n            this.mozSrcObject = stream;\n          }\n        });\n      }\n    }\n  },\n\n  shimPeerConnection: function(window) {\n    var browserDetails = utils.detectBrowser(window);\n\n    if (typeof window !== 'object' || !(window.RTCPeerConnection ||\n        window.mozRTCPeerConnection)) {\n      return; // probably media.peerconnection.enabled=false in about:config\n    }\n    // The RTCPeerConnection object.\n    if (!window.RTCPeerConnection) {\n      window.RTCPeerConnection = function(pcConfig, pcConstraints) {\n        if (browserDetails.version < 38) {\n          // .urls is not supported in FF < 38.\n          // create RTCIceServers with a single url.\n          if (pcConfig && pcConfig.iceServers) {\n            var newIceServers = [];\n            for (var i = 0; i < pcConfig.iceServers.length; i++) {\n              var server = pcConfig.iceServers[i];\n              if (server.hasOwnProperty('urls')) {\n                for (var j = 0; j < server.urls.length; j++) {\n                  var newServer = {\n                    url: server.urls[j]\n                  };\n                  if (server.urls[j].indexOf('turn') === 0) {\n                    newServer.username = server.username;\n                    newServer.credential = server.credential;\n                  }\n                  newIceServers.push(newServer);\n                }\n              } else {\n                newIceServers.push(pcConfig.iceServers[i]);\n              }\n            }\n            pcConfig.iceServers = newIceServers;\n          }\n        }\n        return new window.mozRTCPeerConnection(pcConfig, pcConstraints);\n      };\n      window.RTCPeerConnection.prototype =\n          window.mozRTCPeerConnection.prototype;\n\n      // wrap static methods. Currently just generateCertificate.\n      if (window.mozRTCPeerConnection.generateCertificate) {\n        Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', {\n          get: function() {\n            return window.mozRTCPeerConnection.generateCertificate;\n          }\n        });\n      }\n\n      window.RTCSessionDescription = window.mozRTCSessionDescription;\n      window.RTCIceCandidate = window.mozRTCIceCandidate;\n    }\n\n    // shim away need for obsolete RTCIceCandidate/RTCSessionDescription.\n    ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate']\n        .forEach(function(method) {\n          var nativeMethod = window.RTCPeerConnection.prototype[method];\n          window.RTCPeerConnection.prototype[method] = function() {\n            arguments[0] = new ((method === 'addIceCandidate') ?\n                window.RTCIceCandidate :\n                window.RTCSessionDescription)(arguments[0]);\n            return nativeMethod.apply(this, arguments);\n          };\n        });\n\n    // support for addIceCandidate(null or undefined)\n    var nativeAddIceCandidate =\n        window.RTCPeerConnection.prototype.addIceCandidate;\n    window.RTCPeerConnection.prototype.addIceCandidate = function() {\n      if (!arguments[0]) {\n        if (arguments[1]) {\n          arguments[1].apply(null);\n        }\n        return Promise.resolve();\n      }\n      return nativeAddIceCandidate.apply(this, arguments);\n    };\n\n    // shim getStats with maplike support\n    var makeMapStats = function(stats) {\n      var map = new Map();\n      Object.keys(stats).forEach(function(key) {\n        map.set(key, stats[key]);\n        map[key] = stats[key];\n      });\n      return map;\n    };\n\n    var modernStatsTypes = {\n      inboundrtp: 'inbound-rtp',\n      outboundrtp: 'outbound-rtp',\n      candidatepair: 'candidate-pair',\n      localcandidate: 'local-candidate',\n      remotecandidate: 'remote-candidate'\n    };\n\n    var nativeGetStats = window.RTCPeerConnection.prototype.getStats;\n    window.RTCPeerConnection.prototype.getStats = function(\n      selector,\n      onSucc,\n      onErr\n    ) {\n      return nativeGetStats.apply(this, [selector || null])\n        .then(function(stats) {\n          if (browserDetails.version < 48) {\n            stats = makeMapStats(stats);\n          }\n          if (browserDetails.version < 53 && !onSucc) {\n            // Shim only promise getStats with spec-hyphens in type names\n            // Leave callback version alone; misc old uses of forEach before Map\n            try {\n              stats.forEach(function(stat) {\n                stat.type = modernStatsTypes[stat.type] || stat.type;\n              });\n            } catch (e) {\n              if (e.name !== 'TypeError') {\n                throw e;\n              }\n              // Avoid TypeError: \"type\" is read-only, in old versions. 34-43ish\n              stats.forEach(function(stat, i) {\n                stats.set(i, Object.assign({}, stat, {\n                  type: modernStatsTypes[stat.type] || stat.type\n                }));\n              });\n            }\n          }\n          return stats;\n        })\n        .then(onSucc, onErr);\n    };\n  }\n};\n\n// Expose public methods.\nmodule.exports = {\n  shimOnTrack: firefoxShim.shimOnTrack,\n  shimSourceObject: firefoxShim.shimSourceObject,\n  shimPeerConnection: firefoxShim.shimPeerConnection,\n  shimGetUserMedia: require('./getusermedia')\n};\n"
    },
    {
      "id": 178,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/firefox/getusermedia.js",
      "name": "./~/webrtc-adapter/src/js/firefox/getusermedia.js",
      "index": 103,
      "index2": 98,
      "size": 7164,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/firefox/firefox_shim.js",
      "issuerId": 177,
      "issuerName": "./~/webrtc-adapter/src/js/firefox/firefox_shim.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 177,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/firefox/firefox_shim.js",
          "module": "./~/webrtc-adapter/src/js/firefox/firefox_shim.js",
          "moduleName": "./~/webrtc-adapter/src/js/firefox/firefox_shim.js",
          "type": "cjs require",
          "userRequest": "./getusermedia",
          "loc": "197:20-45"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 5,
      "source": "/*\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 utils = require('../utils');\nvar logging = utils.log;\n\n// Expose public methods.\nmodule.exports = function(window) {\n  var browserDetails = utils.detectBrowser(window);\n  var navigator = window && window.navigator;\n  var MediaStreamTrack = window && window.MediaStreamTrack;\n\n  var shimError_ = function(e) {\n    return {\n      name: {\n        InternalError: 'NotReadableError',\n        NotSupportedError: 'TypeError',\n        PermissionDeniedError: 'NotAllowedError',\n        SecurityError: 'NotAllowedError'\n      }[e.name] || e.name,\n      message: {\n        'The operation is insecure.': 'The request is not allowed by the ' +\n        'user agent or the platform in the current context.'\n      }[e.message] || e.message,\n      constraint: e.constraint,\n      toString: function() {\n        return this.name + (this.message && ': ') + this.message;\n      }\n    };\n  };\n\n  // getUserMedia constraints shim.\n  var getUserMedia_ = function(constraints, onSuccess, onError) {\n    var constraintsToFF37_ = function(c) {\n      if (typeof c !== 'object' || c.require) {\n        return c;\n      }\n      var require = [];\n      Object.keys(c).forEach(function(key) {\n        if (key === 'require' || key === 'advanced' || key === 'mediaSource') {\n          return;\n        }\n        var r = c[key] = (typeof c[key] === 'object') ?\n            c[key] : {ideal: c[key]};\n        if (r.min !== undefined ||\n            r.max !== undefined || r.exact !== undefined) {\n          require.push(key);\n        }\n        if (r.exact !== undefined) {\n          if (typeof r.exact === 'number') {\n            r. min = r.max = r.exact;\n          } else {\n            c[key] = r.exact;\n          }\n          delete r.exact;\n        }\n        if (r.ideal !== undefined) {\n          c.advanced = c.advanced || [];\n          var oc = {};\n          if (typeof r.ideal === 'number') {\n            oc[key] = {min: r.ideal, max: r.ideal};\n          } else {\n            oc[key] = r.ideal;\n          }\n          c.advanced.push(oc);\n          delete r.ideal;\n          if (!Object.keys(r).length) {\n            delete c[key];\n          }\n        }\n      });\n      if (require.length) {\n        c.require = require;\n      }\n      return c;\n    };\n    constraints = JSON.parse(JSON.stringify(constraints));\n    if (browserDetails.version < 38) {\n      logging('spec: ' + JSON.stringify(constraints));\n      if (constraints.audio) {\n        constraints.audio = constraintsToFF37_(constraints.audio);\n      }\n      if (constraints.video) {\n        constraints.video = constraintsToFF37_(constraints.video);\n      }\n      logging('ff37: ' + JSON.stringify(constraints));\n    }\n    return navigator.mozGetUserMedia(constraints, onSuccess, function(e) {\n      onError(shimError_(e));\n    });\n  };\n\n  // Returns the result of getUserMedia as a Promise.\n  var getUserMediaPromise_ = function(constraints) {\n    return new Promise(function(resolve, reject) {\n      getUserMedia_(constraints, resolve, reject);\n    });\n  };\n\n  // Shim for mediaDevices on older versions.\n  if (!navigator.mediaDevices) {\n    navigator.mediaDevices = {getUserMedia: getUserMediaPromise_,\n      addEventListener: function() { },\n      removeEventListener: function() { }\n    };\n  }\n  navigator.mediaDevices.enumerateDevices =\n      navigator.mediaDevices.enumerateDevices || function() {\n        return new Promise(function(resolve) {\n          var infos = [\n            {kind: 'audioinput', deviceId: 'default', label: '', groupId: ''},\n            {kind: 'videoinput', deviceId: 'default', label: '', groupId: ''}\n          ];\n          resolve(infos);\n        });\n      };\n\n  if (browserDetails.version < 41) {\n    // Work around http://bugzil.la/1169665\n    var orgEnumerateDevices =\n        navigator.mediaDevices.enumerateDevices.bind(navigator.mediaDevices);\n    navigator.mediaDevices.enumerateDevices = function() {\n      return orgEnumerateDevices().then(undefined, function(e) {\n        if (e.name === 'NotFoundError') {\n          return [];\n        }\n        throw e;\n      });\n    };\n  }\n  if (browserDetails.version < 49) {\n    var origGetUserMedia = navigator.mediaDevices.getUserMedia.\n        bind(navigator.mediaDevices);\n    navigator.mediaDevices.getUserMedia = function(c) {\n      return origGetUserMedia(c).then(function(stream) {\n        // Work around https://bugzil.la/802326\n        if (c.audio && !stream.getAudioTracks().length ||\n            c.video && !stream.getVideoTracks().length) {\n          stream.getTracks().forEach(function(track) {\n            track.stop();\n          });\n          throw new DOMException('The object can not be found here.',\n                                 'NotFoundError');\n        }\n        return stream;\n      }, function(e) {\n        return Promise.reject(shimError_(e));\n      });\n    };\n  }\n  if (!(browserDetails.version > 55 &&\n      'autoGainControl' in navigator.mediaDevices.getSupportedConstraints())) {\n    var remap = function(obj, a, b) {\n      if (a in obj && !(b in obj)) {\n        obj[b] = obj[a];\n        delete obj[a];\n      }\n    };\n\n    var nativeGetUserMedia = navigator.mediaDevices.getUserMedia.\n        bind(navigator.mediaDevices);\n    navigator.mediaDevices.getUserMedia = function(c) {\n      if (typeof c === 'object' && typeof c.audio === 'object') {\n        c = JSON.parse(JSON.stringify(c));\n        remap(c.audio, 'autoGainControl', 'mozAutoGainControl');\n        remap(c.audio, 'noiseSuppression', 'mozNoiseSuppression');\n      }\n      return nativeGetUserMedia(c);\n    };\n\n    if (MediaStreamTrack && MediaStreamTrack.prototype.getSettings) {\n      var nativeGetSettings = MediaStreamTrack.prototype.getSettings;\n      MediaStreamTrack.prototype.getSettings = function() {\n        var obj = nativeGetSettings.apply(this, arguments);\n        remap(obj, 'mozAutoGainControl', 'autoGainControl');\n        remap(obj, 'mozNoiseSuppression', 'noiseSuppression');\n        return obj;\n      };\n    }\n\n    if (MediaStreamTrack && MediaStreamTrack.prototype.applyConstraints) {\n      var nativeApplyConstraints = MediaStreamTrack.prototype.applyConstraints;\n      MediaStreamTrack.prototype.applyConstraints = function(c) {\n        if (this.kind === 'audio' && typeof c === 'object') {\n          c = JSON.parse(JSON.stringify(c));\n          remap(c, 'autoGainControl', 'mozAutoGainControl');\n          remap(c, 'noiseSuppression', 'mozNoiseSuppression');\n        }\n        return nativeApplyConstraints.apply(this, [c]);\n      };\n    }\n  }\n  navigator.getUserMedia = function(constraints, onSuccess, onError) {\n    if (browserDetails.version < 44) {\n      return getUserMedia_(constraints, onSuccess, onError);\n    }\n    // Replace Firefox 44+'s deprecation warning with unprefixed version.\n    utils.deprecated('navigator.getUserMedia',\n        'navigator.mediaDevices.getUserMedia');\n    navigator.mediaDevices.getUserMedia(constraints).then(onSuccess, onError);\n  };\n};\n"
    },
    {
      "id": 179,
      "identifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/safari/safari_shim.js",
      "name": "./~/webrtc-adapter/src/js/safari/safari_shim.js",
      "index": 104,
      "index2": 100,
      "size": 8855,
      "cacheable": true,
      "built": true,
      "optional": false,
      "prefetched": false,
      "chunks": [
        0
      ],
      "assets": [],
      "issuer": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/adapter_factory.js",
      "issuerId": 171,
      "issuerName": "./~/webrtc-adapter/src/js/adapter_factory.js",
      "failed": false,
      "errors": 0,
      "warnings": 0,
      "reasons": [
        {
          "moduleId": 171,
          "moduleIdentifier": "/Users/lebrisfranck/webrtc/reach/node_modules/webrtc-adapter/src/js/adapter_factory.js",
          "module": "./~/webrtc-adapter/src/js/adapter_factory.js",
          "moduleName": "./~/webrtc-adapter/src/js/adapter_factory.js",
          "type": "cjs require",
          "userRequest": "./safari/safari_shim",
          "loc": "52:19-50"
        }
      ],
      "usedExports": true,
      "providedExports": null,
      "depth": 4,
      "source": "/*\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'use strict';\nvar utils = require('../utils');\n\nvar safariShim = {\n  // TODO: DrAlex, should be here, double check against LayoutTests\n\n  // TODO: once the back-end for the mac port is done, add.\n  // TODO: check for webkitGTK+\n  // shimPeerConnection: function() { },\n\n  shimLocalStreamsAPI: function(window) {\n    if (typeof window !== 'object' || !window.RTCPeerConnection) {\n      return;\n    }\n    if (!('getLocalStreams' in window.RTCPeerConnection.prototype)) {\n      window.RTCPeerConnection.prototype.getLocalStreams = function() {\n        if (!this._localStreams) {\n          this._localStreams = [];\n        }\n        return this._localStreams;\n      };\n    }\n    if (!('getStreamById' in window.RTCPeerConnection.prototype)) {\n      window.RTCPeerConnection.prototype.getStreamById = function(id) {\n        var result = null;\n        if (this._localStreams) {\n          this._localStreams.forEach(function(stream) {\n            if (stream.id === id) {\n              result = stream;\n            }\n          });\n        }\n        if (this._remoteStreams) {\n          this._remoteStreams.forEach(function(stream) {\n            if (stream.id === id) {\n              result = stream;\n            }\n          });\n        }\n        return result;\n      };\n    }\n    if (!('addStream' in window.RTCPeerConnection.prototype)) {\n      var _addTrack = window.RTCPeerConnection.prototype.addTrack;\n      window.RTCPeerConnection.prototype.addStream = function(stream) {\n        if (!this._localStreams) {\n          this._localStreams = [];\n        }\n        if (this._localStreams.indexOf(stream) === -1) {\n          this._localStreams.push(stream);\n        }\n        var self = this;\n        stream.getTracks().forEach(function(track) {\n          _addTrack.call(self, track, stream);\n        });\n      };\n\n      window.RTCPeerConnection.prototype.addTrack = function(track, stream) {\n        if (stream) {\n          if (!this._localStreams) {\n            this._localStreams = [stream];\n          } else if (this._localStreams.indexOf(stream) === -1) {\n            this._localStreams.push(stream);\n          }\n        }\n        _addTrack.call(this, track, stream);\n      };\n    }\n    if (!('removeStream' in window.RTCPeerConnection.prototype)) {\n      window.RTCPeerConnection.prototype.removeStream = function(stream) {\n        if (!this._localStreams) {\n          this._localStreams = [];\n        }\n        var index = this._localStreams.indexOf(stream);\n        if (index === -1) {\n          return;\n        }\n        this._localStreams.splice(index, 1);\n        var self = this;\n        var tracks = stream.getTracks();\n        this.getSenders().forEach(function(sender) {\n          if (tracks.indexOf(sender.track) !== -1) {\n            self.removeTrack(sender);\n          }\n        });\n      };\n    }\n  },\n  shimRemoteStreamsAPI: function(window) {\n    if (typeof window !== 'object' || !window.RTCPeerConnection) {\n      return;\n    }\n    if (!('getRemoteStreams' in window.RTCPeerConnection.prototype)) {\n      window.RTCPeerConnection.prototype.getRemoteStreams = function() {\n        return this._remoteStreams ? this._remoteStreams : [];\n      };\n    }\n    if (!('onaddstream' in window.RTCPeerConnection.prototype)) {\n      Object.defineProperty(window.RTCPeerConnection.prototype, 'onaddstream', {\n        get: function() {\n          return this._onaddstream;\n        },\n        set: function(f) {\n          if (this._onaddstream) {\n            this.removeEventListener('addstream', this._onaddstream);\n            this.removeEventListener('track', this._onaddstreampoly);\n          }\n          this.addEventListener('addstream', this._onaddstream = f);\n          this.addEventListener('track', this._onaddstreampoly = function(e) {\n            var stream = e.streams[0];\n            if (!this._remoteStreams) {\n              this._remoteStreams = [];\n            }\n            if (this._remoteStreams.indexOf(stream) >= 0) {\n              return;\n            }\n            this._remoteStreams.push(stream);\n            var event = new Event('addstream');\n            event.stream = e.streams[0];\n            this.dispatchEvent(event);\n          }.bind(this));\n        }\n      });\n    }\n  },\n  shimCallbacksAPI: function(window) {\n    if (typeof window !== 'object' || !window.RTCPeerConnection) {\n      return;\n    }\n    var prototype = window.RTCPeerConnection.prototype;\n    var createOffer = prototype.createOffer;\n    var createAnswer = prototype.createAnswer;\n    var setLocalDescription = prototype.setLocalDescription;\n    var setRemoteDescription = prototype.setRemoteDescription;\n    var addIceCandidate = prototype.addIceCandidate;\n\n    prototype.createOffer = function(successCallback, failureCallback) {\n      var options = (arguments.length >= 2) ? arguments[2] : arguments[0];\n      var promise = createOffer.apply(this, [options]);\n      if (!failureCallback) {\n        return promise;\n      }\n      promise.then(successCallback, failureCallback);\n      return Promise.resolve();\n    };\n\n    prototype.createAnswer = function(successCallback, failureCallback) {\n      var options = (arguments.length >= 2) ? arguments[2] : arguments[0];\n      var promise = createAnswer.apply(this, [options]);\n      if (!failureCallback) {\n        return promise;\n      }\n      promise.then(successCallback, failureCallback);\n      return Promise.resolve();\n    };\n\n    var withCallback = function(description, successCallback, failureCallback) {\n      var promise = setLocalDescription.apply(this, [description]);\n      if (!failureCallback) {\n        return promise;\n      }\n      promise.then(successCallback, failureCallback);\n      return Promise.resolve();\n    };\n    prototype.setLocalDescription = withCallback;\n\n    withCallback = function(description, successCallback, failureCallback) {\n      var promise = setRemoteDescription.apply(this, [description]);\n      if (!failureCallback) {\n        return promise;\n      }\n      promise.then(successCallback, failureCallback);\n      return Promise.resolve();\n    };\n    prototype.setRemoteDescription = withCallback;\n\n    withCallback = function(candidate, successCallback, failureCallback) {\n      var promise = addIceCandidate.apply(this, [candidate]);\n      if (!failureCallback) {\n        return promise;\n      }\n      promise.then(successCallback, failureCallback);\n      return Promise.resolve();\n    };\n    prototype.addIceCandidate = withCallback;\n  },\n  shimGetUserMedia: function(window) {\n    var navigator = window && window.navigator;\n\n    if (!navigator.getUserMedia) {\n      if (navigator.webkitGetUserMedia) {\n        navigator.getUserMedia = navigator.webkitGetUserMedia.bind(navigator);\n      } else if (navigator.mediaDevices &&\n          navigator.mediaDevices.getUserMedia) {\n        navigator.getUserMedia = function(constraints, cb, errcb) {\n          navigator.mediaDevices.getUserMedia(constraints)\n          .then(cb, errcb);\n        }.bind(navigator);\n      }\n    }\n  },\n  shimRTCIceServerUrls: function(window) {\n    // migrate from non-spec RTCIceServer.url to RTCIceServer.urls\n    var OrigPeerConnection = window.RTCPeerConnection;\n    window.RTCPeerConnection = function(pcConfig, pcConstraints) {\n      if (pcConfig && pcConfig.iceServers) {\n        var newIceServers = [];\n        for (var i = 0; i < pcConfig.iceServers.length; i++) {\n          var server = pcConfig.iceServers[i];\n          if (!server.hasOwnProperty('urls') &&\n              server.hasOwnProperty('url')) {\n            utils.deprecated('RTCIceServer.url', 'RTCIceServer.urls');\n            server = JSON.parse(JSON.stringify(server));\n            server.urls = server.url;\n            delete server.url;\n            newIceServers.push(server);\n          } else {\n            newIceServers.push(pcConfig.iceServers[i]);\n          }\n        }\n        pcConfig.iceServers = newIceServers;\n      }\n      return new OrigPeerConnection(pcConfig, pcConstraints);\n    };\n    window.RTCPeerConnection.prototype = OrigPeerConnection.prototype;\n    // wrap static methods. Currently just generateCertificate.\n    Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', {\n      get: function() {\n        return OrigPeerConnection.generateCertificate;\n      }\n    });\n  }\n};\n\n// Expose public methods.\nmodule.exports = {\n  shimCallbacksAPI: safariShim.shimCallbacksAPI,\n  shimLocalStreamsAPI: safariShim.shimLocalStreamsAPI,\n  shimRemoteStreamsAPI: safariShim.shimRemoteStreamsAPI,\n  shimGetUserMedia: safariShim.shimGetUserMedia,\n  shimRTCIceServerUrls: safariShim.shimRTCIceServerUrls\n  // TODO\n  // shimPeerConnection: safariShim.shimPeerConnection\n};\n"
    }
  ],
  "filteredModules": 0,
  "children": []
}