naoufal/react-native-apple-pay

View on GitHub
examples/native/ios/main.jsbundle

Summary

Maintainability
Test Coverage
/******/ (function(modules) { // webpackBootstrap
/******/     // The module cache
/******/     var installedModules = {};
/******/
/******/     // The require function
/******/     function __webpack_require__(moduleId) {
/******/
/******/         // Check if module is in cache
/******/         if(installedModules[moduleId]) {
/******/             return installedModules[moduleId].exports;
/******/         }
/******/         // Create a new module (and put it into the cache)
/******/         var module = installedModules[moduleId] = {
/******/             i: moduleId,
/******/             l: false,
/******/             exports: {}
/******/         };
/******/
/******/         // Execute the module function
/******/         modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/         // Flag the module as loaded
/******/         module.l = true;
/******/
/******/         // Return the exports of the module
/******/         return module.exports;
/******/     }
/******/
/******/
/******/     // expose the modules object (__webpack_modules__)
/******/     __webpack_require__.m = modules;
/******/
/******/     // expose the module cache
/******/     __webpack_require__.c = installedModules;
/******/
/******/     // identity function for calling harmony imports with the correct context
/******/     __webpack_require__.i = function(value) { return value; };
/******/
/******/     // define getter function for harmony exports
/******/     __webpack_require__.d = function(exports, name, getter) {
/******/         if(!__webpack_require__.o(exports, name)) {
/******/             Object.defineProperty(exports, name, {
/******/                 configurable: false,
/******/                 enumerable: true,
/******/                 get: getter
/******/             });
/******/         }
/******/     };
/******/
/******/     // getDefaultExport function for compatibility with non-harmony modules
/******/     __webpack_require__.n = function(module) {
/******/         var getter = module && module.__esModule ?
/******/             function getDefault() { return module['default']; } :
/******/             function getModuleExports() { return module; };
/******/         __webpack_require__.d(getter, 'a', getter);
/******/         return getter;
/******/     };
/******/
/******/     // Object.prototype.hasOwnProperty.call
/******/     __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/     // __webpack_public_path__
/******/     __webpack_require__.p = "";
/******/
/******/     // Load entry module and return exports
/******/     return __webpack_require__(__webpack_require__.s = 0);
/******/ })
/************************************************************************/
/******/ ({

/***/ "../../index.js":
/***/ (function(module, exports, __webpack_require__) {

module.exports=__webpack_require__("../../lib/js/index.js");

/***/ }),

/***/ "../../lib/js/NativePayments.js":
/***/ (function(module, exports, __webpack_require__) {

Object.defineProperty(exports,"__esModule",{value:true});var _reactNative=__webpack_require__("./node_modules/react-native/Libraries/react-native/react-native.js");var ReactNativePayments=_reactNative.NativeModules.ReactNativePayments;var IS_ANDROID=_reactNative.Platform.OS==='android';var NativePayments={supportedGateways:IS_ANDROID?['stripe','braintree']:ReactNativePayments.supportedGateways,canMakePayments:function canMakePayments(methodData){return new Promise(function(resolve,reject){if(IS_ANDROID){ReactNativePayments.canMakePayments(methodData,function(err){return reject(err);},function(canMakePayments){return resolve(true);});return;}resolve(ReactNativePayments.canMakePayments);});},createPaymentRequest:function createPaymentRequest(methodData,details){var options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};return new Promise(function(resolve,reject){if(IS_ANDROID){return resolve();}ReactNativePayments.createPaymentRequest(methodData,details,options,function(err){if(err)return reject(err);resolve();});});},handleDetailsUpdate:function handleDetailsUpdate(details){return new Promise(function(resolve,reject){if(IS_ANDROID){resolve(undefined);return;}ReactNativePayments.handleDetailsUpdate(details,function(err){if(err)return reject(err);resolve();});});},show:function show(methodData,details){var options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};return new Promise(function(resolve,reject){if(IS_ANDROID){ReactNativePayments.show(methodData,details,options,function(err){return reject(err);},function(){for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}console.log(args);resolve(true);});return;}ReactNativePayments.show(function(err,paymentToken){if(err)return reject(err);resolve(true);});});},abort:function abort(){return new Promise(function(resolve,reject){if(IS_ANDROID){resolve(undefined);return;}ReactNativePayments.abort(function(err){if(err)return reject(err);resolve(true);});});},complete:function complete(paymentStatus){return new Promise(function(resolve,reject){if(IS_ANDROID){resolve(undefined);return;}ReactNativePayments.complete(paymentStatus,function(err){if(err)return reject(err);resolve(true);});});},getFullWalletAndroid:function getFullWalletAndroid(googleTransactionId,paymentMethodData,details){return new Promise(function(resolve,reject){if(!IS_ANDROID){reject(new Error('This method is only available on Android.'));return;}ReactNativePayments.getFullWalletAndroid(googleTransactionId,paymentMethodData,details,function(err){return reject(err);},function(serializedPaymenToken){return resolve({serializedPaymenToken:serializedPaymenToken,paymenToken:JSON.parse(serializedPaymenToken)});});});}};exports.default=NativePayments;

/***/ }),

/***/ "../../lib/js/PaymentRequest.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _reactNative=__webpack_require__("./node_modules/react-native/Libraries/react-native/react-native.js");var _v=__webpack_require__("./node_modules/uuid/v1.js");var _v2=_interopRequireDefault(_v);var _NativePayments=__webpack_require__("../../lib/js/NativePayments.js");var _NativePayments2=_interopRequireDefault(_NativePayments);var _PaymentResponse=__webpack_require__("../../lib/js/PaymentResponse.js");var _PaymentResponse2=_interopRequireDefault(_PaymentResponse);var _PaymentRequestUpdateEvent=__webpack_require__("../../lib/js/PaymentRequestUpdateEvent.js");var _PaymentRequestUpdateEvent2=_interopRequireDefault(_PaymentRequestUpdateEvent);var _helpers=__webpack_require__("../../lib/js/helpers/index.js");var _errors=__webpack_require__("../../lib/js/errors/index.js");var _constants=__webpack_require__("../../lib/js/constants.js");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var noop=function noop(){};var IS_ANDROID=_reactNative.Platform.OS==='android';var IS_IOS=_reactNative.Platform.OS==='ios';var PaymentRequest=function(){function PaymentRequest(){var methodData=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];var details=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};_classCallCheck(this,PaymentRequest);noop();if(!details.id){details.id=(0,_v2.default)();}var serializedMethodData=(0,_helpers.validatePaymentMethods)(methodData);(0,_helpers.validateTotal)(details.total,_errors.ConstructorError);(0,_helpers.validateDisplayItems)(details.displayItems,_errors.ConstructorError);var selectedShippingOption=null;(0,_helpers.validateShippingOptions)(details,_errors.ConstructorError);if(IS_IOS){selectedShippingOption=(0,_helpers.getSelectedShippingOption)(details.shippingOptions);}var serializedModifierData=[];this._options=options;this._state='created';this._updating=false;this._details=details;this._serializedModifierData=serializedModifierData;this._serializedMethodData=JSON.stringify(methodData);this._id=details.id;this._shippingOption=selectedShippingOption;this._shippingAddress=null;this._shippingType=IS_IOS&&options.requestShipping===true?options.shippingType:null;this._setupEventListeners();this._shippingAddressChangesCount=0;var platformMethodData=(0,_helpers.getPlatformMethodData)(methodData,_reactNative.Platform.OS);var normalizedDetails=(0,_helpers.convertDetailAmountsToString)(details);if((0,_helpers.hasGatewayConfig)(platformMethodData)){(0,_helpers.validateGateway)((0,_helpers.getGatewayName)(platformMethodData),_NativePayments2.default.supportedGateways);}_NativePayments2.default.createPaymentRequest(platformMethodData,normalizedDetails,options);}_createClass(PaymentRequest,[{key:'_setupEventListeners',value:function _setupEventListeners(){this._userDismissSubscription=_reactNative.DeviceEventEmitter.addListener(_constants.USER_DISMISS_EVENT,this._closePaymentRequest.bind(this));this._userAcceptSubscription=_reactNative.DeviceEventEmitter.addListener(_constants.USER_ACCEPT_EVENT,this._handleUserAccept.bind(this));if(IS_IOS){this._gatewayErrorSubscription=_reactNative.DeviceEventEmitter.addListener(_constants.GATEWAY_ERROR_EVENT,this._handleGatewayError.bind(this));this._shippingOptionChangeSubscription=_reactNative.DeviceEventEmitter.addListener(_constants.INTERNAL_SHIPPING_OPTION_CHANGE_EVENT,this._handleShippingOptionChange.bind(this));this._shippingAddressChangeSubscription=_reactNative.DeviceEventEmitter.addListener(_constants.INTERNAL_SHIPPING_ADDRESS_CHANGE_EVENT,this._handleShippingAddressChange.bind(this));}}},{key:'_handleShippingAddressChange',value:function _handleShippingAddressChange(postalAddress){this._shippingAddress=postalAddress;var event=new _PaymentRequestUpdateEvent2.default(_constants.SHIPPING_ADDRESS_CHANGE_EVENT,this);this._shippingAddressChangesCount++;if(IS_IOS&&this._shippingAddressChangesCount===1){return event.updateWith(this._details);}this._shippingAddressChangeFn(event);}},{key:'_handleShippingOptionChange',value:function _handleShippingOptionChange(_ref){var selectedShippingOptionId=_ref.selectedShippingOptionId;this._shippingOption=selectedShippingOptionId;var event=new _PaymentRequestUpdateEvent2.default(_constants.SHIPPING_OPTION_CHANGE_EVENT,this);this._shippingOptionChangeFn(event);}},{key:'_getPlatformDetails',value:function _getPlatformDetails(details){return IS_IOS?this._getPlatformDetailsIOS(details):this._getPlatformDetailsAndroid(details);}},{key:'_getPlatformDetailsIOS',value:function _getPlatformDetailsIOS(details){var transactionIdentifier=details.transactionIdentifier,serializedPaymentData=details.paymentData;var isSimulator=transactionIdentifier==='Simulated Identifier';if(isSimulator){return _extends({},details,{paymentData:null,serializedPaymentData:serializedPaymentData});}return{transactionIdentifier:transactionIdentifier,paymentData:JSON.parse(serializedPaymentData),serializedPaymentData:serializedPaymentData};}},{key:'_getPlatformDetailsAndroid',value:function _getPlatformDetailsAndroid(details){var _this=this;var googleTransactionId=details.googleTransactionId,paymentDescription=details.paymentDescription;return{googleTransactionId:googleTransactionId,paymentDescription:paymentDescription,getPaymentToken:function getPaymentToken(){return _NativePayments2.default.getFullWalletAndroid(googleTransactionId,(0,_helpers.getPlatformMethodData)(JSON.parse(_this._serializedMethodData,_reactNative.Platform.OS)),(0,_helpers.convertDetailAmountsToString)(_this._details));}};}},{key:'_handleUserAccept',value:function _handleUserAccept(details){if(IS_ANDROID){var _shippingAddress=details.shippingAddress;this._shippingAddress=_shippingAddress;}var platformDetails=this._getPlatformDetails(details);var paymentResponse=new _PaymentResponse2.default({requestId:this.id,methodName:IS_IOS?'apple-pay':'android-pay',details:platformDetails,shippingAddress:this._options.requestShipping?this._shippingAddress:null,shippingOption:IS_IOS?this._shippingOption:null,payerName:this._options.requestPayerName?this._shippingAddress.recipient:null,payerPhone:this._options.requestPayerPhone?this._shippingAddress.phone:null,payerEmail:IS_ANDROID&&this._options.requestPayerEmail?details.payerEmail:null});return this._acceptPromiseResolver(paymentResponse);}},{key:'_handleGatewayError',value:function _handleGatewayError(details){return this._acceptPromiseRejecter(new _errors.GatewayError(details.error));}},{key:'_closePaymentRequest',value:function _closePaymentRequest(){this._state='closed';this._acceptPromiseRejecter(new Error('AbortError'));this._removeEventListeners();}},{key:'_removeEventListeners',value:function _removeEventListeners(){_reactNative.DeviceEventEmitter.removeSubscription(this._userDismissSubscription);_reactNative.DeviceEventEmitter.removeSubscription(this._userAcceptSubscription);if(IS_IOS){_reactNative.DeviceEventEmitter.removeSubscription(this._shippingAddressChangeSubscription);_reactNative.DeviceEventEmitter.removeSubscription(this._shippingOptionChangeSubscription);}}},{key:'addEventListener',value:function addEventListener(eventName,fn){if(eventName===_constants.SHIPPING_ADDRESS_CHANGE_EVENT){return this._shippingAddressChangeFn=fn.bind(this);}if(eventName===_constants.SHIPPING_OPTION_CHANGE_EVENT){return this._shippingOptionChangeFn=fn.bind(this);}}},{key:'show',value:function show(){var _this2=this;this._acceptPromise=new Promise(function(resolve,reject){_this2._acceptPromiseResolver=resolve;_this2._acceptPromiseRejecter=reject;if(_this2._state!=='created'){return reject(new Error('InvalidStateError'));}_this2._state='interactive';var platformMethodData=(0,_helpers.getPlatformMethodData)(JSON.parse(_this2._serializedMethodData),_reactNative.Platform.OS);var normalizedDetails=(0,_helpers.convertDetailAmountsToString)(_this2._details);var options=_this2._options;return _NativePayments2.default.show(platformMethodData,normalizedDetails,options);});return this._acceptPromise;}},{key:'abort',value:function abort(){var _this3=this;return new Promise(function(resolve,reject){if(_this3._state!=='interactive'){return reject(new Error('InvalidStateError'));}_NativePayments2.default.abort(function(err){if(err){return reject(new Error('InvalidStateError'));}_this3._closePaymentRequest();return resolve(undefined);});});}},{key:'canMakePayments',value:function canMakePayments(){return _NativePayments2.default.canMakePayments((0,_helpers.getPlatformMethodData)(JSON.parse(this._serializedMethodData,_reactNative.Platform.OS)));}},{key:'id',get:function get(){return this._id;}},{key:'shippingAddress',get:function get(){return this._shippingAddress;}},{key:'shippingOption',get:function get(){return this._shippingOption;}}]);return PaymentRequest;}();exports.default=PaymentRequest;

/***/ }),

/***/ "../../lib/js/PaymentRequestUpdateEvent.js":
/***/ (function(module, exports, __webpack_require__) {

Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _reactNative=__webpack_require__("./node_modules/react-native/Libraries/react-native/react-native.js");var _constants=__webpack_require__("../../lib/js/constants.js");var _PaymentRequest=__webpack_require__("../../lib/js/PaymentRequest.js");var _PaymentRequest2=_interopRequireDefault(_PaymentRequest);var _NativePayments=__webpack_require__("../../lib/js/NativePayments.js");var _NativePayments2=_interopRequireDefault(_NativePayments);var _helpers=__webpack_require__("../../lib/js/helpers/index.js");var _errors=__webpack_require__("../../lib/js/errors/index.js");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var noop=function noop(){};function isPromise(value){if(!value.then){return false;}return typeof value.then==='function';}var PaymentRequestUpdateEvent=function(){function PaymentRequestUpdateEvent(name,target){_classCallCheck(this,PaymentRequestUpdateEvent);if(name!==_constants.SHIPPING_ADDRESS_CHANGE_EVENT&&name!==_constants.SHIPPING_OPTION_CHANGE_EVENT){throw new Error('Only "'+_constants.SHIPPING_ADDRESS_CHANGE_EVENT+'" and "'+_constants.SHIPPING_OPTION_CHANGE_EVENT+'" event listeners are supported.');}this.name=name;this.target=target;this._waitForUpdate=false;this._handleDetailsChange=this._handleDetailsChange.bind(this);this._resetEvent=this._resetEvent.bind(this);}_createClass(PaymentRequestUpdateEvent,[{key:'_handleDetailsChange',value:function _handleDetailsChange(value){var _this=this;var target=this.target;(0,_helpers.validateTotal)(value.total,_errors.DOMException);(0,_helpers.validateDisplayItems)(value.displayItems,_errors.DOMException);(0,_helpers.validateShippingOptions)(value.shippingOptions,_errors.DOMException);var details=_extends({},value);var serializedModifierData=[];var selectedShippingOption=null;var shippingOptions=[];target._details=details;var normalizedDetails=(0,_helpers.convertDetailAmountsToString)(target._details);return _NativePayments2.default.handleDetailsUpdate(normalizedDetails,_errors.DOMException).then(this._resetEvent()).then(function(){if(_reactNative.Platform.OS!=='ios'){return;}if(target._details.shippingOptions&&target._details.shippingOptions.length>0){target._handleShippingOptionChange({selectedShippingOptionId:target._details.shippingOptions[0].id});}}).catch(function(e){_this._resetEvent();throw new Error('AbortError');});}},{key:'_resetEvent',value:function _resetEvent(){this._waitForUpdate=false;this.target._updating=false;noop();}},{key:'updateWith',value:function updateWith(PaymentDetailsModifierOrPromise){var event=this;var target=this.target;if(!(target instanceof _PaymentRequest2.default)){throw new Error('TypeError');}if(event._waitForUpdate===true){throw new Error('InvalidStateError');}if(target._state!=='interactive'){throw new Error('InvalidStateError');}if(target._updating===true){throw new Error('InvalidStateError');}noop();event._waitForUpdate=true;target._updating=true;noop();if(isPromise(PaymentDetailsModifierOrPromise)){var promise=PaymentDetailsModifierOrPromise;return promise.then(this._handleDetailsChange);}if(typeof PaymentDetailsModifierOrPromise==='object'){var paymentDetailsModifier=PaymentDetailsModifierOrPromise;return this._handleDetailsChange(paymentDetailsModifier);}}}]);return PaymentRequestUpdateEvent;}();exports.default=PaymentRequestUpdateEvent;

/***/ }),

/***/ "../../lib/js/PaymentResponse.js":
/***/ (function(module, exports, __webpack_require__) {

Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _NativePayments=__webpack_require__("../../lib/js/NativePayments.js");var _NativePayments2=_interopRequireDefault(_NativePayments);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var PaymentResponse=function(){function PaymentResponse(paymentResponse){_classCallCheck(this,PaymentResponse);this._requestId=paymentResponse.requestId;this._methodName=paymentResponse.methodName;this._details=paymentResponse.details;this._shippingAddress=paymentResponse.shippingAddress;this._shippingOption=paymentResponse.shippingOption;this._payerName=paymentResponse.payerName;this._payerPhone=paymentResponse.payerPhone;this._payerEmail=paymentResponse.payerEmail;this._completeCalled=false;}_createClass(PaymentResponse,[{key:'complete',value:function complete(paymentStatus){if(this._completeCalled===true){throw new Error('InvalidStateError');}this._completeCalled=true;return new Promise(function(resolve,reject){return _NativePayments2.default.complete(paymentStatus,function(){return resolve(undefined);});});}},{key:'requestId',get:function get(){return this._requestId;}},{key:'methodName',get:function get(){return this._methodName;}},{key:'details',get:function get(){return this._details;}},{key:'shippingAddress',get:function get(){return this._shippingAddress;}},{key:'shippingOption',get:function get(){return this._shippingOption;}},{key:'payerName',get:function get(){return this._payerName;}},{key:'payerPhone',get:function get(){return this._payerPhone;}},{key:'payerEmail',get:function get(){return this._payerEmail;}}]);return PaymentResponse;}();exports.default=PaymentResponse;

/***/ }),

/***/ "../../lib/js/constants.js":
/***/ (function(module, exports, __webpack_require__) {

Object.defineProperty(exports,"__esModule",{value:true});exports.SUPPORTED_METHOD_NAME=exports.GATEWAY_ERROR_EVENT=exports.USER_ACCEPT_EVENT=exports.USER_DISMISS_EVENT=exports.INTERNAL_SHIPPING_OPTION_CHANGE_EVENT=exports.INTERNAL_SHIPPING_ADDRESS_CHANGE_EVENT=exports.SHIPPING_OPTION_CHANGE_EVENT=exports.SHIPPING_ADDRESS_CHANGE_EVENT=exports.MODULE_SCOPING=undefined;var _reactNative=__webpack_require__("./node_modules/react-native/Libraries/react-native/react-native.js");var MODULE_SCOPING=exports.MODULE_SCOPING='NativePayments';var SHIPPING_ADDRESS_CHANGE_EVENT=exports.SHIPPING_ADDRESS_CHANGE_EVENT='shippingaddresschange';var SHIPPING_OPTION_CHANGE_EVENT=exports.SHIPPING_OPTION_CHANGE_EVENT='shippingoptionchange';var INTERNAL_SHIPPING_ADDRESS_CHANGE_EVENT=exports.INTERNAL_SHIPPING_ADDRESS_CHANGE_EVENT=MODULE_SCOPING+':on'+SHIPPING_ADDRESS_CHANGE_EVENT;var INTERNAL_SHIPPING_OPTION_CHANGE_EVENT=exports.INTERNAL_SHIPPING_OPTION_CHANGE_EVENT=MODULE_SCOPING+':on'+SHIPPING_OPTION_CHANGE_EVENT;var USER_DISMISS_EVENT=exports.USER_DISMISS_EVENT=MODULE_SCOPING+':onuserdismiss';var USER_ACCEPT_EVENT=exports.USER_ACCEPT_EVENT=MODULE_SCOPING+':onuseraccept';var GATEWAY_ERROR_EVENT=exports.GATEWAY_ERROR_EVENT=MODULE_SCOPING+':ongatewayerror';var SUPPORTED_METHOD_NAME=exports.SUPPORTED_METHOD_NAME=_reactNative.Platform.OS==='ios'?'apple-pay':'android-pay';

/***/ }),

/***/ "../../lib/js/errors/index.js":
/***/ (function(module, exports, __webpack_require__) {

Object.defineProperty(exports,"__esModule",{value:true});exports.GatewayError=exports.ConstructorError=exports.TypeError=exports.DOMException=undefined;var _es6Error=__webpack_require__("./node_modules/es6-error/lib/index.js");var _es6Error2=_interopRequireDefault(_es6Error);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var ERROR_MESSAGES={AbortError:'The operation was aborted.',InvalidStateError:'The object is in an invalid state.',NotAllowedError:'The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission.',NotSupportedError:'The operation is not supported.',SecurityError:'The operation is insecure.'};var ReactNativePaymentsError=function(_ExtendableError){_inherits(ReactNativePaymentsError,_ExtendableError);function ReactNativePaymentsError(errorMessage){_classCallCheck(this,ReactNativePaymentsError);return _possibleConstructorReturn(this,(ReactNativePaymentsError.__proto__||Object.getPrototypeOf(ReactNativePaymentsError)).call(this,'[ReactNativePayments] '+errorMessage));}return ReactNativePaymentsError;}(_es6Error2.default);var DOMException=exports.DOMException=function(_ReactNativePaymentsE){_inherits(DOMException,_ReactNativePaymentsE);function DOMException(errorType){_classCallCheck(this,DOMException);var errorMessage=ERROR_MESSAGES[errorType]||errorType;return _possibleConstructorReturn(this,(DOMException.__proto__||Object.getPrototypeOf(DOMException)).call(this,'DOMException: '+errorMessage));}return DOMException;}(ReactNativePaymentsError);var TypeError=exports.TypeError=function(_ReactNativePaymentsE2){_inherits(TypeError,_ReactNativePaymentsE2);function TypeError(errorMessage){_classCallCheck(this,TypeError);return _possibleConstructorReturn(this,(TypeError.__proto__||Object.getPrototypeOf(TypeError)).call(this,'TypeError: '+errorMessage));}return TypeError;}(ReactNativePaymentsError);var ConstructorError=exports.ConstructorError=function(_ReactNativePaymentsE3){_inherits(ConstructorError,_ReactNativePaymentsE3);function ConstructorError(errorMessage){_classCallCheck(this,ConstructorError);return _possibleConstructorReturn(this,(ConstructorError.__proto__||Object.getPrototypeOf(ConstructorError)).call(this,'Failed to construct \'PaymentRequest\':  '+errorMessage));}return ConstructorError;}(ReactNativePaymentsError);var GatewayError=exports.GatewayError=function(_ExtendableError2){_inherits(GatewayError,_ExtendableError2);function GatewayError(errorMessage){_classCallCheck(this,GatewayError);return _possibleConstructorReturn(this,(GatewayError.__proto__||Object.getPrototypeOf(GatewayError)).call(this,''+errorMessage));}return GatewayError;}(_es6Error2.default);

/***/ }),

/***/ "../../lib/js/helpers/index.js":
/***/ (function(module, exports, __webpack_require__) {

Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};exports.isValidDecimalMonetaryValue=isValidDecimalMonetaryValue;exports.isNegative=isNegative;exports.isValidStringAmount=isValidStringAmount;exports.toNumber=toNumber;exports.toString=toString;exports.convertObjectAmountToString=convertObjectAmountToString;exports.convertDetailAmountsToString=convertDetailAmountsToString;exports.getPlatformMethodData=getPlatformMethodData;exports.validateTotal=validateTotal;exports.validatePaymentMethods=validatePaymentMethods;exports.validateDisplayItems=validateDisplayItems;exports.validateShippingOptions=validateShippingOptions;exports.getSelectedShippingOption=getSelectedShippingOption;exports.hasGatewayConfig=hasGatewayConfig;exports.getGatewayName=getGatewayName;exports.validateGateway=validateGateway;var _validator=__webpack_require__("./node_modules/validator/index.js");var _errors=__webpack_require__("../../lib/js/errors/index.js");function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function isNumber(value){return typeof value==='number';}function isString(value){return typeof value==='string';}function isValidDecimalMonetaryValue(amountValue){if(!isNumber(amountValue)&&!isString(amountValue)){return false;}return isNumber(amountValue)||isValidStringAmount(amountValue);}function isNegative(amountValue){return isNumber(amountValue)?amountValue<0:amountValue.startsWith('-');}function isValidStringAmount(stringAmount){if(stringAmount.endsWith('.')){return false;}return(0,_validator.isDecimal)(stringAmount);}function toNumber(string){if((0,_validator.isFloat)(string)){return(0,_validator.toFloat)(string);}if((0,_validator.isInt)(string)){return(0,_validator.toInt)(string);}}function toString(amountValue){return isNumber(amountValue)?amountValue.toString():amountValue;}function convertObjectAmountToString(objectWithAmount){return _extends({},objectWithAmount,{amount:_extends({},{value:toString(objectWithAmount.amount.value),currency:objectWithAmount.amount.currency})});}function convertDetailAmountsToString(details){var nextDetails=Object.keys(details).reduce(function(acc,key){if(key==='total'){return _extends({},acc,_defineProperty({},key,convertObjectAmountToString(details[key])));}if(Array.isArray(details[key])&&(key==='displayItems'||key==='shippingOptions')){return _extends({},acc,_defineProperty({},key,details[key].map(function(paymentItemOrShippingOption){return convertObjectAmountToString(paymentItemOrShippingOption);})));}return acc;},{});return nextDetails;}function getPlatformMethodData(methodData,platformOS){var platformSupportedMethod=platformOS==='ios'?'apple-pay':'android-pay';var platformMethod=methodData.find(function(paymentMethodData){return paymentMethodData.supportedMethods.includes(platformSupportedMethod);});if(!platformMethod){throw new _errors.DOMException('The payment method is not supported');}return platformMethod.data;}function validateTotal(total){var errorType=arguments.length>1&&arguments[1]!==undefined?arguments[1]:Error;if(total===undefined){throw new errorType('required member total is undefined.');}var hasTotal=total&&total.amount&&total.amount.value;if(!hasTotal){throw new errorType('Missing required member(s): amount, label.');}var totalAmountValue=total.amount.value;if(!isValidDecimalMonetaryValue(totalAmountValue)){throw new errorType('\''+totalAmountValue+'\' is not a valid amount format for total');}if(isNegative(totalAmountValue)){throw new errorType('Total amount value should be non-negative');}}function validatePaymentMethods(methodData){if(methodData.length<1){throw new _errors.ConstructorError('At least one payment method is required');}var serializedMethodData=[];methodData.forEach(function(paymentMethod){if(paymentMethod.supportedMethods===undefined){throw new _errors.ConstructorError('required member supportedMethods is undefined.');}if(!Array.isArray(paymentMethod.supportedMethods)){throw new _errors.ConstructorError('required member supportedMethods is not iterable.');}if(paymentMethod.supportedMethods.length<1){throw new _errors.ConstructorError('Each payment method needs to include at least one payment method identifier');}var serializedData=paymentMethod.data?JSON.stringify(paymentMethod.data):null;serializedMethodData.push([paymentMethod.supportedMethods,serializedData]);});return serializedMethodData;}function validateDisplayItems(displayItems){var errorType=arguments.length>1&&arguments[1]!==undefined?arguments[1]:Error;if(displayItems){displayItems.forEach(function(item){var amountValue=item&&item.amount&&item.amount.value;if(!amountValue){throw new errorType('required member value is undefined.');}if(!isValidDecimalMonetaryValue(amountValue)){throw new errorType('\''+amountValue+'\' is not a valid amount format for display items');}});}}function validateShippingOptions(details){var errorType=arguments.length>1&&arguments[1]!==undefined?arguments[1]:Error;if(details.shippingOptions===undefined){return undefined;}var selectedShippingOption=null;if(!Array.isArray(details.shippingOptions)){throw new errorType('Iterator getter is not callable.');}if(details.shippingOptions){var seenIDs=[];details.shippingOptions.forEach(function(shippingOption){if(shippingOption.id===undefined){throw new errorType('required member id is undefined.');}if(shippingOption.id===null){shippingOption.id='null';}var amountValue=shippingOption.amount.value;if(!isValidDecimalMonetaryValue(amountValue)){throw new errorType('\''+amountValue+'\' is not a valid amount format for shippingOptions');}if(seenIDs.includes(shippingOption.id)){details.shippingOptions=[];console.warn('[ReactNativePayments] Duplicate shipping option identifier \''+shippingOption.id+'\' is treated as an invalid address indicator.');return undefined;}seenIDs.push(shippingOption.id);});}}function getSelectedShippingOption(shippingOptions){if(!Array.isArray(shippingOptions)){return null;}if(shippingOptions.length===0){return null;}var selectedShippingOption=shippingOptions.find(function(shippingOption){return shippingOption.selected;});if(selectedShippingOption){return selectedShippingOption.id;}return shippingOptions[0].id;}function hasGatewayConfig(){var platformMethodData=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};if(!platformMethodData){return false;}if(!platformMethodData.paymentMethodTokenizationParameters){return false;}if(!platformMethodData.paymentMethodTokenizationParameters.parameters){return false;}if(typeof platformMethodData.paymentMethodTokenizationParameters.parameters!=='object'){return false;}if(!platformMethodData.paymentMethodTokenizationParameters.parameters.gateway){return false;}if(typeof platformMethodData.paymentMethodTokenizationParameters.parameters.gateway!=='string'){return false;}return true;}function getGatewayName(platformMethodData){return platformMethodData.paymentMethodTokenizationParameters.parameters.gateway;}function validateGateway(){var selectedGateway=arguments.length>0&&arguments[0]!==undefined?arguments[0]:'';var supportedGateways=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];if(!supportedGateways.includes(selectedGateway)){throw new _errors.ConstructorError('"'+selectedGateway+'" is not a supported gateway. Visit https://goo.gl/fsxSFi for more info.');}}

/***/ }),

/***/ "../../lib/js/index.js":
/***/ (function(module, exports, __webpack_require__) {

var _PaymentRequest=__webpack_require__("../../lib/js/PaymentRequest.js");var _PaymentRequest2=_interopRequireDefault(_PaymentRequest);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}module.exports={PaymentRequest:_PaymentRequest2.default};

/***/ }),

/***/ "../../package.json":
/***/ (function(module, exports) {

module.exports = {
    "name": "react-native-payments",
    "version": "0.2.0",
    "scripts": {
        "precommit": "lint-staged",
        "run:packager": "cd examples/native && yarn run:packager",
        "run:ios": "cd examples/native && yarn run:ios",
        "run:web": "cd examples/web && yarn run:web",
        "run:demo": "cd examples/native && yarn run:demo",
        "test": "jest"
    },
    "repository": "https://github.com/naoufal/react-native-payments",
    "keywords": [
        "react",
        "react-native",
        "apple-pay",
        "stripe",
        "braintree",
        "payments"
    ],
    "author": "Naoufal Kadhom",
    "license": "MIT",
    "dependencies": {
        "es6-error": "^4.0.2",
        "uuid": "^3.1.0",
        "validator": "^7.0.0"
    },
    "devDependencies": {
        "babel-jest": "20.0.3",
        "babel-preset-react-native": "2.0.0",
        "husky": "^0.14.1",
        "jest": "20.0.4",
        "lint-staged": "^4.0.0",
        "prettier": "^1.4.4",
        "react-test-renderer": "16.0.0-alpha.12"
    },
    "peerDependencies": {
        "react": "~15.4.0-rc.4",
        "react-native": "0.41.0"
    },
    "jest": {
        "testPathIgnorePatterns": [
            "/node_modules/",
            "/examples/",
            "lib/js/__tests__"
        ]
    },
    "lint-staged": {
        "*.js": [
            "prettier --single-quote --write",
            "git add"
        ]
    }
};

/***/ }),

/***/ "../common/App.js":
/***/ (function(module, exports, __webpack_require__) {

Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/common/App.js';var _react=__webpack_require__("./node_modules/react/react.js");var _react2=_interopRequireDefault(_react);var _reactPrimitives=__webpack_require__("./node_modules/react-native/Libraries/react-native/react-native.js");var _handlers=__webpack_require__("../common/handlers/index.js");var _Header=__webpack_require__("../common/components/Header.js");var _Header2=_interopRequireDefault(_Header);var _styles=__webpack_require__("../common/styles/index.js");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var Touchable=void 0;var ScrollView=void 0;if(_reactPrimitives.Platform.OS==='web'){Touchable=__webpack_require__("./node_modules/react-native/Libraries/react-native/react-native.js").Touchable;ScrollView=_reactPrimitives.View;}else{Touchable=__webpack_require__("./node_modules/react-native/Libraries/react-native/react-native.js").TouchableHighlight;ScrollView=__webpack_require__("./node_modules/react-native/Libraries/react-native/react-native.js").ScrollView;}var ORDER_SUMMARY_EXAMPLES=[{label:'One Item',handlePress:_handlers.oneItem},{label:'Two Items',handlePress:_handlers.twoItems},{label:'Two Items + Tax',handlePress:_handlers.twoItemsPlusTax}];var CONTACT_INFO_EXAMPLES=[{label:'Request Payer Name',handlePress:_handlers.requestPayerName},{label:'Request Payer Phone',handlePress:_handlers.requestPayerPhone},{label:'Request Payer Email',handlePress:_handlers.requestPayerEmail},{label:'Request Payer Name, Phone & Email',handlePress:_handlers.requestPayerAll}];var SHIPPING_ADDRESS_EXAMPLES=[{label:'Static Shipping',handlePress:_handlers.staticShipping},{label:'Dynamic Shipping',handlePress:_handlers.dynamicShipping},{label:'No International Shipping',handlePress:_handlers.noInternationalShipping}];var ERROR_EXAMPLES=[{label:'No Total',handlePress:_handlers.errorNoTotal},{label:'Negative Total',handlePress:_handlers.errorNegativeTotal},{label:'Invalid Total Amount',handlePress:_handlers.errorInvalidTotalAmount},{label:'Invalid Display Item Amount',handlePress:_handlers.errorInvalidDisplayItemAmount},{label:'No Shipping Options',handlePress:_handlers.errorNoShippingOptions},{label:'Invalid Shipping Options Amount',handlePress:_handlers.errorInvalidShippingOptionsAmount},{label:'Duplicate Shipping Option Id',handlePress:_handlers.errorDuplicateShippingOptionsId},{label:'Gateway Not Supported (React Native Only)',handlePress:_handlers.errorGatewayNotSupported}];var ExampleList=function ExampleList(_ref){var examples=_ref.examples;return _react2.default.createElement(_reactPrimitives.View,{__source:{fileName:_jsxFileName,lineNumber:127}},examples.map(function(_ref2){var label=_ref2.label,handlePress=_ref2.handlePress;return _react2.default.createElement(Touchable,{key:label,style:styles.exampleLink,onPress:handlePress,underlayColor:'#f0f4f7',__source:{fileName:_jsxFileName,lineNumber:129}},_react2.default.createElement(_reactPrimitives.Text,{style:[styles.exampleLinkLabel,!handlePress&&{color:'#888'}],__source:{fileName:_jsxFileName,lineNumber:135}},label));}));};var Content=function Content(){return _react2.default.createElement(_reactPrimitives.View,{style:styles.content,__source:{fileName:_jsxFileName,lineNumber:152}},_react2.default.createElement(_reactPrimitives.Text,{style:styles.subHeading,__source:{fileName:_jsxFileName,lineNumber:153}},'Order Summary Examples'),_react2.default.createElement(ExampleList,{examples:ORDER_SUMMARY_EXAMPLES,__source:{fileName:_jsxFileName,lineNumber:154}}),_react2.default.createElement(_reactPrimitives.Text,{style:styles.subHeading,__source:{fileName:_jsxFileName,lineNumber:155}},'Contact Info Examples'),_react2.default.createElement(ExampleList,{examples:CONTACT_INFO_EXAMPLES,__source:{fileName:_jsxFileName,lineNumber:156}}),_react2.default.createElement(_reactPrimitives.Text,{style:styles.subHeading,__source:{fileName:_jsxFileName,lineNumber:157}},'Shipping Address Examples'),_react2.default.createElement(ExampleList,{examples:SHIPPING_ADDRESS_EXAMPLES,__source:{fileName:_jsxFileName,lineNumber:158}}),false&&_react2.default.createElement(ErrorExamples,{__source:{fileName:_jsxFileName,lineNumber:159}}));};var ErrorExamples=function ErrorExamples(){return _react2.default.createElement(_reactPrimitives.View,{__source:{fileName:_jsxFileName,lineNumber:163}},_react2.default.createElement(_reactPrimitives.Text,{style:styles.subHeading,__source:{fileName:_jsxFileName,lineNumber:164}},'Error Examples'),_react2.default.createElement(ExampleList,{examples:ERROR_EXAMPLES,__source:{fileName:_jsxFileName,lineNumber:165}}));};var ReactNativePaymentsVersion=__webpack_require__("../../package.json").version;exports.default=function(){return _react2.default.createElement(ScrollView,{style:styles.container,__source:{fileName:_jsxFileName,lineNumber:171}},_react2.default.createElement(_Header2.default,{supHeadingText:ReactNativePaymentsVersion,__source:{fileName:_jsxFileName,lineNumber:172}}),_react2.default.createElement(Content,{__source:{fileName:_jsxFileName,lineNumber:173}}));};var styles=_reactPrimitives.StyleSheet.create({container:{marginTop:25,padding:10},subHeading:_extends({},_styles.baseTextStyles,{marginTop:20,paddingVertical:10,fontSize:20}),content:{},exampleLink:{paddingVertical:10,borderTopWidth:1,borderTopColor:'#D0D0D2'},exampleLinkLabel:{fontSize:16,color:'#0070C9'}});

/***/ }),

/***/ "../common/components/Header.js":
/***/ (function(module, exports, __webpack_require__) {

Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/common/components/Header.js';var _react=__webpack_require__("./node_modules/react/react.js");var _react2=_interopRequireDefault(_react);var _reactNative=__webpack_require__("./node_modules/react-native/Libraries/react-native/react-native.js");var _styles=__webpack_require__("../common/styles/index.js");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}var Header=function Header(_ref){var supHeadingText=_ref.supHeadingText,_ref$headingText=_ref.headingText,headingText=_ref$headingText===undefined?'React Native Payments':_ref$headingText;return _react2.default.createElement(_reactNative.View,{__source:{fileName:_jsxFileName,lineNumber:7}},supHeadingText&&_react2.default.createElement(_reactNative.Text,{style:styles.supHeading,__source:{fileName:_jsxFileName,lineNumber:9}},'Version ',supHeadingText),_react2.default.createElement(_reactNative.Text,{style:styles.heading,__source:{fileName:_jsxFileName,lineNumber:12}},headingText));};var styles=_reactNative.StyleSheet.create({supHeading:_extends({},_styles.baseTextStyles,{fontSize:11,fontWeight:'700',letterSpacing:-0.5,color:'#A8A8A8'}),heading:_extends({},_styles.baseTextStyles,{fontSize:27})});exports.default=Header;

/***/ }),

/***/ "../common/handlers/index.js":
/***/ (function(module, exports, __webpack_require__) {

Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};exports.oneItem=oneItem;exports.twoItems=twoItems;exports.twoItemsPlusTax=twoItemsPlusTax;exports.requestPayerName=requestPayerName;exports.requestPayerPhone=requestPayerPhone;exports.requestPayerEmail=requestPayerEmail;exports.requestPayerAll=requestPayerAll;exports.staticShipping=staticShipping;exports.dynamicShipping=dynamicShipping;exports.noInternationalShipping=noInternationalShipping;exports.errorNoTotal=errorNoTotal;exports.errorNegativeTotal=errorNegativeTotal;exports.errorInvalidTotalAmount=errorInvalidTotalAmount;exports.errorInvalidDisplayItemAmount=errorInvalidDisplayItemAmount;exports.errorNoShippingOptions=errorNoShippingOptions;exports.errorInvalidShippingOptionsAmount=errorInvalidShippingOptionsAmount;exports.errorDuplicateShippingOptionsId=errorDuplicateShippingOptionsId;exports.errorGatewayNotSupported=errorGatewayNotSupported;var _reactNative=__webpack_require__("./node_modules/react-native/Libraries/react-native/react-native.js");var _shipping=__webpack_require__("../common/services/shipping.js");function addStringAmounts(){for(var _len=arguments.length,prices=Array(_len),_key=0;_key<_len;_key++){prices[_key]=arguments[_key];}return prices.reduce(function(acc,stringAmount){return acc+parseFloat(stringAmount);},0).toString();}function prDisplayHandler(paymentRequest){return paymentRequest.show().then(function(paymentResponse){if(_reactNative.Platform.OS==='android'){paymentResponse.details.getPaymentToken().then(console.log);}paymentResponse.complete('success');}).catch(console.warn);}function initPR(methodData,details){var options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};return new PaymentRequest(methodData,details,options);}function addDisplayItems(displayItems){return displayItems.reduce(function(acc,displayItem){return acc+parseFloat(displayItem.amount.value);},0);}function getTaxFromSubTotal(subTotal){var tax=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0.15;return subTotal*tax;}function getPlatformTotalLabel(platformOS){return platformOS==='ios'?'Merchant':'Total';}var METHOD_DATA=[{supportedMethods:['basic-card'],data:{supportedNetworks:['visa','mastercard','amex']}},{supportedMethods:['apple-pay'],data:{merchantIdentifier:'merchant.com.react-native-payments.naoufal',supportedNetworks:['visa','mastercard','amex'],countryCode:'US',currencyCode:'USD'}},{supportedMethods:['android-pay'],data:{supportedNetworks:['visa','mastercard','amex'],countryCode:'US',currencyCode:'USD',environment:'TEST',paymentMethodTokenizationParameters:{tokenizationType:'NETWORK_TOKEN',parameters:{publicKey:'BOdoXP+9Aq473SnGwg3JU1aiNpsd9vH2ognq4PtDtlLGa3Kj8TPf+jaQNPyDSkh3JUhiS0KyrrlWhAgNZKHYF2Y='}}}}];var DISPLAY_ITEMS=[{label:'Movie Ticket',amount:{currency:'USD',value:'15.00'}}];var TOTAL={label:getPlatformTotalLabel(_reactNative.Platform.OS),amount:{currency:'USD',value:'15.00'}};function oneItem(){var details={id:'oneItem',displayItems:[{label:'Movie Ticket',amount:{currency:'USD',value:'15.00'}}],total:{label:getPlatformTotalLabel(_reactNative.Platform.OS),amount:{currency:'USD',value:'15.00'}}};var paymentRequest=initPR(METHOD_DATA,details);return prDisplayHandler(paymentRequest);}function twoItems(){var displayItems=[{label:'Movie Ticket',amount:{currency:'USD',value:15.0}},{label:'Popcorn',amount:{currency:'USD',value:10.0}}];var details={id:'twoItems',displayItems:displayItems,total:{label:getPlatformTotalLabel(_reactNative.Platform.OS),amount:{currency:'USD',value:addDisplayItems(displayItems)}}};var paymentRequest=initPR(METHOD_DATA,details);return prDisplayHandler(paymentRequest);}function twoItemsPlusTax(){var displayItems=[{label:'Movie Ticket',amount:{currency:'USD',value:15.0}},{label:'Popcorn',amount:{currency:'USD',value:10.0}}];var subtotal=addDisplayItems(displayItems);var tax=getTaxFromSubTotal(subtotal);var details={id:'twoItemsPlusTax',displayItems:[].concat(displayItems,[{label:'Tax',amount:{currency:'USD',value:tax}}]),total:{label:getPlatformTotalLabel(_reactNative.Platform.OS),amount:{currency:'USD',value:subtotal+tax}}};var paymentRequest=initPR(METHOD_DATA,details);return prDisplayHandler(paymentRequest);}function requestPayerName(){var details={id:'requestPayerName',displayItems:[{label:'Movie Ticket',amount:{currency:'USD',value:'15.00'}}],total:{label:getPlatformTotalLabel(_reactNative.Platform.OS),amount:{currency:'USD',value:'15.00'}}};var options={requestPayerName:true};var paymentRequest=initPR(METHOD_DATA,details,options);return prDisplayHandler(paymentRequest);}function requestPayerPhone(){var details={id:'requestPayerPhone',displayItems:[{label:'Movie Ticket',amount:{currency:'USD',value:'15.00'}}],total:{label:getPlatformTotalLabel(_reactNative.Platform.OS),amount:{currency:'USD',value:'15.00'}}};var options={requestPayerPhone:true};var paymentRequest=initPR(METHOD_DATA,details,options);return prDisplayHandler(paymentRequest);}function requestPayerEmail(){var details={id:'requestPayerEmail',displayItems:[{label:'Movie Ticket',amount:{currency:'USD',value:'15.00'}}],total:{label:getPlatformTotalLabel(_reactNative.Platform.OS),amount:{currency:'USD',value:'15.00'}}};var options={requestPayerEmail:true};var paymentRequest=initPR(METHOD_DATA,details,options);return prDisplayHandler(paymentRequest);}function requestPayerAll(){var details={id:'requestPayerAll',displayItems:[{label:'Movie Ticket',amount:{currency:'USD',value:'15.00'}}],total:{label:getPlatformTotalLabel(_reactNative.Platform.OS),amount:{currency:'USD',value:'15.00'}}};var options={requestPayerName:true,requestPayerPhone:true,requestPayerEmail:true};var paymentRequest=initPR(METHOD_DATA,details,options);return prDisplayHandler(paymentRequest);}function staticShipping(){var details={id:'staticShipping',displayItems:[{label:'Movie Ticket',amount:{currency:'USD',value:'15.00'}},{label:'Shipping',amount:{currency:'USD',value:'0.00'}}],total:{label:getPlatformTotalLabel(_reactNative.Platform.OS),amount:{currency:'USD',value:'15.00'}},shippingOptions:[{id:'economy',label:'Economy Shipping',amount:{currency:'USD',value:'0.00'},detail:'Arrives in 3-5 days'},{id:'express',label:'Express Shipping',amount:{currency:'USD',value:'5.00'},detail:'Arrives tomorrow'}]};var options={requestShipping:true};var paymentRequest=new PaymentRequest(METHOD_DATA,details,options);paymentRequest.addEventListener('shippingaddresschange',function(e){e.updateWith(details);});paymentRequest.addEventListener('shippingoptionchange',function(e){details.shippingOptions=details.shippingOptions.map(function(shippingOption){return _extends({},shippingOption,{selected:shippingOption.id===paymentRequest.shippingOption});});var selectedShippingOption=details.shippingOptions.find(function(shippingOption){return shippingOption.selected===true;});details.displayItems=details.displayItems.map(function(displayItem){if(displayItem.label==='Shipping'){return _extends({},displayItem,{amount:{currency:'USD',value:selectedShippingOption?selectedShippingOption.amount.value:'0.00'}});}return displayItem;});details.total=_extends({},details.total,{amount:{currency:details.total.amount.currency,value:addDisplayItems(details.displayItems)}});e.updateWith(details);});return prDisplayHandler(paymentRequest);}function getShippingOptionsForState(state){var isCalifornia=state==='CA';return[{id:'economy',label:'Economy Shipping',amount:{currency:'USD',value:isCalifornia?'0.00':'3.00'},detail:'Arrives in 3-5 days'},{id:'express',label:'Express Shipping',amount:{currency:'USD',value:isCalifornia?'5.00':'10.00'},detail:'Arrives tomorrow'}];}function dynamicShipping(){var details={id:'dynamicShipping',displayItems:[{label:'Movie Ticket',amount:{currency:'USD',value:'15.00'}},{label:'Shipping',amount:{currency:'USD',value:'0.00'}}],total:{label:getPlatformTotalLabel(_reactNative.Platform.OS),amount:{currency:'USD',value:'15.00'}},shippingOptions:getShippingOptionsForState()};var options={requestShipping:true};var paymentRequest=new PaymentRequest(METHOD_DATA,details,options);paymentRequest.addEventListener('shippingaddresschange',function(e){console.log(paymentRequest.shippingAddress);var updateDetailsWithPromise=new Promise(function(resolve,reject){updateDetailsWithMutation(paymentRequest,details,getShippingOptionsForState(paymentRequest.shippingAddress.region));setTimeout(function(){return resolve(details);},2000);});e.updateWith(updateDetailsWithPromise);});paymentRequest.addEventListener('shippingoptionchange',function(e){updateDetailsWithMutation(paymentRequest,details,getShippingOptionsForState(paymentRequest.shippingAddress.region));e.updateWith(details);});return prDisplayHandler(paymentRequest);}function updateDetailsWithMutation(paymentRequest,details,nextShippingOptions){details.shippingOptions=nextShippingOptions;details.shippingOptions=details.shippingOptions.map(function(shippingOption){return _extends({},shippingOption,{selected:shippingOption.id===paymentRequest.shippingOption});});var selectedShippingOption=details.shippingOptions.find(function(shippingOption){return shippingOption.selected===true;});details.displayItems=details.displayItems.map(function(displayItem){if(displayItem.label==='Shipping'){return _extends({},displayItem,{amount:{currency:'USD',value:selectedShippingOption?selectedShippingOption.amount.value:'0.00'}});}return displayItem;});details.total=_extends({},details.total,{amount:{currency:details.total.amount.currency,value:addDisplayItems(details.displayItems)}});return details;}function getShippingOptionsForCountry(countryCode){if(countryCode!=='US'){return[];}return[{id:'economy',label:'Economy Shipping',amount:{currency:'USD',value:'0.00'},detail:'Arrives in 3-5 days'},{id:'express',label:'Express Shipping',amount:{currency:'USD',value:'5.00'},detail:'Arrives tomorrow.'}];}function noInternationalShipping(){var details={id:'noInternationalShipping',displayItems:[{label:'Movie Ticket',amount:{currency:'USD',value:'15.00'}},{label:'Shipping',amount:{currency:'USD',value:'0.00'}}],total:{label:getPlatformTotalLabel(_reactNative.Platform.OS),amount:{currency:'USD',value:'15.00'}},shippingOptions:getShippingOptionsForCountry()};var options={requestShipping:true};var paymentRequest=new PaymentRequest(METHOD_DATA,details,options);paymentRequest.addEventListener('shippingaddresschange',function(e){var updateDetailsWithPromise=new Promise(function(resolve,reject){updateDetailsWithMutation(paymentRequest,details,getShippingOptionsForCountry(paymentRequest.shippingAddress.country));setTimeout(function(){return resolve(details);},2000);});e.updateWith(updateDetailsWithPromise);});paymentRequest.addEventListener('shippingoptionchange',function(e){updateDetailsWithMutation(paymentRequest,details,getShippingOptionsForCountry(paymentRequest.shippingAddress.country));e.updateWith(details);});return prDisplayHandler(paymentRequest);}function errorNoTotal(){var details={id:'errorNoTotal',displayItems:[{label:'Movie Ticket',amount:{currency:'USD',value:'15.00'}}],total:null};var paymentRequest=new PaymentRequest(METHOD_DATA,details);return prDisplayHandler(paymentRequest);}function errorNegativeTotal(){var details={id:'errorNegativeTotal',displayItems:[{label:'Movie Ticket',amount:{currency:'USD',value:'15.00'}}],total:{label:getPlatformTotalLabel(_reactNative.Platform.OS),amount:{currency:'USD',value:'-15.00'}}};var paymentRequest=new PaymentRequest(METHOD_DATA,details);return prDisplayHandler(paymentRequest);}function errorInvalidTotalAmount(){var details={id:'errorNoShippingOptions',displayItems:[{label:'Movie Ticket',amount:{currency:'USD',value:'15.00'}}],total:{label:getPlatformTotalLabel(_reactNative.Platform.OS),amount:{currency:'USD',value:'10.'}}};var paymentRequest=new PaymentRequest(METHOD_DATA,details);return prDisplayHandler(paymentRequest);}function errorInvalidDisplayItemAmount(){var details={id:'errorNoShippingOptions',displayItems:[{label:'Movie Ticket',amount:{currency:'USD',value:'10.'}}],total:{label:getPlatformTotalLabel(_reactNative.Platform.OS),amount:{currency:'USD',value:'10.00'}}};var paymentRequest=new PaymentRequest(METHOD_DATA,details);return prDisplayHandler(paymentRequest);}function errorNoShippingOptions(){var details={id:'errorNoShippingOptions',displayItems:[{label:'Movie Ticket',amount:{currency:'USD',value:'15.00'}},{label:'Shipping',amount:{currency:'USD',value:'0.00'}}],total:{label:getPlatformTotalLabel(_reactNative.Platform.OS),amount:{currency:'USD',value:'15.00'}}};var options={requestShipping:true};var paymentRequest=new PaymentRequest(METHOD_DATA,details,options);paymentRequest.addEventListener('shippingaddresschange',function(e){return e.updateWith(details);});paymentRequest.addEventListener('shippingoptionchange',function(e){return e.updateWith(details);});return prDisplayHandler(paymentRequest);}function errorInvalidShippingOptionsAmount(){var details={id:'errorInvalidShippingOptionsAmount',displayItems:[{label:'Movie Ticket',amount:{currency:'USD',value:'15.00'}},{label:'Shipping',amount:{currency:'USD',value:'0.00'}}],total:{label:getPlatformTotalLabel(_reactNative.Platform.OS),amount:{currency:'USD',value:'15.00'}},shippingOptions:[{id:'next-day',label:'Next Day',amount:{currency:'USD',value:'10.'},detail:'Arrives tomorrow.'}]};var options={requestShipping:true};var paymentRequest=new PaymentRequest(METHOD_DATA,details,options);paymentRequest.addEventListener('shippingaddresschange',function(e){return e.updateWith(details);});paymentRequest.addEventListener('shippingoptionchange',function(e){return e.updateWith(details);});return prDisplayHandler(paymentRequest);}function errorDuplicateShippingOptionsId(){var details={id:'errorDuplicateShippingOptionsId',displayItems:[{label:'Movie Ticket',amount:{currency:'USD',value:'15.00'}},{label:'Shipping',amount:{currency:'USD',value:'0.00'}}],total:{label:getPlatformTotalLabel(_reactNative.Platform.OS),amount:{currency:'USD',value:'15.00'}},shippingOptions:[{id:null,label:'foo',amount:{currency:'USD',value:'0.00'}},{id:null,label:'bar',amount:{currency:'USD',value:'1.00'}}]};var options={requestShipping:true};var paymentRequest=new PaymentRequest(METHOD_DATA,details,options);paymentRequest.addEventListener('shippingaddresschange',function(e){return e.updateWith(details);});paymentRequest.addEventListener('shippingoptionchange',function(e){return e.updateWith(details);});return prDisplayHandler(paymentRequest);}function errorGatewayNotSupported(){var methodData=[{supportedMethods:['apple-pay'],data:{merchantIdentifier:'merchant.com.react-native-payments.naoufal',supportedNetworks:['visa','mastercard','amex'],countryCode:'US',currencyCode:'USD',paymentMethodTokenizationParameters:{parameters:{gateway:'stripe','stripe:stripe:publishableKey':'pk_test_foo'}}}}];var details={displayItems:DISPLAY_ITEMS,total:TOTAL};var paymentRequest=new PaymentRequest(methodData,details);return prDisplayHandler(paymentRequest);}

/***/ }),

/***/ "../common/services/shipping.js":
/***/ (function(module, exports) {

Object.defineProperty(exports,"__esModule",{value:true});exports.getShippingOptions=getShippingOptions;function createShippingOption(id,label,price){var selected=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;return{id:id,label:label,amount:{currency:'USD',value:price},selected:selected};}function getRandomPrice(){var min=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;var max=arguments.length>1&&arguments[1]!==undefined?arguments[1]:99;var multiplier=100;var minVal=min*multiplier;var maxVal=max*multiplier;var priceFloat=(Math.floor(Math.random()*(maxVal-minVal))+minVal)/multiplier;return priceFloat.toString();}function getShippingOptions(){return[createShippingOption('economy','Economy Shipping (5-7 Days)','0.00'),createShippingOption('express','Express Shipping (2-3 Days)',getRandomPrice(5,10)),createShippingOption('next-day','Next Day Delivery',getRandomPrice(11,20))];}

/***/ }),

/***/ "../common/styles/index.js":
/***/ (function(module, exports) {

Object.defineProperty(exports,"__esModule",{value:true});var baseTextStyles=exports.baseTextStyles={fontWeight:'700',letterSpacing:-0.5};

/***/ }),

/***/ "./index.ios.js":
/***/ (function(module, exports, __webpack_require__) {

/* WEBPACK VAR INJECTION */(function(global) {var _react=__webpack_require__("./node_modules/react/react.js");var _react2=_interopRequireDefault(_react);var _reactNative=__webpack_require__("./node_modules/react-native/Libraries/react-native/react-native.js");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}global.PaymentRequest=__webpack_require__("../../index.js").PaymentRequest;var App=__webpack_require__("../common/App.js").default;_reactNative.AppRegistry.registerComponent('ReactNativePaymentsExample',function(){return App;});
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/webpack/buildin/global.js")))

/***/ }),

/***/ "./node_modules/art/core/class.js":
/***/ (function(module, exports) {

module.exports = function(mixins){
    var proto = {};
    for (var i = 0, l = arguments.length; i < l; i++){
        var mixin = arguments[i];
        if (typeof mixin == 'function') mixin = mixin.prototype;
        for (var key in mixin) proto[key] = mixin[key];
    }
    if (!proto.initialize) proto.initialize = function(){};
    proto.constructor = function(a,b,c,d,e,f,g,h){
        return new proto.initialize(a,b,c,d,e,f,g,h);
    };
    proto.constructor.prototype = proto.initialize.prototype = proto;
    return proto.constructor;
};


/***/ }),

/***/ "./node_modules/art/core/color.js":
/***/ (function(module, exports) {

var colors = {
    maroon: '#800000', red: '#ff0000', orange: '#ffA500', yellow: '#ffff00', olive: '#808000',
    purple: '#800080', fuchsia: "#ff00ff", white: '#ffffff', lime: '#00ff00', green: '#008000',
    navy: '#000080', blue: '#0000ff', aqua: '#00ffff', teal: '#008080',
    black: '#000000', silver: '#c0c0c0', gray: '#808080'
};

var map = function(array, fn){
    var results = [];
    for (var i = 0, l = array.length; i < l; i++)
        results[i] = fn(array[i], i);
    return results;
};

var Color = function(color, type){
    
    if (color.isColor){
        
        this.red = color.red;
        this.green = color.green;
        this.blue = color.blue;
        this.alpha = color.alpha;

    } else {
        
        var namedColor = colors[color];
        if (namedColor){
            color = namedColor;
            type = 'hex';
        }

        switch (typeof color){
            case 'string': if (!type) type = (type = color.match(/^rgb|^hsb|^hsl/)) ? type[0] : 'hex'; break;
            case 'object': type = type || 'rgb'; color = color.toString(); break;
            case 'number': type = 'hex'; color = color.toString(16); break;
        }

        color = Color['parse' + type.toUpperCase()](color);
        this.red = color[0];
        this.green = color[1];
        this.blue = color[2];
        this.alpha = color[3];
    }
    
    this.isColor = true;

};

var limit = function(number, min, max){
    return Math.min(max, Math.max(min, number));
};

var listMatch = /([-.\d]+\%?)\s*,\s*([-.\d]+\%?)\s*,\s*([-.\d]+\%?)\s*,?\s*([-.\d]*\%?)/;
var hexMatch = /^#?([a-f0-9]{1,2})([a-f0-9]{1,2})([a-f0-9]{1,2})([a-f0-9]{0,2})$/i;

Color.parseRGB = function(color){
    return map(color.match(listMatch).slice(1), function(bit, i){
        if (bit) bit = parseFloat(bit) * (bit[bit.length - 1] == '%' ? 2.55 : 1);
        return (i < 3) ? Math.round(((bit %= 256) < 0) ? bit + 256 : bit) : limit(((bit === '') ? 1 : Number(bit)), 0, 1);
    });
};
    
Color.parseHEX = function(color){
    if (color.length == 1) color = color + color + color;
    return map(color.match(hexMatch).slice(1), function(bit, i){
        if (i == 3) return (bit) ? parseInt(bit, 16) / 255 : 1;
        return parseInt((bit.length == 1) ? bit + bit : bit, 16);
    });
};
    
Color.parseHSB = function(color){
    var hsb = map(color.match(listMatch).slice(1), function(bit, i){
        if (bit) bit = parseFloat(bit);
        if (i === 0) return Math.round(((bit %= 360) < 0) ? (bit + 360) : bit);
        else if (i < 3) return limit(Math.round(bit), 0, 100);
        else return limit(((bit === '') ? 1 : Number(bit)), 0, 1);
    });
    
    var a = hsb[3];
    var br = Math.round(hsb[2] / 100 * 255);
    if (hsb[1] == 0) return [br, br, br, a];
        
    var hue = hsb[0];
    var f = hue % 60;
    var p = Math.round((hsb[2] * (100 - hsb[1])) / 10000 * 255);
    var q = Math.round((hsb[2] * (6000 - hsb[1] * f)) / 600000 * 255);
    var t = Math.round((hsb[2] * (6000 - hsb[1] * (60 - f))) / 600000 * 255);

    switch (Math.floor(hue / 60)){
        case 0: return [br, t, p, a];
        case 1: return [q, br, p, a];
        case 2: return [p, br, t, a];
        case 3: return [p, q, br, a];
        case 4: return [t, p, br, a];
        default: return [br, p, q, a];
    }
};

Color.parseHSL = function(color){
    var hsb = map(color.match(listMatch).slice(1), function(bit, i){
        if (bit) bit = parseFloat(bit);
        if (i === 0) return Math.round(((bit %= 360) < 0) ? (bit + 360) : bit);
        else if (i < 3) return limit(Math.round(bit), 0, 100);
        else return limit(((bit === '') ? 1 : Number(bit)), 0, 1);
    });

    var h = hsb[0] / 60;
    var s = hsb[1] / 100;
    var l = hsb[2] / 100;
    var a = hsb[3];
    
    var c = (1 - Math.abs(2 * l - 1)) * s;
    var x = c * (1 - Math.abs(h % 2 - 1));
    var m = l - c / 2;
    
    var p = Math.round((c + m) * 255);
    var q = Math.round((x + m) * 255);
    var t = Math.round((m) * 255);

    switch (Math.floor(h)){
        case 0: return [p, q, t, a];
        case 1: return [q, p, t, a];
        case 2: return [t, p, q, a];
        case 3: return [t, q, p, a];
        case 4: return [q, t, p, a];
        default: return [p, t, q, a];
    }
};

var toString = function(type, array){
    if (array[3] != 1) type += 'a';
    else array.pop();
    return type + '(' + array.join(', ') + ')';
};

Color.prototype = {

    toHSB: function(array){
        var red = this.red, green = this.green, blue = this.blue, alpha = this.alpha;

        var max = Math.max(red, green, blue), min = Math.min(red, green, blue), delta = max - min;
        var hue = 0, saturation = (delta != 0) ? delta / max : 0, brightness = max / 255;
        if (saturation){
            var rr = (max - red) / delta, gr = (max - green) / delta, br = (max - blue) / delta;
            hue = (red == max) ? br - gr : (green == max) ? 2 + rr - br : 4 + gr - rr;
            if ((hue /= 6) < 0) hue++;
        }

        var hsb = [Math.round(hue * 360), Math.round(saturation * 100), Math.round(brightness * 100), alpha];

        return (array) ? hsb : toString('hsb', hsb);
    },

    toHSL: function(array){
        var red = this.red, green = this.green, blue = this.blue, alpha = this.alpha;

        var max = Math.max(red, green, blue), min = Math.min(red, green, blue), delta = max - min;
        var hue = 0, saturation = (delta != 0) ? delta / (255 - Math.abs((max + min) - 255)) : 0, lightness = (max + min) / 512;
        if (saturation){
            var rr = (max - red) / delta, gr = (max - green) / delta, br = (max - blue) / delta;
            hue = (red == max) ? br - gr : (green == max) ? 2 + rr - br : 4 + gr - rr;
            if ((hue /= 6) < 0) hue++;
        }

        var hsl = [Math.round(hue * 360), Math.round(saturation * 100), Math.round(lightness * 100), alpha];

        return (array) ? hsl : toString('hsl', hsl);
    },

    toHEX: function(array){

        var a = this.alpha;
        var alpha = ((a = Math.round((a * 255)).toString(16)).length == 1) ? a + a : a;
        
        var hex = map([this.red, this.green, this.blue], function(bit){
            bit = bit.toString(16);
            return (bit.length == 1) ? '0' + bit : bit;
        });
        
        return (array) ? hex.concat(alpha) : '#' + hex.join('') + ((alpha == 'ff') ? '' : alpha);
    },
    
    toRGB: function(array){
        var rgb = [this.red, this.green, this.blue, this.alpha];
        return (array) ? rgb : toString('rgb', rgb);
    }

};

Color.prototype.toString = Color.prototype.toRGB;

Color.hex = function(hex){
    return new Color(hex, 'hex');
};

if (this.hex == null) this.hex = Color.hex;

Color.hsb = function(h, s, b, a){
    return new Color([h || 0, s || 0, b || 0, (a == null) ? 1 : a], 'hsb');
};

if (this.hsb == null) this.hsb = Color.hsb;

Color.hsl = function(h, s, l, a){
    return new Color([h || 0, s || 0, l || 0, (a == null) ? 1 : a], 'hsl');
};

if (this.hsl == null) this.hsl = Color.hsl;

Color.rgb = function(r, g, b, a){
    return new Color([r || 0, g || 0, b || 0, (a == null) ? 1 : a], 'rgb');
};

if (this.rgb == null) this.rgb = Color.rgb;

Color.detach = function(color){
    color = new Color(color);
    return [Color.rgb(color.red, color.green, color.blue).toString(), color.alpha];
};

module.exports = Color;

/***/ }),

/***/ "./node_modules/art/core/path.js":
/***/ (function(module, exports, __webpack_require__) {

var Class = __webpack_require__("./node_modules/art/core/class.js");

module.exports = Class({
    
    initialize: function(path){
        this.reset().push(path);
    },

    /* parser */
    
    push: function(){
        var p = Array.prototype.join.call(arguments, ' ')
            .match(/[a-df-z]|[\-+]?(?:[\d\.]e[\-+]?|[^\s\-+,a-z])+/ig);
        if (!p) return this;

        var last, cmd = p[0], i = 1;
        while (cmd){
            switch (cmd){
                case 'm': this.move(p[i++], p[i++]); break;
                case 'l': this.line(p[i++], p[i++]); break;
                case 'c': this.curve(p[i++], p[i++], p[i++], p[i++], p[i++], p[i++]); break;
                case 's': this.curve(p[i++], p[i++], null, null, p[i++], p[i++]); break;
                case 'q': this.curve(p[i++], p[i++], p[i++], p[i++]); break;
                case 't': this.curve(p[i++], p[i++]); break;
                case 'a': this.arc(p[i+5], p[i+6], p[i], p[i+1], p[i+3], !+p[i+4], p[i+2]); i += 7; break;
                case 'h': this.line(p[i++], 0); break;
                case 'v': this.line(0, p[i++]); break;

                case 'M': this.moveTo(p[i++], p[i++]); break;
                case 'L': this.lineTo(p[i++], p[i++]); break;
                case 'C': this.curveTo(p[i++], p[i++], p[i++], p[i++], p[i++], p[i++]); break;
                case 'S': this.curveTo(p[i++], p[i++], null, null, p[i++], p[i++]); break;
                case 'Q': this.curveTo(p[i++], p[i++], p[i++], p[i++]); break;
                case 'T': this.curveTo(p[i++], p[i++]); break;
                case 'A': this.arcTo(p[i+5], p[i+6], p[i], p[i+1], p[i+3], !+p[i+4], p[i+2]); i += 7; break;
                case 'H': this.lineTo(p[i++], this.penY); break;
                case 'V': this.lineTo(this.penX, p[i++]); break;
                
                case 'Z': case 'z': this.close(); break;
                default: cmd = last; i--; continue;
            }

            last = cmd;
            if (last == 'm') last = 'l';
            else if (last == 'M') last = 'L';
            cmd = p[i++];
        }
        return this;
    },

    /* utility methods */

    reset: function(){
        this.penX = this.penY = 0;
        this.penDownX = this.penDownY = null;
        this._pivotX = this._pivotY = 0;
        this.onReset();
        return this;
    },
    
    move: function(x,y){
        this.onMove(this.penX, this.penY, this._pivotX = this.penX += (+x), this._pivotY = this.penY += (+y));
        return this;
    },
    moveTo: function(x,y){
        this.onMove(this.penX, this.penY, this._pivotX = this.penX = (+x), this._pivotY = this.penY = (+y));
        return this;
    },

    line: function(x,y){
        return this.lineTo(this.penX + (+x), this.penY + (+y));
    },
    lineTo: function(x,y){
        if (this.penDownX == null){ this.penDownX = this.penX; this.penDownY = this.penY; }
        this.onLine(this.penX, this.penY, this._pivotX = this.penX = (+x), this._pivotY = this.penY = (+y));
        return this;
    },
    
    curve: function(c1x, c1y, c2x, c2y, ex, ey){
        var x = this.penX, y = this.penY;
        return this.curveTo(
            x + (+c1x), y + (+c1y),
            c2x == null ? null : x + (+c2x),
            c2y == null ? null : y + (+c2y),
            ex == null ? null : x + (+ex),
            ey == null ? null : y + (+ey)
        );
    },
    curveTo: function(c1x, c1y, c2x, c2y, ex, ey){
        var x = this.penX, y = this.penY;
        if (c2x == null){
            c2x = +c1x; c2y = +c1y;
            c1x = (x * 2) - (this._pivotX || 0); c1y = (y * 2) - (this._pivotY || 0);
        }
        if (ex == null){
            this._pivotX = +c1x; this._pivotY = +c1y;
            ex = +c2x; ey = +c2y;
            c2x = (ex + (+c1x) * 2) / 3; c2y = (ey + (+c1y) * 2) / 3;
            c1x = (x + (+c1x) * 2) / 3; c1y = (y + (+c1y) * 2) / 3;
        } else {
            this._pivotX = +c2x; this._pivotY = +c2y;
        }
        if (this.penDownX == null){ this.penDownX = x; this.penDownY = y; }
        this.onBezierCurve(x, y, +c1x, +c1y, +c2x, +c2y, this.penX = +ex, this.penY = +ey);
        return this;
    },
    
    arc: function(x, y, rx, ry, outer, counterClockwise, rotation){
        return this.arcTo(this.penX + (+x), this.penY + (+y), rx, ry, outer, counterClockwise, rotation);
    },
    arcTo: function(x, y, rx, ry, outer, counterClockwise, rotation){
        ry = Math.abs(+ry || +rx || (+y - this.penY));
        rx = Math.abs(+rx || (+x - this.penX));

        if (!rx || !ry || (x == this.penX && y == this.penY)) return this.lineTo(x, y);

        var tX = this.penX, tY = this.penY, clockwise = !+counterClockwise, large = !!+outer;

        var rad = rotation ? rotation * Math.PI / 180 : 0, cos = Math.cos(rad), sin = Math.sin(rad);
        x -= tX; y -= tY;
        
        // Ellipse Center
        var cx = cos * x / 2 + sin * y / 2,
            cy = -sin * x / 2 + cos * y / 2,
            rxry = rx * rx * ry * ry,
            rycx = ry * ry * cx * cx,
            rxcy = rx * rx * cy * cy,
            a = rxry - rxcy - rycx;

        if (a < 0){
            a = Math.sqrt(1 - a / rxry);
            rx *= a; ry *= a;
            cx = x / 2; cy = y / 2;
        } else {
            a = Math.sqrt(a / (rxcy + rycx));
            if (large == clockwise) a = -a;
            var cxd = -a * cy * rx / ry,
                cyd =  a * cx * ry / rx;
            cx = cos * cxd - sin * cyd + x / 2;
            cy = sin * cxd + cos * cyd + y / 2;
        }

        // Rotation + Scale Transform
        var xx =  cos / rx, yx = sin / rx,
            xy = -sin / ry, yy = cos / ry;

        // Start and End Angle
        var sa = Math.atan2(xy * -cx + yy * -cy, xx * -cx + yx * -cy),
            ea = Math.atan2(xy * (x - cx) + yy * (y - cy), xx * (x - cx) + yx * (y - cy));

        cx += tX; cy += tY;
        x += tX; y += tY;

        // Circular Arc
        if (this.penDownX == null){ this.penDownX = this.penX; this.penDownY = this.penY; }
        this.onArc(
            tX, tY, this._pivotX = this.penX = x, this._pivotY = this.penY = y,
            cx, cy, rx, ry, sa, ea, !clockwise, rotation
        );
        return this;
    },

    counterArc: function(x, y, rx, ry, outer){
        return this.arc(x, y, rx, ry, outer, true);
    },
    counterArcTo: function(x, y, rx, ry, outer){
        return this.arcTo(x, y, rx, ry, outer, true);
    },

    close: function(){
        if (this.penDownX != null){
            this.onClose(this.penX, this.penY, this.penX = this.penDownX, this.penY = this.penDownY);
            this.penDownX = null;
        }
        return this;
    },

    /* overridable handlers */
    
    onReset: function(){
    },

    onMove: function(sx, sy, ex, ey){
    },

    onLine: function(sx, sy, ex, ey){
        this.onBezierCurve(sx, sy, sx, sy, ex, ey, ex, ey);
    },

    onBezierCurve: function(sx, sy, c1x, c1y, c2x, c2y, ex, ey){
        var gx = ex - sx, gy = ey - sy,
            g = gx * gx + gy * gy,
            v1, v2, cx, cy, u;

        cx = c1x - sx; cy = c1y - sy;
        u = cx * gx + cy * gy;

        if (u > g){
            cx -= gx;
            cy -= gy;
        } else if (u > 0 && g != 0){
            cx -= u/g * gx;
            cy -= u/g * gy;
        }

        v1 = cx * cx + cy * cy;

        cx = c2x - sx; cy = c2y - sy;
        u = cx * gx + cy * gy;

        if (u > g){
            cx -= gx;
            cy -= gy;
        } else if (u > 0 && g != 0){
            cx -= u/g * gx;
            cy -= u/g * gy;
        }

        v2 = cx * cx + cy * cy;

        if (v1 < 0.01 && v2 < 0.01){
            this.onLine(sx, sy, ex, ey);
            return;
        }

        // Avoid infinite recursion
        if (isNaN(v1) || isNaN(v2)){
            throw new Error('Bad input');
        }

        // Split curve
        var s1x =   (c1x + c2x) * 0.5,   s1y =   (c1y + c2y) * 0.5,
            l1x =   (c1x + sx)  * 0.5,   l1y =   (c1y + sy)  * 0.5,
            l2x =   (l1x + s1x) * 0.5,   l2y =   (l1y + s1y) * 0.5,
            r2x =   (ex + c2x)  * 0.5,   r2y =   (ey + c2y)  * 0.5,
            r1x =   (r2x + s1x) * 0.5,   r1y =   (r2y + s1y) * 0.5,
            l2r1x = (l2x + r1x) * 0.5,   l2r1y = (l2y + r1y) * 0.5;

        // TODO: Manual stack if necessary. Currently recursive without tail optimization.
        this.onBezierCurve(sx, sy, l1x, l1y, l2x, l2y, l2r1x, l2r1y);
        this.onBezierCurve(l2r1x, l2r1y, r1x, r1y, r2x, r2y, ex, ey);
    },

    onArc: function(sx, sy, ex, ey, cx, cy, rx, ry, sa, ea, ccw, rotation){
        // Inverse Rotation + Scale Transform
        var rad = rotation ? rotation * Math.PI / 180 : 0, cos = Math.cos(rad), sin = Math.sin(rad),
            xx = cos * rx, yx = -sin * ry,
            xy = sin * rx, yy =  cos * ry;

        // Bezier Curve Approximation
        var arc = ea - sa;
        if (arc < 0 && !ccw) arc += Math.PI * 2;
        else if (arc > 0 && ccw) arc -= Math.PI * 2;

        var n = Math.ceil(Math.abs(arc / (Math.PI / 2))),
            step = arc / n,
            k = (4 / 3) * Math.tan(step / 4);

        var x = Math.cos(sa), y = Math.sin(sa);

        for (var i = 0; i < n; i++){
            var cp1x = x - k * y, cp1y = y + k * x;

            sa += step;
            x = Math.cos(sa); y = Math.sin(sa);

            var cp2x = x + k * y, cp2y = y - k * x;

            this.onBezierCurve(
                sx, sy,
                cx + xx * cp1x + yx * cp1y, cy + xy * cp1x + yy * cp1y,
                cx + xx * cp2x + yx * cp2y, cy + xy * cp2x + yy * cp2y,
                (sx = (cx + xx * x + yx * y)), (sy = (cy + xy * x + yy * y))
            );
        }
    },

    onClose: function(sx, sy, ex, ey){
        this.onLine(sx, sy, ex, ey);
    }

});

/***/ }),

/***/ "./node_modules/art/core/transform.js":
/***/ (function(module, exports, __webpack_require__) {

var Class = __webpack_require__("./node_modules/art/core/class.js");

function Transform(xx, yx, xy, yy, x, y){
    if (xx && typeof xx == 'object'){
        yx = xx.yx; yy = xx.yy; y = xx.y;
        xy = xx.xy; x = xx.x; xx = xx.xx;
    }
    this.xx = xx == null ? 1 : xx;
    this.yx = yx || 0;
    this.xy = xy || 0;
    this.yy = yy == null ? 1 : yy;
    this.x = (x == null ? this.x : x) || 0;
    this.y = (y == null ? this.y : y) || 0;
    this._transform();
    return this;
};

module.exports = Class({

    initialize: Transform,

    _transform: function(){},

    xx: 1, yx: 0, x: 0,
    xy: 0, yy: 1, y: 0,

    transform: function(xx, yx, xy, yy, x, y){
        var m = this;
        if (xx && typeof xx == 'object'){
            yx = xx.yx; yy = xx.yy; y = xx.y;
            xy = xx.xy; x = xx.x; xx = xx.xx;
        }
        if (!x) x = 0;
        if (!y) y = 0;
        return this.transformTo(
            m.xx * xx + m.xy * yx,
            m.yx * xx + m.yy * yx,
            m.xx * xy + m.xy * yy,
            m.yx * xy + m.yy * yy,
            m.xx * x + m.xy * y + m.x,
            m.yx * x + m.yy * y + m.y
        );
    },

    transformTo: Transform,

    translate: function(x, y){
        return this.transform(1, 0, 0, 1, x, y);
    },

    move: function(x, y){
        this.x += x || 0;
        this.y += y || 0;
        this._transform();
        return this;
    },

    scale: function(x, y){
        if (y == null) y = x;
        return this.transform(x, 0, 0, y, 0, 0);
    },

    rotate: function(deg, x, y){
        if (x == null || y == null){
            x = (this.left || 0) + (this.width || 0) / 2;
            y = (this.top || 0) + (this.height || 0) / 2;
        }

        var rad = deg * Math.PI / 180, sin = Math.sin(rad), cos = Math.cos(rad);

        this.transform(1, 0, 0, 1, x, y);
        var m = this;

        return this.transformTo(
            cos * m.xx - sin * m.yx,
            sin * m.xx + cos * m.yx,
            cos * m.xy - sin * m.yy,
            sin * m.xy + cos * m.yy,
            m.x,
            m.y
        ).transform(1, 0, 0, 1, -x, -y);
    },

    moveTo: function(x, y){
        var m = this;
        return this.transformTo(m.xx, m.yx, m.xy, m.yy, x, y);
    },

    rotateTo: function(deg, x, y){
        var m = this;
        var flip = m.yx / m.xx > m.yy / m.xy ? -1 : 1;
        if (m.xx < 0 ? m.xy >= 0 : m.xy < 0) flip = -flip;
        return this.rotate(deg - Math.atan2(flip * m.yx, flip * m.xx) * 180 / Math.PI, x, y);
    },

    scaleTo: function(x, y){
        // Normalize
        var m = this;

        var h = Math.sqrt(m.xx * m.xx + m.yx * m.yx);
        m.xx /= h; m.yx /= h;

        h = Math.sqrt(m.yy * m.yy + m.xy * m.xy);
        m.yy /= h; m.xy /= h;

        return this.scale(x, y);
    },

    resizeTo: function(width, height){
        var w = this.width, h = this.height;
        if (!w || !h) return this;
        return this.scaleTo(width / w, height / h);
    },

    /*
    inverse: function(){
        var a = this.xx, b = this.yx,
            c = this.xy, d = this.yy,
            e = this.x, f = this.y;
        if (a * d - b * c == 0) return null;
        return new Transform(
            d/(a * d-b * c), b/(b * c-a * d),
            c/(b * c-a * d), a/(a * d-b * c),
            (d * e-c * f)/(b * c-a * d), (b * e-a * f)/(a * d-b * c)
        );
    },
    */

    inversePoint: function(x, y){
        var a = this.xx, b = this.yx,
            c = this.xy, d = this.yy,
            e = this.x, f = this.y;
        var det = b * c - a * d;
        if (det == 0) return null;
        return {
            x: (d * (e - x) + c * (y - f)) / det,
            y: (a * (f - y) + b * (x - e)) / det
        };
    },

    point: function(x, y){
        var m = this;
        return {
            x: m.xx * x + m.xy * y + m.x,
            y: m.yx * x + m.yy * y + m.y
        };
    }    

});


/***/ }),

/***/ "./node_modules/base64-js/index.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


exports.byteLength = byteLength
exports.toByteArray = toByteArray
exports.fromByteArray = fromByteArray

var lookup = []
var revLookup = []
var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array

var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
for (var i = 0, len = code.length; i < len; ++i) {
  lookup[i] = code[i]
  revLookup[code.charCodeAt(i)] = i
}

revLookup['-'.charCodeAt(0)] = 62
revLookup['_'.charCodeAt(0)] = 63

function placeHoldersCount (b64) {
  var len = b64.length
  if (len % 4 > 0) {
    throw new Error('Invalid string. Length must be a multiple of 4')
  }

  // the number of equal signs (place holders)
  // if there are two placeholders, than the two characters before it
  // represent one byte
  // if there is only one, then the three characters before it represent 2 bytes
  // this is just a cheap hack to not do indexOf twice
  return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0
}

function byteLength (b64) {
  // base64 is 4/3 + up to two characters of the original data
  return b64.length * 3 / 4 - placeHoldersCount(b64)
}

function toByteArray (b64) {
  var i, j, l, tmp, placeHolders, arr
  var len = b64.length
  placeHolders = placeHoldersCount(b64)

  arr = new Arr(len * 3 / 4 - placeHolders)

  // if there are placeholders, only get up to the last complete 4 chars
  l = placeHolders > 0 ? len - 4 : len

  var L = 0

  for (i = 0, j = 0; i < l; i += 4, j += 3) {
    tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)]
    arr[L++] = (tmp >> 16) & 0xFF
    arr[L++] = (tmp >> 8) & 0xFF
    arr[L++] = tmp & 0xFF
  }

  if (placeHolders === 2) {
    tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4)
    arr[L++] = tmp & 0xFF
  } else if (placeHolders === 1) {
    tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2)
    arr[L++] = (tmp >> 8) & 0xFF
    arr[L++] = tmp & 0xFF
  }

  return arr
}

function tripletToBase64 (num) {
  return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F]
}

function encodeChunk (uint8, start, end) {
  var tmp
  var output = []
  for (var i = start; i < end; i += 3) {
    tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])
    output.push(tripletToBase64(tmp))
  }
  return output.join('')
}

function fromByteArray (uint8) {
  var tmp
  var len = uint8.length
  var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes
  var output = ''
  var parts = []
  var maxChunkLength = 16383 // must be multiple of 3

  // go through the array every three bytes, we'll deal with trailing stuff later
  for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {
    parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))
  }

  // pad the end with zeros, but make sure to not forget the extra bytes
  if (extraBytes === 1) {
    tmp = uint8[len - 1]
    output += lookup[tmp >> 2]
    output += lookup[(tmp << 4) & 0x3F]
    output += '=='
  } else if (extraBytes === 2) {
    tmp = (uint8[len - 2] << 8) + (uint8[len - 1])
    output += lookup[tmp >> 10]
    output += lookup[(tmp >> 4) & 0x3F]
    output += lookup[(tmp << 2) & 0x3F]
    output += '='
  }

  parts.push(output)

  return parts.join('')
}


/***/ }),

/***/ "./node_modules/es6-error/lib/index.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }

function _extendableBuiltin(cls) {
  function ExtendableBuiltin() {
    cls.apply(this, arguments);
  }

  ExtendableBuiltin.prototype = Object.create(cls.prototype, {
    constructor: {
      value: cls,
      enumerable: false,
      writable: true,
      configurable: true
    }
  });

  if (Object.setPrototypeOf) {
    Object.setPrototypeOf(ExtendableBuiltin, cls);
  } else {
    ExtendableBuiltin.__proto__ = cls;
  }

  return ExtendableBuiltin;
}

var ExtendableError = function (_extendableBuiltin2) {
  _inherits(ExtendableError, _extendableBuiltin2);

  function ExtendableError() {
    var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';

    _classCallCheck(this, ExtendableError);

    // extending Error is weird and does not propagate `message`
    var _this = _possibleConstructorReturn(this, (ExtendableError.__proto__ || Object.getPrototypeOf(ExtendableError)).call(this, message));

    Object.defineProperty(_this, 'message', {
      configurable: true,
      enumerable: false,
      value: message,
      writable: true
    });

    Object.defineProperty(_this, 'name', {
      configurable: true,
      enumerable: false,
      value: _this.constructor.name,
      writable: true
    });

    if (Error.hasOwnProperty('captureStackTrace')) {
      Error.captureStackTrace(_this, _this.constructor);
      return _possibleConstructorReturn(_this);
    }

    Object.defineProperty(_this, 'stack', {
      configurable: true,
      enumerable: false,
      value: new Error(message).stack,
      writable: true
    });
    return _this;
  }

  return ExtendableError;
}(_extendableBuiltin(Error));

exports.default = ExtendableError;
module.exports = exports['default'];


/***/ }),

/***/ "./node_modules/event-target-shim/lib/commons.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/**
 * @author Toru Nagashima
 * @copyright 2015 Toru Nagashima. All rights reserved.
 * See LICENSE file in root directory for full license.
 */



/**
 * Creates a unique key.
 *
 * @param {string} name - A name to create.
 * @returns {symbol|string}
 * @private
 */
var createUniqueKey = exports.createUniqueKey = (typeof Symbol !== "undefined" ?
    Symbol :
    function createUniqueKey(name) {
        return "[[" + name + "_" + Math.random().toFixed(8).slice(2) + "]]";
    });

/**
 * The key of listeners.
 *
 * @type {symbol|string}
 * @private
 */
exports.LISTENERS = createUniqueKey("listeners");

/**
 * A value of kind for listeners which are registered in the capturing phase.
 *
 * @type {number}
 * @private
 */
exports.CAPTURE = 1;

/**
 * A value of kind for listeners which are registered in the bubbling phase.
 *
 * @type {number}
 * @private
 */
exports.BUBBLE = 2;

/**
 * A value of kind for listeners which are registered as an attribute.
 *
 * @type {number}
 * @private
 */
exports.ATTRIBUTE = 3;

/**
 * @typedef object ListenerNode
 * @property {function} listener - A listener function.
 * @property {number} kind - The kind of the listener.
 * @property {ListenerNode|null} next - The next node.
 *      If this node is the last, this is `null`.
 */

/**
 * Creates a node of singly linked list for a list of listeners.
 *
 * @param {function} listener - A listener function.
 * @param {number} kind - The kind of the listener.
 * @returns {ListenerNode} The created listener node.
 */
exports.newNode = function newNode(listener, kind) {
    return {listener: listener, kind: kind, next: null};
};


/***/ }),

/***/ "./node_modules/event-target-shim/lib/custom-event-target.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/**
 * @author Toru Nagashima
 * @copyright 2015 Toru Nagashima. All rights reserved.
 * See LICENSE file in root directory for full license.
 */



//-----------------------------------------------------------------------------
// Requirements
//-----------------------------------------------------------------------------

var Commons = __webpack_require__("./node_modules/event-target-shim/lib/commons.js");
var LISTENERS = Commons.LISTENERS;
var ATTRIBUTE = Commons.ATTRIBUTE;
var newNode = Commons.newNode;

//-----------------------------------------------------------------------------
// Helpers
//-----------------------------------------------------------------------------

/**
 * Gets a specified attribute listener from a given EventTarget object.
 *
 * @param {EventTarget} eventTarget - An EventTarget object to get.
 * @param {string} type - An event type to get.
 * @returns {function|null} The found attribute listener.
 */
function getAttributeListener(eventTarget, type) {
    var node = eventTarget[LISTENERS][type];
    while (node != null) {
        if (node.kind === ATTRIBUTE) {
            return node.listener;
        }
        node = node.next;
    }
    return null;
}

/**
 * Sets a specified attribute listener to a given EventTarget object.
 *
 * @param {EventTarget} eventTarget - An EventTarget object to set.
 * @param {string} type - An event type to set.
 * @param {function|null} listener - A listener to be set.
 * @returns {void}
 */
function setAttributeListener(eventTarget, type, listener) {
    if (typeof listener !== "function" && typeof listener !== "object") {
        listener = null; // eslint-disable-line no-param-reassign
    }

    var prev = null;
    var node = eventTarget[LISTENERS][type];
    while (node != null) {
        if (node.kind === ATTRIBUTE) {
            // Remove old value.
            if (prev == null) {
                eventTarget[LISTENERS][type] = node.next;
            }
            else {
                prev.next = node.next;
            }
        }
        else {
            prev = node;
        }

        node = node.next;
    }

    // Add new value.
    if (listener != null) {
        if (prev == null) {
            eventTarget[LISTENERS][type] = newNode(listener, ATTRIBUTE);
        }
        else {
            prev.next = newNode(listener, ATTRIBUTE);
        }
    }
}

//-----------------------------------------------------------------------------
// Public Interface
//-----------------------------------------------------------------------------

/**
 * Defines an `EventTarget` implementation which has `onfoobar` attributes.
 *
 * @param {EventTarget} EventTargetBase - A base implementation of EventTarget.
 * @param {string[]} types - A list of event types which are defined as attribute listeners.
 * @returns {EventTarget} The defined `EventTarget` implementation which has attribute listeners.
 */
exports.defineCustomEventTarget = function(EventTargetBase, types) {
    function EventTarget() {
        EventTargetBase.call(this);
    }

    var descripter = {
        constructor: {
            value: EventTarget,
            configurable: true,
            writable: true
        }
    };

    types.forEach(function(type) {
        descripter["on" + type] = {
            get: function() { return getAttributeListener(this, type); },
            set: function(listener) { setAttributeListener(this, type, listener); },
            configurable: true,
            enumerable: true
        };
    });

    EventTarget.prototype = Object.create(EventTargetBase.prototype, descripter);

    return EventTarget;
};


/***/ }),

/***/ "./node_modules/event-target-shim/lib/event-target.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/**
 * @author Toru Nagashima
 * @copyright 2015 Toru Nagashima. All rights reserved.
 * See LICENSE file in root directory for full license.
 */



//-----------------------------------------------------------------------------
// Requirements
//-----------------------------------------------------------------------------

var Commons = __webpack_require__("./node_modules/event-target-shim/lib/commons.js");
var CustomEventTarget = __webpack_require__("./node_modules/event-target-shim/lib/custom-event-target.js");
var EventWrapper = __webpack_require__("./node_modules/event-target-shim/lib/event-wrapper.js");
var LISTENERS = Commons.LISTENERS;
var CAPTURE = Commons.CAPTURE;
var BUBBLE = Commons.BUBBLE;
var ATTRIBUTE = Commons.ATTRIBUTE;
var newNode = Commons.newNode;
var defineCustomEventTarget = CustomEventTarget.defineCustomEventTarget;
var createEventWrapper = EventWrapper.createEventWrapper;
var STOP_IMMEDIATE_PROPAGATION_FLAG =
    EventWrapper.STOP_IMMEDIATE_PROPAGATION_FLAG;

//-----------------------------------------------------------------------------
// Constants
//-----------------------------------------------------------------------------

/**
 * A flag which shows there is the native `EventTarget` interface object.
 *
 * @type {boolean}
 * @private
 */
var HAS_EVENTTARGET_INTERFACE = (
    typeof window !== "undefined" &&
    typeof window.EventTarget !== "undefined"
);

//-----------------------------------------------------------------------------
// Public Interface
//-----------------------------------------------------------------------------

/**
 * An implementation for `EventTarget` interface.
 *
 * @constructor
 * @public
 */
var EventTarget = module.exports = function EventTarget() {
    if (this instanceof EventTarget) {
        // this[LISTENERS] is a Map.
        // Its key is event type.
        // Its value is ListenerNode object or null.
        //
        // interface ListenerNode {
        //     var listener: Function
        //     var kind: CAPTURE|BUBBLE|ATTRIBUTE
        //     var next: ListenerNode|null
        // }
        Object.defineProperty(this, LISTENERS, {value: Object.create(null)});
    }
    else if (arguments.length === 1 && Array.isArray(arguments[0])) {
        return defineCustomEventTarget(EventTarget, arguments[0]);
    }
    else if (arguments.length > 0) {
        var types = Array(arguments.length);
        for (var i = 0; i < arguments.length; ++i) {
            types[i] = arguments[i];
        }

        // To use to extend with attribute listener properties.
        // e.g.
        //     class MyCustomObject extends EventTarget("message", "error") {
        //         //...
        //     }
        return defineCustomEventTarget(EventTarget, types);
    }
    else {
        throw new TypeError("Cannot call a class as a function");
    }
};

EventTarget.prototype = Object.create(
    (HAS_EVENTTARGET_INTERFACE ? window.EventTarget : Object).prototype,
    {
        constructor: {
            value: EventTarget,
            writable: true,
            configurable: true
        },

        addEventListener: {
            value: function addEventListener(type, listener, capture) {
                if (listener == null) {
                    return false;
                }
                if (typeof listener !== "function" && typeof listener !== "object") {
                    throw new TypeError("\"listener\" is not an object.");
                }

                var kind = (capture ? CAPTURE : BUBBLE);
                var node = this[LISTENERS][type];
                if (node == null) {
                    this[LISTENERS][type] = newNode(listener, kind);
                    return true;
                }

                var prev = null;
                while (node != null) {
                    if (node.listener === listener && node.kind === kind) {
                        // Should ignore a duplicated listener.
                        return false;
                    }
                    prev = node;
                    node = node.next;
                }

                prev.next = newNode(listener, kind);
                return true;
            },
            configurable: true,
            writable: true
        },

        removeEventListener: {
            value: function removeEventListener(type, listener, capture) {
                if (listener == null) {
                    return false;
                }

                var kind = (capture ? CAPTURE : BUBBLE);
                var prev = null;
                var node = this[LISTENERS][type];
                while (node != null) {
                    if (node.listener === listener && node.kind === kind) {
                        if (prev == null) {
                            this[LISTENERS][type] = node.next;
                        }
                        else {
                            prev.next = node.next;
                        }
                        return true;
                    }

                    prev = node;
                    node = node.next;
                }

                return false;
            },
            configurable: true,
            writable: true
        },

        dispatchEvent: {
            value: function dispatchEvent(event) {
                // If listeners aren't registered, terminate.
                var node = this[LISTENERS][event.type];
                if (node == null) {
                    return true;
                }

                // Since we cannot rewrite several properties, so wrap object.
                var wrapped = createEventWrapper(event, this);

                // This doesn't process capturing phase and bubbling phase.
                // This isn't participating in a tree.
                while (node != null) {
                    if (typeof node.listener === "function") {
                        node.listener.call(this, wrapped);
                    }
                    else if (node.kind !== ATTRIBUTE && typeof node.listener.handleEvent === "function") {
                        node.listener.handleEvent(wrapped);
                    }

                    if (wrapped[STOP_IMMEDIATE_PROPAGATION_FLAG]) {
                        break;
                    }
                    node = node.next;
                }

                return !wrapped.defaultPrevented;
            },
            configurable: true,
            writable: true
        }
    }
);


/***/ }),

/***/ "./node_modules/event-target-shim/lib/event-wrapper.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/**
 * @author Toru Nagashima
 * @copyright 2015 Toru Nagashima. All rights reserved.
 * See LICENSE file in root directory for full license.
 */



//-----------------------------------------------------------------------------
// Requirements
//-----------------------------------------------------------------------------

var createUniqueKey = __webpack_require__("./node_modules/event-target-shim/lib/commons.js").createUniqueKey;

//-----------------------------------------------------------------------------
// Constsnts
//-----------------------------------------------------------------------------

/**
 * The key of the flag which is turned on by `stopImmediatePropagation` method.
 *
 * @type {symbol|string}
 * @private
 */
var STOP_IMMEDIATE_PROPAGATION_FLAG =
    createUniqueKey("stop_immediate_propagation_flag");

/**
 * The key of the flag which is turned on by `preventDefault` method.
 *
 * @type {symbol|string}
 * @private
 */
var CANCELED_FLAG = createUniqueKey("canceled_flag");

/**
 * The key of the original event object.
 *
 * @type {symbol|string}
 * @private
 */
var ORIGINAL_EVENT = createUniqueKey("original_event");

/**
 * Method definitions for the event wrapper.
 *
 * @type {object}
 * @private
 */
var wrapperPrototypeDefinition = Object.freeze({
    stopPropagation: Object.freeze({
        value: function stopPropagation() {
            var e = this[ORIGINAL_EVENT];
            if (typeof e.stopPropagation === "function") {
                e.stopPropagation();
            }
        },
        writable: true,
        configurable: true
    }),

    stopImmediatePropagation: Object.freeze({
        value: function stopImmediatePropagation() {
            this[STOP_IMMEDIATE_PROPAGATION_FLAG] = true;

            var e = this[ORIGINAL_EVENT];
            if (typeof e.stopImmediatePropagation === "function") {
                e.stopImmediatePropagation();
            }
        },
        writable: true,
        configurable: true
    }),

    preventDefault: Object.freeze({
        value: function preventDefault() {
            if (this.cancelable === true) {
                this[CANCELED_FLAG] = true;
            }

            var e = this[ORIGINAL_EVENT];
            if (typeof e.preventDefault === "function") {
                e.preventDefault();
            }
        },
        writable: true,
        configurable: true
    }),

    defaultPrevented: Object.freeze({
        get: function defaultPrevented() { return this[CANCELED_FLAG]; },
        enumerable: true,
        configurable: true
    })
});

//-----------------------------------------------------------------------------
// Public Interface
//-----------------------------------------------------------------------------

exports.STOP_IMMEDIATE_PROPAGATION_FLAG = STOP_IMMEDIATE_PROPAGATION_FLAG;

/**
 * Creates an event wrapper.
 *
 * We cannot modify several properties of `Event` object, so we need to create the wrapper.
 * Plus, this wrapper supports non `Event` objects.
 *
 * @param {Event|{type: string}} event - An original event to create the wrapper.
 * @param {EventTarget} eventTarget - The event target of the event.
 * @returns {Event} The created wrapper. This object is implemented `Event` interface.
 * @private
 */
exports.createEventWrapper = function createEventWrapper(event, eventTarget) {
    var timeStamp = (
        typeof event.timeStamp === "number" ? event.timeStamp : Date.now()
    );
    var propertyDefinition = {
        type: {value: event.type, enumerable: true},
        target: {value: eventTarget, enumerable: true},
        currentTarget: {value: eventTarget, enumerable: true},
        eventPhase: {value: 2, enumerable: true},
        bubbles: {value: Boolean(event.bubbles), enumerable: true},
        cancelable: {value: Boolean(event.cancelable), enumerable: true},
        timeStamp: {value: timeStamp, enumerable: true},
        isTrusted: {value: false, enumerable: true}
    };
    propertyDefinition[STOP_IMMEDIATE_PROPAGATION_FLAG] = {value: false, writable: true};
    propertyDefinition[CANCELED_FLAG] = {value: false, writable: true};
    propertyDefinition[ORIGINAL_EVENT] = {value: event};

    // For CustomEvent.
    if (typeof event.detail !== "undefined") {
        propertyDefinition.detail = {value: event.detail, enumerable: true};
    }

    return Object.create(
        Object.create(event, wrapperPrototypeDefinition),
        propertyDefinition
    );
};


/***/ }),

/***/ "./node_modules/fbjs/lib/ExecutionEnvironment.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/**
 * Copyright (c) 2013-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 */



var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);

/**
 * Simple, lightweight module assisting with the detection and context of
 * Worker. Helps avoid circular dependencies and allows code to reason about
 * whether or not they are in a Worker, even if they never include the main
 * `ReactWorker` dependency.
 */
var ExecutionEnvironment = {

  canUseDOM: canUseDOM,

  canUseWorkers: typeof Worker !== 'undefined',

  canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),

  canUseViewport: canUseDOM && !!window.screen,

  isInWorker: !canUseDOM // For now, this is true - might change in the future.

};

module.exports = ExecutionEnvironment;

/***/ }),

/***/ "./node_modules/fbjs/lib/Promise.native.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/**
 *
 * Copyright 2013-2016 Facebook, Inc.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 * This module wraps and augments the minimally ES6-compliant Promise
 * implementation provided by the promise npm package.
 *
 */



var Promise = __webpack_require__("./node_modules/promise/setimmediate/es6-extensions.js");
__webpack_require__("./node_modules/promise/setimmediate/done.js");

/**
 * Handle either fulfillment or rejection with the same callback.
 */
Promise.prototype['finally'] = function (onSettled) {
  return this.then(onSettled, onSettled);
};

module.exports = Promise;

/***/ }),

/***/ "./node_modules/fbjs/lib/TouchEventUtils.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


/**
 * Copyright (c) 2013-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 */

var TouchEventUtils = {
  /**
   * Utility function for common case of extracting out the primary touch from a
   * touch event.
   * - `touchEnd` events usually do not have the `touches` property.
   *   http://stackoverflow.com/questions/3666929/
   *   mobile-sarai-touchend-event-not-firing-when-last-touch-is-removed
   *
   * @param {Event} nativeEvent Native event that may or may not be a touch.
   * @return {TouchesObject?} an object with pageX and pageY or null.
   */
  extractSingleTouch: function extractSingleTouch(nativeEvent) {
    var touches = nativeEvent.touches;
    var changedTouches = nativeEvent.changedTouches;
    var hasTouches = touches && touches.length > 0;
    var hasChangedTouches = changedTouches && changedTouches.length > 0;

    return !hasTouches && hasChangedTouches ? changedTouches[0] : hasTouches ? touches[0] : nativeEvent;
  }
};

module.exports = TouchEventUtils;

/***/ }),

/***/ "./node_modules/fbjs/lib/emptyFunction.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


/**
 * Copyright (c) 2013-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 * 
 */

function makeEmptyFunction(arg) {
  return function () {
    return arg;
  };
}

/**
 * This function accepts and discards inputs; it has no side effects. This is
 * primarily useful idiomatically for overridable function endpoints which
 * always need to be callable, since JS lacks a null-call idiom ala Cocoa.
 */
var emptyFunction = function emptyFunction() {};

emptyFunction.thatReturns = makeEmptyFunction;
emptyFunction.thatReturnsFalse = makeEmptyFunction(false);
emptyFunction.thatReturnsTrue = makeEmptyFunction(true);
emptyFunction.thatReturnsNull = makeEmptyFunction(null);
emptyFunction.thatReturnsThis = function () {
  return this;
};
emptyFunction.thatReturnsArgument = function (arg) {
  return arg;
};

module.exports = emptyFunction;

/***/ }),

/***/ "./node_modules/fbjs/lib/emptyObject.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/**
 * Copyright (c) 2013-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 */



var emptyObject = {};

if (false) {
  Object.freeze(emptyObject);
}

module.exports = emptyObject;

/***/ }),

/***/ "./node_modules/fbjs/lib/invariant.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/**
 * Copyright (c) 2013-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 */



/**
 * Use invariant() to assert state which your program assumes to be true.
 *
 * Provide sprintf-style format (only %s is supported) and arguments
 * to provide information about what broke and what you were
 * expecting.
 *
 * The invariant message will be stripped in production, but the invariant
 * will remain to ensure logic does not differ in production.
 */

var validateFormat = function validateFormat(format) {};

if (false) {
  validateFormat = function validateFormat(format) {
    if (format === undefined) {
      throw new Error('invariant requires an error message argument');
    }
  };
}

function invariant(condition, format, a, b, c, d, e, f) {
  validateFormat(format);

  if (!condition) {
    var error;
    if (format === undefined) {
      error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');
    } else {
      var args = [a, b, c, d, e, f];
      var argIndex = 0;
      error = new Error(format.replace(/%s/g, function () {
        return args[argIndex++];
      }));
      error.name = 'Invariant Violation';
    }

    error.framesToPop = 1; // we don't care about invariant's own frame
    throw error;
  }
}

module.exports = invariant;

/***/ }),

/***/ "./node_modules/fbjs/lib/isNode.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


/**
 * Copyright (c) 2013-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 * @typechecks
 */

/**
 * @param {*} object The object to check.
 * @return {boolean} Whether or not the object is a DOM node.
 */
function isNode(object) {
  var doc = object ? object.ownerDocument || object : document;
  var defaultView = doc.defaultView || window;
  return !!(object && (typeof defaultView.Node === 'function' ? object instanceof defaultView.Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string'));
}

module.exports = isNode;

/***/ }),

/***/ "./node_modules/fbjs/lib/keyMirror.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/**
 * Copyright (c) 2013-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 * @typechecks static-only
 */



var invariant = __webpack_require__("./node_modules/fbjs/lib/invariant.js");

/**
 * Constructs an enumeration with keys equal to their value.
 *
 * For example:
 *
 *   var COLORS = keyMirror({blue: null, red: null});
 *   var myColor = COLORS.blue;
 *   var isColorValid = !!COLORS[myColor];
 *
 * The last line could not be performed if the values of the generated enum were
 * not equal to their keys.
 *
 *   Input:  {key1: val1, key2: val2}
 *   Output: {key1: key1, key2: key2}
 *
 * @param {object} obj
 * @return {object}
 */
var keyMirror = function keyMirror(obj) {
  var ret = {};
  var key;
  !(obj instanceof Object && !Array.isArray(obj)) ?  false ? invariant(false, 'keyMirror(...): Argument must be an object.') : invariant(false) : void 0;
  for (key in obj) {
    if (!obj.hasOwnProperty(key)) {
      continue;
    }
    ret[key] = key;
  }
  return ret;
};

module.exports = keyMirror;

/***/ }),

/***/ "./node_modules/fbjs/lib/keyOf.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


/**
 * Copyright (c) 2013-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 */

/**
 * Allows extraction of a minified key. Let's the build system minify keys
 * without losing the ability to dynamically use key strings as values
 * themselves. Pass in an object with a single key/val pair and it will return
 * you the string key of that single record. Suppose you want to grab the
 * value for a key 'className' inside of an object. Key/val minification may
 * have aliased that key to be 'xa12'. keyOf({className: null}) will return
 * 'xa12' in that case. Resolve keys you want to use once at startup time, then
 * reuse those resolutions.
 */
var keyOf = function keyOf(oneKeyObj) {
  var key;
  for (key in oneKeyObj) {
    if (!oneKeyObj.hasOwnProperty(key)) {
      continue;
    }
    return key;
  }
  return null;
};

module.exports = keyOf;

/***/ }),

/***/ "./node_modules/fbjs/lib/nativeRequestAnimationFrame.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(global) {

/**
 * Copyright (c) 2013-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 */

var nativeRequestAnimationFrame = global.requestAnimationFrame || global.webkitRequestAnimationFrame || global.mozRequestAnimationFrame || global.oRequestAnimationFrame || global.msRequestAnimationFrame;

module.exports = nativeRequestAnimationFrame;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/webpack/buildin/global.js")))

/***/ }),

/***/ "./node_modules/fbjs/lib/performance.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/**
 * Copyright (c) 2013-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 * @typechecks
 */



var ExecutionEnvironment = __webpack_require__("./node_modules/fbjs/lib/ExecutionEnvironment.js");

var performance;

if (ExecutionEnvironment.canUseDOM) {
  performance = window.performance || window.msPerformance || window.webkitPerformance;
}

module.exports = performance || {};

/***/ }),

/***/ "./node_modules/fbjs/lib/performanceNow.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


/**
 * Copyright (c) 2013-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 * @typechecks
 */

var performance = __webpack_require__("./node_modules/fbjs/lib/performance.js");

var performanceNow;

/**
 * Detect if we can use `window.performance.now()` and gracefully fallback to
 * `Date.now()` if it doesn't exist. We need to support Firefox < 15 for now
 * because of Facebook's testing infrastructure.
 */
if (performance.now) {
  performanceNow = function performanceNow() {
    return performance.now();
  };
} else {
  performanceNow = function performanceNow() {
    return Date.now();
  };
}

module.exports = performanceNow;

/***/ }),

/***/ "./node_modules/fbjs/lib/requestAnimationFrame.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(global) {

/**
 * Copyright 2014-2015, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 */

var emptyFunction = __webpack_require__("./node_modules/fbjs/lib/emptyFunction.js");
var nativeRequestAnimationFrame = __webpack_require__("./node_modules/fbjs/lib/nativeRequestAnimationFrame.js");

var lastTime = 0;

var requestAnimationFrame = nativeRequestAnimationFrame || function (callback) {
  var currTime = Date.now();
  var timeDelay = Math.max(0, 16 - (currTime - lastTime));
  lastTime = currTime + timeDelay;
  return global.setTimeout(function () {
    callback(Date.now());
  }, timeDelay);
};

// Works around a rare bug in Safari 6 where the first request is never invoked.
requestAnimationFrame(emptyFunction);

module.exports = requestAnimationFrame;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/webpack/buildin/global.js")))

/***/ }),

/***/ "./node_modules/fbjs/lib/shallowEqual.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/**
 * Copyright (c) 2013-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 * @typechecks
 * 
 */

/*eslint-disable no-self-compare */



var hasOwnProperty = Object.prototype.hasOwnProperty;

/**
 * inlined Object.is polyfill to avoid requiring consumers ship their own
 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
 */
function is(x, y) {
  // SameValue algorithm
  if (x === y) {
    // Steps 1-5, 7-10
    // Steps 6.b-6.e: +0 != -0
    // Added the nonzero y check to make Flow happy, but it is redundant
    return x !== 0 || y !== 0 || 1 / x === 1 / y;
  } else {
    // Step 6.a: NaN == NaN
    return x !== x && y !== y;
  }
}

/**
 * Performs equality by iterating through keys on an object and returning false
 * when any key has values which are not strictly equal between the arguments.
 * Returns true when the values of all keys are strictly equal.
 */
function shallowEqual(objA, objB) {
  if (is(objA, objB)) {
    return true;
  }

  if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {
    return false;
  }

  var keysA = Object.keys(objA);
  var keysB = Object.keys(objB);

  if (keysA.length !== keysB.length) {
    return false;
  }

  // Test for A's keys different from B.
  for (var i = 0; i < keysA.length; i++) {
    if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {
      return false;
    }
  }

  return true;
}

module.exports = shallowEqual;

/***/ }),

/***/ "./node_modules/fbjs/lib/warning.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/**
 * Copyright 2014-2015, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 */



var emptyFunction = __webpack_require__("./node_modules/fbjs/lib/emptyFunction.js");

/**
 * Similar to invariant but only logs a warning if the condition is not met.
 * This can be used to log issues in development environments in critical
 * paths. Removing the logging code for production environments will keep the
 * same logic and follow the same code paths.
 */

var warning = emptyFunction;

if (false) {
  (function () {
    var printWarning = function printWarning(format) {
      for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
        args[_key - 1] = arguments[_key];
      }

      var argIndex = 0;
      var message = 'Warning: ' + format.replace(/%s/g, function () {
        return args[argIndex++];
      });
      if (typeof console !== 'undefined') {
        console.error(message);
      }
      try {
        // --- Welcome to debugging React ---
        // This error was thrown as a convenience so that you can use this stack
        // to find the callsite that caused this warning to fire.
        throw new Error(message);
      } catch (x) {}
    };

    warning = function warning(condition, format) {
      if (format === undefined) {
        throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');
      }

      if (format.indexOf('Failed Composite propType: ') === 0) {
        return; // Ignore CompositeComponent proptype check.
      }

      if (!condition) {
        for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
          args[_key2 - 2] = arguments[_key2];
        }

        printWarning.apply(undefined, [format].concat(args));
      }
    };
  })();
}

module.exports = warning;

/***/ }),

/***/ "./node_modules/haul/src/utils/polyfillEnvironment.js":
/***/ (function(module, exports, __webpack_require__) {

/* WEBPACK VAR INJECTION */(function(global) {__webpack_require__("./node_modules/haul/vendor/polyfills/console.js");__webpack_require__("./node_modules/haul/vendor/polyfills/error-guard.js");__webpack_require__("./node_modules/haul/vendor/polyfills/Number.es6.js");__webpack_require__("./node_modules/haul/vendor/polyfills/String.prototype.es6.js");__webpack_require__("./node_modules/haul/vendor/polyfills/Array.prototype.es6.js");__webpack_require__("./node_modules/haul/vendor/polyfills/Array.es6.js");__webpack_require__("./node_modules/haul/vendor/polyfills/Object.es6.js");__webpack_require__("./node_modules/haul/vendor/polyfills/Object.es7.js");__webpack_require__("./node_modules/haul/vendor/polyfills/babelHelpers.js");if(!global.self){global.self=global;}__webpack_require__("./node_modules/react-native/Libraries/Core/InitializeCore.js");
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/webpack/buildin/global.js")))

/***/ }),

/***/ "./node_modules/haul/vendor/polyfills/Array.es6.js":
/***/ (function(module, exports) {

if(!Array.from){Array.from=function(arrayLike){if(arrayLike==null){throw new TypeError('Object is null or undefined');}var mapFn=arguments[1];var thisArg=arguments[2];var C=this;var items=Object(arrayLike);var symbolIterator=typeof Symbol==='function'?typeof Symbol==='function'?Symbol.iterator:'@@iterator':'@@iterator';var mapping=typeof mapFn==='function';var usingIterator=typeof items[symbolIterator]==='function';var key=0;var ret;var value;if(usingIterator){ret=typeof C==='function'?new C():[];var it=items[symbolIterator]();var next;while(!(next=it.next()).done){value=next.value;if(mapping){value=mapFn.call(thisArg,value,key);}ret[key]=value;key+=1;}ret.length=key;return ret;}var len=items.length;if(isNaN(len)||len<0){len=0;}ret=typeof C==='function'?new C(len):new Array(len);while(key<len){value=items[key];if(mapping){value=mapFn.call(thisArg,value,key);}ret[key]=value;key+=1;}ret.length=key;return ret;};}

/***/ }),

/***/ "./node_modules/haul/vendor/polyfills/Array.prototype.es6.js":
/***/ (function(module, exports) {

function findIndex(predicate,context){if(this==null){throw new TypeError('Array.prototype.findIndex called on null or undefined');}if(typeof predicate!=='function'){throw new TypeError('predicate must be a function');}var list=Object(this);var length=list.length>>>0;for(var i=0;i<length;i++){if(predicate.call(context,list[i],i,list)){return i;}}return-1;}if(!Array.prototype.findIndex){Object.defineProperty(Array.prototype,'findIndex',{enumerable:false,writable:true,configurable:true,value:findIndex});}if(!Array.prototype.find){Object.defineProperty(Array.prototype,'find',{enumerable:false,writable:true,configurable:true,value:function value(predicate,context){if(this==null){throw new TypeError('Array.prototype.find called on null or undefined');}var index=findIndex.call(this,predicate,context);return index===-1?undefined:this[index];}});}if(!Array.prototype.includes){Object.defineProperty(Array.prototype,'includes',{enumerable:false,writable:true,configurable:true,value:function value(searchElement){var O=Object(this);var len=parseInt(O.length)||0;if(len===0){return false;}var n=parseInt(arguments[1])||0;var k;if(n>=0){k=n;}else{k=len+n;if(k<0){k=0;}}var currentElement;while(k<len){currentElement=O[k];if(searchElement===currentElement||searchElement!==searchElement&&currentElement!==currentElement){return true;}k++;}return false;}});}

/***/ }),

/***/ "./node_modules/haul/vendor/polyfills/Number.es6.js":
/***/ (function(module, exports, __webpack_require__) {

/* WEBPACK VAR INJECTION */(function(global) {if(Number.EPSILON===undefined){Object.defineProperty(Number,'EPSILON',{value:Math.pow(2,-52)});}if(Number.MAX_SAFE_INTEGER===undefined){Object.defineProperty(Number,'MAX_SAFE_INTEGER',{value:Math.pow(2,53)-1});}if(Number.MIN_SAFE_INTEGER===undefined){Object.defineProperty(Number,'MIN_SAFE_INTEGER',{value:-(Math.pow(2,53)-1)});}if(!Number.isNaN){var globalIsNaN=global.isNaN;Object.defineProperty(Number,'isNaN',{configurable:true,enumerable:false,value:function isNaN(value){return typeof value==='number'&&globalIsNaN(value);},writable:true});}
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/webpack/buildin/global.js")))

/***/ }),

/***/ "./node_modules/haul/vendor/polyfills/Object.es6.js":
/***/ (function(module, exports, __webpack_require__) {

Object.assign=function(target,sources){if(false){if(target==null){throw new TypeError('Object.assign target cannot be null or undefined');}if(typeof target!=='object'&&typeof target!=='function'){throw new TypeError('In this environment the target of assign MUST be an object.'+'This error is a performance optimization and not spec compliant.');}}for(var nextIndex=1;nextIndex<arguments.length;nextIndex++){var nextSource=arguments[nextIndex];if(nextSource==null){continue;}if(false){if(typeof nextSource!=='object'&&typeof nextSource!=='function'){throw new TypeError('In this environment the sources for assign MUST be an object.'+'This error is a performance optimization and not spec compliant.');}}for(var key in nextSource){if(false){var hasOwnProperty=Object.prototype.hasOwnProperty;if(!hasOwnProperty.call(nextSource,key)){throw new TypeError('One of the sources for assign has an enumerable key on the '+'prototype chain. Are you trying to assign a prototype property? '+'We don\'t allow it, as this is an edge case that we do not support. '+'This error is a performance optimization and not spec compliant.');}}target[key]=nextSource[key];}}return target;};

/***/ }),

/***/ "./node_modules/haul/vendor/polyfills/Object.es7.js":
/***/ (function(module, exports) {

(function(){'use strict';var hasOwnProperty=Object.prototype.hasOwnProperty;if(typeof Object.entries!=='function'){Object.entries=function(object){if(object==null){throw new TypeError('Object.entries called on non-object');}var entries=[];for(var key in object){if(hasOwnProperty.call(object,key)){entries.push([key,object[key]]);}}return entries;};}if(typeof Object.values!=='function'){Object.values=function(object){if(object==null){throw new TypeError('Object.values called on non-object');}var values=[];for(var key in object){if(hasOwnProperty.call(object,key)){values.push(object[key]);}}return values;};}})();

/***/ }),

/***/ "./node_modules/haul/vendor/polyfills/String.prototype.es6.js":
/***/ (function(module, exports) {

if(!String.prototype.startsWith){String.prototype.startsWith=function(search){'use strict';if(this==null){throw TypeError();}var string=String(this);var pos=arguments.length>1?Number(arguments[1])||0:0;var start=Math.min(Math.max(pos,0),string.length);return string.indexOf(String(search),pos)===start;};}if(!String.prototype.endsWith){String.prototype.endsWith=function(search){'use strict';if(this==null){throw TypeError();}var string=String(this);var stringLength=string.length;var searchString=String(search);var pos=arguments.length>1?Number(arguments[1])||0:stringLength;var end=Math.min(Math.max(pos,0),stringLength);var start=end-searchString.length;if(start<0){return false;}return string.lastIndexOf(searchString,start)===start;};}if(!String.prototype.repeat){String.prototype.repeat=function(count){'use strict';if(this==null){throw TypeError();}var string=String(this);count=Number(count)||0;if(count<0||count===Infinity){throw RangeError();}if(count===1){return string;}var result='';while(count){if(count&1){result+=string;}if(count>>=1){string+=string;}}return result;};}if(!String.prototype.includes){String.prototype.includes=function(search,start){'use strict';if(typeof start!=='number'){start=0;}if(start+search.length>this.length){return false;}else{return this.indexOf(search,start)!==-1;}};}

/***/ }),

/***/ "./node_modules/haul/vendor/polyfills/babelHelpers.js":
/***/ (function(module, exports, __webpack_require__) {

/* WEBPACK VAR INJECTION */(function(global) {var babelHelpers=global.babelHelpers={};babelHelpers.typeof=typeof Symbol==="function"&&typeof(typeof Symbol==="function"?Symbol.iterator:"@@iterator")==="symbol"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==(typeof Symbol==="function"?Symbol.prototype:"@@prototype")?"symbol":typeof obj;};babelHelpers.createRawReactElement=function(){var REACT_ELEMENT_TYPE=typeof Symbol==="function"&&(typeof Symbol==="function"?Symbol.for:"@@for")&&(typeof Symbol==="function"?Symbol.for:"@@for")("react.element")||0xeac7;return function createRawReactElement(type,key,props){return{$$typeof:REACT_ELEMENT_TYPE,type:type,key:key,ref:null,props:props,_owner:null};};}();babelHelpers.classCallCheck=function(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}};babelHelpers.createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();babelHelpers.defineEnumerableProperties=function(obj,descs){for(var key in descs){var desc=descs[key];desc.configurable=desc.enumerable=true;if('value'in desc)desc.writable=true;Object.defineProperty(obj,key,desc);}return obj;};babelHelpers.defineProperty=function(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;};babelHelpers._extends=babelHelpers.extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};babelHelpers.get=function get(object,property,receiver){if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined;}else{return get(parent,property,receiver);}}else if("value"in desc){return desc.value;}else{var getter=desc.get;if(getter===undefined){return undefined;}return getter.call(receiver);}};babelHelpers.inherits=function(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;};babelHelpers.interopRequireDefault=function(obj){return obj&&obj.__esModule?obj:{default:obj};};babelHelpers.interopRequireWildcard=function(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}};babelHelpers.objectWithoutProperties=function(obj,keys){var target={};for(var i in obj){if(keys.indexOf(i)>=0)continue;if(!Object.prototype.hasOwnProperty.call(obj,i))continue;target[i]=obj[i];}return target;};babelHelpers.possibleConstructorReturn=function(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;};babelHelpers.slicedToArray=function(){function sliceIterator(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[typeof Symbol==="function"?Symbol.iterator:"@@iterator"](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"])_i["return"]();}finally{if(_d)throw _e;}}return _arr;}return function(arr,i){if(Array.isArray(arr)){return arr;}else if((typeof Symbol==="function"?Symbol.iterator:"@@iterator")in Object(arr)){return sliceIterator(arr,i);}else{throw new TypeError("Invalid attempt to destructure non-iterable instance");}};}();babelHelpers.taggedTemplateLiteral=function(strings,raw){return Object.freeze(Object.defineProperties(strings,{raw:{value:Object.freeze(raw)}}));};babelHelpers.toArray=function(arr){return Array.isArray(arr)?arr:Array.from(arr);};babelHelpers.toConsumableArray=function(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++){arr2[i]=arr[i];}return arr2;}else{return Array.from(arr);}};
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/webpack/buildin/global.js")))

/***/ }),

/***/ "./node_modules/haul/vendor/polyfills/console.js":
/***/ (function(module, exports, __webpack_require__) {

var inspect=function(){function inspect(obj,opts){var ctx={seen:[],stylize:stylizeNoColor};return formatValue(ctx,obj,opts.depth);}function stylizeNoColor(str,styleType){return str;}function arrayToHash(array){var hash={};array.forEach(function(val,idx){hash[val]=true;});return hash;}function formatValue(ctx,value,recurseTimes){var primitive=formatPrimitive(ctx,value);if(primitive){return primitive;}var keys=Object.keys(value);var visibleKeys=arrayToHash(keys);if(isError(value)&&(keys.indexOf('message')>=0||keys.indexOf('description')>=0)){return formatError(value);}if(keys.length===0){if(isFunction(value)){var name=value.name?': '+value.name:'';return ctx.stylize('[Function'+name+']','special');}if(isRegExp(value)){return ctx.stylize(RegExp.prototype.toString.call(value),'regexp');}if(isDate(value)){return ctx.stylize(Date.prototype.toString.call(value),'date');}if(isError(value)){return formatError(value);}}var base='',array=false,braces=['{','}'];if(isArray(value)){array=true;braces=['[',']'];}if(isFunction(value)){var n=value.name?': '+value.name:'';base=' [Function'+n+']';}if(isRegExp(value)){base=' '+RegExp.prototype.toString.call(value);}if(isDate(value)){base=' '+Date.prototype.toUTCString.call(value);}if(isError(value)){base=' '+formatError(value);}if(keys.length===0&&(!array||value.length==0)){return braces[0]+base+braces[1];}if(recurseTimes<0){if(isRegExp(value)){return ctx.stylize(RegExp.prototype.toString.call(value),'regexp');}else{return ctx.stylize('[Object]','special');}}ctx.seen.push(value);var output;if(array){output=formatArray(ctx,value,recurseTimes,visibleKeys,keys);}else{output=keys.map(function(key){return formatProperty(ctx,value,recurseTimes,visibleKeys,key,array);});}ctx.seen.pop();return reduceToSingleString(output,base,braces);}function formatPrimitive(ctx,value){if(isUndefined(value))return ctx.stylize('undefined','undefined');if(isString(value)){var simple='\''+JSON.stringify(value).replace(/^"|"$/g,'').replace(/'/g,"\\'").replace(/\\"/g,'"')+'\'';return ctx.stylize(simple,'string');}if(isNumber(value))return ctx.stylize(''+value,'number');if(isBoolean(value))return ctx.stylize(''+value,'boolean');if(isNull(value))return ctx.stylize('null','null');}function formatError(value){return'['+Error.prototype.toString.call(value)+']';}function formatArray(ctx,value,recurseTimes,visibleKeys,keys){var output=[];for(var i=0,l=value.length;i<l;++i){if(hasOwnProperty(value,String(i))){output.push(formatProperty(ctx,value,recurseTimes,visibleKeys,String(i),true));}else{output.push('');}}keys.forEach(function(key){if(!key.match(/^\d+$/)){output.push(formatProperty(ctx,value,recurseTimes,visibleKeys,key,true));}});return output;}function formatProperty(ctx,value,recurseTimes,visibleKeys,key,array){var name,str,desc;desc=Object.getOwnPropertyDescriptor(value,key)||{value:value[key]};if(desc.get){if(desc.set){str=ctx.stylize('[Getter/Setter]','special');}else{str=ctx.stylize('[Getter]','special');}}else{if(desc.set){str=ctx.stylize('[Setter]','special');}}if(!hasOwnProperty(visibleKeys,key)){name='['+key+']';}if(!str){if(ctx.seen.indexOf(desc.value)<0){if(isNull(recurseTimes)){str=formatValue(ctx,desc.value,null);}else{str=formatValue(ctx,desc.value,recurseTimes-1);}if(str.indexOf('\n')>-1){if(array){str=str.split('\n').map(function(line){return'  '+line;}).join('\n').substr(2);}else{str='\n'+str.split('\n').map(function(line){return'   '+line;}).join('\n');}}}else{str=ctx.stylize('[Circular]','special');}}if(isUndefined(name)){if(array&&key.match(/^\d+$/)){return str;}name=JSON.stringify(''+key);if(name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)){name=name.substr(1,name.length-2);name=ctx.stylize(name,'name');}else{name=name.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'");name=ctx.stylize(name,'string');}}return name+': '+str;}function reduceToSingleString(output,base,braces){var numLinesEst=0;var length=output.reduce(function(prev,cur){numLinesEst++;if(cur.indexOf('\n')>=0)numLinesEst++;return prev+cur.replace(/\u001b\[\d\d?m/g,'').length+1;},0);if(length>60){return braces[0]+(base===''?'':base+'\n ')+' '+output.join(',\n  ')+' '+braces[1];}return braces[0]+base+' '+output.join(', ')+' '+braces[1];}function isArray(ar){return Array.isArray(ar);}function isBoolean(arg){return typeof arg==='boolean';}function isNull(arg){return arg===null;}function isNullOrUndefined(arg){return arg==null;}function isNumber(arg){return typeof arg==='number';}function isString(arg){return typeof arg==='string';}function isSymbol(arg){return typeof arg==='symbol';}function isUndefined(arg){return arg===void 0;}function isRegExp(re){return isObject(re)&&objectToString(re)==='[object RegExp]';}function isObject(arg){return typeof arg==='object'&&arg!==null;}function isDate(d){return isObject(d)&&objectToString(d)==='[object Date]';}function isError(e){return isObject(e)&&(objectToString(e)==='[object Error]'||e instanceof Error);}function isFunction(arg){return typeof arg==='function';}function isPrimitive(arg){return arg===null||typeof arg==='boolean'||typeof arg==='number'||typeof arg==='string'||typeof arg==='symbol'||typeof arg==='undefined';}function objectToString(o){return Object.prototype.toString.call(o);}function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop);}return inspect;}();var OBJECT_COLUMN_NAME='(index)';var LOG_LEVELS={trace:0,info:1,warn:2,error:3};var INSPECTOR_LEVELS=[];INSPECTOR_LEVELS[LOG_LEVELS.trace]='debug';INSPECTOR_LEVELS[LOG_LEVELS.info]='log';INSPECTOR_LEVELS[LOG_LEVELS.warn]='warning';INSPECTOR_LEVELS[LOG_LEVELS.error]='error';var INSPECTOR_FRAMES_TO_SKIP= false?2:1;function setupConsole(global){if(!global.nativeLoggingHook){return;}function getNativeLogFunction(level){return function(){var str=void 0;if(arguments.length===1&&typeof arguments[0]==='string'){str=arguments[0];}else{str=Array.prototype.map.call(arguments,function(arg){return inspect(arg,{depth:10});}).join(', ');}var logLevel=level;if(str.slice(0,9)==='Warning: '&&logLevel>=LOG_LEVELS.error){logLevel=LOG_LEVELS.warn;}if(global.__inspectorLog){global.__inspectorLog(INSPECTOR_LEVELS[logLevel],str,[].slice.call(arguments),INSPECTOR_FRAMES_TO_SKIP);}global.nativeLoggingHook(str,logLevel);};}function repeat(element,n){return Array.apply(null,Array(n)).map(function(){return element;});};function consoleTablePolyfill(rows){if(!Array.isArray(rows)){var data=rows;rows=[];for(var key in data){if(data.hasOwnProperty(key)){var row=data[key];row[OBJECT_COLUMN_NAME]=key;rows.push(row);}}}if(rows.length===0){global.nativeLoggingHook('',LOG_LEVELS.info);return;}var columns=Object.keys(rows[0]).sort();var stringRows=[];var columnWidths=[];columns.forEach(function(k,i){columnWidths[i]=k.length;for(var j=0;j<rows.length;j++){var cellStr=(rows[j][k]||'?').toString();stringRows[j]=stringRows[j]||[];stringRows[j][i]=cellStr;columnWidths[i]=Math.max(columnWidths[i],cellStr.length);}});function joinRow(row,space){var cells=row.map(function(cell,i){var extraSpaces=repeat(' ',columnWidths[i]-cell.length).join('');return cell+extraSpaces;});space=space||' ';return cells.join(space+'|'+space);};var separators=columnWidths.map(function(columnWidth){return repeat('-',columnWidth).join('');});var separatorRow=joinRow(separators,'-');var header=joinRow(columns);var table=[header,separatorRow];for(var i=0;i<rows.length;i++){table.push(joinRow(stringRows[i]));}global.nativeLoggingHook('\n'+table.join('\n'),LOG_LEVELS.info);}var originalConsole=global.console;var descriptor=Object.getOwnPropertyDescriptor(global,'console');if(descriptor){Object.defineProperty(global,'originalConsole',descriptor);}global.console={error:getNativeLogFunction(LOG_LEVELS.error),info:getNativeLogFunction(LOG_LEVELS.info),log:getNativeLogFunction(LOG_LEVELS.info),warn:getNativeLogFunction(LOG_LEVELS.warn),trace:getNativeLogFunction(LOG_LEVELS.trace),debug:getNativeLogFunction(LOG_LEVELS.trace),table:consoleTablePolyfill};if(false){Object.keys(console).forEach(function(methodName){var reactNativeMethod=console[methodName];if(originalConsole[methodName]){console[methodName]=function(){originalConsole[methodName].apply(originalConsole,arguments);reactNativeMethod.apply(console,arguments);};}});}}if(true){module.exports=setupConsole;}else{setupConsole(global);}

/***/ }),

/***/ "./node_modules/haul/vendor/polyfills/error-guard.js":
/***/ (function(module, exports, __webpack_require__) {

/* WEBPACK VAR INJECTION */(function(global) {var _inGuard=0;var _globalHandler=function onError(e){throw e;};var ErrorUtils={setGlobalHandler:function setGlobalHandler(fun){_globalHandler=fun;},getGlobalHandler:function getGlobalHandler(){return _globalHandler;},reportError:function reportError(error){_globalHandler&&_globalHandler(error);},reportFatalError:function reportFatalError(error){_globalHandler&&_globalHandler(error,true);},applyWithGuard:function applyWithGuard(fun,context,args){try{_inGuard++;return fun.apply(context,args);}catch(e){ErrorUtils.reportError(e);}finally{_inGuard--;}return null;},applyWithGuardIfNeeded:function applyWithGuardIfNeeded(fun,context,args){if(ErrorUtils.inGuard()){return fun.apply(context,args);}else{ErrorUtils.applyWithGuard(fun,context,args);}return null;},inGuard:function inGuard(){return _inGuard;},guard:function guard(fun,name,context){if(typeof fun!=='function'){console.warn('A function must be passed to ErrorUtils.guard, got ',fun);return null;}name=name||fun.name||'<generated guard>';function guarded(){return ErrorUtils.applyWithGuard(fun,context||this,arguments,null,name);}return guarded;}};global.ErrorUtils=ErrorUtils;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/webpack/buildin/global.js")))

/***/ }),

/***/ "./node_modules/immutable/dist/immutable.js":
/***/ (function(module, exports, __webpack_require__) {

/**
 *  Copyright (c) 2014-2015, Facebook, Inc.
 *  All rights reserved.
 *
 *  This source code is licensed under the BSD-style license found in the
 *  LICENSE file in the root directory of this source tree. An additional grant
 *  of patent rights can be found in the PATENTS file in the same directory.
 */

(function (global, factory) {
   true ? module.exports = factory() :
  typeof define === 'function' && define.amd ? define(factory) :
  global.Immutable = factory();
}(this, function () { 'use strict';var SLICE$0 = Array.prototype.slice;

  function createClass(ctor, superClass) {
    if (superClass) {
      ctor.prototype = Object.create(superClass.prototype);
    }
    ctor.prototype.constructor = ctor;
  }

  function Iterable(value) {
      return isIterable(value) ? value : Seq(value);
    }


  createClass(KeyedIterable, Iterable);
    function KeyedIterable(value) {
      return isKeyed(value) ? value : KeyedSeq(value);
    }


  createClass(IndexedIterable, Iterable);
    function IndexedIterable(value) {
      return isIndexed(value) ? value : IndexedSeq(value);
    }


  createClass(SetIterable, Iterable);
    function SetIterable(value) {
      return isIterable(value) && !isAssociative(value) ? value : SetSeq(value);
    }



  function isIterable(maybeIterable) {
    return !!(maybeIterable && maybeIterable[IS_ITERABLE_SENTINEL]);
  }

  function isKeyed(maybeKeyed) {
    return !!(maybeKeyed && maybeKeyed[IS_KEYED_SENTINEL]);
  }

  function isIndexed(maybeIndexed) {
    return !!(maybeIndexed && maybeIndexed[IS_INDEXED_SENTINEL]);
  }

  function isAssociative(maybeAssociative) {
    return isKeyed(maybeAssociative) || isIndexed(maybeAssociative);
  }

  function isOrdered(maybeOrdered) {
    return !!(maybeOrdered && maybeOrdered[IS_ORDERED_SENTINEL]);
  }

  Iterable.isIterable = isIterable;
  Iterable.isKeyed = isKeyed;
  Iterable.isIndexed = isIndexed;
  Iterable.isAssociative = isAssociative;
  Iterable.isOrdered = isOrdered;

  Iterable.Keyed = KeyedIterable;
  Iterable.Indexed = IndexedIterable;
  Iterable.Set = SetIterable;


  var IS_ITERABLE_SENTINEL = '@@__IMMUTABLE_ITERABLE__@@';
  var IS_KEYED_SENTINEL = '@@__IMMUTABLE_KEYED__@@';
  var IS_INDEXED_SENTINEL = '@@__IMMUTABLE_INDEXED__@@';
  var IS_ORDERED_SENTINEL = '@@__IMMUTABLE_ORDERED__@@';

  // Used for setting prototype methods that IE8 chokes on.
  var DELETE = 'delete';

  // Constants describing the size of trie nodes.
  var SHIFT = 5; // Resulted in best performance after ______?
  var SIZE = 1 << SHIFT;
  var MASK = SIZE - 1;

  // A consistent shared value representing "not set" which equals nothing other
  // than itself, and nothing that could be provided externally.
  var NOT_SET = {};

  // Boolean references, Rough equivalent of `bool &`.
  var CHANGE_LENGTH = { value: false };
  var DID_ALTER = { value: false };

  function MakeRef(ref) {
    ref.value = false;
    return ref;
  }

  function SetRef(ref) {
    ref && (ref.value = true);
  }

  // A function which returns a value representing an "owner" for transient writes
  // to tries. The return value will only ever equal itself, and will not equal
  // the return of any subsequent call of this function.
  function OwnerID() {}

  // http://jsperf.com/copy-array-inline
  function arrCopy(arr, offset) {
    offset = offset || 0;
    var len = Math.max(0, arr.length - offset);
    var newArr = new Array(len);
    for (var ii = 0; ii < len; ii++) {
      newArr[ii] = arr[ii + offset];
    }
    return newArr;
  }

  function ensureSize(iter) {
    if (iter.size === undefined) {
      iter.size = iter.__iterate(returnTrue);
    }
    return iter.size;
  }

  function wrapIndex(iter, index) {
    // This implements "is array index" which the ECMAString spec defines as:
    //
    //     A String property name P is an array index if and only if
    //     ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal
    //     to 2^32−1.
    //
    // http://www.ecma-international.org/ecma-262/6.0/#sec-array-exotic-objects
    if (typeof index !== 'number') {
      var uint32Index = index >>> 0; // N >>> 0 is shorthand for ToUint32
      if ('' + uint32Index !== index || uint32Index === 4294967295) {
        return NaN;
      }
      index = uint32Index;
    }
    return index < 0 ? ensureSize(iter) + index : index;
  }

  function returnTrue() {
    return true;
  }

  function wholeSlice(begin, end, size) {
    return (begin === 0 || (size !== undefined && begin <= -size)) &&
      (end === undefined || (size !== undefined && end >= size));
  }

  function resolveBegin(begin, size) {
    return resolveIndex(begin, size, 0);
  }

  function resolveEnd(end, size) {
    return resolveIndex(end, size, size);
  }

  function resolveIndex(index, size, defaultIndex) {
    return index === undefined ?
      defaultIndex :
      index < 0 ?
        Math.max(0, size + index) :
        size === undefined ?
          index :
          Math.min(size, index);
  }

  /* global Symbol */

  var ITERATE_KEYS = 0;
  var ITERATE_VALUES = 1;
  var ITERATE_ENTRIES = 2;

  var REAL_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
  var FAUX_ITERATOR_SYMBOL = '@@iterator';

  var ITERATOR_SYMBOL = REAL_ITERATOR_SYMBOL || FAUX_ITERATOR_SYMBOL;


  function Iterator(next) {
      this.next = next;
    }

    Iterator.prototype.toString = function() {
      return '[Iterator]';
    };


  Iterator.KEYS = ITERATE_KEYS;
  Iterator.VALUES = ITERATE_VALUES;
  Iterator.ENTRIES = ITERATE_ENTRIES;

  Iterator.prototype.inspect =
  Iterator.prototype.toSource = function () { return this.toString(); }
  Iterator.prototype[ITERATOR_SYMBOL] = function () {
    return this;
  };


  function iteratorValue(type, k, v, iteratorResult) {
    var value = type === 0 ? k : type === 1 ? v : [k, v];
    iteratorResult ? (iteratorResult.value = value) : (iteratorResult = {
      value: value, done: false
    });
    return iteratorResult;
  }

  function iteratorDone() {
    return { value: undefined, done: true };
  }

  function hasIterator(maybeIterable) {
    return !!getIteratorFn(maybeIterable);
  }

  function isIterator(maybeIterator) {
    return maybeIterator && typeof maybeIterator.next === 'function';
  }

  function getIterator(iterable) {
    var iteratorFn = getIteratorFn(iterable);
    return iteratorFn && iteratorFn.call(iterable);
  }

  function getIteratorFn(iterable) {
    var iteratorFn = iterable && (
      (REAL_ITERATOR_SYMBOL && iterable[REAL_ITERATOR_SYMBOL]) ||
      iterable[FAUX_ITERATOR_SYMBOL]
    );
    if (typeof iteratorFn === 'function') {
      return iteratorFn;
    }
  }

  function isArrayLike(value) {
    return value && typeof value.length === 'number';
  }

  createClass(Seq, Iterable);
    function Seq(value) {
      return value === null || value === undefined ? emptySequence() :
        isIterable(value) ? value.toSeq() : seqFromValue(value);
    }

    Seq.of = function(/*...values*/) {
      return Seq(arguments);
    };

    Seq.prototype.toSeq = function() {
      return this;
    };

    Seq.prototype.toString = function() {
      return this.__toString('Seq {', '}');
    };

    Seq.prototype.cacheResult = function() {
      if (!this._cache && this.__iterateUncached) {
        this._cache = this.entrySeq().toArray();
        this.size = this._cache.length;
      }
      return this;
    };

    // abstract __iterateUncached(fn, reverse)

    Seq.prototype.__iterate = function(fn, reverse) {
      return seqIterate(this, fn, reverse, true);
    };

    // abstract __iteratorUncached(type, reverse)

    Seq.prototype.__iterator = function(type, reverse) {
      return seqIterator(this, type, reverse, true);
    };



  createClass(KeyedSeq, Seq);
    function KeyedSeq(value) {
      return value === null || value === undefined ?
        emptySequence().toKeyedSeq() :
        isIterable(value) ?
          (isKeyed(value) ? value.toSeq() : value.fromEntrySeq()) :
          keyedSeqFromValue(value);
    }

    KeyedSeq.prototype.toKeyedSeq = function() {
      return this;
    };



  createClass(IndexedSeq, Seq);
    function IndexedSeq(value) {
      return value === null || value === undefined ? emptySequence() :
        !isIterable(value) ? indexedSeqFromValue(value) :
        isKeyed(value) ? value.entrySeq() : value.toIndexedSeq();
    }

    IndexedSeq.of = function(/*...values*/) {
      return IndexedSeq(arguments);
    };

    IndexedSeq.prototype.toIndexedSeq = function() {
      return this;
    };

    IndexedSeq.prototype.toString = function() {
      return this.__toString('Seq [', ']');
    };

    IndexedSeq.prototype.__iterate = function(fn, reverse) {
      return seqIterate(this, fn, reverse, false);
    };

    IndexedSeq.prototype.__iterator = function(type, reverse) {
      return seqIterator(this, type, reverse, false);
    };



  createClass(SetSeq, Seq);
    function SetSeq(value) {
      return (
        value === null || value === undefined ? emptySequence() :
        !isIterable(value) ? indexedSeqFromValue(value) :
        isKeyed(value) ? value.entrySeq() : value
      ).toSetSeq();
    }

    SetSeq.of = function(/*...values*/) {
      return SetSeq(arguments);
    };

    SetSeq.prototype.toSetSeq = function() {
      return this;
    };



  Seq.isSeq = isSeq;
  Seq.Keyed = KeyedSeq;
  Seq.Set = SetSeq;
  Seq.Indexed = IndexedSeq;

  var IS_SEQ_SENTINEL = '@@__IMMUTABLE_SEQ__@@';

  Seq.prototype[IS_SEQ_SENTINEL] = true;



  createClass(ArraySeq, IndexedSeq);
    function ArraySeq(array) {
      this._array = array;
      this.size = array.length;
    }

    ArraySeq.prototype.get = function(index, notSetValue) {
      return this.has(index) ? this._array[wrapIndex(this, index)] : notSetValue;
    };

    ArraySeq.prototype.__iterate = function(fn, reverse) {
      var array = this._array;
      var maxIndex = array.length - 1;
      for (var ii = 0; ii <= maxIndex; ii++) {
        if (fn(array[reverse ? maxIndex - ii : ii], ii, this) === false) {
          return ii + 1;
        }
      }
      return ii;
    };

    ArraySeq.prototype.__iterator = function(type, reverse) {
      var array = this._array;
      var maxIndex = array.length - 1;
      var ii = 0;
      return new Iterator(function() 
        {return ii > maxIndex ?
          iteratorDone() :
          iteratorValue(type, ii, array[reverse ? maxIndex - ii++ : ii++])}
      );
    };



  createClass(ObjectSeq, KeyedSeq);
    function ObjectSeq(object) {
      var keys = Object.keys(object);
      this._object = object;
      this._keys = keys;
      this.size = keys.length;
    }

    ObjectSeq.prototype.get = function(key, notSetValue) {
      if (notSetValue !== undefined && !this.has(key)) {
        return notSetValue;
      }
      return this._object[key];
    };

    ObjectSeq.prototype.has = function(key) {
      return this._object.hasOwnProperty(key);
    };

    ObjectSeq.prototype.__iterate = function(fn, reverse) {
      var object = this._object;
      var keys = this._keys;
      var maxIndex = keys.length - 1;
      for (var ii = 0; ii <= maxIndex; ii++) {
        var key = keys[reverse ? maxIndex - ii : ii];
        if (fn(object[key], key, this) === false) {
          return ii + 1;
        }
      }
      return ii;
    };

    ObjectSeq.prototype.__iterator = function(type, reverse) {
      var object = this._object;
      var keys = this._keys;
      var maxIndex = keys.length - 1;
      var ii = 0;
      return new Iterator(function()  {
        var key = keys[reverse ? maxIndex - ii : ii];
        return ii++ > maxIndex ?
          iteratorDone() :
          iteratorValue(type, key, object[key]);
      });
    };

  ObjectSeq.prototype[IS_ORDERED_SENTINEL] = true;


  createClass(IterableSeq, IndexedSeq);
    function IterableSeq(iterable) {
      this._iterable = iterable;
      this.size = iterable.length || iterable.size;
    }

    IterableSeq.prototype.__iterateUncached = function(fn, reverse) {
      if (reverse) {
        return this.cacheResult().__iterate(fn, reverse);
      }
      var iterable = this._iterable;
      var iterator = getIterator(iterable);
      var iterations = 0;
      if (isIterator(iterator)) {
        var step;
        while (!(step = iterator.next()).done) {
          if (fn(step.value, iterations++, this) === false) {
            break;
          }
        }
      }
      return iterations;
    };

    IterableSeq.prototype.__iteratorUncached = function(type, reverse) {
      if (reverse) {
        return this.cacheResult().__iterator(type, reverse);
      }
      var iterable = this._iterable;
      var iterator = getIterator(iterable);
      if (!isIterator(iterator)) {
        return new Iterator(iteratorDone);
      }
      var iterations = 0;
      return new Iterator(function()  {
        var step = iterator.next();
        return step.done ? step : iteratorValue(type, iterations++, step.value);
      });
    };



  createClass(IteratorSeq, IndexedSeq);
    function IteratorSeq(iterator) {
      this._iterator = iterator;
      this._iteratorCache = [];
    }

    IteratorSeq.prototype.__iterateUncached = function(fn, reverse) {
      if (reverse) {
        return this.cacheResult().__iterate(fn, reverse);
      }
      var iterator = this._iterator;
      var cache = this._iteratorCache;
      var iterations = 0;
      while (iterations < cache.length) {
        if (fn(cache[iterations], iterations++, this) === false) {
          return iterations;
        }
      }
      var step;
      while (!(step = iterator.next()).done) {
        var val = step.value;
        cache[iterations] = val;
        if (fn(val, iterations++, this) === false) {
          break;
        }
      }
      return iterations;
    };

    IteratorSeq.prototype.__iteratorUncached = function(type, reverse) {
      if (reverse) {
        return this.cacheResult().__iterator(type, reverse);
      }
      var iterator = this._iterator;
      var cache = this._iteratorCache;
      var iterations = 0;
      return new Iterator(function()  {
        if (iterations >= cache.length) {
          var step = iterator.next();
          if (step.done) {
            return step;
          }
          cache[iterations] = step.value;
        }
        return iteratorValue(type, iterations, cache[iterations++]);
      });
    };




  // # pragma Helper functions

  function isSeq(maybeSeq) {
    return !!(maybeSeq && maybeSeq[IS_SEQ_SENTINEL]);
  }

  var EMPTY_SEQ;

  function emptySequence() {
    return EMPTY_SEQ || (EMPTY_SEQ = new ArraySeq([]));
  }

  function keyedSeqFromValue(value) {
    var seq =
      Array.isArray(value) ? new ArraySeq(value).fromEntrySeq() :
      isIterator(value) ? new IteratorSeq(value).fromEntrySeq() :
      hasIterator(value) ? new IterableSeq(value).fromEntrySeq() :
      typeof value === 'object' ? new ObjectSeq(value) :
      undefined;
    if (!seq) {
      throw new TypeError(
        'Expected Array or iterable object of [k, v] entries, '+
        'or keyed object: ' + value
      );
    }
    return seq;
  }

  function indexedSeqFromValue(value) {
    var seq = maybeIndexedSeqFromValue(value);
    if (!seq) {
      throw new TypeError(
        'Expected Array or iterable object of values: ' + value
      );
    }
    return seq;
  }

  function seqFromValue(value) {
    var seq = maybeIndexedSeqFromValue(value) ||
      (typeof value === 'object' && new ObjectSeq(value));
    if (!seq) {
      throw new TypeError(
        'Expected Array or iterable object of values, or keyed object: ' + value
      );
    }
    return seq;
  }

  function maybeIndexedSeqFromValue(value) {
    return (
      isArrayLike(value) ? new ArraySeq(value) :
      isIterator(value) ? new IteratorSeq(value) :
      hasIterator(value) ? new IterableSeq(value) :
      undefined
    );
  }

  function seqIterate(seq, fn, reverse, useKeys) {
    var cache = seq._cache;
    if (cache) {
      var maxIndex = cache.length - 1;
      for (var ii = 0; ii <= maxIndex; ii++) {
        var entry = cache[reverse ? maxIndex - ii : ii];
        if (fn(entry[1], useKeys ? entry[0] : ii, seq) === false) {
          return ii + 1;
        }
      }
      return ii;
    }
    return seq.__iterateUncached(fn, reverse);
  }

  function seqIterator(seq, type, reverse, useKeys) {
    var cache = seq._cache;
    if (cache) {
      var maxIndex = cache.length - 1;
      var ii = 0;
      return new Iterator(function()  {
        var entry = cache[reverse ? maxIndex - ii : ii];
        return ii++ > maxIndex ?
          iteratorDone() :
          iteratorValue(type, useKeys ? entry[0] : ii - 1, entry[1]);
      });
    }
    return seq.__iteratorUncached(type, reverse);
  }

  function fromJS(json, converter) {
    return converter ?
      fromJSWith(converter, json, '', {'': json}) :
      fromJSDefault(json);
  }

  function fromJSWith(converter, json, key, parentJSON) {
    if (Array.isArray(json)) {
      return converter.call(parentJSON, key, IndexedSeq(json).map(function(v, k)  {return fromJSWith(converter, v, k, json)}));
    }
    if (isPlainObj(json)) {
      return converter.call(parentJSON, key, KeyedSeq(json).map(function(v, k)  {return fromJSWith(converter, v, k, json)}));
    }
    return json;
  }

  function fromJSDefault(json) {
    if (Array.isArray(json)) {
      return IndexedSeq(json).map(fromJSDefault).toList();
    }
    if (isPlainObj(json)) {
      return KeyedSeq(json).map(fromJSDefault).toMap();
    }
    return json;
  }

  function isPlainObj(value) {
    return value && (value.constructor === Object || value.constructor === undefined);
  }

  /**
   * An extension of the "same-value" algorithm as [described for use by ES6 Map
   * and Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map#Key_equality)
   *
   * NaN is considered the same as NaN, however -0 and 0 are considered the same
   * value, which is different from the algorithm described by
   * [`Object.is`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is).
   *
   * This is extended further to allow Objects to describe the values they
   * represent, by way of `valueOf` or `equals` (and `hashCode`).
   *
   * Note: because of this extension, the key equality of Immutable.Map and the
   * value equality of Immutable.Set will differ from ES6 Map and Set.
   *
   * ### Defining custom values
   *
   * The easiest way to describe the value an object represents is by implementing
   * `valueOf`. For example, `Date` represents a value by returning a unix
   * timestamp for `valueOf`:
   *
   *     var date1 = new Date(1234567890000); // Fri Feb 13 2009 ...
   *     var date2 = new Date(1234567890000);
   *     date1.valueOf(); // 1234567890000
   *     assert( date1 !== date2 );
   *     assert( Immutable.is( date1, date2 ) );
   *
   * Note: overriding `valueOf` may have other implications if you use this object
   * where JavaScript expects a primitive, such as implicit string coercion.
   *
   * For more complex types, especially collections, implementing `valueOf` may
   * not be performant. An alternative is to implement `equals` and `hashCode`.
   *
   * `equals` takes another object, presumably of similar type, and returns true
   * if the it is equal. Equality is symmetrical, so the same result should be
   * returned if this and the argument are flipped.
   *
   *     assert( a.equals(b) === b.equals(a) );
   *
   * `hashCode` returns a 32bit integer number representing the object which will
   * be used to determine how to store the value object in a Map or Set. You must
   * provide both or neither methods, one must not exist without the other.
   *
   * Also, an important relationship between these methods must be upheld: if two
   * values are equal, they *must* return the same hashCode. If the values are not
   * equal, they might have the same hashCode; this is called a hash collision,
   * and while undesirable for performance reasons, it is acceptable.
   *
   *     if (a.equals(b)) {
   *       assert( a.hashCode() === b.hashCode() );
   *     }
   *
   * All Immutable collections implement `equals` and `hashCode`.
   *
   */
  function is(valueA, valueB) {
    if (valueA === valueB || (valueA !== valueA && valueB !== valueB)) {
      return true;
    }
    if (!valueA || !valueB) {
      return false;
    }
    if (typeof valueA.valueOf === 'function' &&
        typeof valueB.valueOf === 'function') {
      valueA = valueA.valueOf();
      valueB = valueB.valueOf();
      if (valueA === valueB || (valueA !== valueA && valueB !== valueB)) {
        return true;
      }
      if (!valueA || !valueB) {
        return false;
      }
    }
    if (typeof valueA.equals === 'function' &&
        typeof valueB.equals === 'function' &&
        valueA.equals(valueB)) {
      return true;
    }
    return false;
  }

  function deepEqual(a, b) {
    if (a === b) {
      return true;
    }

    if (
      !isIterable(b) ||
      a.size !== undefined && b.size !== undefined && a.size !== b.size ||
      a.__hash !== undefined && b.__hash !== undefined && a.__hash !== b.__hash ||
      isKeyed(a) !== isKeyed(b) ||
      isIndexed(a) !== isIndexed(b) ||
      isOrdered(a) !== isOrdered(b)
    ) {
      return false;
    }

    if (a.size === 0 && b.size === 0) {
      return true;
    }

    var notAssociative = !isAssociative(a);

    if (isOrdered(a)) {
      var entries = a.entries();
      return b.every(function(v, k)  {
        var entry = entries.next().value;
        return entry && is(entry[1], v) && (notAssociative || is(entry[0], k));
      }) && entries.next().done;
    }

    var flipped = false;

    if (a.size === undefined) {
      if (b.size === undefined) {
        if (typeof a.cacheResult === 'function') {
          a.cacheResult();
        }
      } else {
        flipped = true;
        var _ = a;
        a = b;
        b = _;
      }
    }

    var allEqual = true;
    var bSize = b.__iterate(function(v, k)  {
      if (notAssociative ? !a.has(v) :
          flipped ? !is(v, a.get(k, NOT_SET)) : !is(a.get(k, NOT_SET), v)) {
        allEqual = false;
        return false;
      }
    });

    return allEqual && a.size === bSize;
  }

  createClass(Repeat, IndexedSeq);

    function Repeat(value, times) {
      if (!(this instanceof Repeat)) {
        return new Repeat(value, times);
      }
      this._value = value;
      this.size = times === undefined ? Infinity : Math.max(0, times);
      if (this.size === 0) {
        if (EMPTY_REPEAT) {
          return EMPTY_REPEAT;
        }
        EMPTY_REPEAT = this;
      }
    }

    Repeat.prototype.toString = function() {
      if (this.size === 0) {
        return 'Repeat []';
      }
      return 'Repeat [ ' + this._value + ' ' + this.size + ' times ]';
    };

    Repeat.prototype.get = function(index, notSetValue) {
      return this.has(index) ? this._value : notSetValue;
    };

    Repeat.prototype.includes = function(searchValue) {
      return is(this._value, searchValue);
    };

    Repeat.prototype.slice = function(begin, end) {
      var size = this.size;
      return wholeSlice(begin, end, size) ? this :
        new Repeat(this._value, resolveEnd(end, size) - resolveBegin(begin, size));
    };

    Repeat.prototype.reverse = function() {
      return this;
    };

    Repeat.prototype.indexOf = function(searchValue) {
      if (is(this._value, searchValue)) {
        return 0;
      }
      return -1;
    };

    Repeat.prototype.lastIndexOf = function(searchValue) {
      if (is(this._value, searchValue)) {
        return this.size;
      }
      return -1;
    };

    Repeat.prototype.__iterate = function(fn, reverse) {
      for (var ii = 0; ii < this.size; ii++) {
        if (fn(this._value, ii, this) === false) {
          return ii + 1;
        }
      }
      return ii;
    };

    Repeat.prototype.__iterator = function(type, reverse) {var this$0 = this;
      var ii = 0;
      return new Iterator(function() 
        {return ii < this$0.size ? iteratorValue(type, ii++, this$0._value) : iteratorDone()}
      );
    };

    Repeat.prototype.equals = function(other) {
      return other instanceof Repeat ?
        is(this._value, other._value) :
        deepEqual(other);
    };


  var EMPTY_REPEAT;

  function invariant(condition, error) {
    if (!condition) throw new Error(error);
  }

  createClass(Range, IndexedSeq);

    function Range(start, end, step) {
      if (!(this instanceof Range)) {
        return new Range(start, end, step);
      }
      invariant(step !== 0, 'Cannot step a Range by 0');
      start = start || 0;
      if (end === undefined) {
        end = Infinity;
      }
      step = step === undefined ? 1 : Math.abs(step);
      if (end < start) {
        step = -step;
      }
      this._start = start;
      this._end = end;
      this._step = step;
      this.size = Math.max(0, Math.ceil((end - start) / step - 1) + 1);
      if (this.size === 0) {
        if (EMPTY_RANGE) {
          return EMPTY_RANGE;
        }
        EMPTY_RANGE = this;
      }
    }

    Range.prototype.toString = function() {
      if (this.size === 0) {
        return 'Range []';
      }
      return 'Range [ ' +
        this._start + '...' + this._end +
        (this._step > 1 ? ' by ' + this._step : '') +
      ' ]';
    };

    Range.prototype.get = function(index, notSetValue) {
      return this.has(index) ?
        this._start + wrapIndex(this, index) * this._step :
        notSetValue;
    };

    Range.prototype.includes = function(searchValue) {
      var possibleIndex = (searchValue - this._start) / this._step;
      return possibleIndex >= 0 &&
        possibleIndex < this.size &&
        possibleIndex === Math.floor(possibleIndex);
    };

    Range.prototype.slice = function(begin, end) {
      if (wholeSlice(begin, end, this.size)) {
        return this;
      }
      begin = resolveBegin(begin, this.size);
      end = resolveEnd(end, this.size);
      if (end <= begin) {
        return new Range(0, 0);
      }
      return new Range(this.get(begin, this._end), this.get(end, this._end), this._step);
    };

    Range.prototype.indexOf = function(searchValue) {
      var offsetValue = searchValue - this._start;
      if (offsetValue % this._step === 0) {
        var index = offsetValue / this._step;
        if (index >= 0 && index < this.size) {
          return index
        }
      }
      return -1;
    };

    Range.prototype.lastIndexOf = function(searchValue) {
      return this.indexOf(searchValue);
    };

    Range.prototype.__iterate = function(fn, reverse) {
      var maxIndex = this.size - 1;
      var step = this._step;
      var value = reverse ? this._start + maxIndex * step : this._start;
      for (var ii = 0; ii <= maxIndex; ii++) {
        if (fn(value, ii, this) === false) {
          return ii + 1;
        }
        value += reverse ? -step : step;
      }
      return ii;
    };

    Range.prototype.__iterator = function(type, reverse) {
      var maxIndex = this.size - 1;
      var step = this._step;
      var value = reverse ? this._start + maxIndex * step : this._start;
      var ii = 0;
      return new Iterator(function()  {
        var v = value;
        value += reverse ? -step : step;
        return ii > maxIndex ? iteratorDone() : iteratorValue(type, ii++, v);
      });
    };

    Range.prototype.equals = function(other) {
      return other instanceof Range ?
        this._start === other._start &&
        this._end === other._end &&
        this._step === other._step :
        deepEqual(this, other);
    };


  var EMPTY_RANGE;

  createClass(Collection, Iterable);
    function Collection() {
      throw TypeError('Abstract');
    }


  createClass(KeyedCollection, Collection);function KeyedCollection() {}

  createClass(IndexedCollection, Collection);function IndexedCollection() {}

  createClass(SetCollection, Collection);function SetCollection() {}


  Collection.Keyed = KeyedCollection;
  Collection.Indexed = IndexedCollection;
  Collection.Set = SetCollection;

  var imul =
    typeof Math.imul === 'function' && Math.imul(0xffffffff, 2) === -2 ?
    Math.imul :
    function imul(a, b) {
      a = a | 0; // int
      b = b | 0; // int
      var c = a & 0xffff;
      var d = b & 0xffff;
      // Shift by 0 fixes the sign on the high part.
      return (c * d) + ((((a >>> 16) * d + c * (b >>> 16)) << 16) >>> 0) | 0; // int
    };

  // v8 has an optimization for storing 31-bit signed numbers.
  // Values which have either 00 or 11 as the high order bits qualify.
  // This function drops the highest order bit in a signed number, maintaining
  // the sign bit.
  function smi(i32) {
    return ((i32 >>> 1) & 0x40000000) | (i32 & 0xBFFFFFFF);
  }

  function hash(o) {
    if (o === false || o === null || o === undefined) {
      return 0;
    }
    if (typeof o.valueOf === 'function') {
      o = o.valueOf();
      if (o === false || o === null || o === undefined) {
        return 0;
      }
    }
    if (o === true) {
      return 1;
    }
    var type = typeof o;
    if (type === 'number') {
      var h = o | 0;
      if (h !== o) {
        h ^= o * 0xFFFFFFFF;
      }
      while (o > 0xFFFFFFFF) {
        o /= 0xFFFFFFFF;
        h ^= o;
      }
      return smi(h);
    }
    if (type === 'string') {
      return o.length > STRING_HASH_CACHE_MIN_STRLEN ? cachedHashString(o) : hashString(o);
    }
    if (typeof o.hashCode === 'function') {
      return o.hashCode();
    }
    if (type === 'object') {
      return hashJSObj(o);
    }
    if (typeof o.toString === 'function') {
      return hashString(o.toString());
    }
    throw new Error('Value type ' + type + ' cannot be hashed.');
  }

  function cachedHashString(string) {
    var hash = stringHashCache[string];
    if (hash === undefined) {
      hash = hashString(string);
      if (STRING_HASH_CACHE_SIZE === STRING_HASH_CACHE_MAX_SIZE) {
        STRING_HASH_CACHE_SIZE = 0;
        stringHashCache = {};
      }
      STRING_HASH_CACHE_SIZE++;
      stringHashCache[string] = hash;
    }
    return hash;
  }

  // http://jsperf.com/hashing-strings
  function hashString(string) {
    // This is the hash from JVM
    // The hash code for a string is computed as
    // s[0] * 31 ^ (n - 1) + s[1] * 31 ^ (n - 2) + ... + s[n - 1],
    // where s[i] is the ith character of the string and n is the length of
    // the string. We "mod" the result to make it between 0 (inclusive) and 2^31
    // (exclusive) by dropping high bits.
    var hash = 0;
    for (var ii = 0; ii < string.length; ii++) {
      hash = 31 * hash + string.charCodeAt(ii) | 0;
    }
    return smi(hash);
  }

  function hashJSObj(obj) {
    var hash;
    if (usingWeakMap) {
      hash = weakMap.get(obj);
      if (hash !== undefined) {
        return hash;
      }
    }

    hash = obj[UID_HASH_KEY];
    if (hash !== undefined) {
      return hash;
    }

    if (!canDefineProperty) {
      hash = obj.propertyIsEnumerable && obj.propertyIsEnumerable[UID_HASH_KEY];
      if (hash !== undefined) {
        return hash;
      }

      hash = getIENodeHash(obj);
      if (hash !== undefined) {
        return hash;
      }
    }

    hash = ++objHashUID;
    if (objHashUID & 0x40000000) {
      objHashUID = 0;
    }

    if (usingWeakMap) {
      weakMap.set(obj, hash);
    } else if (isExtensible !== undefined && isExtensible(obj) === false) {
      throw new Error('Non-extensible objects are not allowed as keys.');
    } else if (canDefineProperty) {
      Object.defineProperty(obj, UID_HASH_KEY, {
        'enumerable': false,
        'configurable': false,
        'writable': false,
        'value': hash
      });
    } else if (obj.propertyIsEnumerable !== undefined &&
               obj.propertyIsEnumerable === obj.constructor.prototype.propertyIsEnumerable) {
      // Since we can't define a non-enumerable property on the object
      // we'll hijack one of the less-used non-enumerable properties to
      // save our hash on it. Since this is a function it will not show up in
      // `JSON.stringify` which is what we want.
      obj.propertyIsEnumerable = function() {
        return this.constructor.prototype.propertyIsEnumerable.apply(this, arguments);
      };
      obj.propertyIsEnumerable[UID_HASH_KEY] = hash;
    } else if (obj.nodeType !== undefined) {
      // At this point we couldn't get the IE `uniqueID` to use as a hash
      // and we couldn't use a non-enumerable property to exploit the
      // dontEnum bug so we simply add the `UID_HASH_KEY` on the node
      // itself.
      obj[UID_HASH_KEY] = hash;
    } else {
      throw new Error('Unable to set a non-enumerable property on object.');
    }

    return hash;
  }

  // Get references to ES5 object methods.
  var isExtensible = Object.isExtensible;

  // True if Object.defineProperty works as expected. IE8 fails this test.
  var canDefineProperty = (function() {
    try {
      Object.defineProperty({}, '@', {});
      return true;
    } catch (e) {
      return false;
    }
  }());

  // IE has a `uniqueID` property on DOM nodes. We can construct the hash from it
  // and avoid memory leaks from the IE cloneNode bug.
  function getIENodeHash(node) {
    if (node && node.nodeType > 0) {
      switch (node.nodeType) {
        case 1: // Element
          return node.uniqueID;
        case 9: // Document
          return node.documentElement && node.documentElement.uniqueID;
      }
    }
  }

  // If possible, use a WeakMap.
  var usingWeakMap = typeof WeakMap === 'function';
  var weakMap;
  if (usingWeakMap) {
    weakMap = new WeakMap();
  }

  var objHashUID = 0;

  var UID_HASH_KEY = '__immutablehash__';
  if (typeof Symbol === 'function') {
    UID_HASH_KEY = Symbol(UID_HASH_KEY);
  }

  var STRING_HASH_CACHE_MIN_STRLEN = 16;
  var STRING_HASH_CACHE_MAX_SIZE = 255;
  var STRING_HASH_CACHE_SIZE = 0;
  var stringHashCache = {};

  function assertNotInfinite(size) {
    invariant(
      size !== Infinity,
      'Cannot perform this action with an infinite size.'
    );
  }

  createClass(Map, KeyedCollection);

    // @pragma Construction

    function Map(value) {
      return value === null || value === undefined ? emptyMap() :
        isMap(value) && !isOrdered(value) ? value :
        emptyMap().withMutations(function(map ) {
          var iter = KeyedIterable(value);
          assertNotInfinite(iter.size);
          iter.forEach(function(v, k)  {return map.set(k, v)});
        });
    }

    Map.prototype.toString = function() {
      return this.__toString('Map {', '}');
    };

    // @pragma Access

    Map.prototype.get = function(k, notSetValue) {
      return this._root ?
        this._root.get(0, undefined, k, notSetValue) :
        notSetValue;
    };

    // @pragma Modification

    Map.prototype.set = function(k, v) {
      return updateMap(this, k, v);
    };

    Map.prototype.setIn = function(keyPath, v) {
      return this.updateIn(keyPath, NOT_SET, function()  {return v});
    };

    Map.prototype.remove = function(k) {
      return updateMap(this, k, NOT_SET);
    };

    Map.prototype.deleteIn = function(keyPath) {
      return this.updateIn(keyPath, function()  {return NOT_SET});
    };

    Map.prototype.update = function(k, notSetValue, updater) {
      return arguments.length === 1 ?
        k(this) :
        this.updateIn([k], notSetValue, updater);
    };

    Map.prototype.updateIn = function(keyPath, notSetValue, updater) {
      if (!updater) {
        updater = notSetValue;
        notSetValue = undefined;
      }
      var updatedValue = updateInDeepMap(
        this,
        forceIterator(keyPath),
        notSetValue,
        updater
      );
      return updatedValue === NOT_SET ? undefined : updatedValue;
    };

    Map.prototype.clear = function() {
      if (this.size === 0) {
        return this;
      }
      if (this.__ownerID) {
        this.size = 0;
        this._root = null;
        this.__hash = undefined;
        this.__altered = true;
        return this;
      }
      return emptyMap();
    };

    // @pragma Composition

    Map.prototype.merge = function(/*...iters*/) {
      return mergeIntoMapWith(this, undefined, arguments);
    };

    Map.prototype.mergeWith = function(merger) {var iters = SLICE$0.call(arguments, 1);
      return mergeIntoMapWith(this, merger, iters);
    };

    Map.prototype.mergeIn = function(keyPath) {var iters = SLICE$0.call(arguments, 1);
      return this.updateIn(
        keyPath,
        emptyMap(),
        function(m ) {return typeof m.merge === 'function' ?
          m.merge.apply(m, iters) :
          iters[iters.length - 1]}
      );
    };

    Map.prototype.mergeDeep = function(/*...iters*/) {
      return mergeIntoMapWith(this, deepMerger, arguments);
    };

    Map.prototype.mergeDeepWith = function(merger) {var iters = SLICE$0.call(arguments, 1);
      return mergeIntoMapWith(this, deepMergerWith(merger), iters);
    };

    Map.prototype.mergeDeepIn = function(keyPath) {var iters = SLICE$0.call(arguments, 1);
      return this.updateIn(
        keyPath,
        emptyMap(),
        function(m ) {return typeof m.mergeDeep === 'function' ?
          m.mergeDeep.apply(m, iters) :
          iters[iters.length - 1]}
      );
    };

    Map.prototype.sort = function(comparator) {
      // Late binding
      return OrderedMap(sortFactory(this, comparator));
    };

    Map.prototype.sortBy = function(mapper, comparator) {
      // Late binding
      return OrderedMap(sortFactory(this, comparator, mapper));
    };

    // @pragma Mutability

    Map.prototype.withMutations = function(fn) {
      var mutable = this.asMutable();
      fn(mutable);
      return mutable.wasAltered() ? mutable.__ensureOwner(this.__ownerID) : this;
    };

    Map.prototype.asMutable = function() {
      return this.__ownerID ? this : this.__ensureOwner(new OwnerID());
    };

    Map.prototype.asImmutable = function() {
      return this.__ensureOwner();
    };

    Map.prototype.wasAltered = function() {
      return this.__altered;
    };

    Map.prototype.__iterator = function(type, reverse) {
      return new MapIterator(this, type, reverse);
    };

    Map.prototype.__iterate = function(fn, reverse) {var this$0 = this;
      var iterations = 0;
      this._root && this._root.iterate(function(entry ) {
        iterations++;
        return fn(entry[1], entry[0], this$0);
      }, reverse);
      return iterations;
    };

    Map.prototype.__ensureOwner = function(ownerID) {
      if (ownerID === this.__ownerID) {
        return this;
      }
      if (!ownerID) {
        this.__ownerID = ownerID;
        this.__altered = false;
        return this;
      }
      return makeMap(this.size, this._root, ownerID, this.__hash);
    };


  function isMap(maybeMap) {
    return !!(maybeMap && maybeMap[IS_MAP_SENTINEL]);
  }

  Map.isMap = isMap;

  var IS_MAP_SENTINEL = '@@__IMMUTABLE_MAP__@@';

  var MapPrototype = Map.prototype;
  MapPrototype[IS_MAP_SENTINEL] = true;
  MapPrototype[DELETE] = MapPrototype.remove;
  MapPrototype.removeIn = MapPrototype.deleteIn;


  // #pragma Trie Nodes



    function ArrayMapNode(ownerID, entries) {
      this.ownerID = ownerID;
      this.entries = entries;
    }

    ArrayMapNode.prototype.get = function(shift, keyHash, key, notSetValue) {
      var entries = this.entries;
      for (var ii = 0, len = entries.length; ii < len; ii++) {
        if (is(key, entries[ii][0])) {
          return entries[ii][1];
        }
      }
      return notSetValue;
    };

    ArrayMapNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {
      var removed = value === NOT_SET;

      var entries = this.entries;
      var idx = 0;
      for (var len = entries.length; idx < len; idx++) {
        if (is(key, entries[idx][0])) {
          break;
        }
      }
      var exists = idx < len;

      if (exists ? entries[idx][1] === value : removed) {
        return this;
      }

      SetRef(didAlter);
      (removed || !exists) && SetRef(didChangeSize);

      if (removed && entries.length === 1) {
        return; // undefined
      }

      if (!exists && !removed && entries.length >= MAX_ARRAY_MAP_SIZE) {
        return createNodes(ownerID, entries, key, value);
      }

      var isEditable = ownerID && ownerID === this.ownerID;
      var newEntries = isEditable ? entries : arrCopy(entries);

      if (exists) {
        if (removed) {
          idx === len - 1 ? newEntries.pop() : (newEntries[idx] = newEntries.pop());
        } else {
          newEntries[idx] = [key, value];
        }
      } else {
        newEntries.push([key, value]);
      }

      if (isEditable) {
        this.entries = newEntries;
        return this;
      }

      return new ArrayMapNode(ownerID, newEntries);
    };




    function BitmapIndexedNode(ownerID, bitmap, nodes) {
      this.ownerID = ownerID;
      this.bitmap = bitmap;
      this.nodes = nodes;
    }

    BitmapIndexedNode.prototype.get = function(shift, keyHash, key, notSetValue) {
      if (keyHash === undefined) {
        keyHash = hash(key);
      }
      var bit = (1 << ((shift === 0 ? keyHash : keyHash >>> shift) & MASK));
      var bitmap = this.bitmap;
      return (bitmap & bit) === 0 ? notSetValue :
        this.nodes[popCount(bitmap & (bit - 1))].get(shift + SHIFT, keyHash, key, notSetValue);
    };

    BitmapIndexedNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {
      if (keyHash === undefined) {
        keyHash = hash(key);
      }
      var keyHashFrag = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;
      var bit = 1 << keyHashFrag;
      var bitmap = this.bitmap;
      var exists = (bitmap & bit) !== 0;

      if (!exists && value === NOT_SET) {
        return this;
      }

      var idx = popCount(bitmap & (bit - 1));
      var nodes = this.nodes;
      var node = exists ? nodes[idx] : undefined;
      var newNode = updateNode(node, ownerID, shift + SHIFT, keyHash, key, value, didChangeSize, didAlter);

      if (newNode === node) {
        return this;
      }

      if (!exists && newNode && nodes.length >= MAX_BITMAP_INDEXED_SIZE) {
        return expandNodes(ownerID, nodes, bitmap, keyHashFrag, newNode);
      }

      if (exists && !newNode && nodes.length === 2 && isLeafNode(nodes[idx ^ 1])) {
        return nodes[idx ^ 1];
      }

      if (exists && newNode && nodes.length === 1 && isLeafNode(newNode)) {
        return newNode;
      }

      var isEditable = ownerID && ownerID === this.ownerID;
      var newBitmap = exists ? newNode ? bitmap : bitmap ^ bit : bitmap | bit;
      var newNodes = exists ? newNode ?
        setIn(nodes, idx, newNode, isEditable) :
        spliceOut(nodes, idx, isEditable) :
        spliceIn(nodes, idx, newNode, isEditable);

      if (isEditable) {
        this.bitmap = newBitmap;
        this.nodes = newNodes;
        return this;
      }

      return new BitmapIndexedNode(ownerID, newBitmap, newNodes);
    };




    function HashArrayMapNode(ownerID, count, nodes) {
      this.ownerID = ownerID;
      this.count = count;
      this.nodes = nodes;
    }

    HashArrayMapNode.prototype.get = function(shift, keyHash, key, notSetValue) {
      if (keyHash === undefined) {
        keyHash = hash(key);
      }
      var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;
      var node = this.nodes[idx];
      return node ? node.get(shift + SHIFT, keyHash, key, notSetValue) : notSetValue;
    };

    HashArrayMapNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {
      if (keyHash === undefined) {
        keyHash = hash(key);
      }
      var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;
      var removed = value === NOT_SET;
      var nodes = this.nodes;
      var node = nodes[idx];

      if (removed && !node) {
        return this;
      }

      var newNode = updateNode(node, ownerID, shift + SHIFT, keyHash, key, value, didChangeSize, didAlter);
      if (newNode === node) {
        return this;
      }

      var newCount = this.count;
      if (!node) {
        newCount++;
      } else if (!newNode) {
        newCount--;
        if (newCount < MIN_HASH_ARRAY_MAP_SIZE) {
          return packNodes(ownerID, nodes, newCount, idx);
        }
      }

      var isEditable = ownerID && ownerID === this.ownerID;
      var newNodes = setIn(nodes, idx, newNode, isEditable);

      if (isEditable) {
        this.count = newCount;
        this.nodes = newNodes;
        return this;
      }

      return new HashArrayMapNode(ownerID, newCount, newNodes);
    };




    function HashCollisionNode(ownerID, keyHash, entries) {
      this.ownerID = ownerID;
      this.keyHash = keyHash;
      this.entries = entries;
    }

    HashCollisionNode.prototype.get = function(shift, keyHash, key, notSetValue) {
      var entries = this.entries;
      for (var ii = 0, len = entries.length; ii < len; ii++) {
        if (is(key, entries[ii][0])) {
          return entries[ii][1];
        }
      }
      return notSetValue;
    };

    HashCollisionNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {
      if (keyHash === undefined) {
        keyHash = hash(key);
      }

      var removed = value === NOT_SET;

      if (keyHash !== this.keyHash) {
        if (removed) {
          return this;
        }
        SetRef(didAlter);
        SetRef(didChangeSize);
        return mergeIntoNode(this, ownerID, shift, keyHash, [key, value]);
      }

      var entries = this.entries;
      var idx = 0;
      for (var len = entries.length; idx < len; idx++) {
        if (is(key, entries[idx][0])) {
          break;
        }
      }
      var exists = idx < len;

      if (exists ? entries[idx][1] === value : removed) {
        return this;
      }

      SetRef(didAlter);
      (removed || !exists) && SetRef(didChangeSize);

      if (removed && len === 2) {
        return new ValueNode(ownerID, this.keyHash, entries[idx ^ 1]);
      }

      var isEditable = ownerID && ownerID === this.ownerID;
      var newEntries = isEditable ? entries : arrCopy(entries);

      if (exists) {
        if (removed) {
          idx === len - 1 ? newEntries.pop() : (newEntries[idx] = newEntries.pop());
        } else {
          newEntries[idx] = [key, value];
        }
      } else {
        newEntries.push([key, value]);
      }

      if (isEditable) {
        this.entries = newEntries;
        return this;
      }

      return new HashCollisionNode(ownerID, this.keyHash, newEntries);
    };




    function ValueNode(ownerID, keyHash, entry) {
      this.ownerID = ownerID;
      this.keyHash = keyHash;
      this.entry = entry;
    }

    ValueNode.prototype.get = function(shift, keyHash, key, notSetValue) {
      return is(key, this.entry[0]) ? this.entry[1] : notSetValue;
    };

    ValueNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {
      var removed = value === NOT_SET;
      var keyMatch = is(key, this.entry[0]);
      if (keyMatch ? value === this.entry[1] : removed) {
        return this;
      }

      SetRef(didAlter);

      if (removed) {
        SetRef(didChangeSize);
        return; // undefined
      }

      if (keyMatch) {
        if (ownerID && ownerID === this.ownerID) {
          this.entry[1] = value;
          return this;
        }
        return new ValueNode(ownerID, this.keyHash, [key, value]);
      }

      SetRef(didChangeSize);
      return mergeIntoNode(this, ownerID, shift, hash(key), [key, value]);
    };



  // #pragma Iterators

  ArrayMapNode.prototype.iterate =
  HashCollisionNode.prototype.iterate = function (fn, reverse) {
    var entries = this.entries;
    for (var ii = 0, maxIndex = entries.length - 1; ii <= maxIndex; ii++) {
      if (fn(entries[reverse ? maxIndex - ii : ii]) === false) {
        return false;
      }
    }
  }

  BitmapIndexedNode.prototype.iterate =
  HashArrayMapNode.prototype.iterate = function (fn, reverse) {
    var nodes = this.nodes;
    for (var ii = 0, maxIndex = nodes.length - 1; ii <= maxIndex; ii++) {
      var node = nodes[reverse ? maxIndex - ii : ii];
      if (node && node.iterate(fn, reverse) === false) {
        return false;
      }
    }
  }

  ValueNode.prototype.iterate = function (fn, reverse) {
    return fn(this.entry);
  }

  createClass(MapIterator, Iterator);

    function MapIterator(map, type, reverse) {
      this._type = type;
      this._reverse = reverse;
      this._stack = map._root && mapIteratorFrame(map._root);
    }

    MapIterator.prototype.next = function() {
      var type = this._type;
      var stack = this._stack;
      while (stack) {
        var node = stack.node;
        var index = stack.index++;
        var maxIndex;
        if (node.entry) {
          if (index === 0) {
            return mapIteratorValue(type, node.entry);
          }
        } else if (node.entries) {
          maxIndex = node.entries.length - 1;
          if (index <= maxIndex) {
            return mapIteratorValue(type, node.entries[this._reverse ? maxIndex - index : index]);
          }
        } else {
          maxIndex = node.nodes.length - 1;
          if (index <= maxIndex) {
            var subNode = node.nodes[this._reverse ? maxIndex - index : index];
            if (subNode) {
              if (subNode.entry) {
                return mapIteratorValue(type, subNode.entry);
              }
              stack = this._stack = mapIteratorFrame(subNode, stack);
            }
            continue;
          }
        }
        stack = this._stack = this._stack.__prev;
      }
      return iteratorDone();
    };


  function mapIteratorValue(type, entry) {
    return iteratorValue(type, entry[0], entry[1]);
  }

  function mapIteratorFrame(node, prev) {
    return {
      node: node,
      index: 0,
      __prev: prev
    };
  }

  function makeMap(size, root, ownerID, hash) {
    var map = Object.create(MapPrototype);
    map.size = size;
    map._root = root;
    map.__ownerID = ownerID;
    map.__hash = hash;
    map.__altered = false;
    return map;
  }

  var EMPTY_MAP;
  function emptyMap() {
    return EMPTY_MAP || (EMPTY_MAP = makeMap(0));
  }

  function updateMap(map, k, v) {
    var newRoot;
    var newSize;
    if (!map._root) {
      if (v === NOT_SET) {
        return map;
      }
      newSize = 1;
      newRoot = new ArrayMapNode(map.__ownerID, [[k, v]]);
    } else {
      var didChangeSize = MakeRef(CHANGE_LENGTH);
      var didAlter = MakeRef(DID_ALTER);
      newRoot = updateNode(map._root, map.__ownerID, 0, undefined, k, v, didChangeSize, didAlter);
      if (!didAlter.value) {
        return map;
      }
      newSize = map.size + (didChangeSize.value ? v === NOT_SET ? -1 : 1 : 0);
    }
    if (map.__ownerID) {
      map.size = newSize;
      map._root = newRoot;
      map.__hash = undefined;
      map.__altered = true;
      return map;
    }
    return newRoot ? makeMap(newSize, newRoot) : emptyMap();
  }

  function updateNode(node, ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {
    if (!node) {
      if (value === NOT_SET) {
        return node;
      }
      SetRef(didAlter);
      SetRef(didChangeSize);
      return new ValueNode(ownerID, keyHash, [key, value]);
    }
    return node.update(ownerID, shift, keyHash, key, value, didChangeSize, didAlter);
  }

  function isLeafNode(node) {
    return node.constructor === ValueNode || node.constructor === HashCollisionNode;
  }

  function mergeIntoNode(node, ownerID, shift, keyHash, entry) {
    if (node.keyHash === keyHash) {
      return new HashCollisionNode(ownerID, keyHash, [node.entry, entry]);
    }

    var idx1 = (shift === 0 ? node.keyHash : node.keyHash >>> shift) & MASK;
    var idx2 = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;

    var newNode;
    var nodes = idx1 === idx2 ?
      [mergeIntoNode(node, ownerID, shift + SHIFT, keyHash, entry)] :
      ((newNode = new ValueNode(ownerID, keyHash, entry)), idx1 < idx2 ? [node, newNode] : [newNode, node]);

    return new BitmapIndexedNode(ownerID, (1 << idx1) | (1 << idx2), nodes);
  }

  function createNodes(ownerID, entries, key, value) {
    if (!ownerID) {
      ownerID = new OwnerID();
    }
    var node = new ValueNode(ownerID, hash(key), [key, value]);
    for (var ii = 0; ii < entries.length; ii++) {
      var entry = entries[ii];
      node = node.update(ownerID, 0, undefined, entry[0], entry[1]);
    }
    return node;
  }

  function packNodes(ownerID, nodes, count, excluding) {
    var bitmap = 0;
    var packedII = 0;
    var packedNodes = new Array(count);
    for (var ii = 0, bit = 1, len = nodes.length; ii < len; ii++, bit <<= 1) {
      var node = nodes[ii];
      if (node !== undefined && ii !== excluding) {
        bitmap |= bit;
        packedNodes[packedII++] = node;
      }
    }
    return new BitmapIndexedNode(ownerID, bitmap, packedNodes);
  }

  function expandNodes(ownerID, nodes, bitmap, including, node) {
    var count = 0;
    var expandedNodes = new Array(SIZE);
    for (var ii = 0; bitmap !== 0; ii++, bitmap >>>= 1) {
      expandedNodes[ii] = bitmap & 1 ? nodes[count++] : undefined;
    }
    expandedNodes[including] = node;
    return new HashArrayMapNode(ownerID, count + 1, expandedNodes);
  }

  function mergeIntoMapWith(map, merger, iterables) {
    var iters = [];
    for (var ii = 0; ii < iterables.length; ii++) {
      var value = iterables[ii];
      var iter = KeyedIterable(value);
      if (!isIterable(value)) {
        iter = iter.map(function(v ) {return fromJS(v)});
      }
      iters.push(iter);
    }
    return mergeIntoCollectionWith(map, merger, iters);
  }

  function deepMerger(existing, value, key) {
    return existing && existing.mergeDeep && isIterable(value) ?
      existing.mergeDeep(value) :
      is(existing, value) ? existing : value;
  }

  function deepMergerWith(merger) {
    return function(existing, value, key)  {
      if (existing && existing.mergeDeepWith && isIterable(value)) {
        return existing.mergeDeepWith(merger, value);
      }
      var nextValue = merger(existing, value, key);
      return is(existing, nextValue) ? existing : nextValue;
    };
  }

  function mergeIntoCollectionWith(collection, merger, iters) {
    iters = iters.filter(function(x ) {return x.size !== 0});
    if (iters.length === 0) {
      return collection;
    }
    if (collection.size === 0 && !collection.__ownerID && iters.length === 1) {
      return collection.constructor(iters[0]);
    }
    return collection.withMutations(function(collection ) {
      var mergeIntoMap = merger ?
        function(value, key)  {
          collection.update(key, NOT_SET, function(existing )
            {return existing === NOT_SET ? value : merger(existing, value, key)}
          );
        } :
        function(value, key)  {
          collection.set(key, value);
        }
      for (var ii = 0; ii < iters.length; ii++) {
        iters[ii].forEach(mergeIntoMap);
      }
    });
  }

  function updateInDeepMap(existing, keyPathIter, notSetValue, updater) {
    var isNotSet = existing === NOT_SET;
    var step = keyPathIter.next();
    if (step.done) {
      var existingValue = isNotSet ? notSetValue : existing;
      var newValue = updater(existingValue);
      return newValue === existingValue ? existing : newValue;
    }
    invariant(
      isNotSet || (existing && existing.set),
      'invalid keyPath'
    );
    var key = step.value;
    var nextExisting = isNotSet ? NOT_SET : existing.get(key, NOT_SET);
    var nextUpdated = updateInDeepMap(
      nextExisting,
      keyPathIter,
      notSetValue,
      updater
    );
    return nextUpdated === nextExisting ? existing :
      nextUpdated === NOT_SET ? existing.remove(key) :
      (isNotSet ? emptyMap() : existing).set(key, nextUpdated);
  }

  function popCount(x) {
    x = x - ((x >> 1) & 0x55555555);
    x = (x & 0x33333333) + ((x >> 2) & 0x33333333);
    x = (x + (x >> 4)) & 0x0f0f0f0f;
    x = x + (x >> 8);
    x = x + (x >> 16);
    return x & 0x7f;
  }

  function setIn(array, idx, val, canEdit) {
    var newArray = canEdit ? array : arrCopy(array);
    newArray[idx] = val;
    return newArray;
  }

  function spliceIn(array, idx, val, canEdit) {
    var newLen = array.length + 1;
    if (canEdit && idx + 1 === newLen) {
      array[idx] = val;
      return array;
    }
    var newArray = new Array(newLen);
    var after = 0;
    for (var ii = 0; ii < newLen; ii++) {
      if (ii === idx) {
        newArray[ii] = val;
        after = -1;
      } else {
        newArray[ii] = array[ii + after];
      }
    }
    return newArray;
  }

  function spliceOut(array, idx, canEdit) {
    var newLen = array.length - 1;
    if (canEdit && idx === newLen) {
      array.pop();
      return array;
    }
    var newArray = new Array(newLen);
    var after = 0;
    for (var ii = 0; ii < newLen; ii++) {
      if (ii === idx) {
        after = 1;
      }
      newArray[ii] = array[ii + after];
    }
    return newArray;
  }

  var MAX_ARRAY_MAP_SIZE = SIZE / 4;
  var MAX_BITMAP_INDEXED_SIZE = SIZE / 2;
  var MIN_HASH_ARRAY_MAP_SIZE = SIZE / 4;

  createClass(List, IndexedCollection);

    // @pragma Construction

    function List(value) {
      var empty = emptyList();
      if (value === null || value === undefined) {
        return empty;
      }
      if (isList(value)) {
        return value;
      }
      var iter = IndexedIterable(value);
      var size = iter.size;
      if (size === 0) {
        return empty;
      }
      assertNotInfinite(size);
      if (size > 0 && size < SIZE) {
        return makeList(0, size, SHIFT, null, new VNode(iter.toArray()));
      }
      return empty.withMutations(function(list ) {
        list.setSize(size);
        iter.forEach(function(v, i)  {return list.set(i, v)});
      });
    }

    List.of = function(/*...values*/) {
      return this(arguments);
    };

    List.prototype.toString = function() {
      return this.__toString('List [', ']');
    };

    // @pragma Access

    List.prototype.get = function(index, notSetValue) {
      index = wrapIndex(this, index);
      if (index >= 0 && index < this.size) {
        index += this._origin;
        var node = listNodeFor(this, index);
        return node && node.array[index & MASK];
      }
      return notSetValue;
    };

    // @pragma Modification

    List.prototype.set = function(index, value) {
      return updateList(this, index, value);
    };

    List.prototype.remove = function(index) {
      return !this.has(index) ? this :
        index === 0 ? this.shift() :
        index === this.size - 1 ? this.pop() :
        this.splice(index, 1);
    };

    List.prototype.insert = function(index, value) {
      return this.splice(index, 0, value);
    };

    List.prototype.clear = function() {
      if (this.size === 0) {
        return this;
      }
      if (this.__ownerID) {
        this.size = this._origin = this._capacity = 0;
        this._level = SHIFT;
        this._root = this._tail = null;
        this.__hash = undefined;
        this.__altered = true;
        return this;
      }
      return emptyList();
    };

    List.prototype.push = function(/*...values*/) {
      var values = arguments;
      var oldSize = this.size;
      return this.withMutations(function(list ) {
        setListBounds(list, 0, oldSize + values.length);
        for (var ii = 0; ii < values.length; ii++) {
          list.set(oldSize + ii, values[ii]);
        }
      });
    };

    List.prototype.pop = function() {
      return setListBounds(this, 0, -1);
    };

    List.prototype.unshift = function(/*...values*/) {
      var values = arguments;
      return this.withMutations(function(list ) {
        setListBounds(list, -values.length);
        for (var ii = 0; ii < values.length; ii++) {
          list.set(ii, values[ii]);
        }
      });
    };

    List.prototype.shift = function() {
      return setListBounds(this, 1);
    };

    // @pragma Composition

    List.prototype.merge = function(/*...iters*/) {
      return mergeIntoListWith(this, undefined, arguments);
    };

    List.prototype.mergeWith = function(merger) {var iters = SLICE$0.call(arguments, 1);
      return mergeIntoListWith(this, merger, iters);
    };

    List.prototype.mergeDeep = function(/*...iters*/) {
      return mergeIntoListWith(this, deepMerger, arguments);
    };

    List.prototype.mergeDeepWith = function(merger) {var iters = SLICE$0.call(arguments, 1);
      return mergeIntoListWith(this, deepMergerWith(merger), iters);
    };

    List.prototype.setSize = function(size) {
      return setListBounds(this, 0, size);
    };

    // @pragma Iteration

    List.prototype.slice = function(begin, end) {
      var size = this.size;
      if (wholeSlice(begin, end, size)) {
        return this;
      }
      return setListBounds(
        this,
        resolveBegin(begin, size),
        resolveEnd(end, size)
      );
    };

    List.prototype.__iterator = function(type, reverse) {
      var index = 0;
      var values = iterateList(this, reverse);
      return new Iterator(function()  {
        var value = values();
        return value === DONE ?
          iteratorDone() :
          iteratorValue(type, index++, value);
      });
    };

    List.prototype.__iterate = function(fn, reverse) {
      var index = 0;
      var values = iterateList(this, reverse);
      var value;
      while ((value = values()) !== DONE) {
        if (fn(value, index++, this) === false) {
          break;
        }
      }
      return index;
    };

    List.prototype.__ensureOwner = function(ownerID) {
      if (ownerID === this.__ownerID) {
        return this;
      }
      if (!ownerID) {
        this.__ownerID = ownerID;
        return this;
      }
      return makeList(this._origin, this._capacity, this._level, this._root, this._tail, ownerID, this.__hash);
    };


  function isList(maybeList) {
    return !!(maybeList && maybeList[IS_LIST_SENTINEL]);
  }

  List.isList = isList;

  var IS_LIST_SENTINEL = '@@__IMMUTABLE_LIST__@@';

  var ListPrototype = List.prototype;
  ListPrototype[IS_LIST_SENTINEL] = true;
  ListPrototype[DELETE] = ListPrototype.remove;
  ListPrototype.setIn = MapPrototype.setIn;
  ListPrototype.deleteIn =
  ListPrototype.removeIn = MapPrototype.removeIn;
  ListPrototype.update = MapPrototype.update;
  ListPrototype.updateIn = MapPrototype.updateIn;
  ListPrototype.mergeIn = MapPrototype.mergeIn;
  ListPrototype.mergeDeepIn = MapPrototype.mergeDeepIn;
  ListPrototype.withMutations = MapPrototype.withMutations;
  ListPrototype.asMutable = MapPrototype.asMutable;
  ListPrototype.asImmutable = MapPrototype.asImmutable;
  ListPrototype.wasAltered = MapPrototype.wasAltered;



    function VNode(array, ownerID) {
      this.array = array;
      this.ownerID = ownerID;
    }

    // TODO: seems like these methods are very similar

    VNode.prototype.removeBefore = function(ownerID, level, index) {
      if (index === level ? 1 << level : 0 || this.array.length === 0) {
        return this;
      }
      var originIndex = (index >>> level) & MASK;
      if (originIndex >= this.array.length) {
        return new VNode([], ownerID);
      }
      var removingFirst = originIndex === 0;
      var newChild;
      if (level > 0) {
        var oldChild = this.array[originIndex];
        newChild = oldChild && oldChild.removeBefore(ownerID, level - SHIFT, index);
        if (newChild === oldChild && removingFirst) {
          return this;
        }
      }
      if (removingFirst && !newChild) {
        return this;
      }
      var editable = editableVNode(this, ownerID);
      if (!removingFirst) {
        for (var ii = 0; ii < originIndex; ii++) {
          editable.array[ii] = undefined;
        }
      }
      if (newChild) {
        editable.array[originIndex] = newChild;
      }
      return editable;
    };

    VNode.prototype.removeAfter = function(ownerID, level, index) {
      if (index === (level ? 1 << level : 0) || this.array.length === 0) {
        return this;
      }
      var sizeIndex = ((index - 1) >>> level) & MASK;
      if (sizeIndex >= this.array.length) {
        return this;
      }

      var newChild;
      if (level > 0) {
        var oldChild = this.array[sizeIndex];
        newChild = oldChild && oldChild.removeAfter(ownerID, level - SHIFT, index);
        if (newChild === oldChild && sizeIndex === this.array.length - 1) {
          return this;
        }
      }

      var editable = editableVNode(this, ownerID);
      editable.array.splice(sizeIndex + 1);
      if (newChild) {
        editable.array[sizeIndex] = newChild;
      }
      return editable;
    };



  var DONE = {};

  function iterateList(list, reverse) {
    var left = list._origin;
    var right = list._capacity;
    var tailPos = getTailOffset(right);
    var tail = list._tail;

    return iterateNodeOrLeaf(list._root, list._level, 0);

    function iterateNodeOrLeaf(node, level, offset) {
      return level === 0 ?
        iterateLeaf(node, offset) :
        iterateNode(node, level, offset);
    }

    function iterateLeaf(node, offset) {
      var array = offset === tailPos ? tail && tail.array : node && node.array;
      var from = offset > left ? 0 : left - offset;
      var to = right - offset;
      if (to > SIZE) {
        to = SIZE;
      }
      return function()  {
        if (from === to) {
          return DONE;
        }
        var idx = reverse ? --to : from++;
        return array && array[idx];
      };
    }

    function iterateNode(node, level, offset) {
      var values;
      var array = node && node.array;
      var from = offset > left ? 0 : (left - offset) >> level;
      var to = ((right - offset) >> level) + 1;
      if (to > SIZE) {
        to = SIZE;
      }
      return function()  {
        do {
          if (values) {
            var value = values();
            if (value !== DONE) {
              return value;
            }
            values = null;
          }
          if (from === to) {
            return DONE;
          }
          var idx = reverse ? --to : from++;
          values = iterateNodeOrLeaf(
            array && array[idx], level - SHIFT, offset + (idx << level)
          );
        } while (true);
      };
    }
  }

  function makeList(origin, capacity, level, root, tail, ownerID, hash) {
    var list = Object.create(ListPrototype);
    list.size = capacity - origin;
    list._origin = origin;
    list._capacity = capacity;
    list._level = level;
    list._root = root;
    list._tail = tail;
    list.__ownerID = ownerID;
    list.__hash = hash;
    list.__altered = false;
    return list;
  }

  var EMPTY_LIST;
  function emptyList() {
    return EMPTY_LIST || (EMPTY_LIST = makeList(0, 0, SHIFT));
  }

  function updateList(list, index, value) {
    index = wrapIndex(list, index);

    if (index !== index) {
      return list;
    }

    if (index >= list.size || index < 0) {
      return list.withMutations(function(list ) {
        index < 0 ?
          setListBounds(list, index).set(0, value) :
          setListBounds(list, 0, index + 1).set(index, value)
      });
    }

    index += list._origin;

    var newTail = list._tail;
    var newRoot = list._root;
    var didAlter = MakeRef(DID_ALTER);
    if (index >= getTailOffset(list._capacity)) {
      newTail = updateVNode(newTail, list.__ownerID, 0, index, value, didAlter);
    } else {
      newRoot = updateVNode(newRoot, list.__ownerID, list._level, index, value, didAlter);
    }

    if (!didAlter.value) {
      return list;
    }

    if (list.__ownerID) {
      list._root = newRoot;
      list._tail = newTail;
      list.__hash = undefined;
      list.__altered = true;
      return list;
    }
    return makeList(list._origin, list._capacity, list._level, newRoot, newTail);
  }

  function updateVNode(node, ownerID, level, index, value, didAlter) {
    var idx = (index >>> level) & MASK;
    var nodeHas = node && idx < node.array.length;
    if (!nodeHas && value === undefined) {
      return node;
    }

    var newNode;

    if (level > 0) {
      var lowerNode = node && node.array[idx];
      var newLowerNode = updateVNode(lowerNode, ownerID, level - SHIFT, index, value, didAlter);
      if (newLowerNode === lowerNode) {
        return node;
      }
      newNode = editableVNode(node, ownerID);
      newNode.array[idx] = newLowerNode;
      return newNode;
    }

    if (nodeHas && node.array[idx] === value) {
      return node;
    }

    SetRef(didAlter);

    newNode = editableVNode(node, ownerID);
    if (value === undefined && idx === newNode.array.length - 1) {
      newNode.array.pop();
    } else {
      newNode.array[idx] = value;
    }
    return newNode;
  }

  function editableVNode(node, ownerID) {
    if (ownerID && node && ownerID === node.ownerID) {
      return node;
    }
    return new VNode(node ? node.array.slice() : [], ownerID);
  }

  function listNodeFor(list, rawIndex) {
    if (rawIndex >= getTailOffset(list._capacity)) {
      return list._tail;
    }
    if (rawIndex < 1 << (list._level + SHIFT)) {
      var node = list._root;
      var level = list._level;
      while (node && level > 0) {
        node = node.array[(rawIndex >>> level) & MASK];
        level -= SHIFT;
      }
      return node;
    }
  }

  function setListBounds(list, begin, end) {
    // Sanitize begin & end using this shorthand for ToInt32(argument)
    // http://www.ecma-international.org/ecma-262/6.0/#sec-toint32
    if (begin !== undefined) {
      begin = begin | 0;
    }
    if (end !== undefined) {
      end = end | 0;
    }
    var owner = list.__ownerID || new OwnerID();
    var oldOrigin = list._origin;
    var oldCapacity = list._capacity;
    var newOrigin = oldOrigin + begin;
    var newCapacity = end === undefined ? oldCapacity : end < 0 ? oldCapacity + end : oldOrigin + end;
    if (newOrigin === oldOrigin && newCapacity === oldCapacity) {
      return list;
    }

    // If it's going to end after it starts, it's empty.
    if (newOrigin >= newCapacity) {
      return list.clear();
    }

    var newLevel = list._level;
    var newRoot = list._root;

    // New origin might need creating a higher root.
    var offsetShift = 0;
    while (newOrigin + offsetShift < 0) {
      newRoot = new VNode(newRoot && newRoot.array.length ? [undefined, newRoot] : [], owner);
      newLevel += SHIFT;
      offsetShift += 1 << newLevel;
    }
    if (offsetShift) {
      newOrigin += offsetShift;
      oldOrigin += offsetShift;
      newCapacity += offsetShift;
      oldCapacity += offsetShift;
    }

    var oldTailOffset = getTailOffset(oldCapacity);
    var newTailOffset = getTailOffset(newCapacity);

    // New size might need creating a higher root.
    while (newTailOffset >= 1 << (newLevel + SHIFT)) {
      newRoot = new VNode(newRoot && newRoot.array.length ? [newRoot] : [], owner);
      newLevel += SHIFT;
    }

    // Locate or create the new tail.
    var oldTail = list._tail;
    var newTail = newTailOffset < oldTailOffset ?
      listNodeFor(list, newCapacity - 1) :
      newTailOffset > oldTailOffset ? new VNode([], owner) : oldTail;

    // Merge Tail into tree.
    if (oldTail && newTailOffset > oldTailOffset && newOrigin < oldCapacity && oldTail.array.length) {
      newRoot = editableVNode(newRoot, owner);
      var node = newRoot;
      for (var level = newLevel; level > SHIFT; level -= SHIFT) {
        var idx = (oldTailOffset >>> level) & MASK;
        node = node.array[idx] = editableVNode(node.array[idx], owner);
      }
      node.array[(oldTailOffset >>> SHIFT) & MASK] = oldTail;
    }

    // If the size has been reduced, there's a chance the tail needs to be trimmed.
    if (newCapacity < oldCapacity) {
      newTail = newTail && newTail.removeAfter(owner, 0, newCapacity);
    }

    // If the new origin is within the tail, then we do not need a root.
    if (newOrigin >= newTailOffset) {
      newOrigin -= newTailOffset;
      newCapacity -= newTailOffset;
      newLevel = SHIFT;
      newRoot = null;
      newTail = newTail && newTail.removeBefore(owner, 0, newOrigin);

    // Otherwise, if the root has been trimmed, garbage collect.
    } else if (newOrigin > oldOrigin || newTailOffset < oldTailOffset) {
      offsetShift = 0;

      // Identify the new top root node of the subtree of the old root.
      while (newRoot) {
        var beginIndex = (newOrigin >>> newLevel) & MASK;
        if (beginIndex !== (newTailOffset >>> newLevel) & MASK) {
          break;
        }
        if (beginIndex) {
          offsetShift += (1 << newLevel) * beginIndex;
        }
        newLevel -= SHIFT;
        newRoot = newRoot.array[beginIndex];
      }

      // Trim the new sides of the new root.
      if (newRoot && newOrigin > oldOrigin) {
        newRoot = newRoot.removeBefore(owner, newLevel, newOrigin - offsetShift);
      }
      if (newRoot && newTailOffset < oldTailOffset) {
        newRoot = newRoot.removeAfter(owner, newLevel, newTailOffset - offsetShift);
      }
      if (offsetShift) {
        newOrigin -= offsetShift;
        newCapacity -= offsetShift;
      }
    }

    if (list.__ownerID) {
      list.size = newCapacity - newOrigin;
      list._origin = newOrigin;
      list._capacity = newCapacity;
      list._level = newLevel;
      list._root = newRoot;
      list._tail = newTail;
      list.__hash = undefined;
      list.__altered = true;
      return list;
    }
    return makeList(newOrigin, newCapacity, newLevel, newRoot, newTail);
  }

  function mergeIntoListWith(list, merger, iterables) {
    var iters = [];
    var maxSize = 0;
    for (var ii = 0; ii < iterables.length; ii++) {
      var value = iterables[ii];
      var iter = IndexedIterable(value);
      if (iter.size > maxSize) {
        maxSize = iter.size;
      }
      if (!isIterable(value)) {
        iter = iter.map(function(v ) {return fromJS(v)});
      }
      iters.push(iter);
    }
    if (maxSize > list.size) {
      list = list.setSize(maxSize);
    }
    return mergeIntoCollectionWith(list, merger, iters);
  }

  function getTailOffset(size) {
    return size < SIZE ? 0 : (((size - 1) >>> SHIFT) << SHIFT);
  }

  createClass(OrderedMap, Map);

    // @pragma Construction

    function OrderedMap(value) {
      return value === null || value === undefined ? emptyOrderedMap() :
        isOrderedMap(value) ? value :
        emptyOrderedMap().withMutations(function(map ) {
          var iter = KeyedIterable(value);
          assertNotInfinite(iter.size);
          iter.forEach(function(v, k)  {return map.set(k, v)});
        });
    }

    OrderedMap.of = function(/*...values*/) {
      return this(arguments);
    };

    OrderedMap.prototype.toString = function() {
      return this.__toString('OrderedMap {', '}');
    };

    // @pragma Access

    OrderedMap.prototype.get = function(k, notSetValue) {
      var index = this._map.get(k);
      return index !== undefined ? this._list.get(index)[1] : notSetValue;
    };

    // @pragma Modification

    OrderedMap.prototype.clear = function() {
      if (this.size === 0) {
        return this;
      }
      if (this.__ownerID) {
        this.size = 0;
        this._map.clear();
        this._list.clear();
        return this;
      }
      return emptyOrderedMap();
    };

    OrderedMap.prototype.set = function(k, v) {
      return updateOrderedMap(this, k, v);
    };

    OrderedMap.prototype.remove = function(k) {
      return updateOrderedMap(this, k, NOT_SET);
    };

    OrderedMap.prototype.wasAltered = function() {
      return this._map.wasAltered() || this._list.wasAltered();
    };

    OrderedMap.prototype.__iterate = function(fn, reverse) {var this$0 = this;
      return this._list.__iterate(
        function(entry ) {return entry && fn(entry[1], entry[0], this$0)},
        reverse
      );
    };

    OrderedMap.prototype.__iterator = function(type, reverse) {
      return this._list.fromEntrySeq().__iterator(type, reverse);
    };

    OrderedMap.prototype.__ensureOwner = function(ownerID) {
      if (ownerID === this.__ownerID) {
        return this;
      }
      var newMap = this._map.__ensureOwner(ownerID);
      var newList = this._list.__ensureOwner(ownerID);
      if (!ownerID) {
        this.__ownerID = ownerID;
        this._map = newMap;
        this._list = newList;
        return this;
      }
      return makeOrderedMap(newMap, newList, ownerID, this.__hash);
    };


  function isOrderedMap(maybeOrderedMap) {
    return isMap(maybeOrderedMap) && isOrdered(maybeOrderedMap);
  }

  OrderedMap.isOrderedMap = isOrderedMap;

  OrderedMap.prototype[IS_ORDERED_SENTINEL] = true;
  OrderedMap.prototype[DELETE] = OrderedMap.prototype.remove;



  function makeOrderedMap(map, list, ownerID, hash) {
    var omap = Object.create(OrderedMap.prototype);
    omap.size = map ? map.size : 0;
    omap._map = map;
    omap._list = list;
    omap.__ownerID = ownerID;
    omap.__hash = hash;
    return omap;
  }

  var EMPTY_ORDERED_MAP;
  function emptyOrderedMap() {
    return EMPTY_ORDERED_MAP || (EMPTY_ORDERED_MAP = makeOrderedMap(emptyMap(), emptyList()));
  }

  function updateOrderedMap(omap, k, v) {
    var map = omap._map;
    var list = omap._list;
    var i = map.get(k);
    var has = i !== undefined;
    var newMap;
    var newList;
    if (v === NOT_SET) { // removed
      if (!has) {
        return omap;
      }
      if (list.size >= SIZE && list.size >= map.size * 2) {
        newList = list.filter(function(entry, idx)  {return entry !== undefined && i !== idx});
        newMap = newList.toKeyedSeq().map(function(entry ) {return entry[0]}).flip().toMap();
        if (omap.__ownerID) {
          newMap.__ownerID = newList.__ownerID = omap.__ownerID;
        }
      } else {
        newMap = map.remove(k);
        newList = i === list.size - 1 ? list.pop() : list.set(i, undefined);
      }
    } else {
      if (has) {
        if (v === list.get(i)[1]) {
          return omap;
        }
        newMap = map;
        newList = list.set(i, [k, v]);
      } else {
        newMap = map.set(k, list.size);
        newList = list.set(list.size, [k, v]);
      }
    }
    if (omap.__ownerID) {
      omap.size = newMap.size;
      omap._map = newMap;
      omap._list = newList;
      omap.__hash = undefined;
      return omap;
    }
    return makeOrderedMap(newMap, newList);
  }

  createClass(ToKeyedSequence, KeyedSeq);
    function ToKeyedSequence(indexed, useKeys) {
      this._iter = indexed;
      this._useKeys = useKeys;
      this.size = indexed.size;
    }

    ToKeyedSequence.prototype.get = function(key, notSetValue) {
      return this._iter.get(key, notSetValue);
    };

    ToKeyedSequence.prototype.has = function(key) {
      return this._iter.has(key);
    };

    ToKeyedSequence.prototype.valueSeq = function() {
      return this._iter.valueSeq();
    };

    ToKeyedSequence.prototype.reverse = function() {var this$0 = this;
      var reversedSequence = reverseFactory(this, true);
      if (!this._useKeys) {
        reversedSequence.valueSeq = function()  {return this$0._iter.toSeq().reverse()};
      }
      return reversedSequence;
    };

    ToKeyedSequence.prototype.map = function(mapper, context) {var this$0 = this;
      var mappedSequence = mapFactory(this, mapper, context);
      if (!this._useKeys) {
        mappedSequence.valueSeq = function()  {return this$0._iter.toSeq().map(mapper, context)};
      }
      return mappedSequence;
    };

    ToKeyedSequence.prototype.__iterate = function(fn, reverse) {var this$0 = this;
      var ii;
      return this._iter.__iterate(
        this._useKeys ?
          function(v, k)  {return fn(v, k, this$0)} :
          ((ii = reverse ? resolveSize(this) : 0),
            function(v ) {return fn(v, reverse ? --ii : ii++, this$0)}),
        reverse
      );
    };

    ToKeyedSequence.prototype.__iterator = function(type, reverse) {
      if (this._useKeys) {
        return this._iter.__iterator(type, reverse);
      }
      var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);
      var ii = reverse ? resolveSize(this) : 0;
      return new Iterator(function()  {
        var step = iterator.next();
        return step.done ? step :
          iteratorValue(type, reverse ? --ii : ii++, step.value, step);
      });
    };

  ToKeyedSequence.prototype[IS_ORDERED_SENTINEL] = true;


  createClass(ToIndexedSequence, IndexedSeq);
    function ToIndexedSequence(iter) {
      this._iter = iter;
      this.size = iter.size;
    }

    ToIndexedSequence.prototype.includes = function(value) {
      return this._iter.includes(value);
    };

    ToIndexedSequence.prototype.__iterate = function(fn, reverse) {var this$0 = this;
      var iterations = 0;
      return this._iter.__iterate(function(v ) {return fn(v, iterations++, this$0)}, reverse);
    };

    ToIndexedSequence.prototype.__iterator = function(type, reverse) {
      var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);
      var iterations = 0;
      return new Iterator(function()  {
        var step = iterator.next();
        return step.done ? step :
          iteratorValue(type, iterations++, step.value, step)
      });
    };



  createClass(ToSetSequence, SetSeq);
    function ToSetSequence(iter) {
      this._iter = iter;
      this.size = iter.size;
    }

    ToSetSequence.prototype.has = function(key) {
      return this._iter.includes(key);
    };

    ToSetSequence.prototype.__iterate = function(fn, reverse) {var this$0 = this;
      return this._iter.__iterate(function(v ) {return fn(v, v, this$0)}, reverse);
    };

    ToSetSequence.prototype.__iterator = function(type, reverse) {
      var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);
      return new Iterator(function()  {
        var step = iterator.next();
        return step.done ? step :
          iteratorValue(type, step.value, step.value, step);
      });
    };



  createClass(FromEntriesSequence, KeyedSeq);
    function FromEntriesSequence(entries) {
      this._iter = entries;
      this.size = entries.size;
    }

    FromEntriesSequence.prototype.entrySeq = function() {
      return this._iter.toSeq();
    };

    FromEntriesSequence.prototype.__iterate = function(fn, reverse) {var this$0 = this;
      return this._iter.__iterate(function(entry ) {
        // Check if entry exists first so array access doesn't throw for holes
        // in the parent iteration.
        if (entry) {
          validateEntry(entry);
          var indexedIterable = isIterable(entry);
          return fn(
            indexedIterable ? entry.get(1) : entry[1],
            indexedIterable ? entry.get(0) : entry[0],
            this$0
          );
        }
      }, reverse);
    };

    FromEntriesSequence.prototype.__iterator = function(type, reverse) {
      var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);
      return new Iterator(function()  {
        while (true) {
          var step = iterator.next();
          if (step.done) {
            return step;
          }
          var entry = step.value;
          // Check if entry exists first so array access doesn't throw for holes
          // in the parent iteration.
          if (entry) {
            validateEntry(entry);
            var indexedIterable = isIterable(entry);
            return iteratorValue(
              type,
              indexedIterable ? entry.get(0) : entry[0],
              indexedIterable ? entry.get(1) : entry[1],
              step
            );
          }
        }
      });
    };


  ToIndexedSequence.prototype.cacheResult =
  ToKeyedSequence.prototype.cacheResult =
  ToSetSequence.prototype.cacheResult =
  FromEntriesSequence.prototype.cacheResult =
    cacheResultThrough;


  function flipFactory(iterable) {
    var flipSequence = makeSequence(iterable);
    flipSequence._iter = iterable;
    flipSequence.size = iterable.size;
    flipSequence.flip = function()  {return iterable};
    flipSequence.reverse = function () {
      var reversedSequence = iterable.reverse.apply(this); // super.reverse()
      reversedSequence.flip = function()  {return iterable.reverse()};
      return reversedSequence;
    };
    flipSequence.has = function(key ) {return iterable.includes(key)};
    flipSequence.includes = function(key ) {return iterable.has(key)};
    flipSequence.cacheResult = cacheResultThrough;
    flipSequence.__iterateUncached = function (fn, reverse) {var this$0 = this;
      return iterable.__iterate(function(v, k)  {return fn(k, v, this$0) !== false}, reverse);
    }
    flipSequence.__iteratorUncached = function(type, reverse) {
      if (type === ITERATE_ENTRIES) {
        var iterator = iterable.__iterator(type, reverse);
        return new Iterator(function()  {
          var step = iterator.next();
          if (!step.done) {
            var k = step.value[0];
            step.value[0] = step.value[1];
            step.value[1] = k;
          }
          return step;
        });
      }
      return iterable.__iterator(
        type === ITERATE_VALUES ? ITERATE_KEYS : ITERATE_VALUES,
        reverse
      );
    }
    return flipSequence;
  }


  function mapFactory(iterable, mapper, context) {
    var mappedSequence = makeSequence(iterable);
    mappedSequence.size = iterable.size;
    mappedSequence.has = function(key ) {return iterable.has(key)};
    mappedSequence.get = function(key, notSetValue)  {
      var v = iterable.get(key, NOT_SET);
      return v === NOT_SET ?
        notSetValue :
        mapper.call(context, v, key, iterable);
    };
    mappedSequence.__iterateUncached = function (fn, reverse) {var this$0 = this;
      return iterable.__iterate(
        function(v, k, c)  {return fn(mapper.call(context, v, k, c), k, this$0) !== false},
        reverse
      );
    }
    mappedSequence.__iteratorUncached = function (type, reverse) {
      var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse);
      return new Iterator(function()  {
        var step = iterator.next();
        if (step.done) {
          return step;
        }
        var entry = step.value;
        var key = entry[0];
        return iteratorValue(
          type,
          key,
          mapper.call(context, entry[1], key, iterable),
          step
        );
      });
    }
    return mappedSequence;
  }


  function reverseFactory(iterable, useKeys) {
    var reversedSequence = makeSequence(iterable);
    reversedSequence._iter = iterable;
    reversedSequence.size = iterable.size;
    reversedSequence.reverse = function()  {return iterable};
    if (iterable.flip) {
      reversedSequence.flip = function () {
        var flipSequence = flipFactory(iterable);
        flipSequence.reverse = function()  {return iterable.flip()};
        return flipSequence;
      };
    }
    reversedSequence.get = function(key, notSetValue) 
      {return iterable.get(useKeys ? key : -1 - key, notSetValue)};
    reversedSequence.has = function(key )
      {return iterable.has(useKeys ? key : -1 - key)};
    reversedSequence.includes = function(value ) {return iterable.includes(value)};
    reversedSequence.cacheResult = cacheResultThrough;
    reversedSequence.__iterate = function (fn, reverse) {var this$0 = this;
      return iterable.__iterate(function(v, k)  {return fn(v, k, this$0)}, !reverse);
    };
    reversedSequence.__iterator =
      function(type, reverse)  {return iterable.__iterator(type, !reverse)};
    return reversedSequence;
  }


  function filterFactory(iterable, predicate, context, useKeys) {
    var filterSequence = makeSequence(iterable);
    if (useKeys) {
      filterSequence.has = function(key ) {
        var v = iterable.get(key, NOT_SET);
        return v !== NOT_SET && !!predicate.call(context, v, key, iterable);
      };
      filterSequence.get = function(key, notSetValue)  {
        var v = iterable.get(key, NOT_SET);
        return v !== NOT_SET && predicate.call(context, v, key, iterable) ?
          v : notSetValue;
      };
    }
    filterSequence.__iterateUncached = function (fn, reverse) {var this$0 = this;
      var iterations = 0;
      iterable.__iterate(function(v, k, c)  {
        if (predicate.call(context, v, k, c)) {
          iterations++;
          return fn(v, useKeys ? k : iterations - 1, this$0);
        }
      }, reverse);
      return iterations;
    };
    filterSequence.__iteratorUncached = function (type, reverse) {
      var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse);
      var iterations = 0;
      return new Iterator(function()  {
        while (true) {
          var step = iterator.next();
          if (step.done) {
            return step;
          }
          var entry = step.value;
          var key = entry[0];
          var value = entry[1];
          if (predicate.call(context, value, key, iterable)) {
            return iteratorValue(type, useKeys ? key : iterations++, value, step);
          }
        }
      });
    }
    return filterSequence;
  }


  function countByFactory(iterable, grouper, context) {
    var groups = Map().asMutable();
    iterable.__iterate(function(v, k)  {
      groups.update(
        grouper.call(context, v, k, iterable),
        0,
        function(a ) {return a + 1}
      );
    });
    return groups.asImmutable();
  }


  function groupByFactory(iterable, grouper, context) {
    var isKeyedIter = isKeyed(iterable);
    var groups = (isOrdered(iterable) ? OrderedMap() : Map()).asMutable();
    iterable.__iterate(function(v, k)  {
      groups.update(
        grouper.call(context, v, k, iterable),
        function(a ) {return (a = a || [], a.push(isKeyedIter ? [k, v] : v), a)}
      );
    });
    var coerce = iterableClass(iterable);
    return groups.map(function(arr ) {return reify(iterable, coerce(arr))});
  }


  function sliceFactory(iterable, begin, end, useKeys) {
    var originalSize = iterable.size;

    // Sanitize begin & end using this shorthand for ToInt32(argument)
    // http://www.ecma-international.org/ecma-262/6.0/#sec-toint32
    if (begin !== undefined) {
      begin = begin | 0;
    }
    if (end !== undefined) {
      end = end | 0;
    }

    if (wholeSlice(begin, end, originalSize)) {
      return iterable;
    }

    var resolvedBegin = resolveBegin(begin, originalSize);
    var resolvedEnd = resolveEnd(end, originalSize);

    // begin or end will be NaN if they were provided as negative numbers and
    // this iterable's size is unknown. In that case, cache first so there is
    // a known size and these do not resolve to NaN.
    if (resolvedBegin !== resolvedBegin || resolvedEnd !== resolvedEnd) {
      return sliceFactory(iterable.toSeq().cacheResult(), begin, end, useKeys);
    }

    // Note: resolvedEnd is undefined when the original sequence's length is
    // unknown and this slice did not supply an end and should contain all
    // elements after resolvedBegin.
    // In that case, resolvedSize will be NaN and sliceSize will remain undefined.
    var resolvedSize = resolvedEnd - resolvedBegin;
    var sliceSize;
    if (resolvedSize === resolvedSize) {
      sliceSize = resolvedSize < 0 ? 0 : resolvedSize;
    }

    var sliceSeq = makeSequence(iterable);

    // If iterable.size is undefined, the size of the realized sliceSeq is
    // unknown at this point unless the number of items to slice is 0
    sliceSeq.size = sliceSize === 0 ? sliceSize : iterable.size && sliceSize || undefined;

    if (!useKeys && isSeq(iterable) && sliceSize >= 0) {
      sliceSeq.get = function (index, notSetValue) {
        index = wrapIndex(this, index);
        return index >= 0 && index < sliceSize ?
          iterable.get(index + resolvedBegin, notSetValue) :
          notSetValue;
      }
    }

    sliceSeq.__iterateUncached = function(fn, reverse) {var this$0 = this;
      if (sliceSize === 0) {
        return 0;
      }
      if (reverse) {
        return this.cacheResult().__iterate(fn, reverse);
      }
      var skipped = 0;
      var isSkipping = true;
      var iterations = 0;
      iterable.__iterate(function(v, k)  {
        if (!(isSkipping && (isSkipping = skipped++ < resolvedBegin))) {
          iterations++;
          return fn(v, useKeys ? k : iterations - 1, this$0) !== false &&
                 iterations !== sliceSize;
        }
      });
      return iterations;
    };

    sliceSeq.__iteratorUncached = function(type, reverse) {
      if (sliceSize !== 0 && reverse) {
        return this.cacheResult().__iterator(type, reverse);
      }
      // Don't bother instantiating parent iterator if taking 0.
      var iterator = sliceSize !== 0 && iterable.__iterator(type, reverse);
      var skipped = 0;
      var iterations = 0;
      return new Iterator(function()  {
        while (skipped++ < resolvedBegin) {
          iterator.next();
        }
        if (++iterations > sliceSize) {
          return iteratorDone();
        }
        var step = iterator.next();
        if (useKeys || type === ITERATE_VALUES) {
          return step;
        } else if (type === ITERATE_KEYS) {
          return iteratorValue(type, iterations - 1, undefined, step);
        } else {
          return iteratorValue(type, iterations - 1, step.value[1], step);
        }
      });
    }

    return sliceSeq;
  }


  function takeWhileFactory(iterable, predicate, context) {
    var takeSequence = makeSequence(iterable);
    takeSequence.__iterateUncached = function(fn, reverse) {var this$0 = this;
      if (reverse) {
        return this.cacheResult().__iterate(fn, reverse);
      }
      var iterations = 0;
      iterable.__iterate(function(v, k, c) 
        {return predicate.call(context, v, k, c) && ++iterations && fn(v, k, this$0)}
      );
      return iterations;
    };
    takeSequence.__iteratorUncached = function(type, reverse) {var this$0 = this;
      if (reverse) {
        return this.cacheResult().__iterator(type, reverse);
      }
      var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse);
      var iterating = true;
      return new Iterator(function()  {
        if (!iterating) {
          return iteratorDone();
        }
        var step = iterator.next();
        if (step.done) {
          return step;
        }
        var entry = step.value;
        var k = entry[0];
        var v = entry[1];
        if (!predicate.call(context, v, k, this$0)) {
          iterating = false;
          return iteratorDone();
        }
        return type === ITERATE_ENTRIES ? step :
          iteratorValue(type, k, v, step);
      });
    };
    return takeSequence;
  }


  function skipWhileFactory(iterable, predicate, context, useKeys) {
    var skipSequence = makeSequence(iterable);
    skipSequence.__iterateUncached = function (fn, reverse) {var this$0 = this;
      if (reverse) {
        return this.cacheResult().__iterate(fn, reverse);
      }
      var isSkipping = true;
      var iterations = 0;
      iterable.__iterate(function(v, k, c)  {
        if (!(isSkipping && (isSkipping = predicate.call(context, v, k, c)))) {
          iterations++;
          return fn(v, useKeys ? k : iterations - 1, this$0);
        }
      });
      return iterations;
    };
    skipSequence.__iteratorUncached = function(type, reverse) {var this$0 = this;
      if (reverse) {
        return this.cacheResult().__iterator(type, reverse);
      }
      var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse);
      var skipping = true;
      var iterations = 0;
      return new Iterator(function()  {
        var step, k, v;
        do {
          step = iterator.next();
          if (step.done) {
            if (useKeys || type === ITERATE_VALUES) {
              return step;
            } else if (type === ITERATE_KEYS) {
              return iteratorValue(type, iterations++, undefined, step);
            } else {
              return iteratorValue(type, iterations++, step.value[1], step);
            }
          }
          var entry = step.value;
          k = entry[0];
          v = entry[1];
          skipping && (skipping = predicate.call(context, v, k, this$0));
        } while (skipping);
        return type === ITERATE_ENTRIES ? step :
          iteratorValue(type, k, v, step);
      });
    };
    return skipSequence;
  }


  function concatFactory(iterable, values) {
    var isKeyedIterable = isKeyed(iterable);
    var iters = [iterable].concat(values).map(function(v ) {
      if (!isIterable(v)) {
        v = isKeyedIterable ?
          keyedSeqFromValue(v) :
          indexedSeqFromValue(Array.isArray(v) ? v : [v]);
      } else if (isKeyedIterable) {
        v = KeyedIterable(v);
      }
      return v;
    }).filter(function(v ) {return v.size !== 0});

    if (iters.length === 0) {
      return iterable;
    }

    if (iters.length === 1) {
      var singleton = iters[0];
      if (singleton === iterable ||
          isKeyedIterable && isKeyed(singleton) ||
          isIndexed(iterable) && isIndexed(singleton)) {
        return singleton;
      }
    }

    var concatSeq = new ArraySeq(iters);
    if (isKeyedIterable) {
      concatSeq = concatSeq.toKeyedSeq();
    } else if (!isIndexed(iterable)) {
      concatSeq = concatSeq.toSetSeq();
    }
    concatSeq = concatSeq.flatten(true);
    concatSeq.size = iters.reduce(
      function(sum, seq)  {
        if (sum !== undefined) {
          var size = seq.size;
          if (size !== undefined) {
            return sum + size;
          }
        }
      },
      0
    );
    return concatSeq;
  }


  function flattenFactory(iterable, depth, useKeys) {
    var flatSequence = makeSequence(iterable);
    flatSequence.__iterateUncached = function(fn, reverse) {
      var iterations = 0;
      var stopped = false;
      function flatDeep(iter, currentDepth) {var this$0 = this;
        iter.__iterate(function(v, k)  {
          if ((!depth || currentDepth < depth) && isIterable(v)) {
            flatDeep(v, currentDepth + 1);
          } else if (fn(v, useKeys ? k : iterations++, this$0) === false) {
            stopped = true;
          }
          return !stopped;
        }, reverse);
      }
      flatDeep(iterable, 0);
      return iterations;
    }
    flatSequence.__iteratorUncached = function(type, reverse) {
      var iterator = iterable.__iterator(type, reverse);
      var stack = [];
      var iterations = 0;
      return new Iterator(function()  {
        while (iterator) {
          var step = iterator.next();
          if (step.done !== false) {
            iterator = stack.pop();
            continue;
          }
          var v = step.value;
          if (type === ITERATE_ENTRIES) {
            v = v[1];
          }
          if ((!depth || stack.length < depth) && isIterable(v)) {
            stack.push(iterator);
            iterator = v.__iterator(type, reverse);
          } else {
            return useKeys ? step : iteratorValue(type, iterations++, v, step);
          }
        }
        return iteratorDone();
      });
    }
    return flatSequence;
  }


  function flatMapFactory(iterable, mapper, context) {
    var coerce = iterableClass(iterable);
    return iterable.toSeq().map(
      function(v, k)  {return coerce(mapper.call(context, v, k, iterable))}
    ).flatten(true);
  }


  function interposeFactory(iterable, separator) {
    var interposedSequence = makeSequence(iterable);
    interposedSequence.size = iterable.size && iterable.size * 2 -1;
    interposedSequence.__iterateUncached = function(fn, reverse) {var this$0 = this;
      var iterations = 0;
      iterable.__iterate(function(v, k) 
        {return (!iterations || fn(separator, iterations++, this$0) !== false) &&
        fn(v, iterations++, this$0) !== false},
        reverse
      );
      return iterations;
    };
    interposedSequence.__iteratorUncached = function(type, reverse) {
      var iterator = iterable.__iterator(ITERATE_VALUES, reverse);
      var iterations = 0;
      var step;
      return new Iterator(function()  {
        if (!step || iterations % 2) {
          step = iterator.next();
          if (step.done) {
            return step;
          }
        }
        return iterations % 2 ?
          iteratorValue(type, iterations++, separator) :
          iteratorValue(type, iterations++, step.value, step);
      });
    };
    return interposedSequence;
  }


  function sortFactory(iterable, comparator, mapper) {
    if (!comparator) {
      comparator = defaultComparator;
    }
    var isKeyedIterable = isKeyed(iterable);
    var index = 0;
    var entries = iterable.toSeq().map(
      function(v, k)  {return [k, v, index++, mapper ? mapper(v, k, iterable) : v]}
    ).toArray();
    entries.sort(function(a, b)  {return comparator(a[3], b[3]) || a[2] - b[2]}).forEach(
      isKeyedIterable ?
      function(v, i)  { entries[i].length = 2; } :
      function(v, i)  { entries[i] = v[1]; }
    );
    return isKeyedIterable ? KeyedSeq(entries) :
      isIndexed(iterable) ? IndexedSeq(entries) :
      SetSeq(entries);
  }


  function maxFactory(iterable, comparator, mapper) {
    if (!comparator) {
      comparator = defaultComparator;
    }
    if (mapper) {
      var entry = iterable.toSeq()
        .map(function(v, k)  {return [v, mapper(v, k, iterable)]})
        .reduce(function(a, b)  {return maxCompare(comparator, a[1], b[1]) ? b : a});
      return entry && entry[0];
    } else {
      return iterable.reduce(function(a, b)  {return maxCompare(comparator, a, b) ? b : a});
    }
  }

  function maxCompare(comparator, a, b) {
    var comp = comparator(b, a);
    // b is considered the new max if the comparator declares them equal, but
    // they are not equal and b is in fact a nullish value.
    return (comp === 0 && b !== a && (b === undefined || b === null || b !== b)) || comp > 0;
  }


  function zipWithFactory(keyIter, zipper, iters) {
    var zipSequence = makeSequence(keyIter);
    zipSequence.size = new ArraySeq(iters).map(function(i ) {return i.size}).min();
    // Note: this a generic base implementation of __iterate in terms of
    // __iterator which may be more generically useful in the future.
    zipSequence.__iterate = function(fn, reverse) {
      /* generic:
      var iterator = this.__iterator(ITERATE_ENTRIES, reverse);
      var step;
      var iterations = 0;
      while (!(step = iterator.next()).done) {
        iterations++;
        if (fn(step.value[1], step.value[0], this) === false) {
          break;
        }
      }
      return iterations;
      */
      // indexed:
      var iterator = this.__iterator(ITERATE_VALUES, reverse);
      var step;
      var iterations = 0;
      while (!(step = iterator.next()).done) {
        if (fn(step.value, iterations++, this) === false) {
          break;
        }
      }
      return iterations;
    };
    zipSequence.__iteratorUncached = function(type, reverse) {
      var iterators = iters.map(function(i )
        {return (i = Iterable(i), getIterator(reverse ? i.reverse() : i))}
      );
      var iterations = 0;
      var isDone = false;
      return new Iterator(function()  {
        var steps;
        if (!isDone) {
          steps = iterators.map(function(i ) {return i.next()});
          isDone = steps.some(function(s ) {return s.done});
        }
        if (isDone) {
          return iteratorDone();
        }
        return iteratorValue(
          type,
          iterations++,
          zipper.apply(null, steps.map(function(s ) {return s.value}))
        );
      });
    };
    return zipSequence
  }


  // #pragma Helper Functions

  function reify(iter, seq) {
    return isSeq(iter) ? seq : iter.constructor(seq);
  }

  function validateEntry(entry) {
    if (entry !== Object(entry)) {
      throw new TypeError('Expected [K, V] tuple: ' + entry);
    }
  }

  function resolveSize(iter) {
    assertNotInfinite(iter.size);
    return ensureSize(iter);
  }

  function iterableClass(iterable) {
    return isKeyed(iterable) ? KeyedIterable :
      isIndexed(iterable) ? IndexedIterable :
      SetIterable;
  }

  function makeSequence(iterable) {
    return Object.create(
      (
        isKeyed(iterable) ? KeyedSeq :
        isIndexed(iterable) ? IndexedSeq :
        SetSeq
      ).prototype
    );
  }

  function cacheResultThrough() {
    if (this._iter.cacheResult) {
      this._iter.cacheResult();
      this.size = this._iter.size;
      return this;
    } else {
      return Seq.prototype.cacheResult.call(this);
    }
  }

  function defaultComparator(a, b) {
    return a > b ? 1 : a < b ? -1 : 0;
  }

  function forceIterator(keyPath) {
    var iter = getIterator(keyPath);
    if (!iter) {
      // Array might not be iterable in this environment, so we need a fallback
      // to our wrapped type.
      if (!isArrayLike(keyPath)) {
        throw new TypeError('Expected iterable or array-like: ' + keyPath);
      }
      iter = getIterator(Iterable(keyPath));
    }
    return iter;
  }

  createClass(Record, KeyedCollection);

    function Record(defaultValues, name) {
      var hasInitialized;

      var RecordType = function Record(values) {
        if (values instanceof RecordType) {
          return values;
        }
        if (!(this instanceof RecordType)) {
          return new RecordType(values);
        }
        if (!hasInitialized) {
          hasInitialized = true;
          var keys = Object.keys(defaultValues);
          setProps(RecordTypePrototype, keys);
          RecordTypePrototype.size = keys.length;
          RecordTypePrototype._name = name;
          RecordTypePrototype._keys = keys;
          RecordTypePrototype._defaultValues = defaultValues;
        }
        this._map = Map(values);
      };

      var RecordTypePrototype = RecordType.prototype = Object.create(RecordPrototype);
      RecordTypePrototype.constructor = RecordType;

      return RecordType;
    }

    Record.prototype.toString = function() {
      return this.__toString(recordName(this) + ' {', '}');
    };

    // @pragma Access

    Record.prototype.has = function(k) {
      return this._defaultValues.hasOwnProperty(k);
    };

    Record.prototype.get = function(k, notSetValue) {
      if (!this.has(k)) {
        return notSetValue;
      }
      var defaultVal = this._defaultValues[k];
      return this._map ? this._map.get(k, defaultVal) : defaultVal;
    };

    // @pragma Modification

    Record.prototype.clear = function() {
      if (this.__ownerID) {
        this._map && this._map.clear();
        return this;
      }
      var RecordType = this.constructor;
      return RecordType._empty || (RecordType._empty = makeRecord(this, emptyMap()));
    };

    Record.prototype.set = function(k, v) {
      if (!this.has(k)) {
        throw new Error('Cannot set unknown key "' + k + '" on ' + recordName(this));
      }
      var newMap = this._map && this._map.set(k, v);
      if (this.__ownerID || newMap === this._map) {
        return this;
      }
      return makeRecord(this, newMap);
    };

    Record.prototype.remove = function(k) {
      if (!this.has(k)) {
        return this;
      }
      var newMap = this._map && this._map.remove(k);
      if (this.__ownerID || newMap === this._map) {
        return this;
      }
      return makeRecord(this, newMap);
    };

    Record.prototype.wasAltered = function() {
      return this._map.wasAltered();
    };

    Record.prototype.__iterator = function(type, reverse) {var this$0 = this;
      return KeyedIterable(this._defaultValues).map(function(_, k)  {return this$0.get(k)}).__iterator(type, reverse);
    };

    Record.prototype.__iterate = function(fn, reverse) {var this$0 = this;
      return KeyedIterable(this._defaultValues).map(function(_, k)  {return this$0.get(k)}).__iterate(fn, reverse);
    };

    Record.prototype.__ensureOwner = function(ownerID) {
      if (ownerID === this.__ownerID) {
        return this;
      }
      var newMap = this._map && this._map.__ensureOwner(ownerID);
      if (!ownerID) {
        this.__ownerID = ownerID;
        this._map = newMap;
        return this;
      }
      return makeRecord(this, newMap, ownerID);
    };


  var RecordPrototype = Record.prototype;
  RecordPrototype[DELETE] = RecordPrototype.remove;
  RecordPrototype.deleteIn =
  RecordPrototype.removeIn = MapPrototype.removeIn;
  RecordPrototype.merge = MapPrototype.merge;
  RecordPrototype.mergeWith = MapPrototype.mergeWith;
  RecordPrototype.mergeIn = MapPrototype.mergeIn;
  RecordPrototype.mergeDeep = MapPrototype.mergeDeep;
  RecordPrototype.mergeDeepWith = MapPrototype.mergeDeepWith;
  RecordPrototype.mergeDeepIn = MapPrototype.mergeDeepIn;
  RecordPrototype.setIn = MapPrototype.setIn;
  RecordPrototype.update = MapPrototype.update;
  RecordPrototype.updateIn = MapPrototype.updateIn;
  RecordPrototype.withMutations = MapPrototype.withMutations;
  RecordPrototype.asMutable = MapPrototype.asMutable;
  RecordPrototype.asImmutable = MapPrototype.asImmutable;


  function makeRecord(likeRecord, map, ownerID) {
    var record = Object.create(Object.getPrototypeOf(likeRecord));
    record._map = map;
    record.__ownerID = ownerID;
    return record;
  }

  function recordName(record) {
    return record._name || record.constructor.name || 'Record';
  }

  function setProps(prototype, names) {
    try {
      names.forEach(setProp.bind(undefined, prototype));
    } catch (error) {
      // Object.defineProperty failed. Probably IE8.
    }
  }

  function setProp(prototype, name) {
    Object.defineProperty(prototype, name, {
      get: function() {
        return this.get(name);
      },
      set: function(value) {
        invariant(this.__ownerID, 'Cannot set on an immutable record.');
        this.set(name, value);
      }
    });
  }

  createClass(Set, SetCollection);

    // @pragma Construction

    function Set(value) {
      return value === null || value === undefined ? emptySet() :
        isSet(value) && !isOrdered(value) ? value :
        emptySet().withMutations(function(set ) {
          var iter = SetIterable(value);
          assertNotInfinite(iter.size);
          iter.forEach(function(v ) {return set.add(v)});
        });
    }

    Set.of = function(/*...values*/) {
      return this(arguments);
    };

    Set.fromKeys = function(value) {
      return this(KeyedIterable(value).keySeq());
    };

    Set.prototype.toString = function() {
      return this.__toString('Set {', '}');
    };

    // @pragma Access

    Set.prototype.has = function(value) {
      return this._map.has(value);
    };

    // @pragma Modification

    Set.prototype.add = function(value) {
      return updateSet(this, this._map.set(value, true));
    };

    Set.prototype.remove = function(value) {
      return updateSet(this, this._map.remove(value));
    };

    Set.prototype.clear = function() {
      return updateSet(this, this._map.clear());
    };

    // @pragma Composition

    Set.prototype.union = function() {var iters = SLICE$0.call(arguments, 0);
      iters = iters.filter(function(x ) {return x.size !== 0});
      if (iters.length === 0) {
        return this;
      }
      if (this.size === 0 && !this.__ownerID && iters.length === 1) {
        return this.constructor(iters[0]);
      }
      return this.withMutations(function(set ) {
        for (var ii = 0; ii < iters.length; ii++) {
          SetIterable(iters[ii]).forEach(function(value ) {return set.add(value)});
        }
      });
    };

    Set.prototype.intersect = function() {var iters = SLICE$0.call(arguments, 0);
      if (iters.length === 0) {
        return this;
      }
      iters = iters.map(function(iter ) {return SetIterable(iter)});
      var originalSet = this;
      return this.withMutations(function(set ) {
        originalSet.forEach(function(value ) {
          if (!iters.every(function(iter ) {return iter.includes(value)})) {
            set.remove(value);
          }
        });
      });
    };

    Set.prototype.subtract = function() {var iters = SLICE$0.call(arguments, 0);
      if (iters.length === 0) {
        return this;
      }
      iters = iters.map(function(iter ) {return SetIterable(iter)});
      var originalSet = this;
      return this.withMutations(function(set ) {
        originalSet.forEach(function(value ) {
          if (iters.some(function(iter ) {return iter.includes(value)})) {
            set.remove(value);
          }
        });
      });
    };

    Set.prototype.merge = function() {
      return this.union.apply(this, arguments);
    };

    Set.prototype.mergeWith = function(merger) {var iters = SLICE$0.call(arguments, 1);
      return this.union.apply(this, iters);
    };

    Set.prototype.sort = function(comparator) {
      // Late binding
      return OrderedSet(sortFactory(this, comparator));
    };

    Set.prototype.sortBy = function(mapper, comparator) {
      // Late binding
      return OrderedSet(sortFactory(this, comparator, mapper));
    };

    Set.prototype.wasAltered = function() {
      return this._map.wasAltered();
    };

    Set.prototype.__iterate = function(fn, reverse) {var this$0 = this;
      return this._map.__iterate(function(_, k)  {return fn(k, k, this$0)}, reverse);
    };

    Set.prototype.__iterator = function(type, reverse) {
      return this._map.map(function(_, k)  {return k}).__iterator(type, reverse);
    };

    Set.prototype.__ensureOwner = function(ownerID) {
      if (ownerID === this.__ownerID) {
        return this;
      }
      var newMap = this._map.__ensureOwner(ownerID);
      if (!ownerID) {
        this.__ownerID = ownerID;
        this._map = newMap;
        return this;
      }
      return this.__make(newMap, ownerID);
    };


  function isSet(maybeSet) {
    return !!(maybeSet && maybeSet[IS_SET_SENTINEL]);
  }

  Set.isSet = isSet;

  var IS_SET_SENTINEL = '@@__IMMUTABLE_SET__@@';

  var SetPrototype = Set.prototype;
  SetPrototype[IS_SET_SENTINEL] = true;
  SetPrototype[DELETE] = SetPrototype.remove;
  SetPrototype.mergeDeep = SetPrototype.merge;
  SetPrototype.mergeDeepWith = SetPrototype.mergeWith;
  SetPrototype.withMutations = MapPrototype.withMutations;
  SetPrototype.asMutable = MapPrototype.asMutable;
  SetPrototype.asImmutable = MapPrototype.asImmutable;

  SetPrototype.__empty = emptySet;
  SetPrototype.__make = makeSet;

  function updateSet(set, newMap) {
    if (set.__ownerID) {
      set.size = newMap.size;
      set._map = newMap;
      return set;
    }
    return newMap === set._map ? set :
      newMap.size === 0 ? set.__empty() :
      set.__make(newMap);
  }

  function makeSet(map, ownerID) {
    var set = Object.create(SetPrototype);
    set.size = map ? map.size : 0;
    set._map = map;
    set.__ownerID = ownerID;
    return set;
  }

  var EMPTY_SET;
  function emptySet() {
    return EMPTY_SET || (EMPTY_SET = makeSet(emptyMap()));
  }

  createClass(OrderedSet, Set);

    // @pragma Construction

    function OrderedSet(value) {
      return value === null || value === undefined ? emptyOrderedSet() :
        isOrderedSet(value) ? value :
        emptyOrderedSet().withMutations(function(set ) {
          var iter = SetIterable(value);
          assertNotInfinite(iter.size);
          iter.forEach(function(v ) {return set.add(v)});
        });
    }

    OrderedSet.of = function(/*...values*/) {
      return this(arguments);
    };

    OrderedSet.fromKeys = function(value) {
      return this(KeyedIterable(value).keySeq());
    };

    OrderedSet.prototype.toString = function() {
      return this.__toString('OrderedSet {', '}');
    };


  function isOrderedSet(maybeOrderedSet) {
    return isSet(maybeOrderedSet) && isOrdered(maybeOrderedSet);
  }

  OrderedSet.isOrderedSet = isOrderedSet;

  var OrderedSetPrototype = OrderedSet.prototype;
  OrderedSetPrototype[IS_ORDERED_SENTINEL] = true;

  OrderedSetPrototype.__empty = emptyOrderedSet;
  OrderedSetPrototype.__make = makeOrderedSet;

  function makeOrderedSet(map, ownerID) {
    var set = Object.create(OrderedSetPrototype);
    set.size = map ? map.size : 0;
    set._map = map;
    set.__ownerID = ownerID;
    return set;
  }

  var EMPTY_ORDERED_SET;
  function emptyOrderedSet() {
    return EMPTY_ORDERED_SET || (EMPTY_ORDERED_SET = makeOrderedSet(emptyOrderedMap()));
  }

  createClass(Stack, IndexedCollection);

    // @pragma Construction

    function Stack(value) {
      return value === null || value === undefined ? emptyStack() :
        isStack(value) ? value :
        emptyStack().unshiftAll(value);
    }

    Stack.of = function(/*...values*/) {
      return this(arguments);
    };

    Stack.prototype.toString = function() {
      return this.__toString('Stack [', ']');
    };

    // @pragma Access

    Stack.prototype.get = function(index, notSetValue) {
      var head = this._head;
      index = wrapIndex(this, index);
      while (head && index--) {
        head = head.next;
      }
      return head ? head.value : notSetValue;
    };

    Stack.prototype.peek = function() {
      return this._head && this._head.value;
    };

    // @pragma Modification

    Stack.prototype.push = function(/*...values*/) {
      if (arguments.length === 0) {
        return this;
      }
      var newSize = this.size + arguments.length;
      var head = this._head;
      for (var ii = arguments.length - 1; ii >= 0; ii--) {
        head = {
          value: arguments[ii],
          next: head
        };
      }
      if (this.__ownerID) {
        this.size = newSize;
        this._head = head;
        this.__hash = undefined;
        this.__altered = true;
        return this;
      }
      return makeStack(newSize, head);
    };

    Stack.prototype.pushAll = function(iter) {
      iter = IndexedIterable(iter);
      if (iter.size === 0) {
        return this;
      }
      assertNotInfinite(iter.size);
      var newSize = this.size;
      var head = this._head;
      iter.reverse().forEach(function(value ) {
        newSize++;
        head = {
          value: value,
          next: head
        };
      });
      if (this.__ownerID) {
        this.size = newSize;
        this._head = head;
        this.__hash = undefined;
        this.__altered = true;
        return this;
      }
      return makeStack(newSize, head);
    };

    Stack.prototype.pop = function() {
      return this.slice(1);
    };

    Stack.prototype.unshift = function(/*...values*/) {
      return this.push.apply(this, arguments);
    };

    Stack.prototype.unshiftAll = function(iter) {
      return this.pushAll(iter);
    };

    Stack.prototype.shift = function() {
      return this.pop.apply(this, arguments);
    };

    Stack.prototype.clear = function() {
      if (this.size === 0) {
        return this;
      }
      if (this.__ownerID) {
        this.size = 0;
        this._head = undefined;
        this.__hash = undefined;
        this.__altered = true;
        return this;
      }
      return emptyStack();
    };

    Stack.prototype.slice = function(begin, end) {
      if (wholeSlice(begin, end, this.size)) {
        return this;
      }
      var resolvedBegin = resolveBegin(begin, this.size);
      var resolvedEnd = resolveEnd(end, this.size);
      if (resolvedEnd !== this.size) {
        // super.slice(begin, end);
        return IndexedCollection.prototype.slice.call(this, begin, end);
      }
      var newSize = this.size - resolvedBegin;
      var head = this._head;
      while (resolvedBegin--) {
        head = head.next;
      }
      if (this.__ownerID) {
        this.size = newSize;
        this._head = head;
        this.__hash = undefined;
        this.__altered = true;
        return this;
      }
      return makeStack(newSize, head);
    };

    // @pragma Mutability

    Stack.prototype.__ensureOwner = function(ownerID) {
      if (ownerID === this.__ownerID) {
        return this;
      }
      if (!ownerID) {
        this.__ownerID = ownerID;
        this.__altered = false;
        return this;
      }
      return makeStack(this.size, this._head, ownerID, this.__hash);
    };

    // @pragma Iteration

    Stack.prototype.__iterate = function(fn, reverse) {
      if (reverse) {
        return this.reverse().__iterate(fn);
      }
      var iterations = 0;
      var node = this._head;
      while (node) {
        if (fn(node.value, iterations++, this) === false) {
          break;
        }
        node = node.next;
      }
      return iterations;
    };

    Stack.prototype.__iterator = function(type, reverse) {
      if (reverse) {
        return this.reverse().__iterator(type);
      }
      var iterations = 0;
      var node = this._head;
      return new Iterator(function()  {
        if (node) {
          var value = node.value;
          node = node.next;
          return iteratorValue(type, iterations++, value);
        }
        return iteratorDone();
      });
    };


  function isStack(maybeStack) {
    return !!(maybeStack && maybeStack[IS_STACK_SENTINEL]);
  }

  Stack.isStack = isStack;

  var IS_STACK_SENTINEL = '@@__IMMUTABLE_STACK__@@';

  var StackPrototype = Stack.prototype;
  StackPrototype[IS_STACK_SENTINEL] = true;
  StackPrototype.withMutations = MapPrototype.withMutations;
  StackPrototype.asMutable = MapPrototype.asMutable;
  StackPrototype.asImmutable = MapPrototype.asImmutable;
  StackPrototype.wasAltered = MapPrototype.wasAltered;


  function makeStack(size, head, ownerID, hash) {
    var map = Object.create(StackPrototype);
    map.size = size;
    map._head = head;
    map.__ownerID = ownerID;
    map.__hash = hash;
    map.__altered = false;
    return map;
  }

  var EMPTY_STACK;
  function emptyStack() {
    return EMPTY_STACK || (EMPTY_STACK = makeStack(0));
  }

  /**
   * Contributes additional methods to a constructor
   */
  function mixin(ctor, methods) {
    var keyCopier = function(key ) { ctor.prototype[key] = methods[key]; };
    Object.keys(methods).forEach(keyCopier);
    Object.getOwnPropertySymbols &&
      Object.getOwnPropertySymbols(methods).forEach(keyCopier);
    return ctor;
  }

  Iterable.Iterator = Iterator;

  mixin(Iterable, {

    // ### Conversion to other types

    toArray: function() {
      assertNotInfinite(this.size);
      var array = new Array(this.size || 0);
      this.valueSeq().__iterate(function(v, i)  { array[i] = v; });
      return array;
    },

    toIndexedSeq: function() {
      return new ToIndexedSequence(this);
    },

    toJS: function() {
      return this.toSeq().map(
        function(value ) {return value && typeof value.toJS === 'function' ? value.toJS() : value}
      ).__toJS();
    },

    toJSON: function() {
      return this.toSeq().map(
        function(value ) {return value && typeof value.toJSON === 'function' ? value.toJSON() : value}
      ).__toJS();
    },

    toKeyedSeq: function() {
      return new ToKeyedSequence(this, true);
    },

    toMap: function() {
      // Use Late Binding here to solve the circular dependency.
      return Map(this.toKeyedSeq());
    },

    toObject: function() {
      assertNotInfinite(this.size);
      var object = {};
      this.__iterate(function(v, k)  { object[k] = v; });
      return object;
    },

    toOrderedMap: function() {
      // Use Late Binding here to solve the circular dependency.
      return OrderedMap(this.toKeyedSeq());
    },

    toOrderedSet: function() {
      // Use Late Binding here to solve the circular dependency.
      return OrderedSet(isKeyed(this) ? this.valueSeq() : this);
    },

    toSet: function() {
      // Use Late Binding here to solve the circular dependency.
      return Set(isKeyed(this) ? this.valueSeq() : this);
    },

    toSetSeq: function() {
      return new ToSetSequence(this);
    },

    toSeq: function() {
      return isIndexed(this) ? this.toIndexedSeq() :
        isKeyed(this) ? this.toKeyedSeq() :
        this.toSetSeq();
    },

    toStack: function() {
      // Use Late Binding here to solve the circular dependency.
      return Stack(isKeyed(this) ? this.valueSeq() : this);
    },

    toList: function() {
      // Use Late Binding here to solve the circular dependency.
      return List(isKeyed(this) ? this.valueSeq() : this);
    },


    // ### Common JavaScript methods and properties

    toString: function() {
      return '[Iterable]';
    },

    __toString: function(head, tail) {
      if (this.size === 0) {
        return head + tail;
      }
      return head + ' ' + this.toSeq().map(this.__toStringMapper).join(', ') + ' ' + tail;
    },


    // ### ES6 Collection methods (ES6 Array and Map)

    concat: function() {var values = SLICE$0.call(arguments, 0);
      return reify(this, concatFactory(this, values));
    },

    includes: function(searchValue) {
      return this.some(function(value ) {return is(value, searchValue)});
    },

    entries: function() {
      return this.__iterator(ITERATE_ENTRIES);
    },

    every: function(predicate, context) {
      assertNotInfinite(this.size);
      var returnValue = true;
      this.__iterate(function(v, k, c)  {
        if (!predicate.call(context, v, k, c)) {
          returnValue = false;
          return false;
        }
      });
      return returnValue;
    },

    filter: function(predicate, context) {
      return reify(this, filterFactory(this, predicate, context, true));
    },

    find: function(predicate, context, notSetValue) {
      var entry = this.findEntry(predicate, context);
      return entry ? entry[1] : notSetValue;
    },

    findEntry: function(predicate, context) {
      var found;
      this.__iterate(function(v, k, c)  {
        if (predicate.call(context, v, k, c)) {
          found = [k, v];
          return false;
        }
      });
      return found;
    },

    findLastEntry: function(predicate, context) {
      return this.toSeq().reverse().findEntry(predicate, context);
    },

    forEach: function(sideEffect, context) {
      assertNotInfinite(this.size);
      return this.__iterate(context ? sideEffect.bind(context) : sideEffect);
    },

    join: function(separator) {
      assertNotInfinite(this.size);
      separator = separator !== undefined ? '' + separator : ',';
      var joined = '';
      var isFirst = true;
      this.__iterate(function(v ) {
        isFirst ? (isFirst = false) : (joined += separator);
        joined += v !== null && v !== undefined ? v.toString() : '';
      });
      return joined;
    },

    keys: function() {
      return this.__iterator(ITERATE_KEYS);
    },

    map: function(mapper, context) {
      return reify(this, mapFactory(this, mapper, context));
    },

    reduce: function(reducer, initialReduction, context) {
      assertNotInfinite(this.size);
      var reduction;
      var useFirst;
      if (arguments.length < 2) {
        useFirst = true;
      } else {
        reduction = initialReduction;
      }
      this.__iterate(function(v, k, c)  {
        if (useFirst) {
          useFirst = false;
          reduction = v;
        } else {
          reduction = reducer.call(context, reduction, v, k, c);
        }
      });
      return reduction;
    },

    reduceRight: function(reducer, initialReduction, context) {
      var reversed = this.toKeyedSeq().reverse();
      return reversed.reduce.apply(reversed, arguments);
    },

    reverse: function() {
      return reify(this, reverseFactory(this, true));
    },

    slice: function(begin, end) {
      return reify(this, sliceFactory(this, begin, end, true));
    },

    some: function(predicate, context) {
      return !this.every(not(predicate), context);
    },

    sort: function(comparator) {
      return reify(this, sortFactory(this, comparator));
    },

    values: function() {
      return this.__iterator(ITERATE_VALUES);
    },


    // ### More sequential methods

    butLast: function() {
      return this.slice(0, -1);
    },

    isEmpty: function() {
      return this.size !== undefined ? this.size === 0 : !this.some(function()  {return true});
    },

    count: function(predicate, context) {
      return ensureSize(
        predicate ? this.toSeq().filter(predicate, context) : this
      );
    },

    countBy: function(grouper, context) {
      return countByFactory(this, grouper, context);
    },

    equals: function(other) {
      return deepEqual(this, other);
    },

    entrySeq: function() {
      var iterable = this;
      if (iterable._cache) {
        // We cache as an entries array, so we can just return the cache!
        return new ArraySeq(iterable._cache);
      }
      var entriesSequence = iterable.toSeq().map(entryMapper).toIndexedSeq();
      entriesSequence.fromEntrySeq = function()  {return iterable.toSeq()};
      return entriesSequence;
    },

    filterNot: function(predicate, context) {
      return this.filter(not(predicate), context);
    },

    findLast: function(predicate, context, notSetValue) {
      return this.toKeyedSeq().reverse().find(predicate, context, notSetValue);
    },

    first: function() {
      return this.find(returnTrue);
    },

    flatMap: function(mapper, context) {
      return reify(this, flatMapFactory(this, mapper, context));
    },

    flatten: function(depth) {
      return reify(this, flattenFactory(this, depth, true));
    },

    fromEntrySeq: function() {
      return new FromEntriesSequence(this);
    },

    get: function(searchKey, notSetValue) {
      return this.find(function(_, key)  {return is(key, searchKey)}, undefined, notSetValue);
    },

    getIn: function(searchKeyPath, notSetValue) {
      var nested = this;
      // Note: in an ES6 environment, we would prefer:
      // for (var key of searchKeyPath) {
      var iter = forceIterator(searchKeyPath);
      var step;
      while (!(step = iter.next()).done) {
        var key = step.value;
        nested = nested && nested.get ? nested.get(key, NOT_SET) : NOT_SET;
        if (nested === NOT_SET) {
          return notSetValue;
        }
      }
      return nested;
    },

    groupBy: function(grouper, context) {
      return groupByFactory(this, grouper, context);
    },

    has: function(searchKey) {
      return this.get(searchKey, NOT_SET) !== NOT_SET;
    },

    hasIn: function(searchKeyPath) {
      return this.getIn(searchKeyPath, NOT_SET) !== NOT_SET;
    },

    isSubset: function(iter) {
      iter = typeof iter.includes === 'function' ? iter : Iterable(iter);
      return this.every(function(value ) {return iter.includes(value)});
    },

    isSuperset: function(iter) {
      iter = typeof iter.isSubset === 'function' ? iter : Iterable(iter);
      return iter.isSubset(this);
    },

    keySeq: function() {
      return this.toSeq().map(keyMapper).toIndexedSeq();
    },

    last: function() {
      return this.toSeq().reverse().first();
    },

    max: function(comparator) {
      return maxFactory(this, comparator);
    },

    maxBy: function(mapper, comparator) {
      return maxFactory(this, comparator, mapper);
    },

    min: function(comparator) {
      return maxFactory(this, comparator ? neg(comparator) : defaultNegComparator);
    },

    minBy: function(mapper, comparator) {
      return maxFactory(this, comparator ? neg(comparator) : defaultNegComparator, mapper);
    },

    rest: function() {
      return this.slice(1);
    },

    skip: function(amount) {
      return this.slice(Math.max(0, amount));
    },

    skipLast: function(amount) {
      return reify(this, this.toSeq().reverse().skip(amount).reverse());
    },

    skipWhile: function(predicate, context) {
      return reify(this, skipWhileFactory(this, predicate, context, true));
    },

    skipUntil: function(predicate, context) {
      return this.skipWhile(not(predicate), context);
    },

    sortBy: function(mapper, comparator) {
      return reify(this, sortFactory(this, comparator, mapper));
    },

    take: function(amount) {
      return this.slice(0, Math.max(0, amount));
    },

    takeLast: function(amount) {
      return reify(this, this.toSeq().reverse().take(amount).reverse());
    },

    takeWhile: function(predicate, context) {
      return reify(this, takeWhileFactory(this, predicate, context));
    },

    takeUntil: function(predicate, context) {
      return this.takeWhile(not(predicate), context);
    },

    valueSeq: function() {
      return this.toIndexedSeq();
    },


    // ### Hashable Object

    hashCode: function() {
      return this.__hash || (this.__hash = hashIterable(this));
    }


    // ### Internal

    // abstract __iterate(fn, reverse)

    // abstract __iterator(type, reverse)
  });

  // var IS_ITERABLE_SENTINEL = '@@__IMMUTABLE_ITERABLE__@@';
  // var IS_KEYED_SENTINEL = '@@__IMMUTABLE_KEYED__@@';
  // var IS_INDEXED_SENTINEL = '@@__IMMUTABLE_INDEXED__@@';
  // var IS_ORDERED_SENTINEL = '@@__IMMUTABLE_ORDERED__@@';

  var IterablePrototype = Iterable.prototype;
  IterablePrototype[IS_ITERABLE_SENTINEL] = true;
  IterablePrototype[ITERATOR_SYMBOL] = IterablePrototype.values;
  IterablePrototype.__toJS = IterablePrototype.toArray;
  IterablePrototype.__toStringMapper = quoteString;
  IterablePrototype.inspect =
  IterablePrototype.toSource = function() { return this.toString(); };
  IterablePrototype.chain = IterablePrototype.flatMap;
  IterablePrototype.contains = IterablePrototype.includes;

  // Temporary warning about using length
  (function () {
    try {
      Object.defineProperty(IterablePrototype, 'length', {
        get: function () {
          if (!Iterable.noLengthWarning) {
            var stack;
            try {
              throw new Error();
            } catch (error) {
              stack = error.stack;
            }
            if (stack.indexOf('_wrapObject') === -1) {
              console && console.warn && console.warn(
                'iterable.length has been deprecated, '+
                'use iterable.size or iterable.count(). '+
                'This warning will become a silent error in a future version. ' +
                stack
              );
              return this.size;
            }
          }
        }
      });
    } catch (e) {}
  })();



  mixin(KeyedIterable, {

    // ### More sequential methods

    flip: function() {
      return reify(this, flipFactory(this));
    },

    findKey: function(predicate, context) {
      var entry = this.findEntry(predicate, context);
      return entry && entry[0];
    },

    findLastKey: function(predicate, context) {
      return this.toSeq().reverse().findKey(predicate, context);
    },

    keyOf: function(searchValue) {
      return this.findKey(function(value ) {return is(value, searchValue)});
    },

    lastKeyOf: function(searchValue) {
      return this.findLastKey(function(value ) {return is(value, searchValue)});
    },

    mapEntries: function(mapper, context) {var this$0 = this;
      var iterations = 0;
      return reify(this,
        this.toSeq().map(
          function(v, k)  {return mapper.call(context, [k, v], iterations++, this$0)}
        ).fromEntrySeq()
      );
    },

    mapKeys: function(mapper, context) {var this$0 = this;
      return reify(this,
        this.toSeq().flip().map(
          function(k, v)  {return mapper.call(context, k, v, this$0)}
        ).flip()
      );
    }

  });

  var KeyedIterablePrototype = KeyedIterable.prototype;
  KeyedIterablePrototype[IS_KEYED_SENTINEL] = true;
  KeyedIterablePrototype[ITERATOR_SYMBOL] = IterablePrototype.entries;
  KeyedIterablePrototype.__toJS = IterablePrototype.toObject;
  KeyedIterablePrototype.__toStringMapper = function(v, k)  {return JSON.stringify(k) + ': ' + quoteString(v)};



  mixin(IndexedIterable, {

    // ### Conversion to other types

    toKeyedSeq: function() {
      return new ToKeyedSequence(this, false);
    },


    // ### ES6 Collection methods (ES6 Array and Map)

    filter: function(predicate, context) {
      return reify(this, filterFactory(this, predicate, context, false));
    },

    findIndex: function(predicate, context) {
      var entry = this.findEntry(predicate, context);
      return entry ? entry[0] : -1;
    },

    indexOf: function(searchValue) {
      var key = this.toKeyedSeq().keyOf(searchValue);
      return key === undefined ? -1 : key;
    },

    lastIndexOf: function(searchValue) {
      var key = this.toKeyedSeq().reverse().keyOf(searchValue);
      return key === undefined ? -1 : key;

      // var index =
      // return this.toSeq().reverse().indexOf(searchValue);
    },

    reverse: function() {
      return reify(this, reverseFactory(this, false));
    },

    slice: function(begin, end) {
      return reify(this, sliceFactory(this, begin, end, false));
    },

    splice: function(index, removeNum /*, ...values*/) {
      var numArgs = arguments.length;
      removeNum = Math.max(removeNum | 0, 0);
      if (numArgs === 0 || (numArgs === 2 && !removeNum)) {
        return this;
      }
      // If index is negative, it should resolve relative to the size of the
      // collection. However size may be expensive to compute if not cached, so
      // only call count() if the number is in fact negative.
      index = resolveBegin(index, index < 0 ? this.count() : this.size);
      var spliced = this.slice(0, index);
      return reify(
        this,
        numArgs === 1 ?
          spliced :
          spliced.concat(arrCopy(arguments, 2), this.slice(index + removeNum))
      );
    },


    // ### More collection methods

    findLastIndex: function(predicate, context) {
      var key = this.toKeyedSeq().findLastKey(predicate, context);
      return key === undefined ? -1 : key;
    },

    first: function() {
      return this.get(0);
    },

    flatten: function(depth) {
      return reify(this, flattenFactory(this, depth, false));
    },

    get: function(index, notSetValue) {
      index = wrapIndex(this, index);
      return (index < 0 || (this.size === Infinity ||
          (this.size !== undefined && index > this.size))) ?
        notSetValue :
        this.find(function(_, key)  {return key === index}, undefined, notSetValue);
    },

    has: function(index) {
      index = wrapIndex(this, index);
      return index >= 0 && (this.size !== undefined ?
        this.size === Infinity || index < this.size :
        this.indexOf(index) !== -1
      );
    },

    interpose: function(separator) {
      return reify(this, interposeFactory(this, separator));
    },

    interleave: function(/*...iterables*/) {
      var iterables = [this].concat(arrCopy(arguments));
      var zipped = zipWithFactory(this.toSeq(), IndexedSeq.of, iterables);
      var interleaved = zipped.flatten(true);
      if (zipped.size) {
        interleaved.size = zipped.size * iterables.length;
      }
      return reify(this, interleaved);
    },

    last: function() {
      return this.get(-1);
    },

    skipWhile: function(predicate, context) {
      return reify(this, skipWhileFactory(this, predicate, context, false));
    },

    zip: function(/*, ...iterables */) {
      var iterables = [this].concat(arrCopy(arguments));
      return reify(this, zipWithFactory(this, defaultZipper, iterables));
    },

    zipWith: function(zipper/*, ...iterables */) {
      var iterables = arrCopy(arguments);
      iterables[0] = this;
      return reify(this, zipWithFactory(this, zipper, iterables));
    }

  });

  IndexedIterable.prototype[IS_INDEXED_SENTINEL] = true;
  IndexedIterable.prototype[IS_ORDERED_SENTINEL] = true;



  mixin(SetIterable, {

    // ### ES6 Collection methods (ES6 Array and Map)

    get: function(value, notSetValue) {
      return this.has(value) ? value : notSetValue;
    },

    includes: function(value) {
      return this.has(value);
    },


    // ### More sequential methods

    keySeq: function() {
      return this.valueSeq();
    }

  });

  SetIterable.prototype.has = IterablePrototype.includes;


  // Mixin subclasses

  mixin(KeyedSeq, KeyedIterable.prototype);
  mixin(IndexedSeq, IndexedIterable.prototype);
  mixin(SetSeq, SetIterable.prototype);

  mixin(KeyedCollection, KeyedIterable.prototype);
  mixin(IndexedCollection, IndexedIterable.prototype);
  mixin(SetCollection, SetIterable.prototype);


  // #pragma Helper functions

  function keyMapper(v, k) {
    return k;
  }

  function entryMapper(v, k) {
    return [k, v];
  }

  function not(predicate) {
    return function() {
      return !predicate.apply(this, arguments);
    }
  }

  function neg(predicate) {
    return function() {
      return -predicate.apply(this, arguments);
    }
  }

  function quoteString(value) {
    return typeof value === 'string' ? JSON.stringify(value) : value;
  }

  function defaultZipper() {
    return arrCopy(arguments);
  }

  function defaultNegComparator(a, b) {
    return a < b ? 1 : a > b ? -1 : 0;
  }

  function hashIterable(iterable) {
    if (iterable.size === Infinity) {
      return 0;
    }
    var ordered = isOrdered(iterable);
    var keyed = isKeyed(iterable);
    var h = ordered ? 1 : 0;
    var size = iterable.__iterate(
      keyed ?
        ordered ?
          function(v, k)  { h = 31 * h + hashMerge(hash(v), hash(k)) | 0; } :
          function(v, k)  { h = h + hashMerge(hash(v), hash(k)) | 0; } :
        ordered ?
          function(v ) { h = 31 * h + hash(v) | 0; } :
          function(v ) { h = h + hash(v) | 0; }
    );
    return murmurHashOfSize(size, h);
  }

  function murmurHashOfSize(size, h) {
    h = imul(h, 0xCC9E2D51);
    h = imul(h << 15 | h >>> -15, 0x1B873593);
    h = imul(h << 13 | h >>> -13, 5);
    h = (h + 0xE6546B64 | 0) ^ size;
    h = imul(h ^ h >>> 16, 0x85EBCA6B);
    h = imul(h ^ h >>> 13, 0xC2B2AE35);
    h = smi(h ^ h >>> 16);
    return h;
  }

  function hashMerge(a, b) {
    return a ^ b + 0x9E3779B9 + (a << 6) + (a >> 2) | 0; // int
  }

  var Immutable = {

    Iterable: Iterable,

    Seq: Seq,
    Collection: Collection,
    Map: Map,
    OrderedMap: OrderedMap,
    List: List,
    Stack: Stack,
    Set: Set,
    OrderedSet: OrderedSet,

    Record: Record,
    Range: Range,
    Repeat: Repeat,

    is: is,
    fromJS: fromJS

  };

  return Immutable;

}));

/***/ }),

/***/ "./node_modules/object-assign/index.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/


/* eslint-disable no-unused-vars */
var getOwnPropertySymbols = Object.getOwnPropertySymbols;
var hasOwnProperty = Object.prototype.hasOwnProperty;
var propIsEnumerable = Object.prototype.propertyIsEnumerable;

function toObject(val) {
    if (val === null || val === undefined) {
        throw new TypeError('Object.assign cannot be called with null or undefined');
    }

    return Object(val);
}

function shouldUseNative() {
    try {
        if (!Object.assign) {
            return false;
        }

        // Detect buggy property enumeration order in older V8 versions.

        // https://bugs.chromium.org/p/v8/issues/detail?id=4118
        var test1 = new String('abc');  // eslint-disable-line no-new-wrappers
        test1[5] = 'de';
        if (Object.getOwnPropertyNames(test1)[0] === '5') {
            return false;
        }

        // https://bugs.chromium.org/p/v8/issues/detail?id=3056
        var test2 = {};
        for (var i = 0; i < 10; i++) {
            test2['_' + String.fromCharCode(i)] = i;
        }
        var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
            return test2[n];
        });
        if (order2.join('') !== '0123456789') {
            return false;
        }

        // https://bugs.chromium.org/p/v8/issues/detail?id=3056
        var test3 = {};
        'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
            test3[letter] = letter;
        });
        if (Object.keys(Object.assign({}, test3)).join('') !==
                'abcdefghijklmnopqrst') {
            return false;
        }

        return true;
    } catch (err) {
        // We don't expect any of the above to throw, but better to be safe.
        return false;
    }
}

module.exports = shouldUseNative() ? Object.assign : function (target, source) {
    var from;
    var to = toObject(target);
    var symbols;

    for (var s = 1; s < arguments.length; s++) {
        from = Object(arguments[s]);

        for (var key in from) {
            if (hasOwnProperty.call(from, key)) {
                to[key] = from[key];
            }
        }

        if (getOwnPropertySymbols) {
            symbols = getOwnPropertySymbols(from);
            for (var i = 0; i < symbols.length; i++) {
                if (propIsEnumerable.call(from, symbols[i])) {
                    to[symbols[i]] = from[symbols[i]];
                }
            }
        }
    }

    return to;
};


/***/ }),

/***/ "./node_modules/process/browser.js":
/***/ (function(module, exports) {

// shim for using process in browser
var process = module.exports = {};

// cached from whatever global is present so that test runners that stub it
// don't break things.  But we need to wrap it in a try catch in case it is
// wrapped in strict mode code which doesn't define any globals.  It's inside a
// function because try/catches deoptimize in certain engines.

var cachedSetTimeout;
var cachedClearTimeout;

function defaultSetTimout() {
    throw new Error('setTimeout has not been defined');
}
function defaultClearTimeout () {
    throw new Error('clearTimeout has not been defined');
}
(function () {
    try {
        if (typeof setTimeout === 'function') {
            cachedSetTimeout = setTimeout;
        } else {
            cachedSetTimeout = defaultSetTimout;
        }
    } catch (e) {
        cachedSetTimeout = defaultSetTimout;
    }
    try {
        if (typeof clearTimeout === 'function') {
            cachedClearTimeout = clearTimeout;
        } else {
            cachedClearTimeout = defaultClearTimeout;
        }
    } catch (e) {
        cachedClearTimeout = defaultClearTimeout;
    }
} ())
function runTimeout(fun) {
    if (cachedSetTimeout === setTimeout) {
        //normal enviroments in sane situations
        return setTimeout(fun, 0);
    }
    // if setTimeout wasn't available but was latter defined
    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
        cachedSetTimeout = setTimeout;
        return setTimeout(fun, 0);
    }
    try {
        // when when somebody has screwed with setTimeout but no I.E. maddness
        return cachedSetTimeout(fun, 0);
    } catch(e){
        try {
            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
            return cachedSetTimeout.call(null, fun, 0);
        } catch(e){
            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
            return cachedSetTimeout.call(this, fun, 0);
        }
    }


}
function runClearTimeout(marker) {
    if (cachedClearTimeout === clearTimeout) {
        //normal enviroments in sane situations
        return clearTimeout(marker);
    }
    // if clearTimeout wasn't available but was latter defined
    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
        cachedClearTimeout = clearTimeout;
        return clearTimeout(marker);
    }
    try {
        // when when somebody has screwed with setTimeout but no I.E. maddness
        return cachedClearTimeout(marker);
    } catch (e){
        try {
            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally
            return cachedClearTimeout.call(null, marker);
        } catch (e){
            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
            // Some versions of I.E. have different rules for clearTimeout vs setTimeout
            return cachedClearTimeout.call(this, marker);
        }
    }



}
var queue = [];
var draining = false;
var currentQueue;
var queueIndex = -1;

function cleanUpNextTick() {
    if (!draining || !currentQueue) {
        return;
    }
    draining = false;
    if (currentQueue.length) {
        queue = currentQueue.concat(queue);
    } else {
        queueIndex = -1;
    }
    if (queue.length) {
        drainQueue();
    }
}

function drainQueue() {
    if (draining) {
        return;
    }
    var timeout = runTimeout(cleanUpNextTick);
    draining = true;

    var len = queue.length;
    while(len) {
        currentQueue = queue;
        queue = [];
        while (++queueIndex < len) {
            if (currentQueue) {
                currentQueue[queueIndex].run();
            }
        }
        queueIndex = -1;
        len = queue.length;
    }
    currentQueue = null;
    draining = false;
    runClearTimeout(timeout);
}

process.nextTick = function (fun) {
    var args = new Array(arguments.length - 1);
    if (arguments.length > 1) {
        for (var i = 1; i < arguments.length; i++) {
            args[i - 1] = arguments[i];
        }
    }
    queue.push(new Item(fun, args));
    if (queue.length === 1 && !draining) {
        runTimeout(drainQueue);
    }
};

// v8 likes predictible objects
function Item(fun, array) {
    this.fun = fun;
    this.array = array;
}
Item.prototype.run = function () {
    this.fun.apply(null, this.array);
};
process.title = 'browser';
process.browser = true;
process.env = {};
process.argv = [];
process.version = ''; // empty string to avoid regexp issues
process.versions = {};

function noop() {}

process.on = noop;
process.addListener = noop;
process.once = noop;
process.off = noop;
process.removeListener = noop;
process.removeAllListeners = noop;
process.emit = noop;
process.prependListener = noop;
process.prependOnceListener = noop;

process.listeners = function (name) { return [] }

process.binding = function (name) {
    throw new Error('process.binding is not supported');
};

process.cwd = function () { return '/' };
process.chdir = function (dir) {
    throw new Error('process.chdir is not supported');
};
process.umask = function() { return 0; };


/***/ }),

/***/ "./node_modules/promise/setimmediate/core.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(setImmediate) {



function noop() {}

// States:
//
// 0 - pending
// 1 - fulfilled with _value
// 2 - rejected with _value
// 3 - adopted the state of another promise, _value
//
// once the state is no longer pending (0) it is immutable

// All `_` prefixed properties will be reduced to `_{random number}`
// at build time to obfuscate them and discourage their use.
// We don't use symbols or Object.defineProperty to fully hide them
// because the performance isn't good enough.


// to avoid using try/catch inside critical functions, we
// extract them to here.
var LAST_ERROR = null;
var IS_ERROR = {};
function getThen(obj) {
  try {
    return obj.then;
  } catch (ex) {
    LAST_ERROR = ex;
    return IS_ERROR;
  }
}

function tryCallOne(fn, a) {
  try {
    return fn(a);
  } catch (ex) {
    LAST_ERROR = ex;
    return IS_ERROR;
  }
}
function tryCallTwo(fn, a, b) {
  try {
    fn(a, b);
  } catch (ex) {
    LAST_ERROR = ex;
    return IS_ERROR;
  }
}

module.exports = Promise;

function Promise(fn) {
  if (typeof this !== 'object') {
    throw new TypeError('Promises must be constructed via new');
  }
  if (typeof fn !== 'function') {
    throw new TypeError('Promise constructor\'s argument is not a function');
  }
  this._48 = 0;
  this._81 = 0;
  this._1 = null;
  this._36 = null;
  if (fn === noop) return;
  doResolve(fn, this);
}
Promise._66 = null;
Promise._40 = null;
Promise._21 = noop;

Promise.prototype.then = function(onFulfilled, onRejected) {
  if (this.constructor !== Promise) {
    return safeThen(this, onFulfilled, onRejected);
  }
  var res = new Promise(noop);
  handle(this, new Handler(onFulfilled, onRejected, res));
  return res;
};

function safeThen(self, onFulfilled, onRejected) {
  return new self.constructor(function (resolve, reject) {
    var res = new Promise(noop);
    res.then(resolve, reject);
    handle(self, new Handler(onFulfilled, onRejected, res));
  });
}
function handle(self, deferred) {
  while (self._81 === 3) {
    self = self._1;
  }
  if (Promise._66) {
    Promise._66(self);
  }
  if (self._81 === 0) {
    if (self._48 === 0) {
      self._48 = 1;
      self._36 = deferred;
      return;
    }
    if (self._48 === 1) {
      self._48 = 2;
      self._36 = [self._36, deferred];
      return;
    }
    self._36.push(deferred);
    return;
  }
  handleResolved(self, deferred);
}

function handleResolved(self, deferred) {
  setImmediate(function() {
    var cb = self._81 === 1 ? deferred.onFulfilled : deferred.onRejected;
    if (cb === null) {
      if (self._81 === 1) {
        resolve(deferred.promise, self._1);
      } else {
        reject(deferred.promise, self._1);
      }
      return;
    }
    var ret = tryCallOne(cb, self._1);
    if (ret === IS_ERROR) {
      reject(deferred.promise, LAST_ERROR);
    } else {
      resolve(deferred.promise, ret);
    }
  });
}
function resolve(self, newValue) {
  // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure
  if (newValue === self) {
    return reject(
      self,
      new TypeError('A promise cannot be resolved with itself.')
    );
  }
  if (
    newValue &&
    (typeof newValue === 'object' || typeof newValue === 'function')
  ) {
    var then = getThen(newValue);
    if (then === IS_ERROR) {
      return reject(self, LAST_ERROR);
    }
    if (
      then === self.then &&
      newValue instanceof Promise
    ) {
      self._81 = 3;
      self._1 = newValue;
      finale(self);
      return;
    } else if (typeof then === 'function') {
      doResolve(then.bind(newValue), self);
      return;
    }
  }
  self._81 = 1;
  self._1 = newValue;
  finale(self);
}

function reject(self, newValue) {
  self._81 = 2;
  self._1 = newValue;
  if (Promise._40) {
    Promise._40(self, newValue);
  }
  finale(self);
}
function finale(self) {
  if (self._48 === 1) {
    handle(self, self._36);
    self._36 = null;
  }
  if (self._48 === 2) {
    for (var i = 0; i < self._36.length; i++) {
      handle(self, self._36[i]);
    }
    self._36 = null;
  }
}

function Handler(onFulfilled, onRejected, promise){
  this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;
  this.onRejected = typeof onRejected === 'function' ? onRejected : null;
  this.promise = promise;
}

/**
 * Take a potentially misbehaving resolver function and make sure
 * onFulfilled and onRejected are only called once.
 *
 * Makes no guarantees about asynchrony.
 */
function doResolve(fn, promise) {
  var done = false;
  var res = tryCallTwo(fn, function (value) {
    if (done) return;
    done = true;
    resolve(promise, value);
  }, function (reason) {
    if (done) return;
    done = true;
    reject(promise, reason);
  });
  if (!done && res === IS_ERROR) {
    done = true;
    reject(promise, LAST_ERROR);
  }
}

/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/timers-browserify/main.js").setImmediate))

/***/ }),

/***/ "./node_modules/promise/setimmediate/done.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


var Promise = __webpack_require__("./node_modules/promise/setimmediate/core.js");

module.exports = Promise;
Promise.prototype.done = function (onFulfilled, onRejected) {
  var self = arguments.length ? this.then.apply(this, arguments) : this;
  self.then(null, function (err) {
    setTimeout(function () {
      throw err;
    }, 0);
  });
};


/***/ }),

/***/ "./node_modules/promise/setimmediate/es6-extensions.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


//This file contains the ES6 extensions to the core Promises/A+ API

var Promise = __webpack_require__("./node_modules/promise/setimmediate/core.js");

module.exports = Promise;

/* Static Functions */

var TRUE = valuePromise(true);
var FALSE = valuePromise(false);
var NULL = valuePromise(null);
var UNDEFINED = valuePromise(undefined);
var ZERO = valuePromise(0);
var EMPTYSTRING = valuePromise('');

function valuePromise(value) {
  var p = new Promise(Promise._21);
  p._81 = 1;
  p._1 = value;
  return p;
}
Promise.resolve = function (value) {
  if (value instanceof Promise) return value;

  if (value === null) return NULL;
  if (value === undefined) return UNDEFINED;
  if (value === true) return TRUE;
  if (value === false) return FALSE;
  if (value === 0) return ZERO;
  if (value === '') return EMPTYSTRING;

  if (typeof value === 'object' || typeof value === 'function') {
    try {
      var then = value.then;
      if (typeof then === 'function') {
        return new Promise(then.bind(value));
      }
    } catch (ex) {
      return new Promise(function (resolve, reject) {
        reject(ex);
      });
    }
  }
  return valuePromise(value);
};

Promise.all = function (arr) {
  var args = Array.prototype.slice.call(arr);

  return new Promise(function (resolve, reject) {
    if (args.length === 0) return resolve([]);
    var remaining = args.length;
    function res(i, val) {
      if (val && (typeof val === 'object' || typeof val === 'function')) {
        if (val instanceof Promise && val.then === Promise.prototype.then) {
          while (val._81 === 3) {
            val = val._1;
          }
          if (val._81 === 1) return res(i, val._1);
          if (val._81 === 2) reject(val._1);
          val.then(function (val) {
            res(i, val);
          }, reject);
          return;
        } else {
          var then = val.then;
          if (typeof then === 'function') {
            var p = new Promise(then.bind(val));
            p.then(function (val) {
              res(i, val);
            }, reject);
            return;
          }
        }
      }
      args[i] = val;
      if (--remaining === 0) {
        resolve(args);
      }
    }
    for (var i = 0; i < args.length; i++) {
      res(i, args[i]);
    }
  });
};

Promise.reject = function (value) {
  return new Promise(function (resolve, reject) {
    reject(value);
  });
};

Promise.race = function (values) {
  return new Promise(function (resolve, reject) {
    values.forEach(function(value){
      Promise.resolve(value).then(resolve, reject);
    });
  });
};

/* Prototype Methods */

Promise.prototype['catch'] = function (onRejected) {
  return this.then(null, onRejected);
};


/***/ }),

/***/ "./node_modules/react-clone-referenced-element/cloneReferencedElement.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var React=__webpack_require__("./node_modules/react/react.js");function cloneReferencedElement(element,config){var cloneRef=config.ref;var originalRef=element.ref;for(var _len=arguments.length,children=Array(_len>2?_len-2:0),_key=2;_key<_len;_key++){children[_key-2]=arguments[_key];}if(originalRef==null||cloneRef==null){return React.cloneElement.apply(React,[element,config].concat(children));}if(typeof originalRef!=='function'){if(false){console.warn('Cloning an element with a ref that will be overwritten because it '+'is not a function. Use a composable callback-style ref instead. '+'Ignoring ref: '+originalRef);}return React.cloneElement.apply(React,[element,config].concat(children));}return React.cloneElement.apply(React,[element,_extends({},config,{ref:function ref(component){cloneRef(component);originalRef(component);}})].concat(children));}module.exports=cloneReferencedElement;

/***/ }),

/***/ "./node_modules/react-native/Libraries/ART/ARTSerializablePath.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var Class=__webpack_require__("./node_modules/art/core/class.js");var Path=__webpack_require__("./node_modules/art/core/path.js");var MOVE_TO=0;var CLOSE=1;var LINE_TO=2;var CURVE_TO=3;var ARC=4;var SerializablePath=Class(Path,{initialize:function initialize(path){this.reset();if(path instanceof SerializablePath){this.path=path.path.slice(0);}else if(path){if(path.applyToPath){path.applyToPath(this);}else{this.push(path);}}},onReset:function onReset(){this.path=[];},onMove:function onMove(sx,sy,x,y){this.path.push(MOVE_TO,x,y);},onLine:function onLine(sx,sy,x,y){this.path.push(LINE_TO,x,y);},onBezierCurve:function onBezierCurve(sx,sy,p1x,p1y,p2x,p2y,x,y){this.path.push(CURVE_TO,p1x,p1y,p2x,p2y,x,y);},_arcToBezier:Path.prototype.onArc,onArc:function onArc(sx,sy,ex,ey,cx,cy,rx,ry,sa,ea,ccw,rotation){if(rx!==ry||rotation){return this._arcToBezier(sx,sy,ex,ey,cx,cy,rx,ry,sa,ea,ccw,rotation);}this.path.push(ARC,cx,cy,rx,sa,ea,ccw?0:1);},onClose:function onClose(){this.path.push(CLOSE);},toJSON:function toJSON(){return this.path;}});module.exports=SerializablePath;

/***/ }),

/***/ "./node_modules/react-native/Libraries/ART/ReactNativeART.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/ART/ReactNativeART.js';var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var Color=__webpack_require__("./node_modules/art/core/color.js");var Path=__webpack_require__("./node_modules/react-native/Libraries/ART/ARTSerializablePath.js");var Transform=__webpack_require__("./node_modules/art/core/transform.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var ReactNativeViewAttributes=__webpack_require__("./node_modules/react-native/Libraries/Components/View/ReactNativeViewAttributes.js");var createReactNativeComponentClass=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/createReactNativeComponentClass.js");var merge=__webpack_require__("./node_modules/react-native/Libraries/vendor/core/merge.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");function arrayDiffer(a,b){if(a==null||b==null){return true;}if(a.length!==b.length){return true;}for(var i=0;i<a.length;i++){if(a[i]!==b[i]){return true;}}return false;}function fontAndLinesDiffer(a,b){if(a===b){return false;}if(a.font!==b.font){if(a.font===null){return true;}if(b.font===null){return true;}if(a.font.fontFamily!==b.font.fontFamily||a.font.fontSize!==b.font.fontSize||a.font.fontWeight!==b.font.fontWeight||a.font.fontStyle!==b.font.fontStyle){return true;}}return arrayDiffer(a.lines,b.lines);}var SurfaceViewAttributes=merge(ReactNativeViewAttributes.UIView,{});var NodeAttributes={transform:{diff:arrayDiffer},opacity:true};var GroupAttributes=merge(NodeAttributes,{clipping:{diff:arrayDiffer}});var RenderableAttributes=merge(NodeAttributes,{fill:{diff:arrayDiffer},stroke:{diff:arrayDiffer},strokeWidth:true,strokeCap:true,strokeJoin:true,strokeDash:{diff:arrayDiffer}});var ShapeAttributes=merge(RenderableAttributes,{d:{diff:arrayDiffer}});var TextAttributes=merge(RenderableAttributes,{alignment:true,frame:{diff:fontAndLinesDiffer},path:{diff:arrayDiffer}});var NativeSurfaceView=createReactNativeComponentClass({validAttributes:SurfaceViewAttributes,uiViewClassName:'ARTSurfaceView'});var NativeGroup=createReactNativeComponentClass({validAttributes:GroupAttributes,uiViewClassName:'ARTGroup'});var NativeShape=createReactNativeComponentClass({validAttributes:ShapeAttributes,uiViewClassName:'ARTShape'});var NativeText=createReactNativeComponentClass({validAttributes:TextAttributes,uiViewClassName:'ARTText'});function childrenAsString(children){if(!children){return'';}if(typeof children==='string'){return children;}if(children.length){return children.join('\n');}return'';}var Surface=function(_React$Component){_inherits(Surface,_React$Component);function Surface(){_classCallCheck(this,Surface);return _possibleConstructorReturn(this,(Surface.__proto__||Object.getPrototypeOf(Surface)).apply(this,arguments));}_createClass(Surface,[{key:'getChildContext',value:function getChildContext(){return{isInSurface:true};}},{key:'render',value:function render(){var props=this.props;var w=extractNumber(props.width,0);var h=extractNumber(props.height,0);return React.createElement(NativeSurfaceView,{style:[props.style,{width:w,height:h}],__source:{fileName:_jsxFileName,lineNumber:154}},this.props.children);}}]);return Surface;}(React.Component);Surface.childContextTypes={isInSurface:React.PropTypes.bool};function extractNumber(value,defaultValue){if(value==null){return defaultValue;}return+value;}var pooledTransform=new Transform();function extractTransform(props){var scaleX=props.scaleX!=null?props.scaleX:props.scale!=null?props.scale:1;var scaleY=props.scaleY!=null?props.scaleY:props.scale!=null?props.scale:1;pooledTransform.transformTo(1,0,0,1,0,0).move(props.x||0,props.y||0).rotate(props.rotation||0,props.originX,props.originY).scale(scaleX,scaleY,props.originX,props.originY);if(props.transform!=null){pooledTransform.transform(props.transform);}return[pooledTransform.xx,pooledTransform.yx,pooledTransform.xy,pooledTransform.yy,pooledTransform.x,pooledTransform.y];}function extractOpacity(props){if(props.visible===false){return 0;}if(props.opacity==null){return 1;}return+props.opacity;}var Group=function(_React$Component2){_inherits(Group,_React$Component2);function Group(){_classCallCheck(this,Group);return _possibleConstructorReturn(this,(Group.__proto__||Object.getPrototypeOf(Group)).apply(this,arguments));}_createClass(Group,[{key:'render',value:function render(){var props=this.props;invariant(this.context.isInSurface,'ART: <Group /> must be a child of a <Surface />');return React.createElement(NativeGroup,{opacity:extractOpacity(props),transform:extractTransform(props),__source:{fileName:_jsxFileName,lineNumber:226}},this.props.children);}}]);return Group;}(React.Component);Group.contextTypes={isInSurface:React.PropTypes.bool.isRequired};var ClippingRectangle=function(_React$Component3){_inherits(ClippingRectangle,_React$Component3);function ClippingRectangle(){_classCallCheck(this,ClippingRectangle);return _possibleConstructorReturn(this,(ClippingRectangle.__proto__||Object.getPrototypeOf(ClippingRectangle)).apply(this,arguments));}_createClass(ClippingRectangle,[{key:'render',value:function render(){var props=this.props;var x=extractNumber(props.x,0);var y=extractNumber(props.y,0);var w=extractNumber(props.width,0);var h=extractNumber(props.height,0);var clipping=[x,y,w,h];var propsExcludingXAndY=merge(props);delete propsExcludingXAndY.x;delete propsExcludingXAndY.y;return React.createElement(NativeGroup,{clipping:clipping,opacity:extractOpacity(props),transform:extractTransform(propsExcludingXAndY),__source:{fileName:_jsxFileName,lineNumber:248}},this.props.children);}}]);return ClippingRectangle;}(React.Component);var SOLID_COLOR=0;var LINEAR_GRADIENT=1;var RADIAL_GRADIENT=2;var PATTERN=3;function insertColorIntoArray(color,targetArray,atIndex){var c=new Color(color);targetArray[atIndex+0]=c.red/255;targetArray[atIndex+1]=c.green/255;targetArray[atIndex+2]=c.blue/255;targetArray[atIndex+3]=c.alpha;}function insertColorsIntoArray(stops,targetArray,atIndex){var i=0;if('length'in stops){while(i<stops.length){insertColorIntoArray(stops[i],targetArray,atIndex+i*4);i++;}}else{for(var offset in stops){insertColorIntoArray(stops[offset],targetArray,atIndex+i*4);i++;}}return atIndex+i*4;}function insertOffsetsIntoArray(stops,targetArray,atIndex,multi,reverse){var offsetNumber;var i=0;if('length'in stops){while(i<stops.length){offsetNumber=i/(stops.length-1)*multi;targetArray[atIndex+i]=reverse?1-offsetNumber:offsetNumber;i++;}}else{for(var offsetString in stops){offsetNumber=+offsetString*multi;targetArray[atIndex+i]=reverse?1-offsetNumber:offsetNumber;i++;}}return atIndex+i;}function insertColorStopsIntoArray(stops,targetArray,atIndex){var lastIndex=insertColorsIntoArray(stops,targetArray,atIndex);insertOffsetsIntoArray(stops,targetArray,lastIndex,1,false);}function insertDoubleColorStopsIntoArray(stops,targetArray,atIndex){var lastIndex=insertColorsIntoArray(stops,targetArray,atIndex);lastIndex=insertColorsIntoArray(stops,targetArray,lastIndex);lastIndex=insertOffsetsIntoArray(stops,targetArray,lastIndex,0.5,false);insertOffsetsIntoArray(stops,targetArray,lastIndex,0.5,true);}function applyBoundingBoxToBrushData(brushData,props){var type=brushData[0];var width=+props.width;var height=+props.height;if(type===LINEAR_GRADIENT){brushData[1]*=width;brushData[2]*=height;brushData[3]*=width;brushData[4]*=height;}else if(type===RADIAL_GRADIENT){brushData[1]*=width;brushData[2]*=height;brushData[3]*=width;brushData[4]*=height;brushData[5]*=width;brushData[6]*=height;}else if(type===PATTERN){}}function extractBrush(colorOrBrush,props){if(colorOrBrush==null){return null;}if(colorOrBrush._brush){if(colorOrBrush._bb){applyBoundingBoxToBrushData(colorOrBrush._brush,props);colorOrBrush._bb=false;}return colorOrBrush._brush;}var c=new Color(colorOrBrush);return[SOLID_COLOR,c.red/255,c.green/255,c.blue/255,c.alpha];}function extractColor(color){if(color==null){return null;}var c=new Color(color);return[c.red/255,c.green/255,c.blue/255,c.alpha];}function extractStrokeCap(strokeCap){switch(strokeCap){case'butt':return 0;case'square':return 2;default:return 1;}}function extractStrokeJoin(strokeJoin){switch(strokeJoin){case'miter':return 0;case'bevel':return 2;default:return 1;}}var Shape=function(_React$Component4){_inherits(Shape,_React$Component4);function Shape(){_classCallCheck(this,Shape);return _possibleConstructorReturn(this,(Shape.__proto__||Object.getPrototypeOf(Shape)).apply(this,arguments));}_createClass(Shape,[{key:'render',value:function render(){var props=this.props;var path=props.d||childrenAsString(props.children);var d=new Path(path).toJSON();return React.createElement(NativeShape,{fill:extractBrush(props.fill,props),opacity:extractOpacity(props),stroke:extractColor(props.stroke),strokeCap:extractStrokeCap(props.strokeCap),strokeDash:props.strokeDash||null,strokeJoin:extractStrokeJoin(props.strokeJoin),strokeWidth:extractNumber(props.strokeWidth,1),transform:extractTransform(props),d:d,__source:{fileName:_jsxFileName,lineNumber:396}});}}]);return Shape;}(React.Component);var cachedFontObjectsFromString={};var fontFamilyPrefix=/^[\s"']*/;var fontFamilySuffix=/[\s"']*$/;function extractSingleFontFamily(fontFamilyString){return fontFamilyString.split(',')[0].replace(fontFamilyPrefix,'').replace(fontFamilySuffix,'');}function parseFontString(font){if(cachedFontObjectsFromString.hasOwnProperty(font)){return cachedFontObjectsFromString[font];}var regexp=/^\s*((?:(?:normal|bold|italic)\s+)*)(?:(\d+(?:\.\d+)?)[ptexm\%]*(?:\s*\/.*?)?\s+)?\s*\"?([^\"]*)/i;var match=regexp.exec(font);if(!match){return null;}var fontFamily=extractSingleFontFamily(match[3]);var fontSize=+match[2]||12;var isBold=/bold/.exec(match[1]);var isItalic=/italic/.exec(match[1]);cachedFontObjectsFromString[font]={fontFamily:fontFamily,fontSize:fontSize,fontWeight:isBold?'bold':'normal',fontStyle:isItalic?'italic':'normal'};return cachedFontObjectsFromString[font];}function extractFont(font){if(font==null){return null;}if(typeof font==='string'){return parseFontString(font);}var fontFamily=extractSingleFontFamily(font.fontFamily);var fontSize=+font.fontSize||12;return{fontFamily:fontFamily,fontSize:fontSize,fontWeight:font.fontWeight,fontStyle:font.fontStyle};}var newLine=/\n/g;function extractFontAndLines(font,text){return{font:extractFont(font),lines:text.split(newLine)};}function extractAlignment(alignment){switch(alignment){case'right':return 1;case'center':return 2;default:return 0;}}var Text=function(_React$Component5){_inherits(Text,_React$Component5);function Text(){_classCallCheck(this,Text);return _possibleConstructorReturn(this,(Text.__proto__||Object.getPrototypeOf(Text)).apply(this,arguments));}_createClass(Text,[{key:'render',value:function render(){var props=this.props;var textPath=props.path?new Path(props.path).toJSON():null;var textFrame=extractFontAndLines(props.font,childrenAsString(props.children));return React.createElement(NativeText,{fill:extractBrush(props.fill,props),opacity:extractOpacity(props),stroke:extractColor(props.stroke),strokeCap:extractStrokeCap(props.strokeCap),strokeDash:props.strokeDash||null,strokeJoin:extractStrokeJoin(props.strokeJoin),strokeWidth:extractNumber(props.strokeWidth,1),transform:extractTransform(props),alignment:extractAlignment(props.alignment),frame:textFrame,path:textPath,__source:{fileName:_jsxFileName,lineNumber:493}});}}]);return Text;}(React.Component);function LinearGradient(stops,x1,y1,x2,y2){var type=LINEAR_GRADIENT;if(arguments.length<5){var angle=(x1==null?270:x1)*Math.PI/180;var x=Math.cos(angle);var y=-Math.sin(angle);var l=(Math.abs(x)+Math.abs(y))/2;x*=l;y*=l;x1=0.5-x;x2=0.5+x;y1=0.5-y;y2=0.5+y;this._bb=true;}else{this._bb=false;}var brushData=[type,+x1,+y1,+x2,+y2];insertColorStopsIntoArray(stops,brushData,5);this._brush=brushData;}function RadialGradient(stops,fx,fy,rx,ry,cx,cy){if(ry==null){ry=rx;}if(cx==null){cx=fx;}if(cy==null){cy=fy;}if(fx==null){fx=fy=rx=ry=cx=cy=0.5;this._bb=true;}else{this._bb=false;}var brushData=[RADIAL_GRADIENT,+fx,+fy,+rx*2,+ry*2,+cx,+cy];insertDoubleColorStopsIntoArray(stops,brushData,7);this._brush=brushData;}function Pattern(url,width,height,left,top){this._brush=[PATTERN,url,+left||0,+top||0,+width,+height];}var ReactART={LinearGradient:LinearGradient,RadialGradient:RadialGradient,Pattern:Pattern,Transform:Transform,Path:Path,Surface:Surface,Group:Group,ClippingRectangle:ClippingRectangle,Shape:Shape,Text:Text};module.exports=ReactART;

/***/ }),

/***/ "./node_modules/react-native/Libraries/ActionSheetIOS/ActionSheetIOS.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var RCTActionSheetManager=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").ActionSheetManager;var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var processColor=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/processColor.js");var ActionSheetIOS={showActionSheetWithOptions:function showActionSheetWithOptions(options,callback){invariant(typeof options==='object'&&options!==null,'Options must be a valid object');invariant(typeof callback==='function','Must provide a valid callback');RCTActionSheetManager.showActionSheetWithOptions(_extends({},options,{tintColor:processColor(options.tintColor)}),callback);},showShareActionSheetWithOptions:function showShareActionSheetWithOptions(options,failureCallback,successCallback){invariant(typeof options==='object'&&options!==null,'Options must be a valid object');invariant(typeof failureCallback==='function','Must provide a valid failureCallback');invariant(typeof successCallback==='function','Must provide a valid successCallback');RCTActionSheetManager.showShareActionSheetWithOptions(_extends({},options,{tintColor:processColor(options.tintColor)}),failureCallback,successCallback);}};module.exports=ActionSheetIOS;

/***/ }),

/***/ "./node_modules/react-native/Libraries/AdSupport/AdSupportIOS.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var AdSupport=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").AdSupport;module.exports={getAdvertisingId:function getAdvertisingId(onSuccess,onFailure){AdSupport.getAdvertisingId(onSuccess,onFailure);},getAdvertisingTrackingEnabled:function getAdvertisingTrackingEnabled(onSuccess,onFailure){AdSupport.getAdvertisingTrackingEnabled(onSuccess,onFailure);}};

/***/ }),

/***/ "./node_modules/react-native/Libraries/Alert/Alert.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var AlertIOS=__webpack_require__("./node_modules/react-native/Libraries/Alert/AlertIOS.js");var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var DialogModuleAndroid=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").DialogManagerAndroid;var Alert=function(){function Alert(){_classCallCheck(this,Alert);}_createClass(Alert,null,[{key:'alert',value:function alert(title,message,buttons,options,type){if(Platform.OS==='ios'){if(typeof type!=='undefined'){console.warn('Alert.alert() with a 5th "type" parameter is deprecated and will be removed. Use AlertIOS.prompt() instead.');AlertIOS.alert(title,message,buttons,type);return;}AlertIOS.alert(title,message,buttons);}else if(Platform.OS==='android'){AlertAndroid.alert(title,message,buttons,options);}}}]);return Alert;}();var AlertAndroid=function(){function AlertAndroid(){_classCallCheck(this,AlertAndroid);}_createClass(AlertAndroid,null,[{key:'alert',value:function alert(title,message,buttons,options){var config={title:title||'',message:message||''};if(options){config=_extends({},config,{cancelable:options.cancelable});}var validButtons=buttons?buttons.slice(0,3):[{text:'OK'}];var buttonPositive=validButtons.pop();var buttonNegative=validButtons.pop();var buttonNeutral=validButtons.pop();if(buttonNeutral){config=_extends({},config,{buttonNeutral:buttonNeutral.text||''});}if(buttonNegative){config=_extends({},config,{buttonNegative:buttonNegative.text||''});}if(buttonPositive){config=_extends({},config,{buttonPositive:buttonPositive.text||''});}DialogModuleAndroid.showAlert(config,function(errorMessage){return console.warn(errorMessage);},function(action,buttonKey){if(action!==DialogModuleAndroid.buttonClicked){return;}if(buttonKey===DialogModuleAndroid.buttonNeutral){buttonNeutral.onPress&&buttonNeutral.onPress();}else if(buttonKey===DialogModuleAndroid.buttonNegative){buttonNegative.onPress&&buttonNegative.onPress();}else if(buttonKey===DialogModuleAndroid.buttonPositive){buttonPositive.onPress&&buttonPositive.onPress();}});}}]);return AlertAndroid;}();module.exports=Alert;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Alert/AlertIOS.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var RCTAlertManager=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").AlertManager;var AlertIOS=function(){function AlertIOS(){_classCallCheck(this,AlertIOS);}_createClass(AlertIOS,null,[{key:'alert',value:function alert(title,message,callbackOrButtons,type){if(typeof type!=='undefined'){console.warn('AlertIOS.alert() with a 4th "type" parameter is deprecated and will be removed. Use AlertIOS.prompt() instead.');this.prompt(title,message,callbackOrButtons,type);return;}this.prompt(title,message,callbackOrButtons,'default');}},{key:'prompt',value:function prompt(title,message,callbackOrButtons){var type=arguments.length>3&&arguments[3]!==undefined?arguments[3]:'plain-text';var defaultValue=arguments[4];if(typeof type==='function'){console.warn('You passed a callback function as the "type" argument to AlertIOS.prompt(). React Native is '+'assuming  you want to use the deprecated AlertIOS.prompt(title, defaultValue, buttons, callback) '+'signature. The current signature is AlertIOS.prompt(title, message, callbackOrButtons, type, defaultValue) '+'and the old syntax will be removed in a future version.');var callback=type;var defaultValue=message;RCTAlertManager.alertWithArgs({title:title||undefined,type:'plain-text',defaultValue:defaultValue},function(id,value){callback(value);});return;}var callbacks=[];var buttons=[];var cancelButtonKey;var destructiveButtonKey;if(typeof callbackOrButtons==='function'){callbacks=[callbackOrButtons];}else if(callbackOrButtons instanceof Array){callbackOrButtons.forEach(function(btn,index){callbacks[index]=btn.onPress;if(btn.style==='cancel'){cancelButtonKey=String(index);}else if(btn.style==='destructive'){destructiveButtonKey=String(index);}if(btn.text||index<(callbackOrButtons||[]).length-1){var btnDef={};btnDef[index]=btn.text||'';buttons.push(btnDef);}});}RCTAlertManager.alertWithArgs({title:title||undefined,message:message||undefined,buttons:buttons,type:type||undefined,defaultValue:defaultValue,cancelButtonKey:cancelButtonKey,destructiveButtonKey:destructiveButtonKey},function(id,value){var cb=callbacks[id];cb&&cb(value);});}}]);return AlertIOS;}();module.exports=AlertIOS;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Animated/src/Animated.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var AnimatedImplementation=__webpack_require__("./node_modules/react-native/Libraries/Animated/src/AnimatedImplementation.js");var Image=__webpack_require__("./node_modules/react-native/Libraries/Image/Image.ios.js");var Text=__webpack_require__("./node_modules/react-native/Libraries/Text/Text.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var ScrollView=__webpack_require__("./node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js");module.exports=_extends({},AnimatedImplementation,{View:AnimatedImplementation.createAnimatedComponent(View),Text:AnimatedImplementation.createAnimatedComponent(Text),Image:AnimatedImplementation.createAnimatedComponent(Image),ScrollView:AnimatedImplementation.createAnimatedComponent(ScrollView)});

/***/ }),

/***/ "./node_modules/react-native/Libraries/Animated/src/AnimatedImplementation.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(global) {var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Animated/src/AnimatedImplementation.js';var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _get=function get(object,property,receiver){if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined;}else{return get(parent,property,receiver);}}else if("value"in desc){return desc.value;}else{var getter=desc.get;if(getter===undefined){return undefined;}return getter.call(receiver);}};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var InteractionManager=__webpack_require__("./node_modules/react-native/Libraries/Interaction/InteractionManager.js");var Interpolation=__webpack_require__("./node_modules/react-native/Libraries/Animated/src/Interpolation.js");var NativeAnimatedHelper=__webpack_require__("./node_modules/react-native/Libraries/Animated/src/NativeAnimatedHelper.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var Set=__webpack_require__("./node_modules/react-native/Libraries/vendor/core/Set.js");var SpringConfig=__webpack_require__("./node_modules/react-native/Libraries/Animated/src/SpringConfig.js");var ViewStylePropTypes=__webpack_require__("./node_modules/react-native/Libraries/Components/View/ViewStylePropTypes.js");var findNodeHandle=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/findNodeHandle.js");var flattenStyle=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/flattenStyle.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var requestAnimationFrame=__webpack_require__("./node_modules/fbjs/lib/requestAnimationFrame.js");var NativeAnimatedAPI=NativeAnimatedHelper.API;var warnedMissingNativeAnimated=false;function shouldUseNativeDriver(config){if(config.useNativeDriver&&!NativeAnimatedHelper.isNativeAnimatedAvailable()){if(!warnedMissingNativeAnimated){console.warn('Animated: `useNativeDriver` is not supported because the native '+'animated module is missing. Falling back to JS-based animation. To '+'resolve this, add `RCTAnimation` module to this app, or remove '+'`useNativeDriver`. '+'More info: https://github.com/facebook/react-native/issues/11094#issuecomment-263240420');warnedMissingNativeAnimated=true;}return false;}return config.useNativeDriver||false;}var Animated=function(){function Animated(){_classCallCheck(this,Animated);}_createClass(Animated,[{key:'__attach',value:function __attach(){}},{key:'__detach',value:function __detach(){if(this.__isNative&&this.__nativeTag!=null){NativeAnimatedAPI.dropAnimatedNode(this.__nativeTag);this.__nativeTag=undefined;}}},{key:'__getValue',value:function __getValue(){}},{key:'__getAnimatedValue',value:function __getAnimatedValue(){return this.__getValue();}},{key:'__addChild',value:function __addChild(child){}},{key:'__removeChild',value:function __removeChild(child){}},{key:'__getChildren',value:function __getChildren(){return[];}},{key:'__makeNative',value:function __makeNative(){if(!this.__isNative){throw new Error('This node cannot be made a "native" animated node');}}},{key:'__getNativeTag',value:function __getNativeTag(){NativeAnimatedHelper.assertNativeAnimatedModule();invariant(this.__isNative,'Attempt to get native tag from node not marked as "native"');if(this.__nativeTag==null){var nativeTag=NativeAnimatedHelper.generateNewNodeTag();NativeAnimatedAPI.createAnimatedNode(nativeTag,this.__getNativeConfig());this.__nativeTag=nativeTag;}return this.__nativeTag;}},{key:'__getNativeConfig',value:function __getNativeConfig(){throw new Error('This JS animated node type cannot be used as native animated node');}},{key:'toJSON',value:function toJSON(){return this.__getValue();}}]);return Animated;}();var Animation=function(){function Animation(){_classCallCheck(this,Animation);}_createClass(Animation,[{key:'start',value:function start(fromValue,onUpdate,onEnd,previousAnimation,animatedValue){}},{key:'stop',value:function stop(){if(this.__nativeId){NativeAnimatedAPI.stopAnimation(this.__nativeId);}}},{key:'__getNativeAnimationConfig',value:function __getNativeAnimationConfig(){throw new Error('This animation type cannot be offloaded to native');}},{key:'__debouncedOnEnd',value:function __debouncedOnEnd(result){var onEnd=this.__onEnd;this.__onEnd=null;onEnd&&onEnd(result);}},{key:'__startNativeAnimation',value:function __startNativeAnimation(animatedValue){animatedValue.__makeNative();this.__nativeId=NativeAnimatedHelper.generateNewAnimationId();NativeAnimatedAPI.startAnimatingNode(this.__nativeId,animatedValue.__getNativeTag(),this.__getNativeAnimationConfig(),this.__debouncedOnEnd.bind(this));}}]);return Animation;}();var AnimatedWithChildren=function(_Animated){_inherits(AnimatedWithChildren,_Animated);function AnimatedWithChildren(){_classCallCheck(this,AnimatedWithChildren);var _this=_possibleConstructorReturn(this,(AnimatedWithChildren.__proto__||Object.getPrototypeOf(AnimatedWithChildren)).call(this));_this._children=[];return _this;}_createClass(AnimatedWithChildren,[{key:'__makeNative',value:function __makeNative(){if(!this.__isNative){this.__isNative=true;for(var _iterator=this._children,_isArray=Array.isArray(_iterator),_i=0,_iterator=_isArray?_iterator:_iterator[typeof Symbol==='function'?Symbol.iterator:'@@iterator']();;){var _ref;if(_isArray){if(_i>=_iterator.length)break;_ref=_iterator[_i++];}else{_i=_iterator.next();if(_i.done)break;_ref=_i.value;}var child=_ref;child.__makeNative();NativeAnimatedAPI.connectAnimatedNodes(this.__getNativeTag(),child.__getNativeTag());}}}},{key:'__addChild',value:function __addChild(child){if(this._children.length===0){this.__attach();}this._children.push(child);if(this.__isNative){child.__makeNative();NativeAnimatedAPI.connectAnimatedNodes(this.__getNativeTag(),child.__getNativeTag());}}},{key:'__removeChild',value:function __removeChild(child){var index=this._children.indexOf(child);if(index===-1){console.warn('Trying to remove a child that doesn\'t exist');return;}if(this.__isNative&&child.__isNative){NativeAnimatedAPI.disconnectAnimatedNodes(this.__getNativeTag(),child.__getNativeTag());}this._children.splice(index,1);if(this._children.length===0){this.__detach();}}},{key:'__getChildren',value:function __getChildren(){return this._children;}}]);return AnimatedWithChildren;}(Animated);function _flush(rootNode){var animatedStyles=new Set();function findAnimatedStyles(node){if(typeof node.update==='function'){animatedStyles.add(node);}else{node.__getChildren().forEach(findAnimatedStyles);}}findAnimatedStyles(rootNode);animatedStyles.forEach(function(animatedStyle){return animatedStyle.update();});}var _easeInOut=void 0;function easeInOut(){if(!_easeInOut){var Easing=__webpack_require__("./node_modules/react-native/Libraries/Animated/src/Easing.js");_easeInOut=Easing.inOut(Easing.ease);}return _easeInOut;}var TimingAnimation=function(_Animation){_inherits(TimingAnimation,_Animation);function TimingAnimation(config){_classCallCheck(this,TimingAnimation);var _this2=_possibleConstructorReturn(this,(TimingAnimation.__proto__||Object.getPrototypeOf(TimingAnimation)).call(this));_this2._toValue=config.toValue;_this2._easing=config.easing!==undefined?config.easing:easeInOut();_this2._duration=config.duration!==undefined?config.duration:500;_this2._delay=config.delay!==undefined?config.delay:0;_this2.__isInteraction=config.isInteraction!==undefined?config.isInteraction:true;_this2._useNativeDriver=shouldUseNativeDriver(config);return _this2;}_createClass(TimingAnimation,[{key:'__getNativeAnimationConfig',value:function __getNativeAnimationConfig(){var frameDuration=1000.0/60.0;var frames=[];for(var dt=0.0;dt<this._duration;dt+=frameDuration){frames.push(this._easing(dt/this._duration));}frames.push(this._easing(1));return{type:'frames',frames:frames,toValue:this._toValue,delay:this._delay};}},{key:'start',value:function start(fromValue,onUpdate,onEnd,previousAnimation,animatedValue){var _this3=this;this.__active=true;this._fromValue=fromValue;this._onUpdate=onUpdate;this.__onEnd=onEnd;var start=function start(){if(_this3._duration===0&&!_this3._useNativeDriver){_this3._onUpdate(_this3._toValue);_this3.__debouncedOnEnd({finished:true});}else{_this3._startTime=Date.now();if(_this3._useNativeDriver){_this3.__startNativeAnimation(animatedValue);}else{_this3._animationFrame=requestAnimationFrame(_this3.onUpdate.bind(_this3));}}};if(this._delay){this._timeout=setTimeout(start,this._delay);}else{start();}}},{key:'onUpdate',value:function onUpdate(){var now=Date.now();if(now>=this._startTime+this._duration){if(this._duration===0){this._onUpdate(this._toValue);}else{this._onUpdate(this._fromValue+this._easing(1)*(this._toValue-this._fromValue));}this.__debouncedOnEnd({finished:true});return;}this._onUpdate(this._fromValue+this._easing((now-this._startTime)/this._duration)*(this._toValue-this._fromValue));if(this.__active){this._animationFrame=requestAnimationFrame(this.onUpdate.bind(this));}}},{key:'stop',value:function stop(){_get(TimingAnimation.prototype.__proto__||Object.getPrototypeOf(TimingAnimation.prototype),'stop',this).call(this);this.__active=false;clearTimeout(this._timeout);global.cancelAnimationFrame(this._animationFrame);this.__debouncedOnEnd({finished:false});}}]);return TimingAnimation;}(Animation);var DecayAnimation=function(_Animation2){_inherits(DecayAnimation,_Animation2);function DecayAnimation(config){_classCallCheck(this,DecayAnimation);var _this4=_possibleConstructorReturn(this,(DecayAnimation.__proto__||Object.getPrototypeOf(DecayAnimation)).call(this));_this4._deceleration=config.deceleration!==undefined?config.deceleration:0.998;_this4._velocity=config.velocity;_this4._useNativeDriver=shouldUseNativeDriver(config);_this4.__isInteraction=config.isInteraction!==undefined?config.isInteraction:true;return _this4;}_createClass(DecayAnimation,[{key:'__getNativeAnimationConfig',value:function __getNativeAnimationConfig(){return{type:'decay',deceleration:this._deceleration,velocity:this._velocity};}},{key:'start',value:function start(fromValue,onUpdate,onEnd,previousAnimation,animatedValue){this.__active=true;this._lastValue=fromValue;this._fromValue=fromValue;this._onUpdate=onUpdate;this.__onEnd=onEnd;this._startTime=Date.now();if(this._useNativeDriver){this.__startNativeAnimation(animatedValue);}else{this._animationFrame=requestAnimationFrame(this.onUpdate.bind(this));}}},{key:'onUpdate',value:function onUpdate(){var now=Date.now();var value=this._fromValue+this._velocity/(1-this._deceleration)*(1-Math.exp(-(1-this._deceleration)*(now-this._startTime)));this._onUpdate(value);if(Math.abs(this._lastValue-value)<0.1){this.__debouncedOnEnd({finished:true});return;}this._lastValue=value;if(this.__active){this._animationFrame=requestAnimationFrame(this.onUpdate.bind(this));}}},{key:'stop',value:function stop(){_get(DecayAnimation.prototype.__proto__||Object.getPrototypeOf(DecayAnimation.prototype),'stop',this).call(this);this.__active=false;global.cancelAnimationFrame(this._animationFrame);this.__debouncedOnEnd({finished:false});}}]);return DecayAnimation;}(Animation);function withDefault(value,defaultValue){if(value===undefined||value===null){return defaultValue;}return value;}var SpringAnimation=function(_Animation3){_inherits(SpringAnimation,_Animation3);function SpringAnimation(config){_classCallCheck(this,SpringAnimation);var _this5=_possibleConstructorReturn(this,(SpringAnimation.__proto__||Object.getPrototypeOf(SpringAnimation)).call(this));_this5._overshootClamping=withDefault(config.overshootClamping,false);_this5._restDisplacementThreshold=withDefault(config.restDisplacementThreshold,0.001);_this5._restSpeedThreshold=withDefault(config.restSpeedThreshold,0.001);_this5._initialVelocity=config.velocity;_this5._lastVelocity=withDefault(config.velocity,0);_this5._toValue=config.toValue;_this5._useNativeDriver=shouldUseNativeDriver(config);_this5.__isInteraction=config.isInteraction!==undefined?config.isInteraction:true;var springConfig;if(config.bounciness!==undefined||config.speed!==undefined){invariant(config.tension===undefined&&config.friction===undefined,'You can only define bounciness/speed or tension/friction but not both');springConfig=SpringConfig.fromBouncinessAndSpeed(withDefault(config.bounciness,8),withDefault(config.speed,12));}else{springConfig=SpringConfig.fromOrigamiTensionAndFriction(withDefault(config.tension,40),withDefault(config.friction,7));}_this5._tension=springConfig.tension;_this5._friction=springConfig.friction;return _this5;}_createClass(SpringAnimation,[{key:'__getNativeAnimationConfig',value:function __getNativeAnimationConfig(){return{type:'spring',overshootClamping:this._overshootClamping,restDisplacementThreshold:this._restDisplacementThreshold,restSpeedThreshold:this._restSpeedThreshold,tension:this._tension,friction:this._friction,initialVelocity:withDefault(this._initialVelocity,this._lastVelocity),toValue:this._toValue};}},{key:'start',value:function start(fromValue,onUpdate,onEnd,previousAnimation,animatedValue){this.__active=true;this._startPosition=fromValue;this._lastPosition=this._startPosition;this._onUpdate=onUpdate;this.__onEnd=onEnd;this._lastTime=Date.now();if(previousAnimation instanceof SpringAnimation){var internalState=previousAnimation.getInternalState();this._lastPosition=internalState.lastPosition;this._lastVelocity=internalState.lastVelocity;this._lastTime=internalState.lastTime;}if(this._initialVelocity!==undefined&&this._initialVelocity!==null){this._lastVelocity=this._initialVelocity;}if(this._useNativeDriver){this.__startNativeAnimation(animatedValue);}else{this.onUpdate();}}},{key:'getInternalState',value:function getInternalState(){return{lastPosition:this._lastPosition,lastVelocity:this._lastVelocity,lastTime:this._lastTime};}},{key:'onUpdate',value:function onUpdate(){var position=this._lastPosition;var velocity=this._lastVelocity;var tempPosition=this._lastPosition;var tempVelocity=this._lastVelocity;var MAX_STEPS=64;var now=Date.now();if(now>this._lastTime+MAX_STEPS){now=this._lastTime+MAX_STEPS;}var TIMESTEP_MSEC=1;var numSteps=Math.floor((now-this._lastTime)/TIMESTEP_MSEC);for(var i=0;i<numSteps;++i){var step=TIMESTEP_MSEC/1000;var aVelocity=velocity;var aAcceleration=this._tension*(this._toValue-tempPosition)-this._friction*tempVelocity;var tempPosition=position+aVelocity*step/2;var tempVelocity=velocity+aAcceleration*step/2;var bVelocity=tempVelocity;var bAcceleration=this._tension*(this._toValue-tempPosition)-this._friction*tempVelocity;tempPosition=position+bVelocity*step/2;tempVelocity=velocity+bAcceleration*step/2;var cVelocity=tempVelocity;var cAcceleration=this._tension*(this._toValue-tempPosition)-this._friction*tempVelocity;tempPosition=position+cVelocity*step/2;tempVelocity=velocity+cAcceleration*step/2;var dVelocity=tempVelocity;var dAcceleration=this._tension*(this._toValue-tempPosition)-this._friction*tempVelocity;tempPosition=position+cVelocity*step/2;tempVelocity=velocity+cAcceleration*step/2;var dxdt=(aVelocity+2*(bVelocity+cVelocity)+dVelocity)/6;var dvdt=(aAcceleration+2*(bAcceleration+cAcceleration)+dAcceleration)/6;position+=dxdt*step;velocity+=dvdt*step;}this._lastTime=now;this._lastPosition=position;this._lastVelocity=velocity;this._onUpdate(position);if(!this.__active){return;}var isOvershooting=false;if(this._overshootClamping&&this._tension!==0){if(this._startPosition<this._toValue){isOvershooting=position>this._toValue;}else{isOvershooting=position<this._toValue;}}var isVelocity=Math.abs(velocity)<=this._restSpeedThreshold;var isDisplacement=true;if(this._tension!==0){isDisplacement=Math.abs(this._toValue-position)<=this._restDisplacementThreshold;}if(isOvershooting||isVelocity&&isDisplacement){if(this._tension!==0){this._onUpdate(this._toValue);}this.__debouncedOnEnd({finished:true});return;}this._animationFrame=requestAnimationFrame(this.onUpdate.bind(this));}},{key:'stop',value:function stop(){_get(SpringAnimation.prototype.__proto__||Object.getPrototypeOf(SpringAnimation.prototype),'stop',this).call(this);this.__active=false;global.cancelAnimationFrame(this._animationFrame);this.__debouncedOnEnd({finished:false});}}]);return SpringAnimation;}(Animation);var _uniqueId=1;var AnimatedValue=function(_AnimatedWithChildren){_inherits(AnimatedValue,_AnimatedWithChildren);function AnimatedValue(value){_classCallCheck(this,AnimatedValue);var _this6=_possibleConstructorReturn(this,(AnimatedValue.__proto__||Object.getPrototypeOf(AnimatedValue)).call(this));_this6._value=value;_this6._offset=0;_this6._animation=null;_this6._listeners={};return _this6;}_createClass(AnimatedValue,[{key:'__detach',value:function __detach(){this.stopAnimation();_get(AnimatedValue.prototype.__proto__||Object.getPrototypeOf(AnimatedValue.prototype),'__detach',this).call(this);}},{key:'__getValue',value:function __getValue(){return this._value+this._offset;}},{key:'__makeNative',value:function __makeNative(){_get(AnimatedValue.prototype.__proto__||Object.getPrototypeOf(AnimatedValue.prototype),'__makeNative',this).call(this);if(Object.keys(this._listeners).length){this._startListeningToNativeValueUpdates();}}},{key:'setValue',value:function setValue(value){if(this._animation){this._animation.stop();this._animation=null;}this._updateValue(value,!this.__isNative);if(this.__isNative){NativeAnimatedAPI.setAnimatedNodeValue(this.__getNativeTag(),value);}}},{key:'setOffset',value:function setOffset(offset){this._offset=offset;if(this.__isNative){NativeAnimatedAPI.setAnimatedNodeOffset(this.__getNativeTag(),offset);}}},{key:'flattenOffset',value:function flattenOffset(){this._value+=this._offset;this._offset=0;if(this.__isNative){NativeAnimatedAPI.flattenAnimatedNodeOffset(this.__getNativeTag());}}},{key:'extractOffset',value:function extractOffset(){this._offset+=this._value;this._value=0;if(this.__isNative){NativeAnimatedAPI.extractAnimatedNodeOffset(this.__getNativeTag());}}},{key:'addListener',value:function addListener(callback){var id=String(_uniqueId++);this._listeners[id]=callback;if(this.__isNative){this._startListeningToNativeValueUpdates();}return id;}},{key:'removeListener',value:function removeListener(id){delete this._listeners[id];if(this.__isNative&&Object.keys(this._listeners).length===0){this._stopListeningForNativeValueUpdates();}}},{key:'removeAllListeners',value:function removeAllListeners(){this._listeners={};if(this.__isNative){this._stopListeningForNativeValueUpdates();}}},{key:'_startListeningToNativeValueUpdates',value:function _startListeningToNativeValueUpdates(){var _this7=this;if(this.__nativeAnimatedValueListener){return;}NativeAnimatedAPI.startListeningToAnimatedNodeValue(this.__getNativeTag());this.__nativeAnimatedValueListener=NativeAnimatedHelper.nativeEventEmitter.addListener('onAnimatedValueUpdate',function(data){if(data.tag!==_this7.__getNativeTag()){return;}_this7._updateValue(data.value,false);});}},{key:'_stopListeningForNativeValueUpdates',value:function _stopListeningForNativeValueUpdates(){if(!this.__nativeAnimatedValueListener){return;}this.__nativeAnimatedValueListener.remove();this.__nativeAnimatedValueListener=null;NativeAnimatedAPI.stopListeningToAnimatedNodeValue(this.__getNativeTag());}},{key:'stopAnimation',value:function stopAnimation(callback){this.stopTracking();this._animation&&this._animation.stop();this._animation=null;callback&&callback(this.__getValue());}},{key:'interpolate',value:function interpolate(config){return new AnimatedInterpolation(this,config);}},{key:'animate',value:function animate(animation,callback){var _this8=this;var handle=null;if(animation.__isInteraction){handle=InteractionManager.createInteractionHandle();}var previousAnimation=this._animation;this._animation&&this._animation.stop();this._animation=animation;animation.start(this._value,function(value){_this8._updateValue(value,true);},function(result){_this8._animation=null;if(handle!==null){InteractionManager.clearInteractionHandle(handle);}callback&&callback(result);},previousAnimation,this);}},{key:'stopTracking',value:function stopTracking(){this._tracking&&this._tracking.__detach();this._tracking=null;}},{key:'track',value:function track(tracking){this.stopTracking();this._tracking=tracking;}},{key:'_updateValue',value:function _updateValue(value,flush){this._value=value;if(flush){_flush(this);}for(var key in this._listeners){this._listeners[key]({value:this.__getValue()});}}},{key:'__getNativeConfig',value:function __getNativeConfig(){return{type:'value',value:this._value,offset:this._offset};}}]);return AnimatedValue;}(AnimatedWithChildren);var AnimatedValueXY=function(_AnimatedWithChildren2){_inherits(AnimatedValueXY,_AnimatedWithChildren2);function AnimatedValueXY(valueIn){_classCallCheck(this,AnimatedValueXY);var _this9=_possibleConstructorReturn(this,(AnimatedValueXY.__proto__||Object.getPrototypeOf(AnimatedValueXY)).call(this));var value=valueIn||{x:0,y:0};if(typeof value.x==='number'&&typeof value.y==='number'){_this9.x=new AnimatedValue(value.x);_this9.y=new AnimatedValue(value.y);}else{invariant(value.x instanceof AnimatedValue&&value.y instanceof AnimatedValue,'AnimatedValueXY must be initalized with an object of numbers or '+'AnimatedValues.');_this9.x=value.x;_this9.y=value.y;}_this9._listeners={};return _this9;}_createClass(AnimatedValueXY,[{key:'setValue',value:function setValue(value){this.x.setValue(value.x);this.y.setValue(value.y);}},{key:'setOffset',value:function setOffset(offset){this.x.setOffset(offset.x);this.y.setOffset(offset.y);}},{key:'flattenOffset',value:function flattenOffset(){this.x.flattenOffset();this.y.flattenOffset();}},{key:'__getValue',value:function __getValue(){return{x:this.x.__getValue(),y:this.y.__getValue()};}},{key:'stopAnimation',value:function stopAnimation(callback){this.x.stopAnimation();this.y.stopAnimation();callback&&callback(this.__getValue());}},{key:'addListener',value:function addListener(callback){var _this10=this;var id=String(_uniqueId++);var jointCallback=function jointCallback(_ref2){var number=_ref2.value;callback(_this10.__getValue());};this._listeners[id]={x:this.x.addListener(jointCallback),y:this.y.addListener(jointCallback)};return id;}},{key:'removeListener',value:function removeListener(id){this.x.removeListener(this._listeners[id].x);this.y.removeListener(this._listeners[id].y);delete this._listeners[id];}},{key:'getLayout',value:function getLayout(){return{left:this.x,top:this.y};}},{key:'getTranslateTransform',value:function getTranslateTransform(){return[{translateX:this.x},{translateY:this.y}];}}]);return AnimatedValueXY;}(AnimatedWithChildren);var AnimatedInterpolation=function(_AnimatedWithChildren3){_inherits(AnimatedInterpolation,_AnimatedWithChildren3);function AnimatedInterpolation(parent,config){_classCallCheck(this,AnimatedInterpolation);var _this11=_possibleConstructorReturn(this,(AnimatedInterpolation.__proto__||Object.getPrototypeOf(AnimatedInterpolation)).call(this));_this11._parent=parent;_this11._config=config;_this11._interpolation=Interpolation.create(config);return _this11;}_createClass(AnimatedInterpolation,[{key:'__getValue',value:function __getValue(){var parentValue=this._parent.__getValue();invariant(typeof parentValue==='number','Cannot interpolate an input which is not a number.');return this._interpolation(parentValue);}},{key:'interpolate',value:function interpolate(config){return new AnimatedInterpolation(this,config);}},{key:'__attach',value:function __attach(){this._parent.__addChild(this);}},{key:'__detach',value:function __detach(){this._parent.__removeChild(this);_get(AnimatedInterpolation.prototype.__proto__||Object.getPrototypeOf(AnimatedInterpolation.prototype),'__detach',this).call(this);}},{key:'__transformDataType',value:function __transformDataType(range){return range.map(function(value){if(typeof value!=='string'){return value;}if(/deg$/.test(value)){var degrees=parseFloat(value,10)||0;var radians=degrees*Math.PI/180.0;return radians;}else{return parseFloat(value,10)||0;}});}},{key:'__getNativeConfig',value:function __getNativeConfig(){if(false){NativeAnimatedHelper.validateInterpolation(this._config);}return{inputRange:this._config.inputRange,outputRange:this.__transformDataType(this._config.outputRange),extrapolateLeft:this._config.extrapolateLeft||this._config.extrapolate||'extend',extrapolateRight:this._config.extrapolateRight||this._config.extrapolate||'extend',type:'interpolation'};}}]);return AnimatedInterpolation;}(AnimatedWithChildren);var AnimatedAddition=function(_AnimatedWithChildren4){_inherits(AnimatedAddition,_AnimatedWithChildren4);function AnimatedAddition(a,b){_classCallCheck(this,AnimatedAddition);var _this12=_possibleConstructorReturn(this,(AnimatedAddition.__proto__||Object.getPrototypeOf(AnimatedAddition)).call(this));_this12._a=typeof a==='number'?new AnimatedValue(a):a;_this12._b=typeof b==='number'?new AnimatedValue(b):b;return _this12;}_createClass(AnimatedAddition,[{key:'__makeNative',value:function __makeNative(){this._a.__makeNative();this._b.__makeNative();_get(AnimatedAddition.prototype.__proto__||Object.getPrototypeOf(AnimatedAddition.prototype),'__makeNative',this).call(this);}},{key:'__getValue',value:function __getValue(){return this._a.__getValue()+this._b.__getValue();}},{key:'interpolate',value:function interpolate(config){return new AnimatedInterpolation(this,config);}},{key:'__attach',value:function __attach(){this._a.__addChild(this);this._b.__addChild(this);}},{key:'__detach',value:function __detach(){this._a.__removeChild(this);this._b.__removeChild(this);_get(AnimatedAddition.prototype.__proto__||Object.getPrototypeOf(AnimatedAddition.prototype),'__detach',this).call(this);}},{key:'__getNativeConfig',value:function __getNativeConfig(){return{type:'addition',input:[this._a.__getNativeTag(),this._b.__getNativeTag()]};}}]);return AnimatedAddition;}(AnimatedWithChildren);var AnimatedDivision=function(_AnimatedWithChildren5){_inherits(AnimatedDivision,_AnimatedWithChildren5);function AnimatedDivision(a,b){_classCallCheck(this,AnimatedDivision);var _this13=_possibleConstructorReturn(this,(AnimatedDivision.__proto__||Object.getPrototypeOf(AnimatedDivision)).call(this));_this13._a=typeof a==='number'?new AnimatedValue(a):a;_this13._b=typeof b==='number'?new AnimatedValue(b):b;return _this13;}_createClass(AnimatedDivision,[{key:'__makeNative',value:function __makeNative(){_get(AnimatedDivision.prototype.__proto__||Object.getPrototypeOf(AnimatedDivision.prototype),'__makeNative',this).call(this);this._a.__makeNative();this._b.__makeNative();}},{key:'__getValue',value:function __getValue(){var a=this._a.__getValue();var b=this._b.__getValue();if(b===0){console.error('Detected division by zero in AnimatedDivision');}return a/b;}},{key:'interpolate',value:function interpolate(config){return new AnimatedInterpolation(this,config);}},{key:'__attach',value:function __attach(){this._a.__addChild(this);this._b.__addChild(this);}},{key:'__detach',value:function __detach(){this._a.__removeChild(this);this._b.__removeChild(this);_get(AnimatedDivision.prototype.__proto__||Object.getPrototypeOf(AnimatedDivision.prototype),'__detach',this).call(this);}},{key:'__getNativeConfig',value:function __getNativeConfig(){return{type:'division',input:[this._a.__getNativeTag(),this._b.__getNativeTag()]};}}]);return AnimatedDivision;}(AnimatedWithChildren);var AnimatedMultiplication=function(_AnimatedWithChildren6){_inherits(AnimatedMultiplication,_AnimatedWithChildren6);function AnimatedMultiplication(a,b){_classCallCheck(this,AnimatedMultiplication);var _this14=_possibleConstructorReturn(this,(AnimatedMultiplication.__proto__||Object.getPrototypeOf(AnimatedMultiplication)).call(this));_this14._a=typeof a==='number'?new AnimatedValue(a):a;_this14._b=typeof b==='number'?new AnimatedValue(b):b;return _this14;}_createClass(AnimatedMultiplication,[{key:'__makeNative',value:function __makeNative(){_get(AnimatedMultiplication.prototype.__proto__||Object.getPrototypeOf(AnimatedMultiplication.prototype),'__makeNative',this).call(this);this._a.__makeNative();this._b.__makeNative();}},{key:'__getValue',value:function __getValue(){return this._a.__getValue()*this._b.__getValue();}},{key:'interpolate',value:function interpolate(config){return new AnimatedInterpolation(this,config);}},{key:'__attach',value:function __attach(){this._a.__addChild(this);this._b.__addChild(this);}},{key:'__detach',value:function __detach(){this._a.__removeChild(this);this._b.__removeChild(this);_get(AnimatedMultiplication.prototype.__proto__||Object.getPrototypeOf(AnimatedMultiplication.prototype),'__detach',this).call(this);}},{key:'__getNativeConfig',value:function __getNativeConfig(){return{type:'multiplication',input:[this._a.__getNativeTag(),this._b.__getNativeTag()]};}}]);return AnimatedMultiplication;}(AnimatedWithChildren);var AnimatedModulo=function(_AnimatedWithChildren7){_inherits(AnimatedModulo,_AnimatedWithChildren7);function AnimatedModulo(a,modulus){_classCallCheck(this,AnimatedModulo);var _this15=_possibleConstructorReturn(this,(AnimatedModulo.__proto__||Object.getPrototypeOf(AnimatedModulo)).call(this));_this15._a=a;_this15._modulus=modulus;return _this15;}_createClass(AnimatedModulo,[{key:'__makeNative',value:function __makeNative(){_get(AnimatedModulo.prototype.__proto__||Object.getPrototypeOf(AnimatedModulo.prototype),'__makeNative',this).call(this);this._a.__makeNative();}},{key:'__getValue',value:function __getValue(){return(this._a.__getValue()%this._modulus+this._modulus)%this._modulus;}},{key:'interpolate',value:function interpolate(config){return new AnimatedInterpolation(this,config);}},{key:'__attach',value:function __attach(){this._a.__addChild(this);}},{key:'__detach',value:function __detach(){this._a.__removeChild(this);}},{key:'__getNativeConfig',value:function __getNativeConfig(){return{type:'modulus',input:this._a.__getNativeTag(),modulus:this._modulus};}}]);return AnimatedModulo;}(AnimatedWithChildren);var AnimatedDiffClamp=function(_AnimatedWithChildren8){_inherits(AnimatedDiffClamp,_AnimatedWithChildren8);function AnimatedDiffClamp(a,min,max){_classCallCheck(this,AnimatedDiffClamp);var _this16=_possibleConstructorReturn(this,(AnimatedDiffClamp.__proto__||Object.getPrototypeOf(AnimatedDiffClamp)).call(this));_this16._a=a;_this16._min=min;_this16._max=max;_this16._value=_this16._lastValue=_this16._a.__getValue();return _this16;}_createClass(AnimatedDiffClamp,[{key:'__makeNative',value:function __makeNative(){_get(AnimatedDiffClamp.prototype.__proto__||Object.getPrototypeOf(AnimatedDiffClamp.prototype),'__makeNative',this).call(this);this._a.__makeNative();}},{key:'interpolate',value:function interpolate(config){return new AnimatedInterpolation(this,config);}},{key:'__getValue',value:function __getValue(){var value=this._a.__getValue();var diff=value-this._lastValue;this._lastValue=value;this._value=Math.min(Math.max(this._value+diff,this._min),this._max);return this._value;}},{key:'__attach',value:function __attach(){this._a.__addChild(this);}},{key:'__detach',value:function __detach(){this._a.__removeChild(this);}},{key:'__getNativeConfig',value:function __getNativeConfig(){return{type:'diffclamp',input:this._a.__getNativeTag(),min:this._min,max:this._max};}}]);return AnimatedDiffClamp;}(AnimatedWithChildren);var AnimatedTransform=function(_AnimatedWithChildren9){_inherits(AnimatedTransform,_AnimatedWithChildren9);function AnimatedTransform(transforms){_classCallCheck(this,AnimatedTransform);var _this17=_possibleConstructorReturn(this,(AnimatedTransform.__proto__||Object.getPrototypeOf(AnimatedTransform)).call(this));_this17._transforms=transforms;return _this17;}_createClass(AnimatedTransform,[{key:'__makeNative',value:function __makeNative(){_get(AnimatedTransform.prototype.__proto__||Object.getPrototypeOf(AnimatedTransform.prototype),'__makeNative',this).call(this);this._transforms.forEach(function(transform){for(var key in transform){var value=transform[key];if(value instanceof Animated){value.__makeNative();}}});}},{key:'__getValue',value:function __getValue(){return this._transforms.map(function(transform){var result={};for(var key in transform){var value=transform[key];if(value instanceof Animated){result[key]=value.__getValue();}else{result[key]=value;}}return result;});}},{key:'__getAnimatedValue',value:function __getAnimatedValue(){return this._transforms.map(function(transform){var result={};for(var key in transform){var value=transform[key];if(value instanceof Animated){result[key]=value.__getAnimatedValue();}else{result[key]=value;}}return result;});}},{key:'__attach',value:function __attach(){var _this18=this;this._transforms.forEach(function(transform){for(var key in transform){var value=transform[key];if(value instanceof Animated){value.__addChild(_this18);}}});}},{key:'__detach',value:function __detach(){var _this19=this;this._transforms.forEach(function(transform){for(var key in transform){var value=transform[key];if(value instanceof Animated){value.__removeChild(_this19);}}});}},{key:'__getNativeConfig',value:function __getNativeConfig(){var transConfigs=[];this._transforms.forEach(function(transform){for(var key in transform){var value=transform[key];if(value instanceof Animated){transConfigs.push({type:'animated',property:key,nodeTag:value.__getNativeTag()});}else{transConfigs.push({type:'static',property:key,value:value});}}});NativeAnimatedHelper.validateTransform(transConfigs);return{type:'transform',transforms:transConfigs};}}]);return AnimatedTransform;}(AnimatedWithChildren);var AnimatedStyle=function(_AnimatedWithChildren10){_inherits(AnimatedStyle,_AnimatedWithChildren10);function AnimatedStyle(style){_classCallCheck(this,AnimatedStyle);var _this20=_possibleConstructorReturn(this,(AnimatedStyle.__proto__||Object.getPrototypeOf(AnimatedStyle)).call(this));style=flattenStyle(style)||{};if(style.transform){style=_extends({},style,{transform:new AnimatedTransform(style.transform)});}_this20._style=style;return _this20;}_createClass(AnimatedStyle,[{key:'__getValue',value:function __getValue(){var style={};for(var key in this._style){var value=this._style[key];if(value instanceof Animated){if(!value.__isNative){style[key]=value.__getValue();}}else{style[key]=value;}}return style;}},{key:'__getAnimatedValue',value:function __getAnimatedValue(){var style={};for(var key in this._style){var value=this._style[key];if(value instanceof Animated){style[key]=value.__getAnimatedValue();}}return style;}},{key:'__attach',value:function __attach(){for(var key in this._style){var value=this._style[key];if(value instanceof Animated){value.__addChild(this);}}}},{key:'__detach',value:function __detach(){for(var key in this._style){var value=this._style[key];if(value instanceof Animated){value.__removeChild(this);}}}},{key:'__makeNative',value:function __makeNative(){_get(AnimatedStyle.prototype.__proto__||Object.getPrototypeOf(AnimatedStyle.prototype),'__makeNative',this).call(this);for(var key in this._style){var value=this._style[key];if(value instanceof Animated){value.__makeNative();}}}},{key:'__getNativeConfig',value:function __getNativeConfig(){var styleConfig={};for(var styleKey in this._style){if(this._style[styleKey]instanceof Animated){styleConfig[styleKey]=this._style[styleKey].__getNativeTag();}}NativeAnimatedHelper.validateStyles(styleConfig);return{type:'style',style:styleConfig};}}]);return AnimatedStyle;}(AnimatedWithChildren);var AnimatedProps=function(_Animated2){_inherits(AnimatedProps,_Animated2);function AnimatedProps(props,callback){_classCallCheck(this,AnimatedProps);var _this21=_possibleConstructorReturn(this,(AnimatedProps.__proto__||Object.getPrototypeOf(AnimatedProps)).call(this));if(props.style){props=_extends({},props,{style:new AnimatedStyle(props.style)});}_this21._props=props;_this21._callback=callback;_this21.__attach();return _this21;}_createClass(AnimatedProps,[{key:'__getValue',value:function __getValue(){var props={};for(var key in this._props){var value=this._props[key];if(value instanceof Animated){if(!value.__isNative||value instanceof AnimatedStyle){props[key]=value.__getValue();}}else if(value instanceof AnimatedEvent){props[key]=value.__getHandler();}else{props[key]=value;}}return props;}},{key:'__getAnimatedValue',value:function __getAnimatedValue(){var props={};for(var key in this._props){var value=this._props[key];if(value instanceof Animated){props[key]=value.__getAnimatedValue();}}return props;}},{key:'__attach',value:function __attach(){for(var key in this._props){var value=this._props[key];if(value instanceof Animated){value.__addChild(this);}}}},{key:'__detach',value:function __detach(){if(this.__isNative&&this._animatedView){this.__disconnectAnimatedView();}for(var key in this._props){var value=this._props[key];if(value instanceof Animated){value.__removeChild(this);}}_get(AnimatedProps.prototype.__proto__||Object.getPrototypeOf(AnimatedProps.prototype),'__detach',this).call(this);}},{key:'update',value:function update(){this._callback();}},{key:'__makeNative',value:function __makeNative(){if(!this.__isNative){this.__isNative=true;for(var key in this._props){var value=this._props[key];if(value instanceof Animated){value.__makeNative();}}if(this._animatedView){this.__connectAnimatedView();}}}},{key:'setNativeView',value:function setNativeView(animatedView){invariant(this._animatedView===undefined,'Animated view already set.');this._animatedView=animatedView;if(this.__isNative){this.__connectAnimatedView();}}},{key:'__connectAnimatedView',value:function __connectAnimatedView(){invariant(this.__isNative,'Expected node to be marked as "native"');var nativeViewTag=findNodeHandle(this._animatedView);invariant(nativeViewTag!=null,'Unable to locate attached view in the native tree');NativeAnimatedAPI.connectAnimatedNodeToView(this.__getNativeTag(),nativeViewTag);}},{key:'__disconnectAnimatedView',value:function __disconnectAnimatedView(){invariant(this.__isNative,'Expected node to be marked as "native"');var nativeViewTag=findNodeHandle(this._animatedView);invariant(nativeViewTag!=null,'Unable to locate attached view in the native tree');NativeAnimatedAPI.disconnectAnimatedNodeFromView(this.__getNativeTag(),nativeViewTag);}},{key:'__getNativeConfig',value:function __getNativeConfig(){var propsConfig={};for(var propKey in this._props){var value=this._props[propKey];if(value instanceof Animated){propsConfig[propKey]=value.__getNativeTag();}}NativeAnimatedHelper.validateProps(propsConfig);return{type:'props',props:propsConfig};}}]);return AnimatedProps;}(Animated);function createAnimatedComponent(Component){var AnimatedComponent=function(_React$Component){_inherits(AnimatedComponent,_React$Component);function AnimatedComponent(props){_classCallCheck(this,AnimatedComponent);var _this22=_possibleConstructorReturn(this,(AnimatedComponent.__proto__||Object.getPrototypeOf(AnimatedComponent)).call(this,props));_this22._setComponentRef=_this22._setComponentRef.bind(_this22);return _this22;}_createClass(AnimatedComponent,[{key:'componentWillUnmount',value:function componentWillUnmount(){this._propsAnimated&&this._propsAnimated.__detach();this._detachNativeEvents(this.props);}},{key:'setNativeProps',value:function setNativeProps(props){this._component.setNativeProps(props);}},{key:'componentWillMount',value:function componentWillMount(){this._attachProps(this.props);}},{key:'componentDidMount',value:function componentDidMount(){this._propsAnimated.setNativeView(this._component);this._attachNativeEvents(this.props);}},{key:'_attachNativeEvents',value:function _attachNativeEvents(newProps){if(newProps!==this.props){this._detachNativeEvents(this.props);}var ref=this._component.getScrollableNode?this._component.getScrollableNode():this._component;for(var _key in newProps){var prop=newProps[_key];if(prop instanceof AnimatedEvent&&prop.__isNative){prop.__attach(ref,_key);}}}},{key:'_detachNativeEvents',value:function _detachNativeEvents(props){var ref=this._component.getScrollableNode?this._component.getScrollableNode():this._component;for(var _key2 in props){var prop=props[_key2];if(prop instanceof AnimatedEvent&&prop.__isNative){prop.__detach(ref,_key2);}}}},{key:'_attachProps',value:function _attachProps(nextProps){var _this23=this;var oldPropsAnimated=this._propsAnimated;var callback=function callback(){if(_this23._component.setNativeProps){if(!_this23._propsAnimated.__isNative){_this23._component.setNativeProps(_this23._propsAnimated.__getAnimatedValue());}else{throw new Error('Attempting to run JS driven animation on animated '+'node that has been moved to "native" earlier by starting an '+'animation with `useNativeDriver: true`');}}else{_this23.forceUpdate();}};this._propsAnimated=new AnimatedProps(nextProps,callback);if(this._component){this._propsAnimated.setNativeView(this._component);}oldPropsAnimated&&oldPropsAnimated.__detach();}},{key:'componentWillReceiveProps',value:function componentWillReceiveProps(nextProps){this._attachProps(nextProps);this._attachNativeEvents(nextProps);}},{key:'render',value:function render(){return React.createElement(Component,_extends({},this._propsAnimated.__getValue(),{ref:this._setComponentRef,__source:{fileName:_jsxFileName,lineNumber:1797}}));}},{key:'_setComponentRef',value:function _setComponentRef(c){this._component=c;}},{key:'getNode',value:function getNode(){return this._component;}}]);return AnimatedComponent;}(React.Component);AnimatedComponent.propTypes={style:function style(props,propName,componentName){if(!Component.propTypes){return;}for(var key in ViewStylePropTypes){if(!Component.propTypes[key]&&props[key]!==undefined){console.warn('You are setting the style `{ '+key+': ... }` as a prop. You '+'should nest it in a style object. '+'E.g. `{ style: { '+key+': ... } }`');}}}};return AnimatedComponent;}var AnimatedTracking=function(_Animated3){_inherits(AnimatedTracking,_Animated3);function AnimatedTracking(value,parent,animationClass,animationConfig,callback){_classCallCheck(this,AnimatedTracking);var _this24=_possibleConstructorReturn(this,(AnimatedTracking.__proto__||Object.getPrototypeOf(AnimatedTracking)).call(this));_this24._value=value;_this24._parent=parent;_this24._animationClass=animationClass;_this24._animationConfig=animationConfig;_this24._callback=callback;_this24.__attach();return _this24;}_createClass(AnimatedTracking,[{key:'__getValue',value:function __getValue(){return this._parent.__getValue();}},{key:'__attach',value:function __attach(){this._parent.__addChild(this);}},{key:'__detach',value:function __detach(){this._parent.__removeChild(this);_get(AnimatedTracking.prototype.__proto__||Object.getPrototypeOf(AnimatedTracking.prototype),'__detach',this).call(this);}},{key:'update',value:function update(){this._value.animate(new this._animationClass(_extends({},this._animationConfig,{toValue:this._animationConfig.toValue.__getValue()})),this._callback);}}]);return AnimatedTracking;}(Animated);var add=function add(a,b){return new AnimatedAddition(a,b);};var divide=function divide(a,b){return new AnimatedDivision(a,b);};var multiply=function multiply(a,b){return new AnimatedMultiplication(a,b);};var modulo=function modulo(a,modulus){return new AnimatedModulo(a,modulus);};var diffClamp=function diffClamp(a,min,max){return new AnimatedDiffClamp(a,min,max);};var _combineCallbacks=function _combineCallbacks(callback,config){if(callback&&config.onComplete){return function(){config.onComplete&&config.onComplete.apply(config,arguments);callback&&callback.apply(undefined,arguments);};}else{return callback||config.onComplete;}};var maybeVectorAnim=function maybeVectorAnim(value,config,anim){if(value instanceof AnimatedValueXY){var configX=_extends({},config);var configY=_extends({},config);for(var key in config){var _config$key=config[key],x=_config$key.x,y=_config$key.y;if(x!==undefined&&y!==undefined){configX[key]=x;configY[key]=y;}}var aX=anim(value.x,configX);var aY=anim(value.y,configY);return parallel([aX,aY],{stopTogether:false});}return null;};var spring=function spring(value,config){return maybeVectorAnim(value,config,spring)||{start:function start(callback){callback=_combineCallbacks(callback,config);var singleValue=value;var singleConfig=config;singleValue.stopTracking();if(config.toValue instanceof Animated){singleValue.track(new AnimatedTracking(singleValue,config.toValue,SpringAnimation,singleConfig,callback));}else{singleValue.animate(new SpringAnimation(singleConfig),callback);}},stop:function stop(){value.stopAnimation();}};};var timing=function timing(value,config){return maybeVectorAnim(value,config,timing)||{start:function start(callback){callback=_combineCallbacks(callback,config);var singleValue=value;var singleConfig=config;singleValue.stopTracking();if(config.toValue instanceof Animated){singleValue.track(new AnimatedTracking(singleValue,config.toValue,TimingAnimation,singleConfig,callback));}else{singleValue.animate(new TimingAnimation(singleConfig),callback);}},stop:function stop(){value.stopAnimation();}};};var decay=function decay(value,config){return maybeVectorAnim(value,config,decay)||{start:function start(callback){callback=_combineCallbacks(callback,config);var singleValue=value;var singleConfig=config;singleValue.stopTracking();singleValue.animate(new DecayAnimation(singleConfig),callback);},stop:function stop(){value.stopAnimation();}};};var sequence=function sequence(animations){var current=0;return{start:function start(callback){var onComplete=function onComplete(result){if(!result.finished){callback&&callback(result);return;}current++;if(current===animations.length){callback&&callback(result);return;}animations[current].start(onComplete);};if(animations.length===0){callback&&callback({finished:true});}else{animations[current].start(onComplete);}},stop:function stop(){if(current<animations.length){animations[current].stop();}}};};var parallel=function parallel(animations,config){var doneCount=0;var hasEnded={};var stopTogether=!(config&&config.stopTogether===false);var result={start:function start(callback){if(doneCount===animations.length){callback&&callback({finished:true});return;}animations.forEach(function(animation,idx){var cb=function cb(endResult){hasEnded[idx]=true;doneCount++;if(doneCount===animations.length){doneCount=0;callback&&callback(endResult);return;}if(!endResult.finished&&stopTogether){result.stop();}};if(!animation){cb({finished:true});}else{animation.start(cb);}});},stop:function stop(){animations.forEach(function(animation,idx){!hasEnded[idx]&&animation.stop();hasEnded[idx]=true;});}};return result;};var delay=function delay(time){return timing(new AnimatedValue(0),{toValue:0,delay:time,duration:0});};var stagger=function stagger(time,animations){return parallel(animations.map(function(animation,i){return sequence([delay(time*i),animation]);}));};var AnimatedEvent=function(){function AnimatedEvent(argMapping){var config=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};_classCallCheck(this,AnimatedEvent);this._argMapping=argMapping;this._listener=config.listener;this.__isNative=shouldUseNativeDriver(config);if(this.__isNative){invariant(!this._listener,'Listener is not supported for native driven events.');}if(false){this._validateMapping();}}_createClass(AnimatedEvent,[{key:'__attach',value:function __attach(viewRef,eventName){invariant(this.__isNative,'Only native driven events need to be attached.');var eventMappings=[];var traverse=function traverse(value,path){if(value instanceof AnimatedValue){value.__makeNative();eventMappings.push({nativeEventPath:path,animatedValueTag:value.__getNativeTag()});}else if(typeof value==='object'){for(var _key3 in value){traverse(value[_key3],path.concat(_key3));}}};invariant(this._argMapping[0]&&this._argMapping[0].nativeEvent,'Native driven events only support animated values contained inside `nativeEvent`.');traverse(this._argMapping[0].nativeEvent,[]);var viewTag=findNodeHandle(viewRef);eventMappings.forEach(function(mapping){NativeAnimatedAPI.addAnimatedEventToView(viewTag,eventName,mapping);});}},{key:'__detach',value:function __detach(viewTag,eventName){invariant(this.__isNative,'Only native driven events need to be detached.');NativeAnimatedAPI.removeAnimatedEventFromView(viewTag,eventName);}},{key:'__getHandler',value:function __getHandler(){var _this25=this;return function(){for(var _len=arguments.length,args=Array(_len),_key4=0;_key4<_len;_key4++){args[_key4]=arguments[_key4];}var traverse=function traverse(recMapping,recEvt,key){if(typeof recEvt==='number'&&recMapping instanceof AnimatedValue){recMapping.setValue(recEvt);}else if(typeof recMapping==='object'){for(var mappingKey in recMapping){traverse(recMapping[mappingKey],recEvt[mappingKey],mappingKey);}}};if(!_this25.__isNative){_this25._argMapping.forEach(function(mapping,idx){traverse(mapping,args[idx],'arg'+idx);});}if(_this25._listener){_this25._listener.apply(null,args);}};}},{key:'_validateMapping',value:function _validateMapping(){var traverse=function traverse(recMapping,recEvt,key){if(typeof recEvt==='number'){invariant(recMapping instanceof AnimatedValue,'Bad mapping of type '+typeof recMapping+' for key '+key+', event value must map to AnimatedValue');return;}invariant(typeof recMapping==='object','Bad mapping of type '+typeof recMapping+' for key '+key);invariant(typeof recEvt==='object','Bad event of type '+typeof recEvt+' for key '+key);for(var mappingKey in recMapping){traverse(recMapping[mappingKey],recEvt[mappingKey],mappingKey);}};}}]);return AnimatedEvent;}();var event=function event(argMapping,config){var animatedEvent=new AnimatedEvent(argMapping,config);if(animatedEvent.__isNative){return animatedEvent;}else{return animatedEvent.__getHandler();}};module.exports={Value:AnimatedValue,ValueXY:AnimatedValueXY,decay:decay,timing:timing,spring:spring,add:add,divide:divide,multiply:multiply,modulo:modulo,diffClamp:diffClamp,delay:delay,sequence:sequence,parallel:parallel,stagger:stagger,event:event,createAnimatedComponent:createAnimatedComponent,__PropsOnlyForTests:AnimatedProps};
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/webpack/buildin/global.js")))

/***/ }),

/***/ "./node_modules/react-native/Libraries/Animated/src/Easing.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var _ease=void 0;var Easing=function(){function Easing(){_classCallCheck(this,Easing);}_createClass(Easing,null,[{key:'step0',value:function step0(n){return n>0?1:0;}},{key:'step1',value:function step1(n){return n>=1?1:0;}},{key:'linear',value:function linear(t){return t;}},{key:'ease',value:function ease(t){if(!_ease){_ease=Easing.bezier(0.42,0,1,1);}return _ease(t);}},{key:'quad',value:function quad(t){return t*t;}},{key:'cubic',value:function cubic(t){return t*t*t;}},{key:'poly',value:function poly(n){return function(t){return Math.pow(t,n);};}},{key:'sin',value:function sin(t){return 1-Math.cos(t*Math.PI/2);}},{key:'circle',value:function circle(t){return 1-Math.sqrt(1-t*t);}},{key:'exp',value:function exp(t){return Math.pow(2,10*(t-1));}},{key:'elastic',value:function elastic(){var bounciness=arguments.length>0&&arguments[0]!==undefined?arguments[0]:1;var p=bounciness*Math.PI;return function(t){return 1-Math.pow(Math.cos(t*Math.PI/2),3)*Math.cos(t*p);};}},{key:'back',value:function back(s){if(s===undefined){s=1.70158;}return function(t){return t*t*((s+1)*t-s);};}},{key:'bounce',value:function bounce(t){if(t<1/2.75){return 7.5625*t*t;}if(t<2/2.75){t-=1.5/2.75;return 7.5625*t*t+0.75;}if(t<2.5/2.75){t-=2.25/2.75;return 7.5625*t*t+0.9375;}t-=2.625/2.75;return 7.5625*t*t+0.984375;}},{key:'bezier',value:function bezier(x1,y1,x2,y2){var _bezier=__webpack_require__("./node_modules/react-native/Libraries/Animated/src/bezier.js");return _bezier(x1,y1,x2,y2);}},{key:'in',value:function _in(easing){return easing;}},{key:'out',value:function out(easing){return function(t){return 1-easing(1-t);};}},{key:'inOut',value:function inOut(easing){return function(t){if(t<0.5){return easing(t*2)/2;}return 1-easing((1-t)*2)/2;};}}]);return Easing;}();module.exports=Easing;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Animated/src/Interpolation.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var normalizeColor=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/normalizeColor.js");var linear=function linear(t){return t;};var Interpolation=function(){function Interpolation(){_classCallCheck(this,Interpolation);}_createClass(Interpolation,null,[{key:'create',value:function create(config){if(config.outputRange&&typeof config.outputRange[0]==='string'){return createInterpolationFromStringOutputRange(config);}var outputRange=config.outputRange;checkInfiniteRange('outputRange',outputRange);var inputRange=config.inputRange;checkInfiniteRange('inputRange',inputRange);checkValidInputRange(inputRange);invariant(inputRange.length===outputRange.length,'inputRange ('+inputRange.length+') and outputRange ('+outputRange.length+') must have the same length');var easing=config.easing||linear;var extrapolateLeft='extend';if(config.extrapolateLeft!==undefined){extrapolateLeft=config.extrapolateLeft;}else if(config.extrapolate!==undefined){extrapolateLeft=config.extrapolate;}var extrapolateRight='extend';if(config.extrapolateRight!==undefined){extrapolateRight=config.extrapolateRight;}else if(config.extrapolate!==undefined){extrapolateRight=config.extrapolate;}return function(input){invariant(typeof input==='number','Cannot interpolation an input which is not a number');var range=findRange(input,inputRange);return interpolate(input,inputRange[range],inputRange[range+1],outputRange[range],outputRange[range+1],easing,extrapolateLeft,extrapolateRight);};}}]);return Interpolation;}();function interpolate(input,inputMin,inputMax,outputMin,outputMax,easing,extrapolateLeft,extrapolateRight){var result=input;if(result<inputMin){if(extrapolateLeft==='identity'){return result;}else if(extrapolateLeft==='clamp'){result=inputMin;}else if(extrapolateLeft==='extend'){}}if(result>inputMax){if(extrapolateRight==='identity'){return result;}else if(extrapolateRight==='clamp'){result=inputMax;}else if(extrapolateRight==='extend'){}}if(outputMin===outputMax){return outputMin;}if(inputMin===inputMax){if(input<=inputMin){return outputMin;}return outputMax;}if(inputMin===-Infinity){result=-result;}else if(inputMax===Infinity){result=result-inputMin;}else{result=(result-inputMin)/(inputMax-inputMin);}result=easing(result);if(outputMin===-Infinity){result=-result;}else if(outputMax===Infinity){result=result+outputMin;}else{result=result*(outputMax-outputMin)+outputMin;}return result;}function colorToRgba(input){var int32Color=normalizeColor(input);if(int32Color===null){return input;}int32Color=int32Color||0;var r=(int32Color&0xff000000)>>>24;var g=(int32Color&0x00ff0000)>>>16;var b=(int32Color&0x0000ff00)>>>8;var a=(int32Color&0x000000ff)/255;return'rgba('+r+', '+g+', '+b+', '+a+')';}var stringShapeRegex=/[0-9\.-]+/g;function createInterpolationFromStringOutputRange(config){var outputRange=config.outputRange;invariant(outputRange.length>=2,'Bad output range');outputRange=outputRange.map(colorToRgba);checkPattern(outputRange);var outputRanges=outputRange[0].match(stringShapeRegex).map(function(){return[];});outputRange.forEach(function(value){value.match(stringShapeRegex).forEach(function(number,i){outputRanges[i].push(+number);});});var interpolations=outputRange[0].match(stringShapeRegex).map(function(value,i){return Interpolation.create(_extends({},config,{outputRange:outputRanges[i]}));});var shouldRound=isRgbOrRgba(outputRange[0]);return function(input){var i=0;return outputRange[0].replace(stringShapeRegex,function(){var val=+interpolations[i++](input);var rounded=shouldRound&&i<4?Math.round(val):Math.round(val*1000)/1000;return String(rounded);});};}function isRgbOrRgba(range){return typeof range==='string'&&range.startsWith('rgb');}function checkPattern(arr){var pattern=arr[0].replace(stringShapeRegex,'');for(var i=1;i<arr.length;++i){invariant(pattern===arr[i].replace(stringShapeRegex,''),'invalid pattern '+arr[0]+' and '+arr[i]);}}function findRange(input,inputRange){for(var i=1;i<inputRange.length-1;++i){if(inputRange[i]>=input){break;}}return i-1;}function checkValidInputRange(arr){invariant(arr.length>=2,'inputRange must have at least 2 elements');for(var i=1;i<arr.length;++i){invariant(arr[i]>=arr[i-1],'inputRange must be monotonically increasing '+arr);}}function checkInfiniteRange(name,arr){invariant(arr.length>=2,name+' must have at least 2 elements');invariant(arr.length!==2||arr[0]!==-Infinity||arr[1]!==Infinity,name+'cannot be ]-infinity;+infinity[ '+arr);}module.exports=Interpolation;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Animated/src/NativeAnimatedHelper.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var NativeAnimatedModule=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").NativeAnimatedModule;var NativeEventEmitter=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/NativeEventEmitter.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var __nativeAnimatedNodeTagCount=1;var __nativeAnimationIdCount=1;var nativeEventEmitter=void 0;var API={createAnimatedNode:function createAnimatedNode(tag,config){assertNativeAnimatedModule();NativeAnimatedModule.createAnimatedNode(tag,config);},startListeningToAnimatedNodeValue:function startListeningToAnimatedNodeValue(tag){assertNativeAnimatedModule();NativeAnimatedModule.startListeningToAnimatedNodeValue(tag);},stopListeningToAnimatedNodeValue:function stopListeningToAnimatedNodeValue(tag){assertNativeAnimatedModule();NativeAnimatedModule.stopListeningToAnimatedNodeValue(tag);},connectAnimatedNodes:function connectAnimatedNodes(parentTag,childTag){assertNativeAnimatedModule();NativeAnimatedModule.connectAnimatedNodes(parentTag,childTag);},disconnectAnimatedNodes:function disconnectAnimatedNodes(parentTag,childTag){assertNativeAnimatedModule();NativeAnimatedModule.disconnectAnimatedNodes(parentTag,childTag);},startAnimatingNode:function startAnimatingNode(animationId,nodeTag,config,endCallback){assertNativeAnimatedModule();NativeAnimatedModule.startAnimatingNode(animationId,nodeTag,config,endCallback);},stopAnimation:function stopAnimation(animationId){assertNativeAnimatedModule();NativeAnimatedModule.stopAnimation(animationId);},setAnimatedNodeValue:function setAnimatedNodeValue(nodeTag,value){assertNativeAnimatedModule();NativeAnimatedModule.setAnimatedNodeValue(nodeTag,value);},setAnimatedNodeOffset:function setAnimatedNodeOffset(nodeTag,offset){assertNativeAnimatedModule();NativeAnimatedModule.setAnimatedNodeOffset(nodeTag,offset);},flattenAnimatedNodeOffset:function flattenAnimatedNodeOffset(nodeTag){assertNativeAnimatedModule();NativeAnimatedModule.flattenAnimatedNodeOffset(nodeTag);},extractAnimatedNodeOffset:function extractAnimatedNodeOffset(nodeTag){assertNativeAnimatedModule();NativeAnimatedModule.extractAnimatedNodeOffset(nodeTag);},connectAnimatedNodeToView:function connectAnimatedNodeToView(nodeTag,viewTag){assertNativeAnimatedModule();NativeAnimatedModule.connectAnimatedNodeToView(nodeTag,viewTag);},disconnectAnimatedNodeFromView:function disconnectAnimatedNodeFromView(nodeTag,viewTag){assertNativeAnimatedModule();NativeAnimatedModule.disconnectAnimatedNodeFromView(nodeTag,viewTag);},dropAnimatedNode:function dropAnimatedNode(tag){assertNativeAnimatedModule();NativeAnimatedModule.dropAnimatedNode(tag);},addAnimatedEventToView:function addAnimatedEventToView(viewTag,eventName,eventMapping){assertNativeAnimatedModule();NativeAnimatedModule.addAnimatedEventToView(viewTag,eventName,eventMapping);},removeAnimatedEventFromView:function removeAnimatedEventFromView(viewTag,eventName){assertNativeAnimatedModule();NativeAnimatedModule.removeAnimatedEventFromView(viewTag,eventName);}};var PROPS_WHITELIST={style:{opacity:true,transform:true,scaleX:true,scaleY:true,translateX:true,translateY:true}};var TRANSFORM_WHITELIST={translateX:true,translateY:true,scale:true,scaleX:true,scaleY:true,rotate:true,rotateX:true,rotateY:true,perspective:true};function validateProps(params){for(var key in params){if(!PROPS_WHITELIST.hasOwnProperty(key)){throw new Error('Property \''+key+'\' is not supported by native animated module');}}}function validateTransform(configs){configs.forEach(function(config){if(!TRANSFORM_WHITELIST.hasOwnProperty(config.property)){throw new Error('Property \''+config.property+'\' is not supported by native animated module');}});}function validateStyles(styles){var STYLES_WHITELIST=PROPS_WHITELIST.style||{};for(var key in styles){if(!STYLES_WHITELIST.hasOwnProperty(key)){throw new Error('Style property \''+key+'\' is not supported by native animated module');}}}function validateInterpolation(config){var SUPPORTED_INTERPOLATION_PARAMS={inputRange:true,outputRange:true,extrapolate:true,extrapolateRight:true,extrapolateLeft:true};for(var key in config){if(!SUPPORTED_INTERPOLATION_PARAMS.hasOwnProperty(key)){throw new Error('Interpolation property \''+key+'\' is not supported by native animated module');}}}function generateNewNodeTag(){return __nativeAnimatedNodeTagCount++;}function generateNewAnimationId(){return __nativeAnimationIdCount++;}function assertNativeAnimatedModule(){invariant(NativeAnimatedModule,'Native animated module is not available');}function isNativeAnimatedAvailable(){return!!NativeAnimatedModule;}module.exports={API:API,validateProps:validateProps,validateStyles:validateStyles,validateTransform:validateTransform,validateInterpolation:validateInterpolation,generateNewNodeTag:generateNewNodeTag,generateNewAnimationId:generateNewAnimationId,assertNativeAnimatedModule:assertNativeAnimatedModule,isNativeAnimatedAvailable:isNativeAnimatedAvailable,get nativeEventEmitter(){if(!nativeEventEmitter){nativeEventEmitter=new NativeEventEmitter(NativeAnimatedModule);}return nativeEventEmitter;}};

/***/ }),

/***/ "./node_modules/react-native/Libraries/Animated/src/SpringConfig.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
function tensionFromOrigamiValue(oValue){return(oValue-30)*3.62+194;}function frictionFromOrigamiValue(oValue){return(oValue-8)*3+25;}function fromOrigamiTensionAndFriction(tension,friction){return{tension:tensionFromOrigamiValue(tension),friction:frictionFromOrigamiValue(friction)};}function fromBouncinessAndSpeed(bounciness,speed){function normalize(value,startValue,endValue){return(value-startValue)/(endValue-startValue);}function projectNormal(n,start,end){return start+n*(end-start);}function linearInterpolation(t,start,end){return t*end+(1-t)*start;}function quadraticOutInterpolation(t,start,end){return linearInterpolation(2*t-t*t,start,end);}function b3Friction1(x){return 0.0007*Math.pow(x,3)-0.031*Math.pow(x,2)+0.64*x+1.28;}function b3Friction2(x){return 0.000044*Math.pow(x,3)-0.006*Math.pow(x,2)+0.36*x+2;}function b3Friction3(x){return 0.00000045*Math.pow(x,3)-0.000332*Math.pow(x,2)+0.1078*x+5.84;}function b3Nobounce(tension){if(tension<=18){return b3Friction1(tension);}else if(tension>18&&tension<=44){return b3Friction2(tension);}else{return b3Friction3(tension);}}var b=normalize(bounciness/1.7,0,20);b=projectNormal(b,0,0.8);var s=normalize(speed/1.7,0,20);var bouncyTension=projectNormal(s,0.5,200);var bouncyFriction=quadraticOutInterpolation(b,b3Nobounce(bouncyTension),0.01);return{tension:tensionFromOrigamiValue(bouncyTension),friction:frictionFromOrigamiValue(bouncyFriction)};}module.exports={fromOrigamiTensionAndFriction:fromOrigamiTensionAndFriction,fromBouncinessAndSpeed:fromBouncinessAndSpeed};

/***/ }),

/***/ "./node_modules/react-native/Libraries/Animated/src/bezier.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var NEWTON_ITERATIONS=4;var NEWTON_MIN_SLOPE=0.001;var SUBDIVISION_PRECISION=0.0000001;var SUBDIVISION_MAX_ITERATIONS=10;var kSplineTableSize=11;var kSampleStepSize=1.0/(kSplineTableSize-1.0);var float32ArraySupported=typeof Float32Array==='function';function A(aA1,aA2){return 1.0-3.0*aA2+3.0*aA1;}function B(aA1,aA2){return 3.0*aA2-6.0*aA1;}function C(aA1){return 3.0*aA1;}function calcBezier(aT,aA1,aA2){return((A(aA1,aA2)*aT+B(aA1,aA2))*aT+C(aA1))*aT;}function getSlope(aT,aA1,aA2){return 3.0*A(aA1,aA2)*aT*aT+2.0*B(aA1,aA2)*aT+C(aA1);}function binarySubdivide(aX,aA,aB,mX1,mX2){var currentX,currentT,i=0;do{currentT=aA+(aB-aA)/2.0;currentX=calcBezier(currentT,mX1,mX2)-aX;if(currentX>0.0){aB=currentT;}else{aA=currentT;}}while(Math.abs(currentX)>SUBDIVISION_PRECISION&&++i<SUBDIVISION_MAX_ITERATIONS);return currentT;}function newtonRaphsonIterate(aX,aGuessT,mX1,mX2){for(var i=0;i<NEWTON_ITERATIONS;++i){var currentSlope=getSlope(aGuessT,mX1,mX2);if(currentSlope===0.0){return aGuessT;}var currentX=calcBezier(aGuessT,mX1,mX2)-aX;aGuessT-=currentX/currentSlope;}return aGuessT;}module.exports=function bezier(mX1,mY1,mX2,mY2){if(!(0<=mX1&&mX1<=1&&0<=mX2&&mX2<=1)){throw new Error('bezier x values must be in [0, 1] range');}var sampleValues=float32ArraySupported?new Float32Array(kSplineTableSize):new Array(kSplineTableSize);if(mX1!==mY1||mX2!==mY2){for(var i=0;i<kSplineTableSize;++i){sampleValues[i]=calcBezier(i*kSampleStepSize,mX1,mX2);}}function getTForX(aX){var intervalStart=0.0;var currentSample=1;var lastSample=kSplineTableSize-1;for(;currentSample!==lastSample&&sampleValues[currentSample]<=aX;++currentSample){intervalStart+=kSampleStepSize;}--currentSample;var dist=(aX-sampleValues[currentSample])/(sampleValues[currentSample+1]-sampleValues[currentSample]);var guessForT=intervalStart+dist*kSampleStepSize;var initialSlope=getSlope(guessForT,mX1,mX2);if(initialSlope>=NEWTON_MIN_SLOPE){return newtonRaphsonIterate(aX,guessForT,mX1,mX2);}else if(initialSlope===0.0){return guessForT;}else{return binarySubdivide(aX,intervalStart,intervalStart+kSampleStepSize,mX1,mX2);}}return function BezierEasing(x){if(mX1===mY1&&mX2===mY2){return x;}if(x===0){return 0;}if(x===1){return 1;}return calcBezier(getTForX(x),mY1,mY2);};};

/***/ }),

/***/ "./node_modules/react-native/Libraries/AppState/AppState.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var NativeEventEmitter=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/NativeEventEmitter.js");var NativeModules=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js");var RCTAppState=NativeModules.AppState;var logError=__webpack_require__("./node_modules/react-native/Libraries/Utilities/logError.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var AppState=function(_NativeEventEmitter){_inherits(AppState,_NativeEventEmitter);function AppState(){_classCallCheck(this,AppState);var _this=_possibleConstructorReturn(this,(AppState.__proto__||Object.getPrototypeOf(AppState)).call(this,RCTAppState));_this._eventHandlers={change:new Map(),memoryWarning:new Map()};_this.currentState=RCTAppState.initialAppState||'active';_this.addListener('appStateDidChange',function(appStateData){_this.currentState=appStateData.app_state;});RCTAppState.getCurrentAppState(function(appStateData){_this.currentState=appStateData.app_state;},logError);return _this;}_createClass(AppState,[{key:'addEventListener',value:function addEventListener(type,handler){invariant(['change','memoryWarning'].indexOf(type)!==-1,'Trying to subscribe to unknown event: "%s"',type);if(type==='change'){this._eventHandlers[type].set(handler,this.addListener('appStateDidChange',function(appStateData){handler(appStateData.app_state);}));}else if(type==='memoryWarning'){this._eventHandlers[type].set(handler,this.addListener('memoryWarning',handler));}}},{key:'removeEventListener',value:function removeEventListener(type,handler){invariant(['change','memoryWarning'].indexOf(type)!==-1,'Trying to remove listener for unknown event: "%s"',type);if(!this._eventHandlers[type].has(handler)){return;}this._eventHandlers[type].get(handler).remove();this._eventHandlers[type].delete(handler);}}]);return AppState;}(NativeEventEmitter);AppState=new AppState();module.exports=AppState;

/***/ }),

/***/ "./node_modules/react-native/Libraries/BatchedBridge/BatchedBridge.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(global) {var MessageQueue=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js");var BatchedBridge=new MessageQueue();BatchedBridge.registerCallableModule('Systrace',__webpack_require__("./node_modules/react-native/Libraries/Performance/Systrace.js"));BatchedBridge.registerCallableModule('JSTimersExecution',__webpack_require__("./node_modules/react-native/Libraries/Core/Timers/JSTimersExecution.js"));BatchedBridge.registerCallableModule('HeapCapture',__webpack_require__("./node_modules/react-native/Libraries/Utilities/HeapCapture.js"));BatchedBridge.registerCallableModule('SamplingProfiler',__webpack_require__("./node_modules/react-native/Libraries/Performance/SamplingProfiler.js"));if(false){BatchedBridge.registerCallableModule('HMRClient',require('HMRClient'));}Object.defineProperty(global,'__fbBatchedBridge',{configurable:true,value:BatchedBridge});module.exports=BatchedBridge;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/webpack/buildin/global.js")))

/***/ }),

/***/ "./node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(global) {var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var ErrorUtils=__webpack_require__("./node_modules/react-native/Libraries/Core/ErrorUtils.js");var JSTimersExecution=__webpack_require__("./node_modules/react-native/Libraries/Core/Timers/JSTimersExecution.js");var Systrace=__webpack_require__("./node_modules/react-native/Libraries/Performance/Systrace.js");var deepFreezeAndThrowOnMutationInDev=__webpack_require__("./node_modules/react-native/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var stringifySafe=__webpack_require__("./node_modules/react-native/Libraries/Utilities/stringifySafe.js");var TO_JS=0;var TO_NATIVE=1;var MODULE_IDS=0;var METHOD_IDS=1;var PARAMS=2;var MIN_TIME_BETWEEN_FLUSHES_MS=5;var TRACE_TAG_REACT_APPS=1<<17;var DEBUG_INFO_LIMIT=32;var guard=function guard(fn){try{fn();}catch(error){ErrorUtils.reportFatalError(error);}};var MessageQueue=function(){function MessageQueue(){_classCallCheck(this,MessageQueue);this._callableModules={};this._queue=[[],[],[],0];this._callbacks=[];this._callbackID=0;this._callID=0;this._lastFlush=0;this._eventLoopStartTime=new Date().getTime();if(false){this._debugInfo={};this._remoteModuleTable={};this._remoteMethodTable={};}this.callFunctionReturnFlushedQueue=this.callFunctionReturnFlushedQueue.bind(this);this.callFunctionReturnResultAndFlushedQueue=this.callFunctionReturnResultAndFlushedQueue.bind(this);this.flushedQueue=this.flushedQueue.bind(this);this.invokeCallbackAndReturnFlushedQueue=this.invokeCallbackAndReturnFlushedQueue.bind(this);}_createClass(MessageQueue,[{key:'callFunctionReturnFlushedQueue',value:function callFunctionReturnFlushedQueue(module,method,args){var _this=this;guard(function(){_this.__callFunction(module,method,args);_this.__callImmediates();});return this.flushedQueue();}},{key:'callFunctionReturnResultAndFlushedQueue',value:function callFunctionReturnResultAndFlushedQueue(module,method,args){var _this2=this;var result=void 0;guard(function(){result=_this2.__callFunction(module,method,args);_this2.__callImmediates();});return[result,this.flushedQueue()];}},{key:'invokeCallbackAndReturnFlushedQueue',value:function invokeCallbackAndReturnFlushedQueue(cbID,args){var _this3=this;guard(function(){_this3.__invokeCallback(cbID,args);_this3.__callImmediates();});return this.flushedQueue();}},{key:'flushedQueue',value:function flushedQueue(){this.__callImmediates();var queue=this._queue;this._queue=[[],[],[],this._callID];return queue[0].length?queue:null;}},{key:'getEventLoopRunningTime',value:function getEventLoopRunningTime(){return new Date().getTime()-this._eventLoopStartTime;}},{key:'registerCallableModule',value:function registerCallableModule(name,module){this._callableModules[name]=module;}},{key:'enqueueNativeCall',value:function enqueueNativeCall(moduleID,methodID,params,onFail,onSucc){if(onFail||onSucc){if(false){var callId=this._callbackID>>1;this._debugInfo[callId]=[moduleID,methodID];if(callId>DEBUG_INFO_LIMIT){delete this._debugInfo[callId-DEBUG_INFO_LIMIT];}}onFail&&params.push(this._callbackID);this._callbacks[this._callbackID++]=onFail;onSucc&&params.push(this._callbackID);this._callbacks[this._callbackID++]=onSucc;}if(false){global.nativeTraceBeginAsyncFlow&&global.nativeTraceBeginAsyncFlow(TRACE_TAG_REACT_APPS,'native',this._callID);}this._callID++;this._queue[MODULE_IDS].push(moduleID);this._queue[METHOD_IDS].push(methodID);if(false){JSON.stringify(params);deepFreezeAndThrowOnMutationInDev(params);}this._queue[PARAMS].push(params);var now=new Date().getTime();if(global.nativeFlushQueueImmediate&&now-this._lastFlush>=MIN_TIME_BETWEEN_FLUSHES_MS){global.nativeFlushQueueImmediate(this._queue);this._queue=[[],[],[],this._callID];this._lastFlush=now;}Systrace.counterEvent('pending_js_to_native_queue',this._queue[0].length);if(false){this.__spy({type:TO_NATIVE,module:this._remoteModuleTable[moduleID],method:this._remoteMethodTable[moduleID][methodID],args:params});}}},{key:'createDebugLookup',value:function createDebugLookup(moduleID,name,methods){if(false){this._remoteModuleTable[moduleID]=name;this._remoteMethodTable[moduleID]=methods;}}},{key:'__callImmediates',value:function __callImmediates(){Systrace.beginEvent('JSTimersExecution.callImmediates()');guard(function(){return JSTimersExecution.callImmediates();});Systrace.endEvent();}},{key:'__callFunction',value:function __callFunction(module,method,args){this._lastFlush=new Date().getTime();this._eventLoopStartTime=this._lastFlush;Systrace.beginEvent(module+'.'+method+'()');if(false){this.__spy({type:TO_JS,module:module,method:method,args:args});}var moduleMethods=this._callableModules[module];invariant(!!moduleMethods,'Module %s is not a registered callable module (calling %s)',module,method);invariant(!!moduleMethods[method],'Method %s does not exist on module %s',method,module);var result=moduleMethods[method].apply(moduleMethods,args);Systrace.endEvent();return result;}},{key:'__invokeCallback',value:function __invokeCallback(cbID,args){this._lastFlush=new Date().getTime();this._eventLoopStartTime=this._lastFlush;var callback=this._callbacks[cbID];if(false){var debug=this._debugInfo[cbID>>1];var _module=debug&&this._remoteModuleTable[debug[0]];var _method=debug&&this._remoteMethodTable[debug[0]][debug[1]];if(callback==null){var errorMessage='Callback with id '+cbID+': '+_module+'.'+_method+'() not found';if(_method){errorMessage='The callback '+_method+'() exists in module '+_module+', '+'but only one callback may be registered to a function in a native module.';}invariant(callback,errorMessage);}var profileName=debug?'<callback for '+_module+'.'+_method+'>':cbID;if(callback&&this.__spy&&__DEV__){this.__spy({type:TO_JS,module:null,method:profileName,args:args});}Systrace.beginEvent('MessageQueue.invokeCallback('+profileName+', '+stringifySafe(args)+')');}else{if(!callback){return;}}this._callbacks[cbID&~1]=null;this._callbacks[cbID|1]=null;callback.apply(null,args);if(false){Systrace.endEvent();}}}],[{key:'spy',value:function spy(spyOrToggle){if(spyOrToggle===true){MessageQueue.prototype.__spy=function(info){console.log((info.type===TO_JS?'N->JS':'JS->N')+' : '+(''+(info.module?info.module+'.':'')+info.method)+('('+JSON.stringify(info.args)+')'));};}else if(spyOrToggle===false){MessageQueue.prototype.__spy=null;}else{MessageQueue.prototype.__spy=spyOrToggle;}}}]);return MessageQueue;}();module.exports=MessageQueue;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/webpack/buildin/global.js")))

/***/ }),

/***/ "./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(global) {var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _slicedToArray=function(){function sliceIterator(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[typeof Symbol==='function'?Symbol.iterator:'@@iterator'](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"])_i["return"]();}finally{if(_d)throw _e;}}return _arr;}return function(arr,i){if(Array.isArray(arr)){return arr;}else if((typeof Symbol==='function'?Symbol.iterator:'@@iterator')in Object(arr)){return sliceIterator(arr,i);}else{throw new TypeError("Invalid attempt to destructure non-iterable instance");}};}();function _objectWithoutProperties(obj,keys){var target={};for(var i in obj){if(keys.indexOf(i)>=0)continue;if(!Object.prototype.hasOwnProperty.call(obj,i))continue;target[i]=obj[i];}return target;}var BatchedBridge=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/BatchedBridge.js");var defineLazyObjectProperty=__webpack_require__("./node_modules/react-native/Libraries/Utilities/defineLazyObjectProperty.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");function genModule(config,moduleID){if(!config){return null;}var _config=_slicedToArray(config,5),moduleName=_config[0],constants=_config[1],methods=_config[2],promiseMethods=_config[3],syncMethods=_config[4];invariant(!moduleName.startsWith('RCT')&&!moduleName.startsWith('RK'),'Module name prefixes should\'ve been stripped by the native side '+'but wasn\'t for '+moduleName);if(!constants&&!methods){return{name:moduleName};}var module={};methods&&methods.forEach(function(methodName,methodID){var isPromise=promiseMethods&&arrayContains(promiseMethods,methodID);var isSync=syncMethods&&arrayContains(syncMethods,methodID);invariant(!isPromise||!isSync,'Cannot have a method that is both async and a sync hook');var methodType=isPromise?'promise':isSync?'sync':'async';module[methodName]=genMethod(moduleID,methodID,methodType);});_extends(module,constants);if(false){BatchedBridge.createDebugLookup(moduleID,moduleName,methods);}return{name:moduleName,module:module};}global.__fbGenNativeModule=genModule;function loadModule(name,moduleID){invariant(global.nativeRequireModuleConfig,'Can\'t lazily create module without nativeRequireModuleConfig');var config=global.nativeRequireModuleConfig(name);var info=genModule(config,moduleID);return info&&info.module;}function genMethod(moduleID,methodID,type){var fn=null;if(type==='promise'){fn=function fn(){for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return new Promise(function(resolve,reject){BatchedBridge.enqueueNativeCall(moduleID,methodID,args,function(data){return resolve(data);},function(errorData){return reject(createErrorFromErrorData(errorData));});});};}else if(type==='sync'){fn=function fn(){for(var _len2=arguments.length,args=Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2];}return global.nativeCallSyncHook(moduleID,methodID,args);};}else{fn=function fn(){for(var _len3=arguments.length,args=Array(_len3),_key3=0;_key3<_len3;_key3++){args[_key3]=arguments[_key3];}var lastArg=args.length>0?args[args.length-1]:null;var secondLastArg=args.length>1?args[args.length-2]:null;var hasSuccessCallback=typeof lastArg==='function';var hasErrorCallback=typeof secondLastArg==='function';hasErrorCallback&&invariant(hasSuccessCallback,'Cannot have a non-function arg after a function arg.');var onSuccess=hasSuccessCallback?lastArg:null;var onFail=hasErrorCallback?secondLastArg:null;var callbackCount=hasSuccessCallback+hasErrorCallback;args=args.slice(0,args.length-callbackCount);BatchedBridge.enqueueNativeCall(moduleID,methodID,args,onFail,onSuccess);};}fn.type=type;return fn;}function arrayContains(array,value){return array.indexOf(value)!==-1;}function createErrorFromErrorData(errorData){var message=errorData.message,extraErrorInfo=_objectWithoutProperties(errorData,['message']);var error=new Error(message);error.framesToPop=1;return _extends(error,extraErrorInfo);}var NativeModules={};if(global.nativeModuleProxy){NativeModules=global.nativeModuleProxy;}else{var bridgeConfig=global.__fbBatchedBridgeConfig;invariant(bridgeConfig,'__fbBatchedBridgeConfig is not set, cannot invoke native modules');(bridgeConfig.remoteModuleConfig||[]).forEach(function(config,moduleID){var info=genModule(config,moduleID);if(!info){return;}if(info.module){NativeModules[info.name]=info.module;}else{defineLazyObjectProperty(NativeModules,info.name,{get:function get(){return loadModule(info.name,moduleID);}});}});}module.exports=NativeModules;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/webpack/buildin/global.js")))

/***/ }),

/***/ "./node_modules/react-native/Libraries/BugReporting/BugReporting.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _slicedToArray=function(){function sliceIterator(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[typeof Symbol==='function'?Symbol.iterator:'@@iterator'](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"])_i["return"]();}finally{if(_d)throw _e;}}return _arr;}return function(arr,i){if(Array.isArray(arr)){return arr;}else if((typeof Symbol==='function'?Symbol.iterator:'@@iterator')in Object(arr)){return sliceIterator(arr,i);}else{throw new TypeError("Invalid attempt to destructure non-iterable instance");}};}();var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var RCTDeviceEventEmitter=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/RCTDeviceEventEmitter.js");var Map=__webpack_require__("./node_modules/react-native/Libraries/vendor/core/Map.js");var infoLog=__webpack_require__("./node_modules/react-native/Libraries/Utilities/infoLog.js");function defaultExtras(){BugReporting.addFileSource('react_hierarchy.txt',function(){return __webpack_require__("./node_modules/react-native/Libraries/BugReporting/dumpReactTree.js")();});}var BugReporting=function(){function BugReporting(){_classCallCheck(this,BugReporting);}_createClass(BugReporting,null,[{key:'_maybeInit',value:function _maybeInit(){if(!BugReporting._subscription){BugReporting._subscription=RCTDeviceEventEmitter.addListener('collectBugExtraData',BugReporting.collectExtraData,null);defaultExtras();}}},{key:'addSource',value:function addSource(key,callback){return this._addSource(key,callback,BugReporting._extraSources);}},{key:'addFileSource',value:function addFileSource(key,callback){return this._addSource(key,callback,BugReporting._fileSources);}},{key:'_addSource',value:function _addSource(key,callback,source){BugReporting._maybeInit();if(source.has(key)){console.warn('BugReporting.add* called multiple times for same key \''+key+'\'');}source.set(key,callback);return{remove:function remove(){source.delete(key);}};}},{key:'collectExtraData',value:function collectExtraData(){var extraData={};for(var _iterator=BugReporting._extraSources,_isArray=Array.isArray(_iterator),_i=0,_iterator=_isArray?_iterator:_iterator[typeof Symbol==='function'?Symbol.iterator:'@@iterator']();;){var _ref3;if(_isArray){if(_i>=_iterator.length)break;_ref3=_iterator[_i++];}else{_i=_iterator.next();if(_i.done)break;_ref3=_i.value;}var _ref=_ref3;var _ref2=_slicedToArray(_ref,2);var _key=_ref2[0];var callback=_ref2[1];extraData[_key]=callback();}var fileData={};for(var _iterator2=BugReporting._fileSources,_isArray2=Array.isArray(_iterator2),_i2=0,_iterator2=_isArray2?_iterator2:_iterator2[typeof Symbol==='function'?Symbol.iterator:'@@iterator']();;){var _ref6;if(_isArray2){if(_i2>=_iterator2.length)break;_ref6=_iterator2[_i2++];}else{_i2=_iterator2.next();if(_i2.done)break;_ref6=_i2.value;}var _ref4=_ref6;var _ref5=_slicedToArray(_ref4,2);var _key2=_ref5[0];var _callback=_ref5[1];fileData[_key2]=_callback();}infoLog('BugReporting extraData:',extraData);var BugReportingNativeModule=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").BugReporting;BugReportingNativeModule&&BugReportingNativeModule.setExtraData&&BugReportingNativeModule.setExtraData(extraData,fileData);return{extras:extraData,files:fileData};}}]);return BugReporting;}();BugReporting._extraSources=new Map();BugReporting._fileSources=new Map();BugReporting._subscription=null;module.exports=BugReporting;

/***/ }),

/***/ "./node_modules/react-native/Libraries/BugReporting/dumpReactTree.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactNativeMount=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeMount.js");var getReactData=__webpack_require__("./node_modules/react-native/Libraries/BugReporting/getReactData.js");var INDENTATION_SIZE=2;var MAX_DEPTH=2;var MAX_STRING_LENGTH=50;function dumpReactTree(){try{return getReactTree();}catch(e){return'Failed to dump react tree: '+e;}}function getReactTree(){var output='';var rootIds=Object.getOwnPropertyNames(ReactNativeMount._instancesByContainerID);for(var _iterator=rootIds,_isArray=Array.isArray(_iterator),_i=0,_iterator=_isArray?_iterator:_iterator[typeof Symbol==='function'?Symbol.iterator:'@@iterator']();;){var _ref;if(_isArray){if(_i>=_iterator.length)break;_ref=_iterator[_i++];}else{_i=_iterator.next();if(_i.done)break;_ref=_i.value;}var rootId=_ref;var instance=ReactNativeMount._instancesByContainerID[rootId];output+='============ Root ID: '+rootId+' ============\n';output+=dumpNode(instance,0);output+='============ End root ID: '+rootId+' ============\n';}return output;}function dumpNode(node,identation){var data=getReactData(node);if(data.nodeType==='Text'){return indent(identation)+data.text+'\n';}else if(data.nodeType==='Empty'){return'';}var output=indent(identation)+('<'+data.name);if(data.nodeType==='Composite'){for(var _iterator2=Object.getOwnPropertyNames(data.props||{}),_isArray2=Array.isArray(_iterator2),_i2=0,_iterator2=_isArray2?_iterator2:_iterator2[typeof Symbol==='function'?Symbol.iterator:'@@iterator']();;){var _ref2;if(_isArray2){if(_i2>=_iterator2.length)break;_ref2=_iterator2[_i2++];}else{_i2=_iterator2.next();if(_i2.done)break;_ref2=_i2.value;}var propName=_ref2;if(isNormalProp(propName)){try{var value=convertValue(data.props[propName]);if(value){output+=' '+propName+'='+value;}}catch(e){var message='[Failed to get property: '+e+']';output+=' '+propName+'='+message;}}}}var childOutput='';for(var _iterator3=data.children||[],_isArray3=Array.isArray(_iterator3),_i3=0,_iterator3=_isArray3?_iterator3:_iterator3[typeof Symbol==='function'?Symbol.iterator:'@@iterator']();;){var _ref3;if(_isArray3){if(_i3>=_iterator3.length)break;_ref3=_iterator3[_i3++];}else{_i3=_iterator3.next();if(_i3.done)break;_ref3=_i3.value;}var child=_ref3;childOutput+=dumpNode(child,identation+1);}if(childOutput){output+='>\n'+childOutput+indent(identation)+('</'+data.name+'>\n');}else{output+=' />\n';}return output;}function isNormalProp(name){switch(name){case'children':case'key':case'ref':return false;default:return true;}}function convertObject(object,depth){if(depth>=MAX_DEPTH){return'[...omitted]';}var output='{';var first=true;for(var _iterator4=Object.getOwnPropertyNames(object),_isArray4=Array.isArray(_iterator4),_i4=0,_iterator4=_isArray4?_iterator4:_iterator4[typeof Symbol==='function'?Symbol.iterator:'@@iterator']();;){var _ref4;if(_isArray4){if(_i4>=_iterator4.length)break;_ref4=_iterator4[_i4++];}else{_i4=_iterator4.next();if(_i4.done)break;_ref4=_i4.value;}var key=_ref4;if(!first){output+=', ';}output+=key+': '+convertValue(object[key],depth+1);first=false;}return output+'}';}function convertValue(value){var depth=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;if(!value){return null;}switch(typeof value){case'string':return JSON.stringify(possiblyEllipsis(value).replace('\n','\\n'));case'boolean':case'number':return JSON.stringify(value);case'function':return'[function]';case'object':return convertObject(value,depth);default:return null;}}function possiblyEllipsis(value){if(value.length>MAX_STRING_LENGTH){return value.slice(0,MAX_STRING_LENGTH)+'...';}else{return value;}}function indent(size){return' '.repeat(size*INDENTATION_SIZE);}module.exports=dumpReactTree;

/***/ }),

/***/ "./node_modules/react-native/Libraries/BugReporting/getReactData.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};function getData(element){var children=null;var props=null;var state=null;var context=null;var updater=null;var name=null;var type=null;var text=null;var publicInstance=null;var nodeType='Native';if(typeof element!=='object'){nodeType='Text';text=element+'';}else if(element._currentElement===null||element._currentElement===false){nodeType='Empty';}else if(element._renderedComponent){nodeType='NativeWrapper';children=[element._renderedComponent];props=element._instance.props;state=element._instance.state;context=element._instance.context;if(context&&Object.keys(context).length===0){context=null;}}else if(element._renderedChildren){children=childrenList(element._renderedChildren);}else if(element._currentElement&&element._currentElement.props){children=element._currentElement.props.children;}if(!props&&element._currentElement&&element._currentElement.props){props=element._currentElement.props;}if(element._currentElement!=null){type=element._currentElement.type;if(typeof type==='string'){name=type;}else if(element.getName){nodeType='Composite';name=element.getName();if(element._renderedComponent&&element._currentElement.props===element._renderedComponent._currentElement){nodeType='Wrapper';}if(name===null){name='No display name';}}else if(element._stringText){nodeType='Text';text=element._stringText;}else{name=type.displayName||type.name||'Unknown';}}if(element._instance){var inst=element._instance;updater={setState:inst.setState&&inst.setState.bind(inst),forceUpdate:inst.forceUpdate&&inst.forceUpdate.bind(inst),setInProps:inst.forceUpdate&&setInProps.bind(null,element),setInState:inst.forceUpdate&&setInState.bind(null,inst),setInContext:inst.forceUpdate&&setInContext.bind(null,inst)};publicInstance=inst;if(inst._renderedChildren){children=childrenList(inst._renderedChildren);}}return{nodeType:nodeType,type:type,name:name,props:props,state:state,context:context,children:children,text:text,updater:updater,publicInstance:publicInstance};}function setInProps(internalInst,path,value){var element=internalInst._currentElement;internalInst._currentElement=_extends({},element,{props:copyWithSet(element.props,path,value)});internalInst._instance.forceUpdate();}function setInState(inst,path,value){setIn(inst.state,path,value);inst.forceUpdate();}function setInContext(inst,path,value){setIn(inst.context,path,value);inst.forceUpdate();}function setIn(obj,path,value){var last=path.pop();var parent=path.reduce(function(obj_,attr){return obj_?obj_[attr]:null;},obj);if(parent){parent[last]=value;}}function childrenList(children){var res=[];for(var name in children){res.push(children[name]);}return res;}function copyWithSetImpl(obj,path,idx,value){if(idx>=path.length){return value;}var key=path[idx];var updated=Array.isArray(obj)?obj.slice():_extends({},obj);updated[key]=copyWithSetImpl(obj[key],path,idx+1,value);return updated;}function copyWithSet(obj,path,value){return copyWithSetImpl(obj,path,0,value);}module.exports=getData;

/***/ }),

/***/ "./node_modules/react-native/Libraries/CameraRoll/CameraRoll.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var ReactPropTypes=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js").PropTypes;var RCTCameraRollManager=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").CameraRollManager;var createStrictShapeTypeChecker=__webpack_require__("./node_modules/react-native/Libraries/Utilities/createStrictShapeTypeChecker.js");var deepFreezeAndThrowOnMutationInDev=__webpack_require__("./node_modules/react-native/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var GROUP_TYPES_OPTIONS=['Album','All','Event','Faces','Library','PhotoStream','SavedPhotos'];var ASSET_TYPE_OPTIONS=['All','Videos','Photos'];deepFreezeAndThrowOnMutationInDev(GROUP_TYPES_OPTIONS);deepFreezeAndThrowOnMutationInDev(ASSET_TYPE_OPTIONS);var getPhotosParamChecker=createStrictShapeTypeChecker({first:ReactPropTypes.number.isRequired,after:ReactPropTypes.string,groupTypes:ReactPropTypes.oneOf(GROUP_TYPES_OPTIONS),groupName:ReactPropTypes.string,assetType:ReactPropTypes.oneOf(ASSET_TYPE_OPTIONS),mimeTypes:ReactPropTypes.arrayOf(ReactPropTypes.string)});var getPhotosReturnChecker=createStrictShapeTypeChecker({edges:ReactPropTypes.arrayOf(createStrictShapeTypeChecker({node:createStrictShapeTypeChecker({type:ReactPropTypes.string.isRequired,group_name:ReactPropTypes.string.isRequired,image:createStrictShapeTypeChecker({uri:ReactPropTypes.string.isRequired,height:ReactPropTypes.number.isRequired,width:ReactPropTypes.number.isRequired,isStored:ReactPropTypes.bool}).isRequired,timestamp:ReactPropTypes.number.isRequired,location:createStrictShapeTypeChecker({latitude:ReactPropTypes.number,longitude:ReactPropTypes.number,altitude:ReactPropTypes.number,heading:ReactPropTypes.number,speed:ReactPropTypes.number})}).isRequired})).isRequired,page_info:createStrictShapeTypeChecker({has_next_page:ReactPropTypes.bool.isRequired,start_cursor:ReactPropTypes.string,end_cursor:ReactPropTypes.string}).isRequired});var CameraRoll=function(){function CameraRoll(){_classCallCheck(this,CameraRoll);}_createClass(CameraRoll,null,[{key:'saveImageWithTag',value:function saveImageWithTag(tag){console.warn('CameraRoll.saveImageWithTag is deprecated. Use CameraRoll.saveToCameraRoll instead');return this.saveToCameraRoll(tag,'photo');}},{key:'saveToCameraRoll',value:function saveToCameraRoll(tag,type){invariant(typeof tag==='string','CameraRoll.saveToCameraRoll must be a valid string.');invariant(type==='photo'||type==='video'||type===undefined,'The second argument to saveToCameraRoll must be \'photo\' or \'video\'. You passed '+type);var mediaType='photo';if(type){mediaType=type;}else if(['mov','mp4'].indexOf(tag.split('.').slice(-1)[0])>=0){mediaType='video';}return RCTCameraRollManager.saveToCameraRoll(tag,mediaType);}},{key:'getPhotos',value:function getPhotos(params){if(false){getPhotosParamChecker({params:params},'params','CameraRoll.getPhotos');}if(arguments.length>1){console.warn('CameraRoll.getPhotos(tag, success, error) is deprecated.  Use the returned Promise instead');var successCallback=arguments[1];if(false){var callback=arguments[1];successCallback=function successCallback(response){getPhotosReturnChecker({response:response},'response','CameraRoll.getPhotos callback');callback(response);};}var errorCallback=arguments[2]||function(){};RCTCameraRollManager.getPhotos(params).then(successCallback,errorCallback);}return RCTCameraRollManager.getPhotos(params);}}]);return CameraRoll;}();CameraRoll.GroupTypesOptions=GROUP_TYPES_OPTIONS;CameraRoll.AssetTypeOptions=ASSET_TYPE_OPTIONS;module.exports=CameraRoll;

/***/ }),

/***/ "./node_modules/react-native/Libraries/CameraRoll/ImagePickerIOS.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var RCTImagePicker=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").ImagePickerIOS;var ImagePickerIOS={canRecordVideos:function canRecordVideos(callback){return RCTImagePicker.canRecordVideos(callback);},canUseCamera:function canUseCamera(callback){return RCTImagePicker.canUseCamera(callback);},openCameraDialog:function openCameraDialog(config,successCallback,cancelCallback){config=_extends({videoMode:false},config);return RCTImagePicker.openCameraDialog(config,successCallback,cancelCallback);},openSelectDialog:function openSelectDialog(config,successCallback,cancelCallback){config=_extends({showImages:true,showVideos:false},config);return RCTImagePicker.openSelectDialog(config,successCallback,cancelCallback);}};module.exports=ImagePickerIOS;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/ActivityIndicator/ActivityIndicator.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Components/ActivityIndicator/ActivityIndicator.js';var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};function _objectWithoutProperties(obj,keys){var target={};for(var i in obj){if(keys.indexOf(i)>=0)continue;if(!Object.prototype.hasOwnProperty.call(obj,i))continue;target[i]=obj[i];}return target;}var ColorPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/ColorPropType.js");var NativeMethodsMixin=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/NativeMethodsMixin.js");var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var requireNativeComponent=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/requireNativeComponent.js");var PropTypes=React.PropTypes;var GRAY='#999999';var ActivityIndicator=React.createClass({displayName:'ActivityIndicator',mixins:[NativeMethodsMixin],propTypes:_extends({},View.propTypes,{animating:PropTypes.bool,color:ColorPropType,size:PropTypes.oneOfType([PropTypes.oneOf(['small','large']),PropTypes.number]),hidesWhenStopped:PropTypes.bool}),getDefaultProps:function getDefaultProps(){return{animating:true,color:Platform.OS==='ios'?GRAY:undefined,hidesWhenStopped:true,size:'small'};},render:function render(){var _props=this.props,onLayout=_props.onLayout,style=_props.style,props=_objectWithoutProperties(_props,['onLayout','style']);var sizeStyle=void 0;switch(props.size){case'small':sizeStyle=styles.sizeSmall;break;case'large':sizeStyle=styles.sizeLarge;break;default:sizeStyle={height:props.size,width:props.size};break;}return React.createElement(View,{onLayout:onLayout,style:[styles.container,style],__source:{fileName:_jsxFileName,lineNumber:94}},React.createElement(RCTActivityIndicator,_extends({},props,{style:sizeStyle,styleAttr:'Normal',indeterminate:true,__source:{fileName:_jsxFileName,lineNumber:97}})));}});var styles=StyleSheet.create({container:{alignItems:'center',justifyContent:'center'},sizeSmall:{width:20,height:20},sizeLarge:{width:36,height:36}});if(Platform.OS==='ios'){var RCTActivityIndicator=requireNativeComponent('RCTActivityIndicatorView',ActivityIndicator,{nativeOnly:{activityIndicatorViewStyle:true}});}else if(Platform.OS==='android'){var RCTActivityIndicator=requireNativeComponent('AndroidProgressBar',ActivityIndicator,{nativeOnly:{indeterminate:true,progress:true,styleAttr:true}});}module.exports=ActivityIndicator;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/AppleTV/TVEventHandler.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var TVNavigationEventEmitter=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").TVNavigationEventEmitter;var NativeEventEmitter=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/NativeEventEmitter.js");function TVEventHandler(){this.__nativeTVNavigationEventListener=null;this.__nativeTVNavigationEventEmitter=null;}TVEventHandler.prototype.enable=function(component,callback){if(!TVNavigationEventEmitter){return;}this.__nativeTVNavigationEventEmitter=new NativeEventEmitter(TVNavigationEventEmitter);this.__nativeTVNavigationEventListener=this.__nativeTVNavigationEventEmitter.addListener('onTVNavEvent',function(data){if(callback){callback(component,data);}});};TVEventHandler.prototype.disable=function(){if(this.__nativeTVNavigationEventListener){this.__nativeTVNavigationEventListener.remove();delete this.__nativeTVNavigationEventListener;}if(this.__nativeTVNavigationEventEmitter){delete this.__nativeTVNavigationEventEmitter;}};module.exports=TVEventHandler;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/AppleTV/TVViewPropTypes.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var PropTypes=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js").PropTypes;var TVViewPropTypes={isTVSelectable:PropTypes.bool,hasTVPreferredFocus:PropTypes.bool,tvParallaxProperties:PropTypes.object,tvParallaxShiftDistanceX:PropTypes.number,tvParallaxShiftDistanceY:PropTypes.number,tvParallaxTiltAngle:PropTypes.number,tvParallaxMagnification:PropTypes.number};module.exports=TVViewPropTypes;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/Button.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Components/Button.js';var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var ColorPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/ColorPropType.js");var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var Text=__webpack_require__("./node_modules/react-native/Libraries/Text/Text.js");var TouchableNativeFeedback=__webpack_require__("./node_modules/react-native/Libraries/Components/Touchable/TouchableNativeFeedback.ios.js");var TouchableOpacity=__webpack_require__("./node_modules/react-native/Libraries/Components/Touchable/TouchableOpacity.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var Button=function(_React$Component){_inherits(Button,_React$Component);function Button(){_classCallCheck(this,Button);return _possibleConstructorReturn(this,(Button.__proto__||Object.getPrototypeOf(Button)).apply(this,arguments));}_createClass(Button,[{key:'render',value:function render(){var _props=this.props,accessibilityLabel=_props.accessibilityLabel,color=_props.color,onPress=_props.onPress,title=_props.title,disabled=_props.disabled;var buttonStyles=[styles.button];var textStyles=[styles.text];var Touchable=Platform.OS==='android'?TouchableNativeFeedback:TouchableOpacity;if(color&&Platform.OS==='ios'){textStyles.push({color:color});}else if(color){buttonStyles.push({backgroundColor:color});}if(disabled){buttonStyles.push(styles.buttonDisabled);textStyles.push(styles.textDisabled);}invariant(typeof title==='string','The title prop of a Button must be a string');var formattedTitle=Platform.OS==='android'?title.toUpperCase():title;return React.createElement(Touchable,{accessibilityComponentType:'button',accessibilityLabel:accessibilityLabel,accessibilityTraits:['button'],disabled:disabled,onPress:onPress,__source:{fileName:_jsxFileName,lineNumber:109}},React.createElement(View,{style:buttonStyles,__source:{fileName:_jsxFileName,lineNumber:115}},React.createElement(Text,{style:textStyles,__source:{fileName:_jsxFileName,lineNumber:116}},formattedTitle)));}}]);return Button;}(React.Component);Button.propTypes={title:React.PropTypes.string.isRequired,accessibilityLabel:React.PropTypes.string,color:ColorPropType,disabled:React.PropTypes.bool,onPress:React.PropTypes.func.isRequired};var defaultBlue='#2196F3';if(Platform.OS==='ios'){defaultBlue='#0C42FD';}var styles=StyleSheet.create({button:Platform.select({ios:{},android:{elevation:4,backgroundColor:defaultBlue,borderRadius:2}}),text:Platform.select({ios:{color:defaultBlue,textAlign:'center',padding:8,fontSize:18},android:{textAlign:'center',color:'white',padding:8,fontWeight:'500'}}),buttonDisabled:Platform.select({ios:{},android:{elevation:0,backgroundColor:'#dfdfdf'}}),textDisabled:Platform.select({ios:{color:'#cdcdcd'},android:{color:'#a1a1a1'}})});module.exports=Button;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/Clipboard/Clipboard.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var Clipboard=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").Clipboard;module.exports={getString:function getString(){return Clipboard.getString();},setString:function setString(content){Clipboard.setString(content);}};

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/DatePicker/DatePickerIOS.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Components/DatePicker/DatePickerIOS.ios.js';var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var NativeMethodsMixin=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/NativeMethodsMixin.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var requireNativeComponent=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/requireNativeComponent.js");var PropTypes=React.PropTypes;var DatePickerIOS=React.createClass({displayName:'DatePickerIOS',_picker:undefined,mixins:[NativeMethodsMixin],propTypes:_extends({},View.propTypes,{date:PropTypes.instanceOf(Date).isRequired,onDateChange:PropTypes.func.isRequired,maximumDate:PropTypes.instanceOf(Date),minimumDate:PropTypes.instanceOf(Date),mode:PropTypes.oneOf(['date','time','datetime']),minuteInterval:PropTypes.oneOf([1,2,3,4,5,6,10,12,15,20,30]),timeZoneOffsetInMinutes:PropTypes.number}),getDefaultProps:function getDefaultProps(){return{mode:'datetime'};},_onChange:function _onChange(event){var nativeTimeStamp=event.nativeEvent.timestamp;this.props.onDateChange&&this.props.onDateChange(new Date(nativeTimeStamp));this.props.onChange&&this.props.onChange(event);var propsTimeStamp=this.props.date.getTime();if(this._picker&&nativeTimeStamp!==propsTimeStamp){this._picker.setNativeProps({date:propsTimeStamp});}},render:function render(){var _this=this;var props=this.props;return React.createElement(View,{style:props.style,__source:{fileName:_jsxFileName,lineNumber:122}},React.createElement(RCTDatePickerIOS,{ref:function ref(picker){_this._picker=picker;},style:styles.datePickerIOS,date:props.date.getTime(),maximumDate:props.maximumDate?props.maximumDate.getTime():undefined,minimumDate:props.minimumDate?props.minimumDate.getTime():undefined,mode:props.mode,minuteInterval:props.minuteInterval,timeZoneOffsetInMinutes:props.timeZoneOffsetInMinutes,onChange:this._onChange,onStartShouldSetResponder:function onStartShouldSetResponder(){return true;},onResponderTerminationRequest:function onResponderTerminationRequest(){return false;},__source:{fileName:_jsxFileName,lineNumber:123}}));}});var styles=StyleSheet.create({datePickerIOS:{height:216}});var RCTDatePickerIOS=requireNativeComponent('RCTDatePicker',{propTypes:_extends({},DatePickerIOS.propTypes,{date:PropTypes.number,minimumDate:PropTypes.number,maximumDate:PropTypes.number,onDateChange:function onDateChange(){return null;},onChange:PropTypes.func})});module.exports=DatePickerIOS;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var DatePickerAndroid={open:function open(options){return regeneratorRuntime.async(function open$(_context){while(1){switch(_context.prev=_context.next){case 0:return _context.abrupt('return',Promise.reject({message:'DatePickerAndroid is not supported on this platform.'}));case 1:case'end':return _context.stop();}}},null,this);}};module.exports=DatePickerAndroid;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
module.exports=__webpack_require__("./node_modules/react-native/Libraries/Components/UnimplementedViews/UnimplementedView.js");

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/Keyboard/Keyboard.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var NativeEventEmitter=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/NativeEventEmitter.js");var KeyboardObserver=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").KeyboardObserver;var dismissKeyboard=__webpack_require__("./node_modules/react-native/Libraries/Utilities/dismissKeyboard.js");var KeyboardEventEmitter=new NativeEventEmitter(KeyboardObserver);var Keyboard={addListener:function addListener(eventName,callback){invariant(false,'Dummy method used for documentation');},removeListener:function removeListener(eventName,callback){invariant(false,'Dummy method used for documentation');},removeAllListeners:function removeAllListeners(eventName){invariant(false,'Dummy method used for documentation');},dismiss:function dismiss(){invariant(false,'Dummy method used for documentation');}};Keyboard=KeyboardEventEmitter;Keyboard.dismiss=dismissKeyboard;module.exports=Keyboard;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/Keyboard/KeyboardAvoidingView.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Components/Keyboard/KeyboardAvoidingView.js';var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};function _objectWithoutProperties(obj,keys){var target={};for(var i in obj){if(keys.indexOf(i)>=0)continue;if(!Object.prototype.hasOwnProperty.call(obj,i))continue;target[i]=obj[i];}return target;}var Keyboard=__webpack_require__("./node_modules/react-native/Libraries/Components/Keyboard/Keyboard.js");var LayoutAnimation=__webpack_require__("./node_modules/react-native/Libraries/LayoutAnimation/LayoutAnimation.js");var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var TimerMixin=__webpack_require__("./node_modules/react-timer-mixin/TimerMixin.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var PropTypes=React.PropTypes;var viewRef='VIEW';var KeyboardAvoidingView=React.createClass({displayName:'KeyboardAvoidingView',mixins:[TimerMixin],propTypes:_extends({},View.propTypes,{behavior:PropTypes.oneOf(['height','position','padding']),contentContainerStyle:View.propTypes.style,keyboardVerticalOffset:PropTypes.number.isRequired}),getDefaultProps:function getDefaultProps(){return{keyboardVerticalOffset:0};},getInitialState:function getInitialState(){return{bottom:0};},subscriptions:[],frame:null,relativeKeyboardHeight:function relativeKeyboardHeight(keyboardFrame){var frame=this.frame;if(!frame||!keyboardFrame){return 0;}var y1=Math.max(frame.y,keyboardFrame.screenY-this.props.keyboardVerticalOffset);var y2=Math.min(frame.y+frame.height,keyboardFrame.screenY+keyboardFrame.height-this.props.keyboardVerticalOffset);if(frame.y>keyboardFrame.screenY){return frame.y+frame.height-keyboardFrame.screenY-this.props.keyboardVerticalOffset;}return Math.max(y2-y1,0);},onKeyboardChange:function onKeyboardChange(event){if(!event){this.setState({bottom:0});return;}var duration=event.duration,easing=event.easing,endCoordinates=event.endCoordinates;var height=this.relativeKeyboardHeight(endCoordinates);if(duration&&easing){LayoutAnimation.configureNext({duration:duration,update:{duration:duration,type:LayoutAnimation.Types[easing]||'keyboard'}});}this.setState({bottom:height});},onLayout:function onLayout(event){this.frame=event.nativeEvent.layout;},componentWillUpdate:function componentWillUpdate(nextProps,nextState,nextContext){if(nextState.bottom===this.state.bottom&&this.props.behavior==='height'&&nextProps.behavior==='height'){nextState.bottom=0;}},componentWillMount:function componentWillMount(){if(Platform.OS==='ios'){this.subscriptions=[Keyboard.addListener('keyboardWillChangeFrame',this.onKeyboardChange)];}else{this.subscriptions=[Keyboard.addListener('keyboardDidHide',this.onKeyboardChange),Keyboard.addListener('keyboardDidShow',this.onKeyboardChange)];}},componentWillUnmount:function componentWillUnmount(){this.subscriptions.forEach(function(sub){return sub.remove();});},render:function render(){var _props=this.props,behavior=_props.behavior,children=_props.children,style=_props.style,props=_objectWithoutProperties(_props,['behavior','children','style']);switch(behavior){case'height':var heightStyle=void 0;if(this.frame){heightStyle={height:this.frame.height-this.state.bottom,flex:0};}return React.createElement(View,_extends({ref:viewRef,style:[style,heightStyle],onLayout:this.onLayout},props,{__source:{fileName:_jsxFileName,lineNumber:169}}),children);case'position':var positionStyle={bottom:this.state.bottom};var contentContainerStyle=this.props.contentContainerStyle;return React.createElement(View,_extends({ref:viewRef,style:style,onLayout:this.onLayout},props,{__source:{fileName:_jsxFileName,lineNumber:179}}),React.createElement(View,{style:[contentContainerStyle,positionStyle],__source:{fileName:_jsxFileName,lineNumber:180}},children));case'padding':var paddingStyle={paddingBottom:this.state.bottom};return React.createElement(View,_extends({ref:viewRef,style:[style,paddingStyle],onLayout:this.onLayout},props,{__source:{fileName:_jsxFileName,lineNumber:189}}),children);default:return React.createElement(View,_extends({ref:viewRef,onLayout:this.onLayout,style:style},props,{__source:{fileName:_jsxFileName,lineNumber:196}}),children);}}});module.exports=KeyboardAvoidingView;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/MapView/MapView.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Components/MapView/MapView.js';var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var ColorPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/ColorPropType.js");var EdgeInsetsPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/EdgeInsetsPropType.js");var Image=__webpack_require__("./node_modules/react-native/Libraries/Image/Image.ios.js");var NativeMethodsMixin=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/NativeMethodsMixin.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var deprecatedPropType=__webpack_require__("./node_modules/react-native/Libraries/Utilities/deprecatedPropType.js");var processColor=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/processColor.js");var resolveAssetSource=__webpack_require__("./node_modules/react-native/Libraries/Image/resolveAssetSource.js");var requireNativeComponent=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/requireNativeComponent.js");var MapView=React.createClass({displayName:'MapView',mixins:[NativeMethodsMixin],propTypes:_extends({},View.propTypes,{style:View.propTypes.style,showsUserLocation:React.PropTypes.bool,followUserLocation:React.PropTypes.bool,showsPointsOfInterest:React.PropTypes.bool,showsCompass:React.PropTypes.bool,showsAnnotationCallouts:React.PropTypes.bool,zoomEnabled:React.PropTypes.bool,rotateEnabled:React.PropTypes.bool,pitchEnabled:React.PropTypes.bool,scrollEnabled:React.PropTypes.bool,mapType:React.PropTypes.oneOf(['standard','satellite','hybrid']),region:React.PropTypes.shape({latitude:React.PropTypes.number.isRequired,longitude:React.PropTypes.number.isRequired,latitudeDelta:React.PropTypes.number,longitudeDelta:React.PropTypes.number}),annotations:React.PropTypes.arrayOf(React.PropTypes.shape({latitude:React.PropTypes.number.isRequired,longitude:React.PropTypes.number.isRequired,animateDrop:React.PropTypes.bool,draggable:React.PropTypes.bool,onDragStateChange:React.PropTypes.func,onFocus:React.PropTypes.func,onBlur:React.PropTypes.func,title:React.PropTypes.string,subtitle:React.PropTypes.string,leftCalloutView:React.PropTypes.element,rightCalloutView:React.PropTypes.element,detailCalloutView:React.PropTypes.element,tintColor:ColorPropType,image:Image.propTypes.source,view:React.PropTypes.element,id:React.PropTypes.string,hasLeftCallout:deprecatedPropType(React.PropTypes.bool,'Use `leftCalloutView` instead.'),hasRightCallout:deprecatedPropType(React.PropTypes.bool,'Use `rightCalloutView` instead.'),onLeftCalloutPress:deprecatedPropType(React.PropTypes.func,'Use `leftCalloutView` instead.'),onRightCalloutPress:deprecatedPropType(React.PropTypes.func,'Use `rightCalloutView` instead.')})),overlays:React.PropTypes.arrayOf(React.PropTypes.shape({coordinates:React.PropTypes.arrayOf(React.PropTypes.shape({latitude:React.PropTypes.number.isRequired,longitude:React.PropTypes.number.isRequired})),lineWidth:React.PropTypes.number,strokeColor:ColorPropType,fillColor:ColorPropType,id:React.PropTypes.string})),maxDelta:React.PropTypes.number,minDelta:React.PropTypes.number,legalLabelInsets:EdgeInsetsPropType,onRegionChange:React.PropTypes.func,onRegionChangeComplete:React.PropTypes.func,onAnnotationPress:React.PropTypes.func,active:React.PropTypes.bool}),statics:{PinColors:{RED:'#ff3b30',GREEN:'#4cd964',PURPLE:'#c969e0'}},render:function render(){var _this=this;var children=[],_props=this.props,annotations=_props.annotations,overlays=_props.overlays,followUserLocation=_props.followUserLocation;annotations=annotations&&annotations.map(function(annotation){var id=annotation.id,image=annotation.image,tintColor=annotation.tintColor,view=annotation.view,leftCalloutView=annotation.leftCalloutView,rightCalloutView=annotation.rightCalloutView,detailCalloutView=annotation.detailCalloutView;if(!view&&image&&tintColor){view=React.createElement(Image,{style:{tintColor:processColor(tintColor)},source:image,__source:{fileName:_jsxFileName,lineNumber:388}});image=undefined;}if(view){if(image){console.warn('`image` and `view` both set on annotation. Image will be ignored.');}var viewIndex=children.length;children.push(React.cloneElement(view,{style:[styles.annotationView,view.props.style||{}]}));}if(leftCalloutView){var leftCalloutViewIndex=children.length;children.push(React.cloneElement(leftCalloutView,{style:[styles.calloutView,leftCalloutView.props.style||{}]}));}if(rightCalloutView){var rightCalloutViewIndex=children.length;children.push(React.cloneElement(rightCalloutView,{style:[styles.calloutView,rightCalloutView.props.style||{}]}));}if(detailCalloutView){var detailCalloutViewIndex=children.length;children.push(React.cloneElement(detailCalloutView,{style:[styles.calloutView,detailCalloutView.props.style||{}]}));}var result=_extends({},annotation,{tintColor:tintColor&&processColor(tintColor),image:image,viewIndex:viewIndex,leftCalloutViewIndex:leftCalloutViewIndex,rightCalloutViewIndex:rightCalloutViewIndex,detailCalloutViewIndex:detailCalloutViewIndex,view:undefined,leftCalloutView:undefined,rightCalloutView:undefined,detailCalloutView:undefined});result.id=id||encodeURIComponent(JSON.stringify(result));result.image=image&&resolveAssetSource(image);return result;});overlays=overlays&&overlays.map(function(overlay){var id=overlay.id,fillColor=overlay.fillColor,strokeColor=overlay.strokeColor;var result=_extends({},overlay,{strokeColor:strokeColor&&processColor(strokeColor),fillColor:fillColor&&processColor(fillColor)});result.id=id||encodeURIComponent(JSON.stringify(result));return result;});var findByAnnotationId=function findByAnnotationId(annotationId){if(!annotations){return null;}for(var i=0,l=annotations.length;i<l;i++){if(annotations[i].id===annotationId){return annotations[i];}}return null;};var onPress=void 0,onAnnotationDragStateChange=void 0,onAnnotationFocus=void 0,onAnnotationBlur=void 0;if(annotations){onPress=function onPress(event){if(event.nativeEvent.action==='annotation-click'){_this.props.onAnnotationPress&&_this.props.onAnnotationPress(event.nativeEvent.annotation);}else if(event.nativeEvent.action==='callout-click'){var annotation=findByAnnotationId(event.nativeEvent.annotationId);if(annotation){if(event.nativeEvent.side==='left'&&annotation.onLeftCalloutPress){annotation.onLeftCalloutPress(event.nativeEvent);}else if(event.nativeEvent.side==='right'&&annotation.onRightCalloutPress){annotation.onRightCalloutPress(event.nativeEvent);}}}};onAnnotationDragStateChange=function onAnnotationDragStateChange(event){var annotation=findByAnnotationId(event.nativeEvent.annotationId);if(annotation){annotation.onDragStateChange&&annotation.onDragStateChange(event.nativeEvent);}};onAnnotationFocus=function onAnnotationFocus(event){var annotation=findByAnnotationId(event.nativeEvent.annotationId);if(annotation&&annotation.onFocus){annotation.onFocus(event.nativeEvent);}};onAnnotationBlur=function onAnnotationBlur(event){var annotation=findByAnnotationId(event.nativeEvent.annotationId);if(annotation&&annotation.onBlur){annotation.onBlur(event.nativeEvent);}};}if(this.props.onRegionChange||this.props.onRegionChangeComplete){var onChange=function onChange(event){if(event.nativeEvent.continuous){_this.props.onRegionChange&&_this.props.onRegionChange(event.nativeEvent.region);}else{_this.props.onRegionChangeComplete&&_this.props.onRegionChangeComplete(event.nativeEvent.region);}};}if(followUserLocation===undefined){followUserLocation=this.props.showUserLocation;}return React.createElement(RCTMap,_extends({},this.props,{annotations:annotations,children:children,followUserLocation:followUserLocation,overlays:overlays,onPress:onPress,onChange:onChange,onAnnotationDragStateChange:onAnnotationDragStateChange,onAnnotationFocus:onAnnotationFocus,onAnnotationBlur:onAnnotationBlur,__source:{fileName:_jsxFileName,lineNumber:526}}));}});var styles=StyleSheet.create({annotationView:{position:'absolute',backgroundColor:'transparent'},calloutView:{position:'absolute',backgroundColor:'white'}});var RCTMap=requireNativeComponent('RCTMap',MapView,{nativeOnly:{onAnnotationDragStateChange:true,onAnnotationFocus:true,onAnnotationBlur:true,onChange:true,onPress:true}});module.exports=MapView;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/Navigation/NavigatorIOS.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Components/Navigation/NavigatorIOS.ios.js';var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _objectWithoutProperties(obj,keys){var target={};for(var i in obj){if(keys.indexOf(i)>=0)continue;if(!Object.prototype.hasOwnProperty.call(obj,i))continue;target[i]=obj[i];}return target;}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var EventEmitter=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/EventEmitter.js");var Image=__webpack_require__("./node_modules/react-native/Libraries/Image/Image.ios.js");var NavigationContext=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/Navigator/Navigation/NavigationContext.js");var RCTNavigatorManager=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").NavigatorManager;var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var ReactNative=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNative.js");var StaticContainer=__webpack_require__("./node_modules/react-native/Libraries/Components/StaticContainer.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var TVEventHandler=__webpack_require__("./node_modules/react-native/Libraries/Components/AppleTV/TVEventHandler.ios.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var logError=__webpack_require__("./node_modules/react-native/Libraries/Utilities/logError.js");var requireNativeComponent=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/requireNativeComponent.js");var keyMirror=__webpack_require__("./node_modules/fbjs/lib/keyMirror.js");var TRANSITIONER_REF='transitionerRef';var PropTypes=React.PropTypes;var __uid=0;function getuid(){return __uid++;}var NavigatorTransitionerIOS=function(_React$Component){_inherits(NavigatorTransitionerIOS,_React$Component);function NavigatorTransitionerIOS(){_classCallCheck(this,NavigatorTransitionerIOS);return _possibleConstructorReturn(this,(NavigatorTransitionerIOS.__proto__||Object.getPrototypeOf(NavigatorTransitionerIOS)).apply(this,arguments));}_createClass(NavigatorTransitionerIOS,[{key:'requestSchedulingNavigation',value:function requestSchedulingNavigation(cb){RCTNavigatorManager.requestSchedulingJavaScriptNavigation(ReactNative.findNodeHandle(this),logError,cb);}},{key:'render',value:function render(){return React.createElement(RCTNavigator,_extends({},this.props,{__source:{fileName:_jsxFileName,lineNumber:51}}));}}]);return NavigatorTransitionerIOS;}(React.Component);var SystemIconLabels={done:true,cancel:true,edit:true,save:true,add:true,compose:true,reply:true,action:true,organize:true,bookmarks:true,search:true,refresh:true,stop:true,camera:true,trash:true,play:true,pause:true,rewind:true,'fast-forward':true,undo:true,redo:true,'page-curl':true};var SystemIcons=keyMirror(SystemIconLabels);var NavigatorIOS=React.createClass({displayName:'NavigatorIOS',propTypes:{initialRoute:PropTypes.shape({component:PropTypes.func.isRequired,title:PropTypes.string.isRequired,titleImage:Image.propTypes.source,passProps:PropTypes.object,backButtonIcon:Image.propTypes.source,backButtonTitle:PropTypes.string,leftButtonIcon:Image.propTypes.source,leftButtonTitle:PropTypes.string,leftButtonSystemIcon:PropTypes.oneOf(Object.keys(SystemIcons)),onLeftButtonPress:PropTypes.func,rightButtonIcon:Image.propTypes.source,rightButtonTitle:PropTypes.string,rightButtonSystemIcon:PropTypes.oneOf(Object.keys(SystemIcons)),onRightButtonPress:PropTypes.func,wrapperStyle:View.propTypes.style,navigationBarHidden:PropTypes.bool,shadowHidden:PropTypes.bool,tintColor:PropTypes.string,barTintColor:PropTypes.string,titleTextColor:PropTypes.string,translucent:PropTypes.bool}).isRequired,navigationBarHidden:PropTypes.bool,shadowHidden:PropTypes.bool,itemWrapperStyle:View.propTypes.style,tintColor:PropTypes.string,barTintColor:PropTypes.string,titleTextColor:PropTypes.string,translucent:PropTypes.bool,interactivePopGestureEnabled:PropTypes.bool},navigator:undefined,navigationContext:new NavigationContext(),componentWillMount:function componentWillMount(){this.navigator={push:this.push,pop:this.pop,popN:this.popN,replace:this.replace,replaceAtIndex:this.replaceAtIndex,replacePrevious:this.replacePrevious,replacePreviousAndPop:this.replacePreviousAndPop,resetTo:this.resetTo,popToRoute:this.popToRoute,popToTop:this.popToTop,navigationContext:this.navigationContext};this._emitWillFocus(this.state.routeStack[this.state.observedTopOfStack]);},componentDidMount:function componentDidMount(){this._emitDidFocus(this.state.routeStack[this.state.observedTopOfStack]);this._enableTVEventHandler();},componentWillUnmount:function componentWillUnmount(){this.navigationContext.dispose();this.navigationContext=new NavigationContext();this._disableTVEventHandler();},getDefaultProps:function getDefaultProps(){return{translucent:true};},getInitialState:function getInitialState(){return{idStack:[getuid()],routeStack:[this.props.initialRoute],requestedTopOfStack:0,observedTopOfStack:0,progress:1,fromIndex:0,toIndex:0,makingNavigatorRequest:false,updatingAllIndicesAtOrBeyond:0};},_toFocusOnNavigationComplete:undefined,_handleFocusRequest:function _handleFocusRequest(item){if(this.state.makingNavigatorRequest){this._toFocusOnNavigationComplete=item;}else{this._getFocusEmitter().emit('focus',item);}},_focusEmitter:undefined,_getFocusEmitter:function _getFocusEmitter(){var focusEmitter=this._focusEmitter;if(!focusEmitter){focusEmitter=new EventEmitter();this._focusEmitter=focusEmitter;}return focusEmitter;},getChildContext:function getChildContext(){return{onFocusRequested:this._handleFocusRequest,focusEmitter:this._getFocusEmitter()};},childContextTypes:{onFocusRequested:React.PropTypes.func,focusEmitter:React.PropTypes.instanceOf(EventEmitter)},_tryLockNavigator:function _tryLockNavigator(cb){this.refs[TRANSITIONER_REF].requestSchedulingNavigation(function(acquiredLock){return acquiredLock&&cb();});},_handleNavigatorStackChanged:function _handleNavigatorStackChanged(e){var newObservedTopOfStack=e.nativeEvent.stackLength-1;this._emitDidFocus(this.state.routeStack[newObservedTopOfStack]);invariant(newObservedTopOfStack<=this.state.requestedTopOfStack,'No navigator item should be pushed without JS knowing about it %s %s',newObservedTopOfStack,this.state.requestedTopOfStack);var wasWaitingForConfirmation=this.state.requestedTopOfStack!==this.state.observedTopOfStack;if(wasWaitingForConfirmation){invariant(newObservedTopOfStack===this.state.requestedTopOfStack,'If waiting for observedTopOfStack to reach requestedTopOfStack, '+'the only valid observedTopOfStack should be requestedTopOfStack.');}var nextState={observedTopOfStack:newObservedTopOfStack,makingNavigatorRequest:false,updatingAllIndicesAtOrBeyond:null,progress:1,toIndex:newObservedTopOfStack,fromIndex:newObservedTopOfStack};this.setState(nextState,this._eliminateUnneededChildren);},_eliminateUnneededChildren:function _eliminateUnneededChildren(){var updatingAllIndicesAtOrBeyond=this.state.routeStack.length>this.state.observedTopOfStack+1?this.state.observedTopOfStack+1:null;this.setState({idStack:this.state.idStack.slice(0,this.state.observedTopOfStack+1),routeStack:this.state.routeStack.slice(0,this.state.observedTopOfStack+1),requestedTopOfStack:this.state.observedTopOfStack,makingNavigatorRequest:true,updatingAllIndicesAtOrBeyond:updatingAllIndicesAtOrBeyond});},_emitDidFocus:function _emitDidFocus(route){this.navigationContext.emit('didfocus',{route:route});},_emitWillFocus:function _emitWillFocus(route){this.navigationContext.emit('willfocus',{route:route});},push:function push(route){var _this2=this;invariant(!!route,'Must supply route to push');if(this.state.requestedTopOfStack===this.state.observedTopOfStack){this._tryLockNavigator(function(){_this2._emitWillFocus(route);var nextStack=_this2.state.routeStack.concat([route]);var nextIDStack=_this2.state.idStack.concat([getuid()]);_this2.setState({idStack:nextIDStack,routeStack:nextStack,requestedTopOfStack:nextStack.length-1,makingNavigatorRequest:true,updatingAllIndicesAtOrBeyond:nextStack.length-1});});}},popN:function popN(n){var _this3=this;if(n===0){return;}if(this.state.requestedTopOfStack===this.state.observedTopOfStack){if(this.state.requestedTopOfStack>0){this._tryLockNavigator(function(){var newRequestedTopOfStack=_this3.state.requestedTopOfStack-n;invariant(newRequestedTopOfStack>=0,'Cannot pop below 0');_this3._emitWillFocus(_this3.state.routeStack[newRequestedTopOfStack]);_this3.setState({requestedTopOfStack:newRequestedTopOfStack,makingNavigatorRequest:true,updatingAllIndicesAtOrBeyond:_this3.state.requestedTopOfStack-n});});}}},pop:function pop(){this.popN(1);},replaceAtIndex:function replaceAtIndex(route,index){invariant(!!route,'Must supply route to replace');if(index<0){index+=this.state.routeStack.length;}if(this.state.routeStack.length<=index){return;}var nextIDStack=this.state.idStack.slice();var nextRouteStack=this.state.routeStack.slice();nextIDStack[index]=getuid();nextRouteStack[index]=route;this.setState({idStack:nextIDStack,routeStack:nextRouteStack,makingNavigatorRequest:false,updatingAllIndicesAtOrBeyond:index});this._emitWillFocus(route);this._emitDidFocus(route);},replace:function replace(route){this.replaceAtIndex(route,-1);},replacePrevious:function replacePrevious(route){this.replaceAtIndex(route,-2);},popToTop:function popToTop(){this.popToRoute(this.state.routeStack[0]);},popToRoute:function popToRoute(route){var indexOfRoute=this.state.routeStack.indexOf(route);invariant(indexOfRoute!==-1,'Calling pop to route for a route that doesn\'t exist!');var numToPop=this.state.routeStack.length-indexOfRoute-1;this.popN(numToPop);},replacePreviousAndPop:function replacePreviousAndPop(route){var _this4=this;if(this.state.requestedTopOfStack!==this.state.observedTopOfStack){return;}if(this.state.routeStack.length<2){return;}this._tryLockNavigator(function(){_this4.replacePrevious(route);_this4.setState({requestedTopOfStack:_this4.state.requestedTopOfStack-1,makingNavigatorRequest:true});});},resetTo:function resetTo(route){invariant(!!route,'Must supply route to push');if(this.state.requestedTopOfStack!==this.state.observedTopOfStack){return;}this.replaceAtIndex(route,0);this.popToRoute(route);},_handleNavigationComplete:function _handleNavigationComplete(e){e.stopPropagation();if(this._toFocusOnNavigationComplete){this._getFocusEmitter().emit('focus',this._toFocusOnNavigationComplete);this._toFocusOnNavigationComplete=null;}this._handleNavigatorStackChanged(e);},_routeToStackItem:function _routeToStackItem(routeArg,i){var component=routeArg.component,wrapperStyle=routeArg.wrapperStyle,passProps=routeArg.passProps,route=_objectWithoutProperties(routeArg,['component','wrapperStyle','passProps']);var _props=this.props,itemWrapperStyle=_props.itemWrapperStyle,props=_objectWithoutProperties(_props,['itemWrapperStyle']);var shouldUpdateChild=this.state.updatingAllIndicesAtOrBeyond!=null&&this.state.updatingAllIndicesAtOrBeyond>=i;var Component=component;return React.createElement(StaticContainer,{key:'nav'+i,shouldUpdate:shouldUpdateChild,__source:{fileName:_jsxFileName,lineNumber:855}},React.createElement(RCTNavigatorItem,_extends({},props,route,{style:[styles.stackItem,itemWrapperStyle,wrapperStyle],__source:{fileName:_jsxFileName,lineNumber:856}}),React.createElement(Component,_extends({navigator:this.navigator,route:route},passProps,{__source:{fileName:_jsxFileName,lineNumber:864}}))));},_renderNavigationStackItems:function _renderNavigationStackItems(){var shouldRecurseToNavigator=this.state.makingNavigatorRequest||this.state.updatingAllIndicesAtOrBeyond!==null;var items=shouldRecurseToNavigator?this.state.routeStack.map(this._routeToStackItem):null;return React.createElement(StaticContainer,{shouldUpdate:shouldRecurseToNavigator,__source:{fileName:_jsxFileName,lineNumber:883}},React.createElement(NavigatorTransitionerIOS,{ref:TRANSITIONER_REF,style:styles.transitioner,vertical:this.props.vertical,requestedTopOfStack:this.state.requestedTopOfStack,onNavigationComplete:this._handleNavigationComplete,interactivePopGestureEnabled:this.props.interactivePopGestureEnabled,__source:{fileName:_jsxFileName,lineNumber:884}},items));},_tvEventHandler:undefined,_enableTVEventHandler:function _enableTVEventHandler(){this._tvEventHandler=new TVEventHandler();this._tvEventHandler.enable(this,function(cmp,evt){if(evt&&evt.eventType==='menu'){cmp.pop();}});},_disableTVEventHandler:function _disableTVEventHandler(){if(this._tvEventHandler){this._tvEventHandler.disable();delete this._tvEventHandler;}},render:function render(){return React.createElement(View,{style:this.props.style,__source:{fileName:_jsxFileName,lineNumber:917}},this._renderNavigationStackItems());}});var styles=StyleSheet.create({stackItem:{backgroundColor:'white',overflow:'hidden',position:'absolute',top:0,left:0,right:0,bottom:0},transitioner:{flex:1}});var RCTNavigator=requireNativeComponent('RCTNavigator');var RCTNavigatorItem=requireNativeComponent('RCTNavItem');module.exports=NavigatorIOS;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/Picker/Picker.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Components/Picker/Picker.js',_class,_temp;var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var ColorPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/ColorPropType.js");var PickerIOS=__webpack_require__("./node_modules/react-native/Libraries/Components/Picker/PickerIOS.ios.js");var PickerAndroid=__webpack_require__("./node_modules/react-native/Libraries/Components/Picker/PickerAndroid.ios.js");var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var StyleSheetPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheetPropType.js");var TextStylePropTypes=__webpack_require__("./node_modules/react-native/Libraries/Text/TextStylePropTypes.js");var UnimplementedView=__webpack_require__("./node_modules/react-native/Libraries/Components/UnimplementedViews/UnimplementedView.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var ViewStylePropTypes=__webpack_require__("./node_modules/react-native/Libraries/Components/View/ViewStylePropTypes.js");var itemStylePropType=StyleSheetPropType(TextStylePropTypes);var pickerStyleType=StyleSheetPropType(_extends({},ViewStylePropTypes,{color:ColorPropType}));var MODE_DIALOG='dialog';var MODE_DROPDOWN='dropdown';var Picker=function(_React$Component){_inherits(Picker,_React$Component);function Picker(){_classCallCheck(this,Picker);return _possibleConstructorReturn(this,(Picker.__proto__||Object.getPrototypeOf(Picker)).apply(this,arguments));}_createClass(Picker,[{key:'render',value:function render(){if(Platform.OS==='ios'){return React.createElement(PickerIOS,_extends({},this.props,{__source:{fileName:_jsxFileName,lineNumber:119}}),this.props.children);}else if(Platform.OS==='android'){return React.createElement(PickerAndroid,_extends({},this.props,{__source:{fileName:_jsxFileName,lineNumber:122}}),this.props.children);}else{return React.createElement(UnimplementedView,{__source:{fileName:_jsxFileName,lineNumber:124}});}}}]);return Picker;}(React.Component);Picker.MODE_DIALOG=MODE_DIALOG;Picker.MODE_DROPDOWN=MODE_DROPDOWN;Picker.defaultProps={mode:MODE_DIALOG};Picker.propTypes=_extends({},View.propTypes,{style:pickerStyleType,selectedValue:React.PropTypes.any,onValueChange:React.PropTypes.func,enabled:React.PropTypes.bool,mode:React.PropTypes.oneOf(['dialog','dropdown']),itemStyle:itemStylePropType,prompt:React.PropTypes.string,testID:React.PropTypes.string});Picker.Item=(_temp=_class=function(_React$Component2){_inherits(_class,_React$Component2);function _class(){_classCallCheck(this,_class);return _possibleConstructorReturn(this,(_class.__proto__||Object.getPrototypeOf(_class)).apply(this,arguments));}_createClass(_class,[{key:'render',value:function render(){throw null;}}]);return _class;}(React.Component),_class.propTypes={label:React.PropTypes.string.isRequired,value:React.PropTypes.any,color:ColorPropType,testID:React.PropTypes.string},_temp);module.exports=Picker;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/Picker/PickerAndroid.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
module.exports=__webpack_require__("./node_modules/react-native/Libraries/Components/UnimplementedViews/UnimplementedView.js");

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/Picker/PickerIOS.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Components/Picker/PickerIOS.ios.js',_class,_temp;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var NativeMethodsMixin=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/NativeMethodsMixin.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var StyleSheetPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheetPropType.js");var TextStylePropTypes=__webpack_require__("./node_modules/react-native/Libraries/Text/TextStylePropTypes.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var processColor=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/processColor.js");var itemStylePropType=StyleSheetPropType(TextStylePropTypes);var requireNativeComponent=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/requireNativeComponent.js");var PickerIOS=React.createClass({displayName:'PickerIOS',mixins:[NativeMethodsMixin],propTypes:_extends({},View.propTypes,{itemStyle:itemStylePropType,onValueChange:React.PropTypes.func,selectedValue:React.PropTypes.any}),getInitialState:function getInitialState(){return this._stateFromProps(this.props);},componentWillReceiveProps:function componentWillReceiveProps(nextProps){this.setState(this._stateFromProps(nextProps));},_stateFromProps:function _stateFromProps(props){var selectedIndex=0;var items=[];React.Children.toArray(props.children).forEach(function(child,index){if(child.props.value===props.selectedValue){selectedIndex=index;}items.push({value:child.props.value,label:child.props.label,textColor:processColor(child.props.color)});});return{selectedIndex:selectedIndex,items:items};},render:function render(){var _this=this;return React.createElement(View,{style:this.props.style,__source:{fileName:_jsxFileName,lineNumber:63}},React.createElement(RCTPickerIOS,{ref:function ref(picker){return _this._picker=picker;},style:[styles.pickerIOS,this.props.itemStyle],items:this.state.items,selectedIndex:this.state.selectedIndex,onChange:this._onChange,onStartShouldSetResponder:function onStartShouldSetResponder(){return true;},onResponderTerminationRequest:function onResponderTerminationRequest(){return false;},__source:{fileName:_jsxFileName,lineNumber:64}}));},_onChange:function _onChange(event){if(this.props.onChange){this.props.onChange(event);}if(this.props.onValueChange){this.props.onValueChange(event.nativeEvent.newValue,event.nativeEvent.newIndex);}if(this._picker&&this.state.selectedIndex!==event.nativeEvent.newIndex){this._picker.setNativeProps({selectedIndex:this.state.selectedIndex});}}});PickerIOS.Item=(_temp=_class=function(_React$Component){_inherits(_class,_React$Component);function _class(){_classCallCheck(this,_class);return _possibleConstructorReturn(this,(_class.__proto__||Object.getPrototypeOf(_class)).apply(this,arguments));}_createClass(_class,[{key:'render',value:function render(){return null;}}]);return _class;}(React.Component),_class.propTypes={value:React.PropTypes.any,label:React.PropTypes.string,color:React.PropTypes.string},_temp);var styles=StyleSheet.create({pickerIOS:{height:216}});var RCTPickerIOS=requireNativeComponent('RCTPicker',{propTypes:{style:itemStylePropType}},{nativeOnly:{items:true,onChange:true,selectedIndex:true}});module.exports=PickerIOS;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
module.exports=__webpack_require__("./node_modules/react-native/Libraries/Components/UnimplementedViews/UnimplementedView.js");

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js';var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var Image=__webpack_require__("./node_modules/react-native/Libraries/Image/Image.ios.js");var NativeMethodsMixin=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/NativeMethodsMixin.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var requireNativeComponent=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/requireNativeComponent.js");var PropTypes=React.PropTypes;var ProgressViewIOS=React.createClass({displayName:'ProgressViewIOS',mixins:[NativeMethodsMixin],propTypes:_extends({},View.propTypes,{progressViewStyle:PropTypes.oneOf(['default','bar']),progress:PropTypes.number,progressTintColor:PropTypes.string,trackTintColor:PropTypes.string,progressImage:Image.propTypes.source,trackImage:Image.propTypes.source}),render:function render(){return React.createElement(RCTProgressView,_extends({},this.props,{style:[styles.progressView,this.props.style],__source:{fileName:_jsxFileName,lineNumber:65}}));}});var styles=StyleSheet.create({progressView:{height:2}});var RCTProgressView=requireNativeComponent('RCTProgressView',ProgressViewIOS);module.exports=ProgressViewIOS;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/RefreshControl/RefreshControl.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Components/RefreshControl/RefreshControl.js';var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var ColorPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/ColorPropType.js");var NativeMethodsMixin=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/NativeMethodsMixin.js");var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var requireNativeComponent=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/requireNativeComponent.js");if(Platform.OS==='android'){var RefreshLayoutConsts=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/UIManager.js").AndroidSwipeRefreshLayout.Constants;}else{var RefreshLayoutConsts={SIZE:{}};}var RefreshControl=React.createClass({displayName:'RefreshControl',statics:{SIZE:RefreshLayoutConsts.SIZE},mixins:[NativeMethodsMixin],propTypes:_extends({},View.propTypes,{onRefresh:React.PropTypes.func,refreshing:React.PropTypes.bool.isRequired,tintColor:ColorPropType,titleColor:ColorPropType,title:React.PropTypes.string,enabled:React.PropTypes.bool,colors:React.PropTypes.arrayOf(ColorPropType),progressBackgroundColor:ColorPropType,size:React.PropTypes.oneOf([RefreshLayoutConsts.SIZE.DEFAULT,RefreshLayoutConsts.SIZE.LARGE]),progressViewOffset:React.PropTypes.number}),_nativeRef:null,_lastNativeRefreshing:false,componentDidMount:function componentDidMount(){this._lastNativeRefreshing=this.props.refreshing;},componentDidUpdate:function componentDidUpdate(prevProps){if(this.props.refreshing!==prevProps.refreshing){this._lastNativeRefreshing=this.props.refreshing;}else if(this.props.refreshing!==this._lastNativeRefreshing){this._nativeRef.setNativeProps({refreshing:this.props.refreshing});this._lastNativeRefreshing=this.props.refreshing;}},render:function render(){var _this=this;return React.createElement(NativeRefreshControl,_extends({},this.props,{ref:function ref(_ref){_this._nativeRef=_ref;},onRefresh:this._onRefresh,__source:{fileName:_jsxFileName,lineNumber:153}}));},_onRefresh:function _onRefresh(){this._lastNativeRefreshing=true;this.props.onRefresh&&this.props.onRefresh();this.forceUpdate();}});if(Platform.OS==='ios'){var NativeRefreshControl=requireNativeComponent('RCTRefreshControl',RefreshControl);}else if(Platform.OS==='android'){var NativeRefreshControl=requireNativeComponent('AndroidSwipeRefreshLayout',RefreshControl);}module.exports=RefreshControl;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/ScrollResponder.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
function _objectWithoutProperties(obj,keys){var target={};for(var i in obj){if(keys.indexOf(i)>=0)continue;if(!Object.prototype.hasOwnProperty.call(obj,i))continue;target[i]=obj[i];}return target;}var Dimensions=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Dimensions.js");var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var Keyboard=__webpack_require__("./node_modules/react-native/Libraries/Components/Keyboard/Keyboard.js");var ReactNative=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNative.js");var Subscribable=__webpack_require__("./node_modules/react-native/Libraries/Components/Subscribable.js");var TextInputState=__webpack_require__("./node_modules/react-native/Libraries/Components/TextInput/TextInputState.js");var UIManager=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/UIManager.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");var _require=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeComponentTree.js"),getInstanceFromNode=_require.getInstanceFromNode;var _require2=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js"),ScrollViewManager=_require2.ScrollViewManager;var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var IS_ANIMATING_TOUCH_START_THRESHOLD_MS=16;function isTagInstanceOfTextInput(tag){var instance=getInstanceFromNode(tag);return instance&&instance.viewConfig&&(instance.viewConfig.uiViewClassName==='AndroidTextInput'||instance.viewConfig.uiViewClassName==='RCTTextView'||instance.viewConfig.uiViewClassName==='RCTTextField');}var ScrollResponderMixin={mixins:[Subscribable.Mixin],scrollResponderMixinGetInitialState:function scrollResponderMixinGetInitialState(){return{isTouching:false,lastMomentumScrollBeginTime:0,lastMomentumScrollEndTime:0,observedScrollSinceBecomingResponder:false,becameResponderWhileAnimating:false};},scrollResponderHandleScrollShouldSetResponder:function scrollResponderHandleScrollShouldSetResponder(){return this.state.isTouching;},scrollResponderHandleStartShouldSetResponder:function scrollResponderHandleStartShouldSetResponder(e){var currentlyFocusedTextInput=TextInputState.currentlyFocusedField();if(this.props.keyboardShouldPersistTaps==='handled'&&currentlyFocusedTextInput!=null&&e.target!==currentlyFocusedTextInput){return true;}return false;},scrollResponderHandleStartShouldSetResponderCapture:function scrollResponderHandleStartShouldSetResponderCapture(e){var currentlyFocusedTextInput=TextInputState.currentlyFocusedField();var keyboardShouldPersistTaps=this.props.keyboardShouldPersistTaps;var keyboardNeverPersistTaps=!keyboardShouldPersistTaps||keyboardShouldPersistTaps==='never';if(keyboardNeverPersistTaps&&currentlyFocusedTextInput!=null&&!isTagInstanceOfTextInput(e.target)){return true;}return this.scrollResponderIsAnimating();},scrollResponderHandleResponderReject:function scrollResponderHandleResponderReject(){},scrollResponderHandleTerminationRequest:function scrollResponderHandleTerminationRequest(){return!this.state.observedScrollSinceBecomingResponder;},scrollResponderHandleTouchEnd:function scrollResponderHandleTouchEnd(e){var nativeEvent=e.nativeEvent;this.state.isTouching=nativeEvent.touches.length!==0;this.props.onTouchEnd&&this.props.onTouchEnd(e);},scrollResponderHandleResponderRelease:function scrollResponderHandleResponderRelease(e){this.props.onResponderRelease&&this.props.onResponderRelease(e);var currentlyFocusedTextInput=TextInputState.currentlyFocusedField();if(this.props.keyboardShouldPersistTaps!==true&&this.props.keyboardShouldPersistTaps!=='always'&&currentlyFocusedTextInput!=null&&e.target!==currentlyFocusedTextInput&&!this.state.observedScrollSinceBecomingResponder&&!this.state.becameResponderWhileAnimating){this.props.onScrollResponderKeyboardDismissed&&this.props.onScrollResponderKeyboardDismissed(e);TextInputState.blurTextInput(currentlyFocusedTextInput);}},scrollResponderHandleScroll:function scrollResponderHandleScroll(e){this.state.observedScrollSinceBecomingResponder=true;this.props.onScroll&&this.props.onScroll(e);},scrollResponderHandleResponderGrant:function scrollResponderHandleResponderGrant(e){this.state.observedScrollSinceBecomingResponder=false;this.props.onResponderGrant&&this.props.onResponderGrant(e);this.state.becameResponderWhileAnimating=this.scrollResponderIsAnimating();},scrollResponderHandleScrollBeginDrag:function scrollResponderHandleScrollBeginDrag(e){this.props.onScrollBeginDrag&&this.props.onScrollBeginDrag(e);},scrollResponderHandleScrollEndDrag:function scrollResponderHandleScrollEndDrag(e){this.props.onScrollEndDrag&&this.props.onScrollEndDrag(e);},scrollResponderHandleMomentumScrollBegin:function scrollResponderHandleMomentumScrollBegin(e){this.state.lastMomentumScrollBeginTime=Date.now();this.props.onMomentumScrollBegin&&this.props.onMomentumScrollBegin(e);},scrollResponderHandleMomentumScrollEnd:function scrollResponderHandleMomentumScrollEnd(e){this.state.lastMomentumScrollEndTime=Date.now();this.props.onMomentumScrollEnd&&this.props.onMomentumScrollEnd(e);},scrollResponderHandleTouchStart:function scrollResponderHandleTouchStart(e){this.state.isTouching=true;this.props.onTouchStart&&this.props.onTouchStart(e);},scrollResponderHandleTouchMove:function scrollResponderHandleTouchMove(e){this.props.onTouchMove&&this.props.onTouchMove(e);},scrollResponderIsAnimating:function scrollResponderIsAnimating(){var now=Date.now();var timeSinceLastMomentumScrollEnd=now-this.state.lastMomentumScrollEndTime;var isAnimating=timeSinceLastMomentumScrollEnd<IS_ANIMATING_TOUCH_START_THRESHOLD_MS||this.state.lastMomentumScrollEndTime<this.state.lastMomentumScrollBeginTime;return isAnimating;},scrollResponderGetScrollableNode:function scrollResponderGetScrollableNode(){return this.getScrollableNode?this.getScrollableNode():ReactNative.findNodeHandle(this);},scrollResponderScrollTo:function scrollResponderScrollTo(x,y,animated){if(typeof x==='number'){console.warn('`scrollResponderScrollTo(x, y, animated)` is deprecated. Use `scrollResponderScrollTo({x: 5, y: 5, animated: true})` instead.');}else{var _ref=x||{};x=_ref.x;y=_ref.y;animated=_ref.animated;}UIManager.dispatchViewManagerCommand(this.scrollResponderGetScrollableNode(),UIManager.RCTScrollView.Commands.scrollTo,[x||0,y||0,animated!==false]);},scrollResponderScrollToEnd:function scrollResponderScrollToEnd(options){var animated=(options&&options.animated)!==false;UIManager.dispatchViewManagerCommand(this.scrollResponderGetScrollableNode(),UIManager.RCTScrollView.Commands.scrollToEnd,[animated]);},scrollResponderScrollWithoutAnimationTo:function scrollResponderScrollWithoutAnimationTo(offsetX,offsetY){console.warn('`scrollResponderScrollWithoutAnimationTo` is deprecated. Use `scrollResponderScrollTo` instead');this.scrollResponderScrollTo({x:offsetX,y:offsetY,animated:false});},scrollResponderZoomTo:function scrollResponderZoomTo(rect,animated){invariant(ScrollViewManager&&ScrollViewManager.zoomToRect,'zoomToRect is not implemented');if('animated'in rect){var animated=rect.animated,rect=_objectWithoutProperties(rect,['animated']);}else if(typeof animated!=='undefined'){console.warn('`scrollResponderZoomTo` `animated` argument is deprecated. Use `options.animated` instead');}ScrollViewManager.zoomToRect(this.scrollResponderGetScrollableNode(),rect,animated!==false);},scrollResponderScrollNativeHandleToKeyboard:function scrollResponderScrollNativeHandleToKeyboard(nodeHandle,additionalOffset,preventNegativeScrollOffset){this.additionalScrollOffset=additionalOffset||0;this.preventNegativeScrollOffset=!!preventNegativeScrollOffset;UIManager.measureLayout(nodeHandle,ReactNative.findNodeHandle(this.getInnerViewNode()),this.scrollResponderTextInputFocusError,this.scrollResponderInputMeasureAndScrollToKeyboard);},scrollResponderInputMeasureAndScrollToKeyboard:function scrollResponderInputMeasureAndScrollToKeyboard(left,top,width,height){var keyboardScreenY=Dimensions.get('window').height;if(this.keyboardWillOpenTo){keyboardScreenY=this.keyboardWillOpenTo.endCoordinates.screenY;}var scrollOffsetY=top-keyboardScreenY+height+this.additionalScrollOffset;if(this.preventNegativeScrollOffset){scrollOffsetY=Math.max(0,scrollOffsetY);}this.scrollResponderScrollTo({x:0,y:scrollOffsetY,animated:true});this.additionalOffset=0;this.preventNegativeScrollOffset=false;},scrollResponderTextInputFocusError:function scrollResponderTextInputFocusError(e){console.error('Error measuring text field: ',e);},componentWillMount:function componentWillMount(){var keyboardShouldPersistTaps=this.props.keyboardShouldPersistTaps;warning(typeof keyboardShouldPersistTaps!=='boolean','\'keyboardShouldPersistTaps={'+keyboardShouldPersistTaps+'}\' is deprecated. '+('Use \'keyboardShouldPersistTaps="'+(keyboardShouldPersistTaps?"always":"never")+'"\' instead'));this.keyboardWillOpenTo=null;this.additionalScrollOffset=0;this.addListenerOn(Keyboard,'keyboardWillShow',this.scrollResponderKeyboardWillShow);this.addListenerOn(Keyboard,'keyboardWillHide',this.scrollResponderKeyboardWillHide);this.addListenerOn(Keyboard,'keyboardDidShow',this.scrollResponderKeyboardDidShow);this.addListenerOn(Keyboard,'keyboardDidHide',this.scrollResponderKeyboardDidHide);},scrollResponderKeyboardWillShow:function scrollResponderKeyboardWillShow(e){this.keyboardWillOpenTo=e;this.props.onKeyboardWillShow&&this.props.onKeyboardWillShow(e);},scrollResponderKeyboardWillHide:function scrollResponderKeyboardWillHide(e){this.keyboardWillOpenTo=null;this.props.onKeyboardWillHide&&this.props.onKeyboardWillHide(e);},scrollResponderKeyboardDidShow:function scrollResponderKeyboardDidShow(e){if(e){this.keyboardWillOpenTo=e;}this.props.onKeyboardDidShow&&this.props.onKeyboardDidShow(e);},scrollResponderKeyboardDidHide:function scrollResponderKeyboardDidHide(e){this.keyboardWillOpenTo=null;this.props.onKeyboardDidHide&&this.props.onKeyboardDidHide(e);}};var ScrollResponder={Mixin:ScrollResponderMixin};module.exports=ScrollResponder;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/ScrollView/RecyclerViewBackedScrollView.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
module.exports=__webpack_require__("./node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js");

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js';var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var ColorPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/ColorPropType.js");var EdgeInsetsPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/EdgeInsetsPropType.js");var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var PointPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/PointPropType.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var ReactNative=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNative.js");var ScrollResponder=__webpack_require__("./node_modules/react-native/Libraries/Components/ScrollResponder.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var StyleSheetPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheetPropType.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var ViewStylePropTypes=__webpack_require__("./node_modules/react-native/Libraries/Components/View/ViewStylePropTypes.js");var dismissKeyboard=__webpack_require__("./node_modules/react-native/Libraries/Utilities/dismissKeyboard.js");var flattenStyle=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/flattenStyle.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var processDecelerationRate=__webpack_require__("./node_modules/react-native/Libraries/Components/ScrollView/processDecelerationRate.js");var PropTypes=React.PropTypes;var requireNativeComponent=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/requireNativeComponent.js");var ScrollView=React.createClass({displayName:'ScrollView',propTypes:_extends({},View.propTypes,{automaticallyAdjustContentInsets:PropTypes.bool,contentInset:EdgeInsetsPropType,contentOffset:PointPropType,bounces:PropTypes.bool,bouncesZoom:PropTypes.bool,alwaysBounceHorizontal:PropTypes.bool,alwaysBounceVertical:PropTypes.bool,centerContent:PropTypes.bool,contentContainerStyle:StyleSheetPropType(ViewStylePropTypes),decelerationRate:PropTypes.oneOfType([PropTypes.oneOf(['fast','normal']),PropTypes.number]),horizontal:PropTypes.bool,indicatorStyle:PropTypes.oneOf(['default','black','white']),directionalLockEnabled:PropTypes.bool,canCancelContentTouches:PropTypes.bool,keyboardDismissMode:PropTypes.oneOf(['none','interactive','on-drag']),keyboardShouldPersistTaps:PropTypes.oneOf(['always','never','handled',false,true]),maximumZoomScale:PropTypes.number,minimumZoomScale:PropTypes.number,onScroll:PropTypes.func,onScrollAnimationEnd:PropTypes.func,onContentSizeChange:PropTypes.func,pagingEnabled:PropTypes.bool,scrollEnabled:PropTypes.bool,scrollEventThrottle:PropTypes.number,scrollIndicatorInsets:EdgeInsetsPropType,scrollsToTop:PropTypes.bool,showsHorizontalScrollIndicator:PropTypes.bool,showsVerticalScrollIndicator:PropTypes.bool,stickyHeaderIndices:PropTypes.arrayOf(PropTypes.number),style:StyleSheetPropType(ViewStylePropTypes),snapToInterval:PropTypes.number,snapToAlignment:PropTypes.oneOf(['start','center','end']),removeClippedSubviews:PropTypes.bool,zoomScale:PropTypes.number,refreshControl:PropTypes.element,endFillColor:ColorPropType,scrollPerfTag:PropTypes.string}),mixins:[ScrollResponder.Mixin],getInitialState:function getInitialState(){return this.scrollResponderMixinGetInitialState();},setNativeProps:function setNativeProps(props){this._scrollViewRef&&this._scrollViewRef.setNativeProps(props);},getScrollResponder:function getScrollResponder(){return this;},getScrollableNode:function getScrollableNode(){return ReactNative.findNodeHandle(this._scrollViewRef);},getInnerViewNode:function getInnerViewNode(){return ReactNative.findNodeHandle(this._innerViewRef);},scrollTo:function scrollTo(y,x,animated){if(typeof y==='number'){console.warn('`scrollTo(y, x, animated)` is deprecated. Use `scrollTo({x: 5, y: 5, animated: true})` instead.');}else{var _ref=y||{};x=_ref.x;y=_ref.y;animated=_ref.animated;}this.getScrollResponder().scrollResponderScrollTo({x:x||0,y:y||0,animated:animated!==false});},scrollToEnd:function scrollToEnd(options){var animated=(options&&options.animated)!==false;this.getScrollResponder().scrollResponderScrollToEnd({animated:animated});},scrollWithoutAnimationTo:function scrollWithoutAnimationTo(){var y=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;var x=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;console.warn('`scrollWithoutAnimationTo` is deprecated. Use `scrollTo` instead');this.scrollTo({x:x,y:y,animated:false});},_handleScroll:function _handleScroll(e){if(false){if(this.props.onScroll&&this.props.scrollEventThrottle==null&&Platform.OS==='ios'){console.log('You specified `onScroll` on a <ScrollView> but not '+'`scrollEventThrottle`. You will only receive one event. '+'Using `16` you get all the events but be aware that it may '+'cause frame drops, use a bigger number if you don\'t need as '+'much precision.');}}if(Platform.OS==='android'){if(this.props.keyboardDismissMode==='on-drag'){dismissKeyboard();}}this.scrollResponderHandleScroll(e);},_handleContentOnLayout:function _handleContentOnLayout(e){var _e$nativeEvent$layout=e.nativeEvent.layout,width=_e$nativeEvent$layout.width,height=_e$nativeEvent$layout.height;this.props.onContentSizeChange&&this.props.onContentSizeChange(width,height);},_scrollViewRef:null,_setScrollViewRef:function _setScrollViewRef(ref){this._scrollViewRef=ref;},_innerViewRef:null,_setInnerViewRef:function _setInnerViewRef(ref){this._innerViewRef=ref;},render:function render(){var contentContainerStyle=[this.props.horizontal&&styles.contentContainerHorizontal,this.props.contentContainerStyle];var style=void 0,childLayoutProps=void 0;if(false){style=flattenStyle(this.props.style);childLayoutProps=['alignItems','justifyContent'].filter(function(prop){return style&&style[prop]!==undefined;});invariant(childLayoutProps.length===0,'ScrollView child layout ('+JSON.stringify(childLayoutProps)+') must be applied through the contentContainerStyle prop.');}var contentSizeChangeProps={};if(this.props.onContentSizeChange){contentSizeChangeProps={onLayout:this._handleContentOnLayout};}var contentContainer=React.createElement(View,_extends({},contentSizeChangeProps,{ref:this._setInnerViewRef,style:contentContainerStyle,removeClippedSubviews:this.props.removeClippedSubviews,collapsable:false,__source:{fileName:_jsxFileName,lineNumber:492}}),this.props.children);var alwaysBounceHorizontal=this.props.alwaysBounceHorizontal!==undefined?this.props.alwaysBounceHorizontal:this.props.horizontal;var alwaysBounceVertical=this.props.alwaysBounceVertical!==undefined?this.props.alwaysBounceVertical:!this.props.horizontal;var baseStyle=this.props.horizontal?styles.baseHorizontal:styles.baseVertical;var props=_extends({},this.props,{alwaysBounceHorizontal:alwaysBounceHorizontal,alwaysBounceVertical:alwaysBounceVertical,style:[baseStyle,this.props.style],onContentSizeChange:null,onTouchStart:this.scrollResponderHandleTouchStart,onTouchMove:this.scrollResponderHandleTouchMove,onTouchEnd:this.scrollResponderHandleTouchEnd,onScrollBeginDrag:this.scrollResponderHandleScrollBeginDrag,onScrollEndDrag:this.scrollResponderHandleScrollEndDrag,onMomentumScrollBegin:this.scrollResponderHandleMomentumScrollBegin,onMomentumScrollEnd:this.scrollResponderHandleMomentumScrollEnd,onStartShouldSetResponder:this.scrollResponderHandleStartShouldSetResponder,onStartShouldSetResponderCapture:this.scrollResponderHandleStartShouldSetResponderCapture,onScrollShouldSetResponder:this.scrollResponderHandleScrollShouldSetResponder,onScroll:this._handleScroll,onResponderGrant:this.scrollResponderHandleResponderGrant,onResponderTerminationRequest:this.scrollResponderHandleTerminationRequest,onResponderTerminate:this.scrollResponderHandleTerminate,onResponderRelease:this.scrollResponderHandleResponderRelease,onResponderReject:this.scrollResponderHandleResponderReject,sendMomentumEvents:this.props.onMomentumScrollBegin||this.props.onMomentumScrollEnd?true:false});var decelerationRate=this.props.decelerationRate;if(decelerationRate){props.decelerationRate=processDecelerationRate(decelerationRate);}var ScrollViewClass=void 0;if(Platform.OS==='ios'){ScrollViewClass=RCTScrollView;}else if(Platform.OS==='android'){if(this.props.horizontal){ScrollViewClass=AndroidHorizontalScrollView;}else{ScrollViewClass=AndroidScrollView;}}invariant(ScrollViewClass!==undefined,'ScrollViewClass must not be undefined');var refreshControl=this.props.refreshControl;if(refreshControl){if(Platform.OS==='ios'){return React.createElement(ScrollViewClass,_extends({},props,{ref:this._setScrollViewRef,__source:{fileName:_jsxFileName,lineNumber:564}}),refreshControl,contentContainer);}else if(Platform.OS==='android'){return React.cloneElement(refreshControl,{style:props.style},React.createElement(ScrollViewClass,_extends({},props,{style:baseStyle,ref:this._setScrollViewRef,__source:{fileName:_jsxFileName,lineNumber:579}}),contentContainer));}}return React.createElement(ScrollViewClass,_extends({},props,{ref:this._setScrollViewRef,__source:{fileName:_jsxFileName,lineNumber:586}}),contentContainer);}});var styles=StyleSheet.create({baseVertical:{flexGrow:1,flexShrink:1,flexDirection:'column',overflow:'scroll'},baseHorizontal:{flexGrow:1,flexShrink:1,flexDirection:'row',overflow:'scroll'},contentContainerHorizontal:{flexDirection:'row'}});var nativeOnlyProps=void 0,AndroidScrollView=void 0,AndroidHorizontalScrollView=void 0,RCTScrollView=void 0;if(Platform.OS==='android'){nativeOnlyProps={nativeOnly:{sendMomentumEvents:true}};AndroidScrollView=requireNativeComponent('RCTScrollView',ScrollView,nativeOnlyProps);AndroidHorizontalScrollView=requireNativeComponent('AndroidHorizontalScrollView',ScrollView,nativeOnlyProps);}else if(Platform.OS==='ios'){nativeOnlyProps={nativeOnly:{onMomentumScrollBegin:true,onMomentumScrollEnd:true,onScrollBeginDrag:true,onScrollEndDrag:true}};RCTScrollView=requireNativeComponent('RCTScrollView',ScrollView,nativeOnlyProps);}module.exports=ScrollView;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/ScrollView/processDecelerationRate.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
function processDecelerationRate(decelerationRate){if(decelerationRate==='normal'){decelerationRate=0.998;}else if(decelerationRate==='fast'){decelerationRate=0.99;}return decelerationRate;}module.exports=processDecelerationRate;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js';var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var NativeMethodsMixin=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/NativeMethodsMixin.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var requireNativeComponent=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/requireNativeComponent.js");var PropTypes=React.PropTypes;var SEGMENTED_CONTROL_REFERENCE='segmentedcontrol';var SegmentedControlIOS=React.createClass({displayName:'SegmentedControlIOS',mixins:[NativeMethodsMixin],propTypes:_extends({},View.propTypes,{values:PropTypes.arrayOf(PropTypes.string),selectedIndex:PropTypes.number,onValueChange:PropTypes.func,onChange:PropTypes.func,enabled:PropTypes.bool,tintColor:PropTypes.string,momentary:PropTypes.bool}),getDefaultProps:function getDefaultProps(){return{values:[],enabled:true};},_onChange:function _onChange(event){this.props.onChange&&this.props.onChange(event);this.props.onValueChange&&this.props.onValueChange(event.nativeEvent.value);},render:function render(){return React.createElement(RCTSegmentedControl,_extends({},this.props,{ref:SEGMENTED_CONTROL_REFERENCE,style:[styles.segmentedControl,this.props.style],onChange:this._onChange,__source:{fileName:_jsxFileName,lineNumber:111}}));}});var styles=StyleSheet.create({segmentedControl:{height:28}});var RCTSegmentedControl=requireNativeComponent('RCTSegmentedControl',SegmentedControlIOS);module.exports=SegmentedControlIOS;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/Slider/Slider.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Components/Slider/Slider.js';var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};function _objectWithoutProperties(obj,keys){var target={};for(var i in obj){if(keys.indexOf(i)>=0)continue;if(!Object.prototype.hasOwnProperty.call(obj,i))continue;target[i]=obj[i];}return target;}var Image=__webpack_require__("./node_modules/react-native/Libraries/Image/Image.ios.js");var NativeMethodsMixin=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/NativeMethodsMixin.js");var ReactNativeViewAttributes=__webpack_require__("./node_modules/react-native/Libraries/Components/View/ReactNativeViewAttributes.js");var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var requireNativeComponent=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/requireNativeComponent.js");var PropTypes=React.PropTypes;var Slider=React.createClass({displayName:'Slider',mixins:[NativeMethodsMixin],propTypes:_extends({},View.propTypes,{style:View.propTypes.style,value:PropTypes.number,step:PropTypes.number,minimumValue:PropTypes.number,maximumValue:PropTypes.number,minimumTrackTintColor:PropTypes.string,maximumTrackTintColor:PropTypes.string,disabled:PropTypes.bool,trackImage:Image.propTypes.source,minimumTrackImage:Image.propTypes.source,maximumTrackImage:Image.propTypes.source,thumbImage:Image.propTypes.source,onValueChange:PropTypes.func,onSlidingComplete:PropTypes.func,testID:PropTypes.string}),getDefaultProps:function getDefaultProps(){return{disabled:false,value:0,minimumValue:0,maximumValue:1,step:0};},viewConfig:{uiViewClassName:'RCTSlider',validAttributes:_extends({},ReactNativeViewAttributes.RCTView,{value:true})},render:function render(){var _props=this.props,style=_props.style,onValueChange=_props.onValueChange,onSlidingComplete=_props.onSlidingComplete,props=_objectWithoutProperties(_props,['style','onValueChange','onSlidingComplete']);props.style=[styles.slider,style];props.onValueChange=onValueChange&&function(event){var userEvent=true;if(Platform.OS==='android'){userEvent=event.nativeEvent.fromUser;}onValueChange&&userEvent&&onValueChange(event.nativeEvent.value);};props.onChange=props.onValueChange;props.onSlidingComplete=onSlidingComplete&&function(event){onSlidingComplete&&onSlidingComplete(event.nativeEvent.value);};return React.createElement(RCTSlider,_extends({},props,{enabled:!this.props.disabled,onStartShouldSetResponder:function onStartShouldSetResponder(){return true;},onResponderTerminationRequest:function onResponderTerminationRequest(){return false;},__source:{fileName:_jsxFileName,lineNumber:172}}));}});var styles=void 0;if(Platform.OS==='ios'){styles=StyleSheet.create({slider:{height:40}});}else{styles=StyleSheet.create({slider:{}});}var options={};if(Platform.OS==='android'){options={nativeOnly:{enabled:true}};}var RCTSlider=requireNativeComponent('RCTSlider',Slider,options);module.exports=Slider;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/StaticContainer.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var StaticContainer=function(_React$Component){_inherits(StaticContainer,_React$Component);function StaticContainer(){_classCallCheck(this,StaticContainer);return _possibleConstructorReturn(this,(StaticContainer.__proto__||Object.getPrototypeOf(StaticContainer)).apply(this,arguments));}_createClass(StaticContainer,[{key:'shouldComponentUpdate',value:function shouldComponentUpdate(nextProps){return!!nextProps.shouldUpdate;}},{key:'render',value:function render(){var child=this.props.children;return child===null||child===false?null:React.Children.only(child);}}]);return StaticContainer;}(React.Component);module.exports=StaticContainer;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/StaticRenderer.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var StaticRenderer=function(_React$Component){_inherits(StaticRenderer,_React$Component);function StaticRenderer(){_classCallCheck(this,StaticRenderer);return _possibleConstructorReturn(this,(StaticRenderer.__proto__||Object.getPrototypeOf(StaticRenderer)).apply(this,arguments));}_createClass(StaticRenderer,[{key:'shouldComponentUpdate',value:function shouldComponentUpdate(nextProps){return nextProps.shouldUpdate;}},{key:'render',value:function render(){return this.props.render();}}]);return StaticRenderer;}(React.Component);StaticRenderer.propTypes={shouldUpdate:React.PropTypes.bool.isRequired,render:React.PropTypes.func.isRequired};module.exports=StaticRenderer;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/StatusBar/StatusBar.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(clearImmediate, setImmediate) {var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var ColorPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/ColorPropType.js");var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var processColor=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/processColor.js");var StatusBarManager=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").StatusBarManager;function mergePropsStack(propsStack,defaultValues){return propsStack.reduce(function(prev,cur){for(var prop in cur){if(cur[prop]!=null){prev[prop]=cur[prop];}}return prev;},_extends({},defaultValues));}function createStackEntry(props){return{backgroundColor:props.backgroundColor!=null?{value:props.backgroundColor,animated:props.animated}:null,barStyle:props.barStyle!=null?{value:props.barStyle,animated:props.animated}:null,translucent:props.translucent,hidden:props.hidden!=null?{value:props.hidden,animated:props.animated,transition:props.showHideTransition}:null,networkActivityIndicatorVisible:props.networkActivityIndicatorVisible};}var StatusBar=function(_React$Component){_inherits(StatusBar,_React$Component);function StatusBar(){var _ref;var _temp,_this,_ret;_classCallCheck(this,StatusBar);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return _ret=(_temp=(_this=_possibleConstructorReturn(this,(_ref=StatusBar.__proto__||Object.getPrototypeOf(StatusBar)).call.apply(_ref,[this].concat(args))),_this),_this._stackEntry=null,_this._updatePropsStack=function(){clearImmediate(StatusBar._updateImmediate);StatusBar._updateImmediate=setImmediate(function(){var oldProps=StatusBar._currentValues;var mergedProps=mergePropsStack(StatusBar._propsStack,StatusBar._defaultProps);if(Platform.OS==='ios'){if(!oldProps||oldProps.barStyle.value!==mergedProps.barStyle.value){StatusBarManager.setStyle(mergedProps.barStyle.value,mergedProps.barStyle.animated);}if(!oldProps||oldProps.hidden.value!==mergedProps.hidden.value){StatusBarManager.setHidden(mergedProps.hidden.value,mergedProps.hidden.animated?mergedProps.hidden.transition:'none');}if(!oldProps||oldProps.networkActivityIndicatorVisible!==mergedProps.networkActivityIndicatorVisible){StatusBarManager.setNetworkActivityIndicatorVisible(mergedProps.networkActivityIndicatorVisible);}}else if(Platform.OS==='android'){if(!oldProps||oldProps.barStyle.value!==mergedProps.barStyle.value){StatusBarManager.setStyle(mergedProps.barStyle.value);}if(!oldProps||oldProps.backgroundColor.value!==mergedProps.backgroundColor.value){StatusBarManager.setColor(processColor(mergedProps.backgroundColor.value),mergedProps.backgroundColor.animated);}if(!oldProps||oldProps.hidden.value!==mergedProps.hidden.value){StatusBarManager.setHidden(mergedProps.hidden.value);}if(!oldProps||oldProps.translucent!==mergedProps.translucent){StatusBarManager.setTranslucent(mergedProps.translucent);}}StatusBar._currentValues=mergedProps;});},_temp),_possibleConstructorReturn(_this,_ret);}_createClass(StatusBar,[{key:'componentDidMount',value:function componentDidMount(){this._stackEntry=createStackEntry(this.props);StatusBar._propsStack.push(this._stackEntry);this._updatePropsStack();}},{key:'componentWillUnmount',value:function componentWillUnmount(){var index=StatusBar._propsStack.indexOf(this._stackEntry);StatusBar._propsStack.splice(index,1);this._updatePropsStack();}},{key:'componentDidUpdate',value:function componentDidUpdate(){var index=StatusBar._propsStack.indexOf(this._stackEntry);this._stackEntry=createStackEntry(this.props);StatusBar._propsStack[index]=this._stackEntry;this._updatePropsStack();}},{key:'render',value:function render(){return null;}}],[{key:'setHidden',value:function setHidden(hidden,animation){animation=animation||'none';StatusBar._defaultProps.hidden.value=hidden;if(Platform.OS==='ios'){StatusBarManager.setHidden(hidden,animation);}else if(Platform.OS==='android'){StatusBarManager.setHidden(hidden);}}},{key:'setBarStyle',value:function setBarStyle(style,animated){animated=animated||false;StatusBar._defaultProps.barStyle.value=style;if(Platform.OS==='ios'){StatusBarManager.setStyle(style,animated);}else if(Platform.OS==='android'){StatusBarManager.setStyle(style);}}},{key:'setNetworkActivityIndicatorVisible',value:function setNetworkActivityIndicatorVisible(visible){if(Platform.OS!=='ios'){console.warn('`setNetworkActivityIndicatorVisible` is only available on iOS');return;}StatusBar._defaultProps.networkActivityIndicatorVisible=visible;StatusBarManager.setNetworkActivityIndicatorVisible(visible);}},{key:'setBackgroundColor',value:function setBackgroundColor(color,animated){if(Platform.OS!=='android'){console.warn('`setBackgroundColor` is only available on Android');return;}animated=animated||false;StatusBar._defaultProps.backgroundColor.value=color;StatusBarManager.setColor(processColor(color),animated);}},{key:'setTranslucent',value:function setTranslucent(translucent){if(Platform.OS!=='android'){console.warn('`setTranslucent` is only available on Android');return;}StatusBar._defaultProps.translucent=translucent;StatusBarManager.setTranslucent(translucent);}}]);return StatusBar;}(React.Component);StatusBar._propsStack=[];StatusBar._defaultProps=createStackEntry({animated:false,showHideTransition:'fade',backgroundColor:'black',barStyle:'default',translucent:false,hidden:false,networkActivityIndicatorVisible:false});StatusBar._updateImmediate=null;StatusBar._currentValues=null;StatusBar.currentHeight=StatusBarManager.HEIGHT;StatusBar.propTypes={hidden:React.PropTypes.bool,animated:React.PropTypes.bool,backgroundColor:ColorPropType,translucent:React.PropTypes.bool,barStyle:React.PropTypes.oneOf(['default','light-content','dark-content']),networkActivityIndicatorVisible:React.PropTypes.bool,showHideTransition:React.PropTypes.oneOf(['fade','slide'])};StatusBar.defaultProps={animated:false,showHideTransition:'fade'};module.exports=StatusBar;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/timers-browserify/main.js").clearImmediate, __webpack_require__("./node_modules/timers-browserify/main.js").setImmediate))

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/StatusBar/StatusBarIOS.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var NativeEventEmitter=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/NativeEventEmitter.js");var _require=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js"),StatusBarManager=_require.StatusBarManager;var StatusBarIOS=function(_NativeEventEmitter){_inherits(StatusBarIOS,_NativeEventEmitter);function StatusBarIOS(){_classCallCheck(this,StatusBarIOS);return _possibleConstructorReturn(this,(StatusBarIOS.__proto__||Object.getPrototypeOf(StatusBarIOS)).apply(this,arguments));}return StatusBarIOS;}(NativeEventEmitter);module.exports=new StatusBarIOS(StatusBarManager);

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/Subscribable.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var Subscribable={};Subscribable.Mixin={componentWillMount:function componentWillMount(){this._subscribableSubscriptions=[];},componentWillUnmount:function componentWillUnmount(){this._subscribableSubscriptions.forEach(function(subscription){return subscription.remove();});this._subscribableSubscriptions=null;},addListenerOn:function addListenerOn(eventEmitter,eventType,listener,context){this._subscribableSubscriptions.push(eventEmitter.addListener(eventType,listener,context));}};module.exports=Subscribable;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/Switch/Switch.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Components/Switch/Switch.js';var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var ColorPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/ColorPropType.js");var NativeMethodsMixin=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/NativeMethodsMixin.js");var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var requireNativeComponent=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/requireNativeComponent.js");var Switch=React.createClass({displayName:'Switch',propTypes:_extends({},View.propTypes,{value:React.PropTypes.bool,disabled:React.PropTypes.bool,onValueChange:React.PropTypes.func,testID:React.PropTypes.string,tintColor:ColorPropType,onTintColor:ColorPropType,thumbTintColor:ColorPropType}),getDefaultProps:function getDefaultProps(){return{value:false,disabled:false};},mixins:[NativeMethodsMixin],_rctSwitch:{},_onChange:function _onChange(event){if(Platform.OS==='android'){this._rctSwitch.setNativeProps({on:this.props.value});}else{this._rctSwitch.setNativeProps({value:this.props.value});}this.props.onChange&&this.props.onChange(event);this.props.onValueChange&&this.props.onValueChange(event.nativeEvent.value);},render:function render(){var _this=this;var props=_extends({},this.props);props.onStartShouldSetResponder=function(){return true;};props.onResponderTerminationRequest=function(){return false;};if(Platform.OS==='android'){props.enabled=!this.props.disabled;props.on=this.props.value;props.style=this.props.style;}else if(Platform.OS==='ios'){props.style=[styles.rctSwitchIOS,this.props.style];}return React.createElement(RCTSwitch,_extends({},props,{ref:function ref(_ref){_this._rctSwitch=_ref;},onChange:this._onChange,__source:{fileName:_jsxFileName,lineNumber:111}}));}});var styles=StyleSheet.create({rctSwitchIOS:{height:31,width:51}});if(Platform.OS==='android'){var RCTSwitch=requireNativeComponent('AndroidSwitch',Switch,{nativeOnly:{onChange:true,on:true,enabled:true}});}else{var RCTSwitch=requireNativeComponent('RCTSwitch',Switch,{nativeOnly:{onChange:true}});}module.exports=Switch;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/TabBarIOS/TabBarIOS.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Components/TabBarIOS/TabBarIOS.ios.js';var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var ColorPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/ColorPropType.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var TabBarItemIOS=__webpack_require__("./node_modules/react-native/Libraries/Components/TabBarIOS/TabBarItemIOS.ios.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var requireNativeComponent=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/requireNativeComponent.js");var TabBarIOS=function(_React$Component){_inherits(TabBarIOS,_React$Component);function TabBarIOS(){_classCallCheck(this,TabBarIOS);return _possibleConstructorReturn(this,(TabBarIOS.__proto__||Object.getPrototypeOf(TabBarIOS)).apply(this,arguments));}_createClass(TabBarIOS,[{key:'render',value:function render(){return React.createElement(RCTTabBar,{style:[styles.tabGroup,this.props.style],unselectedTintColor:this.props.unselectedTintColor,unselectedItemTintColor:this.props.unselectedItemTintColor,tintColor:this.props.tintColor,barTintColor:this.props.barTintColor,itemPositioning:this.props.itemPositioning,translucent:this.props.translucent!==false,__source:{fileName:_jsxFileName,lineNumber:72}},this.props.children);}}]);return TabBarIOS;}(React.Component);TabBarIOS.Item=TabBarItemIOS;TabBarIOS.propTypes=_extends({},View.propTypes,{style:View.propTypes.style,unselectedTintColor:ColorPropType,tintColor:ColorPropType,unselectedItemTintColor:ColorPropType,barTintColor:ColorPropType,translucent:React.PropTypes.bool,itemPositioning:React.PropTypes.oneOf(['fill','center','auto'])});var styles=StyleSheet.create({tabGroup:{flex:1}});var RCTTabBar=requireNativeComponent('RCTTabBar',TabBarIOS);module.exports=TabBarIOS;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/TabBarIOS/TabBarItemIOS.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Components/TabBarIOS/TabBarItemIOS.ios.js';var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _objectWithoutProperties(obj,keys){var target={};for(var i in obj){if(keys.indexOf(i)>=0)continue;if(!Object.prototype.hasOwnProperty.call(obj,i))continue;target[i]=obj[i];}return target;}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var ColorPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/ColorPropType.js");var Image=__webpack_require__("./node_modules/react-native/Libraries/Image/Image.ios.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var StaticContainer=__webpack_require__("./node_modules/react-native/Libraries/Components/StaticContainer.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var requireNativeComponent=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/requireNativeComponent.js");var TabBarItemIOS=function(_React$Component){_inherits(TabBarItemIOS,_React$Component);function TabBarItemIOS(){var _ref;var _temp,_this,_ret;_classCallCheck(this,TabBarItemIOS);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return _ret=(_temp=(_this=_possibleConstructorReturn(this,(_ref=TabBarItemIOS.__proto__||Object.getPrototypeOf(TabBarItemIOS)).call.apply(_ref,[this].concat(args))),_this),_this.state={hasBeenSelected:false},_temp),_possibleConstructorReturn(_this,_ret);}_createClass(TabBarItemIOS,[{key:'componentWillMount',value:function componentWillMount(){if(this.props.selected){this.setState({hasBeenSelected:true});}}},{key:'componentWillReceiveProps',value:function componentWillReceiveProps(nextProps){if(this.state.hasBeenSelected||nextProps.selected){this.setState({hasBeenSelected:true});}}},{key:'render',value:function render(){var _props=this.props,style=_props.style,children=_props.children,props=_objectWithoutProperties(_props,['style','children']);if(this.state.hasBeenSelected){var tabContents=React.createElement(StaticContainer,{shouldUpdate:this.props.selected,__source:{fileName:_jsxFileName,lineNumber:121}},children);}else{var tabContents=React.createElement(View,{__source:{fileName:_jsxFileName,lineNumber:125}});}return React.createElement(RCTTabBarItem,_extends({},props,{style:[styles.tab,style],__source:{fileName:_jsxFileName,lineNumber:129}}),tabContents);}}]);return TabBarItemIOS;}(React.Component);TabBarItemIOS.propTypes=_extends({},View.propTypes,{badge:React.PropTypes.oneOfType([React.PropTypes.string,React.PropTypes.number]),badgeColor:ColorPropType,systemIcon:React.PropTypes.oneOf(['bookmarks','contacts','downloads','favorites','featured','history','more','most-recent','most-viewed','recents','search','top-rated']),icon:Image.propTypes.source,selectedIcon:Image.propTypes.source,onPress:React.PropTypes.func,renderAsOriginal:React.PropTypes.bool,selected:React.PropTypes.bool,style:View.propTypes.style,title:React.PropTypes.string,isTVSelectable:React.PropTypes.bool});var styles=StyleSheet.create({tab:{position:'absolute',top:0,right:0,bottom:0,left:0}});var RCTTabBarItem=requireNativeComponent('RCTTabBarItem',TabBarItemIOS);module.exports=TabBarItemIOS;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/TextInput/TextInput.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Components/TextInput/TextInput.js';var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var ColorPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/ColorPropType.js");var DocumentSelectionState=__webpack_require__("./node_modules/react-native/Libraries/vendor/document/selection/DocumentSelectionState.js");var EventEmitter=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/EventEmitter.js");var NativeMethodsMixin=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/NativeMethodsMixin.js");var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var ReactNative=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNative.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var Text=__webpack_require__("./node_modules/react-native/Libraries/Text/Text.js");var TextInputState=__webpack_require__("./node_modules/react-native/Libraries/Components/TextInput/TextInputState.js");var TimerMixin=__webpack_require__("./node_modules/react-timer-mixin/TimerMixin.js");var TouchableWithoutFeedback=__webpack_require__("./node_modules/react-native/Libraries/Components/Touchable/TouchableWithoutFeedback.js");var UIManager=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/UIManager.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");var emptyFunction=__webpack_require__("./node_modules/fbjs/lib/emptyFunction.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var requireNativeComponent=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/requireNativeComponent.js");var PropTypes=React.PropTypes;var onlyMultiline={onTextInput:true,children:true};if(Platform.OS==='android'){var AndroidTextInput=requireNativeComponent('AndroidTextInput',null);}else if(Platform.OS==='ios'){var RCTTextView=requireNativeComponent('RCTTextView',null);var RCTTextField=requireNativeComponent('RCTTextField',null);}var DataDetectorTypes=['phoneNumber','link','address','calendarEvent','none','all'];var TextInput=React.createClass({displayName:'TextInput',statics:{State:TextInputState},propTypes:_extends({},View.propTypes,{autoCapitalize:PropTypes.oneOf(['none','sentences','words','characters']),autoCorrect:PropTypes.bool,spellCheck:PropTypes.bool,autoFocus:PropTypes.bool,editable:PropTypes.bool,keyboardType:PropTypes.oneOf(['default','email-address','numeric','phone-pad','ascii-capable','numbers-and-punctuation','url','number-pad','name-phone-pad','decimal-pad','twitter','web-search']),keyboardAppearance:PropTypes.oneOf(['default','light','dark']),returnKeyType:PropTypes.oneOf(['done','go','next','search','send','none','previous','default','emergency-call','google','join','route','yahoo']),returnKeyLabel:PropTypes.string,maxLength:PropTypes.number,numberOfLines:PropTypes.number,disableFullscreenUI:PropTypes.bool,enablesReturnKeyAutomatically:PropTypes.bool,multiline:PropTypes.bool,textBreakStrategy:React.PropTypes.oneOf(['simple','highQuality','balanced']),onBlur:PropTypes.func,onFocus:PropTypes.func,onChange:PropTypes.func,onChangeText:PropTypes.func,onContentSizeChange:PropTypes.func,onEndEditing:PropTypes.func,onSelectionChange:PropTypes.func,onSubmitEditing:PropTypes.func,onKeyPress:PropTypes.func,onLayout:PropTypes.func,onScroll:PropTypes.func,placeholder:PropTypes.node,placeholderTextColor:ColorPropType,secureTextEntry:PropTypes.bool,selectionColor:ColorPropType,selectionState:PropTypes.instanceOf(DocumentSelectionState),selection:PropTypes.shape({start:PropTypes.number.isRequired,end:PropTypes.number}),value:PropTypes.string,defaultValue:PropTypes.node,clearButtonMode:PropTypes.oneOf(['never','while-editing','unless-editing','always']),clearTextOnFocus:PropTypes.bool,selectTextOnFocus:PropTypes.bool,blurOnSubmit:PropTypes.bool,style:Text.propTypes.style,underlineColorAndroid:ColorPropType,inlineImageLeft:PropTypes.string,inlineImagePadding:PropTypes.number,dataDetectorTypes:PropTypes.oneOfType([PropTypes.oneOf(DataDetectorTypes),PropTypes.arrayOf(PropTypes.oneOf(DataDetectorTypes))])}),mixins:[NativeMethodsMixin,TimerMixin],viewConfig:Platform.OS==='ios'&&RCTTextField?RCTTextField.viewConfig:Platform.OS==='android'&&AndroidTextInput?AndroidTextInput.viewConfig:{},isFocused:function isFocused(){return TextInputState.currentlyFocusedField()===ReactNative.findNodeHandle(this._inputRef);},contextTypes:{onFocusRequested:React.PropTypes.func,focusEmitter:React.PropTypes.instanceOf(EventEmitter)},_inputRef:undefined,_focusSubscription:undefined,_lastNativeText:undefined,_lastNativeSelection:undefined,componentDidMount:function componentDidMount(){var _this=this;this._lastNativeText=this.props.value;if(!this.context.focusEmitter){if(this.props.autoFocus){this.requestAnimationFrame(this.focus);}return;}this._focusSubscription=this.context.focusEmitter.addListener('focus',function(el){if(_this===el){_this.requestAnimationFrame(_this.focus);}else if(_this.isFocused()){_this.blur();}});if(this.props.autoFocus){this.context.onFocusRequested(this);}},componentWillUnmount:function componentWillUnmount(){this._focusSubscription&&this._focusSubscription.remove();if(this.isFocused()){this.blur();}},getChildContext:function getChildContext(){return{isInAParentText:true};},childContextTypes:{isInAParentText:React.PropTypes.bool},clear:function clear(){this.setNativeProps({text:''});},render:function render(){if(Platform.OS==='ios'){return this._renderIOS();}else if(Platform.OS==='android'){return this._renderAndroid();}},_getText:function _getText(){return typeof this.props.value==='string'?this.props.value:typeof this.props.defaultValue==='string'?this.props.defaultValue:'';},_setNativeRef:function _setNativeRef(ref){this._inputRef=ref;},_renderIOS:function _renderIOS(){var textContainer;var props=_extends({},this.props);props.style=[styles.input,this.props.style];if(props.selection&&props.selection.end==null){props.selection={start:props.selection.start,end:props.selection.start};}if(!props.multiline){if(false){for(var propKey in onlyMultiline){if(props[propKey]){var error=new Error('TextInput prop `'+propKey+'` is only supported with multiline.');warning(false,'%s',error.stack);}}}textContainer=React.createElement(RCTTextField,_extends({ref:this._setNativeRef},props,{onFocus:this._onFocus,onBlur:this._onBlur,onChange:this._onChange,onSelectionChange:this._onSelectionChange,onSelectionChangeShouldSetResponder:emptyFunction.thatReturnsTrue,text:this._getText(),__source:{fileName:_jsxFileName,lineNumber:650}}));}else{var children=props.children;var childCount=0;React.Children.forEach(children,function(){return++childCount;});invariant(!(props.value&&childCount),'Cannot specify both value and children.');if(childCount>=1){children=React.createElement(Text,{style:props.style,__source:{fileName:_jsxFileName,lineNumber:669}},children);}if(props.inputView){children=[children,props.inputView];}textContainer=React.createElement(RCTTextView,_extends({ref:this._setNativeRef},props,{children:children,onFocus:this._onFocus,onBlur:this._onBlur,onChange:this._onChange,onContentSizeChange:this.props.onContentSizeChange,onSelectionChange:this._onSelectionChange,onTextInput:this._onTextInput,onSelectionChangeShouldSetResponder:emptyFunction.thatReturnsTrue,text:this._getText(),dataDetectorTypes:this.props.dataDetectorTypes,onScroll:this._onScroll,__source:{fileName:_jsxFileName,lineNumber:675}}));}return React.createElement(TouchableWithoutFeedback,{onLayout:props.onLayout,onPress:this._onPress,rejectResponderTermination:true,accessible:props.accessible,accessibilityLabel:props.accessibilityLabel,accessibilityTraits:props.accessibilityTraits,testID:props.testID,__source:{fileName:_jsxFileName,lineNumber:693}},textContainer);},_renderAndroid:function _renderAndroid(){var props=_extends({},this.props);props.style=[this.props.style];props.autoCapitalize=UIManager.AndroidTextInput.Constants.AutoCapitalizationType[this.props.autoCapitalize];var children=this.props.children;var childCount=0;React.Children.forEach(children,function(){return++childCount;});invariant(!(this.props.value&&childCount),'Cannot specify both value and children.');if(childCount>1){children=React.createElement(Text,{__source:{fileName:_jsxFileName,lineNumber:719}},children);}if(props.selection&&props.selection.end==null){props.selection={start:props.selection.start,end:props.selection.start};}var textContainer=React.createElement(AndroidTextInput,_extends({ref:this._setNativeRef},props,{mostRecentEventCount:0,onFocus:this._onFocus,onBlur:this._onBlur,onChange:this._onChange,onSelectionChange:this._onSelectionChange,onTextInput:this._onTextInput,text:this._getText(),children:children,disableFullscreenUI:this.props.disableFullscreenUI,textBreakStrategy:this.props.textBreakStrategy,__source:{fileName:_jsxFileName,lineNumber:727}}));return React.createElement(TouchableWithoutFeedback,{onLayout:this.props.onLayout,onPress:this._onPress,accessible:this.props.accessible,accessibilityLabel:this.props.accessibilityLabel,accessibilityComponentType:this.props.accessibilityComponentType,testID:this.props.testID,__source:{fileName:_jsxFileName,lineNumber:743}},textContainer);},_onFocus:function _onFocus(event){if(this.props.onFocus){this.props.onFocus(event);}if(this.props.selectionState){this.props.selectionState.focus();}},_onPress:function _onPress(event){if(this.props.editable||this.props.editable===undefined){this.focus();}},_onChange:function _onChange(event){this._inputRef.setNativeProps({mostRecentEventCount:event.nativeEvent.eventCount});var text=event.nativeEvent.text;this.props.onChange&&this.props.onChange(event);this.props.onChangeText&&this.props.onChangeText(text);if(!this._inputRef){return;}this._lastNativeText=text;this.forceUpdate();},_onSelectionChange:function _onSelectionChange(event){this.props.onSelectionChange&&this.props.onSelectionChange(event);if(!this._inputRef){return;}this._lastNativeSelection=event.nativeEvent.selection;if(this.props.selection||this.props.selectionState){this.forceUpdate();}},componentDidUpdate:function componentDidUpdate(){var nativeProps={};if(this._lastNativeText!==this.props.value&&typeof this.props.value==='string'){nativeProps.text=this.props.value;}var selection=this.props.selection;if(this._lastNativeSelection&&selection&&(this._lastNativeSelection.start!==selection.start||this._lastNativeSelection.end!==selection.end)){nativeProps.selection=this.props.selection;}if(Object.keys(nativeProps).length>0){this._inputRef.setNativeProps(nativeProps);}if(this.props.selectionState&&selection){this.props.selectionState.update(selection.start,selection.end);}},_onBlur:function _onBlur(event){this.blur();if(this.props.onBlur){this.props.onBlur(event);}if(this.props.selectionState){this.props.selectionState.blur();}},_onTextInput:function _onTextInput(event){this.props.onTextInput&&this.props.onTextInput(event);},_onScroll:function _onScroll(event){this.props.onScroll&&this.props.onScroll(event);}});var styles=StyleSheet.create({input:{alignSelf:'stretch'}});module.exports=TextInput;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/TextInput/TextInputState.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var UIManager=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/UIManager.js");var TextInputState={_currentlyFocusedID:null,currentlyFocusedField:function currentlyFocusedField(){return this._currentlyFocusedID;},focusTextInput:function focusTextInput(textFieldID){if(this._currentlyFocusedID!==textFieldID&&textFieldID!==null){this._currentlyFocusedID=textFieldID;if(Platform.OS==='ios'){UIManager.focus(textFieldID);}else if(Platform.OS==='android'){UIManager.dispatchViewManagerCommand(textFieldID,UIManager.AndroidTextInput.Commands.focusTextInput,null);}}},blurTextInput:function blurTextInput(textFieldID){if(this._currentlyFocusedID===textFieldID&&textFieldID!==null){this._currentlyFocusedID=null;if(Platform.OS==='ios'){UIManager.blur(textFieldID);}else if(Platform.OS==='android'){UIManager.dispatchViewManagerCommand(textFieldID,UIManager.AndroidTextInput.Commands.blurTextInput,null);}}}};module.exports=TextInputState;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/TimePickerAndroid/TimePickerAndroid.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var TimePickerAndroid={open:function open(options){return regeneratorRuntime.async(function open$(_context){while(1){switch(_context.prev=_context.next){case 0:return _context.abrupt('return',Promise.reject({message:'TimePickerAndroid is not supported on this platform.'}));case 1:case'end':return _context.stop();}}},null,this);}};module.exports=TimePickerAndroid;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/ToastAndroid/ToastAndroid.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");var ToastAndroid={show:function show(message,duration){warning(false,'ToastAndroid is not supported on this platform.');}};module.exports=ToastAndroid;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/ToolbarAndroid/ToolbarAndroid.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
module.exports=__webpack_require__("./node_modules/react-native/Libraries/Components/UnimplementedViews/UnimplementedView.js");

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/Touchable/BoundingDimensions.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var PooledClass=__webpack_require__("./node_modules/react/lib/PooledClass.js");var twoArgumentPooler=PooledClass.twoArgumentPooler;function BoundingDimensions(width,height){this.width=width;this.height=height;}BoundingDimensions.prototype.destructor=function(){this.width=null;this.height=null;};BoundingDimensions.getPooledFromElement=function(element){return BoundingDimensions.getPooled(element.offsetWidth,element.offsetHeight);};PooledClass.addPoolingTo(BoundingDimensions,twoArgumentPooler);module.exports=BoundingDimensions;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/Touchable/Position.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var PooledClass=__webpack_require__("./node_modules/react/lib/PooledClass.js");var twoArgumentPooler=PooledClass.twoArgumentPooler;function Position(left,top){this.left=left;this.top=top;}Position.prototype.destructor=function(){this.left=null;this.top=null;};PooledClass.addPoolingTo(Position,twoArgumentPooler);module.exports=Position;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/Touchable/Touchable.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Components/Touchable/Touchable.js';var BoundingDimensions=__webpack_require__("./node_modules/react-native/Libraries/Components/Touchable/BoundingDimensions.js");var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var Position=__webpack_require__("./node_modules/react-native/Libraries/Components/Touchable/Position.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var TVEventHandler=__webpack_require__("./node_modules/react-native/Libraries/Components/AppleTV/TVEventHandler.ios.js");var TouchEventUtils=__webpack_require__("./node_modules/fbjs/lib/TouchEventUtils.js");var UIManager=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/UIManager.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var findNodeHandle=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/findNodeHandle.js");var keyMirror=__webpack_require__("./node_modules/fbjs/lib/keyMirror.js");var normalizeColor=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/normalizeColor.js");var States=keyMirror({NOT_RESPONDER:null,RESPONDER_INACTIVE_PRESS_IN:null,RESPONDER_INACTIVE_PRESS_OUT:null,RESPONDER_ACTIVE_PRESS_IN:null,RESPONDER_ACTIVE_PRESS_OUT:null,RESPONDER_ACTIVE_LONG_PRESS_IN:null,RESPONDER_ACTIVE_LONG_PRESS_OUT:null,ERROR:null});var IsActive={RESPONDER_ACTIVE_PRESS_OUT:true,RESPONDER_ACTIVE_PRESS_IN:true};var IsPressingIn={RESPONDER_INACTIVE_PRESS_IN:true,RESPONDER_ACTIVE_PRESS_IN:true,RESPONDER_ACTIVE_LONG_PRESS_IN:true};var IsLongPressingIn={RESPONDER_ACTIVE_LONG_PRESS_IN:true};var Signals=keyMirror({DELAY:null,RESPONDER_GRANT:null,RESPONDER_RELEASE:null,RESPONDER_TERMINATED:null,ENTER_PRESS_RECT:null,LEAVE_PRESS_RECT:null,LONG_PRESS_DETECTED:null});var Transitions={NOT_RESPONDER:{DELAY:States.ERROR,RESPONDER_GRANT:States.RESPONDER_INACTIVE_PRESS_IN,RESPONDER_RELEASE:States.ERROR,RESPONDER_TERMINATED:States.ERROR,ENTER_PRESS_RECT:States.ERROR,LEAVE_PRESS_RECT:States.ERROR,LONG_PRESS_DETECTED:States.ERROR},RESPONDER_INACTIVE_PRESS_IN:{DELAY:States.RESPONDER_ACTIVE_PRESS_IN,RESPONDER_GRANT:States.ERROR,RESPONDER_RELEASE:States.NOT_RESPONDER,RESPONDER_TERMINATED:States.NOT_RESPONDER,ENTER_PRESS_RECT:States.RESPONDER_INACTIVE_PRESS_IN,LEAVE_PRESS_RECT:States.RESPONDER_INACTIVE_PRESS_OUT,LONG_PRESS_DETECTED:States.ERROR},RESPONDER_INACTIVE_PRESS_OUT:{DELAY:States.RESPONDER_ACTIVE_PRESS_OUT,RESPONDER_GRANT:States.ERROR,RESPONDER_RELEASE:States.NOT_RESPONDER,RESPONDER_TERMINATED:States.NOT_RESPONDER,ENTER_PRESS_RECT:States.RESPONDER_INACTIVE_PRESS_IN,LEAVE_PRESS_RECT:States.RESPONDER_INACTIVE_PRESS_OUT,LONG_PRESS_DETECTED:States.ERROR},RESPONDER_ACTIVE_PRESS_IN:{DELAY:States.ERROR,RESPONDER_GRANT:States.ERROR,RESPONDER_RELEASE:States.NOT_RESPONDER,RESPONDER_TERMINATED:States.NOT_RESPONDER,ENTER_PRESS_RECT:States.RESPONDER_ACTIVE_PRESS_IN,LEAVE_PRESS_RECT:States.RESPONDER_ACTIVE_PRESS_OUT,LONG_PRESS_DETECTED:States.RESPONDER_ACTIVE_LONG_PRESS_IN},RESPONDER_ACTIVE_PRESS_OUT:{DELAY:States.ERROR,RESPONDER_GRANT:States.ERROR,RESPONDER_RELEASE:States.NOT_RESPONDER,RESPONDER_TERMINATED:States.NOT_RESPONDER,ENTER_PRESS_RECT:States.RESPONDER_ACTIVE_PRESS_IN,LEAVE_PRESS_RECT:States.RESPONDER_ACTIVE_PRESS_OUT,LONG_PRESS_DETECTED:States.ERROR},RESPONDER_ACTIVE_LONG_PRESS_IN:{DELAY:States.ERROR,RESPONDER_GRANT:States.ERROR,RESPONDER_RELEASE:States.NOT_RESPONDER,RESPONDER_TERMINATED:States.NOT_RESPONDER,ENTER_PRESS_RECT:States.RESPONDER_ACTIVE_LONG_PRESS_IN,LEAVE_PRESS_RECT:States.RESPONDER_ACTIVE_LONG_PRESS_OUT,LONG_PRESS_DETECTED:States.RESPONDER_ACTIVE_LONG_PRESS_IN},RESPONDER_ACTIVE_LONG_PRESS_OUT:{DELAY:States.ERROR,RESPONDER_GRANT:States.ERROR,RESPONDER_RELEASE:States.NOT_RESPONDER,RESPONDER_TERMINATED:States.NOT_RESPONDER,ENTER_PRESS_RECT:States.RESPONDER_ACTIVE_LONG_PRESS_IN,LEAVE_PRESS_RECT:States.RESPONDER_ACTIVE_LONG_PRESS_OUT,LONG_PRESS_DETECTED:States.ERROR},error:{DELAY:States.NOT_RESPONDER,RESPONDER_GRANT:States.RESPONDER_INACTIVE_PRESS_IN,RESPONDER_RELEASE:States.NOT_RESPONDER,RESPONDER_TERMINATED:States.NOT_RESPONDER,ENTER_PRESS_RECT:States.NOT_RESPONDER,LEAVE_PRESS_RECT:States.NOT_RESPONDER,LONG_PRESS_DETECTED:States.NOT_RESPONDER}};var HIGHLIGHT_DELAY_MS=130;var PRESS_EXPAND_PX=20;var LONG_PRESS_THRESHOLD=500;var LONG_PRESS_DELAY_MS=LONG_PRESS_THRESHOLD-HIGHLIGHT_DELAY_MS;var LONG_PRESS_ALLOWED_MOVEMENT=10;var TouchableMixin={componentDidMount:function componentDidMount(){if(!Platform.isTVOS){return;}this._tvEventHandler=new TVEventHandler();this._tvEventHandler.enable(this,function(cmp,evt){var myTag=findNodeHandle(cmp);evt.dispatchConfig={};if(myTag===evt.tag){if(evt.eventType==='focus'){cmp.touchableHandleActivePressIn&&cmp.touchableHandleActivePressIn(evt);}else if(evt.eventType==='blur'){cmp.touchableHandleActivePressOut&&cmp.touchableHandleActivePressOut(evt);}else if(evt.eventType==='select'){cmp.touchableHandlePress&&cmp.touchableHandlePress(evt);}}});},componentWillUnmount:function componentWillUnmount(){if(this._tvEventHandler){this._tvEventHandler.disable();delete this._tvEventHandler;}this.touchableDelayTimeout&&clearTimeout(this.touchableDelayTimeout);this.longPressDelayTimeout&&clearTimeout(this.longPressDelayTimeout);this.pressOutDelayTimeout&&clearTimeout(this.pressOutDelayTimeout);},touchableGetInitialState:function touchableGetInitialState(){return{touchable:{touchState:undefined,responderID:null}};},touchableHandleResponderTerminationRequest:function touchableHandleResponderTerminationRequest(){return!this.props.rejectResponderTermination;},touchableHandleStartShouldSetResponder:function touchableHandleStartShouldSetResponder(){return!this.props.disabled;},touchableLongPressCancelsPress:function touchableLongPressCancelsPress(){return true;},touchableHandleResponderGrant:function touchableHandleResponderGrant(e){var dispatchID=e.currentTarget;e.persist();this.pressOutDelayTimeout&&clearTimeout(this.pressOutDelayTimeout);this.pressOutDelayTimeout=null;this.state.touchable.touchState=States.NOT_RESPONDER;this.state.touchable.responderID=dispatchID;this._receiveSignal(Signals.RESPONDER_GRANT,e);var delayMS=this.touchableGetHighlightDelayMS!==undefined?Math.max(this.touchableGetHighlightDelayMS(),0):HIGHLIGHT_DELAY_MS;delayMS=isNaN(delayMS)?HIGHLIGHT_DELAY_MS:delayMS;if(delayMS!==0){this.touchableDelayTimeout=setTimeout(this._handleDelay.bind(this,e),delayMS);}else{this._handleDelay(e);}var longDelayMS=this.touchableGetLongPressDelayMS!==undefined?Math.max(this.touchableGetLongPressDelayMS(),10):LONG_PRESS_DELAY_MS;longDelayMS=isNaN(longDelayMS)?LONG_PRESS_DELAY_MS:longDelayMS;this.longPressDelayTimeout=setTimeout(this._handleLongDelay.bind(this,e),longDelayMS+delayMS);},touchableHandleResponderRelease:function touchableHandleResponderRelease(e){this._receiveSignal(Signals.RESPONDER_RELEASE,e);},touchableHandleResponderTerminate:function touchableHandleResponderTerminate(e){this._receiveSignal(Signals.RESPONDER_TERMINATED,e);},touchableHandleResponderMove:function touchableHandleResponderMove(e){if(this.state.touchable.touchState===States.RESPONDER_INACTIVE_PRESS_IN){return;}if(!this.state.touchable.positionOnActivate){return;}var positionOnActivate=this.state.touchable.positionOnActivate;var dimensionsOnActivate=this.state.touchable.dimensionsOnActivate;var pressRectOffset=this.touchableGetPressRectOffset?this.touchableGetPressRectOffset():{left:PRESS_EXPAND_PX,right:PRESS_EXPAND_PX,top:PRESS_EXPAND_PX,bottom:PRESS_EXPAND_PX};var pressExpandLeft=pressRectOffset.left;var pressExpandTop=pressRectOffset.top;var pressExpandRight=pressRectOffset.right;var pressExpandBottom=pressRectOffset.bottom;var hitSlop=this.touchableGetHitSlop?this.touchableGetHitSlop():null;if(hitSlop){pressExpandLeft+=hitSlop.left;pressExpandTop+=hitSlop.top;pressExpandRight+=hitSlop.right;pressExpandBottom+=hitSlop.bottom;}var touch=TouchEventUtils.extractSingleTouch(e.nativeEvent);var pageX=touch&&touch.pageX;var pageY=touch&&touch.pageY;if(this.pressInLocation){var movedDistance=this._getDistanceBetweenPoints(pageX,pageY,this.pressInLocation.pageX,this.pressInLocation.pageY);if(movedDistance>LONG_PRESS_ALLOWED_MOVEMENT){this._cancelLongPressDelayTimeout();}}var isTouchWithinActive=pageX>positionOnActivate.left-pressExpandLeft&&pageY>positionOnActivate.top-pressExpandTop&&pageX<positionOnActivate.left+dimensionsOnActivate.width+pressExpandRight&&pageY<positionOnActivate.top+dimensionsOnActivate.height+pressExpandBottom;if(isTouchWithinActive){this._receiveSignal(Signals.ENTER_PRESS_RECT,e);var curState=this.state.touchable.touchState;if(curState===States.RESPONDER_INACTIVE_PRESS_IN){this._cancelLongPressDelayTimeout();}}else{this._cancelLongPressDelayTimeout();this._receiveSignal(Signals.LEAVE_PRESS_RECT,e);}},_remeasureMetricsOnActivation:function _remeasureMetricsOnActivation(){var tag=this.state.touchable.responderID;if(tag==null){return;}UIManager.measure(tag,this._handleQueryLayout);},_handleQueryLayout:function _handleQueryLayout(l,t,w,h,globalX,globalY){this.state.touchable.positionOnActivate&&Position.release(this.state.touchable.positionOnActivate);this.state.touchable.dimensionsOnActivate&&BoundingDimensions.release(this.state.touchable.dimensionsOnActivate);this.state.touchable.positionOnActivate=Position.getPooled(globalX,globalY);this.state.touchable.dimensionsOnActivate=BoundingDimensions.getPooled(w,h);},_handleDelay:function _handleDelay(e){this.touchableDelayTimeout=null;this._receiveSignal(Signals.DELAY,e);},_handleLongDelay:function _handleLongDelay(e){this.longPressDelayTimeout=null;var curState=this.state.touchable.touchState;if(curState!==States.RESPONDER_ACTIVE_PRESS_IN&&curState!==States.RESPONDER_ACTIVE_LONG_PRESS_IN){console.error('Attempted to transition from state `'+curState+'` to `'+States.RESPONDER_ACTIVE_LONG_PRESS_IN+'`, which is not supported. This is '+'most likely due to `Touchable.longPressDelayTimeout` not being cancelled.');}else{this._receiveSignal(Signals.LONG_PRESS_DETECTED,e);}},_receiveSignal:function _receiveSignal(signal,e){var responderID=this.state.touchable.responderID;var curState=this.state.touchable.touchState;var nextState=Transitions[curState]&&Transitions[curState][signal];if(!responderID&&signal===Signals.RESPONDER_RELEASE){return;}if(!nextState){throw new Error('Unrecognized signal `'+signal+'` or state `'+curState+'` for Touchable responder `'+responderID+'`');}if(nextState===States.ERROR){throw new Error('Touchable cannot transition from `'+curState+'` to `'+signal+'` for responder `'+responderID+'`');}if(curState!==nextState){this._performSideEffectsForTransition(curState,nextState,signal,e);this.state.touchable.touchState=nextState;}},_cancelLongPressDelayTimeout:function _cancelLongPressDelayTimeout(){this.longPressDelayTimeout&&clearTimeout(this.longPressDelayTimeout);this.longPressDelayTimeout=null;},_isHighlight:function _isHighlight(state){return state===States.RESPONDER_ACTIVE_PRESS_IN||state===States.RESPONDER_ACTIVE_LONG_PRESS_IN;},_savePressInLocation:function _savePressInLocation(e){var touch=TouchEventUtils.extractSingleTouch(e.nativeEvent);var pageX=touch&&touch.pageX;var pageY=touch&&touch.pageY;var locationX=touch&&touch.locationX;var locationY=touch&&touch.locationY;this.pressInLocation={pageX:pageX,pageY:pageY,locationX:locationX,locationY:locationY};},_getDistanceBetweenPoints:function _getDistanceBetweenPoints(aX,aY,bX,bY){var deltaX=aX-bX;var deltaY=aY-bY;return Math.sqrt(deltaX*deltaX+deltaY*deltaY);},_performSideEffectsForTransition:function _performSideEffectsForTransition(curState,nextState,signal,e){var curIsHighlight=this._isHighlight(curState);var newIsHighlight=this._isHighlight(nextState);var isFinalSignal=signal===Signals.RESPONDER_TERMINATED||signal===Signals.RESPONDER_RELEASE;if(isFinalSignal){this._cancelLongPressDelayTimeout();}if(!IsActive[curState]&&IsActive[nextState]){this._remeasureMetricsOnActivation();}if(IsPressingIn[curState]&&signal===Signals.LONG_PRESS_DETECTED){this.touchableHandleLongPress&&this.touchableHandleLongPress(e);}if(newIsHighlight&&!curIsHighlight){this._startHighlight(e);}else if(!newIsHighlight&&curIsHighlight){this._endHighlight(e);}if(IsPressingIn[curState]&&signal===Signals.RESPONDER_RELEASE){var hasLongPressHandler=!!this.props.onLongPress;var pressIsLongButStillCallOnPress=IsLongPressingIn[curState]&&(!hasLongPressHandler||!this.touchableLongPressCancelsPress());var shouldInvokePress=!IsLongPressingIn[curState]||pressIsLongButStillCallOnPress;if(shouldInvokePress&&this.touchableHandlePress){if(!newIsHighlight&&!curIsHighlight){this._startHighlight(e);this._endHighlight(e);}this.touchableHandlePress(e);}}this.touchableDelayTimeout&&clearTimeout(this.touchableDelayTimeout);this.touchableDelayTimeout=null;},_startHighlight:function _startHighlight(e){this._savePressInLocation(e);this.touchableHandleActivePressIn&&this.touchableHandleActivePressIn(e);},_endHighlight:function _endHighlight(e){var _this=this;if(this.touchableHandleActivePressOut){if(this.touchableGetPressOutDelayMS&&this.touchableGetPressOutDelayMS()){this.pressOutDelayTimeout=setTimeout(function(){_this.touchableHandleActivePressOut(e);},this.touchableGetPressOutDelayMS());}else{this.touchableHandleActivePressOut(e);}}}};var Touchable={Mixin:TouchableMixin,TOUCH_TARGET_DEBUG:false,renderDebugView:function renderDebugView(_ref){var color=_ref.color,hitSlop=_ref.hitSlop;if(!Touchable.TOUCH_TARGET_DEBUG){return null;}if(true){throw Error('Touchable.TOUCH_TARGET_DEBUG should not be enabled in prod!');}var debugHitSlopStyle={};hitSlop=hitSlop||{top:0,bottom:0,left:0,right:0};for(var key in hitSlop){debugHitSlopStyle[key]=-hitSlop[key];}var hexColor='#'+('00000000'+normalizeColor(color).toString(16)).substr(-8);return React.createElement(View,{pointerEvents:'none',style:_extends({position:'absolute',borderColor:hexColor.slice(0,-2)+'55',borderWidth:1,borderStyle:'dashed',backgroundColor:hexColor.slice(0,-2)+'0F'},debugHitSlopStyle),__source:{fileName:_jsxFileName,lineNumber:789}});}};module.exports=Touchable;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/Touchable/TouchableHighlight.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Components/Touchable/TouchableHighlight.js';var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var ColorPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/ColorPropType.js");var NativeMethodsMixin=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/NativeMethodsMixin.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var ReactNativeViewAttributes=__webpack_require__("./node_modules/react-native/Libraries/Components/View/ReactNativeViewAttributes.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var TimerMixin=__webpack_require__("./node_modules/react-timer-mixin/TimerMixin.js");var Touchable=__webpack_require__("./node_modules/react-native/Libraries/Components/Touchable/Touchable.js");var TouchableWithoutFeedback=__webpack_require__("./node_modules/react-native/Libraries/Components/Touchable/TouchableWithoutFeedback.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var ensureComponentIsNative=__webpack_require__("./node_modules/react-native/Libraries/Components/Touchable/ensureComponentIsNative.js");var ensurePositiveDelayProps=__webpack_require__("./node_modules/react-native/Libraries/Components/Touchable/ensurePositiveDelayProps.js");var keyOf=__webpack_require__("./node_modules/fbjs/lib/keyOf.js");var merge=__webpack_require__("./node_modules/react-native/Libraries/vendor/core/merge.js");var DEFAULT_PROPS={activeOpacity:0.85,underlayColor:'black'};var PRESS_RETENTION_OFFSET={top:20,left:20,right:20,bottom:30};var TouchableHighlight=React.createClass({displayName:'TouchableHighlight',propTypes:_extends({},TouchableWithoutFeedback.propTypes,{activeOpacity:React.PropTypes.number,underlayColor:ColorPropType,style:View.propTypes.style,onShowUnderlay:React.PropTypes.func,onHideUnderlay:React.PropTypes.func,hasTVPreferredFocus:React.PropTypes.bool,tvParallaxProperties:React.PropTypes.object}),mixins:[NativeMethodsMixin,TimerMixin,Touchable.Mixin],getDefaultProps:function getDefaultProps(){return DEFAULT_PROPS;},_computeSyntheticState:function _computeSyntheticState(props){return{activeProps:{style:{opacity:props.activeOpacity}},activeUnderlayProps:{style:{backgroundColor:props.underlayColor}},underlayStyle:[INACTIVE_UNDERLAY_PROPS.style,props.style],hasTVPreferredFocus:props.hasTVPreferredFocus};},getInitialState:function getInitialState(){return merge(this.touchableGetInitialState(),this._computeSyntheticState(this.props));},componentDidMount:function componentDidMount(){ensurePositiveDelayProps(this.props);ensureComponentIsNative(this.refs[CHILD_REF]);},componentDidUpdate:function componentDidUpdate(){ensureComponentIsNative(this.refs[CHILD_REF]);},componentWillReceiveProps:function componentWillReceiveProps(nextProps){ensurePositiveDelayProps(nextProps);if(nextProps.activeOpacity!==this.props.activeOpacity||nextProps.underlayColor!==this.props.underlayColor||nextProps.style!==this.props.style){this.setState(this._computeSyntheticState(nextProps));}},viewConfig:{uiViewClassName:'RCTView',validAttributes:ReactNativeViewAttributes.RCTView},touchableHandleActivePressIn:function touchableHandleActivePressIn(e){this.clearTimeout(this._hideTimeout);this._hideTimeout=null;this._showUnderlay();this.props.onPressIn&&this.props.onPressIn(e);},touchableHandleActivePressOut:function touchableHandleActivePressOut(e){if(!this._hideTimeout){this._hideUnderlay();}this.props.onPressOut&&this.props.onPressOut(e);},touchableHandlePress:function touchableHandlePress(e){this.clearTimeout(this._hideTimeout);this._showUnderlay();this._hideTimeout=this.setTimeout(this._hideUnderlay,this.props.delayPressOut||100);this.props.onPress&&this.props.onPress(e);},touchableHandleLongPress:function touchableHandleLongPress(e){this.props.onLongPress&&this.props.onLongPress(e);},touchableGetPressRectOffset:function touchableGetPressRectOffset(){return this.props.pressRetentionOffset||PRESS_RETENTION_OFFSET;},touchableGetHitSlop:function touchableGetHitSlop(){return this.props.hitSlop;},touchableGetHighlightDelayMS:function touchableGetHighlightDelayMS(){return this.props.delayPressIn;},touchableGetLongPressDelayMS:function touchableGetLongPressDelayMS(){return this.props.delayLongPress;},touchableGetPressOutDelayMS:function touchableGetPressOutDelayMS(){return this.props.delayPressOut;},_showUnderlay:function _showUnderlay(){if(!this.isMounted()||!this._hasPressHandler()){return;}this.refs[UNDERLAY_REF].setNativeProps(this.state.activeUnderlayProps);this.refs[CHILD_REF].setNativeProps(this.state.activeProps);this.props.onShowUnderlay&&this.props.onShowUnderlay();},_hideUnderlay:function _hideUnderlay(){this.clearTimeout(this._hideTimeout);this._hideTimeout=null;if(this._hasPressHandler()&&this.refs[UNDERLAY_REF]){this.refs[CHILD_REF].setNativeProps(INACTIVE_CHILD_PROPS);this.refs[UNDERLAY_REF].setNativeProps(_extends({},INACTIVE_UNDERLAY_PROPS,{style:this.state.underlayStyle}));this.props.onHideUnderlay&&this.props.onHideUnderlay();}},_hasPressHandler:function _hasPressHandler(){return!!(this.props.onPress||this.props.onPressIn||this.props.onPressOut||this.props.onLongPress);},render:function render(){return React.createElement(View,{accessible:this.props.accessible!==false,accessibilityLabel:this.props.accessibilityLabel,accessibilityComponentType:this.props.accessibilityComponentType,accessibilityTraits:this.props.accessibilityTraits,ref:UNDERLAY_REF,style:this.state.underlayStyle,onLayout:this.props.onLayout,hitSlop:this.props.hitSlop,isTVSelectable:true,tvParallaxProperties:this.props.tvParallaxProperties,hasTVPreferredFocus:this.state.hasTVPreferredFocus,onStartShouldSetResponder:this.touchableHandleStartShouldSetResponder,onResponderTerminationRequest:this.touchableHandleResponderTerminationRequest,onResponderGrant:this.touchableHandleResponderGrant,onResponderMove:this.touchableHandleResponderMove,onResponderRelease:this.touchableHandleResponderRelease,onResponderTerminate:this.touchableHandleResponderTerminate,testID:this.props.testID,__source:{fileName:_jsxFileName,lineNumber:248}},React.cloneElement(React.Children.only(this.props.children),{ref:CHILD_REF}),Touchable.renderDebugView({color:'green',hitSlop:this.props.hitSlop}));}});var CHILD_REF=keyOf({childRef:null});var UNDERLAY_REF=keyOf({underlayRef:null});var INACTIVE_CHILD_PROPS={style:StyleSheet.create({x:{opacity:1.0}}).x};var INACTIVE_UNDERLAY_PROPS={style:StyleSheet.create({x:{backgroundColor:'transparent'}}).x};module.exports=TouchableHighlight;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/Touchable/TouchableNativeFeedback.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Components/Touchable/TouchableNativeFeedback.ios.js';var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var Text=__webpack_require__("./node_modules/react-native/Libraries/Text/Text.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var DummyTouchableNativeFeedback=function(_React$Component){_inherits(DummyTouchableNativeFeedback,_React$Component);function DummyTouchableNativeFeedback(){_classCallCheck(this,DummyTouchableNativeFeedback);return _possibleConstructorReturn(this,(DummyTouchableNativeFeedback.__proto__||Object.getPrototypeOf(DummyTouchableNativeFeedback)).apply(this,arguments));}_createClass(DummyTouchableNativeFeedback,[{key:'render',value:function render(){return React.createElement(View,{style:[styles.container,this.props.style],__source:{fileName:_jsxFileName,lineNumber:22}},React.createElement(Text,{style:styles.info,__source:{fileName:_jsxFileName,lineNumber:23}},'TouchableNativeFeedback is not supported on this platform!'));}}]);return DummyTouchableNativeFeedback;}(React.Component);var styles=StyleSheet.create({container:{height:100,width:300,backgroundColor:'#ffbcbc',borderWidth:1,borderColor:'red',alignItems:'center',justifyContent:'center',margin:10},info:{color:'#333333',margin:20}});module.exports=DummyTouchableNativeFeedback;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/Touchable/TouchableOpacity.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Components/Touchable/TouchableOpacity.js';var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var Animated=__webpack_require__("./node_modules/react-native/Libraries/Animated/src/Animated.js");var Easing=__webpack_require__("./node_modules/react-native/Libraries/Animated/src/Easing.js");var NativeMethodsMixin=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/NativeMethodsMixin.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var TimerMixin=__webpack_require__("./node_modules/react-timer-mixin/TimerMixin.js");var Touchable=__webpack_require__("./node_modules/react-native/Libraries/Components/Touchable/Touchable.js");var TouchableWithoutFeedback=__webpack_require__("./node_modules/react-native/Libraries/Components/Touchable/TouchableWithoutFeedback.js");var ensurePositiveDelayProps=__webpack_require__("./node_modules/react-native/Libraries/Components/Touchable/ensurePositiveDelayProps.js");var flattenStyle=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/flattenStyle.js");var PRESS_RETENTION_OFFSET={top:20,left:20,right:20,bottom:30};var TouchableOpacity=React.createClass({displayName:'TouchableOpacity',mixins:[TimerMixin,Touchable.Mixin,NativeMethodsMixin],propTypes:_extends({},TouchableWithoutFeedback.propTypes,{activeOpacity:React.PropTypes.number,focusedOpacity:React.PropTypes.number,tvParallaxProperties:React.PropTypes.object}),getDefaultProps:function getDefaultProps(){return{activeOpacity:0.2,focusedOpacity:0.7};},getInitialState:function getInitialState(){return _extends({},this.touchableGetInitialState(),{anim:new Animated.Value(1)});},componentDidMount:function componentDidMount(){ensurePositiveDelayProps(this.props);},componentWillReceiveProps:function componentWillReceiveProps(nextProps){ensurePositiveDelayProps(nextProps);},setOpacityTo:function setOpacityTo(value,duration){Animated.timing(this.state.anim,{toValue:value,duration:duration,easing:Easing.inOut(Easing.quad),useNativeDriver:true}).start();},touchableHandleActivePressIn:function touchableHandleActivePressIn(e){if(e.dispatchConfig.registrationName==='onResponderGrant'){this._opacityActive(0);}else{this._opacityActive(150);}this.props.onPressIn&&this.props.onPressIn(e);},touchableHandleActivePressOut:function touchableHandleActivePressOut(e){this._opacityInactive(250);this.props.onPressOut&&this.props.onPressOut(e);},touchableHandlePress:function touchableHandlePress(e){this.props.onPress&&this.props.onPress(e);},touchableHandleLongPress:function touchableHandleLongPress(e){this.props.onLongPress&&this.props.onLongPress(e);},touchableGetPressRectOffset:function touchableGetPressRectOffset(){return this.props.pressRetentionOffset||PRESS_RETENTION_OFFSET;},touchableGetHitSlop:function touchableGetHitSlop(){return this.props.hitSlop;},touchableGetHighlightDelayMS:function touchableGetHighlightDelayMS(){return this.props.delayPressIn||0;},touchableGetLongPressDelayMS:function touchableGetLongPressDelayMS(){return this.props.delayLongPress===0?0:this.props.delayLongPress||500;},touchableGetPressOutDelayMS:function touchableGetPressOutDelayMS(){return this.props.delayPressOut;},_opacityActive:function _opacityActive(duration){this.setOpacityTo(this.props.activeOpacity,duration);},_opacityInactive:function _opacityInactive(duration){var childStyle=flattenStyle(this.props.style)||{};this.setOpacityTo(childStyle.opacity===undefined?1:childStyle.opacity,duration);},_opacityFocused:function _opacityFocused(){this.setOpacityTo(this.props.focusedOpacity);},render:function render(){return React.createElement(Animated.View,{accessible:this.props.accessible!==false,accessibilityLabel:this.props.accessibilityLabel,accessibilityComponentType:this.props.accessibilityComponentType,accessibilityTraits:this.props.accessibilityTraits,style:[this.props.style,{opacity:this.state.anim}],testID:this.props.testID,onLayout:this.props.onLayout,isTVSelectable:true,tvParallaxProperties:this.props.tvParallaxProperties,hitSlop:this.props.hitSlop,onStartShouldSetResponder:this.touchableHandleStartShouldSetResponder,onResponderTerminationRequest:this.touchableHandleResponderTerminationRequest,onResponderGrant:this.touchableHandleResponderGrant,onResponderMove:this.touchableHandleResponderMove,onResponderRelease:this.touchableHandleResponderRelease,onResponderTerminate:this.touchableHandleResponderTerminate,__source:{fileName:_jsxFileName,lineNumber:171}},this.props.children,Touchable.renderDebugView({color:'cyan',hitSlop:this.props.hitSlop}));}});module.exports=TouchableOpacity;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/Touchable/TouchableWithoutFeedback.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var EdgeInsetsPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/EdgeInsetsPropType.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var TimerMixin=__webpack_require__("./node_modules/react-timer-mixin/TimerMixin.js");var Touchable=__webpack_require__("./node_modules/react-native/Libraries/Components/Touchable/Touchable.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var ensurePositiveDelayProps=__webpack_require__("./node_modules/react-native/Libraries/Components/Touchable/ensurePositiveDelayProps.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");var PRESS_RETENTION_OFFSET={top:20,left:20,right:20,bottom:30};var TouchableWithoutFeedback=React.createClass({displayName:'TouchableWithoutFeedback',mixins:[TimerMixin,Touchable.Mixin],propTypes:{accessible:React.PropTypes.bool,accessibilityComponentType:React.PropTypes.oneOf(View.AccessibilityComponentType),accessibilityTraits:React.PropTypes.oneOfType([React.PropTypes.oneOf(View.AccessibilityTraits),React.PropTypes.arrayOf(React.PropTypes.oneOf(View.AccessibilityTraits))]),disabled:React.PropTypes.bool,onPress:React.PropTypes.func,onPressIn:React.PropTypes.func,onPressOut:React.PropTypes.func,onLayout:React.PropTypes.func,onLongPress:React.PropTypes.func,delayPressIn:React.PropTypes.number,delayPressOut:React.PropTypes.number,delayLongPress:React.PropTypes.number,pressRetentionOffset:EdgeInsetsPropType,hitSlop:EdgeInsetsPropType},getInitialState:function getInitialState(){return this.touchableGetInitialState();},componentDidMount:function componentDidMount(){ensurePositiveDelayProps(this.props);},componentWillReceiveProps:function componentWillReceiveProps(nextProps){ensurePositiveDelayProps(nextProps);},touchableHandlePress:function touchableHandlePress(e){this.props.onPress&&this.props.onPress(e);},touchableHandleActivePressIn:function touchableHandleActivePressIn(e){this.props.onPressIn&&this.props.onPressIn(e);},touchableHandleActivePressOut:function touchableHandleActivePressOut(e){this.props.onPressOut&&this.props.onPressOut(e);},touchableHandleLongPress:function touchableHandleLongPress(e){this.props.onLongPress&&this.props.onLongPress(e);},touchableGetPressRectOffset:function touchableGetPressRectOffset(){return this.props.pressRetentionOffset||PRESS_RETENTION_OFFSET;},touchableGetHitSlop:function touchableGetHitSlop(){return this.props.hitSlop;},touchableGetHighlightDelayMS:function touchableGetHighlightDelayMS(){return this.props.delayPressIn||0;},touchableGetLongPressDelayMS:function touchableGetLongPressDelayMS(){return this.props.delayLongPress===0?0:this.props.delayLongPress||500;},touchableGetPressOutDelayMS:function touchableGetPressOutDelayMS(){return this.props.delayPressOut||0;},render:function render(){var child=React.Children.only(this.props.children);var children=child.props.children;warning(!child.type||child.type.displayName!=='Text','TouchableWithoutFeedback does not work well with Text children. Wrap children in a View instead. See '+(child._owner&&child._owner.getName&&child._owner.getName()||'<unknown>'));if(Touchable.TOUCH_TARGET_DEBUG&&child.type&&child.type.displayName==='View'){children=React.Children.toArray(children);children.push(Touchable.renderDebugView({color:'red',hitSlop:this.props.hitSlop}));}var style=Touchable.TOUCH_TARGET_DEBUG&&child.type&&child.type.displayName==='Text'?[child.props.style,{color:'red'}]:child.props.style;return React.cloneElement(child,{accessible:this.props.accessible!==false,accessibilityLabel:this.props.accessibilityLabel,accessibilityComponentType:this.props.accessibilityComponentType,accessibilityTraits:this.props.accessibilityTraits,testID:this.props.testID,onLayout:this.props.onLayout,hitSlop:this.props.hitSlop,onStartShouldSetResponder:this.touchableHandleStartShouldSetResponder,onResponderTerminationRequest:this.touchableHandleResponderTerminationRequest,onResponderGrant:this.touchableHandleResponderGrant,onResponderMove:this.touchableHandleResponderMove,onResponderRelease:this.touchableHandleResponderRelease,onResponderTerminate:this.touchableHandleResponderTerminate,style:style,children:children});}});module.exports=TouchableWithoutFeedback;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/Touchable/ensureComponentIsNative.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var ensureComponentIsNative=function ensureComponentIsNative(component){invariant(component&&typeof component.setNativeProps==='function','Touchable child must either be native or forward setNativeProps to a '+'native component');};module.exports=ensureComponentIsNative;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/Touchable/ensurePositiveDelayProps.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var ensurePositiveDelayProps=function ensurePositiveDelayProps(props){invariant(!(props.delayPressIn<0||props.delayPressOut<0||props.delayLongPress<0),'Touchable components cannot have negative delay properties');};module.exports=ensurePositiveDelayProps;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/UnimplementedViews/UnimplementedView.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Components/UnimplementedViews/UnimplementedView.js';var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var UnimplementedView=function(_React$Component){_inherits(UnimplementedView,_React$Component);function UnimplementedView(){var _ref;var _temp,_this,_ret;_classCallCheck(this,UnimplementedView);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return _ret=(_temp=(_this=_possibleConstructorReturn(this,(_ref=UnimplementedView.__proto__||Object.getPrototypeOf(UnimplementedView)).call.apply(_ref,[this].concat(args))),_this),_this.setNativeProps=function(){},_temp),_possibleConstructorReturn(_this,_ret);}_createClass(UnimplementedView,[{key:'render',value:function render(){var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");return React.createElement(View,{style:[styles.unimplementedView,this.props.style],__source:{fileName:_jsxFileName,lineNumber:24}},this.props.children);}}]);return UnimplementedView;}(React.Component);var styles=StyleSheet.create({unimplementedView:{borderWidth:1,borderColor:'red',alignSelf:'flex-start'}});module.exports=UnimplementedView;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/View/ReactNativeStyleAttributes.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var ImageStylePropTypes=__webpack_require__("./node_modules/react-native/Libraries/Image/ImageStylePropTypes.js");var TextStylePropTypes=__webpack_require__("./node_modules/react-native/Libraries/Text/TextStylePropTypes.js");var ViewStylePropTypes=__webpack_require__("./node_modules/react-native/Libraries/Components/View/ViewStylePropTypes.js");var keyMirror=__webpack_require__("./node_modules/fbjs/lib/keyMirror.js");var matricesDiffer=__webpack_require__("./node_modules/react-native/Libraries/Utilities/differ/matricesDiffer.js");var processColor=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/processColor.js");var processTransform=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/processTransform.js");var sizesDiffer=__webpack_require__("./node_modules/react-native/Libraries/Utilities/differ/sizesDiffer.js");var ReactNativeStyleAttributes=_extends({},keyMirror(ViewStylePropTypes),keyMirror(TextStylePropTypes),keyMirror(ImageStylePropTypes));ReactNativeStyleAttributes.transform={process:processTransform};ReactNativeStyleAttributes.transformMatrix={diff:matricesDiffer};ReactNativeStyleAttributes.shadowOffset={diff:sizesDiffer};ReactNativeStyleAttributes.decomposedMatrix='decomposedMatrix';var colorAttributes={process:processColor};ReactNativeStyleAttributes.backgroundColor=colorAttributes;ReactNativeStyleAttributes.borderBottomColor=colorAttributes;ReactNativeStyleAttributes.borderColor=colorAttributes;ReactNativeStyleAttributes.borderLeftColor=colorAttributes;ReactNativeStyleAttributes.borderRightColor=colorAttributes;ReactNativeStyleAttributes.borderTopColor=colorAttributes;ReactNativeStyleAttributes.color=colorAttributes;ReactNativeStyleAttributes.shadowColor=colorAttributes;ReactNativeStyleAttributes.textDecorationColor=colorAttributes;ReactNativeStyleAttributes.tintColor=colorAttributes;ReactNativeStyleAttributes.textShadowColor=colorAttributes;ReactNativeStyleAttributes.overlayColor=colorAttributes;module.exports=ReactNativeStyleAttributes;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/View/ReactNativeViewAttributes.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var ReactNativeStyleAttributes=__webpack_require__("./node_modules/react-native/Libraries/Components/View/ReactNativeStyleAttributes.js");var ReactNativeViewAttributes={};ReactNativeViewAttributes.UIView={pointerEvents:true,accessible:true,accessibilityLabel:true,accessibilityComponentType:true,accessibilityLiveRegion:true,accessibilityTraits:true,importantForAccessibility:true,testID:true,renderToHardwareTextureAndroid:true,shouldRasterizeIOS:true,onLayout:true,onAccessibilityTap:true,onMagicTap:true,collapsable:true,needsOffscreenAlphaCompositing:true,style:ReactNativeStyleAttributes};ReactNativeViewAttributes.RCTView=_extends({},ReactNativeViewAttributes.UIView,{removeClippedSubviews:true});module.exports=ReactNativeViewAttributes;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/View/ShadowPropTypesIOS.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ColorPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/ColorPropType.js");var ReactPropTypes=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js").PropTypes;var ShadowPropTypesIOS={shadowColor:ColorPropType,shadowOffset:ReactPropTypes.shape({width:ReactPropTypes.number,height:ReactPropTypes.number}),shadowOpacity:ReactPropTypes.number,shadowRadius:ReactPropTypes.number};module.exports=ShadowPropTypesIOS;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/View/View.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Components/View/View.js';var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var EdgeInsetsPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/EdgeInsetsPropType.js");var NativeMethodsMixin=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/NativeMethodsMixin.js");var NativeModules=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js");var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var ReactNativeStyleAttributes=__webpack_require__("./node_modules/react-native/Libraries/Components/View/ReactNativeStyleAttributes.js");var ReactNativeViewAttributes=__webpack_require__("./node_modules/react-native/Libraries/Components/View/ReactNativeViewAttributes.js");var StyleSheetPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheetPropType.js");var ViewStylePropTypes=__webpack_require__("./node_modules/react-native/Libraries/Components/View/ViewStylePropTypes.js");var TVViewPropTypes={};if(Platform.isTVOS){TVViewPropTypes=__webpack_require__("./node_modules/react-native/Libraries/Components/AppleTV/TVViewPropTypes.js");}var requireNativeComponent=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/requireNativeComponent.js");var PropTypes=React.PropTypes;var stylePropType=StyleSheetPropType(ViewStylePropTypes);var AccessibilityTraits=['none','button','link','header','search','image','selected','plays','key','text','summary','disabled','frequentUpdates','startsMedia','adjustable','allowsDirectInteraction','pageTurn'];var AccessibilityComponentType=['none','button','radiobutton_checked','radiobutton_unchecked'];var forceTouchAvailable=NativeModules.IOSConstants&&NativeModules.IOSConstants.forceTouchAvailable||false;var statics={AccessibilityTraits:AccessibilityTraits,AccessibilityComponentType:AccessibilityComponentType,forceTouchAvailable:forceTouchAvailable};var View=React.createClass({displayName:'View',mixins:[NativeMethodsMixin],viewConfig:{uiViewClassName:'RCTView',validAttributes:ReactNativeViewAttributes.RCTView},statics:_extends({},statics),propTypes:_extends({},TVViewPropTypes,{accessible:PropTypes.bool,accessibilityLabel:PropTypes.node,accessibilityComponentType:PropTypes.oneOf(AccessibilityComponentType),accessibilityLiveRegion:PropTypes.oneOf(['none','polite','assertive']),importantForAccessibility:PropTypes.oneOf(['auto','yes','no','no-hide-descendants']),accessibilityTraits:PropTypes.oneOfType([PropTypes.oneOf(AccessibilityTraits),PropTypes.arrayOf(PropTypes.oneOf(AccessibilityTraits))]),onAccessibilityTap:PropTypes.func,onMagicTap:PropTypes.func,testID:PropTypes.string,onResponderGrant:PropTypes.func,onResponderMove:PropTypes.func,onResponderReject:PropTypes.func,onResponderRelease:PropTypes.func,onResponderTerminate:PropTypes.func,onResponderTerminationRequest:PropTypes.func,onStartShouldSetResponder:PropTypes.func,onStartShouldSetResponderCapture:PropTypes.func,onMoveShouldSetResponder:PropTypes.func,onMoveShouldSetResponderCapture:PropTypes.func,hitSlop:EdgeInsetsPropType,onLayout:PropTypes.func,pointerEvents:PropTypes.oneOf(['box-none','none','box-only','auto']),style:stylePropType,removeClippedSubviews:PropTypes.bool,renderToHardwareTextureAndroid:PropTypes.bool,shouldRasterizeIOS:PropTypes.bool,collapsable:PropTypes.bool,needsOffscreenAlphaCompositing:PropTypes.bool}),render:function render(){return React.createElement(RCTView,_extends({},this.props,{__source:{fileName:_jsxFileName,lineNumber:514}}));}});var RCTView=requireNativeComponent('RCTView',View,{nativeOnly:{nativeBackgroundAndroid:true,nativeForegroundAndroid:true}});if(false){var UIManager=require('UIManager');var viewConfig=UIManager.viewConfigs&&UIManager.viewConfigs.RCTView||{};for(var prop in viewConfig.nativeProps){var viewAny=View;if(!viewAny.propTypes[prop]&&!ReactNativeStyleAttributes[prop]){throw new Error('View is missing propType for native prop `'+prop+'`');}}}var ViewToExport=RCTView;if(false){ViewToExport=View;}else{_extends(RCTView,statics);}module.exports=ViewToExport;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/View/ViewStylePropTypes.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var LayoutPropTypes=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/LayoutPropTypes.js");var ReactPropTypes=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js").PropTypes;var ColorPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/ColorPropType.js");var ShadowPropTypesIOS=__webpack_require__("./node_modules/react-native/Libraries/Components/View/ShadowPropTypesIOS.js");var TransformPropTypes=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/TransformPropTypes.js");var ViewStylePropTypes=_extends({},LayoutPropTypes,ShadowPropTypesIOS,TransformPropTypes,{backfaceVisibility:ReactPropTypes.oneOf(['visible','hidden']),backgroundColor:ColorPropType,borderColor:ColorPropType,borderTopColor:ColorPropType,borderRightColor:ColorPropType,borderBottomColor:ColorPropType,borderLeftColor:ColorPropType,borderRadius:ReactPropTypes.number,borderTopLeftRadius:ReactPropTypes.number,borderTopRightRadius:ReactPropTypes.number,borderBottomLeftRadius:ReactPropTypes.number,borderBottomRightRadius:ReactPropTypes.number,borderStyle:ReactPropTypes.oneOf(['solid','dotted','dashed']),borderWidth:ReactPropTypes.number,borderTopWidth:ReactPropTypes.number,borderRightWidth:ReactPropTypes.number,borderBottomWidth:ReactPropTypes.number,borderLeftWidth:ReactPropTypes.number,opacity:ReactPropTypes.number,elevation:ReactPropTypes.number});module.exports=ViewStylePropTypes;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/ViewPager/ViewPagerAndroid.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
module.exports=__webpack_require__("./node_modules/react-native/Libraries/Components/UnimplementedViews/UnimplementedView.js");

/***/ }),

/***/ "./node_modules/react-native/Libraries/Components/WebView/WebView.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Components/WebView/WebView.ios.js';function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var ActivityIndicator=__webpack_require__("./node_modules/react-native/Libraries/Components/ActivityIndicator/ActivityIndicator.js");var EdgeInsetsPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/EdgeInsetsPropType.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var ReactNative=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNative.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var Text=__webpack_require__("./node_modules/react-native/Libraries/Text/Text.js");var UIManager=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/UIManager.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var ScrollView=__webpack_require__("./node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js");var deprecatedPropType=__webpack_require__("./node_modules/react-native/Libraries/Utilities/deprecatedPropType.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var keyMirror=__webpack_require__("./node_modules/fbjs/lib/keyMirror.js");var processDecelerationRate=__webpack_require__("./node_modules/react-native/Libraries/Components/ScrollView/processDecelerationRate.js");var requireNativeComponent=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/requireNativeComponent.js");var resolveAssetSource=__webpack_require__("./node_modules/react-native/Libraries/Image/resolveAssetSource.js");var PropTypes=React.PropTypes;var RCTWebViewManager=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").WebViewManager;var BGWASH='rgba(255,255,255,0.8)';var RCT_WEBVIEW_REF='webview';var WebViewState=keyMirror({IDLE:null,LOADING:null,ERROR:null});var NavigationType=keyMirror({click:true,formsubmit:true,backforward:true,reload:true,formresubmit:true,other:true});var JSNavigationScheme='react-js-navigation';var DataDetectorTypes=['phoneNumber','link','address','calendarEvent','none','all'];var defaultRenderLoading=function defaultRenderLoading(){return React.createElement(View,{style:styles.loadingView,__source:{fileName:_jsxFileName,lineNumber:72}},React.createElement(ActivityIndicator,{__source:{fileName:_jsxFileName,lineNumber:73}}));};var defaultRenderError=function defaultRenderError(errorDomain,errorCode,errorDesc){return React.createElement(View,{style:styles.errorContainer,__source:{fileName:_jsxFileName,lineNumber:77}},React.createElement(Text,{style:styles.errorTextTitle,__source:{fileName:_jsxFileName,lineNumber:78}},'Error loading page'),React.createElement(Text,{style:styles.errorText,__source:{fileName:_jsxFileName,lineNumber:81}},'Domain: '+errorDomain),React.createElement(Text,{style:styles.errorText,__source:{fileName:_jsxFileName,lineNumber:84}},'Error Code: '+errorCode),React.createElement(Text,{style:styles.errorText,__source:{fileName:_jsxFileName,lineNumber:87}},'Description: '+errorDesc));};var WebView=function(_React$Component){_inherits(WebView,_React$Component);function WebView(){var _ref;var _temp,_this,_ret;_classCallCheck(this,WebView);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return _ret=(_temp=(_this=_possibleConstructorReturn(this,(_ref=WebView.__proto__||Object.getPrototypeOf(WebView)).call.apply(_ref,[this].concat(args))),_this),_this.state={viewState:WebViewState.IDLE,lastErrorEvent:null,startInLoadingState:true},_this.goForward=function(){UIManager.dispatchViewManagerCommand(_this.getWebViewHandle(),UIManager.RCTWebView.Commands.goForward,null);},_this.goBack=function(){UIManager.dispatchViewManagerCommand(_this.getWebViewHandle(),UIManager.RCTWebView.Commands.goBack,null);},_this.reload=function(){_this.setState({viewState:WebViewState.LOADING});UIManager.dispatchViewManagerCommand(_this.getWebViewHandle(),UIManager.RCTWebView.Commands.reload,null);},_this.stopLoading=function(){UIManager.dispatchViewManagerCommand(_this.getWebViewHandle(),UIManager.RCTWebView.Commands.stopLoading,null);},_this.postMessage=function(data){UIManager.dispatchViewManagerCommand(_this.getWebViewHandle(),UIManager.RCTWebView.Commands.postMessage,[String(data)]);},_this._updateNavigationState=function(event){if(_this.props.onNavigationStateChange){_this.props.onNavigationStateChange(event.nativeEvent);}},_this.getWebViewHandle=function(){return ReactNative.findNodeHandle(_this.refs[RCT_WEBVIEW_REF]);},_this._onLoadingStart=function(event){var onLoadStart=_this.props.onLoadStart;onLoadStart&&onLoadStart(event);_this._updateNavigationState(event);},_this._onLoadingError=function(event){event.persist();var _this$props=_this.props,onError=_this$props.onError,onLoadEnd=_this$props.onLoadEnd;onError&&onError(event);onLoadEnd&&onLoadEnd(event);console.warn('Encountered an error loading page',event.nativeEvent);_this.setState({lastErrorEvent:event.nativeEvent,viewState:WebViewState.ERROR});},_this._onLoadingFinish=function(event){var _this$props2=_this.props,onLoad=_this$props2.onLoad,onLoadEnd=_this$props2.onLoadEnd;onLoad&&onLoad(event);onLoadEnd&&onLoadEnd(event);_this.setState({viewState:WebViewState.IDLE});_this._updateNavigationState(event);},_this._onMessage=function(event){var onMessage=_this.props.onMessage;onMessage&&onMessage(event);},_temp),_possibleConstructorReturn(_this,_ret);}_createClass(WebView,[{key:'componentWillMount',value:function componentWillMount(){if(this.props.startInLoadingState){this.setState({viewState:WebViewState.LOADING});}}},{key:'render',value:function render(){var _this2=this;var otherView=null;if(this.state.viewState===WebViewState.LOADING){otherView=(this.props.renderLoading||defaultRenderLoading)();}else if(this.state.viewState===WebViewState.ERROR){var errorEvent=this.state.lastErrorEvent;invariant(errorEvent!=null,'lastErrorEvent expected to be non-null');otherView=(this.props.renderError||defaultRenderError)(errorEvent.domain,errorEvent.code,errorEvent.description);}else if(this.state.viewState!==WebViewState.IDLE){console.error('RCTWebView invalid state encountered: '+this.state.loading);}var webViewStyles=[styles.container,styles.webView,this.props.style];if(this.state.viewState===WebViewState.LOADING||this.state.viewState===WebViewState.ERROR){webViewStyles.push(styles.hidden);}var onShouldStartLoadWithRequest=this.props.onShouldStartLoadWithRequest&&function(event){var shouldStart=_this2.props.onShouldStartLoadWithRequest&&_this2.props.onShouldStartLoadWithRequest(event.nativeEvent);RCTWebViewManager.startLoadWithResult(!!shouldStart,event.nativeEvent.lockIdentifier);};var decelerationRate=processDecelerationRate(this.props.decelerationRate);var source=this.props.source||{};if(this.props.html){source.html=this.props.html;}else if(this.props.url){source.uri=this.props.url;}var messagingEnabled=typeof this.props.onMessage==='function';var webView=React.createElement(RCTWebView,{ref:RCT_WEBVIEW_REF,key:'webViewKey',style:webViewStyles,source:resolveAssetSource(source),injectedJavaScript:this.props.injectedJavaScript,bounces:this.props.bounces,scrollEnabled:this.props.scrollEnabled,decelerationRate:decelerationRate,contentInset:this.props.contentInset,automaticallyAdjustContentInsets:this.props.automaticallyAdjustContentInsets,onLoadingStart:this._onLoadingStart,onLoadingFinish:this._onLoadingFinish,onLoadingError:this._onLoadingError,messagingEnabled:messagingEnabled,onMessage:this._onMessage,onShouldStartLoadWithRequest:onShouldStartLoadWithRequest,scalesPageToFit:this.props.scalesPageToFit,allowsInlineMediaPlayback:this.props.allowsInlineMediaPlayback,mediaPlaybackRequiresUserAction:this.props.mediaPlaybackRequiresUserAction,dataDetectorTypes:this.props.dataDetectorTypes,__source:{fileName:_jsxFileName,lineNumber:398}});return React.createElement(View,{style:styles.container,__source:{fileName:_jsxFileName,lineNumber:422}},webView,otherView);}}]);return WebView;}(React.Component);WebView.JSNavigationScheme=JSNavigationScheme;WebView.NavigationType=NavigationType;WebView.propTypes=_extends({},View.propTypes,{html:deprecatedPropType(PropTypes.string,'Use the `source` prop instead.'),url:deprecatedPropType(PropTypes.string,'Use the `source` prop instead.'),source:PropTypes.oneOfType([PropTypes.shape({uri:PropTypes.string,method:PropTypes.string,headers:PropTypes.object,body:PropTypes.string}),PropTypes.shape({html:PropTypes.string,baseUrl:PropTypes.string}),PropTypes.number]),renderError:PropTypes.func,renderLoading:PropTypes.func,onLoad:PropTypes.func,onLoadEnd:PropTypes.func,onLoadStart:PropTypes.func,onError:PropTypes.func,bounces:PropTypes.bool,decelerationRate:ScrollView.propTypes.decelerationRate,scrollEnabled:PropTypes.bool,automaticallyAdjustContentInsets:PropTypes.bool,contentInset:EdgeInsetsPropType,onNavigationStateChange:PropTypes.func,onMessage:PropTypes.func,startInLoadingState:PropTypes.bool,style:View.propTypes.style,dataDetectorTypes:PropTypes.oneOfType([PropTypes.oneOf(DataDetectorTypes),PropTypes.arrayOf(PropTypes.oneOf(DataDetectorTypes))]),javaScriptEnabled:PropTypes.bool,domStorageEnabled:PropTypes.bool,injectedJavaScript:PropTypes.string,userAgent:PropTypes.string,scalesPageToFit:PropTypes.bool,onShouldStartLoadWithRequest:PropTypes.func,allowsInlineMediaPlayback:PropTypes.bool,mediaPlaybackRequiresUserAction:PropTypes.bool});var RCTWebView=requireNativeComponent('RCTWebView',WebView,{nativeOnly:{onLoadingStart:true,onLoadingError:true,onLoadingFinish:true,onMessage:true,messagingEnabled:PropTypes.bool}});var styles=StyleSheet.create({container:{flex:1},errorContainer:{flex:1,justifyContent:'center',alignItems:'center',backgroundColor:BGWASH},errorText:{fontSize:14,textAlign:'center',marginBottom:2},errorTextTitle:{fontSize:15,fontWeight:'500',marginBottom:10},hidden:{height:0,flex:0},loadingView:{backgroundColor:BGWASH,flex:1,justifyContent:'center',alignItems:'center',height:100},webView:{backgroundColor:'#ffffff'}});module.exports=WebView;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Core/Devtools/parseErrorStack.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var stacktraceParser=__webpack_require__("./node_modules/stacktrace-parser/index.js");function parseErrorStack(e){if(!e||!e.stack){return[];}var stack=Array.isArray(e.stack)?e.stack:stacktraceParser.parse(e.stack);var framesToPop=typeof e.framesToPop==='number'?e.framesToPop:0;while(framesToPop--){stack.shift();}return stack;}module.exports=parseErrorStack;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Core/ErrorUtils.js":
/***/ (function(module, exports, __webpack_require__) {

/* WEBPACK VAR INJECTION */(function(global) {module.exports=global.ErrorUtils;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/webpack/buildin/global.js")))

/***/ }),

/***/ "./node_modules/react-native/Libraries/Core/ExceptionsManager.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var exceptionID=0;function reportException(e,isFatal){var _require=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js"),ExceptionsManager=_require.ExceptionsManager;if(ExceptionsManager){var parseErrorStack=__webpack_require__("./node_modules/react-native/Libraries/Core/Devtools/parseErrorStack.js");var stack=parseErrorStack(e);var currentExceptionID=++exceptionID;if(isFatal){ExceptionsManager.reportFatalException(e.message,stack,currentExceptionID);}else{ExceptionsManager.reportSoftException(e.message,stack,currentExceptionID);}if(false){var symbolicateStackTrace=require('symbolicateStackTrace');symbolicateStackTrace(stack).then(function(prettyStack){if(prettyStack){ExceptionsManager.updateExceptionMessage(e.message,prettyStack,currentExceptionID);}else{throw new Error('The stack is null');}}).catch(function(error){return console.warn('Unable to symbolicate stack trace: '+error.message);});}}}function handleException(e,isFatal){if(!e.message){e=new Error(e);}if(console._errorOriginal){console._errorOriginal(e.message);}else{console.error(e.message);}reportException(e,isFatal);}function reactConsoleErrorHandler(){console._errorOriginal.apply(console,arguments);if(!console.reportErrorsAsExceptions){return;}if(arguments[0]&&arguments[0].stack){reportException(arguments[0],false);}else{var stringifySafe=__webpack_require__("./node_modules/react-native/Libraries/Utilities/stringifySafe.js");var str=Array.prototype.map.call(arguments,stringifySafe).join(', ');if(str.slice(0,10)==='"Warning: '){return;}var error=new Error('console.error: '+str);error.framesToPop=1;reportException(error,false);}}function installConsoleErrorReporter(){if(console._errorOriginal){return;}console._errorOriginal=console.error.bind(console);console.error=reactConsoleErrorHandler;if(console.reportErrorsAsExceptions===undefined){console.reportErrorsAsExceptions=true;}}module.exports={handleException:handleException,installConsoleErrorReporter:installConsoleErrorReporter};

/***/ }),

/***/ "./node_modules/react-native/Libraries/Core/InitializeCore.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(global) {var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};if(global.GLOBAL===undefined){global.GLOBAL=global;}if(global.window===undefined){global.window=global;}var defineLazyObjectProperty=__webpack_require__("./node_modules/react-native/Libraries/Utilities/defineLazyObjectProperty.js");function defineProperty(object,name,getValue,eager){var descriptor=Object.getOwnPropertyDescriptor(object,name);if(descriptor){var backupName='original'+name[0].toUpperCase()+name.substr(1);Object.defineProperty(object,backupName,_extends({},descriptor,{value:object[name]}));}var _ref=descriptor||{},enumerable=_ref.enumerable,writable=_ref.writable,configurable=_ref.configurable;if(descriptor&&!configurable){console.error('Failed to set polyfill. '+name+' is not configurable.');return;}if(eager===true){Object.defineProperty(object,name,{configurable:true,enumerable:enumerable!==false,writable:writable!==false,value:getValue()});}else{defineLazyObjectProperty(object,name,{get:getValue,enumerable:enumerable!==false,writable:writable!==false});}}global.process=global.process||{};global.process.env=global.process.env||{};if(!global.process.env.NODE_ENV){global.process.env.NODE_ENV= false?'development':'production';}var Systrace=__webpack_require__("./node_modules/react-native/Libraries/Performance/Systrace.js");Systrace.setEnabled(global.__RCTProfileIsProfiling||false);var ExceptionsManager=__webpack_require__("./node_modules/react-native/Libraries/Core/ExceptionsManager.js");ExceptionsManager.installConsoleErrorReporter();__webpack_require__("./node_modules/react-native/Libraries/Utilities/RCTLog.js");if(!global.__fbDisableExceptionsManager){var handleError=function handleError(e,isFatal){try{ExceptionsManager.handleException(e,isFatal);}catch(ee){console.log('Failed to print error: ',ee.message);throw e;}};var ErrorUtils=__webpack_require__("./node_modules/react-native/Libraries/Core/ErrorUtils.js");ErrorUtils.setGlobalHandler(handleError);}var defineLazyTimer=function defineLazyTimer(name){defineProperty(global,name,function(){return __webpack_require__("./node_modules/react-native/Libraries/Core/Timers/JSTimers.js")[name];});};defineLazyTimer('setTimeout');defineLazyTimer('setInterval');defineLazyTimer('setImmediate');defineLazyTimer('clearTimeout');defineLazyTimer('clearInterval');defineLazyTimer('clearImmediate');defineLazyTimer('requestAnimationFrame');defineLazyTimer('cancelAnimationFrame');defineLazyTimer('requestIdleCallback');defineLazyTimer('cancelIdleCallback');if(!global.alert){global.alert=function(text){__webpack_require__("./node_modules/react-native/Libraries/Alert/Alert.js").alert('Alert',''+text);};}defineProperty(global,'Promise',function(){return __webpack_require__("./node_modules/react-native/Libraries/Promise.js");});defineProperty(global,'regeneratorRuntime',function(){delete global.regeneratorRuntime;__webpack_require__("./node_modules/regenerator-runtime/runtime.js");return global.regeneratorRuntime;});defineProperty(global,'XMLHttpRequest',function(){return __webpack_require__("./node_modules/react-native/Libraries/Network/XMLHttpRequest.js");});defineProperty(global,'FormData',function(){return __webpack_require__("./node_modules/react-native/Libraries/Network/FormData.js");});defineProperty(global,'fetch',function(){return __webpack_require__("./node_modules/react-native/Libraries/Network/fetch.js").fetch;});defineProperty(global,'Headers',function(){return __webpack_require__("./node_modules/react-native/Libraries/Network/fetch.js").Headers;});defineProperty(global,'Request',function(){return __webpack_require__("./node_modules/react-native/Libraries/Network/fetch.js").Request;});defineProperty(global,'Response',function(){return __webpack_require__("./node_modules/react-native/Libraries/Network/fetch.js").Response;});defineProperty(global,'WebSocket',function(){return __webpack_require__("./node_modules/react-native/Libraries/WebSocket/WebSocket.js");});var navigator=global.navigator;if(navigator===undefined){global.navigator=navigator={};}defineProperty(navigator,'product',function(){return'ReactNative';},true);defineProperty(navigator,'geolocation',function(){return __webpack_require__("./node_modules/react-native/Libraries/Geolocation/Geolocation.js");});defineProperty(global,'Map',function(){return __webpack_require__("./node_modules/react-native/Libraries/vendor/core/Map.js");},true);defineProperty(global,'Set',function(){return __webpack_require__("./node_modules/react-native/Libraries/vendor/core/Set.js");},true);if(false){if(!window.document){var setupDevtools=require('setupDevtools');setupDevtools();}require('RCTDebugComponentOwnership');}if(false){var JSInspector=require('JSInspector');JSInspector.registerAgent(require('NetworkAgent'));}__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/RCTDeviceEventEmitter.js");__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/RCTNativeAppEventEmitter.js");__webpack_require__("./node_modules/react-native/Libraries/Utilities/PerformanceLogger.js");
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/webpack/buildin/global.js")))

/***/ }),

/***/ "./node_modules/react-native/Libraries/Core/Timers/JSTimers.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var RCTTiming=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").Timing;var JSTimersExecution=__webpack_require__("./node_modules/react-native/Libraries/Core/Timers/JSTimersExecution.js");var parseErrorStack=__webpack_require__("./node_modules/react-native/Libraries/Core/Devtools/parseErrorStack.js");function _getFreeIndex(){var freeIndex=JSTimersExecution.timerIDs.indexOf(null);if(freeIndex===-1){freeIndex=JSTimersExecution.timerIDs.length;}return freeIndex;}function _allocateCallback(func,type){var id=JSTimersExecution.GUID++;var freeIndex=_getFreeIndex();JSTimersExecution.timerIDs[freeIndex]=id;JSTimersExecution.callbacks[freeIndex]=func;JSTimersExecution.types[freeIndex]=type;if(false){var e=new Error();e.framesToPop=1;var stack=parseErrorStack(e);if(stack){JSTimersExecution.identifiers[freeIndex]=stack.shift();}}return id;}function _freeCallback(timerID){if(timerID==null){return;}var index=JSTimersExecution.timerIDs.indexOf(timerID);if(index!==-1){JSTimersExecution._clearIndex(index);var type=JSTimersExecution.types[index];if(type!=='setImmediate'&&type!=='requestIdleCallback'){RCTTiming.deleteTimer(timerID);}}}var JSTimers={setTimeout:function setTimeout(func,duration){for(var _len=arguments.length,args=Array(_len>2?_len-2:0),_key=2;_key<_len;_key++){args[_key-2]=arguments[_key];}var id=_allocateCallback(function(){return func.apply(undefined,args);},'setTimeout');RCTTiming.createTimer(id,duration||0,Date.now(),false);return id;},setInterval:function setInterval(func,duration){for(var _len2=arguments.length,args=Array(_len2>2?_len2-2:0),_key2=2;_key2<_len2;_key2++){args[_key2-2]=arguments[_key2];}var id=_allocateCallback(function(){return func.apply(undefined,args);},'setInterval');RCTTiming.createTimer(id,duration||0,Date.now(),true);return id;},setImmediate:function setImmediate(func){for(var _len3=arguments.length,args=Array(_len3>1?_len3-1:0),_key3=1;_key3<_len3;_key3++){args[_key3-1]=arguments[_key3];}var id=_allocateCallback(function(){return func.apply(undefined,args);},'setImmediate');JSTimersExecution.immediates.push(id);return id;},requestAnimationFrame:function requestAnimationFrame(func){var id=_allocateCallback(func,'requestAnimationFrame');RCTTiming.createTimer(id,1,Date.now(),false);return id;},requestIdleCallback:function requestIdleCallback(func){if(JSTimersExecution.requestIdleCallbacks.length===0){RCTTiming.setSendIdleEvents(true);}var id=_allocateCallback(func,'requestIdleCallback');JSTimersExecution.requestIdleCallbacks.push(id);return id;},cancelIdleCallback:function cancelIdleCallback(timerID){_freeCallback(timerID);var index=JSTimersExecution.requestIdleCallbacks.indexOf(timerID);if(index!==-1){JSTimersExecution.requestIdleCallbacks.splice(index,1);}if(JSTimersExecution.requestIdleCallbacks.length===0){RCTTiming.setSendIdleEvents(false);}},clearTimeout:function clearTimeout(timerID){_freeCallback(timerID);},clearInterval:function clearInterval(timerID){_freeCallback(timerID);},clearImmediate:function clearImmediate(timerID){_freeCallback(timerID);var index=JSTimersExecution.immediates.indexOf(timerID);if(index!==-1){JSTimersExecution.immediates.splice(index,1);}},cancelAnimationFrame:function cancelAnimationFrame(timerID){_freeCallback(timerID);}};module.exports=JSTimers;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Core/Timers/JSTimersExecution.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var Systrace=__webpack_require__("./node_modules/react-native/Libraries/Performance/Systrace.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var performanceNow=__webpack_require__("./node_modules/fbjs/lib/performanceNow.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");var FRAME_DURATION=1000/60;var IDLE_CALLBACK_FRAME_DEADLINE=1;var hasEmittedTimeDriftWarning=false;var JSTimersExecution={GUID:1,callbacks:[],types:[],timerIDs:[],immediates:[],requestIdleCallbacks:[],identifiers:[],errors:null,callTimer:function callTimer(timerID,frameTime){warning(timerID<=JSTimersExecution.GUID,'Tried to call timer with ID %s but no such timer exists.',timerID);var timerIndex=JSTimersExecution.timerIDs.indexOf(timerID);if(timerIndex===-1){return;}var type=JSTimersExecution.types[timerIndex];var callback=JSTimersExecution.callbacks[timerIndex];if(!callback||!type){console.error('No callback found for timerID '+timerID);return;}if(false){var identifier=JSTimersExecution.identifiers[timerIndex]||{};Systrace.beginEvent('Systrace.callTimer: '+identifier.methodName);}if(type==='setTimeout'||type==='setImmediate'||type==='requestAnimationFrame'||type==='requestIdleCallback'){JSTimersExecution._clearIndex(timerIndex);}try{if(type==='setTimeout'||type==='setInterval'||type==='setImmediate'){callback();}else if(type==='requestAnimationFrame'){callback(performanceNow());}else if(type==='requestIdleCallback'){callback({timeRemaining:function timeRemaining(){return Math.max(0,FRAME_DURATION-(performanceNow()-frameTime));}});}else{console.error('Tried to call a callback with invalid type: '+type);}}catch(e){if(!JSTimersExecution.errors){JSTimersExecution.errors=[e];}else{JSTimersExecution.errors.push(e);}}if(false){Systrace.endEvent();}},callTimers:function callTimers(timerIDs){invariant(timerIDs.length!==0,'Cannot call `callTimers` with an empty list of IDs.');JSTimersExecution.errors=null;for(var i=0;i<timerIDs.length;i++){JSTimersExecution.callTimer(timerIDs[i],0);}var errors=JSTimersExecution.errors;if(errors){var errorCount=errors.length;if(errorCount>1){for(var ii=1;ii<errorCount;ii++){__webpack_require__("./node_modules/react-native/Libraries/Core/Timers/JSTimers.js").setTimeout(function(error){throw error;}.bind(null,errors[ii]),0);}}throw errors[0];}},callIdleCallbacks:function callIdleCallbacks(frameTime){if(FRAME_DURATION-(performanceNow()-frameTime)<IDLE_CALLBACK_FRAME_DEADLINE){return;}JSTimersExecution.errors=null;if(JSTimersExecution.requestIdleCallbacks.length>0){var passIdleCallbacks=JSTimersExecution.requestIdleCallbacks.slice();JSTimersExecution.requestIdleCallbacks=[];for(var i=0;i<passIdleCallbacks.length;++i){JSTimersExecution.callTimer(passIdleCallbacks[i],frameTime);}}if(JSTimersExecution.requestIdleCallbacks.length===0){var _require=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js"),Timing=_require.Timing;Timing.setSendIdleEvents(false);}if(JSTimersExecution.errors){JSTimersExecution.errors.forEach(function(error){return __webpack_require__("./node_modules/react-native/Libraries/Core/Timers/JSTimers.js").setTimeout(function(){throw error;},0);});}},callImmediatesPass:function callImmediatesPass(){Systrace.beginEvent('JSTimersExecution.callImmediatesPass()');if(JSTimersExecution.immediates.length>0){var passImmediates=JSTimersExecution.immediates.slice();JSTimersExecution.immediates=[];for(var i=0;i<passImmediates.length;++i){JSTimersExecution.callTimer(passImmediates[i],0);}}Systrace.endEvent();return JSTimersExecution.immediates.length>0;},callImmediates:function callImmediates(){JSTimersExecution.errors=null;while(JSTimersExecution.callImmediatesPass()){}if(JSTimersExecution.errors){JSTimersExecution.errors.forEach(function(error){return __webpack_require__("./node_modules/react-native/Libraries/Core/Timers/JSTimers.js").setTimeout(function(){throw error;},0);});}},emitTimeDriftWarning:function emitTimeDriftWarning(warningMessage){if(hasEmittedTimeDriftWarning){return;}hasEmittedTimeDriftWarning=true;console.warn(warningMessage);},_clearIndex:function _clearIndex(i){JSTimersExecution.timerIDs[i]=null;JSTimersExecution.callbacks[i]=null;JSTimersExecution.types[i]=null;JSTimersExecution.identifiers[i]=null;}};module.exports=JSTimersExecution;

/***/ }),

/***/ "./node_modules/react-native/Libraries/CustomComponents/ListView/ListView.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/CustomComponents/ListView/ListView.js';var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};function _objectWithoutProperties(obj,keys){var target={};for(var i in obj){if(keys.indexOf(i)>=0)continue;if(!Object.prototype.hasOwnProperty.call(obj,i))continue;target[i]=obj[i];}return target;}var ListViewDataSource=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/ListView/ListViewDataSource.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var ReactNative=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNative.js");var RCTScrollViewManager=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").ScrollViewManager;var ScrollView=__webpack_require__("./node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js");var ScrollResponder=__webpack_require__("./node_modules/react-native/Libraries/Components/ScrollResponder.js");var StaticRenderer=__webpack_require__("./node_modules/react-native/Libraries/Components/StaticRenderer.js");var TimerMixin=__webpack_require__("./node_modules/react-timer-mixin/TimerMixin.js");var cloneReferencedElement=__webpack_require__("./node_modules/react-clone-referenced-element/cloneReferencedElement.js");var isEmpty=__webpack_require__("./node_modules/react-native/Libraries/vendor/core/isEmpty.js");var merge=__webpack_require__("./node_modules/react-native/Libraries/vendor/core/merge.js");var PropTypes=React.PropTypes;var DEFAULT_PAGE_SIZE=1;var DEFAULT_INITIAL_ROWS=10;var DEFAULT_SCROLL_RENDER_AHEAD=1000;var DEFAULT_END_REACHED_THRESHOLD=1000;var DEFAULT_SCROLL_CALLBACK_THROTTLE=50;var ListView=React.createClass({displayName:'ListView',_childFrames:[],_sentEndForContentLength:null,_scrollComponent:null,_prevRenderedRowsCount:0,_visibleRows:{},scrollProperties:{},mixins:[ScrollResponder.Mixin,TimerMixin],statics:{DataSource:ListViewDataSource},propTypes:_extends({},ScrollView.propTypes,{dataSource:PropTypes.instanceOf(ListViewDataSource).isRequired,renderSeparator:PropTypes.func,renderRow:PropTypes.func.isRequired,initialListSize:PropTypes.number.isRequired,onEndReached:PropTypes.func,onEndReachedThreshold:PropTypes.number.isRequired,pageSize:PropTypes.number.isRequired,renderFooter:PropTypes.func,renderHeader:PropTypes.func,renderSectionHeader:PropTypes.func,renderScrollComponent:React.PropTypes.func.isRequired,scrollRenderAheadDistance:React.PropTypes.number.isRequired,onChangeVisibleRows:React.PropTypes.func,removeClippedSubviews:React.PropTypes.bool,stickyHeaderIndices:PropTypes.arrayOf(PropTypes.number).isRequired,enableEmptySections:PropTypes.bool}),getMetrics:function getMetrics(){return{contentLength:this.scrollProperties.contentLength,totalRows:this.props.enableEmptySections?this.props.dataSource.getRowAndSectionCount():this.props.dataSource.getRowCount(),renderedRows:this.state.curRenderedRowsCount,visibleRows:Object.keys(this._visibleRows).length};},getScrollResponder:function getScrollResponder(){if(this._scrollComponent&&this._scrollComponent.getScrollResponder){return this._scrollComponent.getScrollResponder();}},getScrollableNode:function getScrollableNode(){if(this._scrollComponent&&this._scrollComponent.getScrollableNode){return this._scrollComponent.getScrollableNode();}else{return ReactNative.findNodeHandle(this._scrollComponent);}},scrollTo:function scrollTo(){if(this._scrollComponent&&this._scrollComponent.scrollTo){var _scrollComponent;(_scrollComponent=this._scrollComponent).scrollTo.apply(_scrollComponent,arguments);}},scrollToEnd:function scrollToEnd(options){if(this._scrollComponent){if(this._scrollComponent.scrollToEnd){this._scrollComponent.scrollToEnd(options);}else{console.warn('The scroll component used by the ListView does not support '+'scrollToEnd. Check the renderScrollComponent prop of your ListView.');}}},setNativeProps:function setNativeProps(props){if(this._scrollComponent){this._scrollComponent.setNativeProps(props);}},getDefaultProps:function getDefaultProps(){return{initialListSize:DEFAULT_INITIAL_ROWS,pageSize:DEFAULT_PAGE_SIZE,renderScrollComponent:function renderScrollComponent(props){return React.createElement(ScrollView,_extends({},props,{__source:{fileName:_jsxFileName,lineNumber:327}}));},scrollRenderAheadDistance:DEFAULT_SCROLL_RENDER_AHEAD,onEndReachedThreshold:DEFAULT_END_REACHED_THRESHOLD,stickyHeaderIndices:[]};},getInitialState:function getInitialState(){return{curRenderedRowsCount:this.props.initialListSize,highlightedRow:{}};},getInnerViewNode:function getInnerViewNode(){return this._scrollComponent.getInnerViewNode();},componentWillMount:function componentWillMount(){this.scrollProperties={visibleLength:null,contentLength:null,offset:0};this._childFrames=[];this._visibleRows={};this._prevRenderedRowsCount=0;this._sentEndForContentLength=null;},componentDidMount:function componentDidMount(){var _this=this;this.requestAnimationFrame(function(){_this._measureAndUpdateScrollProps();});},componentWillReceiveProps:function componentWillReceiveProps(nextProps){var _this2=this;if(this.props.dataSource!==nextProps.dataSource||this.props.initialListSize!==nextProps.initialListSize){this.setState(function(state,props){_this2._prevRenderedRowsCount=0;return{curRenderedRowsCount:Math.min(Math.max(state.curRenderedRowsCount,props.initialListSize),props.enableEmptySections?props.dataSource.getRowAndSectionCount():props.dataSource.getRowCount())};},function(){return _this2._renderMoreRowsIfNeeded();});}},componentDidUpdate:function componentDidUpdate(){var _this3=this;this.requestAnimationFrame(function(){_this3._measureAndUpdateScrollProps();});},_onRowHighlighted:function _onRowHighlighted(sectionID,rowID){this.setState({highlightedRow:{sectionID:sectionID,rowID:rowID}});},render:function render(){var bodyComponents=[];var dataSource=this.props.dataSource;var allRowIDs=dataSource.rowIdentities;var rowCount=0;var sectionHeaderIndices=[];var header=this.props.renderHeader&&this.props.renderHeader();var footer=this.props.renderFooter&&this.props.renderFooter();var totalIndex=header?1:0;for(var sectionIdx=0;sectionIdx<allRowIDs.length;sectionIdx++){var sectionID=dataSource.sectionIdentities[sectionIdx];var rowIDs=allRowIDs[sectionIdx];if(rowIDs.length===0){if(this.props.enableEmptySections===undefined){var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");warning(false,'In next release empty section headers will be rendered.'+' In this release you can use \'enableEmptySections\' flag to render empty section headers.');continue;}else{var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");invariant(this.props.enableEmptySections,'In next release \'enableEmptySections\' flag will be deprecated, empty section headers will always be rendered.'+' If empty section headers are not desirable their indices should be excluded from sectionIDs object.'+' In this release \'enableEmptySections\' may only have value \'true\' to allow empty section headers rendering.');}}if(this.props.renderSectionHeader){var shouldUpdateHeader=rowCount>=this._prevRenderedRowsCount&&dataSource.sectionHeaderShouldUpdate(sectionIdx);bodyComponents.push(React.createElement(StaticRenderer,{key:'s_'+sectionID,shouldUpdate:!!shouldUpdateHeader,render:this.props.renderSectionHeader.bind(null,dataSource.getSectionHeaderData(sectionIdx),sectionID),__source:{fileName:_jsxFileName,lineNumber:429}}));sectionHeaderIndices.push(totalIndex++);}for(var rowIdx=0;rowIdx<rowIDs.length;rowIdx++){var rowID=rowIDs[rowIdx];var comboID=sectionID+'_'+rowID;var shouldUpdateRow=rowCount>=this._prevRenderedRowsCount&&dataSource.rowShouldUpdate(sectionIdx,rowIdx);var row=React.createElement(StaticRenderer,{key:'r_'+comboID,shouldUpdate:!!shouldUpdateRow,render:this.props.renderRow.bind(null,dataSource.getRowData(sectionIdx,rowIdx),sectionID,rowID,this._onRowHighlighted),__source:{fileName:_jsxFileName,lineNumber:448}});bodyComponents.push(row);totalIndex++;if(this.props.renderSeparator&&(rowIdx!==rowIDs.length-1||sectionIdx===allRowIDs.length-1)){var adjacentRowHighlighted=this.state.highlightedRow.sectionID===sectionID&&(this.state.highlightedRow.rowID===rowID||this.state.highlightedRow.rowID===rowIDs[rowIdx+1]);var separator=this.props.renderSeparator(sectionID,rowID,adjacentRowHighlighted);if(separator){bodyComponents.push(separator);totalIndex++;}}if(++rowCount===this.state.curRenderedRowsCount){break;}}if(rowCount>=this.state.curRenderedRowsCount){break;}}var _props=this.props,renderScrollComponent=_props.renderScrollComponent,props=_objectWithoutProperties(_props,['renderScrollComponent']);if(!props.scrollEventThrottle){props.scrollEventThrottle=DEFAULT_SCROLL_CALLBACK_THROTTLE;}if(props.removeClippedSubviews===undefined){props.removeClippedSubviews=true;}_extends(props,{onScroll:this._onScroll,stickyHeaderIndices:this.props.stickyHeaderIndices.concat(sectionHeaderIndices),onKeyboardWillShow:undefined,onKeyboardWillHide:undefined,onKeyboardDidShow:undefined,onKeyboardDidHide:undefined});return cloneReferencedElement(renderScrollComponent(props),{ref:this._setScrollComponentRef,onContentSizeChange:this._onContentSizeChange,onLayout:this._onLayout},header,bodyComponents,footer);},_measureAndUpdateScrollProps:function _measureAndUpdateScrollProps(){var scrollComponent=this.getScrollResponder();if(!scrollComponent||!scrollComponent.getInnerViewNode){return;}RCTScrollViewManager&&RCTScrollViewManager.calculateChildFrames&&RCTScrollViewManager.calculateChildFrames(ReactNative.findNodeHandle(scrollComponent),this._updateVisibleRows);},_setScrollComponentRef:function _setScrollComponentRef(scrollComponent){this._scrollComponent=scrollComponent;},_onContentSizeChange:function _onContentSizeChange(width,height){var contentLength=!this.props.horizontal?height:width;if(contentLength!==this.scrollProperties.contentLength){this.scrollProperties.contentLength=contentLength;this._updateVisibleRows();this._renderMoreRowsIfNeeded();}this.props.onContentSizeChange&&this.props.onContentSizeChange(width,height);},_onLayout:function _onLayout(event){var _event$nativeEvent$la=event.nativeEvent.layout,width=_event$nativeEvent$la.width,height=_event$nativeEvent$la.height;var visibleLength=!this.props.horizontal?height:width;if(visibleLength!==this.scrollProperties.visibleLength){this.scrollProperties.visibleLength=visibleLength;this._updateVisibleRows();this._renderMoreRowsIfNeeded();}this.props.onLayout&&this.props.onLayout(event);},_maybeCallOnEndReached:function _maybeCallOnEndReached(event){if(this.props.onEndReached&&this.scrollProperties.contentLength!==this._sentEndForContentLength&&this._getDistanceFromEnd(this.scrollProperties)<this.props.onEndReachedThreshold&&this.state.curRenderedRowsCount===(this.props.enableEmptySections?this.props.dataSource.getRowAndSectionCount():this.props.dataSource.getRowCount())){this._sentEndForContentLength=this.scrollProperties.contentLength;this.props.onEndReached(event);return true;}return false;},_renderMoreRowsIfNeeded:function _renderMoreRowsIfNeeded(){if(this.scrollProperties.contentLength===null||this.scrollProperties.visibleLength===null||this.state.curRenderedRowsCount===(this.props.enableEmptySections?this.props.dataSource.getRowAndSectionCount():this.props.dataSource.getRowCount())){this._maybeCallOnEndReached();return;}var distanceFromEnd=this._getDistanceFromEnd(this.scrollProperties);if(distanceFromEnd<this.props.scrollRenderAheadDistance){this._pageInNewRows();}},_pageInNewRows:function _pageInNewRows(){var _this4=this;this.setState(function(state,props){var rowsToRender=Math.min(state.curRenderedRowsCount+props.pageSize,props.enableEmptySections?props.dataSource.getRowAndSectionCount():props.dataSource.getRowCount());_this4._prevRenderedRowsCount=state.curRenderedRowsCount;return{curRenderedRowsCount:rowsToRender};},function(){_this4._measureAndUpdateScrollProps();_this4._prevRenderedRowsCount=_this4.state.curRenderedRowsCount;});},_getDistanceFromEnd:function _getDistanceFromEnd(scrollProperties){return scrollProperties.contentLength-scrollProperties.visibleLength-scrollProperties.offset;},_updateVisibleRows:function _updateVisibleRows(updatedFrames){var _this5=this;if(!this.props.onChangeVisibleRows){return;}if(updatedFrames){updatedFrames.forEach(function(newFrame){_this5._childFrames[newFrame.index]=merge(newFrame);});}var isVertical=!this.props.horizontal;var dataSource=this.props.dataSource;var visibleMin=this.scrollProperties.offset;var visibleMax=visibleMin+this.scrollProperties.visibleLength;var allRowIDs=dataSource.rowIdentities;var header=this.props.renderHeader&&this.props.renderHeader();var totalIndex=header?1:0;var visibilityChanged=false;var changedRows={};for(var sectionIdx=0;sectionIdx<allRowIDs.length;sectionIdx++){var rowIDs=allRowIDs[sectionIdx];if(rowIDs.length===0){continue;}var sectionID=dataSource.sectionIdentities[sectionIdx];if(this.props.renderSectionHeader){totalIndex++;}var visibleSection=this._visibleRows[sectionID];if(!visibleSection){visibleSection={};}for(var rowIdx=0;rowIdx<rowIDs.length;rowIdx++){var rowID=rowIDs[rowIdx];var frame=this._childFrames[totalIndex];totalIndex++;if(this.props.renderSeparator&&(rowIdx!==rowIDs.length-1||sectionIdx===allRowIDs.length-1)){totalIndex++;}if(!frame){break;}var rowVisible=visibleSection[rowID];var min=isVertical?frame.y:frame.x;var max=min+(isVertical?frame.height:frame.width);if(!min&&!max||min===max){break;}if(min>visibleMax||max<visibleMin){if(rowVisible){visibilityChanged=true;delete visibleSection[rowID];if(!changedRows[sectionID]){changedRows[sectionID]={};}changedRows[sectionID][rowID]=false;}}else if(!rowVisible){visibilityChanged=true;visibleSection[rowID]=true;if(!changedRows[sectionID]){changedRows[sectionID]={};}changedRows[sectionID][rowID]=true;}}if(!isEmpty(visibleSection)){this._visibleRows[sectionID]=visibleSection;}else if(this._visibleRows[sectionID]){delete this._visibleRows[sectionID];}}visibilityChanged&&this.props.onChangeVisibleRows(this._visibleRows,changedRows);},_onScroll:function _onScroll(e){var isVertical=!this.props.horizontal;this.scrollProperties.visibleLength=e.nativeEvent.layoutMeasurement[isVertical?'height':'width'];this.scrollProperties.contentLength=e.nativeEvent.contentSize[isVertical?'height':'width'];this.scrollProperties.offset=e.nativeEvent.contentOffset[isVertical?'y':'x'];this._updateVisibleRows(e.nativeEvent.updatedChildFrames);if(!this._maybeCallOnEndReached(e)){this._renderMoreRowsIfNeeded();}if(this.props.onEndReached&&this._getDistanceFromEnd(this.scrollProperties)>this.props.onEndReachedThreshold){this._sentEndForContentLength=null;}this.props.onScroll&&this.props.onScroll(e);}});module.exports=ListView;

/***/ }),

/***/ "./node_modules/react-native/Libraries/CustomComponents/ListView/ListViewDataSource.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var isEmpty=__webpack_require__("./node_modules/react-native/Libraries/vendor/core/isEmpty.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");function defaultGetRowData(dataBlob,sectionID,rowID){return dataBlob[sectionID][rowID];}function defaultGetSectionHeaderData(dataBlob,sectionID){return dataBlob[sectionID];}var ListViewDataSource=function(){function ListViewDataSource(params){_classCallCheck(this,ListViewDataSource);invariant(params&&typeof params.rowHasChanged==='function','Must provide a rowHasChanged function.');this._rowHasChanged=params.rowHasChanged;this._getRowData=params.getRowData||defaultGetRowData;this._sectionHeaderHasChanged=params.sectionHeaderHasChanged;this._getSectionHeaderData=params.getSectionHeaderData||defaultGetSectionHeaderData;this._dataBlob=null;this._dirtyRows=[];this._dirtySections=[];this._cachedRowCount=0;this.rowIdentities=[];this.sectionIdentities=[];}_createClass(ListViewDataSource,[{key:'cloneWithRows',value:function cloneWithRows(dataBlob,rowIdentities){var rowIds=rowIdentities?[rowIdentities]:null;if(!this._sectionHeaderHasChanged){this._sectionHeaderHasChanged=function(){return false;};}return this.cloneWithRowsAndSections({s1:dataBlob},['s1'],rowIds);}},{key:'cloneWithRowsAndSections',value:function cloneWithRowsAndSections(dataBlob,sectionIdentities,rowIdentities){invariant(typeof this._sectionHeaderHasChanged==='function','Must provide a sectionHeaderHasChanged function with section data.');invariant(!sectionIdentities||!rowIdentities||sectionIdentities.length===rowIdentities.length,'row and section ids lengths must be the same');var newSource=new ListViewDataSource({getRowData:this._getRowData,getSectionHeaderData:this._getSectionHeaderData,rowHasChanged:this._rowHasChanged,sectionHeaderHasChanged:this._sectionHeaderHasChanged});newSource._dataBlob=dataBlob;if(sectionIdentities){newSource.sectionIdentities=sectionIdentities;}else{newSource.sectionIdentities=Object.keys(dataBlob);}if(rowIdentities){newSource.rowIdentities=rowIdentities;}else{newSource.rowIdentities=[];newSource.sectionIdentities.forEach(function(sectionID){newSource.rowIdentities.push(Object.keys(dataBlob[sectionID]));});}newSource._cachedRowCount=countRows(newSource.rowIdentities);newSource._calculateDirtyArrays(this._dataBlob,this.sectionIdentities,this.rowIdentities);return newSource;}},{key:'getRowCount',value:function getRowCount(){return this._cachedRowCount;}},{key:'getRowAndSectionCount',value:function getRowAndSectionCount(){return this._cachedRowCount+this.sectionIdentities.length;}},{key:'rowShouldUpdate',value:function rowShouldUpdate(sectionIndex,rowIndex){var needsUpdate=this._dirtyRows[sectionIndex][rowIndex];warning(needsUpdate!==undefined,'missing dirtyBit for section, row: '+sectionIndex+', '+rowIndex);return needsUpdate;}},{key:'getRowData',value:function getRowData(sectionIndex,rowIndex){var sectionID=this.sectionIdentities[sectionIndex];var rowID=this.rowIdentities[sectionIndex][rowIndex];warning(sectionID!==undefined&&rowID!==undefined,'rendering invalid section, row: '+sectionIndex+', '+rowIndex);return this._getRowData(this._dataBlob,sectionID,rowID);}},{key:'getRowIDForFlatIndex',value:function getRowIDForFlatIndex(index){var accessIndex=index;for(var ii=0;ii<this.sectionIdentities.length;ii++){if(accessIndex>=this.rowIdentities[ii].length){accessIndex-=this.rowIdentities[ii].length;}else{return this.rowIdentities[ii][accessIndex];}}return null;}},{key:'getSectionIDForFlatIndex',value:function getSectionIDForFlatIndex(index){var accessIndex=index;for(var ii=0;ii<this.sectionIdentities.length;ii++){if(accessIndex>=this.rowIdentities[ii].length){accessIndex-=this.rowIdentities[ii].length;}else{return this.sectionIdentities[ii];}}return null;}},{key:'getSectionLengths',value:function getSectionLengths(){var results=[];for(var ii=0;ii<this.sectionIdentities.length;ii++){results.push(this.rowIdentities[ii].length);}return results;}},{key:'sectionHeaderShouldUpdate',value:function sectionHeaderShouldUpdate(sectionIndex){var needsUpdate=this._dirtySections[sectionIndex];warning(needsUpdate!==undefined,'missing dirtyBit for section: '+sectionIndex);return needsUpdate;}},{key:'getSectionHeaderData',value:function getSectionHeaderData(sectionIndex){if(!this._getSectionHeaderData){return null;}var sectionID=this.sectionIdentities[sectionIndex];warning(sectionID!==undefined,'renderSection called on invalid section: '+sectionIndex);return this._getSectionHeaderData(this._dataBlob,sectionID);}},{key:'_calculateDirtyArrays',value:function _calculateDirtyArrays(prevDataBlob,prevSectionIDs,prevRowIDs){var prevSectionsHash=keyedDictionaryFromArray(prevSectionIDs);var prevRowsHash={};for(var ii=0;ii<prevRowIDs.length;ii++){var sectionID=prevSectionIDs[ii];warning(!prevRowsHash[sectionID],'SectionID appears more than once: '+sectionID);prevRowsHash[sectionID]=keyedDictionaryFromArray(prevRowIDs[ii]);}this._dirtySections=[];this._dirtyRows=[];var dirty;for(var sIndex=0;sIndex<this.sectionIdentities.length;sIndex++){var sectionID=this.sectionIdentities[sIndex];dirty=!prevSectionsHash[sectionID];var sectionHeaderHasChanged=this._sectionHeaderHasChanged;if(!dirty&&sectionHeaderHasChanged){dirty=sectionHeaderHasChanged(this._getSectionHeaderData(prevDataBlob,sectionID),this._getSectionHeaderData(this._dataBlob,sectionID));}this._dirtySections.push(!!dirty);this._dirtyRows[sIndex]=[];for(var rIndex=0;rIndex<this.rowIdentities[sIndex].length;rIndex++){var rowID=this.rowIdentities[sIndex][rIndex];dirty=!prevSectionsHash[sectionID]||!prevRowsHash[sectionID][rowID]||this._rowHasChanged(this._getRowData(prevDataBlob,sectionID,rowID),this._getRowData(this._dataBlob,sectionID,rowID));this._dirtyRows[sIndex].push(!!dirty);}}}}]);return ListViewDataSource;}();function countRows(allRowIDs){var totalRows=0;for(var sectionIdx=0;sectionIdx<allRowIDs.length;sectionIdx++){var rowIDs=allRowIDs[sectionIdx];totalRows+=rowIDs.length;}return totalRows;}function keyedDictionaryFromArray(arr){if(isEmpty(arr)){return{};}var result={};for(var ii=0;ii<arr.length;ii++){var key=arr[ii];warning(!result[key],'Value appears more than once in array: '+key);result[key]=true;}return result;}module.exports=ListViewDataSource;

/***/ }),

/***/ "./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationAnimatedValueSubscription.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var NavigationAnimatedValueSubscription=function(){function NavigationAnimatedValueSubscription(value,callback){_classCallCheck(this,NavigationAnimatedValueSubscription);this._value=value;this._token=value.addListener(callback);}_createClass(NavigationAnimatedValueSubscription,[{key:'remove',value:function remove(){this._value.removeListener(this._token);}}]);return NavigationAnimatedValueSubscription;}();module.exports=NavigationAnimatedValueSubscription;

/***/ }),

/***/ "./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationCard.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationCard.js';var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _objectWithoutProperties(obj,keys){var target={};for(var i in obj){if(keys.indexOf(i)>=0)continue;if(!Object.prototype.hasOwnProperty.call(obj,i))continue;target[i]=obj[i];}return target;}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var Animated=__webpack_require__("./node_modules/react-native/Libraries/Animated/src/Animated.js");var NavigationCardStackPanResponder=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationCardStackPanResponder.js");var NavigationCardStackStyleInterpolator=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationCardStackStyleInterpolator.js");var NavigationPagerPanResponder=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationPagerPanResponder.js");var NavigationPagerStyleInterpolator=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationPagerStyleInterpolator.js");var NavigationPointerEventsContainer=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationPointerEventsContainer.js");var NavigationPropTypes=__webpack_require__("./node_modules/react-native/Libraries/NavigationExperimental/NavigationPropTypes.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var PropTypes=React.PropTypes;var NavigationCard=function(_React$Component){_inherits(NavigationCard,_React$Component);function NavigationCard(){_classCallCheck(this,NavigationCard);return _possibleConstructorReturn(this,(NavigationCard.__proto__||Object.getPrototypeOf(NavigationCard)).apply(this,arguments));}_createClass(NavigationCard,[{key:'render',value:function render(){var _props=this.props,panHandlers=_props.panHandlers,pointerEvents=_props.pointerEvents,renderScene=_props.renderScene,style=_props.style,props=_objectWithoutProperties(_props,['panHandlers','pointerEvents','renderScene','style']);var viewStyle=style===undefined?NavigationCardStackStyleInterpolator.forHorizontal(props):style;var viewPanHandlers=panHandlers===undefined?NavigationCardStackPanResponder.forHorizontal(_extends({},props,{onNavigateBack:this.props.onNavigateBack})):panHandlers;return React.createElement(Animated.View,_extends({},viewPanHandlers,{pointerEvents:pointerEvents,ref:this.props.onComponentRef,style:[styles.main,viewStyle],__source:{fileName:_jsxFileName,lineNumber:99}}),renderScene(props));}}]);return NavigationCard;}(React.Component);NavigationCard.propTypes=_extends({},NavigationPropTypes.SceneRendererProps,{onComponentRef:PropTypes.func.isRequired,onNavigateBack:PropTypes.func,panHandlers:NavigationPropTypes.panHandlers,pointerEvents:PropTypes.string.isRequired,renderScene:PropTypes.func.isRequired,style:PropTypes.any});var styles=StyleSheet.create({main:{backgroundColor:'#E9E9EF',bottom:0,left:0,position:'absolute',right:0,shadowColor:'black',shadowOffset:{width:0,height:0},shadowOpacity:0.4,shadowRadius:10,top:0}});NavigationCard=NavigationPointerEventsContainer.create(NavigationCard);NavigationCard.CardStackPanResponder=NavigationCardStackPanResponder;NavigationCard.CardStackStyleInterpolator=NavigationCardStackStyleInterpolator;NavigationCard.PagerPanResponder=NavigationPagerPanResponder;NavigationCard.PagerStyleInterpolator=NavigationPagerStyleInterpolator;module.exports=NavigationCard;

/***/ }),

/***/ "./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationCardStack.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationCardStack.js';var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var NativeAnimatedModule=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").NativeAnimatedModule;var NavigationCard=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationCard.js");var NavigationCardStackPanResponder=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationCardStackPanResponder.js");var NavigationCardStackStyleInterpolator=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationCardStackStyleInterpolator.js");var NavigationPropTypes=__webpack_require__("./node_modules/react-native/Libraries/NavigationExperimental/NavigationPropTypes.js");var NavigationTransitioner=__webpack_require__("./node_modules/react-native/Libraries/NavigationExperimental/NavigationTransitioner.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var PropTypes=React.PropTypes;var Directions=NavigationCardStackPanResponder.Directions;var NavigationCardStack=function(_React$Component){_inherits(NavigationCardStack,_React$Component);function NavigationCardStack(props,context){_classCallCheck(this,NavigationCardStack);var _this=_possibleConstructorReturn(this,(NavigationCardStack.__proto__||Object.getPrototypeOf(NavigationCardStack)).call(this,props,context));_this._configureTransition=function(){var isVertical=_this.props.direction==='vertical';var animationConfig={};if(!!NativeAnimatedModule&&!_this.props.enableGestures&&NavigationCardStackStyleInterpolator.canUseNativeDriver(isVertical)){animationConfig.useNativeDriver=true;}return animationConfig;};return _this;}_createClass(NavigationCardStack,[{key:'componentWillMount',value:function componentWillMount(){this._render=this._render.bind(this);this._renderScene=this._renderScene.bind(this);}},{key:'render',value:function render(){return React.createElement(NavigationTransitioner,{configureTransition:this._configureTransition,navigationState:this.props.navigationState,render:this._render,style:this.props.style,__source:{fileName:_jsxFileName,lineNumber:223}});}},{key:'_render',value:function _render(props){var _this2=this;var renderHeader=this.props.renderHeader;var header=renderHeader?React.createElement(View,{__source:{fileName:_jsxFileName,lineNumber:255}},renderHeader(props)):null;var scenes=props.scenes.map(function(scene){return _this2._renderScene(_extends({},props,{scene:scene}));});return React.createElement(View,{style:styles.container,__source:{fileName:_jsxFileName,lineNumber:265}},React.createElement(View,{style:styles.scenes,__source:{fileName:_jsxFileName,lineNumber:266}},scenes),header);}},{key:'_renderScene',value:function _renderScene(props){var isVertical=this.props.direction==='vertical';var interpolator=this.props.cardStyleInterpolator||(isVertical?NavigationCardStackStyleInterpolator.forVertical:NavigationCardStackStyleInterpolator.forHorizontal);var style=interpolator(props);var panHandlers=null;if(this.props.enableGestures){var panHandlersProps=_extends({},props,{onNavigateBack:this.props.onNavigateBack,gestureResponseDistance:this.props.gestureResponseDistance});panHandlers=isVertical?NavigationCardStackPanResponder.forVertical(panHandlersProps):NavigationCardStackPanResponder.forHorizontal(panHandlersProps);}return React.createElement(NavigationCard,_extends({},props,{key:'card_'+props.scene.key,panHandlers:panHandlers,renderScene:this.props.renderScene,style:[style,this.props.cardStyle],__source:{fileName:_jsxFileName,lineNumber:298}}));}}]);return NavigationCardStack;}(React.Component);NavigationCardStack.propTypes={cardStyle:PropTypes.any,direction:PropTypes.oneOf([Directions.HORIZONTAL,Directions.VERTICAL]),gestureResponseDistance:PropTypes.number,cardStyleInterpolator:PropTypes.func,enableGestures:PropTypes.bool,navigationState:NavigationPropTypes.navigationState.isRequired,onNavigateBack:PropTypes.func,renderHeader:PropTypes.func,renderScene:PropTypes.func.isRequired,style:View.propTypes.style};NavigationCardStack.defaultProps={direction:Directions.HORIZONTAL,enableGestures:true};var styles=StyleSheet.create({container:{flex:1,flexDirection:'column-reverse'},scenes:{flex:1}});module.exports=NavigationCardStack;

/***/ }),

/***/ "./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationCardStackPanResponder.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var Animated=__webpack_require__("./node_modules/react-native/Libraries/Animated/src/Animated.js");var I18nManager=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/I18nManager.js");var NavigationAbstractPanResponder=__webpack_require__("./node_modules/react-native/Libraries/NavigationExperimental/NavigationAbstractPanResponder.js");var clamp=__webpack_require__("./node_modules/react-native/Libraries/Utilities/clamp.js");var emptyFunction=function emptyFunction(){};var ANIMATION_DURATION=250;var POSITION_THRESHOLD=1/3;var RESPOND_THRESHOLD=15;var DISTANCE_THRESHOLD=100;var Directions={'HORIZONTAL':'horizontal','VERTICAL':'vertical'};var NavigationCardStackPanResponder=function(_NavigationAbstractPa){_inherits(NavigationCardStackPanResponder,_NavigationAbstractPa);function NavigationCardStackPanResponder(direction,props){_classCallCheck(this,NavigationCardStackPanResponder);var _this=_possibleConstructorReturn(this,(NavigationCardStackPanResponder.__proto__||Object.getPrototypeOf(NavigationCardStackPanResponder)).call(this));_this._isResponding=false;_this._isVertical=direction===Directions.VERTICAL;_this._props=props;_this._startValue=0;_this._addNativeListener(_this._props.layout.width);_this._addNativeListener(_this._props.layout.height);_this._addNativeListener(_this._props.position);return _this;}_createClass(NavigationCardStackPanResponder,[{key:'onMoveShouldSetPanResponder',value:function onMoveShouldSetPanResponder(event,gesture){var props=this._props;if(props.navigationState.index!==props.scene.index){return false;}var layout=props.layout;var isVertical=this._isVertical;var index=props.navigationState.index;var currentDragDistance=gesture[isVertical?'dy':'dx'];var currentDragPosition=gesture[isVertical?'moveY':'moveX'];var maxDragDistance=isVertical?layout.height.__getValue():layout.width.__getValue();var positionMax=isVertical?props.gestureResponseDistance:props.gestureResponseDistance||30;if(positionMax!=null&&currentDragPosition>positionMax){return false;}return Math.abs(currentDragDistance)>RESPOND_THRESHOLD&&maxDragDistance>0&&index>0;}},{key:'onPanResponderGrant',value:function onPanResponderGrant(){var _this2=this;this._isResponding=false;this._props.position.stopAnimation(function(value){_this2._isResponding=true;_this2._startValue=value;});}},{key:'onPanResponderMove',value:function onPanResponderMove(event,gesture){if(!this._isResponding){return;}var props=this._props;var layout=props.layout;var isVertical=this._isVertical;var axis=isVertical?'dy':'dx';var index=props.navigationState.index;var distance=isVertical?layout.height.__getValue():layout.width.__getValue();var currentValue=I18nManager.isRTL&&axis==='dx'?this._startValue+gesture[axis]/distance:this._startValue-gesture[axis]/distance;var value=clamp(index-1,currentValue,index);props.position.setValue(value);}},{key:'onPanResponderRelease',value:function onPanResponderRelease(event,gesture){var _this3=this;if(!this._isResponding){return;}this._isResponding=false;var props=this._props;var isVertical=this._isVertical;var axis=isVertical?'dy':'dx';var index=props.navigationState.index;var distance=I18nManager.isRTL&&axis==='dx'?-gesture[axis]:gesture[axis];props.position.stopAnimation(function(value){_this3._reset();if(!props.onNavigateBack){return;}if(distance>DISTANCE_THRESHOLD||value<=index-POSITION_THRESHOLD){props.onNavigateBack();}});}},{key:'onPanResponderTerminate',value:function onPanResponderTerminate(){this._isResponding=false;this._reset();}},{key:'_reset',value:function _reset(){var props=this._props;Animated.timing(props.position,{toValue:props.navigationState.index,duration:ANIMATION_DURATION,useNativeDriver:props.position.__isNative}).start();}},{key:'_addNativeListener',value:function _addNativeListener(animatedValue){if(!animatedValue.__isNative){return;}if(Object.keys(animatedValue._listeners).length===0){animatedValue.addListener(emptyFunction);}}}]);return NavigationCardStackPanResponder;}(NavigationAbstractPanResponder);function createPanHandlers(direction,props){var responder=new NavigationCardStackPanResponder(direction,props);return responder.panHandlers;}function forHorizontal(props){return createPanHandlers(Directions.HORIZONTAL,props);}function forVertical(props){return createPanHandlers(Directions.VERTICAL,props);}module.exports={ANIMATION_DURATION:ANIMATION_DURATION,DISTANCE_THRESHOLD:DISTANCE_THRESHOLD,POSITION_THRESHOLD:POSITION_THRESHOLD,RESPOND_THRESHOLD:RESPOND_THRESHOLD,Directions:Directions,forHorizontal:forHorizontal,forVertical:forVertical};

/***/ }),

/***/ "./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationCardStackStyleInterpolator.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var I18nManager=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/I18nManager.js");function forInitial(props){var navigationState=props.navigationState,scene=props.scene;var focused=navigationState.index===scene.index;var opacity=focused?1:0;var translate=focused?0:1000000;return{opacity:opacity,transform:[{translateX:translate},{translateY:translate}]};}function forHorizontal(props){var layout=props.layout,position=props.position,scene=props.scene;if(!layout.isMeasured){return forInitial(props);}var index=scene.index;var inputRange=[index-1,index,index+0.99,index+1];var width=layout.initWidth;var outputRange=I18nManager.isRTL?[-width,0,10,10]:[width,0,-10,-10];var opacity=position.interpolate({inputRange:inputRange,outputRange:[1,1,0.3,0]});var scale=position.interpolate({inputRange:inputRange,outputRange:[1,1,0.95,0.95]});var translateY=0;var translateX=position.interpolate({inputRange:inputRange,outputRange:outputRange});return{opacity:opacity,transform:[{scale:scale},{translateX:translateX},{translateY:translateY}]};}function forVertical(props){var layout=props.layout,position=props.position,scene=props.scene;if(!layout.isMeasured){return forInitial(props);}var index=scene.index;var inputRange=[index-1,index,index+0.99,index+1];var height=layout.initHeight;var opacity=position.interpolate({inputRange:inputRange,outputRange:[1,1,0.3,0]});var scale=position.interpolate({inputRange:inputRange,outputRange:[1,1,0.95,0.95]});var translateX=0;var translateY=position.interpolate({inputRange:inputRange,outputRange:[height,0,-10,-10]});return{opacity:opacity,transform:[{scale:scale},{translateX:translateX},{translateY:translateY}]};}function canUseNativeDriver(isVertical){return true;}module.exports={forHorizontal:forHorizontal,forVertical:forVertical,canUseNativeDriver:canUseNativeDriver};

/***/ }),

/***/ "./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationHeader.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationHeader.js';var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var NavigationHeaderBackButton=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationHeaderBackButton.js");var NavigationHeaderStyleInterpolator=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationHeaderStyleInterpolator.js");var NavigationHeaderTitle=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationHeaderTitle.js");var NavigationPropTypes=__webpack_require__("./node_modules/react-native/Libraries/NavigationExperimental/NavigationPropTypes.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var ReactComponentWithPureRenderMixin=__webpack_require__("./node_modules/react/lib/ReactComponentWithPureRenderMixin.js");var ReactNative=__webpack_require__("./node_modules/react-native/Libraries/react-native/react-native.js");var TVEventHandler=__webpack_require__("./node_modules/react-native/Libraries/Components/AppleTV/TVEventHandler.ios.js");var Animated=ReactNative.Animated,Platform=ReactNative.Platform,StyleSheet=ReactNative.StyleSheet,View=ReactNative.View;var APPBAR_HEIGHT=Platform.OS==='ios'?44:56;var STATUSBAR_HEIGHT=Platform.OS==='ios'?20:0;var PropTypes=React.PropTypes;var NavigationHeader=function(_React$Component){_inherits(NavigationHeader,_React$Component);function NavigationHeader(){var _ref;var _temp,_this,_ret;_classCallCheck(this,NavigationHeader);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return _ret=(_temp=(_this=_possibleConstructorReturn(this,(_ref=NavigationHeader.__proto__||Object.getPrototypeOf(NavigationHeader)).call.apply(_ref,[this].concat(args))),_this),_this._renderLeft=function(props){return _this._renderSubView(props,'left',_this.props.renderLeftComponent,NavigationHeaderStyleInterpolator.forLeft);},_this._renderTitle=function(props){return _this._renderSubView(props,'title',_this.props.renderTitleComponent,NavigationHeaderStyleInterpolator.forCenter);},_this._renderRight=function(props){return _this._renderSubView(props,'right',_this.props.renderRightComponent,NavigationHeaderStyleInterpolator.forRight);},_temp),_possibleConstructorReturn(_this,_ret);}_createClass(NavigationHeader,[{key:'shouldComponentUpdate',value:function shouldComponentUpdate(nextProps,nextState){return ReactComponentWithPureRenderMixin.shouldComponentUpdate.call(this,nextProps,nextState);}},{key:'componentDidMount',value:function componentDidMount(){this._tvEventHandler=new TVEventHandler();this._tvEventHandler.enable(this,function(cmp,evt){if(evt&&evt.eventType==='menu'){cmp.props.onNavigateBack&&cmp.props.onNavigateBack();}});}},{key:'componentWillUnmount',value:function componentWillUnmount(){if(this._tvEventHandler){this._tvEventHandler.disable();delete this._tvEventHandler;}}},{key:'render',value:function render(){var _this2=this;var _props=this.props,scenes=_props.scenes,style=_props.style,viewProps=_props.viewProps;var scenesProps=scenes.map(function(scene){var props=NavigationPropTypes.extractSceneRendererProps(_this2.props);props.scene=scene;return props;});var barHeight=this.props.statusBarHeight instanceof Animated.Value?Animated.add(this.props.statusBarHeight,new Animated.Value(APPBAR_HEIGHT)):APPBAR_HEIGHT+this.props.statusBarHeight;return React.createElement(Animated.View,_extends({style:[styles.appbar,{height:barHeight},style]},viewProps,{__source:{fileName:_jsxFileName,lineNumber:164}}),scenesProps.map(this._renderLeft,this),scenesProps.map(this._renderTitle,this),scenesProps.map(this._renderRight,this));}},{key:'_renderSubView',value:function _renderSubView(props,name,renderer,styleInterpolator){var scene=props.scene,navigationState=props.navigationState;var index=scene.index,isStale=scene.isStale,key=scene.key;var offset=navigationState.index-index;if(Math.abs(offset)>2){return null;}var subViewProps=_extends({},props,{onNavigateBack:this.props.onNavigateBack});var subView=renderer(subViewProps);if(subView===null){return null;}var pointerEvents=offset!==0||isStale?'none':'box-none';return React.createElement(Animated.View,{pointerEvents:pointerEvents,key:name+'_'+key,style:[styles[name],{marginTop:this.props.statusBarHeight},styleInterpolator(props)],__source:{fileName:_jsxFileName,lineNumber:238}},subView);}}]);return NavigationHeader;}(React.Component);NavigationHeader.defaultProps={renderTitleComponent:function renderTitleComponent(props){var title=String(props.scene.route.title||'');return React.createElement(NavigationHeaderTitle,{__source:{fileName:_jsxFileName,lineNumber:92}},title);},renderLeftComponent:function renderLeftComponent(props){if(props.scene.index===0||!props.onNavigateBack){return null;}return React.createElement(NavigationHeaderBackButton,{onPress:props.onNavigateBack,__source:{fileName:_jsxFileName,lineNumber:100}});},renderRightComponent:function renderRightComponent(props){return null;},statusBarHeight:STATUSBAR_HEIGHT};NavigationHeader.propTypes=_extends({},NavigationPropTypes.SceneRendererProps,{onNavigateBack:PropTypes.func,renderLeftComponent:PropTypes.func,renderRightComponent:PropTypes.func,renderTitleComponent:PropTypes.func,style:View.propTypes.style,statusBarHeight:PropTypes.number,viewProps:PropTypes.shape(View.propTypes)});NavigationHeader.HEIGHT=APPBAR_HEIGHT+STATUSBAR_HEIGHT;NavigationHeader.Title=NavigationHeaderTitle;NavigationHeader.BackButton=NavigationHeaderBackButton;var styles=StyleSheet.create({appbar:{alignItems:'center',backgroundColor:Platform.OS==='ios'?'#EFEFF2':'#FFF',borderBottomColor:'rgba(0, 0, 0, .15)',borderBottomWidth:Platform.OS==='ios'?StyleSheet.hairlineWidth:0,elevation:4,flexDirection:'row',justifyContent:'flex-start'},title:{bottom:0,left:APPBAR_HEIGHT,position:'absolute',right:APPBAR_HEIGHT,top:0},left:{bottom:0,left:0,position:'absolute',top:0},right:{bottom:0,position:'absolute',right:0,top:0}});module.exports=NavigationHeader;

/***/ }),

/***/ "./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationHeaderBackButton.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationHeaderBackButton.js';var React=__webpack_require__("./node_modules/react/react.js");var ReactNative=__webpack_require__("./node_modules/react-native/Libraries/react-native/react-native.js");var I18nManager=ReactNative.I18nManager,Image=ReactNative.Image,Platform=ReactNative.Platform,StyleSheet=ReactNative.StyleSheet,TouchableOpacity=ReactNative.TouchableOpacity;var NavigationHeaderBackButton=function NavigationHeaderBackButton(props){return React.createElement(TouchableOpacity,{style:styles.buttonContainer,onPress:props.onPress,__source:{fileName:_jsxFileName,lineNumber:42}},React.createElement(Image,{style:styles.button,source:__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/assets/back-icon@1x.ios.png"),__source:{fileName:_jsxFileName,lineNumber:43}}));};NavigationHeaderBackButton.propTypes={onPress:React.PropTypes.func.isRequired};var styles=StyleSheet.create({buttonContainer:{flex:1,flexDirection:'row',alignItems:'center',justifyContent:'center'},button:{height:24,width:24,margin:Platform.OS==='ios'?10:16,resizeMode:'contain',transform:[{scaleX:I18nManager.isRTL?-1:1}]}});module.exports=NavigationHeaderBackButton;

/***/ }),

/***/ "./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationHeaderStyleInterpolator.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var I18nManager=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/I18nManager.js");function forLeft(props){var position=props.position,scene=props.scene;var index=scene.index;return{opacity:position.interpolate({inputRange:[index-1,index,index+1],outputRange:[0,1,0]})};}function forCenter(props){var position=props.position,scene=props.scene;var index=scene.index;return{opacity:position.interpolate({inputRange:[index-1,index,index+1],outputRange:[0,1,0]}),transform:[{translateX:position.interpolate({inputRange:[index-1,index+1],outputRange:I18nManager.isRTL?[-200,200]:[200,-200]})}]};}function forRight(props){var position=props.position,scene=props.scene;var index=scene.index;return{opacity:position.interpolate({inputRange:[index-1,index,index+1],outputRange:[0,1,0]})};}module.exports={forCenter:forCenter,forLeft:forLeft,forRight:forRight};

/***/ }),

/***/ "./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationHeaderTitle.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationHeaderTitle.js';var React=__webpack_require__("./node_modules/react/react.js");var ReactNative=__webpack_require__("./node_modules/react-native/Libraries/react-native/react-native.js");var Platform=ReactNative.Platform,StyleSheet=ReactNative.StyleSheet,View=ReactNative.View,Text=ReactNative.Text;var NavigationHeaderTitle=function NavigationHeaderTitle(_ref){var children=_ref.children,style=_ref.style,textStyle=_ref.textStyle,viewProps=_ref.viewProps;return React.createElement(View,_extends({style:[styles.title,style]},viewProps,{__source:{fileName:_jsxFileName,lineNumber:53}}),React.createElement(Text,{style:[styles.titleText,textStyle],__source:{fileName:_jsxFileName,lineNumber:54}},children));};var styles=StyleSheet.create({title:{flex:1,flexDirection:'row',alignItems:'center',marginHorizontal:16},titleText:{flex:1,fontSize:18,fontWeight:'500',color:'rgba(0, 0, 0, .9)',textAlign:Platform.OS==='ios'?'center':'left'}});NavigationHeaderTitle.propTypes={children:React.PropTypes.node.isRequired,style:View.propTypes.style,textStyle:Text.propTypes.style};module.exports=NavigationHeaderTitle;

/***/ }),

/***/ "./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationPagerPanResponder.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var Animated=__webpack_require__("./node_modules/react-native/Libraries/Animated/src/Animated.js");var NavigationAbstractPanResponder=__webpack_require__("./node_modules/react-native/Libraries/NavigationExperimental/NavigationAbstractPanResponder.js");var NavigationCardStackPanResponder=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationCardStackPanResponder.js");var I18nManager=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/I18nManager.js");var clamp=__webpack_require__("./node_modules/react-native/Libraries/Utilities/clamp.js");var ANIMATION_DURATION=NavigationCardStackPanResponder.ANIMATION_DURATION,POSITION_THRESHOLD=NavigationCardStackPanResponder.POSITION_THRESHOLD,RESPOND_THRESHOLD=NavigationCardStackPanResponder.RESPOND_THRESHOLD,Directions=NavigationCardStackPanResponder.Directions;var DISTANCE_THRESHOLD=50;var VELOCITY_THRESHOLD=1.5;var NavigationPagerPanResponder=function(_NavigationAbstractPa){_inherits(NavigationPagerPanResponder,_NavigationAbstractPa);function NavigationPagerPanResponder(direction,props){_classCallCheck(this,NavigationPagerPanResponder);var _this=_possibleConstructorReturn(this,(NavigationPagerPanResponder.__proto__||Object.getPrototypeOf(NavigationPagerPanResponder)).call(this));_this._isResponding=false;_this._isVertical=direction===Directions.VERTICAL;_this._props=props;_this._startValue=0;return _this;}_createClass(NavigationPagerPanResponder,[{key:'onMoveShouldSetPanResponder',value:function onMoveShouldSetPanResponder(event,gesture){var props=this._props;if(props.navigationState.index!==props.scene.index){return false;}var layout=props.layout;var isVertical=this._isVertical;var axis=isVertical?'dy':'dx';var index=props.navigationState.index;var distance=isVertical?layout.height.__getValue():layout.width.__getValue();return Math.abs(gesture[axis])>RESPOND_THRESHOLD&&distance>0&&index>=0;}},{key:'onPanResponderGrant',value:function onPanResponderGrant(){var _this2=this;this._isResponding=false;this._props.position.stopAnimation(function(value){_this2._isResponding=true;_this2._startValue=value;});}},{key:'onPanResponderMove',value:function onPanResponderMove(event,gesture){if(!this._isResponding){return;}var _props=this._props,layout=_props.layout,navigationState=_props.navigationState,position=_props.position,scenes=_props.scenes;var isVertical=this._isVertical;var axis=isVertical?'dy':'dx';var index=navigationState.index;var distance=isVertical?layout.height.__getValue():layout.width.__getValue();var currentValue=I18nManager.isRTL&&axis==='dx'?this._startValue+gesture[axis]/distance:this._startValue-gesture[axis]/distance;var prevIndex=Math.max(0,index-1);var nextIndex=Math.min(index+1,scenes.length-1);var value=clamp(prevIndex,currentValue,nextIndex);position.setValue(value);}},{key:'onPanResponderRelease',value:function onPanResponderRelease(event,gesture){var _this3=this;if(!this._isResponding){return;}this._isResponding=false;var _props2=this._props,navigationState=_props2.navigationState,onNavigateBack=_props2.onNavigateBack,onNavigateForward=_props2.onNavigateForward,position=_props2.position;var isVertical=this._isVertical;var axis=isVertical?'dy':'dx';var velocityAxis=isVertical?'vy':'vx';var index=navigationState.index;var distance=I18nManager.isRTL&&axis==='dx'?-gesture[axis]:gesture[axis];var moveSpeed=I18nManager.isRTL&&velocityAxis==='vx'?-gesture[velocityAxis]:gesture[velocityAxis];position.stopAnimation(function(value){_this3._reset();if(distance>DISTANCE_THRESHOLD||value<=index-POSITION_THRESHOLD||moveSpeed>VELOCITY_THRESHOLD){onNavigateBack&&onNavigateBack();return;}if(distance<-DISTANCE_THRESHOLD||value>=index+POSITION_THRESHOLD||moveSpeed<-VELOCITY_THRESHOLD){onNavigateForward&&onNavigateForward();}});}},{key:'onPanResponderTerminate',value:function onPanResponderTerminate(){this._isResponding=false;this._reset();}},{key:'_reset',value:function _reset(){var props=this._props;Animated.timing(props.position,{toValue:props.navigationState.index,duration:ANIMATION_DURATION}).start();}}]);return NavigationPagerPanResponder;}(NavigationAbstractPanResponder);function createPanHandlers(direction,props){var responder=new NavigationPagerPanResponder(direction,props);return responder.panHandlers;}function forHorizontal(props){return createPanHandlers(Directions.HORIZONTAL,props);}module.exports={forHorizontal:forHorizontal};

/***/ }),

/***/ "./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationPagerStyleInterpolator.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var I18nManager=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/I18nManager.js");function forInitial(props){var navigationState=props.navigationState,scene=props.scene;var focused=navigationState.index===scene.index;var opacity=focused?1:0;var dir=scene.index>navigationState.index?1:-1;var translate=focused?0:1000000*dir;return{opacity:opacity,transform:[{translateX:translate},{translateY:translate}]};}function forHorizontal(props){var layout=props.layout,position=props.position,scene=props.scene;if(!layout.isMeasured){return forInitial(props);}var index=scene.index;var inputRange=[index-1,index,index+1];var width=layout.initWidth;var outputRange=I18nManager.isRTL?[-width,0,width]:[width,0,-width];var translateX=position.interpolate({inputRange:inputRange,outputRange:outputRange});return{opacity:1,shadowColor:'transparent',shadowRadius:0,transform:[{scale:1},{translateX:translateX},{translateY:0}]};}module.exports={forHorizontal:forHorizontal};

/***/ }),

/***/ "./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationPointerEventsContainer.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationPointerEventsContainer.js';var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var NavigationAnimatedValueSubscription=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationAnimatedValueSubscription.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var MIN_POSITION_OFFSET=0.01;function create(Component){var Container=function(_React$Component){_inherits(Container,_React$Component);function Container(props,context){_classCallCheck(this,Container);var _this=_possibleConstructorReturn(this,(Container.__proto__||Object.getPrototypeOf(Container)).call(this,props,context));_this._pointerEvents=_this._computePointerEvents();return _this;}_createClass(Container,[{key:'componentWillMount',value:function componentWillMount(){this._onPositionChange=this._onPositionChange.bind(this);this._onComponentRef=this._onComponentRef.bind(this);}},{key:'componentDidMount',value:function componentDidMount(){this._bindPosition(this.props);}},{key:'componentWillUnmount',value:function componentWillUnmount(){this._positionListener&&this._positionListener.remove();}},{key:'componentWillReceiveProps',value:function componentWillReceiveProps(nextProps){this._bindPosition(nextProps);}},{key:'render',value:function render(){this._pointerEvents=this._computePointerEvents();return React.createElement(Component,_extends({},this.props,{pointerEvents:this._pointerEvents,onComponentRef:this._onComponentRef,__source:{fileName:_jsxFileName,lineNumber:92}}));}},{key:'_onComponentRef',value:function _onComponentRef(component){this._component=component;if(component){invariant(typeof component.setNativeProps==='function','component must implement method `setNativeProps`');}}},{key:'_bindPosition',value:function _bindPosition(props){this._positionListener&&this._positionListener.remove();this._positionListener=new NavigationAnimatedValueSubscription(props.position,this._onPositionChange);}},{key:'_onPositionChange',value:function _onPositionChange(){if(this._component){var pointerEvents=this._computePointerEvents();if(this._pointerEvents!==pointerEvents){this._pointerEvents=pointerEvents;this._component.setNativeProps({pointerEvents:pointerEvents});}}}},{key:'_computePointerEvents',value:function _computePointerEvents(){var _props=this.props,navigationState=_props.navigationState,position=_props.position,scene=_props.scene;if(scene.isStale||navigationState.index!==scene.index){return scene.index>navigationState.index?'box-only':'none';}var offset=position.__getAnimatedValue()-navigationState.index;if(Math.abs(offset)>MIN_POSITION_OFFSET){return'box-only';}return'auto';}}]);return Container;}(React.Component);return Container;}module.exports={create:create};

/***/ }),

/***/ "./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/assets/back-icon@1x.ios.png":
/***/ (function(module, exports, __webpack_require__) {


    var AssetRegistry = __webpack_require__("./node_modules/react-native/Libraries/Image/AssetRegistry.js");
    module.exports = AssetRegistry.registerAsset({
      __packager_asset: true,
      scales: [1,1.5,2,3,4],
      name: "back-icon",
      type: "png",
      hash: "8828f0675c7c99378725384aa7355fc3,286c41f9eb4069465cc92fbe36000764,4dafbb7ec26957b4e6d0220c9e963fd9,3eee61405320c98800a491b442654012,8ada8e63c7db95a513ab9025b211c5c3",
      httpServerLocation: __webpack_require__.p + "/assets/node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/assets",
      
      height: 24,
      width: 24,
    });
    

/***/ }),

/***/ "./node_modules/react-native/Libraries/CustomComponents/Navigator/Navigation/NavigationContext.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var NavigationEvent=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/Navigator/Navigation/NavigationEvent.js");var NavigationEventEmitter=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/Navigator/Navigation/NavigationEventEmitter.js");var NavigationTreeNode=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/Navigator/Navigation/NavigationTreeNode.js");var Set=__webpack_require__("./node_modules/react-native/Libraries/vendor/core/Set.js");var emptyFunction=__webpack_require__("./node_modules/fbjs/lib/emptyFunction.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var AT_TARGET=NavigationEvent.AT_TARGET,BUBBLING_PHASE=NavigationEvent.BUBBLING_PHASE,CAPTURING_PHASE=NavigationEvent.CAPTURING_PHASE;var LegacyEventTypes=new Set(['willfocus','didfocus']);var NavigationContext=function(){function NavigationContext(){_classCallCheck(this,NavigationContext);this._bubbleEventEmitter=new NavigationEventEmitter(this);this._captureEventEmitter=new NavigationEventEmitter(this);this._currentRoute=null;this.__node=new NavigationTreeNode(this);this._emitCounter=0;this._emitQueue=[];this.addListener('willfocus',this._onFocus);this.addListener('didfocus',this._onFocus);}_createClass(NavigationContext,[{key:'appendChild',value:function appendChild(childContext){this.__node.appendChild(childContext.__node);}},{key:'addListener',value:function addListener(eventType,listener,useCapture){if(LegacyEventTypes.has(eventType)){useCapture=false;}var emitter=useCapture?this._captureEventEmitter:this._bubbleEventEmitter;if(emitter){return emitter.addListener(eventType,listener,this);}else{return{remove:emptyFunction};}}},{key:'emit',value:function emit(eventType,data,didEmitCallback){var _this=this;if(this._emitCounter>0){var args=Array.prototype.slice.call(arguments);this._emitQueue.push(args);return;}this._emitCounter++;if(LegacyEventTypes.has(eventType)){this.__emit(eventType,data,null,{defaultPrevented:false,eventPhase:AT_TARGET,propagationStopped:true,target:this});}else{var targets=[this];var parentTarget=this.parent;while(parentTarget){targets.unshift(parentTarget);parentTarget=parentTarget.parent;}var propagationStopped=false;var defaultPrevented=false;var callback=function callback(event){propagationStopped=propagationStopped||event.isPropagationStopped();defaultPrevented=defaultPrevented||event.defaultPrevented;};targets.some(function(currentTarget){if(propagationStopped){return true;}var extraInfo={defaultPrevented:defaultPrevented,eventPhase:CAPTURING_PHASE,propagationStopped:propagationStopped,target:_this};currentTarget.__emit(eventType,data,callback,extraInfo);},this);targets.reverse().some(function(currentTarget){if(propagationStopped){return true;}var extraInfo={defaultPrevented:defaultPrevented,eventPhase:BUBBLING_PHASE,propagationStopped:propagationStopped,target:_this};currentTarget.__emit(eventType,data,callback,extraInfo);},this);}if(didEmitCallback){var event=NavigationEvent.pool(eventType,this,data);propagationStopped&&event.stopPropagation();defaultPrevented&&event.preventDefault();didEmitCallback.call(this,event);event.dispose();}this._emitCounter--;while(this._emitQueue.length){var args=this._emitQueue.shift();this.emit.apply(this,args);}}},{key:'dispose',value:function dispose(){this._bubbleEventEmitter&&this._bubbleEventEmitter.removeAllListeners();this._captureEventEmitter&&this._captureEventEmitter.removeAllListeners();this._bubbleEventEmitter=null;this._captureEventEmitter=null;this._currentRoute=null;}},{key:'__emit',value:function __emit(eventType,data,didEmitCallback,extraInfo){var emitter;switch(extraInfo.eventPhase){case CAPTURING_PHASE:emitter=this._captureEventEmitter;break;case AT_TARGET:emitter=this._bubbleEventEmitter;break;case BUBBLING_PHASE:emitter=this._bubbleEventEmitter;break;default:invariant(false,'invalid event phase %s',extraInfo.eventPhase);}if(extraInfo.target===this){extraInfo.eventPhase=AT_TARGET;}if(emitter){emitter.emit(eventType,data,didEmitCallback,extraInfo);}}},{key:'_onFocus',value:function _onFocus(event){invariant(event.data&&event.data.hasOwnProperty('route'),'event type "%s" should provide route',event.type);this._currentRoute=event.data.route;}},{key:'parent',get:function get(){var parent=this.__node.getParent();return parent?parent.getValue():null;}},{key:'top',get:function get(){var result=null;var parentNode=this.__node.getParent();while(parentNode){result=parentNode.getValue();parentNode=parentNode.getParent();}return result;}},{key:'currentRoute',get:function get(){return this._currentRoute;}}]);return NavigationContext;}();module.exports=NavigationContext;

/***/ }),

/***/ "./node_modules/react-native/Libraries/CustomComponents/Navigator/Navigation/NavigationEvent.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var NavigationEventPool=function(){function NavigationEventPool(){_classCallCheck(this,NavigationEventPool);this._list=[];}_createClass(NavigationEventPool,[{key:'get',value:function get(type,currentTarget,data){var event=void 0;if(this._list.length>0){event=this._list.pop();event.constructor.call(event,type,currentTarget,data);}else{event=new NavigationEvent(type,currentTarget,data);}return event;}},{key:'put',value:function put(event){this._list.push(event);}}]);return NavigationEventPool;}();var _navigationEventPool=new NavigationEventPool();var NavigationEvent=function(){_createClass(NavigationEvent,null,[{key:'pool',value:function pool(type,currentTarget,data){return _navigationEventPool.get(type,currentTarget,data);}}]);function NavigationEvent(type,currentTarget,data){_classCallCheck(this,NavigationEvent);this.target=currentTarget;this.eventPhase=NavigationEvent.NONE;this._type=type;this._currentTarget=currentTarget;this._data=data;this._defaultPrevented=false;this._disposed=false;this._propagationStopped=false;}_createClass(NavigationEvent,[{key:'preventDefault',value:function preventDefault(){this._defaultPrevented=true;}},{key:'stopPropagation',value:function stopPropagation(){this._propagationStopped=true;}},{key:'stop',value:function stop(){this.preventDefault();this.stopPropagation();}},{key:'isPropagationStopped',value:function isPropagationStopped(){return this._propagationStopped;}},{key:'dispose',value:function dispose(){invariant(!this._disposed,'NavigationEvent is already disposed');this._disposed=true;this.target=null;this.eventPhase=NavigationEvent.NONE;this._type='';this._currentTarget=null;this._data=null;this._defaultPrevented=false;_navigationEventPool.put(this);}},{key:'type',get:function get(){return this._type;}},{key:'currentTarget',get:function get(){return this._currentTarget;}},{key:'data',get:function get(){return this._data;}},{key:'defaultPrevented',get:function get(){return this._defaultPrevented;}}]);return NavigationEvent;}();NavigationEvent.NONE=0;NavigationEvent.CAPTURING_PHASE=1;NavigationEvent.AT_TARGET=2;NavigationEvent.BUBBLING_PHASE=3;module.exports=NavigationEvent;

/***/ }),

/***/ "./node_modules/react-native/Libraries/CustomComponents/Navigator/Navigation/NavigationEventEmitter.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _get=function get(object,property,receiver){if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined;}else{return get(parent,property,receiver);}}else if("value"in desc){return desc.value;}else{var getter=desc.get;if(getter===undefined){return undefined;}return getter.call(receiver);}};function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var EventEmitter=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/EventEmitter.js");var NavigationEvent=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/Navigator/Navigation/NavigationEvent.js");var NavigationEventEmitter=function(_EventEmitter){_inherits(NavigationEventEmitter,_EventEmitter);function NavigationEventEmitter(target){_classCallCheck(this,NavigationEventEmitter);var _this=_possibleConstructorReturn(this,(NavigationEventEmitter.__proto__||Object.getPrototypeOf(NavigationEventEmitter)).call(this));_this._emitting=false;_this._emitQueue=[];_this._target=target;return _this;}_createClass(NavigationEventEmitter,[{key:'emit',value:function emit(eventType,data,didEmitCallback,extraInfo){if(this._emitting){var args=Array.prototype.slice.call(arguments);this._emitQueue.push(args);return;}this._emitting=true;var event=NavigationEvent.pool(eventType,this._target,data);if(extraInfo){if(extraInfo.target){event.target=extraInfo.target;}if(extraInfo.eventPhase){event.eventPhase=extraInfo.eventPhase;}if(extraInfo.defaultPrevented){event.preventDefault();}if(extraInfo.propagationStopped){event.stopPropagation();}}_get(NavigationEventEmitter.prototype.__proto__||Object.getPrototypeOf(NavigationEventEmitter.prototype),'emit',this).call(this,String(eventType),event);if(typeof didEmitCallback==='function'){didEmitCallback.call(this._target,event);}event.dispose();this._emitting=false;while(this._emitQueue.length){var args=this._emitQueue.shift();this.emit.apply(this,args);}}}]);return NavigationEventEmitter;}(EventEmitter);module.exports=NavigationEventEmitter;

/***/ }),

/***/ "./node_modules/react-native/Libraries/CustomComponents/Navigator/Navigation/NavigationTreeNode.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var immutable=__webpack_require__("./node_modules/immutable/dist/immutable.js");var List=immutable.List;var NavigationTreeNode=function(){function NavigationTreeNode(value){_classCallCheck(this,NavigationTreeNode);this.__parent=null;this._children=new List();this._value=value;}_createClass(NavigationTreeNode,[{key:'getValue',value:function getValue(){return this._value;}},{key:'getParent',value:function getParent(){return this.__parent;}},{key:'getChildrenCount',value:function getChildrenCount(){return this._children.size;}},{key:'getChildAt',value:function getChildAt(index){return index>-1&&index<this._children.size?this._children.get(index):null;}},{key:'appendChild',value:function appendChild(child){if(child.__parent){child.__parent.removeChild(child);}child.__parent=this;this._children=this._children.push(child);}},{key:'removeChild',value:function removeChild(child){var index=this._children.indexOf(child);invariant(index>-1,'The node to be removed is not a child of this node.');child.__parent=null;this._children=this._children.splice(index,1);}},{key:'indexOf',value:function indexOf(child){return this._children.indexOf(child);}},{key:'forEach',value:function forEach(callback,context){this._children.forEach(callback,context);}},{key:'map',value:function map(callback,context){return this._children.map(callback,context).toJS();}},{key:'some',value:function some(callback,context){return this._children.some(callback,context);}}]);return NavigationTreeNode;}();module.exports=NavigationTreeNode;

/***/ }),

/***/ "./node_modules/react-native/Libraries/CustomComponents/Navigator/Navigator.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/CustomComponents/Navigator/Navigator.js';var AnimationsDebugModule=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").AnimationsDebugModule;var Dimensions=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Dimensions.js");var InteractionMixin=__webpack_require__("./node_modules/react-native/Libraries/Interaction/InteractionMixin.js");var NavigationContext=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/Navigator/Navigation/NavigationContext.js");var NavigatorBreadcrumbNavigationBar=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/Navigator/NavigatorBreadcrumbNavigationBar.js");var NavigatorNavigationBar=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/Navigator/NavigatorNavigationBar.js");var NavigatorSceneConfigs=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/Navigator/NavigatorSceneConfigs.js");var PanResponder=__webpack_require__("./node_modules/react-native/Libraries/Interaction/PanResponder.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var Subscribable=__webpack_require__("./node_modules/react-native/Libraries/Components/Subscribable.js");var TVEventHandler=__webpack_require__("./node_modules/react-native/Libraries/Components/AppleTV/TVEventHandler.ios.js");var TimerMixin=__webpack_require__("./node_modules/react-timer-mixin/TimerMixin.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var clamp=__webpack_require__("./node_modules/react-native/Libraries/Utilities/clamp.js");var flattenStyle=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/flattenStyle.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var rebound=__webpack_require__("./node_modules/rebound/rebound.js");var PropTypes=React.PropTypes;var SCREEN_WIDTH=Dimensions.get('window').width;var SCREEN_HEIGHT=Dimensions.get('window').height;var SCENE_DISABLED_NATIVE_PROPS={pointerEvents:'none',style:{top:SCREEN_HEIGHT,bottom:-SCREEN_HEIGHT,opacity:0}};var __uid=0;function getuid(){return __uid++;}function getRouteID(route){if(route===null||typeof route!=='object'){return String(route);}var key='__navigatorRouteID';if(!route.hasOwnProperty(key)){Object.defineProperty(route,key,{enumerable:false,configurable:false,writable:false,value:getuid()});}return route[key];}var styles=StyleSheet.create({container:{flex:1,overflow:'hidden'},defaultSceneStyle:{position:'absolute',left:0,right:0,bottom:0,top:0,transform:[{translateX:0},{translateY:0},{scaleX:1},{scaleY:1},{rotate:'0deg'},{skewX:'0deg'},{skewY:'0deg'}]},baseScene:{position:'absolute',overflow:'hidden',left:0,right:0,bottom:0,top:0},disabledScene:{top:SCREEN_HEIGHT,bottom:-SCREEN_HEIGHT},transitioner:{flex:1,backgroundColor:'transparent',overflow:'hidden'}});var GESTURE_ACTIONS=['pop','jumpBack','jumpForward'];var Navigator=React.createClass({displayName:'Navigator',propTypes:{configureScene:PropTypes.func,renderScene:PropTypes.func.isRequired,initialRoute:PropTypes.object,initialRouteStack:PropTypes.arrayOf(PropTypes.object),onWillFocus:PropTypes.func,onDidFocus:PropTypes.func,navigationBar:PropTypes.node,navigator:PropTypes.object,sceneStyle:View.propTypes.style},statics:{BreadcrumbNavigationBar:NavigatorBreadcrumbNavigationBar,NavigationBar:NavigatorNavigationBar,SceneConfigs:NavigatorSceneConfigs},mixins:[TimerMixin,InteractionMixin,Subscribable.Mixin],getDefaultProps:function getDefaultProps(){return{configureScene:function configureScene(){return NavigatorSceneConfigs.PushFromRight;},sceneStyle:styles.defaultSceneStyle};},getInitialState:function getInitialState(){var _this=this;this._navigationBarNavigator=this.props.navigationBarNavigator||this;this._renderedSceneMap=new Map();this._sceneRefs=[];var routeStack=this.props.initialRouteStack||[this.props.initialRoute];invariant(routeStack.length>=1,'Navigator requires props.initialRoute or props.initialRouteStack.');var initialRouteIndex=routeStack.length-1;if(this.props.initialRoute){initialRouteIndex=routeStack.indexOf(this.props.initialRoute);invariant(initialRouteIndex!==-1,'initialRoute is not in initialRouteStack.');}return{sceneConfigStack:routeStack.map(function(route){return _this.props.configureScene(route,routeStack);}),routeStack:routeStack,presentedIndex:initialRouteIndex,transitionFromIndex:null,activeGesture:null,pendingGestureProgress:null,transitionQueue:[]};},componentWillMount:function componentWillMount(){var _this2=this;this.__defineGetter__('navigationContext',this._getNavigationContext);this._subRouteFocus=[];this.parentNavigator=this.props.navigator;this._handlers={};this.springSystem=new rebound.SpringSystem();this.spring=this.springSystem.createSpring();this.spring.setRestSpeedThreshold(0.05);this.spring.setCurrentValue(0).setAtRest();this.spring.addListener({onSpringEndStateChange:function onSpringEndStateChange(){if(!_this2._interactionHandle){_this2._interactionHandle=_this2.createInteractionHandle();}},onSpringUpdate:function onSpringUpdate(){_this2._handleSpringUpdate();},onSpringAtRest:function onSpringAtRest(){_this2._completeTransition();}});this.panGesture=PanResponder.create({onMoveShouldSetPanResponder:this._handleMoveShouldSetPanResponder,onPanResponderRelease:this._handlePanResponderRelease,onPanResponderMove:this._handlePanResponderMove,onPanResponderTerminate:this._handlePanResponderTerminate});this._interactionHandle=null;this._emitWillFocus(this.state.routeStack[this.state.presentedIndex]);},componentDidMount:function componentDidMount(){this._handleSpringUpdate();this._emitDidFocus(this.state.routeStack[this.state.presentedIndex]);this._enableTVEventHandler();},componentWillUnmount:function componentWillUnmount(){if(this._navigationContext){this._navigationContext.dispose();this._navigationContext=null;}this.spring.destroy();if(this._interactionHandle){this.clearInteractionHandle(this._interactionHandle);}this._disableTVEventHandler();},immediatelyResetRouteStack:function immediatelyResetRouteStack(nextRouteStack){var _this3=this;var destIndex=nextRouteStack.length-1;this._emitWillFocus(nextRouteStack[destIndex]);this.setState({routeStack:nextRouteStack,sceneConfigStack:nextRouteStack.map(function(route){return _this3.props.configureScene(route,nextRouteStack);}),presentedIndex:destIndex,activeGesture:null,transitionFromIndex:null,transitionQueue:[]},function(){_this3._handleSpringUpdate();var navBar=_this3._navBar;if(navBar&&navBar.immediatelyRefresh){navBar.immediatelyRefresh();}_this3._emitDidFocus(_this3.state.routeStack[_this3.state.presentedIndex]);});},_transitionTo:function _transitionTo(destIndex,velocity,jumpSpringTo,cb){if(this.state.presentedIndex===destIndex){cb&&cb();return;}if(this.state.transitionFromIndex!==null){this.state.transitionQueue.push({destIndex:destIndex,velocity:velocity,cb:cb});return;}this.state.transitionFromIndex=this.state.presentedIndex;this.state.presentedIndex=destIndex;this.state.transitionCb=cb;this._onAnimationStart();if(AnimationsDebugModule){AnimationsDebugModule.startRecordingFps();}var sceneConfig=this.state.sceneConfigStack[this.state.transitionFromIndex]||this.state.sceneConfigStack[this.state.presentedIndex];invariant(sceneConfig,'Cannot configure scene at index '+this.state.transitionFromIndex);if(jumpSpringTo!=null){this.spring.setCurrentValue(jumpSpringTo);}this.spring.setOvershootClampingEnabled(true);this.spring.getSpringConfig().friction=sceneConfig.springFriction;this.spring.getSpringConfig().tension=sceneConfig.springTension;this.spring.setVelocity(velocity||sceneConfig.defaultTransitionVelocity);this.spring.setEndValue(1);},_handleSpringUpdate:function _handleSpringUpdate(){if(!this.isMounted()){return;}if(this.state.transitionFromIndex!=null){this._transitionBetween(this.state.transitionFromIndex,this.state.presentedIndex,this.spring.getCurrentValue());}else if(this.state.activeGesture!=null){var presentedToIndex=this.state.presentedIndex+this._deltaForGestureAction(this.state.activeGesture);this._transitionBetween(this.state.presentedIndex,presentedToIndex,this.spring.getCurrentValue());}},_completeTransition:function _completeTransition(){if(!this.isMounted()){return;}if(this.spring.getCurrentValue()!==1&&this.spring.getCurrentValue()!==0){if(this.state.pendingGestureProgress){this.state.pendingGestureProgress=null;}return;}this._onAnimationEnd();var presentedIndex=this.state.presentedIndex;var didFocusRoute=this._subRouteFocus[presentedIndex]||this.state.routeStack[presentedIndex];if(AnimationsDebugModule){AnimationsDebugModule.stopRecordingFps(Date.now());}this.state.transitionFromIndex=null;this.spring.setCurrentValue(0).setAtRest();this._hideScenes();if(this.state.transitionCb){this.state.transitionCb();this.state.transitionCb=null;}this._emitDidFocus(didFocusRoute);if(this._interactionHandle){this.clearInteractionHandle(this._interactionHandle);this._interactionHandle=null;}if(this.state.pendingGestureProgress){var gestureToIndex=this.state.presentedIndex+this._deltaForGestureAction(this.state.activeGesture);this._enableScene(gestureToIndex);this.spring.setEndValue(this.state.pendingGestureProgress);return;}if(this.state.transitionQueue.length){var queuedTransition=this.state.transitionQueue.shift();this._enableScene(queuedTransition.destIndex);this._emitWillFocus(this.state.routeStack[queuedTransition.destIndex]);this._transitionTo(queuedTransition.destIndex,queuedTransition.velocity,null,queuedTransition.cb);}},_emitDidFocus:function _emitDidFocus(route){this.navigationContext.emit('didfocus',{route:route});if(this.props.onDidFocus){this.props.onDidFocus(route);}},_emitWillFocus:function _emitWillFocus(route){this.navigationContext.emit('willfocus',{route:route});var navBar=this._navBar;if(navBar&&navBar.handleWillFocus){navBar.handleWillFocus(route);}if(this.props.onWillFocus){this.props.onWillFocus(route);}},_hideScenes:function _hideScenes(){var gesturingToIndex=null;if(this.state.activeGesture){gesturingToIndex=this.state.presentedIndex+this._deltaForGestureAction(this.state.activeGesture);}for(var i=0;i<this.state.routeStack.length;i++){if(i===this.state.presentedIndex||i===this.state.transitionFromIndex||i===gesturingToIndex){continue;}this._disableScene(i);}},_disableScene:function _disableScene(sceneIndex){this._sceneRefs[sceneIndex]&&this._sceneRefs[sceneIndex].setNativeProps(SCENE_DISABLED_NATIVE_PROPS);},_enableScene:function _enableScene(sceneIndex){var sceneStyle=flattenStyle([styles.baseScene,this.props.sceneStyle]);var enabledSceneNativeProps={pointerEvents:'auto',style:{top:sceneStyle.top,bottom:sceneStyle.bottom}};if(sceneIndex!==this.state.transitionFromIndex&&sceneIndex!==this.state.presentedIndex){enabledSceneNativeProps.style.opacity=0;}this._sceneRefs[sceneIndex]&&this._sceneRefs[sceneIndex].setNativeProps(enabledSceneNativeProps);},_clearTransformations:function _clearTransformations(sceneIndex){var defaultStyle=flattenStyle([styles.defaultSceneStyle]);this._sceneRefs[sceneIndex].setNativeProps({style:defaultStyle});},_onAnimationStart:function _onAnimationStart(){var fromIndex=this.state.presentedIndex;var toIndex=this.state.presentedIndex;if(this.state.transitionFromIndex!=null){fromIndex=this.state.transitionFromIndex;}else if(this.state.activeGesture){toIndex=this.state.presentedIndex+this._deltaForGestureAction(this.state.activeGesture);}this._setRenderSceneToHardwareTextureAndroid(fromIndex,true);this._setRenderSceneToHardwareTextureAndroid(toIndex,true);var navBar=this._navBar;if(navBar&&navBar.onAnimationStart){navBar.onAnimationStart(fromIndex,toIndex);}},_onAnimationEnd:function _onAnimationEnd(){var max=this.state.routeStack.length-1;for(var index=0;index<=max;index++){this._setRenderSceneToHardwareTextureAndroid(index,false);}var navBar=this._navBar;if(navBar&&navBar.onAnimationEnd){navBar.onAnimationEnd();}},_setRenderSceneToHardwareTextureAndroid:function _setRenderSceneToHardwareTextureAndroid(sceneIndex,shouldRenderToHardwareTexture){var viewAtIndex=this._sceneRefs[sceneIndex];if(viewAtIndex===null||viewAtIndex===undefined){return;}viewAtIndex.setNativeProps({renderToHardwareTextureAndroid:shouldRenderToHardwareTexture});},_handleTouchStart:function _handleTouchStart(){this._eligibleGestures=GESTURE_ACTIONS;},_handleMoveShouldSetPanResponder:function _handleMoveShouldSetPanResponder(e,gestureState){var sceneConfig=this.state.sceneConfigStack[this.state.presentedIndex];if(!sceneConfig){return false;}this._expectingGestureGrant=this._matchGestureAction(this._eligibleGestures,sceneConfig.gestures,gestureState);return!!this._expectingGestureGrant;},_doesGestureOverswipe:function _doesGestureOverswipe(gestureName){var wouldOverswipeBack=this.state.presentedIndex<=0&&(gestureName==='pop'||gestureName==='jumpBack');var wouldOverswipeForward=this.state.presentedIndex>=this.state.routeStack.length-1&&gestureName==='jumpForward';return wouldOverswipeForward||wouldOverswipeBack;},_deltaForGestureAction:function _deltaForGestureAction(gestureAction){switch(gestureAction){case'pop':case'jumpBack':return-1;case'jumpForward':return 1;default:invariant(false,'Unsupported gesture action '+gestureAction);return;}},_handlePanResponderRelease:function _handlePanResponderRelease(e,gestureState){var _this4=this;var sceneConfig=this.state.sceneConfigStack[this.state.presentedIndex];var releaseGestureAction=this.state.activeGesture;if(!releaseGestureAction){return;}var releaseGesture=sceneConfig.gestures[releaseGestureAction];var destIndex=this.state.presentedIndex+this._deltaForGestureAction(this.state.activeGesture);if(this.spring.getCurrentValue()===0){this.spring.setCurrentValue(0).setAtRest();this._completeTransition();return;}var isTravelVertical=releaseGesture.direction==='top-to-bottom'||releaseGesture.direction==='bottom-to-top';var isTravelInverted=releaseGesture.direction==='right-to-left'||releaseGesture.direction==='bottom-to-top';var velocity,gestureDistance;if(isTravelVertical){velocity=isTravelInverted?-gestureState.vy:gestureState.vy;gestureDistance=isTravelInverted?-gestureState.dy:gestureState.dy;}else{velocity=isTravelInverted?-gestureState.vx:gestureState.vx;gestureDistance=isTravelInverted?-gestureState.dx:gestureState.dx;}var transitionVelocity=clamp(-10,velocity,10);if(Math.abs(velocity)<releaseGesture.notMoving){var hasGesturedEnoughToComplete=gestureDistance>releaseGesture.fullDistance*releaseGesture.stillCompletionRatio;transitionVelocity=hasGesturedEnoughToComplete?releaseGesture.snapVelocity:-releaseGesture.snapVelocity;}if(transitionVelocity<0||this._doesGestureOverswipe(releaseGestureAction)){if(this.state.transitionFromIndex==null){var transitionBackToPresentedIndex=this.state.presentedIndex;this.state.presentedIndex=destIndex;this._transitionTo(transitionBackToPresentedIndex,-transitionVelocity,1-this.spring.getCurrentValue());}}else{this._emitWillFocus(this.state.routeStack[destIndex]);this._transitionTo(destIndex,transitionVelocity,null,function(){if(releaseGestureAction==='pop'){_this4._cleanScenesPastIndex(destIndex);}});}this._detachGesture();},_handlePanResponderTerminate:function _handlePanResponderTerminate(e,gestureState){if(this.state.activeGesture==null){return;}var destIndex=this.state.presentedIndex+this._deltaForGestureAction(this.state.activeGesture);this._detachGesture();var transitionBackToPresentedIndex=this.state.presentedIndex;this.state.presentedIndex=destIndex;this._transitionTo(transitionBackToPresentedIndex,null,1-this.spring.getCurrentValue());},_attachGesture:function _attachGesture(gestureId){this.state.activeGesture=gestureId;var gesturingToIndex=this.state.presentedIndex+this._deltaForGestureAction(this.state.activeGesture);this._enableScene(gesturingToIndex);},_detachGesture:function _detachGesture(){this.state.activeGesture=null;this.state.pendingGestureProgress=null;this._hideScenes();},_handlePanResponderMove:function _handlePanResponderMove(e,gestureState){if(this._isMoveGestureAttached!==undefined){invariant(this._expectingGestureGrant,'Responder granted unexpectedly.');this._attachGesture(this._expectingGestureGrant);this._onAnimationStart();this._expectingGestureGrant=undefined;}var sceneConfig=this.state.sceneConfigStack[this.state.presentedIndex];if(this.state.activeGesture){var gesture=sceneConfig.gestures[this.state.activeGesture];return this._moveAttachedGesture(gesture,gestureState);}var matchedGesture=this._matchGestureAction(GESTURE_ACTIONS,sceneConfig.gestures,gestureState);if(matchedGesture){this._attachGesture(matchedGesture);}},_moveAttachedGesture:function _moveAttachedGesture(gesture,gestureState){var isTravelVertical=gesture.direction==='top-to-bottom'||gesture.direction==='bottom-to-top';var isTravelInverted=gesture.direction==='right-to-left'||gesture.direction==='bottom-to-top';var distance=isTravelVertical?gestureState.dy:gestureState.dx;distance=isTravelInverted?-distance:distance;var gestureDetectMovement=gesture.gestureDetectMovement;var nextProgress=(distance-gestureDetectMovement)/(gesture.fullDistance-gestureDetectMovement);if(nextProgress<0&&gesture.isDetachable){var gesturingToIndex=this.state.presentedIndex+this._deltaForGestureAction(this.state.activeGesture);this._transitionBetween(this.state.presentedIndex,gesturingToIndex,0);this._detachGesture();if(this.state.pendingGestureProgress!=null){this.spring.setCurrentValue(0);}return;}if(gesture.overswipe&&this._doesGestureOverswipe(this.state.activeGesture)){var frictionConstant=gesture.overswipe.frictionConstant;var frictionByDistance=gesture.overswipe.frictionByDistance;var frictionRatio=1/(frictionConstant+Math.abs(nextProgress)*frictionByDistance);nextProgress*=frictionRatio;}nextProgress=clamp(0,nextProgress,1);if(this.state.transitionFromIndex!=null){this.state.pendingGestureProgress=nextProgress;}else if(this.state.pendingGestureProgress){this.spring.setEndValue(nextProgress);}else{this.spring.setCurrentValue(nextProgress);}},_matchGestureAction:function _matchGestureAction(eligibleGestures,gestures,gestureState){var _this5=this;if(!gestures||!eligibleGestures||!eligibleGestures.some){return null;}var matchedGesture=null;eligibleGestures.some(function(gestureName,gestureIndex){var gesture=gestures[gestureName];if(!gesture){return;}if(gesture.overswipe==null&&_this5._doesGestureOverswipe(gestureName)){return false;}var isTravelVertical=gesture.direction==='top-to-bottom'||gesture.direction==='bottom-to-top';var isTravelInverted=gesture.direction==='right-to-left'||gesture.direction==='bottom-to-top';var startedLoc=isTravelVertical?gestureState.y0:gestureState.x0;var currentLoc=isTravelVertical?gestureState.moveY:gestureState.moveX;var travelDist=isTravelVertical?gestureState.dy:gestureState.dx;var oppositeAxisTravelDist=isTravelVertical?gestureState.dx:gestureState.dy;var edgeHitWidth=gesture.edgeHitWidth;if(isTravelInverted){startedLoc=-startedLoc;currentLoc=-currentLoc;travelDist=-travelDist;oppositeAxisTravelDist=-oppositeAxisTravelDist;edgeHitWidth=isTravelVertical?-(SCREEN_HEIGHT-edgeHitWidth):-(SCREEN_WIDTH-edgeHitWidth);}if(startedLoc===0){startedLoc=currentLoc;}var moveStartedInRegion=gesture.edgeHitWidth==null||startedLoc<edgeHitWidth;if(!moveStartedInRegion){return false;}var moveTravelledFarEnough=travelDist>=gesture.gestureDetectMovement;if(!moveTravelledFarEnough){return false;}var directionIsCorrect=Math.abs(travelDist)>Math.abs(oppositeAxisTravelDist)*gesture.directionRatio;if(directionIsCorrect){matchedGesture=gestureName;return true;}else{_this5._eligibleGestures=_this5._eligibleGestures.slice().splice(gestureIndex,1);}});return matchedGesture||null;},_transitionSceneStyle:function _transitionSceneStyle(fromIndex,toIndex,progress,index){var viewAtIndex=this._sceneRefs[index];if(viewAtIndex===null||viewAtIndex===undefined){return;}var sceneConfigIndex=fromIndex<toIndex?toIndex:fromIndex;var sceneConfig=this.state.sceneConfigStack[sceneConfigIndex];if(!sceneConfig){sceneConfig=this.state.sceneConfigStack[sceneConfigIndex-1];}var styleToUse={};var useFn=index<fromIndex||index<toIndex?sceneConfig.animationInterpolators.out:sceneConfig.animationInterpolators.into;var directionAdjustedProgress=fromIndex<toIndex?progress:1-progress;var didChange=useFn(styleToUse,directionAdjustedProgress);if(didChange){viewAtIndex.setNativeProps({style:styleToUse});}},_transitionBetween:function _transitionBetween(fromIndex,toIndex,progress){this._transitionSceneStyle(fromIndex,toIndex,progress,fromIndex);this._transitionSceneStyle(fromIndex,toIndex,progress,toIndex);var navBar=this._navBar;if(navBar&&navBar.updateProgress&&toIndex>=0&&fromIndex>=0){navBar.updateProgress(progress,fromIndex,toIndex);}},_handleResponderTerminationRequest:function _handleResponderTerminationRequest(){return false;},_getDestIndexWithinBounds:function _getDestIndexWithinBounds(n){var currentIndex=this.state.presentedIndex;var destIndex=currentIndex+n;invariant(destIndex>=0,'Cannot jump before the first route.');var maxIndex=this.state.routeStack.length-1;invariant(maxIndex>=destIndex,'Cannot jump past the last route.');return destIndex;},_jumpN:function _jumpN(n){var destIndex=this._getDestIndexWithinBounds(n);this._enableScene(destIndex);this._emitWillFocus(this.state.routeStack[destIndex]);this._transitionTo(destIndex);},jumpTo:function jumpTo(route){var destIndex=this.state.routeStack.indexOf(route);invariant(destIndex!==-1,'Cannot jump to route that is not in the route stack');this._jumpN(destIndex-this.state.presentedIndex);},jumpForward:function jumpForward(){this._jumpN(1);},jumpBack:function jumpBack(){this._jumpN(-1);},push:function push(route){var _this6=this;invariant(!!route,'Must supply route to push');var activeLength=this.state.presentedIndex+1;var activeStack=this.state.routeStack.slice(0,activeLength);var activeAnimationConfigStack=this.state.sceneConfigStack.slice(0,activeLength);var nextStack=activeStack.concat([route]);var destIndex=nextStack.length-1;var nextSceneConfig=this.props.configureScene(route,nextStack);var nextAnimationConfigStack=activeAnimationConfigStack.concat([nextSceneConfig]);this._emitWillFocus(nextStack[destIndex]);this.setState({routeStack:nextStack,sceneConfigStack:nextAnimationConfigStack},function(){_this6._enableScene(destIndex);_this6._transitionTo(destIndex,nextSceneConfig.defaultTransitionVelocity);});},popN:function popN(n){var _this7=this;invariant(typeof n==='number','Must supply a number to popN');n=parseInt(n,10);if(n<=0||this.state.presentedIndex-n<0){return;}var popIndex=this.state.presentedIndex-n;var presentedRoute=this.state.routeStack[this.state.presentedIndex];var popSceneConfig=this.props.configureScene(presentedRoute);this._enableScene(popIndex);this._clearTransformations(popIndex);this._emitWillFocus(this.state.routeStack[popIndex]);this._transitionTo(popIndex,popSceneConfig.defaultTransitionVelocity,null,function(){_this7._cleanScenesPastIndex(popIndex);});},pop:function pop(){if(this.state.transitionQueue.length){return;}this.popN(1);},replaceAtIndex:function replaceAtIndex(route,index,cb){var _this8=this;invariant(!!route,'Must supply route to replace');if(index<0){index+=this.state.routeStack.length;}if(this.state.routeStack.length<=index){return;}var nextRouteStack=this.state.routeStack.slice();var nextAnimationModeStack=this.state.sceneConfigStack.slice();nextRouteStack[index]=route;nextAnimationModeStack[index]=this.props.configureScene(route,nextRouteStack);if(index===this.state.presentedIndex){this._emitWillFocus(route);}this.setState({routeStack:nextRouteStack,sceneConfigStack:nextAnimationModeStack},function(){if(index===_this8.state.presentedIndex){_this8._emitDidFocus(route);}cb&&cb();});},replace:function replace(route){this.replaceAtIndex(route,this.state.presentedIndex);},replacePrevious:function replacePrevious(route){this.replaceAtIndex(route,this.state.presentedIndex-1);},popToTop:function popToTop(){this.popToRoute(this.state.routeStack[0]);},popToRoute:function popToRoute(route){var indexOfRoute=this.state.routeStack.indexOf(route);invariant(indexOfRoute!==-1,'Calling popToRoute for a route that doesn\'t exist!');var numToPop=this.state.presentedIndex-indexOfRoute;this.popN(numToPop);},replacePreviousAndPop:function replacePreviousAndPop(route){if(this.state.routeStack.length<2){return;}this.replacePrevious(route);this.pop();},resetTo:function resetTo(route){var _this9=this;invariant(!!route,'Must supply route to push');this.replaceAtIndex(route,0,function(){_this9.popN(_this9.state.presentedIndex);});},getCurrentRoutes:function getCurrentRoutes(){return this.state.routeStack.slice();},_cleanScenesPastIndex:function _cleanScenesPastIndex(index){var newStackLength=index+1;if(newStackLength<this.state.routeStack.length){this.setState({sceneConfigStack:this.state.sceneConfigStack.slice(0,newStackLength),routeStack:this.state.routeStack.slice(0,newStackLength)});}},_renderScene:function _renderScene(route,i){var _this10=this;var disabledSceneStyle=null;var disabledScenePointerEvents='auto';if(i!==this.state.presentedIndex){disabledSceneStyle=styles.disabledScene;disabledScenePointerEvents='none';}return React.createElement(View,{key:'scene_'+getRouteID(route),ref:function ref(scene){_this10._sceneRefs[i]=scene;},onStartShouldSetResponderCapture:function onStartShouldSetResponderCapture(){return _this10.state.transitionFromIndex!=null;},pointerEvents:disabledScenePointerEvents,style:[styles.baseScene,this.props.sceneStyle,disabledSceneStyle],__source:{fileName:_jsxFileName,lineNumber:1274}},this.props.renderScene(route,this));},_renderNavigationBar:function _renderNavigationBar(){var _this11=this;var navigationBar=this.props.navigationBar;if(!navigationBar){return null;}return React.cloneElement(navigationBar,{ref:function ref(navBar){_this11._navBar=navBar;if(navigationBar&&typeof navigationBar.ref==='function'){navigationBar.ref(navBar);}},navigator:this._navigationBarNavigator,navState:this.state});},_tvEventHandler:TVEventHandler,_enableTVEventHandler:function _enableTVEventHandler(){this._tvEventHandler=new TVEventHandler();this._tvEventHandler.enable(this,function(cmp,evt){if(evt&&evt.eventType==='menu'){cmp.pop();}});},_disableTVEventHandler:function _disableTVEventHandler(){if(this._tvEventHandler){this._tvEventHandler.disable();delete this._tvEventHandler;}},render:function render(){var _this12=this;var newRenderedSceneMap=new Map();var scenes=this.state.routeStack.map(function(route,index){var renderedScene;if(_this12._renderedSceneMap.has(route)&&index!==_this12.state.presentedIndex){renderedScene=_this12._renderedSceneMap.get(route);}else{renderedScene=_this12._renderScene(route,index);}newRenderedSceneMap.set(route,renderedScene);return renderedScene;});this._renderedSceneMap=newRenderedSceneMap;return React.createElement(View,{style:[styles.container,this.props.style],__source:{fileName:_jsxFileName,lineNumber:1342}},React.createElement(View,_extends({style:styles.transitioner},this.panGesture.panHandlers,{onTouchStart:this._handleTouchStart,onResponderTerminationRequest:this._handleResponderTerminationRequest,__source:{fileName:_jsxFileName,lineNumber:1343}}),scenes),this._renderNavigationBar());},_getNavigationContext:function _getNavigationContext(){if(!this._navigationContext){this._navigationContext=new NavigationContext();}return this._navigationContext;}});module.exports=Navigator;

/***/ }),

/***/ "./node_modules/react-native/Libraries/CustomComponents/Navigator/NavigatorBreadcrumbNavigationBar.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/CustomComponents/Navigator/NavigatorBreadcrumbNavigationBar.js';var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var NavigatorBreadcrumbNavigationBarStyles=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/Navigator/NavigatorBreadcrumbNavigationBarStyles.ios.js");var NavigatorNavigationBarStylesAndroid=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/Navigator/NavigatorNavigationBarStylesAndroid.js");var NavigatorNavigationBarStylesIOS=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/Navigator/NavigatorNavigationBarStylesIOS.js");var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var guid=__webpack_require__("./node_modules/react-native/Libraries/vendor/core/guid.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var _require=__webpack_require__("./node_modules/immutable/dist/immutable.js"),Map=_require.Map;var Interpolators=NavigatorBreadcrumbNavigationBarStyles.Interpolators;var NavigatorNavigationBarStyles=Platform.OS==='android'?NavigatorNavigationBarStylesAndroid:NavigatorNavigationBarStylesIOS;var PropTypes=React.PropTypes;var CRUMB_PROPS=Interpolators.map(function(){return{style:{}};});var ICON_PROPS=Interpolators.map(function(){return{style:{}};});var SEPARATOR_PROPS=Interpolators.map(function(){return{style:{}};});var TITLE_PROPS=Interpolators.map(function(){return{style:{}};});var RIGHT_BUTTON_PROPS=Interpolators.map(function(){return{style:{}};});function navStatePresentedIndex(navState){if(navState.presentedIndex!==undefined){return navState.presentedIndex;}return navState.observedTopOfStack;}function initStyle(index,presentedIndex){return index===presentedIndex?NavigatorBreadcrumbNavigationBarStyles.Center[index]:index<presentedIndex?NavigatorBreadcrumbNavigationBarStyles.Left[index]:NavigatorBreadcrumbNavigationBarStyles.Right[index];}var NavigatorBreadcrumbNavigationBar=function(_React$Component){_inherits(NavigatorBreadcrumbNavigationBar,_React$Component);function NavigatorBreadcrumbNavigationBar(){var _ref;var _temp,_this,_ret;_classCallCheck(this,NavigatorBreadcrumbNavigationBar);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return _ret=(_temp=(_this=_possibleConstructorReturn(this,(_ref=NavigatorBreadcrumbNavigationBar.__proto__||Object.getPrototypeOf(NavigatorBreadcrumbNavigationBar)).call.apply(_ref,[this].concat(args))),_this),_this._getBreadcrumb=function(route,index){var pointerEvents=_this.props.navState.routeStack.length<=1&&index===0?'none':'auto';var navBarRouteMapper=_this.props.routeMapper;var firstStyles=initStyle(index,navStatePresentedIndex(_this.props.navState));var breadcrumbDescriptor=React.createElement(View,{key:'crumb_'+index,pointerEvents:pointerEvents,ref:'crumb_'+index,style:firstStyles.Crumb,__source:{fileName:_jsxFileName,lineNumber:234}},React.createElement(View,{ref:'icon_'+index,style:firstStyles.Icon,__source:{fileName:_jsxFileName,lineNumber:239}},navBarRouteMapper.iconForRoute(route,_this.props.navigator)),React.createElement(View,{ref:'separator_'+index,style:firstStyles.Separator,__source:{fileName:_jsxFileName,lineNumber:242}},navBarRouteMapper.separatorForRoute(route,_this.props.navigator)));return breadcrumbDescriptor;},_this._getTitle=function(route,index){if(_this._descriptors.title.has(route)){return _this._descriptors.title.get(route);}var titleContent=_this.props.routeMapper.titleContentForRoute(_this.props.navState.routeStack[index],_this.props.navigator);var firstStyles=initStyle(index,navStatePresentedIndex(_this.props.navState));var titleDescriptor=React.createElement(View,{key:'title_'+index,ref:'title_'+index,style:firstStyles.Title,__source:{fileName:_jsxFileName,lineNumber:263}},titleContent);_this._descriptors.title=_this._descriptors.title.set(route,titleDescriptor);return titleDescriptor;},_this._getRightButton=function(route,index){if(_this._descriptors.right.has(route)){return _this._descriptors.right.get(route);}var rightContent=_this.props.routeMapper.rightContentForRoute(_this.props.navState.routeStack[index],_this.props.navigator);if(!rightContent){_this._descriptors.right=_this._descriptors.right.set(route,null);return null;}var firstStyles=initStyle(index,navStatePresentedIndex(_this.props.navState));var rightButtonDescriptor=React.createElement(View,{key:'right_'+index,ref:'right_'+index,style:firstStyles.RightItem,__source:{fileName:_jsxFileName,lineNumber:288}},rightContent);_this._descriptors.right=_this._descriptors.right.set(route,rightButtonDescriptor);return rightButtonDescriptor;},_temp),_possibleConstructorReturn(_this,_ret);}_createClass(NavigatorBreadcrumbNavigationBar,[{key:'_updateIndexProgress',value:function _updateIndexProgress(progress,index,fromIndex,toIndex){var amount=toIndex>fromIndex?progress:1-progress;var oldDistToCenter=index-fromIndex;var newDistToCenter=index-toIndex;var interpolate;invariant(Interpolators[index],'Cannot find breadcrumb interpolators for '+index);if(oldDistToCenter>0&&newDistToCenter===0||newDistToCenter>0&&oldDistToCenter===0){interpolate=Interpolators[index].RightToCenter;}else if(oldDistToCenter<0&&newDistToCenter===0||newDistToCenter<0&&oldDistToCenter===0){interpolate=Interpolators[index].CenterToLeft;}else if(oldDistToCenter===newDistToCenter){interpolate=Interpolators[index].RightToCenter;}else{interpolate=Interpolators[index].RightToLeft;}if(interpolate.Crumb(CRUMB_PROPS[index].style,amount)){this._setPropsIfExists('crumb_'+index,CRUMB_PROPS[index]);}if(interpolate.Icon(ICON_PROPS[index].style,amount)){this._setPropsIfExists('icon_'+index,ICON_PROPS[index]);}if(interpolate.Separator(SEPARATOR_PROPS[index].style,amount)){this._setPropsIfExists('separator_'+index,SEPARATOR_PROPS[index]);}if(interpolate.Title(TITLE_PROPS[index].style,amount)){this._setPropsIfExists('title_'+index,TITLE_PROPS[index]);}var right=this.refs['right_'+index];var rightButtonStyle=RIGHT_BUTTON_PROPS[index].style;if(right&&interpolate.RightItem(rightButtonStyle,amount)){right.setNativeProps({style:rightButtonStyle,pointerEvents:rightButtonStyle.opacity===0?'none':'auto'});}}},{key:'updateProgress',value:function updateProgress(progress,fromIndex,toIndex){var max=Math.max(fromIndex,toIndex);var min=Math.min(fromIndex,toIndex);for(var index=min;index<=max;index++){this._updateIndexProgress(progress,index,fromIndex,toIndex);}}},{key:'onAnimationStart',value:function onAnimationStart(fromIndex,toIndex){var max=Math.max(fromIndex,toIndex);var min=Math.min(fromIndex,toIndex);for(var index=min;index<=max;index++){this._setRenderViewsToHardwareTextureAndroid(index,true);}}},{key:'onAnimationEnd',value:function onAnimationEnd(){var max=this.props.navState.routeStack.length-1;for(var index=0;index<=max;index++){this._setRenderViewsToHardwareTextureAndroid(index,false);}}},{key:'_setRenderViewsToHardwareTextureAndroid',value:function _setRenderViewsToHardwareTextureAndroid(index,renderToHardwareTexture){var props={renderToHardwareTextureAndroid:renderToHardwareTexture};this._setPropsIfExists('icon_'+index,props);this._setPropsIfExists('separator_'+index,props);this._setPropsIfExists('title_'+index,props);this._setPropsIfExists('right_'+index,props);}},{key:'componentWillMount',value:function componentWillMount(){this._reset();}},{key:'render',value:function render(){var navState=this.props.navState;var icons=navState&&navState.routeStack.map(this._getBreadcrumb);var titles=navState.routeStack.map(this._getTitle);var buttons=navState.routeStack.map(this._getRightButton);return React.createElement(View,{key:this._key,style:[styles.breadCrumbContainer,this.props.style],__source:{fileName:_jsxFileName,lineNumber:196}},titles,icons,buttons);}},{key:'immediatelyRefresh',value:function immediatelyRefresh(){this._reset();this.forceUpdate();}},{key:'_reset',value:function _reset(){this._key=guid();this._descriptors={title:new Map(),right:new Map()};}},{key:'_setPropsIfExists',value:function _setPropsIfExists(ref,props){var ref=this.refs[ref];ref&&ref.setNativeProps(props);}}]);return NavigatorBreadcrumbNavigationBar;}(React.Component);NavigatorBreadcrumbNavigationBar.propTypes={navigator:PropTypes.shape({push:PropTypes.func,pop:PropTypes.func,replace:PropTypes.func,popToRoute:PropTypes.func,popToTop:PropTypes.func}),routeMapper:PropTypes.shape({rightContentForRoute:PropTypes.func,titleContentForRoute:PropTypes.func,iconForRoute:PropTypes.func}),navState:React.PropTypes.shape({routeStack:React.PropTypes.arrayOf(React.PropTypes.object),presentedIndex:React.PropTypes.number}),style:View.propTypes.style};NavigatorBreadcrumbNavigationBar.Styles=NavigatorBreadcrumbNavigationBarStyles;var styles=StyleSheet.create({breadCrumbContainer:{overflow:'hidden',position:'absolute',height:NavigatorNavigationBarStyles.General.TotalNavHeight,top:0,left:0,right:0}});module.exports=NavigatorBreadcrumbNavigationBar;

/***/ }),

/***/ "./node_modules/react-native/Libraries/CustomComponents/Navigator/NavigatorBreadcrumbNavigationBarStyles.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var Dimensions=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Dimensions.js");var NavigatorNavigationBarStylesIOS=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/Navigator/NavigatorNavigationBarStylesIOS.js");var buildStyleInterpolator=__webpack_require__("./node_modules/react-native/Libraries/Utilities/buildStyleInterpolator.js");var merge=__webpack_require__("./node_modules/react-native/Libraries/vendor/core/merge.js");var SCREEN_WIDTH=Dimensions.get('window').width;var STATUS_BAR_HEIGHT=NavigatorNavigationBarStylesIOS.General.StatusBarHeight;var NAV_BAR_HEIGHT=NavigatorNavigationBarStylesIOS.General.NavBarHeight;var SPACING=4;var ICON_WIDTH=40;var SEPARATOR_WIDTH=9;var CRUMB_WIDTH=ICON_WIDTH+SEPARATOR_WIDTH;var OPACITY_RATIO=100;var ICON_INACTIVE_OPACITY=0.6;var MAX_BREADCRUMBS=10;var CRUMB_BASE={position:'absolute',flexDirection:'row',top:STATUS_BAR_HEIGHT,width:CRUMB_WIDTH,height:NAV_BAR_HEIGHT,backgroundColor:'transparent'};var ICON_BASE={width:ICON_WIDTH,height:NAV_BAR_HEIGHT};var SEPARATOR_BASE={width:SEPARATOR_WIDTH,height:NAV_BAR_HEIGHT};var TITLE_BASE={position:'absolute',top:STATUS_BAR_HEIGHT,height:NAV_BAR_HEIGHT,backgroundColor:'transparent'};var FIRST_TITLE_BASE=merge(TITLE_BASE,{left:0,right:0,alignItems:'center',height:NAV_BAR_HEIGHT});var RIGHT_BUTTON_BASE={position:'absolute',top:STATUS_BAR_HEIGHT,right:SPACING,overflow:'hidden',opacity:1,height:NAV_BAR_HEIGHT,backgroundColor:'transparent'};var LEFT=[];var CENTER=[];var RIGHT=[];for(var i=0;i<MAX_BREADCRUMBS;i++){var crumbLeft=CRUMB_WIDTH*i+SPACING;LEFT[i]={Crumb:merge(CRUMB_BASE,{left:crumbLeft}),Icon:merge(ICON_BASE,{opacity:ICON_INACTIVE_OPACITY}),Separator:merge(SEPARATOR_BASE,{opacity:1}),Title:merge(TITLE_BASE,{left:crumbLeft,opacity:0}),RightItem:merge(RIGHT_BUTTON_BASE,{opacity:0})};CENTER[i]={Crumb:merge(CRUMB_BASE,{left:crumbLeft}),Icon:merge(ICON_BASE,{opacity:1}),Separator:merge(SEPARATOR_BASE,{opacity:0}),Title:merge(TITLE_BASE,{left:crumbLeft+ICON_WIDTH,opacity:1}),RightItem:merge(RIGHT_BUTTON_BASE,{opacity:1})};var crumbRight=SCREEN_WIDTH-100;RIGHT[i]={Crumb:merge(CRUMB_BASE,{left:crumbRight}),Icon:merge(ICON_BASE,{opacity:0}),Separator:merge(SEPARATOR_BASE,{opacity:0}),Title:merge(TITLE_BASE,{left:crumbRight+ICON_WIDTH,opacity:0}),RightItem:merge(RIGHT_BUTTON_BASE,{opacity:0})};}CENTER[0]={Crumb:merge(CRUMB_BASE,{left:SCREEN_WIDTH/4}),Icon:merge(ICON_BASE,{opacity:0}),Separator:merge(SEPARATOR_BASE,{opacity:0}),Title:merge(FIRST_TITLE_BASE,{opacity:1}),RightItem:CENTER[0].RightItem};LEFT[0].Title=merge(FIRST_TITLE_BASE,{left:-SCREEN_WIDTH/4,opacity:0});RIGHT[0].Title=merge(FIRST_TITLE_BASE,{opacity:0});var buildIndexSceneInterpolator=function buildIndexSceneInterpolator(startStyles,endStyles){return{Crumb:buildStyleInterpolator({left:{type:'linear',from:startStyles.Crumb.left,to:endStyles.Crumb.left,min:0,max:1,extrapolate:true}}),Icon:buildStyleInterpolator({opacity:{type:'linear',from:startStyles.Icon.opacity,to:endStyles.Icon.opacity,min:0,max:1}}),Separator:buildStyleInterpolator({opacity:{type:'linear',from:startStyles.Separator.opacity,to:endStyles.Separator.opacity,min:0,max:1}}),Title:buildStyleInterpolator({opacity:{type:'linear',from:startStyles.Title.opacity,to:endStyles.Title.opacity,min:0,max:1},left:{type:'linear',from:startStyles.Title.left,to:endStyles.Title.left,min:0,max:1,extrapolate:true}}),RightItem:buildStyleInterpolator({opacity:{type:'linear',from:startStyles.RightItem.opacity,to:endStyles.RightItem.opacity,min:0,max:1,round:OPACITY_RATIO}})};};var Interpolators=CENTER.map(function(_,ii){return{RightToCenter:buildIndexSceneInterpolator(RIGHT[ii],CENTER[ii]),CenterToLeft:buildIndexSceneInterpolator(CENTER[ii],LEFT[ii]),RightToLeft:buildIndexSceneInterpolator(RIGHT[ii],LEFT[ii])};});module.exports={Interpolators:Interpolators,Left:LEFT,Center:CENTER,Right:RIGHT,IconWidth:ICON_WIDTH,IconHeight:NAV_BAR_HEIGHT,SeparatorWidth:SEPARATOR_WIDTH,SeparatorHeight:NAV_BAR_HEIGHT};

/***/ }),

/***/ "./node_modules/react-native/Libraries/CustomComponents/Navigator/NavigatorNavigationBar.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/CustomComponents/Navigator/NavigatorNavigationBar.js';var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var NavigatorNavigationBarStylesAndroid=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/Navigator/NavigatorNavigationBarStylesAndroid.js");var NavigatorNavigationBarStylesIOS=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/Navigator/NavigatorNavigationBarStylesIOS.js");var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var guid=__webpack_require__("./node_modules/react-native/Libraries/vendor/core/guid.js");var _require=__webpack_require__("./node_modules/immutable/dist/immutable.js"),Map=_require.Map;var COMPONENT_NAMES=['Title','LeftButton','RightButton'];var NavigatorNavigationBarStyles=Platform.OS==='android'?NavigatorNavigationBarStylesAndroid:NavigatorNavigationBarStylesIOS;var navStatePresentedIndex=function navStatePresentedIndex(navState){if(navState.presentedIndex!==undefined){return navState.presentedIndex;}return navState.observedTopOfStack;};var NavigatorNavigationBar=function(_React$Component){_inherits(NavigatorNavigationBar,_React$Component);function NavigatorNavigationBar(){var _ref;var _temp,_this,_ret;_classCallCheck(this,NavigatorNavigationBar);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return _ret=(_temp=(_this=_possibleConstructorReturn(this,(_ref=NavigatorNavigationBar.__proto__||Object.getPrototypeOf(NavigatorNavigationBar)).call.apply(_ref,[this].concat(args))),_this),_this.immediatelyRefresh=function(){_this._reset();_this.forceUpdate();},_this._reset=function(){_this._key=guid();_this._reusableProps={};_this._components={};_this._descriptors={};COMPONENT_NAMES.forEach(function(componentName){_this._components[componentName]=new Map();_this._descriptors[componentName]=new Map();});},_this._getReusableProps=function(componentName,index){var propStack=_this._reusableProps[componentName];if(!propStack){propStack=_this._reusableProps[componentName]=[];}var props=propStack[index];if(!props){props=propStack[index]={style:{}};}return props;},_this._updateIndexProgress=function(progress,index,fromIndex,toIndex){var amount=toIndex>fromIndex?progress:1-progress;var oldDistToCenter=index-fromIndex;var newDistToCenter=index-toIndex;var interpolate;if(oldDistToCenter>0&&newDistToCenter===0||newDistToCenter>0&&oldDistToCenter===0){interpolate=_this.props.navigationStyles.Interpolators.RightToCenter;}else if(oldDistToCenter<0&&newDistToCenter===0||newDistToCenter<0&&oldDistToCenter===0){interpolate=_this.props.navigationStyles.Interpolators.CenterToLeft;}else if(oldDistToCenter===newDistToCenter){interpolate=_this.props.navigationStyles.Interpolators.RightToCenter;}else{interpolate=_this.props.navigationStyles.Interpolators.RightToLeft;}COMPONENT_NAMES.forEach(function(componentName){var component=this._components[componentName].get(this.props.navState.routeStack[index]);var props=this._getReusableProps(componentName,index);if(component&&interpolate[componentName](props.style,amount)){props.pointerEvents=props.style.opacity===0?'none':'box-none';component.setNativeProps(props);}},_this);},_this.updateProgress=function(progress,fromIndex,toIndex){var max=Math.max(fromIndex,toIndex);var min=Math.min(fromIndex,toIndex);for(var index=min;index<=max;index++){_this._updateIndexProgress(progress,index,fromIndex,toIndex);}},_this._getComponent=function(componentName,route,index){if(_this._descriptors[componentName].includes(route)){return _this._descriptors[componentName].get(route);}var rendered=null;var content=_this.props.routeMapper[componentName](_this.props.navState.routeStack[index],_this.props.navigator,index,_this.props.navState);if(!content){return null;}var componentIsActive=index===navStatePresentedIndex(_this.props.navState);var initialStage=componentIsActive?_this.props.navigationStyles.Stages.Center:_this.props.navigationStyles.Stages.Left;rendered=React.createElement(View,{ref:function ref(_ref2){_this._components[componentName]=_this._components[componentName].set(route,_ref2);},pointerEvents:componentIsActive?'box-none':'none',style:initialStage[componentName],__source:{fileName:_jsxFileName,lineNumber:196}},content);_this._descriptors[componentName]=_this._descriptors[componentName].set(route,rendered);return rendered;},_temp),_possibleConstructorReturn(_this,_ret);}_createClass(NavigatorNavigationBar,[{key:'componentWillMount',value:function componentWillMount(){this._reset();}},{key:'render',value:function render(){var _this2=this;var navBarStyle={height:this.props.navigationStyles.General.TotalNavHeight};var navState=this.props.navState;var components=navState.routeStack.map(function(route,index){return COMPONENT_NAMES.map(function(componentName){return _this2._getComponent(componentName,route,index);});});return React.createElement(View,{key:this._key,style:[styles.navBarContainer,navBarStyle,this.props.style],__source:{fileName:_jsxFileName,lineNumber:166}},components);}}]);return NavigatorNavigationBar;}(React.Component);NavigatorNavigationBar.propTypes={navigator:React.PropTypes.object,routeMapper:React.PropTypes.shape({Title:React.PropTypes.func.isRequired,LeftButton:React.PropTypes.func.isRequired,RightButton:React.PropTypes.func.isRequired}).isRequired,navState:React.PropTypes.shape({routeStack:React.PropTypes.arrayOf(React.PropTypes.object),presentedIndex:React.PropTypes.number}),navigationStyles:React.PropTypes.object,style:View.propTypes.style};NavigatorNavigationBar.Styles=NavigatorNavigationBarStyles;NavigatorNavigationBar.StylesAndroid=NavigatorNavigationBarStylesAndroid;NavigatorNavigationBar.StylesIOS=NavigatorNavigationBarStylesIOS;NavigatorNavigationBar.defaultProps={navigationStyles:NavigatorNavigationBarStyles};var styles=StyleSheet.create({navBarContainer:{position:'absolute',top:0,left:0,right:0,backgroundColor:'transparent'}});module.exports=NavigatorNavigationBar;

/***/ }),

/***/ "./node_modules/react-native/Libraries/CustomComponents/Navigator/NavigatorNavigationBarStylesAndroid.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var buildStyleInterpolator=__webpack_require__("./node_modules/react-native/Libraries/Utilities/buildStyleInterpolator.js");var merge=__webpack_require__("./node_modules/react-native/Libraries/vendor/core/merge.js");var NAV_BAR_HEIGHT=56;var TITLE_LEFT=72;var BUTTON_SIZE=24;var TOUCH_TARGT_SIZE=48;var BUTTON_HORIZONTAL_MARGIN=16;var BUTTON_EFFECTIVE_MARGIN=BUTTON_HORIZONTAL_MARGIN-(TOUCH_TARGT_SIZE-BUTTON_SIZE)/2;var NAV_ELEMENT_HEIGHT=NAV_BAR_HEIGHT;var BASE_STYLES={Title:{position:'absolute',bottom:0,left:0,right:0,alignItems:'flex-start',height:NAV_ELEMENT_HEIGHT,backgroundColor:'transparent',marginLeft:TITLE_LEFT},LeftButton:{position:'absolute',top:0,left:BUTTON_EFFECTIVE_MARGIN,overflow:'hidden',height:NAV_ELEMENT_HEIGHT,backgroundColor:'transparent'},RightButton:{position:'absolute',top:0,right:BUTTON_EFFECTIVE_MARGIN,overflow:'hidden',alignItems:'flex-end',height:NAV_ELEMENT_HEIGHT,backgroundColor:'transparent'}};var Stages={Left:{Title:merge(BASE_STYLES.Title,{opacity:0}),LeftButton:merge(BASE_STYLES.LeftButton,{opacity:0}),RightButton:merge(BASE_STYLES.RightButton,{opacity:0})},Center:{Title:merge(BASE_STYLES.Title,{opacity:1}),LeftButton:merge(BASE_STYLES.LeftButton,{opacity:1}),RightButton:merge(BASE_STYLES.RightButton,{opacity:1})},Right:{Title:merge(BASE_STYLES.Title,{opacity:0}),LeftButton:merge(BASE_STYLES.LeftButton,{opacity:0}),RightButton:merge(BASE_STYLES.RightButton,{opacity:0})}};var opacityRatio=100;function buildSceneInterpolators(startStyles,endStyles){return{Title:buildStyleInterpolator({opacity:{type:'linear',from:startStyles.Title.opacity,to:endStyles.Title.opacity,min:0,max:1},left:{type:'linear',from:startStyles.Title.left,to:endStyles.Title.left,min:0,max:1,extrapolate:true}}),LeftButton:buildStyleInterpolator({opacity:{type:'linear',from:startStyles.LeftButton.opacity,to:endStyles.LeftButton.opacity,min:0,max:1,round:opacityRatio},left:{type:'linear',from:startStyles.LeftButton.left,to:endStyles.LeftButton.left,min:0,max:1}}),RightButton:buildStyleInterpolator({opacity:{type:'linear',from:startStyles.RightButton.opacity,to:endStyles.RightButton.opacity,min:0,max:1,round:opacityRatio},left:{type:'linear',from:startStyles.RightButton.left,to:endStyles.RightButton.left,min:0,max:1,extrapolate:true}})};}var Interpolators={RightToCenter:buildSceneInterpolators(Stages.Right,Stages.Center),CenterToLeft:buildSceneInterpolators(Stages.Center,Stages.Left),RightToLeft:buildSceneInterpolators(Stages.Right,Stages.Left)};module.exports={General:{NavBarHeight:NAV_BAR_HEIGHT,StatusBarHeight:0,TotalNavHeight:NAV_BAR_HEIGHT},Interpolators:Interpolators,Stages:Stages};

/***/ }),

/***/ "./node_modules/react-native/Libraries/CustomComponents/Navigator/NavigatorNavigationBarStylesIOS.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var Dimensions=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Dimensions.js");var buildStyleInterpolator=__webpack_require__("./node_modules/react-native/Libraries/Utilities/buildStyleInterpolator.js");var merge=__webpack_require__("./node_modules/react-native/Libraries/vendor/core/merge.js");var SCREEN_WIDTH=Dimensions.get('window').width;var NAV_BAR_HEIGHT=44;var STATUS_BAR_HEIGHT=20;var NAV_HEIGHT=NAV_BAR_HEIGHT+STATUS_BAR_HEIGHT;var BASE_STYLES={Title:{position:'absolute',top:STATUS_BAR_HEIGHT,left:0,right:0,alignItems:'center',height:NAV_BAR_HEIGHT,backgroundColor:'transparent'},LeftButton:{position:'absolute',top:STATUS_BAR_HEIGHT,left:0,overflow:'hidden',opacity:1,height:NAV_BAR_HEIGHT,backgroundColor:'transparent'},RightButton:{position:'absolute',top:STATUS_BAR_HEIGHT,right:0,overflow:'hidden',opacity:1,alignItems:'flex-end',height:NAV_BAR_HEIGHT,backgroundColor:'transparent'}};var Stages={Left:{Title:merge(BASE_STYLES.Title,{left:-SCREEN_WIDTH/2,opacity:0}),LeftButton:merge(BASE_STYLES.LeftButton,{left:0,opacity:0}),RightButton:merge(BASE_STYLES.RightButton,{opacity:0})},Center:{Title:merge(BASE_STYLES.Title,{left:0,opacity:1}),LeftButton:merge(BASE_STYLES.LeftButton,{left:0,opacity:1}),RightButton:merge(BASE_STYLES.RightButton,{opacity:1})},Right:{Title:merge(BASE_STYLES.Title,{left:SCREEN_WIDTH/2,opacity:0}),LeftButton:merge(BASE_STYLES.LeftButton,{left:0,opacity:0}),RightButton:merge(BASE_STYLES.RightButton,{opacity:0})}};var opacityRatio=100;function buildSceneInterpolators(startStyles,endStyles){return{Title:buildStyleInterpolator({opacity:{type:'linear',from:startStyles.Title.opacity,to:endStyles.Title.opacity,min:0,max:1},left:{type:'linear',from:startStyles.Title.left,to:endStyles.Title.left,min:0,max:1,extrapolate:true}}),LeftButton:buildStyleInterpolator({opacity:{type:'linear',from:startStyles.LeftButton.opacity,to:endStyles.LeftButton.opacity,min:0,max:1,round:opacityRatio},left:{type:'linear',from:startStyles.LeftButton.left,to:endStyles.LeftButton.left,min:0,max:1}}),RightButton:buildStyleInterpolator({opacity:{type:'linear',from:startStyles.RightButton.opacity,to:endStyles.RightButton.opacity,min:0,max:1,round:opacityRatio},left:{type:'linear',from:startStyles.RightButton.left,to:endStyles.RightButton.left,min:0,max:1,extrapolate:true}})};}var Interpolators={RightToCenter:buildSceneInterpolators(Stages.Right,Stages.Center),CenterToLeft:buildSceneInterpolators(Stages.Center,Stages.Left),RightToLeft:buildSceneInterpolators(Stages.Right,Stages.Left)};module.exports={General:{NavBarHeight:NAV_BAR_HEIGHT,StatusBarHeight:STATUS_BAR_HEIGHT,TotalNavHeight:NAV_HEIGHT},Interpolators:Interpolators,Stages:Stages};

/***/ }),

/***/ "./node_modules/react-native/Libraries/CustomComponents/Navigator/NavigatorSceneConfigs.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var Dimensions=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Dimensions.js");var PixelRatio=__webpack_require__("./node_modules/react-native/Libraries/Utilities/PixelRatio.js");var I18nManager=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/I18nManager.js");var buildStyleInterpolator=__webpack_require__("./node_modules/react-native/Libraries/Utilities/buildStyleInterpolator.js");var IS_RTL=I18nManager.isRTL;var SCREEN_WIDTH=Dimensions.get('window').width;var SCREEN_HEIGHT=Dimensions.get('window').height;var PIXEL_RATIO=PixelRatio.get();var ToTheLeftIOS={transformTranslate:{from:{x:0,y:0,z:0},to:{x:-SCREEN_WIDTH*0.3,y:0,z:0},min:0,max:1,type:'linear',extrapolate:true,round:PIXEL_RATIO},opacity:{value:1.0,type:'constant'}};var ToTheRightIOS=_extends({},ToTheLeftIOS,{transformTranslate:{from:{x:0,y:0,z:0},to:{x:SCREEN_WIDTH*0.3,y:0,z:0}}});var FadeToTheLeft={transformTranslate:{from:{x:0,y:0,z:0},to:{x:-Math.round(SCREEN_WIDTH*0.3),y:0,z:0},min:0,max:1,type:'linear',extrapolate:true,round:PIXEL_RATIO},transformScale:{from:{x:1,y:1,z:1},to:{x:0.95,y:0.95,z:1},min:0,max:1,type:'linear',extrapolate:true},opacity:{from:1,to:0.3,min:0,max:1,type:'linear',extrapolate:false,round:100},translateX:{from:0,to:-Math.round(SCREEN_WIDTH*0.3),min:0,max:1,type:'linear',extrapolate:true,round:PIXEL_RATIO},scaleX:{from:1,to:0.95,min:0,max:1,type:'linear',extrapolate:true},scaleY:{from:1,to:0.95,min:0,max:1,type:'linear',extrapolate:true}};var FadeToTheRight=_extends({},FadeToTheLeft,{transformTranslate:{from:{x:0,y:0,z:0},to:{x:Math.round(SCREEN_WIDTH*0.3),y:0,z:0}},translateX:{from:0,to:Math.round(SCREEN_WIDTH*0.3)}});var FadeIn={opacity:{from:0,to:1,min:0.5,max:1,type:'linear',extrapolate:false,round:100}};var FadeOut={opacity:{from:1,to:0,min:0,max:0.5,type:'linear',extrapolate:false,round:100}};var ToTheLeft={transformTranslate:{from:{x:0,y:0,z:0},to:{x:-SCREEN_WIDTH,y:0,z:0},min:0,max:1,type:'linear',extrapolate:true,round:PIXEL_RATIO},opacity:{value:1.0,type:'constant'},translateX:{from:0,to:-SCREEN_WIDTH,min:0,max:1,type:'linear',extrapolate:true,round:PIXEL_RATIO}};var ToTheRight={transformTranslate:{from:{x:0,y:0,z:0},to:{x:SCREEN_WIDTH,y:0,z:0},min:0,max:1,type:'linear',extrapolate:true,round:PIXEL_RATIO},opacity:{value:1.0,type:'constant'},translateX:{from:0,to:SCREEN_WIDTH,min:0,max:1,type:'linear',extrapolate:true,round:PIXEL_RATIO}};var ToTheUp={transformTranslate:{from:{x:0,y:0,z:0},to:{x:0,y:-SCREEN_HEIGHT,z:0},min:0,max:1,type:'linear',extrapolate:true,round:PIXEL_RATIO},opacity:{value:1.0,type:'constant'},translateY:{from:0,to:-SCREEN_HEIGHT,min:0,max:1,type:'linear',extrapolate:true,round:PIXEL_RATIO}};var ToTheDown={transformTranslate:{from:{x:0,y:0,z:0},to:{x:0,y:SCREEN_HEIGHT,z:0},min:0,max:1,type:'linear',extrapolate:true,round:PIXEL_RATIO},opacity:{value:1.0,type:'constant'},translateY:{from:0,to:SCREEN_HEIGHT,min:0,max:1,type:'linear',extrapolate:true,round:PIXEL_RATIO}};var FromTheRight={opacity:{value:1.0,type:'constant'},transformTranslate:{from:{x:SCREEN_WIDTH,y:0,z:0},to:{x:0,y:0,z:0},min:0,max:1,type:'linear',extrapolate:true,round:PIXEL_RATIO},translateX:{from:SCREEN_WIDTH,to:0,min:0,max:1,type:'linear',extrapolate:true,round:PIXEL_RATIO},scaleX:{value:1,type:'constant'},scaleY:{value:1,type:'constant'}};var FromTheLeft=_extends({},FromTheRight,{transformTranslate:{from:{x:-SCREEN_WIDTH,y:0,z:0},to:{x:0,y:0,z:0},min:0,max:1,type:'linear',extrapolate:true,round:PIXEL_RATIO},translateX:{from:-SCREEN_WIDTH,to:0,min:0,max:1,type:'linear',extrapolate:true,round:PIXEL_RATIO}});var FromTheDown=_extends({},FromTheRight,{transformTranslate:{from:{y:SCREEN_HEIGHT,x:0,z:0},to:{x:0,y:0,z:0},min:0,max:1,type:'linear',extrapolate:true,round:PIXEL_RATIO},translateY:{from:SCREEN_HEIGHT,to:0,min:0,max:1,type:'linear',extrapolate:true,round:PIXEL_RATIO}});var FromTheTop=_extends({},FromTheRight,{transformTranslate:{from:{y:-SCREEN_HEIGHT,x:0,z:0},to:{x:0,y:0,z:0},min:0,max:1,type:'linear',extrapolate:true,round:PIXEL_RATIO},translateY:{from:-SCREEN_HEIGHT,to:0,min:0,max:1,type:'linear',extrapolate:true,round:PIXEL_RATIO}});var ToTheBack={transformTranslate:{from:{x:0,y:0,z:0},to:{x:0,y:0,z:0},min:0,max:1,type:'linear',extrapolate:true,round:PIXEL_RATIO},transformScale:{from:{x:1,y:1,z:1},to:{x:0.95,y:0.95,z:1},min:0,max:1,type:'linear',extrapolate:true},opacity:{from:1,to:0.3,min:0,max:1,type:'linear',extrapolate:false,round:100},scaleX:{from:1,to:0.95,min:0,max:1,type:'linear',extrapolate:true},scaleY:{from:1,to:0.95,min:0,max:1,type:'linear',extrapolate:true}};var FromTheFront={opacity:{value:1.0,type:'constant'},transformTranslate:{from:{x:0,y:SCREEN_HEIGHT,z:0},to:{x:0,y:0,z:0},min:0,max:1,type:'linear',extrapolate:true,round:PIXEL_RATIO},translateY:{from:SCREEN_HEIGHT,to:0,min:0,max:1,type:'linear',extrapolate:true,round:PIXEL_RATIO},scaleX:{value:1,type:'constant'},scaleY:{value:1,type:'constant'}};var ToTheBackAndroid={opacity:{value:1,type:'constant'}};var FromTheFrontAndroid={opacity:{from:0,to:1,min:0.5,max:1,type:'linear',extrapolate:false,round:100},transformTranslate:{from:{x:0,y:100,z:0},to:{x:0,y:0,z:0},min:0,max:1,type:'linear',extrapolate:true,round:PIXEL_RATIO},translateY:{from:100,to:0,min:0,max:1,type:'linear',extrapolate:true,round:PIXEL_RATIO}};var BaseOverswipeConfig={frictionConstant:1,frictionByDistance:1.5};var BaseLeftToRightGesture={isDetachable:false,gestureDetectMovement:2,notMoving:0.3,directionRatio:0.66,snapVelocity:2,edgeHitWidth:30,stillCompletionRatio:3/5,fullDistance:SCREEN_WIDTH,direction:'left-to-right'};var BaseRightToLeftGesture=_extends({},BaseLeftToRightGesture,{direction:'right-to-left'});var BaseDownUpGesture=_extends({},BaseLeftToRightGesture,{fullDistance:SCREEN_HEIGHT,direction:'down-to-up'});var BaseUpDownGesture=_extends({},BaseLeftToRightGesture,{fullDistance:SCREEN_HEIGHT,direction:'up-to-down'});var directionMapping={ToTheStartIOS:ToTheLeftIOS,ToTheEndIOS:ToTheRightIOS,FadeToTheStart:FadeToTheLeft,FadeToTheEnd:FadeToTheRight,ToTheStart:ToTheLeft,ToTheEnd:ToTheRight,FromTheStart:FromTheLeft,FromTheEnd:FromTheRight,BaseStartToEndGesture:BaseLeftToRightGesture,BaseEndToStartGesture:BaseRightToLeftGesture};if(IS_RTL){directionMapping={ToTheStartIOS:ToTheRightIOS,ToTheEndIOS:ToTheLeftIOS,FadeToTheStart:FadeToTheRight,FadeToTheEnd:FadeToTheLeft,ToTheStart:ToTheRight,ToTheEnd:ToTheLeft,FromTheStart:FromTheRight,FromTheEnd:FromTheLeft,BaseStartToEndGesture:BaseRightToLeftGesture,BaseEndToStartGesture:BaseLeftToRightGesture};}var BaseConfig={gestures:{pop:directionMapping.BaseStartToEndGesture},springFriction:26,springTension:200,defaultTransitionVelocity:1.5,animationInterpolators:{into:buildStyleInterpolator(directionMapping.FromTheEnd),out:buildStyleInterpolator(directionMapping.FadeToTheStart)}};var NavigatorSceneConfigs={PushFromRight:_extends({},BaseConfig,{animationInterpolators:{into:buildStyleInterpolator(directionMapping.FromTheEnd),out:buildStyleInterpolator(directionMapping.ToTheStartIOS)}}),PushFromLeft:_extends({},BaseConfig,{animationInterpolators:{into:buildStyleInterpolator(directionMapping.FromTheStart),out:buildStyleInterpolator(directionMapping.ToTheEndIOS)}}),FloatFromRight:_extends({},BaseConfig),FloatFromLeft:_extends({},BaseConfig,{gestures:{pop:directionMapping.BaseEndToStartGesture},animationInterpolators:{into:buildStyleInterpolator(directionMapping.FromTheStart),out:buildStyleInterpolator(directionMapping.FadeToTheEnd)}}),FloatFromBottom:_extends({},BaseConfig,{gestures:{pop:_extends({},directionMapping.BaseStartToEndGesture,{edgeHitWidth:150,direction:'top-to-bottom',fullDistance:SCREEN_HEIGHT})},animationInterpolators:{into:buildStyleInterpolator(FromTheFront),out:buildStyleInterpolator(ToTheBack)}}),FloatFromBottomAndroid:_extends({},BaseConfig,{gestures:null,defaultTransitionVelocity:3,springFriction:20,animationInterpolators:{into:buildStyleInterpolator(FromTheFrontAndroid),out:buildStyleInterpolator(ToTheBackAndroid)}}),FadeAndroid:_extends({},BaseConfig,{gestures:null,animationInterpolators:{into:buildStyleInterpolator(FadeIn),out:buildStyleInterpolator(FadeOut)}}),SwipeFromLeft:_extends({},BaseConfig,{gestures:{jumpBack:_extends({},directionMapping.BaseEndToStartGesture,{overswipe:BaseOverswipeConfig,edgeHitWidth:null,isDetachable:true}),jumpForward:_extends({},directionMapping.BaseStartToEndGesture,{overswipe:BaseOverswipeConfig,edgeHitWidth:null,isDetachable:true})},animationInterpolators:{into:buildStyleInterpolator(directionMapping.FromTheStart),out:buildStyleInterpolator(directionMapping.ToTheEnd)}}),HorizontalSwipeJump:_extends({},BaseConfig,{gestures:{jumpBack:_extends({},directionMapping.BaseStartToEndGesture,{overswipe:BaseOverswipeConfig,edgeHitWidth:null,isDetachable:true}),jumpForward:_extends({},directionMapping.BaseEndToStartGesture,{overswipe:BaseOverswipeConfig,edgeHitWidth:null,isDetachable:true})},animationInterpolators:{into:buildStyleInterpolator(directionMapping.FromTheEnd),out:buildStyleInterpolator(directionMapping.ToTheStart)}}),HorizontalSwipeJumpFromRight:_extends({},BaseConfig,{gestures:{jumpBack:_extends({},directionMapping.BaseEndToStartGesture,{overswipe:BaseOverswipeConfig,edgeHitWidth:null,isDetachable:true}),jumpForward:_extends({},directionMapping.BaseStartToEndGesture,{overswipe:BaseOverswipeConfig,edgeHitWidth:null,isDetachable:true}),pop:directionMapping.BaseEndToStartGesture},animationInterpolators:{into:buildStyleInterpolator(directionMapping.FromTheStart),out:buildStyleInterpolator(directionMapping.FadeToTheEnd)}}),HorizontalSwipeJumpFromLeft:_extends({},BaseConfig,{gestures:{jumpBack:_extends({},directionMapping.BaseEndToStartGesture,{overswipe:BaseOverswipeConfig,edgeHitWidth:null,isDetachable:true}),jumpForward:_extends({},directionMapping.BaseStartToEndGesture,{overswipe:BaseOverswipeConfig,edgeHitWidth:null,isDetachable:true}),pop:directionMapping.BaseEndToStartGesture},animationInterpolators:{into:buildStyleInterpolator(directionMapping.FromTheStart),out:buildStyleInterpolator(directionMapping.ToTheEnd)}}),VerticalUpSwipeJump:_extends({},BaseConfig,{gestures:{jumpBack:_extends({},BaseDownUpGesture,{overswipe:BaseOverswipeConfig,edgeHitWidth:null,isDetachable:true}),jumpForward:_extends({},BaseDownUpGesture,{overswipe:BaseOverswipeConfig,edgeHitWidth:null,isDetachable:true})},animationInterpolators:{into:buildStyleInterpolator(FromTheDown),out:buildStyleInterpolator(ToTheUp)}}),VerticalDownSwipeJump:_extends({},BaseConfig,{gestures:{jumpBack:_extends({},BaseUpDownGesture,{overswipe:BaseOverswipeConfig,edgeHitWidth:null,isDetachable:true}),jumpForward:_extends({},BaseUpDownGesture,{overswipe:BaseOverswipeConfig,edgeHitWidth:null,isDetachable:true})},animationInterpolators:{into:buildStyleInterpolator(FromTheTop),out:buildStyleInterpolator(ToTheDown)}})};module.exports=NavigatorSceneConfigs;

/***/ }),

/***/ "./node_modules/react-native/Libraries/EventEmitter/EmitterSubscription.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var EventSubscription=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/EventSubscription.js");var EmitterSubscription=function(_EventSubscription){_inherits(EmitterSubscription,_EventSubscription);function EmitterSubscription(emitter,subscriber,listener,context){_classCallCheck(this,EmitterSubscription);var _this=_possibleConstructorReturn(this,(EmitterSubscription.__proto__||Object.getPrototypeOf(EmitterSubscription)).call(this,subscriber));_this.emitter=emitter;_this.listener=listener;_this.context=context;return _this;}_createClass(EmitterSubscription,[{key:'remove',value:function remove(){this.emitter.removeSubscription(this);}}]);return EmitterSubscription;}(EventSubscription);module.exports=EmitterSubscription;

/***/ }),

/***/ "./node_modules/react-native/Libraries/EventEmitter/EventEmitter.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var EmitterSubscription=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/EmitterSubscription.js");var EventSubscriptionVendor=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/EventSubscriptionVendor.js");var emptyFunction=__webpack_require__("./node_modules/fbjs/lib/emptyFunction.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var EventEmitter=function(){function EventEmitter(subscriber){_classCallCheck(this,EventEmitter);this._subscriber=subscriber||new EventSubscriptionVendor();}_createClass(EventEmitter,[{key:'addListener',value:function addListener(eventType,listener,context){return this._subscriber.addSubscription(eventType,new EmitterSubscription(this,this._subscriber,listener,context));}},{key:'once',value:function once(eventType,listener,context){var _this=this;return this.addListener(eventType,function(){for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}_this.removeCurrentListener();listener.apply(context,args);});}},{key:'removeAllListeners',value:function removeAllListeners(eventType){this._subscriber.removeAllSubscriptions(eventType);}},{key:'removeCurrentListener',value:function removeCurrentListener(){invariant(!!this._currentSubscription,'Not in an emitting cycle; there is no current subscription');this.removeSubscription(this._currentSubscription);}},{key:'removeSubscription',value:function removeSubscription(subscription){invariant(subscription.emitter===this,'Subscription does not belong to this emitter.');this._subscriber.removeSubscription(subscription);}},{key:'listeners',value:function listeners(eventType){var subscriptions=this._subscriber.getSubscriptionsForType(eventType);return subscriptions?subscriptions.filter(emptyFunction.thatReturnsTrue).map(function(subscription){return subscription.listener;}):[];}},{key:'emit',value:function emit(eventType){var subscriptions=this._subscriber.getSubscriptionsForType(eventType);if(subscriptions){for(var i=0,l=subscriptions.length;i<l;i++){var subscription=subscriptions[i];if(subscription){this._currentSubscription=subscription;subscription.listener.apply(subscription.context,Array.prototype.slice.call(arguments,1));}}this._currentSubscription=null;}}},{key:'removeListener',value:function removeListener(eventType,listener){var subscriptions=this._subscriber.getSubscriptionsForType(eventType);if(subscriptions){for(var i=0,l=subscriptions.length;i<l;i++){var subscription=subscriptions[i];if(subscription&&subscription.listener===listener){subscription.remove();}}}}}]);return EventEmitter;}();module.exports=EventEmitter;

/***/ }),

/***/ "./node_modules/react-native/Libraries/EventEmitter/EventEmitterWithHolding.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++){arr2[i]=arr[i];}return arr2;}else{return Array.from(arr);}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var EventEmitterWithHolding=function(){function EventEmitterWithHolding(emitter,holder){_classCallCheck(this,EventEmitterWithHolding);this._emitter=emitter;this._eventHolder=holder;this._currentEventToken=null;this._emittingHeldEvents=false;}_createClass(EventEmitterWithHolding,[{key:'addListener',value:function addListener(eventType,listener,context){return this._emitter.addListener(eventType,listener,context);}},{key:'once',value:function once(eventType,listener,context){return this._emitter.once(eventType,listener,context);}},{key:'addRetroactiveListener',value:function addRetroactiveListener(eventType,listener,context){var subscription=this._emitter.addListener(eventType,listener,context);this._emittingHeldEvents=true;this._eventHolder.emitToListener(eventType,listener,context);this._emittingHeldEvents=false;return subscription;}},{key:'removeAllListeners',value:function removeAllListeners(eventType){this._emitter.removeAllListeners(eventType);}},{key:'removeCurrentListener',value:function removeCurrentListener(){this._emitter.removeCurrentListener();}},{key:'listeners',value:function listeners(eventType){return this._emitter.listeners(eventType);}},{key:'emit',value:function emit(eventType){var _emitter;for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key];}(_emitter=this._emitter).emit.apply(_emitter,[eventType].concat(_toConsumableArray(args)));}},{key:'emitAndHold',value:function emitAndHold(eventType){var _eventHolder,_emitter2;for(var _len2=arguments.length,args=Array(_len2>1?_len2-1:0),_key2=1;_key2<_len2;_key2++){args[_key2-1]=arguments[_key2];}this._currentEventToken=(_eventHolder=this._eventHolder).holdEvent.apply(_eventHolder,[eventType].concat(_toConsumableArray(args)));(_emitter2=this._emitter).emit.apply(_emitter2,[eventType].concat(_toConsumableArray(args)));this._currentEventToken=null;}},{key:'releaseCurrentEvent',value:function releaseCurrentEvent(){if(this._currentEventToken){this._eventHolder.releaseEvent(this._currentEventToken);}else if(this._emittingHeldEvents){this._eventHolder.releaseCurrentEvent();}}},{key:'releaseHeldEventType',value:function releaseHeldEventType(eventType){this._eventHolder.releaseEventType(eventType);}}]);return EventEmitterWithHolding;}();module.exports=EventEmitterWithHolding;

/***/ }),

/***/ "./node_modules/react-native/Libraries/EventEmitter/EventHolder.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var EventHolder=function(){function EventHolder(){_classCallCheck(this,EventHolder);this._heldEvents={};this._currentEventKey=null;}_createClass(EventHolder,[{key:'holdEvent',value:function holdEvent(eventType){this._heldEvents[eventType]=this._heldEvents[eventType]||[];var eventsOfType=this._heldEvents[eventType];var key={eventType:eventType,index:eventsOfType.length};for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key];}eventsOfType.push(args);return key;}},{key:'emitToListener',value:function emitToListener(eventType,listener,context){var _this=this;var eventsOfType=this._heldEvents[eventType];if(!eventsOfType){return;}var origEventKey=this._currentEventKey;eventsOfType.forEach(function(eventHeld,index){if(!eventHeld){return;}_this._currentEventKey={eventType:eventType,index:index};listener.apply(context,eventHeld);});this._currentEventKey=origEventKey;}},{key:'releaseCurrentEvent',value:function releaseCurrentEvent(){invariant(this._currentEventKey!==null,'Not in an emitting cycle; there is no current event');this._currentEventKey&&this.releaseEvent(this._currentEventKey);}},{key:'releaseEvent',value:function releaseEvent(token){delete this._heldEvents[token.eventType][token.index];}},{key:'releaseEventType',value:function releaseEventType(type){this._heldEvents[type]=[];}}]);return EventHolder;}();module.exports=EventHolder;

/***/ }),

/***/ "./node_modules/react-native/Libraries/EventEmitter/EventSubscription.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var EventSubscription=function(){function EventSubscription(subscriber){_classCallCheck(this,EventSubscription);this.subscriber=subscriber;}_createClass(EventSubscription,[{key:'remove',value:function remove(){this.subscriber.removeSubscription(this);}}]);return EventSubscription;}();module.exports=EventSubscription;

/***/ }),

/***/ "./node_modules/react-native/Libraries/EventEmitter/EventSubscriptionVendor.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var EventSubscriptionVendor=function(){function EventSubscriptionVendor(){_classCallCheck(this,EventSubscriptionVendor);this._subscriptionsForType={};this._currentSubscription=null;}_createClass(EventSubscriptionVendor,[{key:'addSubscription',value:function addSubscription(eventType,subscription){invariant(subscription.subscriber===this,'The subscriber of the subscription is incorrectly set.');if(!this._subscriptionsForType[eventType]){this._subscriptionsForType[eventType]=[];}var key=this._subscriptionsForType[eventType].length;this._subscriptionsForType[eventType].push(subscription);subscription.eventType=eventType;subscription.key=key;return subscription;}},{key:'removeAllSubscriptions',value:function removeAllSubscriptions(eventType){if(eventType===undefined){this._subscriptionsForType={};}else{delete this._subscriptionsForType[eventType];}}},{key:'removeSubscription',value:function removeSubscription(subscription){var eventType=subscription.eventType;var key=subscription.key;var subscriptionsForType=this._subscriptionsForType[eventType];if(subscriptionsForType){delete subscriptionsForType[key];}}},{key:'getSubscriptionsForType',value:function getSubscriptionsForType(eventType){return this._subscriptionsForType[eventType];}}]);return EventSubscriptionVendor;}();module.exports=EventSubscriptionVendor;

/***/ }),

/***/ "./node_modules/react-native/Libraries/EventEmitter/EventValidator.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var copyProperties=__webpack_require__("./node_modules/react-native/Libraries/vendor/core/copyProperties.js");var EventValidator={addValidation:function addValidation(emitter,types){var eventTypes=Object.keys(types);var emitterWithValidation=Object.create(emitter);copyProperties(emitterWithValidation,{emit:function emit(type,a,b,c,d,e,_){assertAllowsEventType(type,eventTypes);return emitter.emit.call(this,type,a,b,c,d,e,_);}});return emitterWithValidation;}};function assertAllowsEventType(type,allowedTypes){if(allowedTypes.indexOf(type)===-1){throw new TypeError(errorMessageFor(type,allowedTypes));}}function errorMessageFor(type,allowedTypes){var message='Unknown event type "'+type+'". ';if(false){message+=recommendationFor(type,allowedTypes);}message+='Known event types: '+allowedTypes.join(', ')+'.';return message;}if(false){var recommendationFor=function recommendationFor(type,allowedTypes){var closestTypeRecommendation=closestTypeFor(type,allowedTypes);if(isCloseEnough(closestTypeRecommendation,type)){return'Did you mean "'+closestTypeRecommendation.type+'"? ';}else{return'';}};var closestTypeFor=function closestTypeFor(type,allowedTypes){var typeRecommendations=allowedTypes.map(typeRecommendationFor.bind(this,type));return typeRecommendations.sort(recommendationSort)[0];};var typeRecommendationFor=function typeRecommendationFor(type,recomendedType){return{type:recomendedType,distance:damerauLevenshteinDistance(type,recomendedType)};};var recommendationSort=function recommendationSort(recommendationA,recommendationB){if(recommendationA.distance<recommendationB.distance){return-1;}else if(recommendationA.distance>recommendationB.distance){return 1;}else{return 0;}};var isCloseEnough=function isCloseEnough(closestType,actualType){return closestType.distance/actualType.length<0.334;};var damerauLevenshteinDistance=function damerauLevenshteinDistance(a,b){var i=void 0,j=void 0;var d=[];for(i=0;i<=a.length;i++){d[i]=[i];}for(j=1;j<=b.length;j++){d[0][j]=j;}for(i=1;i<=a.length;i++){for(j=1;j<=b.length;j++){var cost=a.charAt(i-1)===b.charAt(j-1)?0:1;d[i][j]=Math.min(d[i-1][j]+1,d[i][j-1]+1,d[i-1][j-1]+cost);if(i>1&&j>1&&a.charAt(i-1)===b.charAt(j-2)&&a.charAt(i-2)===b.charAt(j-1)){d[i][j]=Math.min(d[i][j],d[i-2][j-2]+cost);}}}return d[a.length][b.length];};}module.exports=EventValidator;

/***/ }),

/***/ "./node_modules/react-native/Libraries/EventEmitter/NativeEventEmitter.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _get=function get(object,property,receiver){if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined;}else{return get(parent,property,receiver);}}else if("value"in desc){return desc.value;}else{var getter=desc.get;if(getter===undefined){return undefined;}return getter.call(receiver);}};function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var EventEmitter=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/EventEmitter.js");var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var RCTDeviceEventEmitter=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/RCTDeviceEventEmitter.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var NativeEventEmitter=function(_EventEmitter){_inherits(NativeEventEmitter,_EventEmitter);function NativeEventEmitter(nativeModule){_classCallCheck(this,NativeEventEmitter);var _this=_possibleConstructorReturn(this,(NativeEventEmitter.__proto__||Object.getPrototypeOf(NativeEventEmitter)).call(this,RCTDeviceEventEmitter.sharedSubscriber));if(Platform.OS==='ios'){invariant(nativeModule,'Native module cannot be null.');_this._nativeModule=nativeModule;}return _this;}_createClass(NativeEventEmitter,[{key:'addListener',value:function addListener(eventType,listener,context){if(Platform.OS==='ios'){this._nativeModule.addListener(eventType);}return _get(NativeEventEmitter.prototype.__proto__||Object.getPrototypeOf(NativeEventEmitter.prototype),'addListener',this).call(this,eventType,listener,context);}},{key:'removeAllListeners',value:function removeAllListeners(eventType){invariant(eventType,'eventType argument is required.');if(Platform.OS==='ios'){var count=this.listeners(eventType).length;this._nativeModule.removeListeners(count);}_get(NativeEventEmitter.prototype.__proto__||Object.getPrototypeOf(NativeEventEmitter.prototype),'removeAllListeners',this).call(this,eventType);}},{key:'removeSubscription',value:function removeSubscription(subscription){if(Platform.OS==='ios'){this._nativeModule.removeListeners(1);}_get(NativeEventEmitter.prototype.__proto__||Object.getPrototypeOf(NativeEventEmitter.prototype),'removeSubscription',this).call(this,subscription);}}]);return NativeEventEmitter;}(EventEmitter);module.exports=NativeEventEmitter;

/***/ }),

/***/ "./node_modules/react-native/Libraries/EventEmitter/RCTDeviceEventEmitter.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _get=function get(object,property,receiver){if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined;}else{return get(parent,property,receiver);}}else if("value"in desc){return desc.value;}else{var getter=desc.get;if(getter===undefined){return undefined;}return getter.call(receiver);}};function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var EventEmitter=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/EventEmitter.js");var EventSubscriptionVendor=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/EventSubscriptionVendor.js");var BatchedBridge=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/BatchedBridge.js");var RCTDeviceEventEmitter=function(_EventEmitter){_inherits(RCTDeviceEventEmitter,_EventEmitter);function RCTDeviceEventEmitter(){_classCallCheck(this,RCTDeviceEventEmitter);var sharedSubscriber=new EventSubscriptionVendor();var _this=_possibleConstructorReturn(this,(RCTDeviceEventEmitter.__proto__||Object.getPrototypeOf(RCTDeviceEventEmitter)).call(this,sharedSubscriber));_this.sharedSubscriber=sharedSubscriber;return _this;}_createClass(RCTDeviceEventEmitter,[{key:'_nativeEventModule',value:function _nativeEventModule(eventType){if(eventType){if(eventType.lastIndexOf('statusBar',0)===0){console.warn('`%s` event should be registered via the StatusBarIOS module',eventType);return __webpack_require__("./node_modules/react-native/Libraries/Components/StatusBar/StatusBarIOS.ios.js");}if(eventType.lastIndexOf('keyboard',0)===0){console.warn('`%s` event should be registered via the Keyboard module',eventType);return __webpack_require__("./node_modules/react-native/Libraries/Components/Keyboard/Keyboard.js");}if(eventType==='appStateDidChange'||eventType==='memoryWarning'){console.warn('`%s` event should be registered via the AppState module',eventType);return __webpack_require__("./node_modules/react-native/Libraries/AppState/AppState.js");}}return null;}},{key:'addListener',value:function addListener(eventType,listener,context){var eventModule=this._nativeEventModule(eventType);return eventModule?eventModule.addListener(eventType,listener,context):_get(RCTDeviceEventEmitter.prototype.__proto__||Object.getPrototypeOf(RCTDeviceEventEmitter.prototype),'addListener',this).call(this,eventType,listener,context);}},{key:'removeAllListeners',value:function removeAllListeners(eventType){var eventModule=this._nativeEventModule(eventType);eventModule&&eventType?eventModule.removeAllListeners(eventType):_get(RCTDeviceEventEmitter.prototype.__proto__||Object.getPrototypeOf(RCTDeviceEventEmitter.prototype),'removeAllListeners',this).call(this,eventType);}},{key:'removeSubscription',value:function removeSubscription(subscription){if(subscription.emitter!==this){subscription.emitter.removeSubscription(subscription);}else{_get(RCTDeviceEventEmitter.prototype.__proto__||Object.getPrototypeOf(RCTDeviceEventEmitter.prototype),'removeSubscription',this).call(this,subscription);}}}]);return RCTDeviceEventEmitter;}(EventEmitter);RCTDeviceEventEmitter=new RCTDeviceEventEmitter();BatchedBridge.registerCallableModule('RCTDeviceEventEmitter',RCTDeviceEventEmitter);module.exports=RCTDeviceEventEmitter;

/***/ }),

/***/ "./node_modules/react-native/Libraries/EventEmitter/RCTEventEmitter.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var BatchedBridge=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/BatchedBridge.js");var RCTEventEmitter={register:function register(eventEmitter){BatchedBridge.registerCallableModule('RCTEventEmitter',eventEmitter);}};module.exports=RCTEventEmitter;

/***/ }),

/***/ "./node_modules/react-native/Libraries/EventEmitter/RCTNativeAppEventEmitter.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var BatchedBridge=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/BatchedBridge.js");var RCTDeviceEventEmitter=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/RCTDeviceEventEmitter.js");var RCTNativeAppEventEmitter=RCTDeviceEventEmitter;BatchedBridge.registerCallableModule('RCTNativeAppEventEmitter',RCTNativeAppEventEmitter);module.exports=RCTNativeAppEventEmitter;

/***/ }),

/***/ "./node_modules/react-native/Libraries/EventEmitter/mixInEventEmitter.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var EventEmitter=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/EventEmitter.js");var EventEmitterWithHolding=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/EventEmitterWithHolding.js");var EventHolder=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/EventHolder.js");var EventValidator=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/EventValidator.js");var copyProperties=__webpack_require__("./node_modules/react-native/Libraries/vendor/core/copyProperties.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var keyOf=__webpack_require__("./node_modules/fbjs/lib/keyOf.js");var TYPES_KEY=keyOf({__types:true});function mixInEventEmitter(cls,types){invariant(types,'Must supply set of valid event types');var target=cls.prototype||cls;invariant(!target.__eventEmitter,'An active emitter is already mixed in');var ctor=cls.constructor;if(ctor){invariant(ctor===Object||ctor===Function,'Mix EventEmitter into a class, not an instance');}if(target.hasOwnProperty(TYPES_KEY)){copyProperties(target.__types,types);}else if(target.__types){target.__types=copyProperties({},target.__types,types);}else{target.__types=types;}copyProperties(target,EventEmitterMixin);}var EventEmitterMixin={emit:function emit(eventType,a,b,c,d,e,_){return this.__getEventEmitter().emit(eventType,a,b,c,d,e,_);},emitAndHold:function emitAndHold(eventType,a,b,c,d,e,_){return this.__getEventEmitter().emitAndHold(eventType,a,b,c,d,e,_);},addListener:function addListener(eventType,listener,context){return this.__getEventEmitter().addListener(eventType,listener,context);},once:function once(eventType,listener,context){return this.__getEventEmitter().once(eventType,listener,context);},addRetroactiveListener:function addRetroactiveListener(eventType,listener,context){return this.__getEventEmitter().addRetroactiveListener(eventType,listener,context);},addListenerMap:function addListenerMap(listenerMap,context){return this.__getEventEmitter().addListenerMap(listenerMap,context);},addRetroactiveListenerMap:function addRetroactiveListenerMap(listenerMap,context){return this.__getEventEmitter().addListenerMap(listenerMap,context);},removeAllListeners:function removeAllListeners(){this.__getEventEmitter().removeAllListeners();},removeCurrentListener:function removeCurrentListener(){this.__getEventEmitter().removeCurrentListener();},releaseHeldEventType:function releaseHeldEventType(eventType){this.__getEventEmitter().releaseHeldEventType(eventType);},__getEventEmitter:function __getEventEmitter(){if(!this.__eventEmitter){var emitter=new EventEmitter();emitter=EventValidator.addValidation(emitter,this.__types);var holder=new EventHolder();this.__eventEmitter=new EventEmitterWithHolding(emitter,holder);}return this.__eventEmitter;}};module.exports=mixInEventEmitter;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Experimental/SwipeableRow/SwipeableListView.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Experimental/SwipeableRow/SwipeableListView.js';var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var ListView=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/ListView/ListView.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var SwipeableListViewDataSource=__webpack_require__("./node_modules/react-native/Libraries/Experimental/SwipeableRow/SwipeableListViewDataSource.js");var SwipeableRow=__webpack_require__("./node_modules/react-native/Libraries/Experimental/SwipeableRow/SwipeableRow.js");var PropTypes=React.PropTypes;var SwipeableListView=function(_React$Component){_inherits(SwipeableListView,_React$Component);_createClass(SwipeableListView,null,[{key:'getNewDataSource',value:function getNewDataSource(){return new SwipeableListViewDataSource({getRowData:function getRowData(data,sectionID,rowID){return data[sectionID][rowID];},getSectionHeaderData:function getSectionHeaderData(data,sectionID){return data[sectionID];},rowHasChanged:function rowHasChanged(row1,row2){return row1!==row2;},sectionHeaderHasChanged:function sectionHeaderHasChanged(s1,s2){return s1!==s2;}});}}]);function SwipeableListView(props,context){_classCallCheck(this,SwipeableListView);var _this=_possibleConstructorReturn(this,(SwipeableListView.__proto__||Object.getPrototypeOf(SwipeableListView)).call(this,props,context));_this._listViewRef=null;_this._shouldBounceFirstRowOnMount=false;_this._onScroll=function(e){if(_this.props.dataSource.getOpenRowID()){_this.setState({dataSource:_this.state.dataSource.setOpenRowID(null)});}_this.props.onScroll&&_this.props.onScroll(e);};_this._getMaxSwipeDistance=function(rowData,sectionID,rowID){if(typeof _this.props.maxSwipeDistance==='function'){return _this.props.maxSwipeDistance(rowData,sectionID,rowID);}return _this.props.maxSwipeDistance;};_this._renderRow=function(rowData,sectionID,rowID){var slideoutView=_this.props.renderQuickActions(rowData,sectionID,rowID);if(!slideoutView){return _this.props.renderRow(rowData,sectionID,rowID);}var shouldBounceOnMount=false;if(_this._shouldBounceFirstRowOnMount){_this._shouldBounceFirstRowOnMount=false;shouldBounceOnMount=rowID===_this.props.dataSource.getFirstRowID();}return React.createElement(SwipeableRow,{slideoutView:slideoutView,isOpen:rowData.id===_this.props.dataSource.getOpenRowID(),maxSwipeDistance:_this._getMaxSwipeDistance(rowData,sectionID,rowID),key:rowID,onOpen:function onOpen(){return _this._onOpen(rowData.id);},onSwipeEnd:function onSwipeEnd(){return _this._setListViewScrollable(true);},onSwipeStart:function onSwipeStart(){return _this._setListViewScrollable(false);},shouldBounceOnMount:shouldBounceOnMount,__source:{fileName:_jsxFileName,lineNumber:193}},_this.props.renderRow(rowData,sectionID,rowID));};_this._shouldBounceFirstRowOnMount=_this.props.bounceFirstRowOnMount;_this.state={dataSource:_this.props.dataSource};return _this;}_createClass(SwipeableListView,[{key:'componentWillReceiveProps',value:function componentWillReceiveProps(nextProps){if(this.state.dataSource.getDataSource()!==nextProps.dataSource.getDataSource()){this.setState({dataSource:nextProps.dataSource});}}},{key:'render',value:function render(){var _this2=this;return React.createElement(ListView,_extends({},this.props,{ref:function ref(_ref){_this2._listViewRef=_ref;},dataSource:this.state.dataSource.getDataSource(),onScroll:this._onScroll,renderRow:this._renderRow,__source:{fileName:_jsxFileName,lineNumber:126}}));}},{key:'_setListViewScrollable',value:function _setListViewScrollable(value){if(this._listViewRef&&typeof this._listViewRef.setNativeProps==='function'){this._listViewRef.setNativeProps({scrollEnabled:value});}}},{key:'getScrollResponder',value:function getScrollResponder(){if(this._listViewRef&&typeof this._listViewRef.getScrollResponder==='function'){return this._listViewRef.getScrollResponder();}}},{key:'_onOpen',value:function _onOpen(rowID){this.setState({dataSource:this.state.dataSource.setOpenRowID(rowID)});}}]);return SwipeableListView;}(React.Component);SwipeableListView.propTypes={bounceFirstRowOnMount:PropTypes.bool.isRequired,dataSource:PropTypes.instanceOf(SwipeableListViewDataSource).isRequired,maxSwipeDistance:PropTypes.oneOfType([PropTypes.number,PropTypes.func]).isRequired,renderRow:PropTypes.func.isRequired,renderQuickActions:PropTypes.func.isRequired};SwipeableListView.defaultProps={bounceFirstRowOnMount:false,renderQuickActions:function renderQuickActions(){return null;}};module.exports=SwipeableListView;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Experimental/SwipeableRow/SwipeableListViewDataSource.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var ListViewDataSource=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/ListView/ListViewDataSource.js");var SwipeableListViewDataSource=function(){function SwipeableListViewDataSource(params){var _this=this;_classCallCheck(this,SwipeableListViewDataSource);this._dataSource=new ListViewDataSource({getRowData:params.getRowData,getSectionHeaderData:params.getSectionHeaderData,rowHasChanged:function rowHasChanged(row1,row2){return row1.id!==_this._previousOpenRowID&&row2.id===_this._openRowID||row1.id===_this._previousOpenRowID&&row2.id!==_this._openRowID||params.rowHasChanged(row1,row2);},sectionHeaderHasChanged:params.sectionHeaderHasChanged});}_createClass(SwipeableListViewDataSource,[{key:'cloneWithRowsAndSections',value:function cloneWithRowsAndSections(dataBlob,sectionIdentities,rowIdentities){this._dataSource=this._dataSource.cloneWithRowsAndSections(dataBlob,sectionIdentities,rowIdentities);this._dataBlob=dataBlob;this.rowIdentities=this._dataSource.rowIdentities;this.sectionIdentities=this._dataSource.sectionIdentities;return this;}},{key:'getDataSource',value:function getDataSource(){return this._dataSource;}},{key:'getOpenRowID',value:function getOpenRowID(){return this._openRowID;}},{key:'getFirstRowID',value:function getFirstRowID(){if(this.rowIdentities){return this.rowIdentities[0]&&this.rowIdentities[0][0];}return Object.keys(this._dataBlob)[0];}},{key:'setOpenRowID',value:function setOpenRowID(rowID){this._previousOpenRowID=this._openRowID;this._openRowID=rowID;this._dataSource=this._dataSource.cloneWithRowsAndSections(this._dataBlob,this.sectionIdentities,this.rowIdentities);return this;}}]);return SwipeableListViewDataSource;}();module.exports=SwipeableListViewDataSource;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Experimental/SwipeableRow/SwipeableRow.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Experimental/SwipeableRow/SwipeableRow.js';var Animated=__webpack_require__("./node_modules/react-native/Libraries/Animated/src/Animated.js");var PanResponder=__webpack_require__("./node_modules/react-native/Libraries/Interaction/PanResponder.js");var I18nManager=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/I18nManager.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var TimerMixin=__webpack_require__("./node_modules/react-timer-mixin/TimerMixin.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var PropTypes=React.PropTypes;var emptyFunction=__webpack_require__("./node_modules/fbjs/lib/emptyFunction.js");var IS_RTL=I18nManager.isRTL;var CLOSED_LEFT_POSITION=0;var HORIZONTAL_SWIPE_DISTANCE_THRESHOLD=10;var HORIZONTAL_FULL_SWIPE_SPEED_THRESHOLD=0.3;var SLOW_SPEED_SWIPE_FACTOR=4;var SWIPE_DURATION=300;var ON_MOUNT_BOUNCE_DELAY=700;var ON_MOUNT_BOUNCE_DURATION=400;var RIGHT_SWIPE_BOUNCE_BACK_DISTANCE=30;var RIGHT_SWIPE_BOUNCE_BACK_DURATION=300;var RIGHT_SWIPE_THRESHOLD=30*SLOW_SPEED_SWIPE_FACTOR;var SwipeableRow=React.createClass({displayName:'SwipeableRow',_panResponder:{},_previousLeft:CLOSED_LEFT_POSITION,mixins:[TimerMixin],propTypes:{children:PropTypes.any,isOpen:PropTypes.bool,maxSwipeDistance:PropTypes.number.isRequired,onOpen:PropTypes.func.isRequired,onSwipeEnd:PropTypes.func.isRequired,onSwipeStart:PropTypes.func.isRequired,shouldBounceOnMount:PropTypes.bool,slideoutView:PropTypes.node.isRequired,swipeThreshold:PropTypes.number.isRequired},getInitialState:function getInitialState(){return{currentLeft:new Animated.Value(this._previousLeft),isSwipeableViewRendered:false,rowHeight:null};},getDefaultProps:function getDefaultProps(){return{isOpen:false,maxSwipeDistance:0,onOpen:emptyFunction,onSwipeEnd:emptyFunction,onSwipeStart:emptyFunction,swipeThreshold:30};},componentWillMount:function componentWillMount(){this._panResponder=PanResponder.create({onMoveShouldSetPanResponderCapture:this._handleMoveShouldSetPanResponderCapture,onPanResponderGrant:this._handlePanResponderGrant,onPanResponderMove:this._handlePanResponderMove,onPanResponderRelease:this._handlePanResponderEnd,onPanResponderTerminationRequest:this._onPanResponderTerminationRequest,onPanResponderTerminate:this._handlePanResponderEnd});},componentDidMount:function componentDidMount(){var _this=this;if(this.props.shouldBounceOnMount){this.setTimeout(function(){_this._animateBounceBack(ON_MOUNT_BOUNCE_DURATION);},ON_MOUNT_BOUNCE_DELAY);}},componentWillReceiveProps:function componentWillReceiveProps(nextProps){if(this.props.isOpen&&!nextProps.isOpen){this._animateToClosedPosition();}},shouldComponentUpdate:function shouldComponentUpdate(nextProps,nextState){if(this.props.shouldBounceOnMount&&!nextProps.shouldBounceOnMount){return false;}return true;},render:function render(){var slideOutView=void 0;if(this.state.isSwipeableViewRendered){slideOutView=React.createElement(View,{style:[styles.slideOutContainer,{height:this.state.rowHeight}],__source:{fileName:_jsxFileName,lineNumber:176}},this.props.slideoutView);}var swipeableView=React.createElement(Animated.View,{onLayout:this._onSwipeableViewLayout,style:[styles.swipeableContainer,{transform:[{translateX:this.state.currentLeft}]}],__source:{fileName:_jsxFileName,lineNumber:187}},this.props.children);return React.createElement(View,_extends({},this._panResponder.panHandlers,{__source:{fileName:_jsxFileName,lineNumber:200}}),slideOutView,swipeableView);},_onSwipeableViewLayout:function _onSwipeableViewLayout(event){this.setState({isSwipeableViewRendered:true,rowHeight:event.nativeEvent.layout.height});},_handleMoveShouldSetPanResponderCapture:function _handleMoveShouldSetPanResponderCapture(event,gestureState){return gestureState.dy<10&&this._isValidSwipe(gestureState);},_handlePanResponderGrant:function _handlePanResponderGrant(event,gestureState){},_handlePanResponderMove:function _handlePanResponderMove(event,gestureState){if(this._isSwipingExcessivelyRightFromClosedPosition(gestureState)){return;}this.props.onSwipeStart();if(this._isSwipingRightFromClosed(gestureState)){this._swipeSlowSpeed(gestureState);}else{this._swipeFullSpeed(gestureState);}},_isSwipingRightFromClosed:function _isSwipingRightFromClosed(gestureState){var gestureStateDx=IS_RTL?-gestureState.dx:gestureState.dx;return this._previousLeft===CLOSED_LEFT_POSITION&&gestureStateDx>0;},_swipeFullSpeed:function _swipeFullSpeed(gestureState){this.state.currentLeft.setValue(this._previousLeft+gestureState.dx);},_swipeSlowSpeed:function _swipeSlowSpeed(gestureState){this.state.currentLeft.setValue(this._previousLeft+gestureState.dx/SLOW_SPEED_SWIPE_FACTOR);},_isSwipingExcessivelyRightFromClosedPosition:function _isSwipingExcessivelyRightFromClosedPosition(gestureState){var gestureStateDx=IS_RTL?-gestureState.dx:gestureState.dx;return this._isSwipingRightFromClosed(gestureState)&&gestureStateDx>RIGHT_SWIPE_THRESHOLD;},_onPanResponderTerminationRequest:function _onPanResponderTerminationRequest(event,gestureState){return false;},_animateTo:function _animateTo(toValue){var _this2=this;var duration=arguments.length>1&&arguments[1]!==undefined?arguments[1]:SWIPE_DURATION;var callback=arguments.length>2&&arguments[2]!==undefined?arguments[2]:emptyFunction;Animated.timing(this.state.currentLeft,{duration:duration,toValue:toValue}).start(function(){_this2._previousLeft=toValue;callback();});},_animateToOpenPosition:function _animateToOpenPosition(){var maxSwipeDistance=IS_RTL?-this.props.maxSwipeDistance:this.props.maxSwipeDistance;this._animateTo(-maxSwipeDistance);},_animateToOpenPositionWith:function _animateToOpenPositionWith(speed,distMoved){speed=speed>HORIZONTAL_FULL_SWIPE_SPEED_THRESHOLD?speed:HORIZONTAL_FULL_SWIPE_SPEED_THRESHOLD;var duration=Math.abs((this.props.maxSwipeDistance-Math.abs(distMoved))/speed);var maxSwipeDistance=IS_RTL?-this.props.maxSwipeDistance:this.props.maxSwipeDistance;this._animateTo(-maxSwipeDistance,duration);},_animateToClosedPosition:function _animateToClosedPosition(){var duration=arguments.length>0&&arguments[0]!==undefined?arguments[0]:SWIPE_DURATION;this._animateTo(CLOSED_LEFT_POSITION,duration);},_animateToClosedPositionDuringBounce:function _animateToClosedPositionDuringBounce(){this._animateToClosedPosition(RIGHT_SWIPE_BOUNCE_BACK_DURATION);},_animateBounceBack:function _animateBounceBack(duration){var swipeBounceBackDistance=IS_RTL?-RIGHT_SWIPE_BOUNCE_BACK_DISTANCE:RIGHT_SWIPE_BOUNCE_BACK_DISTANCE;this._animateTo(-swipeBounceBackDistance,duration,this._animateToClosedPositionDuringBounce);},_isValidSwipe:function _isValidSwipe(gestureState){return Math.abs(gestureState.dx)>HORIZONTAL_SWIPE_DISTANCE_THRESHOLD;},_shouldAnimateRemainder:function _shouldAnimateRemainder(gestureState){return Math.abs(gestureState.dx)>this.props.swipeThreshold||gestureState.vx>HORIZONTAL_FULL_SWIPE_SPEED_THRESHOLD;},_handlePanResponderEnd:function _handlePanResponderEnd(event,gestureState){var horizontalDistance=IS_RTL?-gestureState.dx:gestureState.dx;if(this._isSwipingRightFromClosed(gestureState)){this.props.onOpen();this._animateBounceBack(RIGHT_SWIPE_BOUNCE_BACK_DURATION);}else if(this._shouldAnimateRemainder(gestureState)){if(horizontalDistance<0){this.props.onOpen();this._animateToOpenPositionWith(gestureState.vx,horizontalDistance);}else{this._animateToClosedPosition();}}else{if(this._previousLeft===CLOSED_LEFT_POSITION){this._animateToClosedPosition();}else{this._animateToOpenPosition();}}this.props.onSwipeEnd();}});var styles=StyleSheet.create({slideOutContainer:{bottom:0,left:0,position:'absolute',right:0,top:0},swipeableContainer:{flex:1}});module.exports=SwipeableRow;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Geolocation/Geolocation.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var NativeEventEmitter=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/NativeEventEmitter.js");var RCTLocationObserver=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").LocationObserver;var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var logError=__webpack_require__("./node_modules/react-native/Libraries/Utilities/logError.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");var LocationEventEmitter=new NativeEventEmitter(RCTLocationObserver);var subscriptions=[];var updatesEnabled=false;var Geolocation={getCurrentPosition:function getCurrentPosition(geo_success,geo_error,geo_options){invariant(typeof geo_success==='function','Must provide a valid geo_success callback.');RCTLocationObserver.getCurrentPosition(geo_options||{},geo_success,geo_error||logError);},watchPosition:function watchPosition(success,error,options){if(!updatesEnabled){RCTLocationObserver.startObserving(options||{});updatesEnabled=true;}var watchID=subscriptions.length;subscriptions.push([LocationEventEmitter.addListener('geolocationDidChange',success),error?LocationEventEmitter.addListener('geolocationError',error):null]);return watchID;},clearWatch:function clearWatch(watchID){var sub=subscriptions[watchID];if(!sub){return;}sub[0].remove();var sub1=sub[1];sub1&&sub1.remove();subscriptions[watchID]=undefined;var noWatchers=true;for(var ii=0;ii<subscriptions.length;ii++){if(subscriptions[ii]){noWatchers=false;}}if(noWatchers){Geolocation.stopObserving();}},stopObserving:function stopObserving(){if(updatesEnabled){RCTLocationObserver.stopObserving();updatesEnabled=false;for(var ii=0;ii<subscriptions.length;ii++){var sub=subscriptions[ii];if(sub){warning('Called stopObserving with existing subscriptions.');sub[0].remove();var sub1=sub[1];sub1&&sub1.remove();}}subscriptions=[];}}};module.exports=Geolocation;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Image/AssetRegistry.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var assets=[];function registerAsset(asset){return assets.push(asset);}function getAssetByID(assetId){return assets[assetId-1];}module.exports={registerAsset:registerAsset,getAssetByID:getAssetByID};

/***/ }),

/***/ "./node_modules/react-native/Libraries/Image/AssetSourceResolver.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var PixelRatio=__webpack_require__("./node_modules/react-native/Libraries/Utilities/PixelRatio.js");var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var assetPathUtils=__webpack_require__("./node_modules/react-native/local-cli/bundle/assetPathUtils.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");function getScaledAssetPath(asset){var scale=AssetSourceResolver.pickScale(asset.scales,PixelRatio.get());var scaleSuffix=scale===1?'':'@'+scale+'x';var assetDir=assetPathUtils.getBasePath(asset);return assetDir+'/'+asset.name+scaleSuffix+'.'+asset.type;}function getAssetPathInDrawableFolder(asset){var scale=AssetSourceResolver.pickScale(asset.scales,PixelRatio.get());var drawbleFolder=assetPathUtils.getAndroidDrawableFolderName(asset,scale);var fileName=assetPathUtils.getAndroidResourceIdentifier(asset);return drawbleFolder+'/'+fileName+'.'+asset.type;}var AssetSourceResolver=function(){function AssetSourceResolver(serverUrl,bundlePath,asset){_classCallCheck(this,AssetSourceResolver);this.serverUrl=serverUrl;this.bundlePath=bundlePath;this.asset=asset;}_createClass(AssetSourceResolver,[{key:'isLoadedFromServer',value:function isLoadedFromServer(){return!!this.serverUrl;}},{key:'isLoadedFromFileSystem',value:function isLoadedFromFileSystem(){return!!this.bundlePath;}},{key:'defaultAsset',value:function defaultAsset(){if(this.isLoadedFromServer()){return this.assetServerURL();}if(Platform.OS==='android'){return this.isLoadedFromFileSystem()?this.drawableFolderInBundle():this.resourceIdentifierWithoutScale();}else{return this.scaledAssetPathInBundle();}}},{key:'assetServerURL',value:function assetServerURL(){invariant(!!this.serverUrl,'need server to load from');return this.fromSource(this.serverUrl+getScaledAssetPath(this.asset)+'?platform='+Platform.OS+'&hash='+this.asset.hash);}},{key:'scaledAssetPath',value:function scaledAssetPath(){return this.fromSource(getScaledAssetPath(this.asset));}},{key:'scaledAssetPathInBundle',value:function scaledAssetPathInBundle(){var path=this.bundlePath||'';return this.fromSource(path+getScaledAssetPath(this.asset));}},{key:'resourceIdentifierWithoutScale',value:function resourceIdentifierWithoutScale(){invariant(Platform.OS==='android','resource identifiers work on Android');return this.fromSource(assetPathUtils.getAndroidResourceIdentifier(this.asset));}},{key:'drawableFolderInBundle',value:function drawableFolderInBundle(){var path=this.bundlePath||'';return this.fromSource('file://'+path+getAssetPathInDrawableFolder(this.asset));}},{key:'fromSource',value:function fromSource(source){return{__packager_asset:true,width:this.asset.width,height:this.asset.height,uri:source,scale:AssetSourceResolver.pickScale(this.asset.scales,PixelRatio.get())};}}],[{key:'pickScale',value:function pickScale(scales,deviceScale){for(var i=0;i<scales.length;i++){if(scales[i]>=deviceScale){return scales[i];}}return scales[scales.length-1]||1;}}]);return AssetSourceResolver;}();module.exports=AssetSourceResolver;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Image/Image.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Image/Image.ios.js';var EdgeInsetsPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/EdgeInsetsPropType.js");var ImageResizeMode=__webpack_require__("./node_modules/react-native/Libraries/Image/ImageResizeMode.js");var ImageSourcePropType=__webpack_require__("./node_modules/react-native/Libraries/Image/ImageSourcePropType.js");var ImageStylePropTypes=__webpack_require__("./node_modules/react-native/Libraries/Image/ImageStylePropTypes.js");var NativeMethodsMixin=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/NativeMethodsMixin.js");var NativeModules=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var ReactNativeViewAttributes=__webpack_require__("./node_modules/react-native/Libraries/Components/View/ReactNativeViewAttributes.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var StyleSheetPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheetPropType.js");var flattenStyle=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/flattenStyle.js");var requireNativeComponent=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/requireNativeComponent.js");var resolveAssetSource=__webpack_require__("./node_modules/react-native/Libraries/Image/resolveAssetSource.js");var PropTypes=React.PropTypes;var ImageViewManager=NativeModules.ImageViewManager;var Image=React.createClass({displayName:'Image',propTypes:{style:StyleSheetPropType(ImageStylePropTypes),source:ImageSourcePropType,defaultSource:PropTypes.oneOfType([PropTypes.shape({uri:PropTypes.string,width:PropTypes.number,height:PropTypes.number,scale:PropTypes.number}),PropTypes.number]),accessible:PropTypes.bool,accessibilityLabel:PropTypes.string,blurRadius:PropTypes.number,capInsets:EdgeInsetsPropType,resizeMethod:PropTypes.oneOf(['auto','resize','scale']),resizeMode:PropTypes.oneOf(['cover','contain','stretch','repeat','center']),testID:PropTypes.string,onLayout:PropTypes.func,onLoadStart:PropTypes.func,onProgress:PropTypes.func,onError:PropTypes.func,onPartialLoad:PropTypes.func,onLoad:PropTypes.func,onLoadEnd:PropTypes.func},statics:{resizeMode:ImageResizeMode,getSize:function getSize(uri,success,failure){ImageViewManager.getSize(uri,success,failure||function(){console.warn('Failed to get size for image: '+uri);});},prefetch:function prefetch(url){return ImageViewManager.prefetchImage(url);},resolveAssetSource:resolveAssetSource},mixins:[NativeMethodsMixin],viewConfig:{uiViewClassName:'UIView',validAttributes:ReactNativeViewAttributes.UIView},render:function render(){var source=resolveAssetSource(this.props.source)||{uri:undefined,width:undefined,height:undefined};var sources=void 0;var style=void 0;if(Array.isArray(source)){style=flattenStyle([styles.base,this.props.style])||{};sources=source;}else{var _width=source.width,_height=source.height,uri=source.uri;style=flattenStyle([{width:_width,height:_height},styles.base,this.props.style])||{};sources=[source];if(uri===''){console.warn('source.uri should not be an empty string');}}var resizeMode=this.props.resizeMode||(style||{}).resizeMode||'cover';var tintColor=(style||{}).tintColor;if(this.props.src){console.warn('The <Image> component requires a `source` property rather than `src`.');}return React.createElement(RCTImageView,_extends({},this.props,{style:style,resizeMode:resizeMode,tintColor:tintColor,source:sources,__source:{fileName:_jsxFileName,lineNumber:365}}));}});var styles=StyleSheet.create({base:{overflow:'hidden'}});var RCTImageView=requireNativeComponent('RCTImageView',Image);module.exports=Image;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Image/ImageEditor.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var RCTImageEditingManager=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").ImageEditingManager;var ImageEditor=function(){function ImageEditor(){_classCallCheck(this,ImageEditor);}_createClass(ImageEditor,null,[{key:'cropImage',value:function cropImage(uri,cropData,success,failure){RCTImageEditingManager.cropImage(uri,cropData,success,failure);}}]);return ImageEditor;}();module.exports=ImageEditor;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Image/ImageResizeMode.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var keyMirror=__webpack_require__("./node_modules/fbjs/lib/keyMirror.js");var ImageResizeMode=keyMirror({contain:null,cover:null,stretch:null,center:null,repeat:null});module.exports=ImageResizeMode;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Image/ImageSourcePropType.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _require=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js"),PropTypes=_require.PropTypes;var ImageURISourcePropType=PropTypes.shape({uri:PropTypes.string,bundle:PropTypes.string,method:PropTypes.string,headers:PropTypes.objectOf(PropTypes.string),body:PropTypes.string,width:PropTypes.number,height:PropTypes.number,scale:PropTypes.number});var ImageSourcePropType=PropTypes.oneOfType([ImageURISourcePropType,PropTypes.number,PropTypes.arrayOf(ImageURISourcePropType)]);module.exports=ImageSourcePropType;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Image/ImageStore.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var RCTImageStoreManager=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").ImageStoreManager;var ImageStore=function(){function ImageStore(){_classCallCheck(this,ImageStore);}_createClass(ImageStore,null,[{key:'hasImageForTag',value:function hasImageForTag(uri,callback){if(RCTImageStoreManager.hasImageForTag){RCTImageStoreManager.hasImageForTag(uri,callback);}else{console.warn('hasImageForTag() not implemented');}}},{key:'removeImageForTag',value:function removeImageForTag(uri){if(RCTImageStoreManager.removeImageForTag){RCTImageStoreManager.removeImageForTag(uri);}else{console.warn('removeImageForTag() not implemented');}}},{key:'addImageFromBase64',value:function addImageFromBase64(base64ImageData,success,failure){RCTImageStoreManager.addImageFromBase64(base64ImageData,success,failure);}},{key:'getBase64ForTag',value:function getBase64ForTag(uri,success,failure){RCTImageStoreManager.getBase64ForTag(uri,success,failure);}}]);return ImageStore;}();module.exports=ImageStore;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Image/ImageStylePropTypes.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var ImageResizeMode=__webpack_require__("./node_modules/react-native/Libraries/Image/ImageResizeMode.js");var LayoutPropTypes=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/LayoutPropTypes.js");var ColorPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/ColorPropType.js");var ShadowPropTypesIOS=__webpack_require__("./node_modules/react-native/Libraries/Components/View/ShadowPropTypesIOS.js");var TransformPropTypes=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/TransformPropTypes.js");var ReactPropTypes=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js").PropTypes;var ImageStylePropTypes=_extends({},LayoutPropTypes,ShadowPropTypesIOS,TransformPropTypes,{resizeMode:ReactPropTypes.oneOf(Object.keys(ImageResizeMode)),backfaceVisibility:ReactPropTypes.oneOf(['visible','hidden']),backgroundColor:ColorPropType,borderColor:ColorPropType,borderWidth:ReactPropTypes.number,borderRadius:ReactPropTypes.number,overflow:ReactPropTypes.oneOf(['visible','hidden']),tintColor:ColorPropType,opacity:ReactPropTypes.number,overlayColor:ReactPropTypes.string,borderTopLeftRadius:ReactPropTypes.number,borderTopRightRadius:ReactPropTypes.number,borderBottomLeftRadius:ReactPropTypes.number,borderBottomRightRadius:ReactPropTypes.number});module.exports=ImageStylePropTypes;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Image/resolveAssetSource.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var AssetRegistry=__webpack_require__("./node_modules/react-native/Libraries/Image/AssetRegistry.js");var AssetSourceResolver=__webpack_require__("./node_modules/react-native/Libraries/Image/AssetSourceResolver.js");var _require=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js"),SourceCode=_require.SourceCode;var _customSourceTransformer=void 0,_serverURL=void 0,_bundleSourcePath=void 0;function getDevServerURL(){if(_serverURL===undefined){var scriptURL=SourceCode.scriptURL;var match=scriptURL&&scriptURL.match(/^https?:\/\/.*?\//);if(match){_serverURL=match[0];}else{_serverURL=null;}}return _serverURL;}function getBundleSourcePath(){if(_bundleSourcePath===undefined){var scriptURL=SourceCode.scriptURL;if(!scriptURL){_bundleSourcePath=null;return _bundleSourcePath;}if(scriptURL.startsWith('assets://')){_bundleSourcePath=null;return _bundleSourcePath;}if(scriptURL.startsWith('file://')){_bundleSourcePath=scriptURL.substring(7,scriptURL.lastIndexOf('/')+1);}else{_bundleSourcePath=scriptURL.substring(0,scriptURL.lastIndexOf('/')+1);}}return _bundleSourcePath;}function setCustomSourceTransformer(transformer){_customSourceTransformer=transformer;}function resolveAssetSource(source){if(typeof source==='object'){return source;}var asset=AssetRegistry.getAssetByID(source);if(!asset){return null;}var resolver=new AssetSourceResolver(getDevServerURL(),getBundleSourcePath(),asset);if(_customSourceTransformer){return _customSourceTransformer(resolver);}return resolver.defaultAsset();}module.exports=resolveAssetSource;module.exports.pickScale=AssetSourceResolver.pickScale;module.exports.setCustomSourceTransformer=setCustomSourceTransformer;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Interaction/InteractionManager.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(setImmediate) {var BatchedBridge=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/BatchedBridge.js");var EventEmitter=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/EventEmitter.js");var Set=__webpack_require__("./node_modules/react-native/Libraries/vendor/core/Set.js");var TaskQueue=__webpack_require__("./node_modules/react-native/Libraries/Interaction/TaskQueue.js");var infoLog=__webpack_require__("./node_modules/react-native/Libraries/Utilities/infoLog.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var keyMirror=__webpack_require__("./node_modules/fbjs/lib/keyMirror.js");var _emitter=new EventEmitter();var DEBUG_DELAY=0;var DEBUG=false;var InteractionManager={Events:keyMirror({interactionStart:true,interactionComplete:true}),runAfterInteractions:function runAfterInteractions(task){var tasks=[];var promise=new Promise(function(resolve){_scheduleUpdate();if(task){tasks.push(task);}tasks.push({run:resolve,name:'resolve '+(task&&task.name||'?')});_taskQueue.enqueueTasks(tasks);});return{then:promise.then.bind(promise),done:function done(){if(promise.done){return promise.done.apply(promise,arguments);}else{console.warn('Tried to call done when not supported by current Promise implementation.');}},cancel:function cancel(){_taskQueue.cancelTasks(tasks);}};},createInteractionHandle:function createInteractionHandle(){DEBUG&&infoLog('create interaction handle');_scheduleUpdate();var handle=++_inc;_addInteractionSet.add(handle);return handle;},clearInteractionHandle:function clearInteractionHandle(handle){DEBUG&&infoLog('clear interaction handle');invariant(!!handle,'Must provide a handle to clear.');_scheduleUpdate();_addInteractionSet.delete(handle);_deleteInteractionSet.add(handle);},addListener:_emitter.addListener.bind(_emitter),setDeadline:function setDeadline(deadline){_deadline=deadline;}};var _interactionSet=new Set();var _addInteractionSet=new Set();var _deleteInteractionSet=new Set();var _taskQueue=new TaskQueue({onMoreTasks:_scheduleUpdate});var _nextUpdateHandle=0;var _inc=0;var _deadline=-1;function _scheduleUpdate(){if(!_nextUpdateHandle){if(_deadline>0){_nextUpdateHandle=setTimeout(_processUpdate,0+DEBUG_DELAY);}else{_nextUpdateHandle=setImmediate(_processUpdate);}}}function _processUpdate(){_nextUpdateHandle=0;var interactionCount=_interactionSet.size;_addInteractionSet.forEach(function(handle){return _interactionSet.add(handle);});_deleteInteractionSet.forEach(function(handle){return _interactionSet.delete(handle);});var nextInteractionCount=_interactionSet.size;if(interactionCount!==0&&nextInteractionCount===0){_emitter.emit(InteractionManager.Events.interactionComplete);}else if(interactionCount===0&&nextInteractionCount!==0){_emitter.emit(InteractionManager.Events.interactionStart);}if(nextInteractionCount===0){while(_taskQueue.hasTasksToProcess()){_taskQueue.processNext();if(_deadline>0&&BatchedBridge.getEventLoopRunningTime()>=_deadline){_scheduleUpdate();break;}}}_addInteractionSet.clear();_deleteInteractionSet.clear();}module.exports=InteractionManager;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/timers-browserify/main.js").setImmediate))

/***/ }),

/***/ "./node_modules/react-native/Libraries/Interaction/InteractionMixin.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var InteractionManager=__webpack_require__("./node_modules/react-native/Libraries/Interaction/InteractionManager.js");var InteractionMixin={componentWillUnmount:function componentWillUnmount(){while(this._interactionMixinHandles.length){InteractionManager.clearInteractionHandle(this._interactionMixinHandles.pop());}},_interactionMixinHandles:[],createInteractionHandle:function createInteractionHandle(){var handle=InteractionManager.createInteractionHandle();this._interactionMixinHandles.push(handle);return handle;},clearInteractionHandle:function clearInteractionHandle(clearHandle){InteractionManager.clearInteractionHandle(clearHandle);this._interactionMixinHandles=this._interactionMixinHandles.filter(function(handle){return handle!==clearHandle;});},runAfterInteractions:function runAfterInteractions(callback){InteractionManager.runAfterInteractions(callback);}};module.exports=InteractionMixin;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Interaction/PanResponder.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var InteractionManager=__webpack_require__("./node_modules/react-native/Libraries/Interaction/InteractionManager.js");var TouchHistoryMath=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/eventPlugins/TouchHistoryMath.js");var currentCentroidXOfTouchesChangedAfter=TouchHistoryMath.currentCentroidXOfTouchesChangedAfter;var currentCentroidYOfTouchesChangedAfter=TouchHistoryMath.currentCentroidYOfTouchesChangedAfter;var previousCentroidXOfTouchesChangedAfter=TouchHistoryMath.previousCentroidXOfTouchesChangedAfter;var previousCentroidYOfTouchesChangedAfter=TouchHistoryMath.previousCentroidYOfTouchesChangedAfter;var currentCentroidX=TouchHistoryMath.currentCentroidX;var currentCentroidY=TouchHistoryMath.currentCentroidY;var PanResponder={_initializeGestureState:function _initializeGestureState(gestureState){gestureState.moveX=0;gestureState.moveY=0;gestureState.x0=0;gestureState.y0=0;gestureState.dx=0;gestureState.dy=0;gestureState.vx=0;gestureState.vy=0;gestureState.numberActiveTouches=0;gestureState._accountsForMovesUpTo=0;},_updateGestureStateOnMove:function _updateGestureStateOnMove(gestureState,touchHistory){gestureState.numberActiveTouches=touchHistory.numberActiveTouches;gestureState.moveX=currentCentroidXOfTouchesChangedAfter(touchHistory,gestureState._accountsForMovesUpTo);gestureState.moveY=currentCentroidYOfTouchesChangedAfter(touchHistory,gestureState._accountsForMovesUpTo);var movedAfter=gestureState._accountsForMovesUpTo;var prevX=previousCentroidXOfTouchesChangedAfter(touchHistory,movedAfter);var x=currentCentroidXOfTouchesChangedAfter(touchHistory,movedAfter);var prevY=previousCentroidYOfTouchesChangedAfter(touchHistory,movedAfter);var y=currentCentroidYOfTouchesChangedAfter(touchHistory,movedAfter);var nextDX=gestureState.dx+(x-prevX);var nextDY=gestureState.dy+(y-prevY);var dt=touchHistory.mostRecentTimeStamp-gestureState._accountsForMovesUpTo;gestureState.vx=(nextDX-gestureState.dx)/dt;gestureState.vy=(nextDY-gestureState.dy)/dt;gestureState.dx=nextDX;gestureState.dy=nextDY;gestureState._accountsForMovesUpTo=touchHistory.mostRecentTimeStamp;},create:function create(config){var interactionState={handle:null};var gestureState={stateID:Math.random()};PanResponder._initializeGestureState(gestureState);var panHandlers={onStartShouldSetResponder:function onStartShouldSetResponder(e){return config.onStartShouldSetPanResponder===undefined?false:config.onStartShouldSetPanResponder(e,gestureState);},onMoveShouldSetResponder:function onMoveShouldSetResponder(e){return config.onMoveShouldSetPanResponder===undefined?false:config.onMoveShouldSetPanResponder(e,gestureState);},onStartShouldSetResponderCapture:function onStartShouldSetResponderCapture(e){if(e.nativeEvent.touches.length===1){PanResponder._initializeGestureState(gestureState);}gestureState.numberActiveTouches=e.touchHistory.numberActiveTouches;return config.onStartShouldSetPanResponderCapture!==undefined?config.onStartShouldSetPanResponderCapture(e,gestureState):false;},onMoveShouldSetResponderCapture:function onMoveShouldSetResponderCapture(e){var touchHistory=e.touchHistory;if(gestureState._accountsForMovesUpTo===touchHistory.mostRecentTimeStamp){return false;}PanResponder._updateGestureStateOnMove(gestureState,touchHistory);return config.onMoveShouldSetPanResponderCapture?config.onMoveShouldSetPanResponderCapture(e,gestureState):false;},onResponderGrant:function onResponderGrant(e){if(!interactionState.handle){interactionState.handle=InteractionManager.createInteractionHandle();}gestureState.x0=currentCentroidX(e.touchHistory);gestureState.y0=currentCentroidY(e.touchHistory);gestureState.dx=0;gestureState.dy=0;if(config.onPanResponderGrant){config.onPanResponderGrant(e,gestureState);}return config.onShouldBlockNativeResponder===undefined?true:config.onShouldBlockNativeResponder();},onResponderReject:function onResponderReject(e){clearInteractionHandle(interactionState,config.onPanResponderReject,e,gestureState);},onResponderRelease:function onResponderRelease(e){clearInteractionHandle(interactionState,config.onPanResponderRelease,e,gestureState);PanResponder._initializeGestureState(gestureState);},onResponderStart:function onResponderStart(e){var touchHistory=e.touchHistory;gestureState.numberActiveTouches=touchHistory.numberActiveTouches;if(config.onPanResponderStart){config.onPanResponderStart(e,gestureState);}},onResponderMove:function onResponderMove(e){var touchHistory=e.touchHistory;if(gestureState._accountsForMovesUpTo===touchHistory.mostRecentTimeStamp){return;}PanResponder._updateGestureStateOnMove(gestureState,touchHistory);if(config.onPanResponderMove){config.onPanResponderMove(e,gestureState);}},onResponderEnd:function onResponderEnd(e){var touchHistory=e.touchHistory;gestureState.numberActiveTouches=touchHistory.numberActiveTouches;clearInteractionHandle(interactionState,config.onPanResponderEnd,e,gestureState);},onResponderTerminate:function onResponderTerminate(e){clearInteractionHandle(interactionState,config.onPanResponderTerminate,e,gestureState);PanResponder._initializeGestureState(gestureState);},onResponderTerminationRequest:function onResponderTerminationRequest(e){return config.onPanResponderTerminationRequest===undefined?true:config.onPanResponderTerminationRequest(e,gestureState);}};return{panHandlers:panHandlers,getInteractionHandle:function getInteractionHandle(){return interactionState.handle;}};}};function clearInteractionHandle(interactionState,callback,event,gestureState){if(interactionState.handle){InteractionManager.clearInteractionHandle(interactionState.handle);interactionState.handle=null;}if(callback){callback(event,gestureState);}}module.exports=PanResponder;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Interaction/TaskQueue.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var infoLog=__webpack_require__("./node_modules/react-native/Libraries/Utilities/infoLog.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var DEBUG=false;var TaskQueue=function(){function TaskQueue(_ref){var onMoreTasks=_ref.onMoreTasks;_classCallCheck(this,TaskQueue);this._onMoreTasks=onMoreTasks;this._queueStack=[{tasks:[],popable:false}];}_createClass(TaskQueue,[{key:'enqueue',value:function enqueue(task){this._getCurrentQueue().push(task);}},{key:'enqueueTasks',value:function enqueueTasks(tasks){var _this=this;tasks.forEach(function(task){return _this.enqueue(task);});}},{key:'cancelTasks',value:function cancelTasks(tasksToCancel){this._queueStack=this._queueStack.map(function(queue){return _extends({},queue,{tasks:queue.tasks.filter(function(task){return tasksToCancel.indexOf(task)===-1;})});}).filter(function(queue,idx){return queue.tasks.length>0||idx===0;});}},{key:'hasTasksToProcess',value:function hasTasksToProcess(){return this._getCurrentQueue().length>0;}},{key:'processNext',value:function processNext(){var queue=this._getCurrentQueue();if(queue.length){var task=queue.shift();try{if(task.gen){DEBUG&&infoLog('genPromise for task '+task.name);this._genPromise(task);}else if(task.run){DEBUG&&infoLog('run task '+task.name);task.run();}else{invariant(typeof task==='function','Expected Function, SimpleTask, or PromiseTask, but got:\n'+JSON.stringify(task,null,2));DEBUG&&infoLog('run anonymous task');task();}}catch(e){e.message='TaskQueue: Error with task '+(task.name||'')+': '+e.message;throw e;}}}},{key:'_getCurrentQueue',value:function _getCurrentQueue(){var stackIdx=this._queueStack.length-1;var queue=this._queueStack[stackIdx];if(queue.popable&&queue.tasks.length===0&&this._queueStack.length>1){this._queueStack.pop();DEBUG&&infoLog('popped queue: ',{stackIdx:stackIdx,queueStackSize:this._queueStack.length});return this._getCurrentQueue();}else{return queue.tasks;}}},{key:'_genPromise',value:function _genPromise(task){var _this2=this;this._queueStack.push({tasks:[],popable:false});var stackIdx=this._queueStack.length-1;DEBUG&&infoLog('push new queue: ',{stackIdx:stackIdx});DEBUG&&infoLog('exec gen task '+task.name);task.gen().then(function(){DEBUG&&infoLog('onThen for gen task '+task.name,{stackIdx:stackIdx,queueStackSize:_this2._queueStack.length});_this2._queueStack[stackIdx].popable=true;_this2.hasTasksToProcess()&&_this2._onMoreTasks();}).catch(function(ex){ex.message='TaskQueue: Error resolving Promise in task '+task.name+': '+ex.message;throw ex;}).done();}}]);return TaskQueue;}();module.exports=TaskQueue;

/***/ }),

/***/ "./node_modules/react-native/Libraries/LayoutAnimation/LayoutAnimation.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _require=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js"),PropTypes=_require.PropTypes;var UIManager=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/UIManager.js");var createStrictShapeTypeChecker=__webpack_require__("./node_modules/react-native/Libraries/Utilities/createStrictShapeTypeChecker.js");var keyMirror=__webpack_require__("./node_modules/fbjs/lib/keyMirror.js");var TypesEnum={spring:true,linear:true,easeInEaseOut:true,easeIn:true,easeOut:true,keyboard:true};var Types=keyMirror(TypesEnum);var PropertiesEnum={opacity:true,scaleXY:true};var Properties=keyMirror(PropertiesEnum);var animChecker=createStrictShapeTypeChecker({duration:PropTypes.number,delay:PropTypes.number,springDamping:PropTypes.number,initialVelocity:PropTypes.number,type:PropTypes.oneOf(Object.keys(Types)).isRequired,property:PropTypes.oneOf(Object.keys(Properties))});var configChecker=createStrictShapeTypeChecker({duration:PropTypes.number.isRequired,create:animChecker,update:animChecker,delete:animChecker});function configureNext(config,onAnimationDidEnd){configChecker({config:config},'config','LayoutAnimation.configureNext');UIManager.configureNextLayoutAnimation(config,onAnimationDidEnd||function(){},function(){});}function create(duration,type,creationProp){return{duration:duration,create:{type:type,property:creationProp},update:{type:type},delete:{type:type,property:creationProp}};}var Presets={easeInEaseOut:create(300,Types.easeInEaseOut,Properties.opacity),linear:create(500,Types.linear,Properties.opacity),spring:{duration:700,create:{type:Types.linear,property:Properties.opacity},update:{type:Types.spring,springDamping:0.4},delete:{type:Types.linear,property:Properties.opacity}}};var LayoutAnimation={configureNext:configureNext,create:create,Types:Types,Properties:Properties,configChecker:configChecker,Presets:Presets,easeInEaseOut:configureNext.bind(null,Presets.easeInEaseOut),linear:configureNext.bind(null,Presets.linear),spring:configureNext.bind(null,Presets.spring)};module.exports=LayoutAnimation;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Linking/Linking.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var NativeEventEmitter=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/NativeEventEmitter.js");var NativeModules=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js");var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var LinkingManager=Platform.OS==='android'?NativeModules.IntentAndroid:NativeModules.LinkingManager;var Linking=function(_NativeEventEmitter){_inherits(Linking,_NativeEventEmitter);function Linking(){_classCallCheck(this,Linking);return _possibleConstructorReturn(this,(Linking.__proto__||Object.getPrototypeOf(Linking)).call(this,LinkingManager));}_createClass(Linking,[{key:'addEventListener',value:function addEventListener(type,handler){this.addListener(type,handler);}},{key:'removeEventListener',value:function removeEventListener(type,handler){this.removeListener(type,handler);}},{key:'openURL',value:function openURL(url){this._validateURL(url);return LinkingManager.openURL(url);}},{key:'canOpenURL',value:function canOpenURL(url){this._validateURL(url);return LinkingManager.canOpenURL(url);}},{key:'getInitialURL',value:function getInitialURL(){return LinkingManager.getInitialURL();}},{key:'_validateURL',value:function _validateURL(url){invariant(typeof url==='string','Invalid URL: should be a string. Was: '+url);invariant(url,'Invalid URL: cannot be empty');}}]);return Linking;}(NativeEventEmitter);module.exports=new Linking();

/***/ }),

/***/ "./node_modules/react-native/Libraries/Modal/Modal.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Modal/Modal.js',_container;var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var AppContainer=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/AppContainer.js");var I18nManager=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/I18nManager.js");var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var deprecatedPropType=__webpack_require__("./node_modules/react-native/Libraries/Utilities/deprecatedPropType.js");var requireNativeComponent=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/requireNativeComponent.js");var RCTModalHostView=requireNativeComponent('RCTModalHostView',null);var PropTypes=React.PropTypes;var Modal=function(_React$Component){_inherits(Modal,_React$Component);function Modal(){_classCallCheck(this,Modal);return _possibleConstructorReturn(this,(Modal.__proto__||Object.getPrototypeOf(Modal)).apply(this,arguments));}_createClass(Modal,[{key:'render',value:function render(){if(this.props.visible===false){return null;}var containerStyles={backgroundColor:this.props.transparent?'transparent':'white'};var animationType=this.props.animationType;if(!animationType){animationType='none';if(this.props.animated){animationType='slide';}}var innerChildren= false?React.createElement(AppContainer,{rootTag:this.context.rootTag,__source:{fileName:_jsxFileName,lineNumber:160}},this.props.children):this.props.children;return React.createElement(RCTModalHostView,{animationType:animationType,transparent:this.props.transparent,hardwareAccelerated:this.props.hardwareAccelerated,onRequestClose:this.props.onRequestClose,onShow:this.props.onShow,style:styles.modal,onStartShouldSetResponder:this._shouldSetResponder,supportedOrientations:this.props.supportedOrientations,onOrientationChange:this.props.onOrientationChange,__source:{fileName:_jsxFileName,lineNumber:166}},React.createElement(View,{style:[styles.container,containerStyles],__source:{fileName:_jsxFileName,lineNumber:177}},innerChildren));}},{key:'_shouldSetResponder',value:function _shouldSetResponder(){return true;}}]);return Modal;}(React.Component);Modal.propTypes={animationType:PropTypes.oneOf(['none','slide','fade']),transparent:PropTypes.bool,hardwareAccelerated:PropTypes.bool,visible:PropTypes.bool,onRequestClose:Platform.OS==='android'?PropTypes.func.isRequired:PropTypes.func,onShow:PropTypes.func,animated:deprecatedPropType(PropTypes.bool,'Use the `animationType` prop instead.'),supportedOrientations:PropTypes.arrayOf(PropTypes.oneOf(['portrait','portrait-upside-down','landscape','landscape-left','landscape-right'])),onOrientationChange:PropTypes.func};Modal.defaultProps={visible:true,hardwareAccelerated:false};Modal.contextTypes={rootTag:React.PropTypes.number};var side=I18nManager.isRTL?'right':'left';var styles=StyleSheet.create({modal:{position:'absolute'},container:(_container={position:'absolute'},_defineProperty(_container,side,0),_defineProperty(_container,'top',0),_container)});module.exports=Modal;

/***/ }),

/***/ "./node_modules/react-native/Libraries/NavigationExperimental/NavigationAbstractPanResponder.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var PanResponder=__webpack_require__("./node_modules/react-native/Libraries/Interaction/PanResponder.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var EmptyPanHandlers={onMoveShouldSetPanResponder:null,onPanResponderGrant:null,onPanResponderMove:null,onPanResponderRelease:null,onPanResponderTerminate:null};var NavigationAbstractPanResponder=function NavigationAbstractPanResponder(){var _this=this;_classCallCheck(this,NavigationAbstractPanResponder);var config={};Object.keys(EmptyPanHandlers).forEach(function(name){var fn=_this[name];invariant(typeof fn==='function','subclass of `NavigationAbstractPanResponder` must implement method %s',name);config[name]=fn.bind(_this);},this);this.panHandlers=PanResponder.create(config).panHandlers;};module.exports=NavigationAbstractPanResponder;

/***/ }),

/***/ "./node_modules/react-native/Libraries/NavigationExperimental/NavigationExperimental.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var NavigationCard=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationCard.js");var NavigationCardStack=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationCardStack.js");var NavigationHeader=__webpack_require__("./node_modules/react-native/Libraries/CustomComponents/NavigationExperimental/NavigationHeader.js");var NavigationPropTypes=__webpack_require__("./node_modules/react-native/Libraries/NavigationExperimental/NavigationPropTypes.js");var NavigationStateUtils=__webpack_require__("./node_modules/react-native/Libraries/NavigationExperimental/NavigationStateUtils.js");var NavigationTransitioner=__webpack_require__("./node_modules/react-native/Libraries/NavigationExperimental/NavigationTransitioner.js");var NavigationExperimental={StateUtils:NavigationStateUtils,Transitioner:NavigationTransitioner,Card:NavigationCard,CardStack:NavigationCardStack,Header:NavigationHeader,PropTypes:NavigationPropTypes};module.exports=NavigationExperimental;

/***/ }),

/***/ "./node_modules/react-native/Libraries/NavigationExperimental/NavigationPropTypes.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var Animated=__webpack_require__("./node_modules/react-native/Libraries/Animated/src/Animated.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var PropTypes=React.PropTypes;var action=PropTypes.shape({type:PropTypes.string.isRequired});var animatedValue=PropTypes.instanceOf(Animated.Value);var navigationRoute=PropTypes.shape({key:PropTypes.string.isRequired});var navigationState=PropTypes.shape({index:PropTypes.number.isRequired,routes:PropTypes.arrayOf(navigationRoute)});var layout=PropTypes.shape({height:animatedValue,initHeight:PropTypes.number.isRequired,initWidth:PropTypes.number.isRequired,isMeasured:PropTypes.bool.isRequired,width:animatedValue});var scene=PropTypes.shape({index:PropTypes.number.isRequired,isActive:PropTypes.bool.isRequired,isStale:PropTypes.bool.isRequired,key:PropTypes.string.isRequired,route:navigationRoute.isRequired});var SceneRendererProps={layout:layout.isRequired,navigationState:navigationState.isRequired,position:animatedValue.isRequired,progress:animatedValue.isRequired,scene:scene.isRequired,scenes:PropTypes.arrayOf(scene).isRequired};var SceneRenderer=PropTypes.shape(SceneRendererProps);var panHandlers=PropTypes.shape({onMoveShouldSetResponder:PropTypes.func.isRequired,onMoveShouldSetResponderCapture:PropTypes.func.isRequired,onResponderEnd:PropTypes.func.isRequired,onResponderGrant:PropTypes.func.isRequired,onResponderMove:PropTypes.func.isRequired,onResponderReject:PropTypes.func.isRequired,onResponderRelease:PropTypes.func.isRequired,onResponderStart:PropTypes.func.isRequired,onResponderTerminate:PropTypes.func.isRequired,onResponderTerminationRequest:PropTypes.func.isRequired,onStartShouldSetResponder:PropTypes.func.isRequired,onStartShouldSetResponderCapture:PropTypes.func.isRequired});function extractSceneRendererProps(props){return{layout:props.layout,navigationState:props.navigationState,position:props.position,progress:props.progress,scene:props.scene,scenes:props.scenes};}module.exports={extractSceneRendererProps:extractSceneRendererProps,SceneRendererProps:SceneRendererProps,SceneRenderer:SceneRenderer,action:action,navigationState:navigationState,navigationRoute:navigationRoute,panHandlers:panHandlers};

/***/ }),

/***/ "./node_modules/react-native/Libraries/NavigationExperimental/NavigationStateUtils.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var NavigationStateUtils={get:function get(state,key){return state.routes.find(function(route){return route.key===key;})||null;},indexOf:function indexOf(state,key){return state.routes.map(function(route){return route.key;}).indexOf(key);},has:function has(state,key){return!!state.routes.some(function(route){return route.key===key;});},push:function push(state,route){invariant(NavigationStateUtils.indexOf(state,route.key)===-1,'should not push route with duplicated key %s',route.key);var routes=state.routes.slice();routes.push(route);return _extends({},state,{index:routes.length-1,routes:routes});},pop:function pop(state){if(state.index<=0){return state;}var routes=state.routes.slice(0,-1);return _extends({},state,{index:routes.length-1,routes:routes});},jumpToIndex:function jumpToIndex(state,index){if(index===state.index){return state;}invariant(!!state.routes[index],'invalid index %s to jump to',index);return _extends({},state,{index:index});},jumpTo:function jumpTo(state,key){var index=NavigationStateUtils.indexOf(state,key);return NavigationStateUtils.jumpToIndex(state,index);},back:function back(state){var index=state.index-1;var route=state.routes[index];return route?NavigationStateUtils.jumpToIndex(state,index):state;},forward:function forward(state){var index=state.index+1;var route=state.routes[index];return route?NavigationStateUtils.jumpToIndex(state,index):state;},replaceAt:function replaceAt(state,key,route){var index=NavigationStateUtils.indexOf(state,key);return NavigationStateUtils.replaceAtIndex(state,index,route);},replaceAtIndex:function replaceAtIndex(state,index,route){invariant(!!state.routes[index],'invalid index %s for replacing route %s',index,route.key);if(state.routes[index]===route){return state;}var routes=state.routes.slice();routes[index]=route;return _extends({},state,{index:index,routes:routes});},reset:function reset(state,routes,index){invariant(routes.length&&Array.isArray(routes),'invalid routes to replace');var nextIndex=index===undefined?routes.length-1:index;if(state.routes.length===routes.length&&state.index===nextIndex){var compare=function compare(route,ii){return routes[ii]===route;};if(state.routes.every(compare)){return state;}}invariant(!!routes[nextIndex],'invalid index %s to reset',nextIndex);return _extends({},state,{index:nextIndex,routes:routes});}};module.exports=NavigationStateUtils;

/***/ }),

/***/ "./node_modules/react-native/Libraries/NavigationExperimental/NavigationTransitioner.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/NavigationExperimental/NavigationTransitioner.js';var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var Animated=__webpack_require__("./node_modules/react-native/Libraries/Animated/src/Animated.js");var Easing=__webpack_require__("./node_modules/react-native/Libraries/Animated/src/Easing.js");var NavigationPropTypes=__webpack_require__("./node_modules/react-native/Libraries/NavigationExperimental/NavigationPropTypes.js");var NavigationScenesReducer=__webpack_require__("./node_modules/react-native/Libraries/NavigationExperimental/Reducer/NavigationScenesReducer.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var PropTypes=React.PropTypes;var DefaultTransitionSpec={duration:250,easing:Easing.inOut(Easing.ease),timing:Animated.timing};var NavigationTransitioner=function(_React$Component){_inherits(NavigationTransitioner,_React$Component);function NavigationTransitioner(props,context){_classCallCheck(this,NavigationTransitioner);var _this=_possibleConstructorReturn(this,(NavigationTransitioner.__proto__||Object.getPrototypeOf(NavigationTransitioner)).call(this,props,context));var layout={height:new Animated.Value(0),initHeight:0,initWidth:0,isMeasured:false,width:new Animated.Value(0)};_this.state={layout:layout,position:new Animated.Value(_this.props.navigationState.index),progress:new Animated.Value(1),scenes:NavigationScenesReducer([],_this.props.navigationState)};_this._prevTransitionProps=null;_this._transitionProps=buildTransitionProps(props,_this.state);_this._isMounted=false;return _this;}_createClass(NavigationTransitioner,[{key:'componentWillMount',value:function componentWillMount(){this._onLayout=this._onLayout.bind(this);this._onTransitionEnd=this._onTransitionEnd.bind(this);}},{key:'componentDidMount',value:function componentDidMount(){this._isMounted=true;}},{key:'componentWillUnmount',value:function componentWillUnmount(){this._isMounted=false;}},{key:'componentWillReceiveProps',value:function componentWillReceiveProps(nextProps){var _this2=this;var nextScenes=NavigationScenesReducer(this.state.scenes,nextProps.navigationState,this.props.navigationState);if(nextScenes===this.state.scenes){return;}var nextState=_extends({},this.state,{scenes:nextScenes});var position=nextState.position,progress=nextState.progress;progress.setValue(0);this._prevTransitionProps=this._transitionProps;this._transitionProps=buildTransitionProps(nextProps,nextState);var transitionUserSpec=nextProps.configureTransition?nextProps.configureTransition(this._transitionProps,this._prevTransitionProps):null;var transitionSpec=_extends({},DefaultTransitionSpec,transitionUserSpec);var timing=transitionSpec.timing;delete transitionSpec.timing;var animations=[timing(progress,_extends({},transitionSpec,{toValue:1}))];if(nextProps.navigationState.index!==this.props.navigationState.index){animations.push(timing(position,_extends({},transitionSpec,{toValue:nextProps.navigationState.index})));}this.setState(nextState,function(){nextProps.onTransitionStart&&nextProps.onTransitionStart(_this2._transitionProps,_this2._prevTransitionProps);Animated.parallel(animations).start(_this2._onTransitionEnd);});}},{key:'render',value:function render(){return React.createElement(View,{onLayout:this._onLayout,style:[styles.main,this.props.style],__source:{fileName:_jsxFileName,lineNumber:190}},this.props.render(this._transitionProps,this._prevTransitionProps));}},{key:'_onLayout',value:function _onLayout(event){var _event$nativeEvent$la=event.nativeEvent.layout,height=_event$nativeEvent$la.height,width=_event$nativeEvent$la.width;if(this.state.layout.initWidth===width&&this.state.layout.initHeight===height){return;}var layout=_extends({},this.state.layout,{initHeight:height,initWidth:width,isMeasured:true});layout.height.setValue(height);layout.width.setValue(width);var nextState=_extends({},this.state,{layout:layout});this._transitionProps=buildTransitionProps(this.props,nextState);this.setState(nextState);}},{key:'_onTransitionEnd',value:function _onTransitionEnd(){var _this3=this;if(!this._isMounted){return;}var prevTransitionProps=this._prevTransitionProps;this._prevTransitionProps=null;var nextState=_extends({},this.state,{scenes:this.state.scenes.filter(isSceneNotStale)});this._transitionProps=buildTransitionProps(this.props,nextState);this.setState(nextState,function(){_this3.props.onTransitionEnd&&_this3.props.onTransitionEnd(_this3._transitionProps,prevTransitionProps);});}}]);return NavigationTransitioner;}(React.Component);NavigationTransitioner.propTypes={configureTransition:PropTypes.func,navigationState:NavigationPropTypes.navigationState.isRequired,onTransitionEnd:PropTypes.func,onTransitionStart:PropTypes.func,render:PropTypes.func.isRequired};function buildTransitionProps(props,state){var navigationState=props.navigationState;var layout=state.layout,position=state.position,progress=state.progress,scenes=state.scenes;return{layout:layout,navigationState:navigationState,position:position,progress:progress,scenes:scenes,scene:scenes.find(isSceneActive)};}function isSceneNotStale(scene){return!scene.isStale;}function isSceneActive(scene){return scene.isActive;}var styles=StyleSheet.create({main:{flex:1}});module.exports=NavigationTransitioner;

/***/ }),

/***/ "./node_modules/react-native/Libraries/NavigationExperimental/Reducer/NavigationScenesReducer.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var shallowEqual=__webpack_require__("./node_modules/fbjs/lib/shallowEqual.js");var SCENE_KEY_PREFIX='scene_';function compareKey(one,two){var delta=one.length-two.length;if(delta>0){return 1;}if(delta<0){return-1;}return one>two?1:-1;}function compareScenes(one,two){if(one.index>two.index){return 1;}if(one.index<two.index){return-1;}return compareKey(one.key,two.key);}function areScenesShallowEqual(one,two){return one.key===two.key&&one.index===two.index&&one.isStale===two.isStale&&one.isActive===two.isActive&&areRoutesShallowEqual(one.route,two.route);}function areRoutesShallowEqual(one,two){if(!one||!two){return one===two;}if(one.key!==two.key){return false;}return shallowEqual(one,two);}function NavigationScenesReducer(scenes,nextState,prevState){if(prevState===nextState){return scenes;}var prevScenes=new Map();var freshScenes=new Map();var staleScenes=new Map();scenes.forEach(function(scene){var key=scene.key;if(scene.isStale){staleScenes.set(key,scene);}prevScenes.set(key,scene);});var nextKeys=new Set();nextState.routes.forEach(function(route,index){var key=SCENE_KEY_PREFIX+route.key;var scene={index:index,isActive:false,isStale:false,key:key,route:route};invariant(!nextKeys.has(key),'navigationState.routes['+index+'].key "'+key+'" conflicts with '+'another route!');nextKeys.add(key);if(staleScenes.has(key)){staleScenes.delete(key);}freshScenes.set(key,scene);});if(prevState){prevState.routes.forEach(function(route,index){var key=SCENE_KEY_PREFIX+route.key;if(freshScenes.has(key)){return;}staleScenes.set(key,{index:index,isActive:false,isStale:true,key:key,route:route});});}var nextScenes=[];var mergeScene=function mergeScene(nextScene){var key=nextScene.key;var prevScene=prevScenes.has(key)?prevScenes.get(key):null;if(prevScene&&areScenesShallowEqual(prevScene,nextScene)){nextScenes.push(prevScene);}else{nextScenes.push(nextScene);}};staleScenes.forEach(mergeScene);freshScenes.forEach(mergeScene);nextScenes.sort(compareScenes);var activeScenesCount=0;nextScenes.forEach(function(scene,ii){var isActive=!scene.isStale&&scene.index===nextState.index;if(isActive!==scene.isActive){nextScenes[ii]=_extends({},scene,{isActive:isActive});}if(isActive){activeScenesCount++;}});invariant(activeScenesCount===1,'there should always be only one scene active, not %s.',activeScenesCount);if(nextScenes.length!==scenes.length){return nextScenes;}if(nextScenes.some(function(scene,index){return!areScenesShallowEqual(scenes[index],scene);})){return nextScenes;}return scenes;}module.exports=NavigationScenesReducer;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Network/FormData.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _slicedToArray=function(){function sliceIterator(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[typeof Symbol==='function'?Symbol.iterator:'@@iterator'](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"])_i["return"]();}finally{if(_d)throw _e;}}return _arr;}return function(arr,i){if(Array.isArray(arr)){return arr;}else if((typeof Symbol==='function'?Symbol.iterator:'@@iterator')in Object(arr)){return sliceIterator(arr,i);}else{throw new TypeError("Invalid attempt to destructure non-iterable instance");}};}();var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var FormData=function(){function FormData(){_classCallCheck(this,FormData);this._parts=[];}_createClass(FormData,[{key:'append',value:function append(key,value){this._parts.push([key,value]);}},{key:'getParts',value:function getParts(){return this._parts.map(function(_ref){var _ref2=_slicedToArray(_ref,2),name=_ref2[0],value=_ref2[1];var contentDisposition='form-data; name="'+name+'"';var headers={'content-disposition':contentDisposition};if(typeof value==='object'){if(typeof value.name==='string'){headers['content-disposition']+='; filename="'+value.name+'"';}if(typeof value.type==='string'){headers['content-type']=value.type;}return _extends({},value,{headers:headers,fieldName:name});}return{string:String(value),headers:headers,fieldName:name};});}}]);return FormData;}();module.exports=FormData;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Network/NetInfo.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var Map=__webpack_require__("./node_modules/react-native/Libraries/vendor/core/Map.js");var NativeEventEmitter=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/NativeEventEmitter.js");var NativeModules=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js");var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var RCTNetInfo=NativeModules.NetInfo;var NetInfoEventEmitter=new NativeEventEmitter(RCTNetInfo);var DEVICE_CONNECTIVITY_EVENT='networkStatusDidChange';var _subscriptions=new Map();var _isConnected=void 0;if(Platform.OS==='ios'){_isConnected=function _isConnected(reachability){return reachability!=='none'&&reachability!=='unknown';};}else if(Platform.OS==='android'){_isConnected=function _isConnected(connectionType){return connectionType!=='NONE'&&connectionType!=='UNKNOWN';};}var _isConnectedSubscriptions=new Map();var NetInfo={addEventListener:function addEventListener(eventName,handler){var listener=NetInfoEventEmitter.addListener(DEVICE_CONNECTIVITY_EVENT,function(appStateData){handler(appStateData.network_info);});_subscriptions.set(handler,listener);return{remove:function remove(){return NetInfo.removeEventListener(eventName,handler);}};},removeEventListener:function removeEventListener(eventName,handler){var listener=_subscriptions.get(handler);if(!listener){return;}listener.remove();_subscriptions.delete(handler);},fetch:function fetch(){return RCTNetInfo.getCurrentConnectivity().then(function(resp){return resp.network_info;});},isConnected:{addEventListener:function addEventListener(eventName,handler){var listener=function listener(connection){handler(_isConnected(connection));};_isConnectedSubscriptions.set(handler,listener);NetInfo.addEventListener(eventName,listener);return{remove:function remove(){return NetInfo.isConnected.removeEventListener(eventName,handler);}};},removeEventListener:function removeEventListener(eventName,handler){var listener=_isConnectedSubscriptions.get(handler);NetInfo.removeEventListener(eventName,listener);_isConnectedSubscriptions.delete(handler);},fetch:function fetch(){return NetInfo.fetch().then(function(connection){return _isConnected(connection);});}},isConnectionExpensive:function isConnectionExpensive(){return Platform.OS==='android'?RCTNetInfo.isConnectionMetered():Promise.reject(new Error('Currently not supported on iOS'));}};module.exports=NetInfo;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Network/RCTNetworking.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var FormData=__webpack_require__("./node_modules/react-native/Libraries/Network/FormData.js");var NativeEventEmitter=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/NativeEventEmitter.js");var RCTNetworkingNative=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").Networking;var RCTNetworking=function(_NativeEventEmitter){_inherits(RCTNetworking,_NativeEventEmitter);function RCTNetworking(){_classCallCheck(this,RCTNetworking);return _possibleConstructorReturn(this,(RCTNetworking.__proto__||Object.getPrototypeOf(RCTNetworking)).call(this,RCTNetworkingNative));}_createClass(RCTNetworking,[{key:'sendRequest',value:function sendRequest(method,trackingName,url,headers,data,responseType,incrementalUpdates,timeout,callback){var body=typeof data==='string'?{string:data}:data instanceof FormData?{formData:data.getParts()}:data;RCTNetworkingNative.sendRequest({method:method,url:url,data:_extends({},body,{trackingName:trackingName}),headers:headers,responseType:responseType,incrementalUpdates:incrementalUpdates,timeout:timeout},callback);}},{key:'abortRequest',value:function abortRequest(requestId){RCTNetworkingNative.abortRequest(requestId);}},{key:'clearCookies',value:function clearCookies(callback){RCTNetworkingNative.clearCookies(callback);}}]);return RCTNetworking;}(NativeEventEmitter);module.exports=new RCTNetworking();

/***/ }),

/***/ "./node_modules/react-native/Libraries/Network/XMLHttpRequest.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(global) {var _get=function get(object,property,receiver){if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined;}else{return get(parent,property,receiver);}}else if("value"in desc){return desc.value;}else{var getter=desc.get;if(getter===undefined){return undefined;}return getter.call(receiver);}};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++){arr2[i]=arr[i];}return arr2;}else{return Array.from(arr);}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var EventTarget=__webpack_require__("./node_modules/event-target-shim/lib/event-target.js");var RCTNetworking=__webpack_require__("./node_modules/react-native/Libraries/Network/RCTNetworking.ios.js");var base64=__webpack_require__("./node_modules/base64-js/index.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");var UNSENT=0;var OPENED=1;var HEADERS_RECEIVED=2;var LOADING=3;var DONE=4;var SUPPORTED_RESPONSE_TYPES={arraybuffer:typeof global.ArrayBuffer==='function',blob:typeof global.Blob==='function',document:false,json:true,text:true,'':true};var REQUEST_EVENTS=['abort','error','load','loadstart','progress','timeout','loadend'];var XHR_EVENTS=REQUEST_EVENTS.concat('readystatechange');var XMLHttpRequestEventTarget=function(_EventTarget){_inherits(XMLHttpRequestEventTarget,_EventTarget);function XMLHttpRequestEventTarget(){_classCallCheck(this,XMLHttpRequestEventTarget);return _possibleConstructorReturn(this,(XMLHttpRequestEventTarget.__proto__||Object.getPrototypeOf(XMLHttpRequestEventTarget)).apply(this,arguments));}return XMLHttpRequestEventTarget;}(EventTarget.apply(undefined,REQUEST_EVENTS));var XMLHttpRequest=function(_EventTarget2){_inherits(XMLHttpRequest,_EventTarget2);_createClass(XMLHttpRequest,null,[{key:'setInterceptor',value:function setInterceptor(interceptor){XMLHttpRequest._interceptor=interceptor;}}]);function XMLHttpRequest(){_classCallCheck(this,XMLHttpRequest);var _this2=_possibleConstructorReturn(this,(XMLHttpRequest.__proto__||Object.getPrototypeOf(XMLHttpRequest)).call(this));_this2.UNSENT=UNSENT;_this2.OPENED=OPENED;_this2.HEADERS_RECEIVED=HEADERS_RECEIVED;_this2.LOADING=LOADING;_this2.DONE=DONE;_this2.readyState=UNSENT;_this2.status=0;_this2.timeout=0;_this2.upload=new XMLHttpRequestEventTarget();_this2._aborted=false;_this2._hasError=false;_this2._method=null;_this2._response='';_this2._url=null;_this2._timedOut=false;_this2._trackingName='unknown';_this2._incrementalEvents=false;_this2._reset();return _this2;}_createClass(XMLHttpRequest,[{key:'_reset',value:function _reset(){this.readyState=this.UNSENT;this.responseHeaders=undefined;this.status=0;delete this.responseURL;this._requestId=null;this._cachedResponse=undefined;this._hasError=false;this._headers={};this._response='';this._responseType='';this._sent=false;this._lowerCaseResponseHeaders={};this._clearSubscriptions();this._timedOut=false;}},{key:'__didCreateRequest',value:function __didCreateRequest(requestId){this._requestId=requestId;XMLHttpRequest._interceptor&&XMLHttpRequest._interceptor.requestSent(requestId,this._url||'',this._method||'GET',this._headers);}},{key:'__didUploadProgress',value:function __didUploadProgress(requestId,progress,total){if(requestId===this._requestId){this.upload.dispatchEvent({type:'progress',lengthComputable:true,loaded:progress,total:total});}}},{key:'__didReceiveResponse',value:function __didReceiveResponse(requestId,status,responseHeaders,responseURL){if(requestId===this._requestId){this.status=status;this.setResponseHeaders(responseHeaders);this.setReadyState(this.HEADERS_RECEIVED);if(responseURL||responseURL===''){this.responseURL=responseURL;}else{delete this.responseURL;}XMLHttpRequest._interceptor&&XMLHttpRequest._interceptor.responseReceived(requestId,responseURL||this._url||'',status,responseHeaders||{});}}},{key:'__didReceiveData',value:function __didReceiveData(requestId,response){if(requestId!==this._requestId){return;}this._response=response;this._cachedResponse=undefined;this.setReadyState(this.LOADING);XMLHttpRequest._interceptor&&XMLHttpRequest._interceptor.dataReceived(requestId,response);}},{key:'__didReceiveIncrementalData',value:function __didReceiveIncrementalData(requestId,responseText,progress,total){if(requestId!==this._requestId){return;}if(!this._response){this._response=responseText;}else{this._response+=responseText;}XMLHttpRequest._interceptor&&XMLHttpRequest._interceptor.dataReceived(requestId,responseText);this.setReadyState(this.LOADING);this.__didReceiveDataProgress(requestId,progress,total);}},{key:'__didReceiveDataProgress',value:function __didReceiveDataProgress(requestId,loaded,total){if(requestId!==this._requestId){return;}this.dispatchEvent({type:'progress',lengthComputable:total>=0,loaded:loaded,total:total});}},{key:'__didCompleteResponse',value:function __didCompleteResponse(requestId,error,timeOutError){if(requestId===this._requestId){if(error){if(this._responseType===''||this._responseType==='text'){this._response=error;}this._hasError=true;if(timeOutError){this._timedOut=true;}}this._clearSubscriptions();this._requestId=null;this.setReadyState(this.DONE);if(error){XMLHttpRequest._interceptor&&XMLHttpRequest._interceptor.loadingFailed(requestId,error);}else{XMLHttpRequest._interceptor&&XMLHttpRequest._interceptor.loadingFinished(requestId,this._response.length);}}}},{key:'_clearSubscriptions',value:function _clearSubscriptions(){(this._subscriptions||[]).forEach(function(sub){sub.remove();});this._subscriptions=[];}},{key:'getAllResponseHeaders',value:function getAllResponseHeaders(){if(!this.responseHeaders){return null;}var headers=this.responseHeaders||{};return Object.keys(headers).map(function(headerName){return headerName+': '+headers[headerName];}).join('\r\n');}},{key:'getResponseHeader',value:function getResponseHeader(header){var value=this._lowerCaseResponseHeaders[header.toLowerCase()];return value!==undefined?value:null;}},{key:'setRequestHeader',value:function setRequestHeader(header,value){if(this.readyState!==this.OPENED){throw new Error('Request has not been opened');}this._headers[header.toLowerCase()]=String(value);}},{key:'setTrackingName',value:function setTrackingName(trackingName){this._trackingName=trackingName;return this;}},{key:'open',value:function open(method,url,async){if(this.readyState!==this.UNSENT){throw new Error('Cannot open, already sending');}if(async!==undefined&&!async){throw new Error('Synchronous http requests are not supported');}if(!url){throw new Error('Cannot load an empty url');}this._method=method.toUpperCase();this._url=url;this._aborted=false;this.setReadyState(this.OPENED);}},{key:'send',value:function send(data){var _this3=this;if(this.readyState!==this.OPENED){throw new Error('Request has not been opened');}if(this._sent){throw new Error('Request has already been sent');}this._sent=true;var incrementalEvents=this._incrementalEvents||!!this.onreadystatechange||!!this.onprogress;this._subscriptions.push(RCTNetworking.addListener('didSendNetworkData',function(args){return _this3.__didUploadProgress.apply(_this3,_toConsumableArray(args));}));this._subscriptions.push(RCTNetworking.addListener('didReceiveNetworkResponse',function(args){return _this3.__didReceiveResponse.apply(_this3,_toConsumableArray(args));}));this._subscriptions.push(RCTNetworking.addListener('didReceiveNetworkData',function(args){return _this3.__didReceiveData.apply(_this3,_toConsumableArray(args));}));this._subscriptions.push(RCTNetworking.addListener('didReceiveNetworkIncrementalData',function(args){return _this3.__didReceiveIncrementalData.apply(_this3,_toConsumableArray(args));}));this._subscriptions.push(RCTNetworking.addListener('didReceiveNetworkDataProgress',function(args){return _this3.__didReceiveDataProgress.apply(_this3,_toConsumableArray(args));}));this._subscriptions.push(RCTNetworking.addListener('didCompleteNetworkResponse',function(args){return _this3.__didCompleteResponse.apply(_this3,_toConsumableArray(args));}));var nativeResponseType='text';if(this._responseType==='arraybuffer'||this._responseType==='blob'){nativeResponseType='base64';}invariant(this._method,'Request method needs to be defined.');invariant(this._url,'Request URL needs to be defined.');RCTNetworking.sendRequest(this._method,this._trackingName,this._url,this._headers,data,nativeResponseType,incrementalEvents,this.timeout,this.__didCreateRequest.bind(this));}},{key:'abort',value:function abort(){this._aborted=true;if(this._requestId){RCTNetworking.abortRequest(this._requestId);}if(!(this.readyState===this.UNSENT||this.readyState===this.OPENED&&!this._sent||this.readyState===this.DONE)){this._reset();this.setReadyState(this.DONE);}this._reset();}},{key:'setResponseHeaders',value:function setResponseHeaders(responseHeaders){this.responseHeaders=responseHeaders||null;var headers=responseHeaders||{};this._lowerCaseResponseHeaders=Object.keys(headers).reduce(function(lcaseHeaders,headerName){lcaseHeaders[headerName.toLowerCase()]=headers[headerName];return lcaseHeaders;},{});}},{key:'setReadyState',value:function setReadyState(newState){this.readyState=newState;this.dispatchEvent({type:'readystatechange'});if(newState===this.DONE){if(this._aborted){this.dispatchEvent({type:'abort'});}else if(this._hasError){if(this._timedOut){this.dispatchEvent({type:'timeout'});}else{this.dispatchEvent({type:'error'});}}else{this.dispatchEvent({type:'load'});}this.dispatchEvent({type:'loadend'});}}},{key:'addEventListener',value:function addEventListener(type,listener){if(type==='readystatechange'||type==='progress'){this._incrementalEvents=true;}_get(XMLHttpRequest.prototype.__proto__||Object.getPrototypeOf(XMLHttpRequest.prototype),'addEventListener',this).call(this,type,listener);}},{key:'responseType',get:function get(){return this._responseType;},set:function set(responseType){if(this._sent){throw new Error('Failed to set the \'responseType\' property on \'XMLHttpRequest\': The '+'response type cannot be set after the request has been sent.');}if(!SUPPORTED_RESPONSE_TYPES.hasOwnProperty(responseType)){warning(false,'The provided value \''+responseType+'\' is not a valid \'responseType\'.');return;}invariant(SUPPORTED_RESPONSE_TYPES[responseType]||responseType==='document','The provided value \''+responseType+'\' is unsupported in this environment.');this._responseType=responseType;}},{key:'responseText',get:function get(){if(this._responseType!==''&&this._responseType!=='text'){throw new Error("The 'responseText' property is only available if 'responseType' "+('is set to \'\' or \'text\', but it is \''+this._responseType+'\'.'));}if(this.readyState<LOADING){return'';}return this._response;}},{key:'response',get:function get(){var responseType=this.responseType;if(responseType===''||responseType==='text'){return this.readyState<LOADING||this._hasError?'':this._response;}if(this.readyState!==DONE){return null;}if(this._cachedResponse!==undefined){return this._cachedResponse;}switch(responseType){case'document':this._cachedResponse=null;break;case'arraybuffer':this._cachedResponse=base64.toByteArray(this._response).buffer;break;case'blob':this._cachedResponse=new global.Blob([base64.toByteArray(this._response).buffer],{type:this.getResponseHeader('content-type')||''});break;case'json':try{this._cachedResponse=JSON.parse(this._response);}catch(_){this._cachedResponse=null;}break;default:this._cachedResponse=null;}return this._cachedResponse;}}]);return XMLHttpRequest;}(EventTarget.apply(undefined,_toConsumableArray(XHR_EVENTS)));XMLHttpRequest.UNSENT=UNSENT;XMLHttpRequest.OPENED=OPENED;XMLHttpRequest.HEADERS_RECEIVED=HEADERS_RECEIVED;XMLHttpRequest.LOADING=LOADING;XMLHttpRequest.DONE=DONE;XMLHttpRequest._interceptor=null;module.exports=XMLHttpRequest;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/webpack/buildin/global.js")))

/***/ }),

/***/ "./node_modules/react-native/Libraries/Network/fetch.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
__webpack_require__("./node_modules/whatwg-fetch/fetch.js");module.exports={fetch:fetch,Headers:Headers,Request:Request,Response:Response};

/***/ }),

/***/ "./node_modules/react-native/Libraries/Performance/SamplingProfiler.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(global) {var SamplingProfiler={poke:function poke(token){var error=null;var result=null;try{result=global.pokeSamplingProfiler();if(result===null){console.log('The JSC Sampling Profiler has started');}else{console.log('The JSC Sampling Profiler has stopped');}}catch(e){console.log('Error occured when restarting Sampling Profiler: '+e.toString());error=e.toString();}__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").JSCSamplingProfiler.operationComplete(token,result,error);}};module.exports=SamplingProfiler;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/webpack/buildin/global.js")))

/***/ }),

/***/ "./node_modules/react-native/Libraries/Performance/Systrace.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(global) {var TRACE_TAG_REACT_APPS=1<<17;var TRACE_TAG_JSC_CALLS=1<<27;var _enabled=false;var _asyncCookie=0;var ReactSystraceDevtool= false?{onBeforeMountComponent:function onBeforeMountComponent(debugID){var displayName=require('react/lib/ReactComponentTreeDevtool').getDisplayName(debugID);Systrace.beginEvent('ReactReconciler.mountComponent('+displayName+')');},onMountComponent:function onMountComponent(debugID){Systrace.endEvent();},onBeforeUpdateComponent:function onBeforeUpdateComponent(debugID){var displayName=require('react/lib/ReactComponentTreeDevtool').getDisplayName(debugID);Systrace.beginEvent('ReactReconciler.updateComponent('+displayName+')');},onUpdateComponent:function onUpdateComponent(debugID){Systrace.endEvent();},onBeforeUnmountComponent:function onBeforeUnmountComponent(debugID){var displayName=require('react/lib/ReactComponentTreeDevtool').getDisplayName(debugID);Systrace.beginEvent('ReactReconciler.unmountComponent('+displayName+')');},onUnmountComponent:function onUnmountComponent(debugID){Systrace.endEvent();},onBeginLifeCycleTimer:function onBeginLifeCycleTimer(debugID,timerType){var displayName=require('react/lib/ReactComponentTreeDevtool').getDisplayName(debugID);Systrace.beginEvent(displayName+'.'+timerType+'()');},onEndLifeCycleTimer:function onEndLifeCycleTimer(debugID,timerType){Systrace.endEvent();}}:null;var Systrace={setEnabled:function setEnabled(enabled){if(_enabled!==enabled){if(false){if(enabled){global.nativeTraceBeginLegacy&&global.nativeTraceBeginLegacy(TRACE_TAG_JSC_CALLS);require('ReactDebugTool').addDevtool(ReactSystraceDevtool);}else{global.nativeTraceEndLegacy&&global.nativeTraceEndLegacy(TRACE_TAG_JSC_CALLS);require('ReactDebugTool').removeDevtool(ReactSystraceDevtool);}}_enabled=enabled;}},beginEvent:function beginEvent(profileName,args){if(_enabled){profileName=typeof profileName==='function'?profileName():profileName;global.nativeTraceBeginSection(TRACE_TAG_REACT_APPS,profileName,args);}},endEvent:function endEvent(){if(_enabled){global.nativeTraceEndSection(TRACE_TAG_REACT_APPS);}},beginAsyncEvent:function beginAsyncEvent(profileName){var cookie=_asyncCookie;if(_enabled){_asyncCookie++;profileName=typeof profileName==='function'?profileName():profileName;global.nativeTraceBeginAsyncSection(TRACE_TAG_REACT_APPS,profileName,cookie,0);}return cookie;},endAsyncEvent:function endAsyncEvent(profileName,cookie){if(_enabled){profileName=typeof profileName==='function'?profileName():profileName;global.nativeTraceEndAsyncSection(TRACE_TAG_REACT_APPS,profileName,cookie,0);}},counterEvent:function counterEvent(profileName,value){if(_enabled){profileName=typeof profileName==='function'?profileName():profileName;global.nativeTraceCounter&&global.nativeTraceCounter(TRACE_TAG_REACT_APPS,profileName,value);}},attachToRelayProfiler:function attachToRelayProfiler(relayProfiler){relayProfiler.attachProfileHandler('*',function(name){var cookie=Systrace.beginAsyncEvent(name);return function(){Systrace.endAsyncEvent(name,cookie);};});relayProfiler.attachAggregateHandler('*',function(name,callback){Systrace.beginEvent(name);callback();Systrace.endEvent();});},swizzleJSON:function swizzleJSON(){Systrace.measureMethods(JSON,'JSON',['parse','stringify']);},measureMethods:function measureMethods(object,objectName,methodNames){if(true){return;}methodNames.forEach(function(methodName){object[methodName]=Systrace.measure(objectName,methodName,object[methodName]);});},measure:function measure(objName,fnName,func){if(true){return func;}var profileName=objName+'.'+fnName;return function(){if(!_enabled){return func.apply(this,arguments);}Systrace.beginEvent(profileName);var ret=func.apply(this,arguments);Systrace.endEvent();return ret;};}};if(false){}module.exports=Systrace;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/webpack/buildin/global.js")))

/***/ }),

/***/ "./node_modules/react-native/Libraries/PermissionsAndroid/PermissionsAndroid.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var DialogManagerAndroid=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").DialogManagerAndroid;var Permissions=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").PermissionsAndroid;var PermissionsAndroid=function(){function PermissionsAndroid(){_classCallCheck(this,PermissionsAndroid);this.PERMISSIONS={READ_CALENDAR:'android.permission.READ_CALENDAR',WRITE_CALENDAR:'android.permission.WRITE_CALENDAR',CAMERA:'android.permission.CAMERA',READ_CONTACTS:'android.permission.READ_CONTACTS',WRITE_CONTACTS:'android.permission.WRITE_CONTACTS',GET_ACCOUNTS:'android.permission.GET_ACCOUNTS',ACCESS_FINE_LOCATION:'android.permission.ACCESS_FINE_LOCATION',ACCESS_COARSE_LOCATION:'android.permission.ACCESS_COARSE_LOCATION',RECORD_AUDIO:'android.permission.RECORD_AUDIO',READ_PHONE_STATE:'android.permission.READ_PHONE_STATE',CALL_PHONE:'android.permission.CALL_PHONE',READ_CALL_LOG:'android.permission.READ_CALL_LOG',WRITE_CALL_LOG:'android.permission.WRITE_CALL_LOG',ADD_VOICEMAIL:'com.android.voicemail.permission.ADD_VOICEMAIL',USE_SIP:'android.permission.USE_SIP',PROCESS_OUTGOING_CALLS:'android.permission.PROCESS_OUTGOING_CALLS',BODY_SENSORS:'android.permission.BODY_SENSORS',SEND_SMS:'android.permission.SEND_SMS',RECEIVE_SMS:'android.permission.RECEIVE_SMS',READ_SMS:'android.permission.READ_SMS',RECEIVE_WAP_PUSH:'android.permission.RECEIVE_WAP_PUSH',RECEIVE_MMS:'android.permission.RECEIVE_MMS',READ_EXTERNAL_STORAGE:'android.permission.READ_EXTERNAL_STORAGE',WRITE_EXTERNAL_STORAGE:'android.permission.WRITE_EXTERNAL_STORAGE'};this.RESULTS={GRANTED:'granted',DENIED:'denied',NEVER_ASK_AGAIN:'never_ask_again'};}_createClass(PermissionsAndroid,[{key:'checkPermission',value:function checkPermission(permission){console.warn('"PermissionsAndroid.checkPermission" is deprecated. Use "PermissionsAndroid.check" instead');return Permissions.checkPermission(permission);}},{key:'check',value:function check(permission){return Permissions.checkPermission(permission);}},{key:'requestPermission',value:function requestPermission(permission,rationale){var response;return regeneratorRuntime.async(function requestPermission$(_context){while(1){switch(_context.prev=_context.next){case 0:console.warn('"PermissionsAndroid.requestPermission" is deprecated. Use "PermissionsAndroid.request" instead');_context.next=3;return regeneratorRuntime.awrap(this.request(permission,rationale));case 3:response=_context.sent;return _context.abrupt('return',response===this.RESULTS.GRANTED);case 5:case'end':return _context.stop();}}},null,this);}},{key:'request',value:function request(permission,rationale){var shouldShowRationale;return regeneratorRuntime.async(function request$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:if(!rationale){_context2.next=6;break;}_context2.next=3;return regeneratorRuntime.awrap(Permissions.shouldShowRequestPermissionRationale(permission));case 3:shouldShowRationale=_context2.sent;if(!shouldShowRationale){_context2.next=6;break;}return _context2.abrupt('return',new Promise(function(resolve,reject){DialogManagerAndroid.showAlert(rationale,function(){return reject(new Error('Error showing rationale'));},function(){return resolve(Permissions.requestPermission(permission));});}));case 6:return _context2.abrupt('return',Permissions.requestPermission(permission));case 7:case'end':return _context2.stop();}}},null,this);}},{key:'requestMultiple',value:function requestMultiple(permissions){return Permissions.requestMultiplePermissions(permissions);}}]);return PermissionsAndroid;}();PermissionsAndroid=new PermissionsAndroid();module.exports=PermissionsAndroid;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Promise.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var Promise=__webpack_require__("./node_modules/fbjs/lib/Promise.native.js");if(false){require('promise/setimmediate/rejection-tracking').enable({allRejections:true,onUnhandled:function onUnhandled(id){var error=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var _error$message=error.message,message=_error$message===undefined?null:_error$message,_error$stack=error.stack,stack=_error$stack===undefined?null:_error$stack;var warning='Possible Unhandled Promise Rejection (id: '+id+'):\n'+(message==null?'':message+'\n')+(stack==null?'':stack);console.warn(warning);},onHandled:function onHandled(id){var warning='Promise Rejection Handled (id: '+id+')\n'+'This means you can ignore any previous messages of the form '+('"Possible Unhandled Promise Rejection (id: '+id+'):"');console.warn(warning);}});}module.exports=Promise;

/***/ }),

/***/ "./node_modules/react-native/Libraries/PushNotificationIOS/PushNotificationIOS.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var NativeEventEmitter=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/NativeEventEmitter.js");var RCTPushNotificationManager=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").PushNotificationManager;var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var PushNotificationEmitter=new NativeEventEmitter(RCTPushNotificationManager);var _notifHandlers=new Map();var DEVICE_NOTIF_EVENT='remoteNotificationReceived';var NOTIF_REGISTER_EVENT='remoteNotificationsRegistered';var NOTIF_REGISTRATION_ERROR_EVENT='remoteNotificationRegistrationError';var DEVICE_LOCAL_NOTIF_EVENT='localNotificationReceived';var PushNotificationIOS=function(){_createClass(PushNotificationIOS,null,[{key:'presentLocalNotification',value:function presentLocalNotification(details){RCTPushNotificationManager.presentLocalNotification(details);}},{key:'scheduleLocalNotification',value:function scheduleLocalNotification(details){RCTPushNotificationManager.scheduleLocalNotification(details);}},{key:'cancelAllLocalNotifications',value:function cancelAllLocalNotifications(){RCTPushNotificationManager.cancelAllLocalNotifications();}},{key:'setApplicationIconBadgeNumber',value:function setApplicationIconBadgeNumber(number){RCTPushNotificationManager.setApplicationIconBadgeNumber(number);}},{key:'getApplicationIconBadgeNumber',value:function getApplicationIconBadgeNumber(callback){RCTPushNotificationManager.getApplicationIconBadgeNumber(callback);}},{key:'cancelLocalNotifications',value:function cancelLocalNotifications(userInfo){RCTPushNotificationManager.cancelLocalNotifications(userInfo);}},{key:'getScheduledLocalNotifications',value:function getScheduledLocalNotifications(callback){RCTPushNotificationManager.getScheduledLocalNotifications(callback);}},{key:'addEventListener',value:function addEventListener(type,handler){invariant(type==='notification'||type==='register'||type==='registrationError'||type==='localNotification','PushNotificationIOS only supports `notification`, `register`, `registrationError`, and `localNotification` events');var listener;if(type==='notification'){listener=PushNotificationEmitter.addListener(DEVICE_NOTIF_EVENT,function(notifData){handler(new PushNotificationIOS(notifData));});}else if(type==='localNotification'){listener=PushNotificationEmitter.addListener(DEVICE_LOCAL_NOTIF_EVENT,function(notifData){handler(new PushNotificationIOS(notifData));});}else if(type==='register'){listener=PushNotificationEmitter.addListener(NOTIF_REGISTER_EVENT,function(registrationInfo){handler(registrationInfo.deviceToken);});}else if(type==='registrationError'){listener=PushNotificationEmitter.addListener(NOTIF_REGISTRATION_ERROR_EVENT,function(errorInfo){handler(errorInfo);});}_notifHandlers.set(type,listener);}},{key:'removeEventListener',value:function removeEventListener(type,handler){invariant(type==='notification'||type==='register'||type==='registrationError'||type==='localNotification','PushNotificationIOS only supports `notification`, `register`, `registrationError`, and `localNotification` events');var listener=_notifHandlers.get(type);if(!listener){return;}listener.remove();_notifHandlers.delete(type);}},{key:'requestPermissions',value:function requestPermissions(permissions){var requestedPermissions={};if(permissions){requestedPermissions={alert:!!permissions.alert,badge:!!permissions.badge,sound:!!permissions.sound};}else{requestedPermissions={alert:true,badge:true,sound:true};}return RCTPushNotificationManager.requestPermissions(requestedPermissions);}},{key:'abandonPermissions',value:function abandonPermissions(){RCTPushNotificationManager.abandonPermissions();}},{key:'checkPermissions',value:function checkPermissions(callback){invariant(typeof callback==='function','Must provide a valid callback');RCTPushNotificationManager.checkPermissions(callback);}},{key:'getInitialNotification',value:function getInitialNotification(){return RCTPushNotificationManager.getInitialNotification().then(function(notification){return notification&&new PushNotificationIOS(notification);});}}]);function PushNotificationIOS(nativeNotif){var _this=this;_classCallCheck(this,PushNotificationIOS);this._data={};this._remoteNotificationCompleteCalllbackCalled=false;this._isRemote=nativeNotif.remote;if(this._isRemote){this._notificationId=nativeNotif.notificationId;}if(nativeNotif.remote){Object.keys(nativeNotif).forEach(function(notifKey){var notifVal=nativeNotif[notifKey];if(notifKey==='aps'){_this._alert=notifVal.alert;_this._sound=notifVal.sound;_this._badgeCount=notifVal.badge;}else{_this._data[notifKey]=notifVal;}});}else{this._badgeCount=nativeNotif.applicationIconBadgeNumber;this._sound=nativeNotif.soundName;this._alert=nativeNotif.alertBody;this._data=nativeNotif.userInfo;}}_createClass(PushNotificationIOS,[{key:'finish',value:function finish(fetchResult){if(!this._isRemote||!this._notificationId||this._remoteNotificationCompleteCalllbackCalled){return;}this._remoteNotificationCompleteCalllbackCalled=true;RCTPushNotificationManager.onFinishRemoteNotification(this._notificationId,fetchResult);}},{key:'getMessage',value:function getMessage(){return this._alert;}},{key:'getSound',value:function getSound(){return this._sound;}},{key:'getAlert',value:function getAlert(){return this._alert;}},{key:'getBadgeCount',value:function getBadgeCount(){return this._badgeCount;}},{key:'getData',value:function getData(){return this._data;}}]);return PushNotificationIOS;}();PushNotificationIOS.FetchResult={NewData:'UIBackgroundFetchResultNewData',NoData:'UIBackgroundFetchResultNoData',ResultFailed:'UIBackgroundFetchResultFailed'};module.exports=PushNotificationIOS;

/***/ }),

/***/ "./node_modules/react-native/Libraries/RCTTest/SnapshotViewIOS.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/RCTTest/SnapshotViewIOS.ios.js';var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var _require=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js"),TestModule=_require.TestModule;var UIManager=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/UIManager.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var requireNativeComponent=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/requireNativeComponent.js");var SnapshotViewIOS=function(_React$Component){_inherits(SnapshotViewIOS,_React$Component);function SnapshotViewIOS(){var _ref;var _temp,_this,_ret;_classCallCheck(this,SnapshotViewIOS);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return _ret=(_temp=(_this=_possibleConstructorReturn(this,(_ref=SnapshotViewIOS.__proto__||Object.getPrototypeOf(SnapshotViewIOS)).call.apply(_ref,[this].concat(args))),_this),_this.onDefaultAction=function(event){TestModule.verifySnapshot(TestModule.markTestPassed);},_temp),_possibleConstructorReturn(_this,_ret);}_createClass(SnapshotViewIOS,[{key:'render',value:function render(){var testIdentifier=this.props.testIdentifier||'test';var onSnapshotReady=this.props.onSnapshotReady||this.onDefaultAction;return React.createElement(RCTSnapshot,_extends({style:style.snapshot},this.props,{onSnapshotReady:onSnapshotReady,testIdentifier:testIdentifier,__source:{fileName:_jsxFileName,lineNumber:44}}));}}]);return SnapshotViewIOS;}(React.Component);SnapshotViewIOS.propTypes=_extends({},View.propTypes,{onSnapshotReady:React.PropTypes.func,testIdentifier:React.PropTypes.string});var style=StyleSheet.create({snapshot:{flex:1}});var RCTSnapshot=UIManager.RCTSnapshot?requireNativeComponent('RCTSnapshot',SnapshotViewIOS):View;module.exports=SnapshotViewIOS;

/***/ }),

/***/ "./node_modules/react-native/Libraries/ReactNative/AppContainer.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/ReactNative/AppContainer.js';var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var EmitterSubscription=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/EmitterSubscription.js");var RCTDeviceEventEmitter=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/RCTDeviceEventEmitter.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var ReactNative=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNative.js");var StyleSheet=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");var AppContainer=function(_React$Component){_inherits(AppContainer,_React$Component);function AppContainer(){var _ref;var _temp,_this,_ret;_classCallCheck(this,AppContainer);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return _ret=(_temp=(_this=_possibleConstructorReturn(this,(_ref=AppContainer.__proto__||Object.getPrototypeOf(AppContainer)).call.apply(_ref,[this].concat(args))),_this),_this.state={inspector:null,mainKey:1},_this._subscription=null,_temp),_possibleConstructorReturn(_this,_ret);}_createClass(AppContainer,[{key:'getChildContext',value:function getChildContext(){return{rootTag:this.props.rootTag};}},{key:'componentDidMount',value:function componentDidMount(){var _this2=this;if(false){this._subscription=RCTDeviceEventEmitter.addListener('toggleElementInspector',function(){var Inspector=require('Inspector');var inspector=_this2.state.inspector?null:React.createElement(Inspector,{inspectedViewTag:ReactNative.findNodeHandle(_this2._mainRef),onRequestRerenderApp:function onRequestRerenderApp(updateInspectedViewTag){_this2.setState(function(s){return{mainKey:s.mainKey+1};},function(){return updateInspectedViewTag(ReactNative.findNodeHandle(_this2._mainRef));});},__source:{fileName:_jsxFileName,lineNumber:61}});_this2.setState({inspector:inspector});});}}},{key:'componentWillUnmount',value:function componentWillUnmount(){if(this._subscription){this._subscription.remove();}}},{key:'render',value:function render(){var _this3=this;var yellowBox=null;if(false){var YellowBox=require('YellowBox');yellowBox=React.createElement(YellowBox,{__source:{fileName:_jsxFileName,lineNumber:88}});}return React.createElement(View,{style:styles.appContainer,__source:{fileName:_jsxFileName,lineNumber:92}},React.createElement(View,{collapsable:!this.state.inspector,key:this.state.mainKey,style:styles.appContainer,ref:function ref(_ref2){_this3._mainRef=_ref2;},__source:{fileName:_jsxFileName,lineNumber:93}},this.props.children),yellowBox,this.state.inspector);}}]);return AppContainer;}(React.Component);AppContainer.childContextTypes={rootTag:React.PropTypes.number};var styles=StyleSheet.create({appContainer:{flex:1}});module.exports=AppContainer;

/***/ }),

/***/ "./node_modules/react-native/Libraries/ReactNative/AppRegistry.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var BatchedBridge=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/BatchedBridge.js");var BugReporting=__webpack_require__("./node_modules/react-native/Libraries/BugReporting/BugReporting.js");var ReactNative=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNative.js");var infoLog=__webpack_require__("./node_modules/react-native/Libraries/Utilities/infoLog.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var renderApplication=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/renderApplication.js");var _require=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js"),HeadlessJsTaskSupport=_require.HeadlessJsTaskSupport;if(false){require('RCTRenderingPerf');}var runnables={};var runCount=1;var tasks=new Map();var AppRegistry={registerConfig:function registerConfig(config){for(var i=0;i<config.length;++i){var appConfig=config[i];if(appConfig.run){AppRegistry.registerRunnable(appConfig.appKey,appConfig.run);}else{invariant(appConfig.component,'No component provider passed in');AppRegistry.registerComponent(appConfig.appKey,appConfig.component);}}},registerComponent:function registerComponent(appKey,getComponentFunc){runnables[appKey]={run:function run(appParameters){return renderApplication(getComponentFunc(),appParameters.initialProps,appParameters.rootTag);}};return appKey;},registerRunnable:function registerRunnable(appKey,func){runnables[appKey]={run:func};return appKey;},getAppKeys:function getAppKeys(){return Object.keys(runnables);},runApplication:function runApplication(appKey,appParameters){var msg='Running application "'+appKey+'" with appParams: '+JSON.stringify(appParameters)+'. '+'__DEV__ === '+String(false)+', development-level warning are '+( false?'ON':'OFF')+', performance optimizations are '+( false?'OFF':'ON');infoLog(msg);BugReporting.addSource('AppRegistry.runApplication'+runCount++,function(){return msg;});invariant(runnables[appKey]&&runnables[appKey].run,'Application '+appKey+' has not been registered. This '+'is either due to a require() error during initialization '+'or failure to call AppRegistry.registerComponent.');runnables[appKey].run(appParameters);},unmountApplicationComponentAtRootTag:function unmountApplicationComponentAtRootTag(rootTag){ReactNative.unmountComponentAtNodeAndRemoveContainer(rootTag);},registerHeadlessTask:function registerHeadlessTask(taskKey,task){if(tasks.has(taskKey)){console.warn('registerHeadlessTask called multiple times for same key \''+taskKey+'\'');}tasks.set(taskKey,task);},startHeadlessTask:function startHeadlessTask(taskId,taskKey,data){var taskProvider=tasks.get(taskKey);if(!taskProvider){throw new Error('No task registered for key '+taskKey);}taskProvider()(data).then(function(){return HeadlessJsTaskSupport.notifyTaskFinished(taskId);}).catch(function(reason){console.error(reason);HeadlessJsTaskSupport.notifyTaskFinished(taskId);});}};BatchedBridge.registerCallableModule('AppRegistry',AppRegistry);module.exports=AppRegistry;

/***/ }),

/***/ "./node_modules/react-native/Libraries/ReactNative/I18nManager.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var I18nManager=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").I18nManager||{isRTL:false,allowRTL:function allowRTL(){},forceRTL:function forceRTL(){}};module.exports=I18nManager;

/***/ }),

/***/ "./node_modules/react-native/Libraries/ReactNative/UIManager.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var NativeModules=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js");var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var defineLazyObjectProperty=__webpack_require__("./node_modules/react-native/Libraries/Utilities/defineLazyObjectProperty.js");var findNodeHandle=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/findNodeHandle.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var UIManager=NativeModules.UIManager;invariant(UIManager,'UIManager is undefined. The native module config is probably incorrect.');var _takeSnapshot=UIManager.takeSnapshot;UIManager.takeSnapshot=function _callee(view,options){return regeneratorRuntime.async(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:if(_takeSnapshot){_context.next=3;break;}console.warn('UIManager.takeSnapshot is not available on this platform');return _context.abrupt('return');case 3:if(typeof view!=='number'&&view!=='window'){view=findNodeHandle(view)||'window';}return _context.abrupt('return',_takeSnapshot(view,options));case 5:case'end':return _context.stop();}}},null,this);};if(Platform.OS==='ios'){Object.keys(UIManager).forEach(function(viewName){var viewConfig=UIManager[viewName];if(viewConfig.Manager){defineLazyObjectProperty(viewConfig,'Constants',{get:function get(){var viewManager=NativeModules[viewConfig.Manager];var constants={};viewManager&&Object.keys(viewManager).forEach(function(key){var value=viewManager[key];if(typeof value!=='function'){constants[key]=value;}});return constants;}});defineLazyObjectProperty(viewConfig,'Commands',{get:function get(){var viewManager=NativeModules[viewConfig.Manager];var commands={};var index=0;viewManager&&Object.keys(viewManager).forEach(function(key){var value=viewManager[key];if(typeof value==='function'){commands[key]=index++;}});return commands;}});}});}else if(Platform.OS==='android'&&UIManager.AndroidLazyViewManagersEnabled){}module.exports=UIManager;

/***/ }),

/***/ "./node_modules/react-native/Libraries/ReactNative/renderApplication.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/ReactNative/renderApplication.js';var AppContainer=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/AppContainer.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var ReactNative=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNative.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");__webpack_require__("./node_modules/react-native/Libraries/Utilities/BackAndroid.ios.js");function renderApplication(RootComponent,initialProps,rootTag){invariant(rootTag,'Expect to have a valid rootTag, instead got ',rootTag);ReactNative.render(React.createElement(AppContainer,{rootTag:rootTag,__source:{fileName:_jsxFileName,lineNumber:34}},React.createElement(RootComponent,_extends({},initialProps,{rootTag:rootTag,__source:{fileName:_jsxFileName,lineNumber:35}}))),rootTag);}module.exports=renderApplication;

/***/ }),

/***/ "./node_modules/react-native/Libraries/ReactNative/requireNativeComponent.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var ReactNativeStyleAttributes=__webpack_require__("./node_modules/react-native/Libraries/Components/View/ReactNativeStyleAttributes.js");var UIManager=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/UIManager.js");var UnimplementedView=__webpack_require__("./node_modules/react-native/Libraries/Components/UnimplementedViews/UnimplementedView.js");var createReactNativeComponentClass=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/createReactNativeComponentClass.js");var insetsDiffer=__webpack_require__("./node_modules/react-native/Libraries/Utilities/differ/insetsDiffer.js");var matricesDiffer=__webpack_require__("./node_modules/react-native/Libraries/Utilities/differ/matricesDiffer.js");var pointsDiffer=__webpack_require__("./node_modules/react-native/Libraries/Utilities/differ/pointsDiffer.js");var processColor=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/processColor.js");var resolveAssetSource=__webpack_require__("./node_modules/react-native/Libraries/Image/resolveAssetSource.js");var sizesDiffer=__webpack_require__("./node_modules/react-native/Libraries/Utilities/differ/sizesDiffer.js");var verifyPropTypes=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/verifyPropTypes.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");function requireNativeComponent(viewName,componentInterface,extraConfig){var viewConfig=UIManager[viewName];if(!viewConfig||!viewConfig.NativeProps){warning(false,'Native component for "%s" does not exist',viewName);return UnimplementedView;}viewConfig.uiViewClassName=viewName;viewConfig.validAttributes={};viewConfig.propTypes=componentInterface&&componentInterface.propTypes;var nativeProps=_extends({},UIManager.RCTView.NativeProps,viewConfig.NativeProps);for(var key in nativeProps){var useAttribute=false;var attribute={};var differ=TypeToDifferMap[nativeProps[key]];if(differ){attribute.diff=differ;useAttribute=true;}var processor=TypeToProcessorMap[nativeProps[key]];if(processor){attribute.process=processor;useAttribute=true;}viewConfig.validAttributes[key]=useAttribute?attribute:true;}viewConfig.validAttributes.style=ReactNativeStyleAttributes;if(false){componentInterface&&verifyPropTypes(componentInterface,viewConfig,extraConfig&&extraConfig.nativeOnly);}return createReactNativeComponentClass(viewConfig);}var TypeToDifferMap={CATransform3D:matricesDiffer,CGPoint:pointsDiffer,CGSize:sizesDiffer,UIEdgeInsets:insetsDiffer};function processColorArray(colors){return colors&&colors.map(processColor);}var TypeToProcessorMap={CGColor:processColor,CGColorArray:processColorArray,UIColor:processColor,UIColorArray:processColorArray,CGImage:resolveAssetSource,UIImage:resolveAssetSource,RCTImageSource:resolveAssetSource,Color:processColor,ColorArray:processColorArray};module.exports=requireNativeComponent;

/***/ }),

/***/ "./node_modules/react-native/Libraries/ReactNative/verifyPropTypes.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactNativeStyleAttributes=__webpack_require__("./node_modules/react-native/Libraries/Components/View/ReactNativeStyleAttributes.js");function verifyPropTypes(componentInterface,viewConfig,nativePropsToIgnore){if(!viewConfig){return;}var componentName=componentInterface.displayName||componentInterface.name||'unknown';if(!componentInterface.propTypes){throw new Error('`'+componentName+'` has no propTypes defined`');}var nativeProps=viewConfig.NativeProps;for(var prop in nativeProps){if(!componentInterface.propTypes[prop]&&!ReactNativeStyleAttributes[prop]&&(!nativePropsToIgnore||!nativePropsToIgnore[prop])){var message;if(componentInterface.propTypes.hasOwnProperty(prop)){message='`'+componentName+'` has incorrectly defined propType for native prop `'+viewConfig.uiViewClassName+'.'+prop+'` of native type `'+nativeProps[prop];}else{message='`'+componentName+'` has no propType for native prop `'+viewConfig.uiViewClassName+'.'+prop+'` of native type `'+nativeProps[prop]+'`';}message+='\nIf you haven\'t changed this prop yourself, this usually means that '+'your versions of the native code and JavaScript code are out of sync. Updating both '+'should make this error go away.';throw new Error(message);}}}module.exports=verifyPropTypes;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/native/NativeMethodsMixin.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactNativeAttributePayload=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeAttributePayload.js");var TextInputState=__webpack_require__("./node_modules/react-native/Libraries/Components/TextInput/TextInputState.js");var UIManager=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/UIManager.js");var findNodeHandle=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/findNodeHandle.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");function warnForStyleProps(props,validAttributes){for(var key in validAttributes.style){if(!(validAttributes[key]||props[key]===undefined)){console.error('You are setting the style `{ '+key+': ... }` as a prop. You '+'should nest it in a style object. '+'E.g. `{ style: { '+key+': ... } }`');}}}var NativeMethodsMixin={measure:function measure(callback){UIManager.measure(findNodeHandle(this),mountSafeCallback(this,callback));},measureInWindow:function measureInWindow(callback){UIManager.measureInWindow(findNodeHandle(this),mountSafeCallback(this,callback));},measureLayout:function measureLayout(relativeToNativeNode,onSuccess,onFail){UIManager.measureLayout(findNodeHandle(this),relativeToNativeNode,mountSafeCallback(this,onFail),mountSafeCallback(this,onSuccess));},setNativeProps:function setNativeProps(nativeProps){if(!this.viewConfig){var ctor=this.constructor;var componentName=ctor.displayName||ctor.name||'<Unknown Component>';invariant(false,componentName+' "viewConfig" is not defined.');}if(false){warnForStyleProps(nativeProps,this.viewConfig.validAttributes);}var updatePayload=ReactNativeAttributePayload.create(nativeProps,this.viewConfig.validAttributes);UIManager.updateView(findNodeHandle(this),this.viewConfig.uiViewClassName,updatePayload);},focus:function focus(){TextInputState.focusTextInput(findNodeHandle(this));},blur:function blur(){TextInputState.blurTextInput(findNodeHandle(this));}};function throwOnStylesProp(component,props){if(props.styles!==undefined){var owner=component._owner||null;var name=component.constructor.displayName;var msg='`styles` is not a supported property of `'+name+'`, did '+'you mean `style` (singular)?';if(owner&&owner.constructor&&owner.constructor.displayName){msg+='\n\nCheck the `'+owner.constructor.displayName+'` parent '+' component.';}throw new Error(msg);}}if(false){var NativeMethodsMixin_DEV=NativeMethodsMixin;invariant(!NativeMethodsMixin_DEV.componentWillMount&&!NativeMethodsMixin_DEV.componentWillReceiveProps,'Do not override existing functions.');NativeMethodsMixin_DEV.componentWillMount=function(){throwOnStylesProp(this,this.props);};NativeMethodsMixin_DEV.componentWillReceiveProps=function(newProps){throwOnStylesProp(this,newProps);};}function mountSafeCallback(context,callback){return function(){if(!callback||context.isMounted&&!context.isMounted()){return undefined;}return callback.apply(context,arguments);};}module.exports=NativeMethodsMixin;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNative.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactNativeComponentTree=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeComponentTree.js");var ReactNativeDefaultInjection=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeDefaultInjection.js");var ReactNativeMount=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeMount.js");var ReactUpdates=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactUpdates.js");var findNodeHandle=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/findNodeHandle.js");ReactNativeDefaultInjection.inject();var render=function render(element,mountInto,callback){return ReactNativeMount.renderComponent(element,mountInto,callback);};var ReactNative={hasReactNativeInitialized:false,findNodeHandle:findNodeHandle,render:render,unmountComponentAtNode:ReactNativeMount.unmountComponentAtNode,unstable_batchedUpdates:ReactUpdates.batchedUpdates,unmountComponentAtNodeAndRemoveContainer:ReactNativeMount.unmountComponentAtNodeAndRemoveContainer};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!=='undefined'&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject==='function'){__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({ComponentTree:{getClosestInstanceFromNode:function getClosestInstanceFromNode(node){return ReactNativeComponentTree.getClosestInstanceFromNode(node);},getNodeFromInstance:function getNodeFromInstance(inst){while(inst._renderedComponent){inst=inst._renderedComponent;}if(inst){return ReactNativeComponentTree.getNodeFromInstance(inst);}else{return null;}}},Mount:ReactNativeMount,Reconciler:__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactReconciler.js")});}module.exports=ReactNative;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeAttributePayload.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactNativePropRegistry=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativePropRegistry.js");var deepDiffer=__webpack_require__("./node_modules/react-native/Libraries/Utilities/differ/deepDiffer.js");var flattenStyle=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/flattenStyle.js");var emptyObject={};var removedKeys=null;var removedKeyCount=0;function defaultDiffer(prevProp,nextProp){if(typeof nextProp!=='object'||nextProp===null){return true;}else{return deepDiffer(prevProp,nextProp);}}function resolveObject(idOrObject){if(typeof idOrObject==='number'){return ReactNativePropRegistry.getByID(idOrObject);}return idOrObject;}function restoreDeletedValuesInNestedArray(updatePayload,node,validAttributes){if(Array.isArray(node)){var i=node.length;while(i--&&removedKeyCount>0){restoreDeletedValuesInNestedArray(updatePayload,node[i],validAttributes);}}else if(node&&removedKeyCount>0){var obj=resolveObject(node);for(var propKey in removedKeys){if(!removedKeys[propKey]){continue;}var nextProp=obj[propKey];if(nextProp===undefined){continue;}var attributeConfig=validAttributes[propKey];if(!attributeConfig){continue;}if(typeof nextProp==='function'){nextProp=true;}if(typeof nextProp==='undefined'){nextProp=null;}if(typeof attributeConfig!=='object'){updatePayload[propKey]=nextProp;}else if(typeof attributeConfig.diff==='function'||typeof attributeConfig.process==='function'){var nextValue=typeof attributeConfig.process==='function'?attributeConfig.process(nextProp):nextProp;updatePayload[propKey]=nextValue;}removedKeys[propKey]=false;removedKeyCount--;}}}function diffNestedArrayProperty(updatePayload,prevArray,nextArray,validAttributes){var minLength=prevArray.length<nextArray.length?prevArray.length:nextArray.length;var i;for(i=0;i<minLength;i++){updatePayload=diffNestedProperty(updatePayload,prevArray[i],nextArray[i],validAttributes);}for(;i<prevArray.length;i++){updatePayload=clearNestedProperty(updatePayload,prevArray[i],validAttributes);}for(;i<nextArray.length;i++){updatePayload=addNestedProperty(updatePayload,nextArray[i],validAttributes);}return updatePayload;}function diffNestedProperty(updatePayload,prevProp,nextProp,validAttributes){if(!updatePayload&&prevProp===nextProp){return updatePayload;}if(!prevProp||!nextProp){if(nextProp){return addNestedProperty(updatePayload,nextProp,validAttributes);}if(prevProp){return clearNestedProperty(updatePayload,prevProp,validAttributes);}return updatePayload;}if(!Array.isArray(prevProp)&&!Array.isArray(nextProp)){return diffProperties(updatePayload,resolveObject(prevProp),resolveObject(nextProp),validAttributes);}if(Array.isArray(prevProp)&&Array.isArray(nextProp)){return diffNestedArrayProperty(updatePayload,prevProp,nextProp,validAttributes);}if(Array.isArray(prevProp)){return diffProperties(updatePayload,flattenStyle(prevProp),resolveObject(nextProp),validAttributes);}return diffProperties(updatePayload,resolveObject(prevProp),flattenStyle(nextProp),validAttributes);}function addNestedProperty(updatePayload,nextProp,validAttributes){if(!nextProp){return updatePayload;}if(!Array.isArray(nextProp)){return addProperties(updatePayload,resolveObject(nextProp),validAttributes);}for(var i=0;i<nextProp.length;i++){updatePayload=addNestedProperty(updatePayload,nextProp[i],validAttributes);}return updatePayload;}function clearNestedProperty(updatePayload,prevProp,validAttributes){if(!prevProp){return updatePayload;}if(!Array.isArray(prevProp)){return clearProperties(updatePayload,resolveObject(prevProp),validAttributes);}for(var i=0;i<prevProp.length;i++){updatePayload=clearNestedProperty(updatePayload,prevProp[i],validAttributes);}return updatePayload;}function diffProperties(updatePayload,prevProps,nextProps,validAttributes){var attributeConfig;var nextProp;var prevProp;for(var propKey in nextProps){attributeConfig=validAttributes[propKey];if(!attributeConfig){continue;}prevProp=prevProps[propKey];nextProp=nextProps[propKey];if(typeof nextProp==='function'){nextProp=true;if(typeof prevProp==='function'){prevProp=true;}}if(typeof nextProp==='undefined'){nextProp=null;if(typeof prevProp==='undefined'){prevProp=null;}}if(removedKeys){removedKeys[propKey]=false;}if(updatePayload&&updatePayload[propKey]!==undefined){if(typeof attributeConfig!=='object'){updatePayload[propKey]=nextProp;}else if(typeof attributeConfig.diff==='function'||typeof attributeConfig.process==='function'){var nextValue=typeof attributeConfig.process==='function'?attributeConfig.process(nextProp):nextProp;updatePayload[propKey]=nextValue;}continue;}if(prevProp===nextProp){continue;}if(typeof attributeConfig!=='object'){if(defaultDiffer(prevProp,nextProp)){(updatePayload||(updatePayload={}))[propKey]=nextProp;}}else if(typeof attributeConfig.diff==='function'||typeof attributeConfig.process==='function'){var shouldUpdate=prevProp===undefined||(typeof attributeConfig.diff==='function'?attributeConfig.diff(prevProp,nextProp):defaultDiffer(prevProp,nextProp));if(shouldUpdate){nextValue=typeof attributeConfig.process==='function'?attributeConfig.process(nextProp):nextProp;(updatePayload||(updatePayload={}))[propKey]=nextValue;}}else{removedKeys=null;removedKeyCount=0;updatePayload=diffNestedProperty(updatePayload,prevProp,nextProp,attributeConfig);if(removedKeyCount>0&&updatePayload){restoreDeletedValuesInNestedArray(updatePayload,nextProp,attributeConfig);removedKeys=null;}}}for(propKey in prevProps){if(nextProps[propKey]!==undefined){continue;}attributeConfig=validAttributes[propKey];if(!attributeConfig){continue;}if(updatePayload&&updatePayload[propKey]!==undefined){continue;}prevProp=prevProps[propKey];if(prevProp===undefined){continue;}if(typeof attributeConfig!=='object'||typeof attributeConfig.diff==='function'||typeof attributeConfig.process==='function'){(updatePayload||(updatePayload={}))[propKey]=null;if(!removedKeys){removedKeys={};}if(!removedKeys[propKey]){removedKeys[propKey]=true;removedKeyCount++;}}else{updatePayload=clearNestedProperty(updatePayload,prevProp,attributeConfig);}}return updatePayload;}function addProperties(updatePayload,props,validAttributes){return diffProperties(updatePayload,emptyObject,props,validAttributes);}function clearProperties(updatePayload,prevProps,validAttributes){return diffProperties(updatePayload,prevProps,emptyObject,validAttributes);}var ReactNativeAttributePayload={create:function create(props,validAttributes){return addProperties(null,props,validAttributes);},diff:function diff(prevProps,nextProps,validAttributes){return diffProperties(null,prevProps,nextProps,validAttributes);}};module.exports=ReactNativeAttributePayload;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeBaseComponent.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var NativeMethodsMixin=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/NativeMethodsMixin.js");var ReactNativeAttributePayload=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeAttributePayload.js");var ReactNativeComponentTree=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeComponentTree.js");var ReactNativeEventEmitter=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeEventEmitter.js");var ReactNativeTagHandles=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeTagHandles.js");var ReactMultiChild=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactMultiChild.js");var UIManager=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/UIManager.js");var deepFreezeAndThrowOnMutationInDev=__webpack_require__("./node_modules/react-native/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js");var registrationNames=ReactNativeEventEmitter.registrationNames;var putListener=ReactNativeEventEmitter.putListener;var deleteListener=ReactNativeEventEmitter.deleteListener;var deleteAllListeners=ReactNativeEventEmitter.deleteAllListeners;var ReactNativeBaseComponent=function ReactNativeBaseComponent(viewConfig){this.viewConfig=viewConfig;};ReactNativeBaseComponent.Mixin={getPublicInstance:function getPublicInstance(){return this;},unmountComponent:function unmountComponent(){ReactNativeComponentTree.uncacheNode(this);deleteAllListeners(this);this.unmountChildren();this._rootNodeID=0;},initializeChildren:function initializeChildren(children,containerTag,transaction,context){var mountImages=this.mountChildren(children,transaction,context);if(mountImages.length){var createdTags=[];for(var i=0,l=mountImages.length;i<l;i++){var mountImage=mountImages[i];var childTag=mountImage;createdTags[i]=childTag;}UIManager.setChildren(containerTag,createdTags);}},receiveComponent:function receiveComponent(nextElement,transaction,context){var prevElement=this._currentElement;this._currentElement=nextElement;if(false){for(var key in this.viewConfig.validAttributes){if(nextElement.props.hasOwnProperty(key)){deepFreezeAndThrowOnMutationInDev(nextElement.props[key]);}}}var updatePayload=ReactNativeAttributePayload.diff(prevElement.props,nextElement.props,this.viewConfig.validAttributes);if(updatePayload){UIManager.updateView(this._rootNodeID,this.viewConfig.uiViewClassName,updatePayload);}this._reconcileListenersUponUpdate(prevElement.props,nextElement.props);this.updateChildren(nextElement.props.children,transaction,context);},_registerListenersUponCreation:function _registerListenersUponCreation(initialProps){for(var key in initialProps){if(registrationNames[key]&&initialProps[key]){var listener=initialProps[key];putListener(this,key,listener);}}},_reconcileListenersUponUpdate:function _reconcileListenersUponUpdate(prevProps,nextProps){for(var key in nextProps){if(registrationNames[key]&&nextProps[key]!==prevProps[key]){if(nextProps[key]){putListener(this,key,nextProps[key]);}else{deleteListener(this,key);}}}},getHostNode:function getHostNode(){return this._rootNodeID;},mountComponent:function mountComponent(transaction,hostParent,hostContainerInfo,context){var tag=ReactNativeTagHandles.allocateTag();this._rootNodeID=tag;this._hostParent=hostParent;this._hostContainerInfo=hostContainerInfo;if(false){for(var key in this.viewConfig.validAttributes){if(this._currentElement.props.hasOwnProperty(key)){deepFreezeAndThrowOnMutationInDev(this._currentElement.props[key]);}}}var updatePayload=ReactNativeAttributePayload.create(this._currentElement.props,this.viewConfig.validAttributes);var nativeTopRootTag=hostContainerInfo._tag;UIManager.createView(tag,this.viewConfig.uiViewClassName,nativeTopRootTag,updatePayload);ReactNativeComponentTree.precacheNode(this,tag);this._registerListenersUponCreation(this._currentElement.props);this.initializeChildren(this._currentElement.props.children,tag,transaction,context);return tag;}};_extends(ReactNativeBaseComponent.prototype,ReactMultiChild,ReactNativeBaseComponent.Mixin,NativeMethodsMixin);module.exports=ReactNativeBaseComponent;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeBridgeEventPlugin.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var EventPropagators=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/EventPropagators.js");var SyntheticEvent=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/SyntheticEvent.js");var UIManager=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/UIManager.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");var customBubblingEventTypes=UIManager.customBubblingEventTypes;var customDirectEventTypes=UIManager.customDirectEventTypes;var allTypesByEventName={};for(var bubblingTypeName in customBubblingEventTypes){allTypesByEventName[bubblingTypeName]=customBubblingEventTypes[bubblingTypeName];}for(var directTypeName in customDirectEventTypes){warning(!customBubblingEventTypes[directTypeName],'Event cannot be both direct and bubbling: %s',directTypeName);allTypesByEventName[directTypeName]=customDirectEventTypes[directTypeName];}var ReactNativeBridgeEventPlugin={eventTypes:_extends({},customBubblingEventTypes,customDirectEventTypes),extractEvents:function extractEvents(topLevelType,targetInst,nativeEvent,nativeEventTarget){var bubbleDispatchConfig=customBubblingEventTypes[topLevelType];var directDispatchConfig=customDirectEventTypes[topLevelType];var event=SyntheticEvent.getPooled(bubbleDispatchConfig||directDispatchConfig,targetInst,nativeEvent,nativeEventTarget);if(bubbleDispatchConfig){EventPropagators.accumulateTwoPhaseDispatches(event);}else if(directDispatchConfig){EventPropagators.accumulateDirectDispatches(event);}else{return null;}return event;}};module.exports=ReactNativeBridgeEventPlugin;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeComponentEnvironment.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactNativeDOMIDOperations=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeDOMIDOperations.js");var ReactNativeReconcileTransaction=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeReconcileTransaction.js");var ReactNativeComponentEnvironment={processChildrenUpdates:ReactNativeDOMIDOperations.dangerouslyProcessChildrenUpdates,replaceNodeWithMarkup:ReactNativeDOMIDOperations.dangerouslyReplaceNodeWithMarkupByID,clearNode:function clearNode(){},ReactReconcileTransaction:ReactNativeReconcileTransaction};module.exports=ReactNativeComponentEnvironment;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeComponentTree.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var instanceCache={};function getRenderedHostOrTextFromComponent(component){var rendered;while(rendered=component._renderedComponent){component=rendered;}return component;}function precacheNode(inst,tag){var nativeInst=getRenderedHostOrTextFromComponent(inst);instanceCache[tag]=nativeInst;}function uncacheNode(inst){var tag=inst._rootNodeID;if(tag){delete instanceCache[tag];}}function getInstanceFromTag(tag){return instanceCache[tag]||null;}function getTagFromInstance(inst){invariant(inst._rootNodeID,'All native instances should have a tag.');return inst._rootNodeID;}var ReactNativeComponentTree={getClosestInstanceFromNode:getInstanceFromTag,getInstanceFromNode:getInstanceFromTag,getNodeFromInstance:getTagFromInstance,precacheNode:precacheNode,uncacheNode:uncacheNode};module.exports=ReactNativeComponentTree;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeContainerInfo.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
function ReactNativeContainerInfo(tag){var info={_tag:tag};return info;}module.exports=ReactNativeContainerInfo;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeDOMIDOperations.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactNativeComponentTree=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeComponentTree.js");var UIManager=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/UIManager.js");var dangerouslyProcessChildrenUpdates=function dangerouslyProcessChildrenUpdates(inst,childrenUpdates){if(!childrenUpdates.length){return;}var containerTag=ReactNativeComponentTree.getNodeFromInstance(inst);var moveFromIndices;var moveToIndices;var addChildTags;var addAtIndices;var removeAtIndices;for(var i=0;i<childrenUpdates.length;i++){var update=childrenUpdates[i];if(update.type==='MOVE_EXISTING'){(moveFromIndices||(moveFromIndices=[])).push(update.fromIndex);(moveToIndices||(moveToIndices=[])).push(update.toIndex);}else if(update.type==='REMOVE_NODE'){(removeAtIndices||(removeAtIndices=[])).push(update.fromIndex);}else if(update.type==='INSERT_MARKUP'){var mountImage=update.content;var tag=mountImage;(addAtIndices||(addAtIndices=[])).push(update.toIndex);(addChildTags||(addChildTags=[])).push(tag);}}UIManager.manageChildren(containerTag,moveFromIndices,moveToIndices,addChildTags,addAtIndices,removeAtIndices);};var ReactNativeDOMIDOperations={dangerouslyProcessChildrenUpdates:dangerouslyProcessChildrenUpdates,dangerouslyReplaceNodeWithMarkupByID:function dangerouslyReplaceNodeWithMarkupByID(id,mountImage){var oldTag=id;UIManager.replaceExistingNonRootView(oldTag,mountImage);}};module.exports=ReactNativeDOMIDOperations;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeDefaultInjection.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
__webpack_require__("./node_modules/react-native/Libraries/Core/InitializeCore.js");var EventPluginHub=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/EventPluginHub.js");var EventPluginUtils=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/EventPluginUtils.js");var RCTEventEmitter=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/RCTEventEmitter.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var ReactComponentEnvironment=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactComponentEnvironment.js");var ReactDefaultBatchingStrategy=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactDefaultBatchingStrategy.js");var ReactEmptyComponent=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactEmptyComponent.js");var ReactNativeBridgeEventPlugin=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeBridgeEventPlugin.js");var ReactHostComponent=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactHostComponent.js");var ReactNativeComponentEnvironment=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeComponentEnvironment.js");var ReactNativeComponentTree=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeComponentTree.js");var ReactNativeEventEmitter=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeEventEmitter.js");var ReactNativeEventPluginOrder=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeEventPluginOrder.js");var ReactNativeGlobalResponderHandler=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeGlobalResponderHandler.js");var ReactNativeTextComponent=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeTextComponent.js");var ReactNativeTreeTraversal=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeTreeTraversal.js");var ReactSimpleEmptyComponent=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactSimpleEmptyComponent.js");var ReactUpdates=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactUpdates.js");var ResponderEventPlugin=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/eventPlugins/ResponderEventPlugin.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");function inject(){RCTEventEmitter.register(ReactNativeEventEmitter);EventPluginHub.injection.injectEventPluginOrder(ReactNativeEventPluginOrder);EventPluginUtils.injection.injectComponentTree(ReactNativeComponentTree);EventPluginUtils.injection.injectTreeTraversal(ReactNativeTreeTraversal);ResponderEventPlugin.injection.injectGlobalResponderHandler(ReactNativeGlobalResponderHandler);EventPluginHub.injection.injectEventPluginsByName({'ResponderEventPlugin':ResponderEventPlugin,'ReactNativeBridgeEventPlugin':ReactNativeBridgeEventPlugin});ReactUpdates.injection.injectReconcileTransaction(ReactNativeComponentEnvironment.ReactReconcileTransaction);ReactUpdates.injection.injectBatchingStrategy(ReactDefaultBatchingStrategy);ReactComponentEnvironment.injection.injectEnvironment(ReactNativeComponentEnvironment);var EmptyComponent=function EmptyComponent(instantiate){var View=__webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");return new ReactSimpleEmptyComponent(React.createElement(View,{collapsable:true,style:{position:'absolute'}}),instantiate);};ReactEmptyComponent.injection.injectEmptyComponentFactory(EmptyComponent);ReactHostComponent.injection.injectTextComponentClass(ReactNativeTextComponent);ReactHostComponent.injection.injectGenericComponentClass(function(tag){var info='';if(typeof tag==='string'&&/^[a-z]/.test(tag)){info+=' Each component name should start with an uppercase letter.';}invariant(false,'Expected a component class, got %s.%s',tag,info);});}module.exports={inject:inject};

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeEventEmitter.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var EventPluginHub=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/EventPluginHub.js");var EventPluginRegistry=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/EventPluginRegistry.js");var ReactEventEmitterMixin=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactEventEmitterMixin.js");var ReactNativeComponentTree=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeComponentTree.js");var ReactNativeTagHandles=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeTagHandles.js");var ReactUpdates=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactUpdates.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");var EMPTY_NATIVE_EVENT={};var touchSubsequence=function touchSubsequence(touches,indices){var ret=[];for(var i=0;i<indices.length;i++){ret.push(touches[indices[i]]);}return ret;};var removeTouchesAtIndices=function removeTouchesAtIndices(touches,indices){var rippedOut=[];var temp=touches;for(var i=0;i<indices.length;i++){var index=indices[i];rippedOut.push(touches[index]);temp[index]=null;}var fillAt=0;for(var j=0;j<temp.length;j++){var cur=temp[j];if(cur!==null){temp[fillAt++]=cur;}}temp.length=fillAt;return rippedOut;};var ReactNativeEventEmitter=_extends({},ReactEventEmitterMixin,{registrationNames:EventPluginRegistry.registrationNameModules,putListener:EventPluginHub.putListener,getListener:EventPluginHub.getListener,deleteListener:EventPluginHub.deleteListener,deleteAllListeners:EventPluginHub.deleteAllListeners,_receiveRootNodeIDEvent:function _receiveRootNodeIDEvent(rootNodeID,topLevelType,nativeEventParam){var nativeEvent=nativeEventParam||EMPTY_NATIVE_EVENT;var inst=ReactNativeComponentTree.getInstanceFromNode(rootNodeID);if(!inst){return;}ReactUpdates.batchedUpdates(function(){ReactNativeEventEmitter.handleTopLevel(topLevelType,inst,nativeEvent,nativeEvent.target);});},receiveEvent:function receiveEvent(tag,topLevelType,nativeEventParam){var rootNodeID=tag;ReactNativeEventEmitter._receiveRootNodeIDEvent(rootNodeID,topLevelType,nativeEventParam);},receiveTouches:function receiveTouches(eventTopLevelType,touches,changedIndices){var changedTouches=eventTopLevelType==='topTouchEnd'||eventTopLevelType==='topTouchCancel'?removeTouchesAtIndices(touches,changedIndices):touchSubsequence(touches,changedIndices);for(var jj=0;jj<changedTouches.length;jj++){var touch=changedTouches[jj];touch.changedTouches=changedTouches;touch.touches=touches;var nativeEvent=touch;var rootNodeID=null;var target=nativeEvent.target;if(target!==null&&target!==undefined){if(target<ReactNativeTagHandles.tagsStartAt){if(false){warning(false,'A view is reporting that a touch occured on tag zero.');}}else{rootNodeID=target;}}ReactNativeEventEmitter._receiveRootNodeIDEvent(rootNodeID,eventTopLevelType,nativeEvent);}}});module.exports=ReactNativeEventEmitter;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeEventPluginOrder.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactNativeEventPluginOrder=['ResponderEventPlugin','ReactNativeBridgeEventPlugin'];module.exports=ReactNativeEventPluginOrder;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeGlobalResponderHandler.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var UIManager=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/UIManager.js");var ReactNativeGlobalResponderHandler={onChange:function onChange(from,to,blockNativeResponder){if(to!==null){UIManager.setJSResponder(to._rootNodeID,blockNativeResponder);}else{UIManager.clearJSResponder();}}};module.exports=ReactNativeGlobalResponderHandler;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeMount.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var ReactInstrumentation=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/ReactInstrumentation.js");var ReactNativeContainerInfo=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeContainerInfo.js");var ReactNativeTagHandles=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeTagHandles.js");var ReactReconciler=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactReconciler.js");var ReactUpdateQueue=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactUpdateQueue.js");var ReactUpdates=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactUpdates.js");var UIManager=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/UIManager.js");var emptyObject=__webpack_require__("./node_modules/fbjs/lib/emptyObject.js");var instantiateReactComponent=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/instantiateReactComponent.js");var shouldUpdateReactComponent=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/shared/shouldUpdateReactComponent.js");var TopLevelWrapper=function TopLevelWrapper(){};TopLevelWrapper.prototype.isReactComponent={};if(false){TopLevelWrapper.displayName='TopLevelWrapper';}TopLevelWrapper.prototype.render=function(){return this.props.child;};TopLevelWrapper.isReactTopLevelWrapper=true;function mountComponentIntoNode(componentInstance,containerTag,transaction){var markup=ReactReconciler.mountComponent(componentInstance,transaction,null,ReactNativeContainerInfo(containerTag),emptyObject,0);componentInstance._renderedComponent._topLevelWrapper=componentInstance;ReactNativeMount._mountImageIntoNode(markup,containerTag);}function batchedMountComponentIntoNode(componentInstance,containerTag){var transaction=ReactUpdates.ReactReconcileTransaction.getPooled();transaction.perform(mountComponentIntoNode,null,componentInstance,containerTag,transaction);ReactUpdates.ReactReconcileTransaction.release(transaction);}var ReactNativeMount={_instancesByContainerID:{},findNodeHandle:__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/findNodeHandle.js"),renderComponent:function renderComponent(nextElement,containerTag,callback){var nextWrappedElement=React.createElement(TopLevelWrapper,{child:nextElement});var topRootNodeID=containerTag;var prevComponent=ReactNativeMount._instancesByContainerID[topRootNodeID];if(prevComponent){var prevWrappedElement=prevComponent._currentElement;var prevElement=prevWrappedElement.props.child;if(shouldUpdateReactComponent(prevElement,nextElement)){ReactUpdateQueue.enqueueElementInternal(prevComponent,nextWrappedElement,emptyObject);if(callback){ReactUpdateQueue.enqueueCallbackInternal(prevComponent,callback);}return prevComponent;}else{ReactNativeMount.unmountComponentAtNode(containerTag);}}if(!ReactNativeTagHandles.reactTagIsNativeTopRootID(containerTag)){console.error('You cannot render into anything but a top root');return null;}ReactNativeTagHandles.assertRootTag(containerTag);var instance=instantiateReactComponent(nextWrappedElement,false);ReactNativeMount._instancesByContainerID[containerTag]=instance;ReactUpdates.batchedUpdates(batchedMountComponentIntoNode,instance,containerTag);var component=instance.getPublicInstance();if(callback){callback.call(component);}return component;},_mountImageIntoNode:function _mountImageIntoNode(mountImage,containerID){var childTag=mountImage;UIManager.setChildren(containerID,[childTag]);},unmountComponentAtNodeAndRemoveContainer:function unmountComponentAtNodeAndRemoveContainer(containerTag){ReactNativeMount.unmountComponentAtNode(containerTag);UIManager.removeRootView(containerTag);},unmountComponentAtNode:function unmountComponentAtNode(containerTag){if(!ReactNativeTagHandles.reactTagIsNativeTopRootID(containerTag)){console.error('You cannot render into anything but a top root');return false;}var instance=ReactNativeMount._instancesByContainerID[containerTag];if(!instance){return false;}if(false){ReactInstrumentation.debugTool.onBeginFlush();}ReactNativeMount.unmountComponentFromNode(instance,containerTag);delete ReactNativeMount._instancesByContainerID[containerTag];if(false){ReactInstrumentation.debugTool.onEndFlush();}return true;},unmountComponentFromNode:function unmountComponentFromNode(instance,containerID){ReactReconciler.unmountComponent(instance);UIManager.removeSubviewsFromContainerWithID(containerID);}};module.exports=ReactNativeMount;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativePropRegistry.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var objects={};var uniqueID=1;var emptyObject={};var ReactNativePropRegistry=function(){function ReactNativePropRegistry(){_classCallCheck(this,ReactNativePropRegistry);}_createClass(ReactNativePropRegistry,null,[{key:'register',value:function register(object){var id=++uniqueID;if(false){Object.freeze(object);}objects[id]=object;return id;}},{key:'getByID',value:function getByID(id){if(!id){return emptyObject;}var object=objects[id];if(!object){console.warn('Invalid style with id `'+id+'`. Skipping ...');return emptyObject;}return object;}}]);return ReactNativePropRegistry;}();module.exports=ReactNativePropRegistry;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeReconcileTransaction.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var CallbackQueue=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/utils/CallbackQueue.js");var PooledClass=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/shared/utils/PooledClass.js");var Transaction=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/utils/Transaction.js");var ReactInstrumentation=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/ReactInstrumentation.js");var ReactUpdateQueue=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactUpdateQueue.js");var ON_DOM_READY_QUEUEING={initialize:function initialize(){this.reactMountReady.reset();},close:function close(){this.reactMountReady.notifyAll();}};var TRANSACTION_WRAPPERS=[ON_DOM_READY_QUEUEING];if(false){TRANSACTION_WRAPPERS.push({initialize:ReactInstrumentation.debugTool.onBeginFlush,close:ReactInstrumentation.debugTool.onEndFlush});}function ReactNativeReconcileTransaction(){this.reinitializeTransaction();this.reactMountReady=CallbackQueue.getPooled(null);}var Mixin={getTransactionWrappers:function getTransactionWrappers(){return TRANSACTION_WRAPPERS;},getReactMountReady:function getReactMountReady(){return this.reactMountReady;},getUpdateQueue:function getUpdateQueue(){return ReactUpdateQueue;},checkpoint:function checkpoint(){return this.reactMountReady.checkpoint();},rollback:function rollback(checkpoint){this.reactMountReady.rollback(checkpoint);},destructor:function destructor(){CallbackQueue.release(this.reactMountReady);this.reactMountReady=null;}};_extends(ReactNativeReconcileTransaction.prototype,Transaction,ReactNativeReconcileTransaction,Mixin);PooledClass.addPoolingTo(ReactNativeReconcileTransaction);module.exports=ReactNativeReconcileTransaction;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeTagHandles.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var INITIAL_TAG_COUNT=1;var ReactNativeTagHandles={tagsStartAt:INITIAL_TAG_COUNT,tagCount:INITIAL_TAG_COUNT,allocateTag:function allocateTag(){while(this.reactTagIsNativeTopRootID(ReactNativeTagHandles.tagCount)){ReactNativeTagHandles.tagCount++;}var tag=ReactNativeTagHandles.tagCount;ReactNativeTagHandles.tagCount++;return tag;},assertRootTag:function assertRootTag(tag){invariant(this.reactTagIsNativeTopRootID(tag),'Expect a native root tag, instead got %s',tag);},reactTagIsNativeTopRootID:function reactTagIsNativeTopRootID(reactTag){return reactTag%10===1;}};module.exports=ReactNativeTagHandles;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeTextComponent.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var ReactNativeComponentTree=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeComponentTree.js");var ReactNativeTagHandles=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeTagHandles.js");var UIManager=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/UIManager.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var ReactNativeTextComponent=function ReactNativeTextComponent(text){this._currentElement=text;this._stringText=''+text;this._hostParent=null;this._rootNodeID=0;};_extends(ReactNativeTextComponent.prototype,{mountComponent:function mountComponent(transaction,hostParent,hostContainerInfo,context){invariant(context.isInAParentText,'RawText "%s" must be wrapped in an explicit <Text> component.',this._stringText);this._hostParent=hostParent;var tag=ReactNativeTagHandles.allocateTag();this._rootNodeID=tag;var nativeTopRootTag=hostContainerInfo._tag;UIManager.createView(tag,'RCTRawText',nativeTopRootTag,{text:this._stringText});ReactNativeComponentTree.precacheNode(this,tag);return tag;},getHostNode:function getHostNode(){return this._rootNodeID;},receiveComponent:function receiveComponent(nextText,transaction,context){if(nextText!==this._currentElement){this._currentElement=nextText;var nextStringText=''+nextText;if(nextStringText!==this._stringText){this._stringText=nextStringText;UIManager.updateView(this._rootNodeID,'RCTRawText',{text:this._stringText});}}},unmountComponent:function unmountComponent(){ReactNativeComponentTree.uncacheNode(this);this._currentElement=null;this._stringText=null;this._rootNodeID=0;}});module.exports=ReactNativeTextComponent;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeTreeTraversal.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
function getLowestCommonAncestor(instA,instB){var depthA=0;for(var tempA=instA;tempA;tempA=tempA._hostParent){depthA++;}var depthB=0;for(var tempB=instB;tempB;tempB=tempB._hostParent){depthB++;}while(depthA-depthB>0){instA=instA._hostParent;depthA--;}while(depthB-depthA>0){instB=instB._hostParent;depthB--;}var depth=depthA;while(depth--){if(instA===instB){return instA;}instA=instA._hostParent;instB=instB._hostParent;}return null;}function isAncestor(instA,instB){while(instB){if(instB===instA){return true;}instB=instB._hostParent;}return false;}function getParentInstance(inst){return inst._hostParent;}function traverseTwoPhase(inst,fn,arg){var path=[];while(inst){path.push(inst);inst=inst._hostParent;}var i;for(i=path.length;i-->0;){fn(path[i],'captured',arg);}for(i=0;i<path.length;i++){fn(path[i],'bubbled',arg);}}function traverseEnterLeave(from,to,fn,argFrom,argTo){var common=from&&to?getLowestCommonAncestor(from,to):null;var pathFrom=[];while(from&&from!==common){pathFrom.push(from);from=from._hostParent;}var pathTo=[];while(to&&to!==common){pathTo.push(to);to=to._hostParent;}var i;for(i=0;i<pathFrom.length;i++){fn(pathFrom[i],'bubbled',argFrom);}for(i=pathTo.length;i-->0;){fn(pathTo[i],'captured',argTo);}}module.exports={isAncestor:isAncestor,getLowestCommonAncestor:getLowestCommonAncestor,getParentInstance:getParentInstance,traverseTwoPhase:traverseTwoPhase,traverseEnterLeave:traverseEnterLeave};

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/native/createReactNativeComponentClass.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactNativeBaseComponent=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeBaseComponent.js");var createReactNativeComponentClass=function createReactNativeComponentClass(viewConfig){var Constructor=function Constructor(element){this._currentElement=element;this._topLevelWrapper=null;this._hostParent=null;this._hostContainerInfo=null;this._rootNodeID=0;this._renderedChildren=null;};Constructor.displayName=viewConfig.uiViewClassName;Constructor.viewConfig=viewConfig;Constructor.propTypes=viewConfig.propTypes;Constructor.prototype=new ReactNativeBaseComponent(viewConfig);Constructor.prototype.constructor=Constructor;return Constructor;};module.exports=createReactNativeComponentClass;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/native/findNodeHandle.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactCurrentOwner=__webpack_require__("./node_modules/react/lib/ReactCurrentOwner.js");var ReactInstanceMap=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/shared/ReactInstanceMap.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");function findNodeHandle(componentOrHandle){if(false){var owner=ReactCurrentOwner.current;if(owner!==null){warning(owner._warnedAboutRefsInRender,'%s is accessing findNodeHandle inside its render(). '+'render() should be a pure function of props and state. It should '+'never access something that requires stale data from the previous '+'render, such as refs. Move this logic to componentDidMount and '+'componentDidUpdate instead.',owner.getName()||'A component');owner._warnedAboutRefsInRender=true;}}if(componentOrHandle==null){return null;}if(typeof componentOrHandle==='number'){return componentOrHandle;}var component=componentOrHandle;var internalInstance=ReactInstanceMap.get(component);if(internalInstance){return internalInstance.getHostNode();}else{var rootNodeID=component._rootNodeID;if(rootNodeID){return rootNodeID;}else{invariant(typeof component==='object'&&'_rootNodeID'in component||component.render!=null&&typeof component.render==='function','findNodeHandle(...): Argument is not a component '+'(type: %s, keys: %s)',typeof component,Object.keys(component));invariant(false,'findNodeHandle(...): Unable to find node handle for unmounted '+'component.');}}}module.exports=findNodeHandle;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/ReactInstrumentation.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var debugTool=null;if(false){var ReactDebugTool=require('ReactDebugTool');debugTool=ReactDebugTool;}module.exports={debugTool:debugTool};

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/shared/ReactInstanceMap.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactInstanceMap={remove:function remove(key){key._reactInternalInstance=undefined;},get:function get(key){return key._reactInternalInstance;},has:function has(key){return key._reactInternalInstance!==undefined;},set:function set(key,value){key._reactInternalInstance=value;}};module.exports=ReactInstanceMap;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/shared/shouldUpdateReactComponent.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
function shouldUpdateReactComponent(prevElement,nextElement){var prevEmpty=prevElement===null||prevElement===false;var nextEmpty=nextElement===null||nextElement===false;if(prevEmpty||nextEmpty){return prevEmpty===nextEmpty;}var prevType=typeof prevElement;var nextType=typeof nextElement;if(prevType==='string'||prevType==='number'){return nextType==='string'||nextType==='number';}else{return nextType==='object'&&prevElement.type===nextElement.type&&prevElement.key===nextElement.key;}}module.exports=shouldUpdateReactComponent;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/EventPluginHub.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var EventPluginRegistry=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/EventPluginRegistry.js");var EventPluginUtils=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/EventPluginUtils.js");var ReactErrorUtils=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/utils/ReactErrorUtils.js");var accumulateInto=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/utils/accumulateInto.js");var forEachAccumulated=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/utils/forEachAccumulated.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var listenerBank={};var eventQueue=null;var executeDispatchesAndRelease=function executeDispatchesAndRelease(event,simulated){if(event){EventPluginUtils.executeDispatchesInOrder(event,simulated);if(!event.isPersistent()){event.constructor.release(event);}}};var executeDispatchesAndReleaseSimulated=function executeDispatchesAndReleaseSimulated(e){return executeDispatchesAndRelease(e,true);};var executeDispatchesAndReleaseTopLevel=function executeDispatchesAndReleaseTopLevel(e){return executeDispatchesAndRelease(e,false);};var getDictionaryKey=function getDictionaryKey(inst){return'.'+inst._rootNodeID;};var EventPluginHub={injection:{injectEventPluginOrder:EventPluginRegistry.injectEventPluginOrder,injectEventPluginsByName:EventPluginRegistry.injectEventPluginsByName},putListener:function putListener(inst,registrationName,listener){invariant(typeof listener==='function','Expected %s listener to be a function, instead got type %s',registrationName,typeof listener);var key=getDictionaryKey(inst);var bankForRegistrationName=listenerBank[registrationName]||(listenerBank[registrationName]={});bankForRegistrationName[key]=listener;var PluginModule=EventPluginRegistry.registrationNameModules[registrationName];if(PluginModule&&PluginModule.didPutListener){PluginModule.didPutListener(inst,registrationName,listener);}},getListener:function getListener(inst,registrationName){var bankForRegistrationName=listenerBank[registrationName];var key=getDictionaryKey(inst);return bankForRegistrationName&&bankForRegistrationName[key];},deleteListener:function deleteListener(inst,registrationName){var PluginModule=EventPluginRegistry.registrationNameModules[registrationName];if(PluginModule&&PluginModule.willDeleteListener){PluginModule.willDeleteListener(inst,registrationName);}var bankForRegistrationName=listenerBank[registrationName];if(bankForRegistrationName){var key=getDictionaryKey(inst);delete bankForRegistrationName[key];}},deleteAllListeners:function deleteAllListeners(inst){var key=getDictionaryKey(inst);for(var registrationName in listenerBank){if(!listenerBank.hasOwnProperty(registrationName)){continue;}if(!listenerBank[registrationName][key]){continue;}var PluginModule=EventPluginRegistry.registrationNameModules[registrationName];if(PluginModule&&PluginModule.willDeleteListener){PluginModule.willDeleteListener(inst,registrationName);}delete listenerBank[registrationName][key];}},extractEvents:function extractEvents(topLevelType,targetInst,nativeEvent,nativeEventTarget){var events;var plugins=EventPluginRegistry.plugins;for(var i=0;i<plugins.length;i++){var possiblePlugin=plugins[i];if(possiblePlugin){var extractedEvents=possiblePlugin.extractEvents(topLevelType,targetInst,nativeEvent,nativeEventTarget);if(extractedEvents){events=accumulateInto(events,extractedEvents);}}}return events;},enqueueEvents:function enqueueEvents(events){if(events){eventQueue=accumulateInto(eventQueue,events);}},processEventQueue:function processEventQueue(simulated){var processingEventQueue=eventQueue;eventQueue=null;if(simulated){forEachAccumulated(processingEventQueue,executeDispatchesAndReleaseSimulated);}else{forEachAccumulated(processingEventQueue,executeDispatchesAndReleaseTopLevel);}invariant(!eventQueue,'processEventQueue(): Additional events were enqueued while processing '+'an event queue. Support for this has not yet been implemented.');ReactErrorUtils.rethrowCaughtError();},__purge:function __purge(){listenerBank={};},__getListenerBank:function __getListenerBank(){return listenerBank;}};module.exports=EventPluginHub;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/EventPluginRegistry.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var eventPluginOrder=null;var namesToPlugins={};function recomputePluginOrdering(){if(!eventPluginOrder){return;}for(var pluginName in namesToPlugins){var pluginModule=namesToPlugins[pluginName];var pluginIndex=eventPluginOrder.indexOf(pluginName);invariant(pluginIndex>-1,'EventPluginRegistry: Cannot inject event plugins that do not exist in '+'the plugin ordering, `%s`.',pluginName);if(EventPluginRegistry.plugins[pluginIndex]){continue;}invariant(pluginModule.extractEvents,'EventPluginRegistry: Event plugins must implement an `extractEvents` '+'method, but `%s` does not.',pluginName);EventPluginRegistry.plugins[pluginIndex]=pluginModule;var publishedEvents=pluginModule.eventTypes;for(var eventName in publishedEvents){invariant(publishEventForPlugin(publishedEvents[eventName],pluginModule,eventName),'EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.',eventName,pluginName);}}}function publishEventForPlugin(dispatchConfig,pluginModule,eventName){invariant(!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName),'EventPluginHub: More than one plugin attempted to publish the same '+'event name, `%s`.',eventName);EventPluginRegistry.eventNameDispatchConfigs[eventName]=dispatchConfig;var phasedRegistrationNames=dispatchConfig.phasedRegistrationNames;if(phasedRegistrationNames){for(var phaseName in phasedRegistrationNames){if(phasedRegistrationNames.hasOwnProperty(phaseName)){var phasedRegistrationName=phasedRegistrationNames[phaseName];publishRegistrationName(phasedRegistrationName,pluginModule,eventName);}}return true;}else if(dispatchConfig.registrationName){publishRegistrationName(dispatchConfig.registrationName,pluginModule,eventName);return true;}return false;}function publishRegistrationName(registrationName,pluginModule,eventName){invariant(!EventPluginRegistry.registrationNameModules[registrationName],'EventPluginHub: More than one plugin attempted to publish the same '+'registration name, `%s`.',registrationName);EventPluginRegistry.registrationNameModules[registrationName]=pluginModule;EventPluginRegistry.registrationNameDependencies[registrationName]=pluginModule.eventTypes[eventName].dependencies;if(false){var lowerCasedName=registrationName.toLowerCase();EventPluginRegistry.possibleRegistrationNames[lowerCasedName]=registrationName;if(registrationName==='onDoubleClick'){EventPluginRegistry.possibleRegistrationNames.ondblclick=registrationName;}}}var EventPluginRegistry={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames: false?{}:null,injectEventPluginOrder:function injectEventPluginOrder(injectedEventPluginOrder){invariant(!eventPluginOrder,'EventPluginRegistry: Cannot inject event plugin ordering more than '+'once. You are likely trying to load more than one copy of React.');eventPluginOrder=Array.prototype.slice.call(injectedEventPluginOrder);recomputePluginOrdering();},injectEventPluginsByName:function injectEventPluginsByName(injectedNamesToPlugins){var isOrderingDirty=false;for(var pluginName in injectedNamesToPlugins){if(!injectedNamesToPlugins.hasOwnProperty(pluginName)){continue;}var pluginModule=injectedNamesToPlugins[pluginName];if(!namesToPlugins.hasOwnProperty(pluginName)||namesToPlugins[pluginName]!==pluginModule){invariant(!namesToPlugins[pluginName],'EventPluginRegistry: Cannot inject two different event plugins '+'using the same name, `%s`.',pluginName);namesToPlugins[pluginName]=pluginModule;isOrderingDirty=true;}}if(isOrderingDirty){recomputePluginOrdering();}},getPluginModuleForEvent:function getPluginModuleForEvent(event){var dispatchConfig=event.dispatchConfig;if(dispatchConfig.registrationName){return EventPluginRegistry.registrationNameModules[dispatchConfig.registrationName]||null;}if(dispatchConfig.phasedRegistrationNames!==undefined){var phasedRegistrationNames=dispatchConfig.phasedRegistrationNames;for(var phase in phasedRegistrationNames){if(!phasedRegistrationNames.hasOwnProperty(phase)){continue;}var pluginModule=EventPluginRegistry.registrationNameModules[phasedRegistrationNames[phase]];if(pluginModule){return pluginModule;}}}return null;},_resetEventPlugins:function _resetEventPlugins(){eventPluginOrder=null;for(var pluginName in namesToPlugins){if(namesToPlugins.hasOwnProperty(pluginName)){delete namesToPlugins[pluginName];}}EventPluginRegistry.plugins.length=0;var eventNameDispatchConfigs=EventPluginRegistry.eventNameDispatchConfigs;for(var eventName in eventNameDispatchConfigs){if(eventNameDispatchConfigs.hasOwnProperty(eventName)){delete eventNameDispatchConfigs[eventName];}}var registrationNameModules=EventPluginRegistry.registrationNameModules;for(var registrationName in registrationNameModules){if(registrationNameModules.hasOwnProperty(registrationName)){delete registrationNameModules[registrationName];}}if(false){var possibleRegistrationNames=EventPluginRegistry.possibleRegistrationNames;for(var lowerCasedName in possibleRegistrationNames){if(possibleRegistrationNames.hasOwnProperty(lowerCasedName)){delete possibleRegistrationNames[lowerCasedName];}}}}};module.exports=EventPluginRegistry;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/EventPluginUtils.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactErrorUtils=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/utils/ReactErrorUtils.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");var ComponentTree;var TreeTraversal;var injection={injectComponentTree:function injectComponentTree(Injected){ComponentTree=Injected;if(false){warning(Injected&&Injected.getNodeFromInstance&&Injected.getInstanceFromNode,'EventPluginUtils.injection.injectComponentTree(...): Injected '+'module is missing getNodeFromInstance or getInstanceFromNode.');}},injectTreeTraversal:function injectTreeTraversal(Injected){TreeTraversal=Injected;if(false){warning(Injected&&Injected.isAncestor&&Injected.getLowestCommonAncestor,'EventPluginUtils.injection.injectTreeTraversal(...): Injected '+'module is missing isAncestor or getLowestCommonAncestor.');}}};function isEndish(topLevelType){return topLevelType==='topMouseUp'||topLevelType==='topTouchEnd'||topLevelType==='topTouchCancel';}function isMoveish(topLevelType){return topLevelType==='topMouseMove'||topLevelType==='topTouchMove';}function isStartish(topLevelType){return topLevelType==='topMouseDown'||topLevelType==='topTouchStart';}var validateEventDispatches;if(false){validateEventDispatches=function validateEventDispatches(event){var dispatchListeners=event._dispatchListeners;var dispatchInstances=event._dispatchInstances;var listenersIsArr=Array.isArray(dispatchListeners);var listenersLen=listenersIsArr?dispatchListeners.length:dispatchListeners?1:0;var instancesIsArr=Array.isArray(dispatchInstances);var instancesLen=instancesIsArr?dispatchInstances.length:dispatchInstances?1:0;warning(instancesIsArr===listenersIsArr&&instancesLen===listenersLen,'EventPluginUtils: Invalid `event`.');};}function executeDispatch(event,simulated,listener,inst){var type=event.type||'unknown-event';event.currentTarget=EventPluginUtils.getNodeFromInstance(inst);if(simulated){ReactErrorUtils.invokeGuardedCallbackWithCatch(type,listener,event);}else{ReactErrorUtils.invokeGuardedCallback(type,listener,event);}event.currentTarget=null;}function executeDispatchesInOrder(event,simulated){var dispatchListeners=event._dispatchListeners;var dispatchInstances=event._dispatchInstances;if(false){validateEventDispatches(event);}if(Array.isArray(dispatchListeners)){for(var i=0;i<dispatchListeners.length;i++){if(event.isPropagationStopped()){break;}executeDispatch(event,simulated,dispatchListeners[i],dispatchInstances[i]);}}else if(dispatchListeners){executeDispatch(event,simulated,dispatchListeners,dispatchInstances);}event._dispatchListeners=null;event._dispatchInstances=null;}function executeDispatchesInOrderStopAtTrueImpl(event){var dispatchListeners=event._dispatchListeners;var dispatchInstances=event._dispatchInstances;if(false){validateEventDispatches(event);}if(Array.isArray(dispatchListeners)){for(var i=0;i<dispatchListeners.length;i++){if(event.isPropagationStopped()){break;}if(dispatchListeners[i](event,dispatchInstances[i])){return dispatchInstances[i];}}}else if(dispatchListeners){if(dispatchListeners(event,dispatchInstances)){return dispatchInstances;}}return null;}function executeDispatchesInOrderStopAtTrue(event){var ret=executeDispatchesInOrderStopAtTrueImpl(event);event._dispatchInstances=null;event._dispatchListeners=null;return ret;}function executeDirectDispatch(event){if(false){validateEventDispatches(event);}var dispatchListener=event._dispatchListeners;var dispatchInstance=event._dispatchInstances;invariant(!Array.isArray(dispatchListener),'executeDirectDispatch(...): Invalid `event`.');event.currentTarget=dispatchListener?EventPluginUtils.getNodeFromInstance(dispatchInstance):null;var res=dispatchListener?dispatchListener(event):null;event.currentTarget=null;event._dispatchListeners=null;event._dispatchInstances=null;return res;}function hasDispatches(event){return!!event._dispatchListeners;}var EventPluginUtils={isEndish:isEndish,isMoveish:isMoveish,isStartish:isStartish,executeDirectDispatch:executeDirectDispatch,executeDispatchesInOrder:executeDispatchesInOrder,executeDispatchesInOrderStopAtTrue:executeDispatchesInOrderStopAtTrue,hasDispatches:hasDispatches,getInstanceFromNode:function getInstanceFromNode(node){return ComponentTree.getInstanceFromNode(node);},getNodeFromInstance:function getNodeFromInstance(node){return ComponentTree.getNodeFromInstance(node);},isAncestor:function isAncestor(a,b){return TreeTraversal.isAncestor(a,b);},getLowestCommonAncestor:function getLowestCommonAncestor(a,b){return TreeTraversal.getLowestCommonAncestor(a,b);},getParentInstance:function getParentInstance(inst){return TreeTraversal.getParentInstance(inst);},traverseTwoPhase:function traverseTwoPhase(target,fn,arg){return TreeTraversal.traverseTwoPhase(target,fn,arg);},traverseEnterLeave:function traverseEnterLeave(from,to,fn,argFrom,argTo){return TreeTraversal.traverseEnterLeave(from,to,fn,argFrom,argTo);},injection:injection};module.exports=EventPluginUtils;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/EventPropagators.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var EventPluginHub=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/EventPluginHub.js");var EventPluginUtils=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/EventPluginUtils.js");var accumulateInto=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/utils/accumulateInto.js");var forEachAccumulated=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/utils/forEachAccumulated.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");var getListener=EventPluginHub.getListener;function listenerAtPhase(inst,event,propagationPhase){var registrationName=event.dispatchConfig.phasedRegistrationNames[propagationPhase];return getListener(inst,registrationName);}function accumulateDirectionalDispatches(inst,phase,event){if(false){warning(inst,'Dispatching inst must not be null');}var listener=listenerAtPhase(inst,event,phase);if(listener){event._dispatchListeners=accumulateInto(event._dispatchListeners,listener);event._dispatchInstances=accumulateInto(event._dispatchInstances,inst);}}function accumulateTwoPhaseDispatchesSingle(event){if(event&&event.dispatchConfig.phasedRegistrationNames){EventPluginUtils.traverseTwoPhase(event._targetInst,accumulateDirectionalDispatches,event);}}function accumulateTwoPhaseDispatchesSingleSkipTarget(event){if(event&&event.dispatchConfig.phasedRegistrationNames){var targetInst=event._targetInst;var parentInst=targetInst?EventPluginUtils.getParentInstance(targetInst):null;EventPluginUtils.traverseTwoPhase(parentInst,accumulateDirectionalDispatches,event);}}function accumulateDispatches(inst,ignoredDirection,event){if(event&&event.dispatchConfig.registrationName){var registrationName=event.dispatchConfig.registrationName;var listener=getListener(inst,registrationName);if(listener){event._dispatchListeners=accumulateInto(event._dispatchListeners,listener);event._dispatchInstances=accumulateInto(event._dispatchInstances,inst);}}}function accumulateDirectDispatchesSingle(event){if(event&&event.dispatchConfig.registrationName){accumulateDispatches(event._targetInst,null,event);}}function accumulateTwoPhaseDispatches(events){forEachAccumulated(events,accumulateTwoPhaseDispatchesSingle);}function accumulateTwoPhaseDispatchesSkipTarget(events){forEachAccumulated(events,accumulateTwoPhaseDispatchesSingleSkipTarget);}function accumulateEnterLeaveDispatches(leave,enter,from,to){EventPluginUtils.traverseEnterLeave(from,to,accumulateDispatches,leave,enter);}function accumulateDirectDispatches(events){forEachAccumulated(events,accumulateDirectDispatchesSingle);}var EventPropagators={accumulateTwoPhaseDispatches:accumulateTwoPhaseDispatches,accumulateTwoPhaseDispatchesSkipTarget:accumulateTwoPhaseDispatchesSkipTarget,accumulateDirectDispatches:accumulateDirectDispatches,accumulateEnterLeaveDispatches:accumulateEnterLeaveDispatches};module.exports=EventPropagators;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/SyntheticEvent.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var PooledClass=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/shared/utils/PooledClass.js");var emptyFunction=__webpack_require__("./node_modules/fbjs/lib/emptyFunction.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");var didWarnForAddedNewProperty=false;var isProxySupported=typeof Proxy==='function';var shouldBeReleasedProperties=['dispatchConfig','_targetInst','nativeEvent','isDefaultPrevented','isPropagationStopped','_dispatchListeners','_dispatchInstances'];var EventInterface={type:null,target:null,currentTarget:emptyFunction.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function timeStamp(event){return event.timeStamp||Date.now();},defaultPrevented:null,isTrusted:null};function SyntheticEvent(dispatchConfig,targetInst,nativeEvent,nativeEventTarget){if(false){delete this.nativeEvent;delete this.preventDefault;delete this.stopPropagation;}this.dispatchConfig=dispatchConfig;this._targetInst=targetInst;this.nativeEvent=nativeEvent;var Interface=this.constructor.Interface;for(var propName in Interface){if(!Interface.hasOwnProperty(propName)){continue;}if(false){delete this[propName];}var normalize=Interface[propName];if(normalize){this[propName]=normalize(nativeEvent);}else{if(propName==='target'){this.target=nativeEventTarget;}else{this[propName]=nativeEvent[propName];}}}var defaultPrevented=nativeEvent.defaultPrevented!=null?nativeEvent.defaultPrevented:nativeEvent.returnValue===false;if(defaultPrevented){this.isDefaultPrevented=emptyFunction.thatReturnsTrue;}else{this.isDefaultPrevented=emptyFunction.thatReturnsFalse;}this.isPropagationStopped=emptyFunction.thatReturnsFalse;return this;}_extends(SyntheticEvent.prototype,{preventDefault:function preventDefault(){this.defaultPrevented=true;var event=this.nativeEvent;if(!event){return;}if(event.preventDefault){event.preventDefault();}else if(typeof event.returnValue!=='unknown'){event.returnValue=false;}this.isDefaultPrevented=emptyFunction.thatReturnsTrue;},stopPropagation:function stopPropagation(){var event=this.nativeEvent;if(!event){return;}if(event.stopPropagation){event.stopPropagation();}else if(typeof event.cancelBubble!=='unknown'){event.cancelBubble=true;}this.isPropagationStopped=emptyFunction.thatReturnsTrue;},persist:function persist(){this.isPersistent=emptyFunction.thatReturnsTrue;},isPersistent:emptyFunction.thatReturnsFalse,destructor:function destructor(){var Interface=this.constructor.Interface;for(var propName in Interface){if(false){Object.defineProperty(this,propName,getPooledWarningPropertyDefinition(propName,Interface[propName]));}else{this[propName]=null;}}for(var i=0;i<shouldBeReleasedProperties.length;i++){this[shouldBeReleasedProperties[i]]=null;}if(false){Object.defineProperty(this,'nativeEvent',getPooledWarningPropertyDefinition('nativeEvent',null));Object.defineProperty(this,'preventDefault',getPooledWarningPropertyDefinition('preventDefault',emptyFunction));Object.defineProperty(this,'stopPropagation',getPooledWarningPropertyDefinition('stopPropagation',emptyFunction));}}});SyntheticEvent.Interface=EventInterface;if(false){if(isProxySupported){SyntheticEvent=new Proxy(SyntheticEvent,{construct:function construct(target,args){return this.apply(target,Object.create(target.prototype),args);},apply:function apply(constructor,that,args){return new Proxy(constructor.apply(that,args),{set:function set(target,prop,value){if(prop!=='isPersistent'&&!target.constructor.Interface.hasOwnProperty(prop)&&shouldBeReleasedProperties.indexOf(prop)===-1){warning(didWarnForAddedNewProperty||target.isPersistent(),'This synthetic event is reused for performance reasons. If you\'re '+'seeing this, you\'re adding a new property in the synthetic event object. '+'The property is never released. See '+'https://fb.me/react-event-pooling for more information.');didWarnForAddedNewProperty=true;}target[prop]=value;return true;}});}});}}SyntheticEvent.augmentClass=function(Class,Interface){var Super=this;var E=function E(){};E.prototype=Super.prototype;var prototype=new E();_extends(prototype,Class.prototype);Class.prototype=prototype;Class.prototype.constructor=Class;Class.Interface=_extends({},Super.Interface,Interface);Class.augmentClass=Super.augmentClass;PooledClass.addPoolingTo(Class,PooledClass.fourArgumentPooler);};PooledClass.addPoolingTo(SyntheticEvent,PooledClass.fourArgumentPooler);module.exports=SyntheticEvent;function getPooledWarningPropertyDefinition(propName,getVal){var isFunction=typeof getVal==='function';return{configurable:true,set:set,get:get};function set(val){var action=isFunction?'setting the method':'setting the property';warn(action,'This is effectively a no-op');return val;}function get(){var action=isFunction?'accessing the method':'accessing the property';var result=isFunction?'This is a no-op function':'This is set to null';warn(action,result);return getVal;}function warn(action,result){var warningCondition=false;warning(warningCondition,'This synthetic event is reused for performance reasons. If you\'re seeing this, '+'you\'re %s `%s` on a released/nullified synthetic event. %s. '+'If you must keep the original synthetic event around, use event.persist(). '+'See https://fb.me/react-event-pooling for more information.',action,propName,result);}}

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/eventPlugins/ResponderEventPlugin.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var EventPluginUtils=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/EventPluginUtils.js");var EventPropagators=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/EventPropagators.js");var ResponderSyntheticEvent=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/eventPlugins/ResponderSyntheticEvent.js");var ResponderTouchHistoryStore=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/eventPlugins/ResponderTouchHistoryStore.js");var accumulate=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/utils/accumulate.js");var isStartish=EventPluginUtils.isStartish;var isMoveish=EventPluginUtils.isMoveish;var isEndish=EventPluginUtils.isEndish;var executeDirectDispatch=EventPluginUtils.executeDirectDispatch;var hasDispatches=EventPluginUtils.hasDispatches;var executeDispatchesInOrderStopAtTrue=EventPluginUtils.executeDispatchesInOrderStopAtTrue;var responderInst=null;var trackedTouchCount=0;var previousActiveTouches=0;var changeResponder=function changeResponder(nextResponderInst,blockHostResponder){var oldResponderInst=responderInst;responderInst=nextResponderInst;if(ResponderEventPlugin.GlobalResponderHandler!==null){ResponderEventPlugin.GlobalResponderHandler.onChange(oldResponderInst,nextResponderInst,blockHostResponder);}};var eventTypes={startShouldSetResponder:{phasedRegistrationNames:{bubbled:'onStartShouldSetResponder',captured:'onStartShouldSetResponderCapture'}},scrollShouldSetResponder:{phasedRegistrationNames:{bubbled:'onScrollShouldSetResponder',captured:'onScrollShouldSetResponderCapture'}},selectionChangeShouldSetResponder:{phasedRegistrationNames:{bubbled:'onSelectionChangeShouldSetResponder',captured:'onSelectionChangeShouldSetResponderCapture'}},moveShouldSetResponder:{phasedRegistrationNames:{bubbled:'onMoveShouldSetResponder',captured:'onMoveShouldSetResponderCapture'}},responderStart:{registrationName:'onResponderStart'},responderMove:{registrationName:'onResponderMove'},responderEnd:{registrationName:'onResponderEnd'},responderRelease:{registrationName:'onResponderRelease'},responderTerminationRequest:{registrationName:'onResponderTerminationRequest'},responderGrant:{registrationName:'onResponderGrant'},responderReject:{registrationName:'onResponderReject'},responderTerminate:{registrationName:'onResponderTerminate'}};function setResponderAndExtractTransfer(topLevelType,targetInst,nativeEvent,nativeEventTarget){var shouldSetEventType=isStartish(topLevelType)?eventTypes.startShouldSetResponder:isMoveish(topLevelType)?eventTypes.moveShouldSetResponder:topLevelType==='topSelectionChange'?eventTypes.selectionChangeShouldSetResponder:eventTypes.scrollShouldSetResponder;var bubbleShouldSetFrom=!responderInst?targetInst:EventPluginUtils.getLowestCommonAncestor(responderInst,targetInst);var skipOverBubbleShouldSetFrom=bubbleShouldSetFrom===responderInst;var shouldSetEvent=ResponderSyntheticEvent.getPooled(shouldSetEventType,bubbleShouldSetFrom,nativeEvent,nativeEventTarget);shouldSetEvent.touchHistory=ResponderTouchHistoryStore.touchHistory;if(skipOverBubbleShouldSetFrom){EventPropagators.accumulateTwoPhaseDispatchesSkipTarget(shouldSetEvent);}else{EventPropagators.accumulateTwoPhaseDispatches(shouldSetEvent);}var wantsResponderInst=executeDispatchesInOrderStopAtTrue(shouldSetEvent);if(!shouldSetEvent.isPersistent()){shouldSetEvent.constructor.release(shouldSetEvent);}if(!wantsResponderInst||wantsResponderInst===responderInst){return null;}var extracted;var grantEvent=ResponderSyntheticEvent.getPooled(eventTypes.responderGrant,wantsResponderInst,nativeEvent,nativeEventTarget);grantEvent.touchHistory=ResponderTouchHistoryStore.touchHistory;EventPropagators.accumulateDirectDispatches(grantEvent);var blockHostResponder=executeDirectDispatch(grantEvent)===true;if(responderInst){var terminationRequestEvent=ResponderSyntheticEvent.getPooled(eventTypes.responderTerminationRequest,responderInst,nativeEvent,nativeEventTarget);terminationRequestEvent.touchHistory=ResponderTouchHistoryStore.touchHistory;EventPropagators.accumulateDirectDispatches(terminationRequestEvent);var shouldSwitch=!hasDispatches(terminationRequestEvent)||executeDirectDispatch(terminationRequestEvent);if(!terminationRequestEvent.isPersistent()){terminationRequestEvent.constructor.release(terminationRequestEvent);}if(shouldSwitch){var terminateEvent=ResponderSyntheticEvent.getPooled(eventTypes.responderTerminate,responderInst,nativeEvent,nativeEventTarget);terminateEvent.touchHistory=ResponderTouchHistoryStore.touchHistory;EventPropagators.accumulateDirectDispatches(terminateEvent);extracted=accumulate(extracted,[grantEvent,terminateEvent]);changeResponder(wantsResponderInst,blockHostResponder);}else{var rejectEvent=ResponderSyntheticEvent.getPooled(eventTypes.responderReject,wantsResponderInst,nativeEvent,nativeEventTarget);rejectEvent.touchHistory=ResponderTouchHistoryStore.touchHistory;EventPropagators.accumulateDirectDispatches(rejectEvent);extracted=accumulate(extracted,rejectEvent);}}else{extracted=accumulate(extracted,grantEvent);changeResponder(wantsResponderInst,blockHostResponder);}return extracted;}function canTriggerTransfer(topLevelType,topLevelInst,nativeEvent){return topLevelInst&&(topLevelType==='topScroll'&&!nativeEvent.responderIgnoreScroll||trackedTouchCount>0&&topLevelType==='topSelectionChange'||isStartish(topLevelType)||isMoveish(topLevelType));}function noResponderTouches(nativeEvent){var touches=nativeEvent.touches;if(!touches||touches.length===0){return true;}for(var i=0;i<touches.length;i++){var activeTouch=touches[i];var target=activeTouch.target;if(target!==null&&target!==undefined&&target!==0){var targetInst=EventPluginUtils.getInstanceFromNode(target);if(EventPluginUtils.isAncestor(responderInst,targetInst)){return false;}}}return true;}var ResponderEventPlugin={_getResponderID:function _getResponderID(){return responderInst?responderInst._rootNodeID:null;},eventTypes:eventTypes,extractEvents:function extractEvents(topLevelType,targetInst,nativeEvent,nativeEventTarget){if(isStartish(topLevelType)){trackedTouchCount+=1;}else if(isEndish(topLevelType)){if(trackedTouchCount>=0){trackedTouchCount-=1;}else{console.error('Ended a touch event which was not counted in `trackedTouchCount`.');return null;}}ResponderTouchHistoryStore.recordTouchTrack(topLevelType,nativeEvent);var extracted=canTriggerTransfer(topLevelType,targetInst,nativeEvent)?setResponderAndExtractTransfer(topLevelType,targetInst,nativeEvent,nativeEventTarget):null;var isResponderTouchStart=responderInst&&isStartish(topLevelType);var isResponderTouchMove=responderInst&&isMoveish(topLevelType);var isResponderTouchEnd=responderInst&&isEndish(topLevelType);var incrementalTouch=isResponderTouchStart?eventTypes.responderStart:isResponderTouchMove?eventTypes.responderMove:isResponderTouchEnd?eventTypes.responderEnd:null;if(incrementalTouch){var gesture=ResponderSyntheticEvent.getPooled(incrementalTouch,responderInst,nativeEvent,nativeEventTarget);gesture.touchHistory=ResponderTouchHistoryStore.touchHistory;EventPropagators.accumulateDirectDispatches(gesture);extracted=accumulate(extracted,gesture);}var isResponderTerminate=responderInst&&topLevelType==='topTouchCancel';var isResponderRelease=responderInst&&!isResponderTerminate&&isEndish(topLevelType)&&noResponderTouches(nativeEvent);var finalTouch=isResponderTerminate?eventTypes.responderTerminate:isResponderRelease?eventTypes.responderRelease:null;if(finalTouch){var finalEvent=ResponderSyntheticEvent.getPooled(finalTouch,responderInst,nativeEvent,nativeEventTarget);finalEvent.touchHistory=ResponderTouchHistoryStore.touchHistory;EventPropagators.accumulateDirectDispatches(finalEvent);extracted=accumulate(extracted,finalEvent);changeResponder(null);}var numberActiveTouches=ResponderTouchHistoryStore.touchHistory.numberActiveTouches;if(ResponderEventPlugin.GlobalInteractionHandler&&numberActiveTouches!==previousActiveTouches){ResponderEventPlugin.GlobalInteractionHandler.onChange(numberActiveTouches);}previousActiveTouches=numberActiveTouches;return extracted;},GlobalResponderHandler:null,GlobalInteractionHandler:null,injection:{injectGlobalResponderHandler:function injectGlobalResponderHandler(GlobalResponderHandler){ResponderEventPlugin.GlobalResponderHandler=GlobalResponderHandler;},injectGlobalInteractionHandler:function injectGlobalInteractionHandler(GlobalInteractionHandler){ResponderEventPlugin.GlobalInteractionHandler=GlobalInteractionHandler;}}};module.exports=ResponderEventPlugin;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/eventPlugins/ResponderSyntheticEvent.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var SyntheticEvent=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/SyntheticEvent.js");var ResponderEventInterface={touchHistory:function touchHistory(nativeEvent){return null;}};function ResponderSyntheticEvent(dispatchConfig,dispatchMarker,nativeEvent,nativeEventTarget){return SyntheticEvent.call(this,dispatchConfig,dispatchMarker,nativeEvent,nativeEventTarget);}SyntheticEvent.augmentClass(ResponderSyntheticEvent,ResponderEventInterface);module.exports=ResponderSyntheticEvent;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/eventPlugins/ResponderTouchHistoryStore.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var EventPluginUtils=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/EventPluginUtils.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");var isEndish=EventPluginUtils.isEndish,isMoveish=EventPluginUtils.isMoveish,isStartish=EventPluginUtils.isStartish;var MAX_TOUCH_BANK=20;var touchBank=[];var touchHistory={touchBank:touchBank,numberActiveTouches:0,indexOfSingleActiveTouch:-1,mostRecentTimeStamp:0};function timestampForTouch(touch){return touch.timeStamp||touch.timestamp;}function createTouchRecord(touch){return{touchActive:true,startPageX:touch.pageX,startPageY:touch.pageY,startTimeStamp:timestampForTouch(touch),currentPageX:touch.pageX,currentPageY:touch.pageY,currentTimeStamp:timestampForTouch(touch),previousPageX:touch.pageX,previousPageY:touch.pageY,previousTimeStamp:timestampForTouch(touch)};}function resetTouchRecord(touchRecord,touch){touchRecord.touchActive=true;touchRecord.startPageX=touch.pageX;touchRecord.startPageY=touch.pageY;touchRecord.startTimeStamp=timestampForTouch(touch);touchRecord.currentPageX=touch.pageX;touchRecord.currentPageY=touch.pageY;touchRecord.currentTimeStamp=timestampForTouch(touch);touchRecord.previousPageX=touch.pageX;touchRecord.previousPageY=touch.pageY;touchRecord.previousTimeStamp=timestampForTouch(touch);}function getTouchIdentifier(_ref){var identifier=_ref.identifier;invariant(identifier!=null,'Touch object is missing identifier.');warning(identifier<=MAX_TOUCH_BANK,'Touch identifier %s is greater than maximum supported %s which causes '+'performance issues backfilling array locations for all of the indices.',identifier,MAX_TOUCH_BANK);return identifier;}function recordTouchStart(touch){var identifier=getTouchIdentifier(touch);var touchRecord=touchBank[identifier];if(touchRecord){resetTouchRecord(touchRecord,touch);}else{touchBank[identifier]=createTouchRecord(touch);}touchHistory.mostRecentTimeStamp=timestampForTouch(touch);}function recordTouchMove(touch){var touchRecord=touchBank[getTouchIdentifier(touch)];if(touchRecord){touchRecord.touchActive=true;touchRecord.previousPageX=touchRecord.currentPageX;touchRecord.previousPageY=touchRecord.currentPageY;touchRecord.previousTimeStamp=touchRecord.currentTimeStamp;touchRecord.currentPageX=touch.pageX;touchRecord.currentPageY=touch.pageY;touchRecord.currentTimeStamp=timestampForTouch(touch);touchHistory.mostRecentTimeStamp=timestampForTouch(touch);}else{console.error('Cannot record touch move without a touch start.\n'+'Touch Move: %s\n','Touch Bank: %s',printTouch(touch),printTouchBank());}}function recordTouchEnd(touch){var touchRecord=touchBank[getTouchIdentifier(touch)];if(touchRecord){touchRecord.touchActive=false;touchRecord.previousPageX=touchRecord.currentPageX;touchRecord.previousPageY=touchRecord.currentPageY;touchRecord.previousTimeStamp=touchRecord.currentTimeStamp;touchRecord.currentPageX=touch.pageX;touchRecord.currentPageY=touch.pageY;touchRecord.currentTimeStamp=timestampForTouch(touch);touchHistory.mostRecentTimeStamp=timestampForTouch(touch);}else{console.error('Cannot record touch end without a touch start.\n'+'Touch End: %s\n','Touch Bank: %s',printTouch(touch),printTouchBank());}}function printTouch(touch){return JSON.stringify({identifier:touch.identifier,pageX:touch.pageX,pageY:touch.pageY,timestamp:timestampForTouch(touch)});}function printTouchBank(){var printed=JSON.stringify(touchBank.slice(0,MAX_TOUCH_BANK));if(touchBank.length>MAX_TOUCH_BANK){printed+=' (original size: '+touchBank.length+')';}return printed;}var ResponderTouchHistoryStore={recordTouchTrack:function recordTouchTrack(topLevelType,nativeEvent){if(isMoveish(topLevelType)){nativeEvent.changedTouches.forEach(recordTouchMove);}else if(isStartish(topLevelType)){nativeEvent.changedTouches.forEach(recordTouchStart);touchHistory.numberActiveTouches=nativeEvent.touches.length;if(touchHistory.numberActiveTouches===1){touchHistory.indexOfSingleActiveTouch=nativeEvent.touches[0].identifier;}}else if(isEndish(topLevelType)){nativeEvent.changedTouches.forEach(recordTouchEnd);touchHistory.numberActiveTouches=nativeEvent.touches.length;if(touchHistory.numberActiveTouches===1){for(var i=0;i<touchBank.length;i++){var touchTrackToCheck=touchBank[i];if(touchTrackToCheck!=null&&touchTrackToCheck.touchActive){touchHistory.indexOfSingleActiveTouch=i;break;}}if(false){var activeRecord=touchBank[touchHistory.indexOfSingleActiveTouch];warning(activeRecord!=null&&activeRecord.touchActive,'Cannot find single active touch.');}}}},touchHistory:touchHistory};module.exports=ResponderTouchHistoryStore;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/eventPlugins/TouchHistoryMath.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var TouchHistoryMath={centroidDimension:function centroidDimension(touchHistory,touchesChangedAfter,isXAxis,ofCurrent){var touchBank=touchHistory.touchBank;var total=0;var count=0;var oneTouchData=touchHistory.numberActiveTouches===1?touchHistory.touchBank[touchHistory.indexOfSingleActiveTouch]:null;if(oneTouchData!==null){if(oneTouchData.touchActive&&oneTouchData.currentTimeStamp>touchesChangedAfter){total+=ofCurrent&&isXAxis?oneTouchData.currentPageX:ofCurrent&&!isXAxis?oneTouchData.currentPageY:!ofCurrent&&isXAxis?oneTouchData.previousPageX:oneTouchData.previousPageY;count=1;}}else{for(var i=0;i<touchBank.length;i++){var touchTrack=touchBank[i];if(touchTrack!==null&&touchTrack!==undefined&&touchTrack.touchActive&&touchTrack.currentTimeStamp>=touchesChangedAfter){var toAdd;if(ofCurrent&&isXAxis){toAdd=touchTrack.currentPageX;}else if(ofCurrent&&!isXAxis){toAdd=touchTrack.currentPageY;}else if(!ofCurrent&&isXAxis){toAdd=touchTrack.previousPageX;}else{toAdd=touchTrack.previousPageY;}total+=toAdd;count++;}}}return count>0?total/count:TouchHistoryMath.noCentroid;},currentCentroidXOfTouchesChangedAfter:function currentCentroidXOfTouchesChangedAfter(touchHistory,touchesChangedAfter){return TouchHistoryMath.centroidDimension(touchHistory,touchesChangedAfter,true,true);},currentCentroidYOfTouchesChangedAfter:function currentCentroidYOfTouchesChangedAfter(touchHistory,touchesChangedAfter){return TouchHistoryMath.centroidDimension(touchHistory,touchesChangedAfter,false,true);},previousCentroidXOfTouchesChangedAfter:function previousCentroidXOfTouchesChangedAfter(touchHistory,touchesChangedAfter){return TouchHistoryMath.centroidDimension(touchHistory,touchesChangedAfter,true,false);},previousCentroidYOfTouchesChangedAfter:function previousCentroidYOfTouchesChangedAfter(touchHistory,touchesChangedAfter){return TouchHistoryMath.centroidDimension(touchHistory,touchesChangedAfter,false,false);},currentCentroidX:function currentCentroidX(touchHistory){return TouchHistoryMath.centroidDimension(touchHistory,0,true,true);},currentCentroidY:function currentCentroidY(touchHistory){return TouchHistoryMath.centroidDimension(touchHistory,0,false,true);},noCentroid:-1};module.exports=TouchHistoryMath;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactChildReconciler.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(process) {var ReactReconciler=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactReconciler.js");var instantiateReactComponent=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/instantiateReactComponent.js");var KeyEscapeUtils=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/shared/utils/KeyEscapeUtils.js");var shouldUpdateReactComponent=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/shared/shouldUpdateReactComponent.js");var traverseAllChildren=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/shared/utils/traverseAllChildren.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");var ReactComponentTreeHook;if(typeof process!=='undefined'&&__webpack_require__.i({"NODE_ENV":"production"})&&"production"==='test'){ReactComponentTreeHook=__webpack_require__("./node_modules/react/lib/ReactComponentTreeHook.js");}function instantiateChild(childInstances,child,name,selfDebugID){var keyUnique=childInstances[name]===undefined;if(false){if(!ReactComponentTreeHook){ReactComponentTreeHook=require('react/lib/ReactComponentTreeHook');}if(!keyUnique){warning(false,'flattenChildren(...): Encountered two children with the same key, '+'`%s`. Child keys must be unique; when two children share a key, only '+'the first child will be used.%s',KeyEscapeUtils.unescape(name),ReactComponentTreeHook.getStackAddendumByID(selfDebugID));}}if(child!=null&&keyUnique){childInstances[name]=instantiateReactComponent(child,true);}}var ReactChildReconciler={instantiateChildren:function instantiateChildren(nestedChildNodes,transaction,context,selfDebugID){if(nestedChildNodes==null){return null;}var childInstances={};if(false){traverseAllChildren(nestedChildNodes,function(childInsts,child,name){return instantiateChild(childInsts,child,name,selfDebugID);},childInstances);}else{traverseAllChildren(nestedChildNodes,instantiateChild,childInstances);}return childInstances;},updateChildren:function updateChildren(prevChildren,nextChildren,mountImages,removedNodes,transaction,hostParent,hostContainerInfo,context,selfDebugID){if(!nextChildren&&!prevChildren){return;}var name;var prevChild;for(name in nextChildren){if(!nextChildren.hasOwnProperty(name)){continue;}prevChild=prevChildren&&prevChildren[name];var prevElement=prevChild&&prevChild._currentElement;var nextElement=nextChildren[name];if(prevChild!=null&&shouldUpdateReactComponent(prevElement,nextElement)){ReactReconciler.receiveComponent(prevChild,nextElement,transaction,context);nextChildren[name]=prevChild;}else{if(prevChild){removedNodes[name]=ReactReconciler.getHostNode(prevChild);ReactReconciler.unmountComponent(prevChild,false);}var nextChildInstance=instantiateReactComponent(nextElement,true);nextChildren[name]=nextChildInstance;var nextChildMountImage=ReactReconciler.mountComponent(nextChildInstance,transaction,hostParent,hostContainerInfo,context,selfDebugID);mountImages.push(nextChildMountImage);}}for(name in prevChildren){if(prevChildren.hasOwnProperty(name)&&!(nextChildren&&nextChildren.hasOwnProperty(name))){prevChild=prevChildren[name];removedNodes[name]=ReactReconciler.getHostNode(prevChild);ReactReconciler.unmountComponent(prevChild,false);}}},unmountChildren:function unmountChildren(renderedChildren,safely){for(var name in renderedChildren){if(renderedChildren.hasOwnProperty(name)){var renderedChild=renderedChildren[name];ReactReconciler.unmountComponent(renderedChild,safely);}}}};module.exports=ReactChildReconciler;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/process/browser.js")))

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactComponentEnvironment.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var injected=false;var ReactComponentEnvironment={replaceNodeWithMarkup:null,processChildrenUpdates:null,injection:{injectEnvironment:function injectEnvironment(environment){invariant(!injected,'ReactCompositeComponent: injectEnvironment() can only be called once.');ReactComponentEnvironment.replaceNodeWithMarkup=environment.replaceNodeWithMarkup;ReactComponentEnvironment.processChildrenUpdates=environment.processChildrenUpdates;injected=true;}}};module.exports=ReactComponentEnvironment;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactCompositeComponent.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var ReactComponentEnvironment=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactComponentEnvironment.js");var ReactCurrentOwner=__webpack_require__("./node_modules/react/lib/ReactCurrentOwner.js");var ReactErrorUtils=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/utils/ReactErrorUtils.js");var ReactInstanceMap=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/shared/ReactInstanceMap.js");var ReactInstrumentation=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/ReactInstrumentation.js");var ReactNodeTypes=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactNodeTypes.js");var ReactReconciler=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactReconciler.js");if(false){var checkReactTypeSpec=require('checkReactTypeSpec');}var emptyObject=__webpack_require__("./node_modules/fbjs/lib/emptyObject.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var shallowEqual=__webpack_require__("./node_modules/fbjs/lib/shallowEqual.js");var shouldUpdateReactComponent=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/shared/shouldUpdateReactComponent.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");var CompositeTypes={ImpureClass:0,PureClass:1,StatelessFunctional:2};function StatelessComponent(Component){}StatelessComponent.prototype.render=function(){var Component=ReactInstanceMap.get(this)._currentElement.type;var element=Component(this.props,this.context,this.updater);warnIfInvalidElement(Component,element);return element;};function warnIfInvalidElement(Component,element){if(false){warning(element===null||element===false||React.isValidElement(element),'%s(...): A valid React element (or null) must be returned. You may have '+'returned undefined, an array or some other invalid object.',Component.displayName||Component.name||'Component');warning(!Component.childContextTypes,'%s(...): childContextTypes cannot be defined on a functional component.',Component.displayName||Component.name||'Component');}}function shouldConstruct(Component){return!!(Component.prototype&&Component.prototype.isReactComponent);}function isPureComponent(Component){return!!(Component.prototype&&Component.prototype.isPureReactComponent);}function measureLifeCyclePerf(fn,debugID,timerType){if(debugID===0){return fn();}ReactInstrumentation.debugTool.onBeginLifeCycleTimer(debugID,timerType);try{return fn();}finally{ReactInstrumentation.debugTool.onEndLifeCycleTimer(debugID,timerType);}}var nextMountID=1;var ReactCompositeComponent={construct:function construct(element){this._currentElement=element;this._rootNodeID=0;this._compositeType=null;this._instance=null;this._hostParent=null;this._hostContainerInfo=null;this._updateBatchNumber=null;this._pendingElement=null;this._pendingStateQueue=null;this._pendingReplaceState=false;this._pendingForceUpdate=false;this._renderedNodeType=null;this._renderedComponent=null;this._context=null;this._mountOrder=0;this._topLevelWrapper=null;this._pendingCallbacks=null;this._calledComponentWillUnmount=false;if(false){this._warnedAboutRefsInRender=false;}},mountComponent:function mountComponent(transaction,hostParent,hostContainerInfo,context){var _this=this;this._context=context;this._mountOrder=nextMountID++;this._hostParent=hostParent;this._hostContainerInfo=hostContainerInfo;var publicProps=this._currentElement.props;var publicContext=this._processContext(context);var Component=this._currentElement.type;var updateQueue=transaction.getUpdateQueue();var doConstruct=shouldConstruct(Component);var inst=this._constructComponent(doConstruct,publicProps,publicContext,updateQueue);var renderedElement;if(!doConstruct&&(inst==null||inst.render==null)){renderedElement=inst;warnIfInvalidElement(Component,renderedElement);invariant(inst===null||inst===false||React.isValidElement(inst),'%s(...): A valid React element (or null) must be returned. You may have '+'returned undefined, an array or some other invalid object.',Component.displayName||Component.name||'Component');inst=new StatelessComponent(Component);this._compositeType=CompositeTypes.StatelessFunctional;}else{if(isPureComponent(Component)){this._compositeType=CompositeTypes.PureClass;}else{this._compositeType=CompositeTypes.ImpureClass;}}if(false){if(inst.render==null){warning(false,'%s(...): No `render` method found on the returned component '+'instance: you may have forgotten to define `render`.',Component.displayName||Component.name||'Component');}var propsMutated=inst.props!==publicProps;var componentName=Component.displayName||Component.name||'Component';warning(inst.props===undefined||!propsMutated,'%s(...): When calling super() in `%s`, make sure to pass '+'up the same props that your component\'s constructor was passed.',componentName,componentName);}inst.props=publicProps;inst.context=publicContext;inst.refs=emptyObject;inst.updater=updateQueue;this._instance=inst;ReactInstanceMap.set(inst,this);if(false){warning(!inst.getInitialState||inst.getInitialState.isReactClassApproved,'getInitialState was defined on %s, a plain JavaScript class. '+'This is only supported for classes created using React.createClass. '+'Did you mean to define a state property instead?',this.getName()||'a component');warning(!inst.getDefaultProps||inst.getDefaultProps.isReactClassApproved,'getDefaultProps was defined on %s, a plain JavaScript class. '+'This is only supported for classes created using React.createClass. '+'Use a static property to define defaultProps instead.',this.getName()||'a component');warning(!inst.propTypes,'propTypes was defined as an instance property on %s. Use a static '+'property to define propTypes instead.',this.getName()||'a component');warning(!inst.contextTypes,'contextTypes was defined as an instance property on %s. Use a '+'static property to define contextTypes instead.',this.getName()||'a component');warning(typeof inst.componentShouldUpdate!=='function','%s has a method called '+'componentShouldUpdate(). Did you mean shouldComponentUpdate()? '+'The name is phrased as a question because the function is '+'expected to return a value.',this.getName()||'A component');warning(typeof inst.componentDidUnmount!=='function','%s has a method called '+'componentDidUnmount(). But there is no such lifecycle method. '+'Did you mean componentWillUnmount()?',this.getName()||'A component');warning(typeof inst.componentWillRecieveProps!=='function','%s has a method called '+'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?',this.getName()||'A component');}var initialState=inst.state;if(initialState===undefined){inst.state=initialState=null;}invariant(typeof initialState==='object'&&!Array.isArray(initialState),'%s.state: must be set to an object or null',this.getName()||'ReactCompositeComponent');this._pendingStateQueue=null;this._pendingReplaceState=false;this._pendingForceUpdate=false;var markup;if(inst.unstable_handleError){markup=this.performInitialMountWithErrorHandling(renderedElement,hostParent,hostContainerInfo,transaction,context);}else{markup=this.performInitialMount(renderedElement,hostParent,hostContainerInfo,transaction,context);}if(inst.componentDidMount){if(false){transaction.getReactMountReady().enqueue(function(){measureLifeCyclePerf(function(){return inst.componentDidMount();},_this._debugID,'componentDidMount');});}else{transaction.getReactMountReady().enqueue(inst.componentDidMount,inst);}}return markup;},_constructComponent:function _constructComponent(doConstruct,publicProps,publicContext,updateQueue){if(false){ReactCurrentOwner.current=this;try{return this._constructComponentWithoutOwner(doConstruct,publicProps,publicContext,updateQueue);}finally{ReactCurrentOwner.current=null;}}else{return this._constructComponentWithoutOwner(doConstruct,publicProps,publicContext,updateQueue);}},_constructComponentWithoutOwner:function _constructComponentWithoutOwner(doConstruct,publicProps,publicContext,updateQueue){var Component=this._currentElement.type;if(doConstruct){if(false){return measureLifeCyclePerf(function(){return new Component(publicProps,publicContext,updateQueue);},this._debugID,'ctor');}else{return new Component(publicProps,publicContext,updateQueue);}}if(false){return measureLifeCyclePerf(function(){return Component(publicProps,publicContext,updateQueue);},this._debugID,'render');}else{return Component(publicProps,publicContext,updateQueue);}},performInitialMountWithErrorHandling:function performInitialMountWithErrorHandling(renderedElement,hostParent,hostContainerInfo,transaction,context){var markup;var checkpoint=transaction.checkpoint();try{markup=this.performInitialMount(renderedElement,hostParent,hostContainerInfo,transaction,context);}catch(e){transaction.rollback(checkpoint);this._instance.unstable_handleError(e);if(this._pendingStateQueue){this._instance.state=this._processPendingState(this._instance.props,this._instance.context);}checkpoint=transaction.checkpoint();this._renderedComponent.unmountComponent(true);transaction.rollback(checkpoint);markup=this.performInitialMount(renderedElement,hostParent,hostContainerInfo,transaction,context);}return markup;},performInitialMount:function performInitialMount(renderedElement,hostParent,hostContainerInfo,transaction,context){var inst=this._instance;var debugID=0;if(false){debugID=this._debugID;}if(inst.componentWillMount){if(false){measureLifeCyclePerf(function(){return inst.componentWillMount();},debugID,'componentWillMount');}else{inst.componentWillMount();}if(this._pendingStateQueue){inst.state=this._processPendingState(inst.props,inst.context);}}if(renderedElement===undefined){renderedElement=this._renderValidatedComponent();}var nodeType=ReactNodeTypes.getType(renderedElement);this._renderedNodeType=nodeType;var child=this._instantiateReactComponent(renderedElement,nodeType!==ReactNodeTypes.EMPTY);this._renderedComponent=child;var markup=ReactReconciler.mountComponent(child,transaction,hostParent,hostContainerInfo,this._processChildContext(context),debugID);if(false){if(debugID!==0){var childDebugIDs=child._debugID!==0?[child._debugID]:[];ReactInstrumentation.debugTool.onSetChildren(debugID,childDebugIDs);}}return markup;},getHostNode:function getHostNode(){return ReactReconciler.getHostNode(this._renderedComponent);},unmountComponent:function unmountComponent(safely){if(!this._renderedComponent){return;}var inst=this._instance;if(inst.componentWillUnmount&&!inst._calledComponentWillUnmount){inst._calledComponentWillUnmount=true;if(safely){var name=this.getName()+'.componentWillUnmount()';ReactErrorUtils.invokeGuardedCallback(name,inst.componentWillUnmount.bind(inst));}else{if(false){measureLifeCyclePerf(function(){return inst.componentWillUnmount();},this._debugID,'componentWillUnmount');}else{inst.componentWillUnmount();}}}if(this._renderedComponent){ReactReconciler.unmountComponent(this._renderedComponent,safely);this._renderedNodeType=null;this._renderedComponent=null;this._instance=null;}this._pendingStateQueue=null;this._pendingReplaceState=false;this._pendingForceUpdate=false;this._pendingCallbacks=null;this._pendingElement=null;this._context=null;this._rootNodeID=0;this._topLevelWrapper=null;ReactInstanceMap.remove(inst);},_maskContext:function _maskContext(context){var Component=this._currentElement.type;var contextTypes=Component.contextTypes;if(!contextTypes){return emptyObject;}var maskedContext={};for(var contextName in contextTypes){maskedContext[contextName]=context[contextName];}return maskedContext;},_processContext:function _processContext(context){var maskedContext=this._maskContext(context);if(false){var Component=this._currentElement.type;if(Component.contextTypes){this._checkContextTypes(Component.contextTypes,maskedContext,'context');}}return maskedContext;},_processChildContext:function _processChildContext(currentContext){var Component=this._currentElement.type;var inst=this._instance;var childContext;if(inst.getChildContext){if(false){ReactInstrumentation.debugTool.onBeginProcessingChildContext();try{childContext=inst.getChildContext();}finally{ReactInstrumentation.debugTool.onEndProcessingChildContext();}}else{childContext=inst.getChildContext();}}if(childContext){invariant(typeof Component.childContextTypes==='object','%s.getChildContext(): childContextTypes must be defined in order to '+'use getChildContext().',this.getName()||'ReactCompositeComponent');if(false){this._checkContextTypes(Component.childContextTypes,childContext,'childContext');}for(var name in childContext){invariant(name in Component.childContextTypes,'%s.getChildContext(): key "%s" is not defined in childContextTypes.',this.getName()||'ReactCompositeComponent',name);}return _extends({},currentContext,childContext);}return currentContext;},_checkContextTypes:function _checkContextTypes(typeSpecs,values,location){if(false){checkReactTypeSpec(typeSpecs,values,location,this.getName(),null,this._debugID);}},receiveComponent:function receiveComponent(nextElement,transaction,nextContext){var prevElement=this._currentElement;var prevContext=this._context;this._pendingElement=null;this.updateComponent(transaction,prevElement,nextElement,prevContext,nextContext);},performUpdateIfNecessary:function performUpdateIfNecessary(transaction){if(this._pendingElement!=null){ReactReconciler.receiveComponent(this,this._pendingElement,transaction,this._context);}else if(this._pendingStateQueue!==null||this._pendingForceUpdate){this.updateComponent(transaction,this._currentElement,this._currentElement,this._context,this._context);}else{this._updateBatchNumber=null;}},updateComponent:function updateComponent(transaction,prevParentElement,nextParentElement,prevUnmaskedContext,nextUnmaskedContext){var inst=this._instance;invariant(inst!=null,'Attempted to update component `%s` that has already been unmounted '+'(or failed to mount).',this.getName()||'ReactCompositeComponent');var willReceive=false;var nextContext;if(this._context===nextUnmaskedContext){nextContext=inst.context;}else{nextContext=this._processContext(nextUnmaskedContext);willReceive=true;}var prevProps=prevParentElement.props;var nextProps=nextParentElement.props;if(prevParentElement!==nextParentElement){willReceive=true;}if(willReceive&&inst.componentWillReceiveProps){if(false){measureLifeCyclePerf(function(){return inst.componentWillReceiveProps(nextProps,nextContext);},this._debugID,'componentWillReceiveProps');}else{inst.componentWillReceiveProps(nextProps,nextContext);}}var nextState=this._processPendingState(nextProps,nextContext);var shouldUpdate=true;if(!this._pendingForceUpdate){if(inst.shouldComponentUpdate){if(false){shouldUpdate=measureLifeCyclePerf(function(){return inst.shouldComponentUpdate(nextProps,nextState,nextContext);},this._debugID,'shouldComponentUpdate');}else{shouldUpdate=inst.shouldComponentUpdate(nextProps,nextState,nextContext);}}else{if(this._compositeType===CompositeTypes.PureClass){shouldUpdate=!shallowEqual(prevProps,nextProps)||!shallowEqual(inst.state,nextState);}}}if(false){warning(shouldUpdate!==undefined,'%s.shouldComponentUpdate(): Returned undefined instead of a '+'boolean value. Make sure to return true or false.',this.getName()||'ReactCompositeComponent');}this._updateBatchNumber=null;if(shouldUpdate){this._pendingForceUpdate=false;this._performComponentUpdate(nextParentElement,nextProps,nextState,nextContext,transaction,nextUnmaskedContext);}else{this._currentElement=nextParentElement;this._context=nextUnmaskedContext;inst.props=nextProps;inst.state=nextState;inst.context=nextContext;}},_processPendingState:function _processPendingState(props,context){var inst=this._instance;var queue=this._pendingStateQueue;var replace=this._pendingReplaceState;this._pendingReplaceState=false;this._pendingStateQueue=null;if(!queue){return inst.state;}if(replace&&queue.length===1){return queue[0];}var nextState=_extends({},replace?queue[0]:inst.state);for(var i=replace?1:0;i<queue.length;i++){var partial=queue[i];_extends(nextState,typeof partial==='function'?partial.call(inst,nextState,props,context):partial);}return nextState;},_performComponentUpdate:function _performComponentUpdate(nextElement,nextProps,nextState,nextContext,transaction,unmaskedContext){var _this2=this;var inst=this._instance;var hasComponentDidUpdate=Boolean(inst.componentDidUpdate);var prevProps;var prevState;var prevContext;if(hasComponentDidUpdate){prevProps=inst.props;prevState=inst.state;prevContext=inst.context;}if(inst.componentWillUpdate){if(false){measureLifeCyclePerf(function(){return inst.componentWillUpdate(nextProps,nextState,nextContext);},this._debugID,'componentWillUpdate');}else{inst.componentWillUpdate(nextProps,nextState,nextContext);}}this._currentElement=nextElement;this._context=unmaskedContext;inst.props=nextProps;inst.state=nextState;inst.context=nextContext;this._updateRenderedComponent(transaction,unmaskedContext);if(hasComponentDidUpdate){if(false){transaction.getReactMountReady().enqueue(function(){measureLifeCyclePerf(inst.componentDidUpdate.bind(inst,prevProps,prevState,prevContext),_this2._debugID,'componentDidUpdate');});}else{transaction.getReactMountReady().enqueue(inst.componentDidUpdate.bind(inst,prevProps,prevState,prevContext),inst);}}},_updateRenderedComponent:function _updateRenderedComponent(transaction,context){var prevComponentInstance=this._renderedComponent;var prevRenderedElement=prevComponentInstance._currentElement;var nextRenderedElement=this._renderValidatedComponent();var debugID=0;if(false){debugID=this._debugID;}if(shouldUpdateReactComponent(prevRenderedElement,nextRenderedElement)){ReactReconciler.receiveComponent(prevComponentInstance,nextRenderedElement,transaction,this._processChildContext(context));}else{var oldHostNode=ReactReconciler.getHostNode(prevComponentInstance);ReactReconciler.unmountComponent(prevComponentInstance,false);var nodeType=ReactNodeTypes.getType(nextRenderedElement);this._renderedNodeType=nodeType;var child=this._instantiateReactComponent(nextRenderedElement,nodeType!==ReactNodeTypes.EMPTY);this._renderedComponent=child;var nextMarkup=ReactReconciler.mountComponent(child,transaction,this._hostParent,this._hostContainerInfo,this._processChildContext(context),debugID);if(false){if(debugID!==0){var childDebugIDs=child._debugID!==0?[child._debugID]:[];ReactInstrumentation.debugTool.onSetChildren(debugID,childDebugIDs);}}this._replaceNodeWithMarkup(oldHostNode,nextMarkup,prevComponentInstance);}},_replaceNodeWithMarkup:function _replaceNodeWithMarkup(oldHostNode,nextMarkup,prevInstance){ReactComponentEnvironment.replaceNodeWithMarkup(oldHostNode,nextMarkup,prevInstance);},_renderValidatedComponentWithoutOwnerOrContext:function _renderValidatedComponentWithoutOwnerOrContext(){var inst=this._instance;var renderedElement;if(false){renderedElement=measureLifeCyclePerf(function(){return inst.render();},this._debugID,'render');}else{renderedElement=inst.render();}if(false){if(renderedElement===undefined&&inst.render._isMockFunction){renderedElement=null;}}return renderedElement;},_renderValidatedComponent:function _renderValidatedComponent(){var renderedElement;if(false||this._compositeType!==CompositeTypes.StatelessFunctional){ReactCurrentOwner.current=this;try{renderedElement=this._renderValidatedComponentWithoutOwnerOrContext();}finally{ReactCurrentOwner.current=null;}}else{renderedElement=this._renderValidatedComponentWithoutOwnerOrContext();}invariant(renderedElement===null||renderedElement===false||React.isValidElement(renderedElement),'%s.render(): A valid React element (or null) must be returned. You may have '+'returned undefined, an array or some other invalid object.',this.getName()||'ReactCompositeComponent');return renderedElement;},attachRef:function attachRef(ref,component,transaction){var inst=this.getPublicInstance();invariant(inst!=null,'Stateless function components cannot have refs.');var publicComponentInstance=component.getPublicInstance(transaction);if(false){var componentName=component&&component.getName?component.getName():'a component';warning(publicComponentInstance!=null||component._compositeType!==CompositeTypes.StatelessFunctional,'Stateless function components cannot be given refs '+'(See ref "%s" in %s created by %s). '+'Attempts to access this ref will fail.',ref,componentName,this.getName());}var refs=inst.refs===emptyObject?inst.refs={}:inst.refs;refs[ref]=publicComponentInstance;},detachRef:function detachRef(ref){var refs=this.getPublicInstance().refs;delete refs[ref];},getName:function getName(){var type=this._currentElement.type;var constructor=this._instance&&this._instance.constructor;return type.displayName||constructor&&constructor.displayName||type.name||constructor&&constructor.name||null;},getPublicInstance:function getPublicInstance(){var inst=this._instance;if(this._compositeType===CompositeTypes.StatelessFunctional){return null;}return inst;},_instantiateReactComponent:null};module.exports=ReactCompositeComponent;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactDefaultBatchingStrategy.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var ReactUpdates=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactUpdates.js");var Transaction=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/utils/Transaction.js");var emptyFunction=__webpack_require__("./node_modules/fbjs/lib/emptyFunction.js");var RESET_BATCHED_UPDATES={initialize:emptyFunction,close:function close(){ReactDefaultBatchingStrategy.isBatchingUpdates=false;}};var FLUSH_BATCHED_UPDATES={initialize:emptyFunction,close:ReactUpdates.flushBatchedUpdates.bind(ReactUpdates)};var TRANSACTION_WRAPPERS=[FLUSH_BATCHED_UPDATES,RESET_BATCHED_UPDATES];function ReactDefaultBatchingStrategyTransaction(){this.reinitializeTransaction();}_extends(ReactDefaultBatchingStrategyTransaction.prototype,Transaction,{getTransactionWrappers:function getTransactionWrappers(){return TRANSACTION_WRAPPERS;}});var transaction=new ReactDefaultBatchingStrategyTransaction();var ReactDefaultBatchingStrategy={isBatchingUpdates:false,batchedUpdates:function batchedUpdates(callback,a,b,c,d,e){var alreadyBatchingUpdates=ReactDefaultBatchingStrategy.isBatchingUpdates;ReactDefaultBatchingStrategy.isBatchingUpdates=true;if(alreadyBatchingUpdates){return callback(a,b,c,d,e);}else{return transaction.perform(callback,null,a,b,c,d,e);}}};module.exports=ReactDefaultBatchingStrategy;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactEmptyComponent.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var emptyComponentFactory;var ReactEmptyComponentInjection={injectEmptyComponentFactory:function injectEmptyComponentFactory(factory){emptyComponentFactory=factory;}};var ReactEmptyComponent={create:function create(instantiate){return emptyComponentFactory(instantiate);}};ReactEmptyComponent.injection=ReactEmptyComponentInjection;module.exports=ReactEmptyComponent;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactEventEmitterMixin.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var EventPluginHub=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/event/EventPluginHub.js");function runEventQueueInBatch(events){EventPluginHub.enqueueEvents(events);EventPluginHub.processEventQueue(false);}var ReactEventEmitterMixin={handleTopLevel:function handleTopLevel(topLevelType,targetInst,nativeEvent,nativeEventTarget){var events=EventPluginHub.extractEvents(topLevelType,targetInst,nativeEvent,nativeEventTarget);runEventQueueInBatch(events);}};module.exports=ReactEventEmitterMixin;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactHostComponent.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var genericComponentClass=null;var tagToComponentClass={};var textComponentClass=null;var ReactHostComponentInjection={injectGenericComponentClass:function injectGenericComponentClass(componentClass){genericComponentClass=componentClass;},injectTextComponentClass:function injectTextComponentClass(componentClass){textComponentClass=componentClass;},injectComponentClasses:function injectComponentClasses(componentClasses){_extends(tagToComponentClass,componentClasses);}};function createInternalComponent(element){invariant(genericComponentClass,'There is no registered component for the tag %s',element.type);return new genericComponentClass(element);}function createInstanceForText(text){return new textComponentClass(text);}function isTextComponent(component){return component instanceof textComponentClass;}var ReactHostComponent={createInternalComponent:createInternalComponent,createInstanceForText:createInstanceForText,isTextComponent:isTextComponent,injection:ReactHostComponentInjection};module.exports=ReactHostComponent;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactMultiChild.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactComponentEnvironment=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactComponentEnvironment.js");var ReactInstanceMap=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/shared/ReactInstanceMap.js");var ReactInstrumentation=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/ReactInstrumentation.js");var ReactCurrentOwner=__webpack_require__("./node_modules/react/lib/ReactCurrentOwner.js");var ReactReconciler=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactReconciler.js");var ReactChildReconciler=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactChildReconciler.js");var emptyFunction=__webpack_require__("./node_modules/fbjs/lib/emptyFunction.js");var flattenChildren=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/shared/utils/flattenChildren.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");function makeInsertMarkup(markup,afterNode,toIndex){return{type:'INSERT_MARKUP',content:markup,fromIndex:null,fromNode:null,toIndex:toIndex,afterNode:afterNode};}function makeMove(child,afterNode,toIndex){return{type:'MOVE_EXISTING',content:null,fromIndex:child._mountIndex,fromNode:ReactReconciler.getHostNode(child),toIndex:toIndex,afterNode:afterNode};}function makeRemove(child,node){return{type:'REMOVE_NODE',content:null,fromIndex:child._mountIndex,fromNode:node,toIndex:null,afterNode:null};}function makeSetMarkup(markup){return{type:'SET_MARKUP',content:markup,fromIndex:null,fromNode:null,toIndex:null,afterNode:null};}function makeTextContent(textContent){return{type:'TEXT_CONTENT',content:textContent,fromIndex:null,fromNode:null,toIndex:null,afterNode:null};}function enqueue(queue,update){if(update){queue=queue||[];queue.push(update);}return queue;}function processQueue(inst,updateQueue){ReactComponentEnvironment.processChildrenUpdates(inst,updateQueue);}var setChildrenForInstrumentation=emptyFunction;if(false){var getDebugID=function getDebugID(inst){if(!inst._debugID){var internal;if(internal=ReactInstanceMap.get(inst)){inst=internal;}}return inst._debugID;};setChildrenForInstrumentation=function setChildrenForInstrumentation(children){var debugID=getDebugID(this);if(debugID!==0){ReactInstrumentation.debugTool.onSetChildren(debugID,children?Object.keys(children).map(function(key){return children[key]._debugID;}):[]);}};}var ReactMultiChild={_reconcilerInstantiateChildren:function _reconcilerInstantiateChildren(nestedChildren,transaction,context){if(false){var selfDebugID=getDebugID(this);if(this._currentElement){try{ReactCurrentOwner.current=this._currentElement._owner;return ReactChildReconciler.instantiateChildren(nestedChildren,transaction,context,selfDebugID);}finally{ReactCurrentOwner.current=null;}}}return ReactChildReconciler.instantiateChildren(nestedChildren,transaction,context);},_reconcilerUpdateChildren:function _reconcilerUpdateChildren(prevChildren,nextNestedChildrenElements,mountImages,removedNodes,transaction,context){var nextChildren;var selfDebugID=0;if(false){selfDebugID=getDebugID(this);if(this._currentElement){try{ReactCurrentOwner.current=this._currentElement._owner;nextChildren=flattenChildren(nextNestedChildrenElements,selfDebugID);}finally{ReactCurrentOwner.current=null;}ReactChildReconciler.updateChildren(prevChildren,nextChildren,mountImages,removedNodes,transaction,this,this._hostContainerInfo,context,selfDebugID);return nextChildren;}}nextChildren=flattenChildren(nextNestedChildrenElements,selfDebugID);ReactChildReconciler.updateChildren(prevChildren,nextChildren,mountImages,removedNodes,transaction,this,this._hostContainerInfo,context,selfDebugID);return nextChildren;},mountChildren:function mountChildren(nestedChildren,transaction,context){var children=this._reconcilerInstantiateChildren(nestedChildren,transaction,context);this._renderedChildren=children;var mountImages=[];var index=0;for(var name in children){if(children.hasOwnProperty(name)){var child=children[name];var selfDebugID=0;if(false){selfDebugID=getDebugID(this);}var mountImage=ReactReconciler.mountComponent(child,transaction,this,this._hostContainerInfo,context,selfDebugID);child._mountIndex=index++;mountImages.push(mountImage);}}if(false){setChildrenForInstrumentation.call(this,children);}return mountImages;},updateTextContent:function updateTextContent(nextContent){var prevChildren=this._renderedChildren;ReactChildReconciler.unmountChildren(prevChildren,false);for(var name in prevChildren){if(prevChildren.hasOwnProperty(name)){invariant(false,'updateTextContent called on non-empty component.');}}var updates=[makeTextContent(nextContent)];processQueue(this,updates);},updateMarkup:function updateMarkup(nextMarkup){var prevChildren=this._renderedChildren;ReactChildReconciler.unmountChildren(prevChildren,false);for(var name in prevChildren){if(prevChildren.hasOwnProperty(name)){invariant(false,'updateTextContent called on non-empty component.');}}var updates=[makeSetMarkup(nextMarkup)];processQueue(this,updates);},updateChildren:function updateChildren(nextNestedChildrenElements,transaction,context){this._updateChildren(nextNestedChildrenElements,transaction,context);},_updateChildren:function _updateChildren(nextNestedChildrenElements,transaction,context){var prevChildren=this._renderedChildren;var removedNodes={};var mountImages=[];var nextChildren=this._reconcilerUpdateChildren(prevChildren,nextNestedChildrenElements,mountImages,removedNodes,transaction,context);if(!nextChildren&&!prevChildren){return;}var updates=null;var name;var nextIndex=0;var lastIndex=0;var nextMountIndex=0;var lastPlacedNode=null;for(name in nextChildren){if(!nextChildren.hasOwnProperty(name)){continue;}var prevChild=prevChildren&&prevChildren[name];var nextChild=nextChildren[name];if(prevChild===nextChild){updates=enqueue(updates,this.moveChild(prevChild,lastPlacedNode,nextIndex,lastIndex));lastIndex=Math.max(prevChild._mountIndex,lastIndex);prevChild._mountIndex=nextIndex;}else{if(prevChild){lastIndex=Math.max(prevChild._mountIndex,lastIndex);}updates=enqueue(updates,this._mountChildAtIndex(nextChild,mountImages[nextMountIndex],lastPlacedNode,nextIndex,transaction,context));nextMountIndex++;}nextIndex++;lastPlacedNode=ReactReconciler.getHostNode(nextChild);}for(name in removedNodes){if(removedNodes.hasOwnProperty(name)){updates=enqueue(updates,this._unmountChild(prevChildren[name],removedNodes[name]));}}if(updates){processQueue(this,updates);}this._renderedChildren=nextChildren;if(false){setChildrenForInstrumentation.call(this,nextChildren);}},unmountChildren:function unmountChildren(safely){var renderedChildren=this._renderedChildren;ReactChildReconciler.unmountChildren(renderedChildren,safely);this._renderedChildren=null;},moveChild:function moveChild(child,afterNode,toIndex,lastIndex){if(child._mountIndex<lastIndex){return makeMove(child,afterNode,toIndex);}},createChild:function createChild(child,afterNode,mountImage){return makeInsertMarkup(mountImage,afterNode,child._mountIndex);},removeChild:function removeChild(child,node){return makeRemove(child,node);},_mountChildAtIndex:function _mountChildAtIndex(child,mountImage,afterNode,index,transaction,context){child._mountIndex=index;return this.createChild(child,afterNode,mountImage);},_unmountChild:function _unmountChild(child,node){var update=this.removeChild(child,node);child._mountIndex=null;return update;}};module.exports=ReactMultiChild;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactNodeTypes.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var ReactNodeTypes={HOST:0,COMPOSITE:1,EMPTY:2,getType:function getType(node){if(node===null||node===false){return ReactNodeTypes.EMPTY;}else if(React.isValidElement(node)){if(typeof node.type==='function'){return ReactNodeTypes.COMPOSITE;}else{return ReactNodeTypes.HOST;}}invariant(false,'Unexpected node: %s',node);}};module.exports=ReactNodeTypes;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactOwner.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");function isValidOwner(object){return!!(object&&typeof object.attachRef==='function'&&typeof object.detachRef==='function');}var ReactOwner={addComponentAsRefTo:function addComponentAsRefTo(component,ref,owner,transaction){invariant(isValidOwner(owner),'addComponentAsRefTo(...): Only a ReactOwner can have refs. You might '+'be adding a ref to a component that was not created inside a component\'s '+'`render` method, or you have multiple copies of React loaded '+'(details: https://fb.me/react-refs-must-have-owner).');owner.attachRef(ref,component,transaction);},removeComponentAsRefFrom:function removeComponentAsRefFrom(component,ref,owner){invariant(isValidOwner(owner),'removeComponentAsRefFrom(...): Only a ReactOwner can have refs. You might '+'be removing a ref to a component that was not created inside a component\'s '+'`render` method, or you have multiple copies of React loaded '+'(details: https://fb.me/react-refs-must-have-owner).');var ownerPublicInstance=owner.getPublicInstance();if(ownerPublicInstance&&ownerPublicInstance.refs[ref]===component.getPublicInstance()){owner.detachRef(ref);}}};module.exports=ReactOwner;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactReconciler.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactRef=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactRef.js");var ReactInstrumentation=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/ReactInstrumentation.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");function attachRefs(transaction){ReactRef.attachRefs(this,this._currentElement,transaction);}var ReactReconciler={mountComponent:function mountComponent(internalInstance,transaction,hostParent,hostContainerInfo,context,parentDebugID){if(false){if(internalInstance._debugID!==0){ReactInstrumentation.debugTool.onBeforeMountComponent(internalInstance._debugID,internalInstance._currentElement,parentDebugID);}}var markup=internalInstance.mountComponent(transaction,hostParent,hostContainerInfo,context,parentDebugID);if(internalInstance._currentElement&&internalInstance._currentElement.ref!=null){transaction.getReactMountReady().enqueue(attachRefs,internalInstance);}if(false){if(internalInstance._debugID!==0){ReactInstrumentation.debugTool.onMountComponent(internalInstance._debugID);}}return markup;},getHostNode:function getHostNode(internalInstance){return internalInstance.getHostNode();},unmountComponent:function unmountComponent(internalInstance,safely){if(false){if(internalInstance._debugID!==0){ReactInstrumentation.debugTool.onBeforeUnmountComponent(internalInstance._debugID);}}ReactRef.detachRefs(internalInstance,internalInstance._currentElement);internalInstance.unmountComponent(safely);if(false){if(internalInstance._debugID!==0){ReactInstrumentation.debugTool.onUnmountComponent(internalInstance._debugID);}}},receiveComponent:function receiveComponent(internalInstance,nextElement,transaction,context){var prevElement=internalInstance._currentElement;if(nextElement===prevElement&&context===internalInstance._context){return;}if(false){if(internalInstance._debugID!==0){ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID,nextElement);}}var refsChanged=ReactRef.shouldUpdateRefs(prevElement,nextElement);if(refsChanged){ReactRef.detachRefs(internalInstance,prevElement);}internalInstance.receiveComponent(nextElement,transaction,context);if(refsChanged&&internalInstance._currentElement&&internalInstance._currentElement.ref!=null){transaction.getReactMountReady().enqueue(attachRefs,internalInstance);}if(false){if(internalInstance._debugID!==0){ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID);}}},performUpdateIfNecessary:function performUpdateIfNecessary(internalInstance,transaction,updateBatchNumber){if(internalInstance._updateBatchNumber!==updateBatchNumber){warning(internalInstance._updateBatchNumber==null||internalInstance._updateBatchNumber===updateBatchNumber+1,'performUpdateIfNecessary: Unexpected batch number (current %s, '+'pending %s)',updateBatchNumber,internalInstance._updateBatchNumber);return;}if(false){if(internalInstance._debugID!==0){ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID,internalInstance._currentElement);}}internalInstance.performUpdateIfNecessary(transaction);if(false){if(internalInstance._debugID!==0){ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID);}}}};module.exports=ReactReconciler;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactRef.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactOwner=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactOwner.js");var ReactRef={};function attachRef(ref,component,owner,transaction){if(typeof ref==='function'){ref(component.getPublicInstance(transaction));}else{ReactOwner.addComponentAsRefTo(component,ref,owner,transaction);}}function detachRef(ref,component,owner){if(typeof ref==='function'){ref(null);}else{ReactOwner.removeComponentAsRefFrom(component,ref,owner);}}ReactRef.attachRefs=function(instance,element,transaction){if(element===null||typeof element!=='object'){return;}var ref=element.ref;if(ref!=null){attachRef(ref,instance,element._owner,transaction);}};ReactRef.shouldUpdateRefs=function(prevElement,nextElement){var prevRef=null;var prevOwner=null;if(prevElement!==null&&typeof prevElement==='object'){prevRef=prevElement.ref;prevOwner=prevElement._owner;}var nextRef=null;var nextOwner=null;if(nextElement!==null&&typeof nextElement==='object'){nextRef=nextElement.ref;nextOwner=nextElement._owner;}return prevRef!==nextRef||typeof nextRef==='string'&&nextOwner!==prevOwner;};ReactRef.detachRefs=function(instance,element){if(element===null||typeof element!=='object'){return;}var ref=element.ref;if(ref!=null){detachRef(ref,instance,element._owner);}};module.exports=ReactRef;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactSimpleEmptyComponent.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var ReactReconciler=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactReconciler.js");var ReactSimpleEmptyComponent=function ReactSimpleEmptyComponent(placeholderElement,instantiate){this._currentElement=null;this._renderedComponent=instantiate(placeholderElement);};_extends(ReactSimpleEmptyComponent.prototype,{mountComponent:function mountComponent(transaction,hostParent,hostContainerInfo,context,parentDebugID){return ReactReconciler.mountComponent(this._renderedComponent,transaction,hostParent,hostContainerInfo,context,parentDebugID);},receiveComponent:function receiveComponent(){},getHostNode:function getHostNode(){return ReactReconciler.getHostNode(this._renderedComponent);},unmountComponent:function unmountComponent(){ReactReconciler.unmountComponent(this._renderedComponent);this._renderedComponent=null;}});module.exports=ReactSimpleEmptyComponent;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactUpdateQueue.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactCurrentOwner=__webpack_require__("./node_modules/react/lib/ReactCurrentOwner.js");var ReactInstanceMap=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/shared/ReactInstanceMap.js");var ReactInstrumentation=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/ReactInstrumentation.js");var ReactUpdates=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactUpdates.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");function enqueueUpdate(internalInstance){ReactUpdates.enqueueUpdate(internalInstance);}function formatUnexpectedArgument(arg){var type=typeof arg;if(type!=='object'){return type;}var displayName=arg.constructor&&arg.constructor.name||type;var keys=Object.keys(arg);if(keys.length>0&&keys.length<20){return displayName+' (keys: '+keys.join(', ')+')';}return displayName;}function getInternalInstanceReadyForUpdate(publicInstance,callerName){var internalInstance=ReactInstanceMap.get(publicInstance);if(!internalInstance){if(false){var ctor=publicInstance.constructor;warning(!callerName,'%s(...): Can only update a mounted or mounting component. '+'This usually means you called %s() on an unmounted component. '+'This is a no-op. Please check the code for the %s component.',callerName,callerName,ctor&&(ctor.displayName||ctor.name)||'ReactClass');}return null;}if(false){warning(ReactCurrentOwner.current==null,'%s(...): Cannot update during an existing state transition (such as '+'within `render` or another component\'s constructor). Render methods '+'should be a pure function of props and state; constructor '+'side-effects are an anti-pattern, but can be moved to '+'`componentWillMount`.',callerName);}return internalInstance;}var ReactUpdateQueue={isMounted:function isMounted(publicInstance){if(false){var owner=ReactCurrentOwner.current;if(owner!==null){warning(owner._warnedAboutRefsInRender,'%s is accessing isMounted inside its render() function. '+'render() should be a pure function of props and state. It should '+'never access something that requires stale data from the previous '+'render, such as refs. Move this logic to componentDidMount and '+'componentDidUpdate instead.',owner.getName()||'A component');owner._warnedAboutRefsInRender=true;}}var internalInstance=ReactInstanceMap.get(publicInstance);if(internalInstance){return!!internalInstance._renderedComponent;}else{return false;}},enqueueCallback:function enqueueCallback(publicInstance,callback,callerName){ReactUpdateQueue.validateCallback(callback,callerName);var internalInstance=getInternalInstanceReadyForUpdate(publicInstance);if(!internalInstance){return null;}if(internalInstance._pendingCallbacks){internalInstance._pendingCallbacks.push(callback);}else{internalInstance._pendingCallbacks=[callback];}enqueueUpdate(internalInstance);},enqueueCallbackInternal:function enqueueCallbackInternal(internalInstance,callback){if(internalInstance._pendingCallbacks){internalInstance._pendingCallbacks.push(callback);}else{internalInstance._pendingCallbacks=[callback];}enqueueUpdate(internalInstance);},enqueueForceUpdate:function enqueueForceUpdate(publicInstance){var internalInstance=getInternalInstanceReadyForUpdate(publicInstance,'forceUpdate');if(!internalInstance){return;}internalInstance._pendingForceUpdate=true;enqueueUpdate(internalInstance);},enqueueReplaceState:function enqueueReplaceState(publicInstance,completeState){var internalInstance=getInternalInstanceReadyForUpdate(publicInstance,'replaceState');if(!internalInstance){return;}internalInstance._pendingStateQueue=[completeState];internalInstance._pendingReplaceState=true;enqueueUpdate(internalInstance);},enqueueSetState:function enqueueSetState(publicInstance,partialState){if(false){ReactInstrumentation.debugTool.onSetState();warning(partialState!=null,'setState(...): You passed an undefined or null state object; '+'instead, use forceUpdate().');}var internalInstance=getInternalInstanceReadyForUpdate(publicInstance,'setState');if(!internalInstance){return;}var queue=internalInstance._pendingStateQueue||(internalInstance._pendingStateQueue=[]);queue.push(partialState);enqueueUpdate(internalInstance);},enqueueElementInternal:function enqueueElementInternal(internalInstance,nextElement,nextContext){internalInstance._pendingElement=nextElement;internalInstance._context=nextContext;enqueueUpdate(internalInstance);},validateCallback:function validateCallback(callback,callerName){invariant(!callback||typeof callback==='function','%s(...): Expected the last optional `callback` argument to be a '+'function. Instead received: %s.',callerName,formatUnexpectedArgument(callback));}};module.exports=ReactUpdateQueue;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactUpdates.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var CallbackQueue=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/utils/CallbackQueue.js");var PooledClass=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/shared/utils/PooledClass.js");var ReactFeatureFlags=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/utils/ReactFeatureFlags.js");var ReactReconciler=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactReconciler.js");var Transaction=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/utils/Transaction.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var dirtyComponents=[];var updateBatchNumber=0;var asapCallbackQueue=CallbackQueue.getPooled();var asapEnqueued=false;var batchingStrategy=null;function ensureInjected(){invariant(ReactUpdates.ReactReconcileTransaction&&batchingStrategy,'ReactUpdates: must inject a reconcile transaction class and batching '+'strategy');}var NESTED_UPDATES={initialize:function initialize(){this.dirtyComponentsLength=dirtyComponents.length;},close:function close(){if(this.dirtyComponentsLength!==dirtyComponents.length){dirtyComponents.splice(0,this.dirtyComponentsLength);flushBatchedUpdates();}else{dirtyComponents.length=0;}}};var UPDATE_QUEUEING={initialize:function initialize(){this.callbackQueue.reset();},close:function close(){this.callbackQueue.notifyAll();}};var TRANSACTION_WRAPPERS=[NESTED_UPDATES,UPDATE_QUEUEING];function ReactUpdatesFlushTransaction(){this.reinitializeTransaction();this.dirtyComponentsLength=null;this.callbackQueue=CallbackQueue.getPooled();this.reconcileTransaction=ReactUpdates.ReactReconcileTransaction.getPooled(true);}_extends(ReactUpdatesFlushTransaction.prototype,Transaction,{getTransactionWrappers:function getTransactionWrappers(){return TRANSACTION_WRAPPERS;},destructor:function destructor(){this.dirtyComponentsLength=null;CallbackQueue.release(this.callbackQueue);this.callbackQueue=null;ReactUpdates.ReactReconcileTransaction.release(this.reconcileTransaction);this.reconcileTransaction=null;},perform:function perform(method,scope,a){return Transaction.perform.call(this,this.reconcileTransaction.perform,this.reconcileTransaction,method,scope,a);}});PooledClass.addPoolingTo(ReactUpdatesFlushTransaction);function batchedUpdates(callback,a,b,c,d,e){ensureInjected();return batchingStrategy.batchedUpdates(callback,a,b,c,d,e);}function mountOrderComparator(c1,c2){return c1._mountOrder-c2._mountOrder;}function runBatchedUpdates(transaction){var len=transaction.dirtyComponentsLength;invariant(len===dirtyComponents.length,'Expected flush transaction\'s stored dirty-components length (%s) to '+'match dirty-components array length (%s).',len,dirtyComponents.length);dirtyComponents.sort(mountOrderComparator);updateBatchNumber++;for(var i=0;i<len;i++){var component=dirtyComponents[i];var callbacks=component._pendingCallbacks;component._pendingCallbacks=null;var markerName;if(ReactFeatureFlags.logTopLevelRenders){var namedComponent=component;if(component._currentElement.type.isReactTopLevelWrapper){namedComponent=component._renderedComponent;}markerName='React update: '+namedComponent.getName();console.time(markerName);}ReactReconciler.performUpdateIfNecessary(component,transaction.reconcileTransaction,updateBatchNumber);if(markerName){console.timeEnd(markerName);}if(callbacks){for(var j=0;j<callbacks.length;j++){transaction.callbackQueue.enqueue(callbacks[j],component.getPublicInstance());}}}}var flushBatchedUpdates=function flushBatchedUpdates(){while(dirtyComponents.length||asapEnqueued){if(dirtyComponents.length){var transaction=ReactUpdatesFlushTransaction.getPooled();transaction.perform(runBatchedUpdates,null,transaction);ReactUpdatesFlushTransaction.release(transaction);}if(asapEnqueued){asapEnqueued=false;var queue=asapCallbackQueue;asapCallbackQueue=CallbackQueue.getPooled();queue.notifyAll();CallbackQueue.release(queue);}}};function enqueueUpdate(component){ensureInjected();if(!batchingStrategy.isBatchingUpdates){batchingStrategy.batchedUpdates(enqueueUpdate,component);return;}dirtyComponents.push(component);if(component._updateBatchNumber==null){component._updateBatchNumber=updateBatchNumber+1;}}function asap(callback,context){invariant(batchingStrategy.isBatchingUpdates,'ReactUpdates.asap: Can\'t enqueue an asap callback in a context where'+'updates are not being batched.');asapCallbackQueue.enqueue(callback,context);asapEnqueued=true;}var ReactUpdatesInjection={injectReconcileTransaction:function injectReconcileTransaction(ReconcileTransaction){invariant(ReconcileTransaction,'ReactUpdates: must provide a reconcile transaction class');ReactUpdates.ReactReconcileTransaction=ReconcileTransaction;},injectBatchingStrategy:function injectBatchingStrategy(_batchingStrategy){invariant(_batchingStrategy,'ReactUpdates: must provide a batching strategy');invariant(typeof _batchingStrategy.batchedUpdates==='function','ReactUpdates: must provide a batchedUpdates() function');invariant(typeof _batchingStrategy.isBatchingUpdates==='boolean','ReactUpdates: must provide an isBatchingUpdates boolean attribute');batchingStrategy=_batchingStrategy;},getBatchingStrategy:function getBatchingStrategy(){return batchingStrategy;}};var ReactUpdates={ReactReconcileTransaction:null,batchedUpdates:batchedUpdates,enqueueUpdate:enqueueUpdate,flushBatchedUpdates:flushBatchedUpdates,injection:ReactUpdatesInjection,asap:asap};module.exports=ReactUpdates;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/instantiateReactComponent.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var ReactCompositeComponent=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactCompositeComponent.js");var ReactEmptyComponent=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactEmptyComponent.js");var ReactHostComponent=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactHostComponent.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");var ReactCompositeComponentWrapper=function ReactCompositeComponentWrapper(element){this.construct(element);};_extends(ReactCompositeComponentWrapper.prototype,ReactCompositeComponent,{_instantiateReactComponent:instantiateReactComponent});function getDeclarationErrorAddendum(owner){if(owner){var name=owner.getName();if(name){return' Check the render method of `'+name+'`.';}}return'';}function isInternalComponentType(type){return typeof type==='function'&&typeof type.prototype!=='undefined'&&typeof type.prototype.mountComponent==='function'&&typeof type.prototype.receiveComponent==='function';}var nextDebugID=1;function instantiateReactComponent(node,shouldHaveDebugID){var instance;if(node===null||node===false){instance=ReactEmptyComponent.create(instantiateReactComponent);}else if(typeof node==='object'){var element=node;invariant(element&&(typeof element.type==='function'||typeof element.type==='string'),'Element type is invalid: expected a string (for built-in components) '+'or a class/function (for composite components) but got: %s.%s',element.type==null?element.type:typeof element.type,getDeclarationErrorAddendum(element._owner));if(typeof element.type==='string'){instance=ReactHostComponent.createInternalComponent(element);}else if(isInternalComponentType(element.type)){instance=new element.type(element);if(!instance.getHostNode){instance.getHostNode=instance.getNativeNode;}}else{instance=new ReactCompositeComponentWrapper(element);}}else if(typeof node==='string'||typeof node==='number'){instance=ReactHostComponent.createInstanceForText(node);}else{invariant(false,'Encountered invalid React node of type %s',typeof node);}if(false){warning(typeof instance.mountComponent==='function'&&typeof instance.receiveComponent==='function'&&typeof instance.getHostNode==='function'&&typeof instance.unmountComponent==='function','Only React Components can be mounted.');}instance._mountIndex=0;instance._mountImage=null;if(false){instance._debugID=shouldHaveDebugID?nextDebugID++:0;}if(false){if(Object.preventExtensions){Object.preventExtensions(instance);}}return instance;}module.exports=instantiateReactComponent;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/utils/CallbackQueue.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var PooledClass=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/shared/utils/PooledClass.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var CallbackQueue=function(){function CallbackQueue(arg){_classCallCheck(this,CallbackQueue);this._callbacks=null;this._contexts=null;this._arg=arg;}_createClass(CallbackQueue,[{key:'enqueue',value:function enqueue(callback,context){this._callbacks=this._callbacks||[];this._callbacks.push(callback);this._contexts=this._contexts||[];this._contexts.push(context);}},{key:'notifyAll',value:function notifyAll(){var callbacks=this._callbacks;var contexts=this._contexts;var arg=this._arg;if(callbacks&&contexts){invariant(callbacks.length===contexts.length,'Mismatched list of contexts in callback queue');this._callbacks=null;this._contexts=null;for(var i=0;i<callbacks.length;i++){callbacks[i].call(contexts[i],arg);}callbacks.length=0;contexts.length=0;}}},{key:'checkpoint',value:function checkpoint(){return this._callbacks?this._callbacks.length:0;}},{key:'rollback',value:function rollback(len){if(this._callbacks&&this._contexts){this._callbacks.length=len;this._contexts.length=len;}}},{key:'reset',value:function reset(){this._callbacks=null;this._contexts=null;}},{key:'destructor',value:function destructor(){this.reset();}}]);return CallbackQueue;}();module.exports=PooledClass.addPoolingTo(CallbackQueue);

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/utils/ReactErrorUtils.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var caughtError=null;function invokeGuardedCallback(name,func,a){try{func(a);}catch(x){if(caughtError===null){caughtError=x;}}}var ReactErrorUtils={invokeGuardedCallback:invokeGuardedCallback,invokeGuardedCallbackWithCatch:invokeGuardedCallback,rethrowCaughtError:function rethrowCaughtError(){if(caughtError){var error=caughtError;caughtError=null;throw error;}}};if(false){if(typeof window!=='undefined'&&typeof window.dispatchEvent==='function'&&typeof document!=='undefined'&&typeof document.createEvent==='function'){var fakeNode=document.createElement('react');ReactErrorUtils.invokeGuardedCallback=function(name,func,a){var boundFunc=func.bind(null,a);var evtType='react-'+name;fakeNode.addEventListener(evtType,boundFunc,false);var evt=document.createEvent('Event');evt.initEvent(evtType,false,false);fakeNode.dispatchEvent(evt);fakeNode.removeEventListener(evtType,boundFunc,false);};}}module.exports=ReactErrorUtils;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/utils/ReactFeatureFlags.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactFeatureFlags={logTopLevelRenders:false};module.exports=ReactFeatureFlags;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/utils/Transaction.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var OBSERVED_ERROR={};var TransactionImpl={reinitializeTransaction:function reinitializeTransaction(){this.transactionWrappers=this.getTransactionWrappers();if(this.wrapperInitData){this.wrapperInitData.length=0;}else{this.wrapperInitData=[];}this._isInTransaction=false;},_isInTransaction:false,getTransactionWrappers:null,isInTransaction:function isInTransaction(){return!!this._isInTransaction;},perform:function perform(method,scope,a,b,c,d,e,f){invariant(!this.isInTransaction(),'Transaction.perform(...): Cannot initialize a transaction when there '+'is already an outstanding transaction.');var errorThrown;var ret;try{this._isInTransaction=true;errorThrown=true;this.initializeAll(0);ret=method.call(scope,a,b,c,d,e,f);errorThrown=false;}finally{try{if(errorThrown){try{this.closeAll(0);}catch(err){}}else{this.closeAll(0);}}finally{this._isInTransaction=false;}}return ret;},initializeAll:function initializeAll(startIndex){var transactionWrappers=this.transactionWrappers;for(var i=startIndex;i<transactionWrappers.length;i++){var wrapper=transactionWrappers[i];try{this.wrapperInitData[i]=OBSERVED_ERROR;this.wrapperInitData[i]=wrapper.initialize?wrapper.initialize.call(this):null;}finally{if(this.wrapperInitData[i]===OBSERVED_ERROR){try{this.initializeAll(i+1);}catch(err){}}}}},closeAll:function closeAll(startIndex){invariant(this.isInTransaction(),'Transaction.closeAll(): Cannot close transaction when none are open.');var transactionWrappers=this.transactionWrappers;for(var i=startIndex;i<transactionWrappers.length;i++){var wrapper=transactionWrappers[i];var initData=this.wrapperInitData[i];var errorThrown;try{errorThrown=true;if(initData!==OBSERVED_ERROR&&wrapper.close){wrapper.close.call(this,initData);}errorThrown=false;}finally{if(errorThrown){try{this.closeAll(i+1);}catch(e){}}}}this.wrapperInitData.length=0;}};module.exports=TransactionImpl;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/utils/accumulate.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");function accumulate(current,next){invariant(next!=null,'accumulate(...): Accumulated items must be not be null or undefined.');if(current==null){return next;}if(Array.isArray(current)){return current.concat(next);}if(Array.isArray(next)){return[current].concat(next);}return[current,next];}module.exports=accumulate;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/utils/accumulateInto.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");function accumulateInto(current,next){invariant(next!=null,'accumulateInto(...): Accumulated items must not be null or undefined.');if(current==null){return next;}if(Array.isArray(current)){if(Array.isArray(next)){current.push.apply(current,next);return current;}current.push(next);return current;}if(Array.isArray(next)){return[current].concat(next);}return[current,next];}module.exports=accumulateInto;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/renderers/shared/utils/forEachAccumulated.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
function forEachAccumulated(arr,cb,scope){if(Array.isArray(arr)){arr.forEach(cb,scope);}else if(arr){cb.call(scope,arr);}}module.exports=forEachAccumulated;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/shared/utils/KeyEscapeUtils.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
function escape(key){var escapeRegex=/[=:]/g;var escaperLookup={'=':'=0',':':'=2'};var escapedString=(''+key).replace(escapeRegex,function(match){return escaperLookup[match];});return'$'+escapedString;}function unescape(key){var unescapeRegex=/(=0|=2)/g;var unescaperLookup={'=0':'=','=2':':'};var keySubstring=key[0]==='.'&&key[1]==='$'?key.substring(2):key.substring(1);return(''+keySubstring).replace(unescapeRegex,function(match){return unescaperLookup[match];});}var KeyEscapeUtils={escape:escape,unescape:unescape};module.exports=KeyEscapeUtils;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/shared/utils/PooledClass.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var oneArgumentPooler=function oneArgumentPooler(copyFieldsFrom){var Klass=this;if(Klass.instancePool.length){var instance=Klass.instancePool.pop();Klass.call(instance,copyFieldsFrom);return instance;}else{return new Klass(copyFieldsFrom);}};var twoArgumentPooler=function twoArgumentPooler(a1,a2){var Klass=this;if(Klass.instancePool.length){var instance=Klass.instancePool.pop();Klass.call(instance,a1,a2);return instance;}else{return new Klass(a1,a2);}};var threeArgumentPooler=function threeArgumentPooler(a1,a2,a3){var Klass=this;if(Klass.instancePool.length){var instance=Klass.instancePool.pop();Klass.call(instance,a1,a2,a3);return instance;}else{return new Klass(a1,a2,a3);}};var fourArgumentPooler=function fourArgumentPooler(a1,a2,a3,a4){var Klass=this;if(Klass.instancePool.length){var instance=Klass.instancePool.pop();Klass.call(instance,a1,a2,a3,a4);return instance;}else{return new Klass(a1,a2,a3,a4);}};var fiveArgumentPooler=function fiveArgumentPooler(a1,a2,a3,a4,a5){var Klass=this;if(Klass.instancePool.length){var instance=Klass.instancePool.pop();Klass.call(instance,a1,a2,a3,a4,a5);return instance;}else{return new Klass(a1,a2,a3,a4,a5);}};var standardReleaser=function standardReleaser(instance){var Klass=this;invariant(instance instanceof Klass,'Trying to release an instance into a pool of a different type.');instance.destructor();if(Klass.instancePool.length<Klass.poolSize){Klass.instancePool.push(instance);}};var DEFAULT_POOL_SIZE=10;var DEFAULT_POOLER=oneArgumentPooler;var addPoolingTo=function addPoolingTo(CopyConstructor,pooler){var NewKlass=CopyConstructor;NewKlass.instancePool=[];NewKlass.getPooled=pooler||DEFAULT_POOLER;if(!NewKlass.poolSize){NewKlass.poolSize=DEFAULT_POOL_SIZE;}NewKlass.release=standardReleaser;return NewKlass;};var PooledClass={addPoolingTo:addPoolingTo,oneArgumentPooler:oneArgumentPooler,twoArgumentPooler:twoArgumentPooler,threeArgumentPooler:threeArgumentPooler,fourArgumentPooler:fourArgumentPooler,fiveArgumentPooler:fiveArgumentPooler};module.exports=PooledClass;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/shared/utils/ReactElementSymbol.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var REACT_ELEMENT_TYPE=typeof Symbol==='function'&&(typeof Symbol==='function'?Symbol.for:'@@for')&&(typeof Symbol==='function'?Symbol.for:'@@for')('react.element')||0xeac7;module.exports=REACT_ELEMENT_TYPE;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/shared/utils/flattenChildren.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(process) {var KeyEscapeUtils=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/shared/utils/KeyEscapeUtils.js");var traverseAllChildren=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/shared/utils/traverseAllChildren.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");var ReactComponentTreeHook;if(typeof process!=='undefined'&&__webpack_require__.i({"NODE_ENV":"production"})&&"production"==='test'){ReactComponentTreeHook=__webpack_require__("./node_modules/react/lib/ReactComponentTreeHook.js");}function flattenSingleChildIntoContext(traverseContext,child,name,selfDebugID){if(traverseContext&&typeof traverseContext==='object'){var result=traverseContext;var keyUnique=result[name]===undefined;if(false){if(!ReactComponentTreeHook){ReactComponentTreeHook=require('react/lib/ReactComponentTreeHook');}if(!keyUnique){warning(false,'flattenChildren(...): Encountered two children with the same key, '+'`%s`. Child keys must be unique; when two children share a key, only '+'the first child will be used.%s',KeyEscapeUtils.unescape(name),ReactComponentTreeHook.getStackAddendumByID(selfDebugID));}}if(keyUnique&&child!=null){result[name]=child;}}}function flattenChildren(children,selfDebugID){if(children==null){return children;}var result={};if(false){traverseAllChildren(children,function(traverseContext,child,name){return flattenSingleChildIntoContext(traverseContext,child,name,selfDebugID);},result);}else{traverseAllChildren(children,flattenSingleChildIntoContext,result);}return result;}module.exports=flattenChildren;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/process/browser.js")))

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/shared/utils/getIteratorFn.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ITERATOR_SYMBOL=typeof Symbol==='function'&&(typeof Symbol==='function'?Symbol.iterator:'@@iterator');var FAUX_ITERATOR_SYMBOL='@@iterator';function getIteratorFn(maybeIterable){var iteratorFn=maybeIterable&&(ITERATOR_SYMBOL&&maybeIterable[ITERATOR_SYMBOL]||maybeIterable[FAUX_ITERATOR_SYMBOL]);if(typeof iteratorFn==='function'){return iteratorFn;}}module.exports=getIteratorFn;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Renderer/src/shared/utils/traverseAllChildren.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactCurrentOwner=__webpack_require__("./node_modules/react/lib/ReactCurrentOwner.js");var REACT_ELEMENT_TYPE=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/shared/utils/ReactElementSymbol.js");var getIteratorFn=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/shared/utils/getIteratorFn.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var KeyEscapeUtils=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/shared/utils/KeyEscapeUtils.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");var SEPARATOR='.';var SUBSEPARATOR=':';var didWarnAboutMaps=false;function getComponentKey(component,index){if(component&&typeof component==='object'&&component.key!=null){return KeyEscapeUtils.escape(component.key);}return index.toString(36);}function traverseAllChildrenImpl(children,nameSoFar,callback,traverseContext){var type=typeof children;if(type==='undefined'||type==='boolean'){children=null;}if(children===null||type==='string'||type==='number'||type==='object'&&children.$$typeof===REACT_ELEMENT_TYPE){callback(traverseContext,children,nameSoFar===''?SEPARATOR+getComponentKey(children,0):nameSoFar);return 1;}var child;var nextName;var subtreeCount=0;var nextNamePrefix=nameSoFar===''?SEPARATOR:nameSoFar+SUBSEPARATOR;if(Array.isArray(children)){for(var i=0;i<children.length;i++){child=children[i];nextName=nextNamePrefix+getComponentKey(child,i);subtreeCount+=traverseAllChildrenImpl(child,nextName,callback,traverseContext);}}else{var iteratorFn=getIteratorFn(children);if(iteratorFn){var iterator=iteratorFn.call(children);var step;if(iteratorFn!==children.entries){var ii=0;while(!(step=iterator.next()).done){child=step.value;nextName=nextNamePrefix+getComponentKey(child,ii++);subtreeCount+=traverseAllChildrenImpl(child,nextName,callback,traverseContext);}}else{if(false){var mapsAsChildrenAddendum='';if(ReactCurrentOwner.current){var mapsAsChildrenOwnerName=ReactCurrentOwner.current.getName();if(mapsAsChildrenOwnerName){mapsAsChildrenAddendum=' Check the render method of `'+mapsAsChildrenOwnerName+'`.';}}warning(didWarnAboutMaps,'Using Maps as children is not yet fully supported. It is an '+'experimental feature that might be removed. Convert it to a '+'sequence / iterable of keyed ReactElements instead.%s',mapsAsChildrenAddendum);didWarnAboutMaps=true;}while(!(step=iterator.next()).done){var entry=step.value;if(entry){child=entry[1];nextName=nextNamePrefix+KeyEscapeUtils.escape(entry[0])+SUBSEPARATOR+getComponentKey(child,0);subtreeCount+=traverseAllChildrenImpl(child,nextName,callback,traverseContext);}}}}else if(type==='object'){var addendum='';if(false){addendum=' If you meant to render a collection of children, use an array '+'instead or wrap the object using createFragment(object) from the '+'React add-ons.';if(children._isReactElement){addendum=' It looks like you\'re using an element created by a different '+'version of React. Make sure to use only one copy of React.';}if(ReactCurrentOwner.current){var name=ReactCurrentOwner.current.getName();if(name){addendum+=' Check the render method of `'+name+'`.';}}}var childrenString=String(children);invariant(false,'Objects are not valid as a React child (found: %s).%s',childrenString==='[object Object]'?'object with keys {'+Object.keys(children).join(', ')+'}':childrenString,addendum);}}return subtreeCount;}function traverseAllChildren(children,callback,traverseContext){if(children==null){return 0;}return traverseAllChildrenImpl(children,'',callback,traverseContext);}module.exports=traverseAllChildren;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Settings/Settings.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var RCTDeviceEventEmitter=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/RCTDeviceEventEmitter.js");var RCTSettingsManager=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").SettingsManager;var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var subscriptions=[];var Settings={_settings:RCTSettingsManager&&RCTSettingsManager.settings,get:function get(key){return this._settings[key];},set:function set(settings){this._settings=_extends(this._settings,settings);RCTSettingsManager.setValues(settings);},watchKeys:function watchKeys(keys,callback){if(typeof keys==='string'){keys=[keys];}invariant(Array.isArray(keys),'keys should be a string or array of strings');var sid=subscriptions.length;subscriptions.push({keys:keys,callback:callback});return sid;},clearWatch:function clearWatch(watchId){if(watchId<subscriptions.length){subscriptions[watchId]={keys:[],callback:null};}},_sendObservations:function _sendObservations(body){var _this=this;Object.keys(body).forEach(function(key){var newValue=body[key];var didChange=_this._settings[key]!==newValue;_this._settings[key]=newValue;if(didChange){subscriptions.forEach(function(sub){if(sub.keys.indexOf(key)!==-1&&sub.callback){sub.callback();}});}});}};RCTDeviceEventEmitter.addListener('settingsUpdated',Settings._sendObservations.bind(Settings));module.exports=Settings;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Share/Share.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var _require=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js"),ActionSheetManager=_require.ActionSheetManager,ShareModule=_require.ShareModule;var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var processColor=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/processColor.js");var Share=function(){function Share(){_classCallCheck(this,Share);}_createClass(Share,null,[{key:'share',value:function share(content){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};invariant(typeof content==='object'&&content!==null,'Content to share must be a valid object');invariant(typeof content.url==='string'||typeof content.message==='string','At least one of URL and message is required');invariant(typeof options==='object'&&options!==null,'Options must be a valid object');if(Platform.OS==='android'){invariant(!content.title||typeof content.title==='string','Invalid title: title should be a string.');return ShareModule.share(content,options.dialogTitle);}else if(Platform.OS==='ios'){return new Promise(function(resolve,reject){ActionSheetManager.showShareActionSheetWithOptions(_extends({},content,options,{tintColor:processColor(options.tintColor)}),function(error){return reject(error);},function(success,activityType){if(success){resolve({'action':'sharedAction','activityType':activityType});}else{resolve({'action':'dismissedAction'});}});});}else{return Promise.reject(new Error('Unsupported platform'));}}},{key:'sharedAction',get:function get(){return'sharedAction';}},{key:'dismissedAction',get:function get(){return'dismissedAction';}}]);return Share;}();module.exports=Share;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Storage/AsyncStorage.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(setImmediate) {var _slicedToArray=function(){function sliceIterator(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[typeof Symbol==='function'?Symbol.iterator:'@@iterator'](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"])_i["return"]();}finally{if(_d)throw _e;}}return _arr;}return function(arr,i){if(Array.isArray(arr)){return arr;}else if((typeof Symbol==='function'?Symbol.iterator:'@@iterator')in Object(arr)){return sliceIterator(arr,i);}else{throw new TypeError("Invalid attempt to destructure non-iterable instance");}};}();var NativeModules=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js");var RCTAsyncSQLiteStorage=NativeModules.AsyncSQLiteDBStorage;var RCTAsyncRocksDBStorage=NativeModules.AsyncRocksDBStorage;var RCTAsyncFileStorage=NativeModules.AsyncLocalStorage;var RCTAsyncStorage=RCTAsyncRocksDBStorage||RCTAsyncSQLiteStorage||RCTAsyncFileStorage;var AsyncStorage={_getRequests:[],_getKeys:[],_immediate:null,getItem:function getItem(key,callback){return new Promise(function(resolve,reject){RCTAsyncStorage.multiGet([key],function(errors,result){var value=result&&result[0]&&result[0][1]?result[0][1]:null;var errs=convertErrors(errors);callback&&callback(errs&&errs[0],value);if(errs){reject(errs[0]);}else{resolve(value);}});});},setItem:function setItem(key,value,callback){return new Promise(function(resolve,reject){RCTAsyncStorage.multiSet([[key,value]],function(errors){var errs=convertErrors(errors);callback&&callback(errs&&errs[0]);if(errs){reject(errs[0]);}else{resolve(null);}});});},removeItem:function removeItem(key,callback){return new Promise(function(resolve,reject){RCTAsyncStorage.multiRemove([key],function(errors){var errs=convertErrors(errors);callback&&callback(errs&&errs[0]);if(errs){reject(errs[0]);}else{resolve(null);}});});},mergeItem:function mergeItem(key,value,callback){return new Promise(function(resolve,reject){RCTAsyncStorage.multiMerge([[key,value]],function(errors){var errs=convertErrors(errors);callback&&callback(errs&&errs[0]);if(errs){reject(errs[0]);}else{resolve(null);}});});},clear:function clear(callback){return new Promise(function(resolve,reject){RCTAsyncStorage.clear(function(error){callback&&callback(convertError(error));if(error&&convertError(error)){reject(convertError(error));}else{resolve(null);}});});},getAllKeys:function getAllKeys(callback){return new Promise(function(resolve,reject){RCTAsyncStorage.getAllKeys(function(error,keys){callback&&callback(convertError(error),keys);if(error){reject(convertError(error));}else{resolve(keys);}});});},flushGetRequests:function flushGetRequests(){var getRequests=this._getRequests;var getKeys=this._getKeys;this._getRequests=[];this._getKeys=[];RCTAsyncStorage.multiGet(getKeys,function(errors,result){var map={};result&&result.forEach(function(_ref){var _ref2=_slicedToArray(_ref,2),key=_ref2[0],value=_ref2[1];map[key]=value;return value;});var reqLength=getRequests.length;for(var i=0;i<reqLength;i++){var request=getRequests[i];var requestKeys=request.keys;var requestResult=requestKeys.map(function(key){return[key,map[key]];});request.callback&&request.callback(null,requestResult);request.resolve&&request.resolve(requestResult);}});},multiGet:function multiGet(keys,callback){var _this=this;if(!this._immediate){this._immediate=setImmediate(function(){_this._immediate=null;_this.flushGetRequests();});}var getRequest={keys:keys,callback:callback,keyIndex:this._getKeys.length,resolve:null,reject:null};var promiseResult=new Promise(function(resolve,reject){getRequest.resolve=resolve;getRequest.reject=reject;});this._getRequests.push(getRequest);keys.forEach(function(key){if(_this._getKeys.indexOf(key)===-1){_this._getKeys.push(key);}});return promiseResult;},multiSet:function multiSet(keyValuePairs,callback){return new Promise(function(resolve,reject){RCTAsyncStorage.multiSet(keyValuePairs,function(errors){var error=convertErrors(errors);callback&&callback(error);if(error){reject(error);}else{resolve(null);}});});},multiRemove:function multiRemove(keys,callback){return new Promise(function(resolve,reject){RCTAsyncStorage.multiRemove(keys,function(errors){var error=convertErrors(errors);callback&&callback(error);if(error){reject(error);}else{resolve(null);}});});},multiMerge:function multiMerge(keyValuePairs,callback){return new Promise(function(resolve,reject){RCTAsyncStorage.multiMerge(keyValuePairs,function(errors){var error=convertErrors(errors);callback&&callback(error);if(error){reject(error);}else{resolve(null);}});});}};if(!RCTAsyncStorage.multiMerge){delete AsyncStorage.mergeItem;delete AsyncStorage.multiMerge;}function convertErrors(errs){if(!errs){return null;}return(Array.isArray(errs)?errs:[errs]).map(function(e){return convertError(e);});}function convertError(error){if(!error){return null;}var out=new Error(error.message);out.key=error.key;return out;}module.exports=AsyncStorage;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/timers-browserify/main.js").setImmediate))

/***/ }),

/***/ "./node_modules/react-native/Libraries/StyleSheet/ColorPropType.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactPropTypeLocationNames=__webpack_require__("./node_modules/react/lib/ReactPropTypeLocationNames.js");var normalizeColor=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/normalizeColor.js");var colorPropType=function colorPropType(isRequired,props,propName,componentName,location,propFullName){var color=props[propName];if(color===undefined||color===null){if(isRequired){var locationName=ReactPropTypeLocationNames[location];return new Error('Required '+locationName+' `'+(propFullName||propName)+'` was not specified in `'+componentName+'`.');}return;}if(typeof color==='number'){return;}if(normalizeColor(color)===null){var locationName=ReactPropTypeLocationNames[location];return new Error('Invalid '+locationName+' `'+(propFullName||propName)+'` supplied to `'+componentName+'`: '+color+'\n'+'Valid color formats are\n  - \'#f0f\' (#rgb)\n  - \'#f0fc\' (#rgba)\n  - \'#ff00ff\' (#rrggbb)\n  - \'#ff00ff00\' (#rrggbbaa)\n  - \'rgb(255, 255, 255)\'\n  - \'rgba(255, 255, 255, 1.0)\'\n  - \'hsl(360, 100%, 100%)\'\n  - \'hsla(360, 100%, 100%, 1.0)\'\n  - \'transparent\'\n  - \'red\'\n  - 0xff00ff00 (0xrrggbbaa)\n');}};var ColorPropType=colorPropType.bind(null,false);ColorPropType.isRequired=colorPropType.bind(null,true);module.exports=ColorPropType;

/***/ }),

/***/ "./node_modules/react-native/Libraries/StyleSheet/EdgeInsetsPropType.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _require=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js"),PropTypes=_require.PropTypes;var createStrictShapeTypeChecker=__webpack_require__("./node_modules/react-native/Libraries/Utilities/createStrictShapeTypeChecker.js");var EdgeInsetsPropType=createStrictShapeTypeChecker({top:PropTypes.number,left:PropTypes.number,bottom:PropTypes.number,right:PropTypes.number});module.exports=EdgeInsetsPropType;

/***/ }),

/***/ "./node_modules/react-native/Libraries/StyleSheet/LayoutPropTypes.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactPropTypes=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js").PropTypes;var LayoutPropTypes={width:ReactPropTypes.number,height:ReactPropTypes.number,top:ReactPropTypes.number,left:ReactPropTypes.number,right:ReactPropTypes.number,bottom:ReactPropTypes.number,minWidth:ReactPropTypes.number,maxWidth:ReactPropTypes.number,minHeight:ReactPropTypes.number,maxHeight:ReactPropTypes.number,margin:ReactPropTypes.number,marginVertical:ReactPropTypes.number,marginHorizontal:ReactPropTypes.number,marginTop:ReactPropTypes.number,marginBottom:ReactPropTypes.number,marginLeft:ReactPropTypes.number,marginRight:ReactPropTypes.number,padding:ReactPropTypes.number,paddingVertical:ReactPropTypes.number,paddingHorizontal:ReactPropTypes.number,paddingTop:ReactPropTypes.number,paddingBottom:ReactPropTypes.number,paddingLeft:ReactPropTypes.number,paddingRight:ReactPropTypes.number,borderWidth:ReactPropTypes.number,borderTopWidth:ReactPropTypes.number,borderRightWidth:ReactPropTypes.number,borderBottomWidth:ReactPropTypes.number,borderLeftWidth:ReactPropTypes.number,position:ReactPropTypes.oneOf(['absolute','relative']),flexDirection:ReactPropTypes.oneOf(['row','row-reverse','column','column-reverse']),flexWrap:ReactPropTypes.oneOf(['wrap','nowrap']),justifyContent:ReactPropTypes.oneOf(['flex-start','flex-end','center','space-between','space-around']),alignItems:ReactPropTypes.oneOf(['flex-start','flex-end','center','stretch']),alignSelf:ReactPropTypes.oneOf(['auto','flex-start','flex-end','center','stretch']),overflow:ReactPropTypes.oneOf(['visible','hidden','scroll']),flex:ReactPropTypes.number,flexGrow:ReactPropTypes.number,flexShrink:ReactPropTypes.number,flexBasis:ReactPropTypes.number,aspectRatio:ReactPropTypes.number,zIndex:ReactPropTypes.number};module.exports=LayoutPropTypes;

/***/ }),

/***/ "./node_modules/react-native/Libraries/StyleSheet/PointPropType.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var PropTypes=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js").PropTypes;var createStrictShapeTypeChecker=__webpack_require__("./node_modules/react-native/Libraries/Utilities/createStrictShapeTypeChecker.js");var PointPropType=createStrictShapeTypeChecker({x:PropTypes.number,y:PropTypes.number});module.exports=PointPropType;

/***/ }),

/***/ "./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var PixelRatio=__webpack_require__("./node_modules/react-native/Libraries/Utilities/PixelRatio.js");var ReactNativePropRegistry=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativePropRegistry.js");var ReactNativeStyleAttributes=__webpack_require__("./node_modules/react-native/Libraries/Components/View/ReactNativeStyleAttributes.js");var StyleSheetValidation=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheetValidation.js");var flatten=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/flattenStyle.js");var hairlineWidth=PixelRatio.roundToNearestPixel(0.4);if(hairlineWidth===0){hairlineWidth=1/PixelRatio.get();}var absoluteFillObject={position:'absolute',left:0,right:0,top:0,bottom:0};var absoluteFill=ReactNativePropRegistry.register(absoluteFillObject);module.exports={hairlineWidth:hairlineWidth,absoluteFill:absoluteFill,absoluteFillObject:absoluteFillObject,flatten:flatten,setStyleAttributePreprocessor:function setStyleAttributePreprocessor(property,process){var value=void 0;if(typeof ReactNativeStyleAttributes[property]==='string'){value={};}else if(typeof ReactNativeStyleAttributes[property]==='object'){value=ReactNativeStyleAttributes[property];}else{console.error(property+' is not a valid style attribute');return;}if(false){console.warn('Overwriting '+property+' style attribute preprocessor');}ReactNativeStyleAttributes[property]=_extends({},value,{process:process});},create:function create(obj){var result={};for(var key in obj){StyleSheetValidation.validateStyle(key,obj);result[key]=ReactNativePropRegistry.register(obj[key]);}return result;}};

/***/ }),

/***/ "./node_modules/react-native/Libraries/StyleSheet/StyleSheetPropType.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var createStrictShapeTypeChecker=__webpack_require__("./node_modules/react-native/Libraries/Utilities/createStrictShapeTypeChecker.js");var flattenStyle=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/flattenStyle.js");function StyleSheetPropType(shape){var shapePropType=createStrictShapeTypeChecker(shape);return function(props,propName,componentName,location){var newProps=props;if(props[propName]){newProps={};newProps[propName]=flattenStyle(props[propName]);}return shapePropType(newProps,propName,componentName,location);};}module.exports=StyleSheetPropType;

/***/ }),

/***/ "./node_modules/react-native/Libraries/StyleSheet/StyleSheetValidation.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var ImageStylePropTypes=__webpack_require__("./node_modules/react-native/Libraries/Image/ImageStylePropTypes.js");var ReactPropTypeLocations=__webpack_require__("./node_modules/react/lib/ReactPropTypeLocations.js");var ReactPropTypesSecret=__webpack_require__("./node_modules/react/lib/ReactPropTypesSecret.js");var TextStylePropTypes=__webpack_require__("./node_modules/react-native/Libraries/Text/TextStylePropTypes.js");var ViewStylePropTypes=__webpack_require__("./node_modules/react-native/Libraries/Components/View/ViewStylePropTypes.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var StyleSheetValidation=function(){function StyleSheetValidation(){_classCallCheck(this,StyleSheetValidation);}_createClass(StyleSheetValidation,null,[{key:'validateStyleProp',value:function validateStyleProp(prop,style,caller){if(true){return;}if(allStylePropTypes[prop]===undefined){var message1='"'+prop+'" is not a valid style property.';var message2='\nValid style props: '+JSON.stringify(Object.keys(allStylePropTypes).sort(),null,'  ');styleError(message1,style,caller,message2);}var error=allStylePropTypes[prop](style,prop,caller,ReactPropTypeLocations.prop,null,ReactPropTypesSecret);if(error){styleError(error.message,style,caller);}}},{key:'validateStyle',value:function validateStyle(name,styles){if(true){return;}for(var prop in styles[name]){StyleSheetValidation.validateStyleProp(prop,styles[name],'StyleSheet '+name);}}},{key:'addValidStylePropTypes',value:function addValidStylePropTypes(stylePropTypes){for(var key in stylePropTypes){allStylePropTypes[key]=stylePropTypes[key];}}}]);return StyleSheetValidation;}();var styleError=function styleError(message1,style,caller,message2){invariant(false,message1+'\n'+(caller||'<<unknown>>')+': '+JSON.stringify(style,null,'  ')+(message2||''));};var allStylePropTypes={};StyleSheetValidation.addValidStylePropTypes(ImageStylePropTypes);StyleSheetValidation.addValidStylePropTypes(TextStylePropTypes);StyleSheetValidation.addValidStylePropTypes(ViewStylePropTypes);module.exports=StyleSheetValidation;

/***/ }),

/***/ "./node_modules/react-native/Libraries/StyleSheet/TransformPropTypes.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var deprecatedPropType=__webpack_require__("./node_modules/react-native/Libraries/Utilities/deprecatedPropType.js");var ReactPropTypes=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js").PropTypes;var TransformMatrixPropType=function TransformMatrixPropType(props,propName,componentName){if(props[propName]){return new Error('The transformMatrix style property is deprecated. '+'Use `transform: [{ matrix: ... }]` instead.');}};var DecomposedMatrixPropType=function DecomposedMatrixPropType(props,propName,componentName){if(props[propName]){return new Error('The decomposedMatrix style property is deprecated. '+'Use `transform: [...]` instead.');}};var TransformPropTypes={transform:ReactPropTypes.arrayOf(ReactPropTypes.oneOfType([ReactPropTypes.shape({perspective:ReactPropTypes.number}),ReactPropTypes.shape({rotate:ReactPropTypes.string}),ReactPropTypes.shape({rotateX:ReactPropTypes.string}),ReactPropTypes.shape({rotateY:ReactPropTypes.string}),ReactPropTypes.shape({rotateZ:ReactPropTypes.string}),ReactPropTypes.shape({scale:ReactPropTypes.number}),ReactPropTypes.shape({scaleX:ReactPropTypes.number}),ReactPropTypes.shape({scaleY:ReactPropTypes.number}),ReactPropTypes.shape({translateX:ReactPropTypes.number}),ReactPropTypes.shape({translateY:ReactPropTypes.number}),ReactPropTypes.shape({skewX:ReactPropTypes.string}),ReactPropTypes.shape({skewY:ReactPropTypes.string})])),transformMatrix:TransformMatrixPropType,decomposedMatrix:DecomposedMatrixPropType,scaleX:deprecatedPropType(ReactPropTypes.number,'Use the transform prop instead.'),scaleY:deprecatedPropType(ReactPropTypes.number,'Use the transform prop instead.'),rotation:deprecatedPropType(ReactPropTypes.number,'Use the transform prop instead.'),translateX:deprecatedPropType(ReactPropTypes.number,'Use the transform prop instead.'),translateY:deprecatedPropType(ReactPropTypes.number,'Use the transform prop instead.')};module.exports=TransformPropTypes;

/***/ }),

/***/ "./node_modules/react-native/Libraries/StyleSheet/flattenStyle.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactNativePropRegistry=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativePropRegistry.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");function getStyle(style){if(typeof style==='number'){return ReactNativePropRegistry.getByID(style);}return style;}function flattenStyle(style){if(!style){return undefined;}invariant(style!==true,'style may be false but not true');if(!Array.isArray(style)){return getStyle(style);}var result={};for(var i=0,styleLength=style.length;i<styleLength;++i){var computedStyle=flattenStyle(style[i]);if(computedStyle){for(var key in computedStyle){result[key]=computedStyle[key];}}}return result;}module.exports=flattenStyle;

/***/ }),

/***/ "./node_modules/react-native/Libraries/StyleSheet/normalizeColor.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
function normalizeColor(color){var match;if(typeof color==='number'){if(color>>>0===color&&color>=0&&color<=0xffffffff){return color;}return null;}if(match=matchers.hex6.exec(color)){return parseInt(match[1]+'ff',16)>>>0;}if(names.hasOwnProperty(color)){return names[color];}if(match=matchers.rgb.exec(color)){return(parse255(match[1])<<24|parse255(match[2])<<16|parse255(match[3])<<8|0x000000ff)>>>0;}if(match=matchers.rgba.exec(color)){return(parse255(match[1])<<24|parse255(match[2])<<16|parse255(match[3])<<8|parse1(match[4]))>>>0;}if(match=matchers.hex3.exec(color)){return parseInt(match[1]+match[1]+match[2]+match[2]+match[3]+match[3]+'ff',16)>>>0;}if(match=matchers.hex8.exec(color)){return parseInt(match[1],16)>>>0;}if(match=matchers.hex4.exec(color)){return parseInt(match[1]+match[1]+match[2]+match[2]+match[3]+match[3]+match[4]+match[4],16)>>>0;}if(match=matchers.hsl.exec(color)){return(hslToRgb(parse360(match[1]),parsePercentage(match[2]),parsePercentage(match[3]))|0x000000ff)>>>0;}if(match=matchers.hsla.exec(color)){return(hslToRgb(parse360(match[1]),parsePercentage(match[2]),parsePercentage(match[3]))|parse1(match[4]))>>>0;}return null;}function hue2rgb(p,q,t){if(t<0){t+=1;}if(t>1){t-=1;}if(t<1/6){return p+(q-p)*6*t;}if(t<1/2){return q;}if(t<2/3){return p+(q-p)*(2/3-t)*6;}return p;}function hslToRgb(h,s,l){var q=l<0.5?l*(1+s):l+s-l*s;var p=2*l-q;var r=hue2rgb(p,q,h+1/3);var g=hue2rgb(p,q,h);var b=hue2rgb(p,q,h-1/3);return Math.round(r*255)<<24|Math.round(g*255)<<16|Math.round(b*255)<<8;}var NUMBER='[-+]?\\d*\\.?\\d+';var PERCENTAGE=NUMBER+'%';function call(){for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return'\\(\\s*('+args.join(')\\s*,\\s*(')+')\\s*\\)';}var matchers={rgb:new RegExp('rgb'+call(NUMBER,NUMBER,NUMBER)),rgba:new RegExp('rgba'+call(NUMBER,NUMBER,NUMBER,NUMBER)),hsl:new RegExp('hsl'+call(NUMBER,PERCENTAGE,PERCENTAGE)),hsla:new RegExp('hsla'+call(NUMBER,PERCENTAGE,PERCENTAGE,NUMBER)),hex3:/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex4:/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#([0-9a-fA-F]{6})$/,hex8:/^#([0-9a-fA-F]{8})$/};function parse255(str){var int=parseInt(str,10);if(int<0){return 0;}if(int>255){return 255;}return int;}function parse360(str){var int=parseFloat(str);return(int%360+360)%360/360;}function parse1(str){var num=parseFloat(str);if(num<0){return 0;}if(num>1){return 255;}return Math.round(num*255);}function parsePercentage(str){var int=parseFloat(str,10);if(int<0){return 0;}if(int>100){return 1;}return int/100;}var names={transparent:0x00000000,aliceblue:0xf0f8ffff,antiquewhite:0xfaebd7ff,aqua:0x00ffffff,aquamarine:0x7fffd4ff,azure:0xf0ffffff,beige:0xf5f5dcff,bisque:0xffe4c4ff,black:0x000000ff,blanchedalmond:0xffebcdff,blue:0x0000ffff,blueviolet:0x8a2be2ff,brown:0xa52a2aff,burlywood:0xdeb887ff,burntsienna:0xea7e5dff,cadetblue:0x5f9ea0ff,chartreuse:0x7fff00ff,chocolate:0xd2691eff,coral:0xff7f50ff,cornflowerblue:0x6495edff,cornsilk:0xfff8dcff,crimson:0xdc143cff,cyan:0x00ffffff,darkblue:0x00008bff,darkcyan:0x008b8bff,darkgoldenrod:0xb8860bff,darkgray:0xa9a9a9ff,darkgreen:0x006400ff,darkgrey:0xa9a9a9ff,darkkhaki:0xbdb76bff,darkmagenta:0x8b008bff,darkolivegreen:0x556b2fff,darkorange:0xff8c00ff,darkorchid:0x9932ccff,darkred:0x8b0000ff,darksalmon:0xe9967aff,darkseagreen:0x8fbc8fff,darkslateblue:0x483d8bff,darkslategray:0x2f4f4fff,darkslategrey:0x2f4f4fff,darkturquoise:0x00ced1ff,darkviolet:0x9400d3ff,deeppink:0xff1493ff,deepskyblue:0x00bfffff,dimgray:0x696969ff,dimgrey:0x696969ff,dodgerblue:0x1e90ffff,firebrick:0xb22222ff,floralwhite:0xfffaf0ff,forestgreen:0x228b22ff,fuchsia:0xff00ffff,gainsboro:0xdcdcdcff,ghostwhite:0xf8f8ffff,gold:0xffd700ff,goldenrod:0xdaa520ff,gray:0x808080ff,green:0x008000ff,greenyellow:0xadff2fff,grey:0x808080ff,honeydew:0xf0fff0ff,hotpink:0xff69b4ff,indianred:0xcd5c5cff,indigo:0x4b0082ff,ivory:0xfffff0ff,khaki:0xf0e68cff,lavender:0xe6e6faff,lavenderblush:0xfff0f5ff,lawngreen:0x7cfc00ff,lemonchiffon:0xfffacdff,lightblue:0xadd8e6ff,lightcoral:0xf08080ff,lightcyan:0xe0ffffff,lightgoldenrodyellow:0xfafad2ff,lightgray:0xd3d3d3ff,lightgreen:0x90ee90ff,lightgrey:0xd3d3d3ff,lightpink:0xffb6c1ff,lightsalmon:0xffa07aff,lightseagreen:0x20b2aaff,lightskyblue:0x87cefaff,lightslategray:0x778899ff,lightslategrey:0x778899ff,lightsteelblue:0xb0c4deff,lightyellow:0xffffe0ff,lime:0x00ff00ff,limegreen:0x32cd32ff,linen:0xfaf0e6ff,magenta:0xff00ffff,maroon:0x800000ff,mediumaquamarine:0x66cdaaff,mediumblue:0x0000cdff,mediumorchid:0xba55d3ff,mediumpurple:0x9370dbff,mediumseagreen:0x3cb371ff,mediumslateblue:0x7b68eeff,mediumspringgreen:0x00fa9aff,mediumturquoise:0x48d1ccff,mediumvioletred:0xc71585ff,midnightblue:0x191970ff,mintcream:0xf5fffaff,mistyrose:0xffe4e1ff,moccasin:0xffe4b5ff,navajowhite:0xffdeadff,navy:0x000080ff,oldlace:0xfdf5e6ff,olive:0x808000ff,olivedrab:0x6b8e23ff,orange:0xffa500ff,orangered:0xff4500ff,orchid:0xda70d6ff,palegoldenrod:0xeee8aaff,palegreen:0x98fb98ff,paleturquoise:0xafeeeeff,palevioletred:0xdb7093ff,papayawhip:0xffefd5ff,peachpuff:0xffdab9ff,peru:0xcd853fff,pink:0xffc0cbff,plum:0xdda0ddff,powderblue:0xb0e0e6ff,purple:0x800080ff,rebeccapurple:0x663399ff,red:0xff0000ff,rosybrown:0xbc8f8fff,royalblue:0x4169e1ff,saddlebrown:0x8b4513ff,salmon:0xfa8072ff,sandybrown:0xf4a460ff,seagreen:0x2e8b57ff,seashell:0xfff5eeff,sienna:0xa0522dff,silver:0xc0c0c0ff,skyblue:0x87ceebff,slateblue:0x6a5acdff,slategray:0x708090ff,slategrey:0x708090ff,snow:0xfffafaff,springgreen:0x00ff7fff,steelblue:0x4682b4ff,tan:0xd2b48cff,teal:0x008080ff,thistle:0xd8bfd8ff,tomato:0xff6347ff,turquoise:0x40e0d0ff,violet:0xee82eeff,wheat:0xf5deb3ff,white:0xffffffff,whitesmoke:0xf5f5f5ff,yellow:0xffff00ff,yellowgreen:0x9acd32ff};module.exports=normalizeColor;

/***/ }),

/***/ "./node_modules/react-native/Libraries/StyleSheet/processColor.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var normalizeColor=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/normalizeColor.js");function processColor(color){if(color===undefined||color===null){return color;}var int32Color=normalizeColor(color);if(int32Color===null){return undefined;}int32Color=(int32Color<<24|int32Color>>>8)>>>0;if(Platform.OS==='android'){int32Color=int32Color|0x0;}return int32Color;}module.exports=processColor;

/***/ }),

/***/ "./node_modules/react-native/Libraries/StyleSheet/processTransform.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var MatrixMath=__webpack_require__("./node_modules/react-native/Libraries/Utilities/MatrixMath.js");var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var stringifySafe=__webpack_require__("./node_modules/react-native/Libraries/Utilities/stringifySafe.js");function processTransform(transform){if(false){_validateTransforms(transform);}if(Platform.OS==='android'){return transform;}var result=MatrixMath.createIdentityMatrix();transform.forEach(function(transformation){var key=Object.keys(transformation)[0];var value=transformation[key];switch(key){case'matrix':MatrixMath.multiplyInto(result,result,value);break;case'perspective':_multiplyTransform(result,MatrixMath.reusePerspectiveCommand,[value]);break;case'rotateX':_multiplyTransform(result,MatrixMath.reuseRotateXCommand,[_convertToRadians(value)]);break;case'rotateY':_multiplyTransform(result,MatrixMath.reuseRotateYCommand,[_convertToRadians(value)]);break;case'rotate':case'rotateZ':_multiplyTransform(result,MatrixMath.reuseRotateZCommand,[_convertToRadians(value)]);break;case'scale':_multiplyTransform(result,MatrixMath.reuseScaleCommand,[value]);break;case'scaleX':_multiplyTransform(result,MatrixMath.reuseScaleXCommand,[value]);break;case'scaleY':_multiplyTransform(result,MatrixMath.reuseScaleYCommand,[value]);break;case'translate':_multiplyTransform(result,MatrixMath.reuseTranslate3dCommand,[value[0],value[1],value[2]||0]);break;case'translateX':_multiplyTransform(result,MatrixMath.reuseTranslate2dCommand,[value,0]);break;case'translateY':_multiplyTransform(result,MatrixMath.reuseTranslate2dCommand,[0,value]);break;case'skewX':_multiplyTransform(result,MatrixMath.reuseSkewXCommand,[_convertToRadians(value)]);break;case'skewY':_multiplyTransform(result,MatrixMath.reuseSkewYCommand,[_convertToRadians(value)]);break;default:throw new Error('Invalid transform name: '+key);}});return result;}function _multiplyTransform(result,matrixMathFunction,args){var matrixToApply=MatrixMath.createIdentityMatrix();var argsWithIdentity=[matrixToApply].concat(args);matrixMathFunction.apply(this,argsWithIdentity);MatrixMath.multiplyInto(result,result,matrixToApply);}function _convertToRadians(value){var floatValue=parseFloat(value,10);return value.indexOf('rad')>-1?floatValue:floatValue*Math.PI/180;}function _validateTransforms(transform){transform.forEach(function(transformation){var key=Object.keys(transformation)[0];var value=transformation[key];_validateTransform(key,value,transformation);});}function _validateTransform(key,value,transformation){invariant(!value.getValue,'You passed an Animated.Value to a normal component. '+'You need to wrap that component in an Animated. For example, '+'replace <View /> by <Animated.View />.');var multivalueTransforms=['matrix','translate'];if(multivalueTransforms.indexOf(key)!==-1){invariant(Array.isArray(value),'Transform with key of %s must have an array as the value: %s',key,stringifySafe(transformation));}switch(key){case'matrix':invariant(value.length===9||value.length===16,'Matrix transform must have a length of 9 (2d) or 16 (3d). '+'Provided matrix has a length of %s: %s',value.length,stringifySafe(transformation));break;case'translate':break;case'rotateX':case'rotateY':case'rotateZ':case'rotate':case'skewX':case'skewY':invariant(typeof value==='string','Transform with key of "%s" must be a string: %s',key,stringifySafe(transformation));invariant(value.indexOf('deg')>-1||value.indexOf('rad')>-1,'Rotate transform must be expressed in degrees (deg) or radians '+'(rad): %s',stringifySafe(transformation));break;case'perspective':invariant(typeof value==='number','Transform with key of "%s" must be a number: %s',key,stringifySafe(transformation));invariant(value!==0,'Transform with key of "%s" cannot be zero: %s',key,stringifySafe(transformation));break;default:invariant(typeof value==='number','Transform with key of "%s" must be a number: %s',key,stringifySafe(transformation));}}module.exports=processTransform;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Text/Text.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _jsxFileName='/Users/naoufal/dev/personal/react-native-payments/packages/react-native-payments/examples/native/node_modules/react-native/Libraries/Text/Text.js';var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var EdgeInsetsPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/EdgeInsetsPropType.js");var NativeMethodsMixin=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/NativeMethodsMixin.js");var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var React=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js");var ReactNativeViewAttributes=__webpack_require__("./node_modules/react-native/Libraries/Components/View/ReactNativeViewAttributes.js");var StyleSheetPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheetPropType.js");var TextStylePropTypes=__webpack_require__("./node_modules/react-native/Libraries/Text/TextStylePropTypes.js");var Touchable=__webpack_require__("./node_modules/react-native/Libraries/Components/Touchable/Touchable.js");var createReactNativeComponentClass=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/createReactNativeComponentClass.js");var mergeFast=__webpack_require__("./node_modules/react-native/Libraries/Utilities/mergeFast.js");var stylePropType=StyleSheetPropType(TextStylePropTypes);var viewConfig={validAttributes:mergeFast(ReactNativeViewAttributes.UIView,{isHighlighted:true,numberOfLines:true,ellipsizeMode:true,allowFontScaling:true,selectable:true,adjustsFontSizeToFit:true,minimumFontScale:true,textBreakStrategy:true}),uiViewClassName:'RCTText'};var Text=React.createClass({displayName:'Text',propTypes:{ellipsizeMode:React.PropTypes.oneOf(['head','middle','tail','clip']),numberOfLines:React.PropTypes.number,textBreakStrategy:React.PropTypes.oneOf(['simple','highQuality','balanced']),onLayout:React.PropTypes.func,onPress:React.PropTypes.func,onLongPress:React.PropTypes.func,pressRetentionOffset:EdgeInsetsPropType,selectable:React.PropTypes.bool,suppressHighlighting:React.PropTypes.bool,style:stylePropType,testID:React.PropTypes.string,allowFontScaling:React.PropTypes.bool,accessible:React.PropTypes.bool,adjustsFontSizeToFit:React.PropTypes.bool,minimumFontScale:React.PropTypes.number},getDefaultProps:function getDefaultProps(){return{accessible:true,allowFontScaling:true,ellipsizeMode:'tail'};},getInitialState:function getInitialState(){return mergeFast(Touchable.Mixin.touchableGetInitialState(),{isHighlighted:false});},mixins:[NativeMethodsMixin],viewConfig:viewConfig,getChildContext:function getChildContext(){return{isInAParentText:true};},childContextTypes:{isInAParentText:React.PropTypes.bool},contextTypes:{isInAParentText:React.PropTypes.bool},_handlers:null,_hasPressHandler:function _hasPressHandler(){return!!this.props.onPress||!!this.props.onLongPress;},touchableHandleActivePressIn:null,touchableHandleActivePressOut:null,touchableHandlePress:null,touchableHandleLongPress:null,touchableGetPressRectOffset:null,render:function render(){var _this=this;var newProps=this.props;if(this.props.onStartShouldSetResponder||this._hasPressHandler()){if(!this._handlers){this._handlers={onStartShouldSetResponder:function onStartShouldSetResponder(){var shouldSetFromProps=_this.props.onStartShouldSetResponder&&_this.props.onStartShouldSetResponder();var setResponder=shouldSetFromProps||_this._hasPressHandler();if(setResponder&&!_this.touchableHandleActivePressIn){for(var key in Touchable.Mixin){if(typeof Touchable.Mixin[key]==='function'){_this[key]=Touchable.Mixin[key].bind(_this);}}_this.touchableHandleActivePressIn=function(){if(_this.props.suppressHighlighting||!_this._hasPressHandler()){return;}_this.setState({isHighlighted:true});};_this.touchableHandleActivePressOut=function(){if(_this.props.suppressHighlighting||!_this._hasPressHandler()){return;}_this.setState({isHighlighted:false});};_this.touchableHandlePress=function(e){_this.props.onPress&&_this.props.onPress(e);};_this.touchableHandleLongPress=function(e){_this.props.onLongPress&&_this.props.onLongPress(e);};_this.touchableGetPressRectOffset=function(){return this.props.pressRetentionOffset||PRESS_RECT_OFFSET;};}return setResponder;},onResponderGrant:function(e,dispatchID){this.touchableHandleResponderGrant(e,dispatchID);this.props.onResponderGrant&&this.props.onResponderGrant.apply(this,arguments);}.bind(this),onResponderMove:function(e){this.touchableHandleResponderMove(e);this.props.onResponderMove&&this.props.onResponderMove.apply(this,arguments);}.bind(this),onResponderRelease:function(e){this.touchableHandleResponderRelease(e);this.props.onResponderRelease&&this.props.onResponderRelease.apply(this,arguments);}.bind(this),onResponderTerminate:function(e){this.touchableHandleResponderTerminate(e);this.props.onResponderTerminate&&this.props.onResponderTerminate.apply(this,arguments);}.bind(this),onResponderTerminationRequest:function(){var allowTermination=this.touchableHandleResponderTerminationRequest();if(allowTermination&&this.props.onResponderTerminationRequest){allowTermination=this.props.onResponderTerminationRequest.apply(this,arguments);}return allowTermination;}.bind(this)};}newProps=_extends({},this.props,this._handlers,{isHighlighted:this.state.isHighlighted});}if(Touchable.TOUCH_TARGET_DEBUG&&newProps.onPress){newProps=_extends({},newProps,{style:[this.props.style,{color:'magenta'}]});}if(this.context.isInAParentText){return React.createElement(RCTVirtualText,_extends({},newProps,{__source:{fileName:_jsxFileName,lineNumber:327}}));}else{return React.createElement(RCTText,_extends({},newProps,{__source:{fileName:_jsxFileName,lineNumber:329}}));}}});var PRESS_RECT_OFFSET={top:20,left:20,right:20,bottom:30};var RCTText=createReactNativeComponentClass(viewConfig);var RCTVirtualText=RCTText;if(Platform.OS==='android'){RCTVirtualText=createReactNativeComponentClass({validAttributes:mergeFast(ReactNativeViewAttributes.UIView,{isHighlighted:true}),uiViewClassName:'RCTVirtualText'});}module.exports=Text;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Text/TextStylePropTypes.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var ReactPropTypes=__webpack_require__("./node_modules/react-native/Libraries/react-native/React.js").PropTypes;var ColorPropType=__webpack_require__("./node_modules/react-native/Libraries/StyleSheet/ColorPropType.js");var ViewStylePropTypes=__webpack_require__("./node_modules/react-native/Libraries/Components/View/ViewStylePropTypes.js");var TextStylePropTypes=_extends({},ViewStylePropTypes,{color:ColorPropType,fontFamily:ReactPropTypes.string,fontSize:ReactPropTypes.number,fontStyle:ReactPropTypes.oneOf(['normal','italic']),fontWeight:ReactPropTypes.oneOf(['normal','bold','100','200','300','400','500','600','700','800','900']),fontVariant:ReactPropTypes.arrayOf(ReactPropTypes.oneOf(['small-caps','oldstyle-nums','lining-nums','tabular-nums','proportional-nums'])),textShadowOffset:ReactPropTypes.shape({width:ReactPropTypes.number,height:ReactPropTypes.number}),textShadowRadius:ReactPropTypes.number,textShadowColor:ColorPropType,letterSpacing:ReactPropTypes.number,lineHeight:ReactPropTypes.number,textAlign:ReactPropTypes.oneOf(['auto','left','right','center','justify']),textAlignVertical:ReactPropTypes.oneOf(['auto','top','bottom','center']),includeFontPadding:ReactPropTypes.bool,textDecorationLine:ReactPropTypes.oneOf(['none','underline','line-through','underline line-through']),textDecorationStyle:ReactPropTypes.oneOf(['solid','double','dotted','dashed']),textDecorationColor:ColorPropType,writingDirection:ReactPropTypes.oneOf(['auto','ltr','rtl'])});module.exports=TextStylePropTypes;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Utilities/BackAndroid.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
function emptyFunction(){}var BackAndroid={exitApp:emptyFunction,addEventListener:function addEventListener(){return{remove:emptyFunction};},removeEventListener:emptyFunction};module.exports=BackAndroid;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Utilities/Dimensions.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var UIManager=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/UIManager.js");var RCTDeviceEventEmitter=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/RCTDeviceEventEmitter.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var dimensions={};var Dimensions=function(){function Dimensions(){_classCallCheck(this,Dimensions);}_createClass(Dimensions,null,[{key:'set',value:function set(dims){if(dims&&dims.windowPhysicalPixels){dims=JSON.parse(JSON.stringify(dims));var windowPhysicalPixels=dims.windowPhysicalPixels;dims.window={width:windowPhysicalPixels.width/windowPhysicalPixels.scale,height:windowPhysicalPixels.height/windowPhysicalPixels.scale,scale:windowPhysicalPixels.scale,fontScale:windowPhysicalPixels.fontScale};if(Platform.OS==='android'){var screenPhysicalPixels=dims.screenPhysicalPixels;dims.screen={width:screenPhysicalPixels.width/screenPhysicalPixels.scale,height:screenPhysicalPixels.height/screenPhysicalPixels.scale,scale:screenPhysicalPixels.scale,fontScale:screenPhysicalPixels.fontScale};delete dims.screenPhysicalPixels;}else{dims.screen=dims.window;}delete dims.windowPhysicalPixels;}_extends(dimensions,dims);}},{key:'get',value:function get(dim){invariant(dimensions[dim],'No dimension set for key '+dim);return dimensions[dim];}}]);return Dimensions;}();Dimensions.set(UIManager.Dimensions);RCTDeviceEventEmitter.addListener('didUpdateDimensions',function(update){Dimensions.set(update);});module.exports=Dimensions;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Utilities/HeapCapture.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(global) {var HeapCapture={captureHeap:function captureHeap(path){var error=null;try{global.nativeCaptureHeap(path);console.log('HeapCapture.captureHeap succeeded: '+path);}catch(e){console.log('HeapCapture.captureHeap error: '+e.toString());error=e.toString();}__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").JSCHeapCapture.captureComplete(path,error);}};module.exports=HeapCapture;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/webpack/buildin/global.js")))

/***/ }),

/***/ "./node_modules/react-native/Libraries/Utilities/MatrixMath.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _slicedToArray=function(){function sliceIterator(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[typeof Symbol==='function'?Symbol.iterator:'@@iterator'](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"])_i["return"]();}finally{if(_d)throw _e;}}return _arr;}return function(arr,i){if(Array.isArray(arr)){return arr;}else if((typeof Symbol==='function'?Symbol.iterator:'@@iterator')in Object(arr)){return sliceIterator(arr,i);}else{throw new TypeError("Invalid attempt to destructure non-iterable instance");}};}();var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var MatrixMath={createIdentityMatrix:function createIdentityMatrix(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];},createCopy:function createCopy(m){return[m[0],m[1],m[2],m[3],m[4],m[5],m[6],m[7],m[8],m[9],m[10],m[11],m[12],m[13],m[14],m[15]];},createOrthographic:function createOrthographic(left,right,bottom,top,near,far){var a=2/(right-left);var b=2/(top-bottom);var c=-2/(far-near);var tx=-(right+left)/(right-left);var ty=-(top+bottom)/(top-bottom);var tz=-(far+near)/(far-near);return[a,0,0,0,0,b,0,0,0,0,c,0,tx,ty,tz,1];},createFrustum:function createFrustum(left,right,bottom,top,near,far){var r_width=1/(right-left);var r_height=1/(top-bottom);var r_depth=1/(near-far);var x=2*(near*r_width);var y=2*(near*r_height);var A=(right+left)*r_width;var B=(top+bottom)*r_height;var C=(far+near)*r_depth;var D=2*(far*near*r_depth);return[x,0,0,0,0,y,0,0,A,B,C,-1,0,0,D,0];},createPerspective:function createPerspective(fovInRadians,aspect,near,far){var h=1/Math.tan(fovInRadians/2);var r_depth=1/(near-far);var C=(far+near)*r_depth;var D=2*(far*near*r_depth);return[h/aspect,0,0,0,0,h,0,0,0,0,C,-1,0,0,D,0];},createTranslate2d:function createTranslate2d(x,y){var mat=MatrixMath.createIdentityMatrix();MatrixMath.reuseTranslate2dCommand(mat,x,y);return mat;},reuseTranslate2dCommand:function reuseTranslate2dCommand(matrixCommand,x,y){matrixCommand[12]=x;matrixCommand[13]=y;},reuseTranslate3dCommand:function reuseTranslate3dCommand(matrixCommand,x,y,z){matrixCommand[12]=x;matrixCommand[13]=y;matrixCommand[14]=z;},createScale:function createScale(factor){var mat=MatrixMath.createIdentityMatrix();MatrixMath.reuseScaleCommand(mat,factor);return mat;},reuseScaleCommand:function reuseScaleCommand(matrixCommand,factor){matrixCommand[0]=factor;matrixCommand[5]=factor;},reuseScale3dCommand:function reuseScale3dCommand(matrixCommand,x,y,z){matrixCommand[0]=x;matrixCommand[5]=y;matrixCommand[10]=z;},reusePerspectiveCommand:function reusePerspectiveCommand(matrixCommand,p){matrixCommand[11]=-1/p;},reuseScaleXCommand:function reuseScaleXCommand(matrixCommand,factor){matrixCommand[0]=factor;},reuseScaleYCommand:function reuseScaleYCommand(matrixCommand,factor){matrixCommand[5]=factor;},reuseScaleZCommand:function reuseScaleZCommand(matrixCommand,factor){matrixCommand[10]=factor;},reuseRotateXCommand:function reuseRotateXCommand(matrixCommand,radians){matrixCommand[5]=Math.cos(radians);matrixCommand[6]=Math.sin(radians);matrixCommand[9]=-Math.sin(radians);matrixCommand[10]=Math.cos(radians);},reuseRotateYCommand:function reuseRotateYCommand(matrixCommand,amount){matrixCommand[0]=Math.cos(amount);matrixCommand[2]=-Math.sin(amount);matrixCommand[8]=Math.sin(amount);matrixCommand[10]=Math.cos(amount);},reuseRotateZCommand:function reuseRotateZCommand(matrixCommand,radians){matrixCommand[0]=Math.cos(radians);matrixCommand[1]=Math.sin(radians);matrixCommand[4]=-Math.sin(radians);matrixCommand[5]=Math.cos(radians);},createRotateZ:function createRotateZ(radians){var mat=MatrixMath.createIdentityMatrix();MatrixMath.reuseRotateZCommand(mat,radians);return mat;},reuseSkewXCommand:function reuseSkewXCommand(matrixCommand,radians){matrixCommand[4]=Math.sin(radians);matrixCommand[5]=Math.cos(radians);},reuseSkewYCommand:function reuseSkewYCommand(matrixCommand,radians){matrixCommand[0]=Math.cos(radians);matrixCommand[1]=Math.sin(radians);},multiplyInto:function multiplyInto(out,a,b){var a00=a[0],a01=a[1],a02=a[2],a03=a[3],a10=a[4],a11=a[5],a12=a[6],a13=a[7],a20=a[8],a21=a[9],a22=a[10],a23=a[11],a30=a[12],a31=a[13],a32=a[14],a33=a[15];var b0=b[0],b1=b[1],b2=b[2],b3=b[3];out[0]=b0*a00+b1*a10+b2*a20+b3*a30;out[1]=b0*a01+b1*a11+b2*a21+b3*a31;out[2]=b0*a02+b1*a12+b2*a22+b3*a32;out[3]=b0*a03+b1*a13+b2*a23+b3*a33;b0=b[4];b1=b[5];b2=b[6];b3=b[7];out[4]=b0*a00+b1*a10+b2*a20+b3*a30;out[5]=b0*a01+b1*a11+b2*a21+b3*a31;out[6]=b0*a02+b1*a12+b2*a22+b3*a32;out[7]=b0*a03+b1*a13+b2*a23+b3*a33;b0=b[8];b1=b[9];b2=b[10];b3=b[11];out[8]=b0*a00+b1*a10+b2*a20+b3*a30;out[9]=b0*a01+b1*a11+b2*a21+b3*a31;out[10]=b0*a02+b1*a12+b2*a22+b3*a32;out[11]=b0*a03+b1*a13+b2*a23+b3*a33;b0=b[12];b1=b[13];b2=b[14];b3=b[15];out[12]=b0*a00+b1*a10+b2*a20+b3*a30;out[13]=b0*a01+b1*a11+b2*a21+b3*a31;out[14]=b0*a02+b1*a12+b2*a22+b3*a32;out[15]=b0*a03+b1*a13+b2*a23+b3*a33;},determinant:function determinant(matrix){var _matrix=_slicedToArray(matrix,16),m00=_matrix[0],m01=_matrix[1],m02=_matrix[2],m03=_matrix[3],m10=_matrix[4],m11=_matrix[5],m12=_matrix[6],m13=_matrix[7],m20=_matrix[8],m21=_matrix[9],m22=_matrix[10],m23=_matrix[11],m30=_matrix[12],m31=_matrix[13],m32=_matrix[14],m33=_matrix[15];return m03*m12*m21*m30-m02*m13*m21*m30-m03*m11*m22*m30+m01*m13*m22*m30+m02*m11*m23*m30-m01*m12*m23*m30-m03*m12*m20*m31+m02*m13*m20*m31+m03*m10*m22*m31-m00*m13*m22*m31-m02*m10*m23*m31+m00*m12*m23*m31+m03*m11*m20*m32-m01*m13*m20*m32-m03*m10*m21*m32+m00*m13*m21*m32+m01*m10*m23*m32-m00*m11*m23*m32-m02*m11*m20*m33+m01*m12*m20*m33+m02*m10*m21*m33-m00*m12*m21*m33-m01*m10*m22*m33+m00*m11*m22*m33;},inverse:function inverse(matrix){var det=MatrixMath.determinant(matrix);if(!det){return matrix;}var _matrix2=_slicedToArray(matrix,16),m00=_matrix2[0],m01=_matrix2[1],m02=_matrix2[2],m03=_matrix2[3],m10=_matrix2[4],m11=_matrix2[5],m12=_matrix2[6],m13=_matrix2[7],m20=_matrix2[8],m21=_matrix2[9],m22=_matrix2[10],m23=_matrix2[11],m30=_matrix2[12],m31=_matrix2[13],m32=_matrix2[14],m33=_matrix2[15];return[(m12*m23*m31-m13*m22*m31+m13*m21*m32-m11*m23*m32-m12*m21*m33+m11*m22*m33)/det,(m03*m22*m31-m02*m23*m31-m03*m21*m32+m01*m23*m32+m02*m21*m33-m01*m22*m33)/det,(m02*m13*m31-m03*m12*m31+m03*m11*m32-m01*m13*m32-m02*m11*m33+m01*m12*m33)/det,(m03*m12*m21-m02*m13*m21-m03*m11*m22+m01*m13*m22+m02*m11*m23-m01*m12*m23)/det,(m13*m22*m30-m12*m23*m30-m13*m20*m32+m10*m23*m32+m12*m20*m33-m10*m22*m33)/det,(m02*m23*m30-m03*m22*m30+m03*m20*m32-m00*m23*m32-m02*m20*m33+m00*m22*m33)/det,(m03*m12*m30-m02*m13*m30-m03*m10*m32+m00*m13*m32+m02*m10*m33-m00*m12*m33)/det,(m02*m13*m20-m03*m12*m20+m03*m10*m22-m00*m13*m22-m02*m10*m23+m00*m12*m23)/det,(m11*m23*m30-m13*m21*m30+m13*m20*m31-m10*m23*m31-m11*m20*m33+m10*m21*m33)/det,(m03*m21*m30-m01*m23*m30-m03*m20*m31+m00*m23*m31+m01*m20*m33-m00*m21*m33)/det,(m01*m13*m30-m03*m11*m30+m03*m10*m31-m00*m13*m31-m01*m10*m33+m00*m11*m33)/det,(m03*m11*m20-m01*m13*m20-m03*m10*m21+m00*m13*m21+m01*m10*m23-m00*m11*m23)/det,(m12*m21*m30-m11*m22*m30-m12*m20*m31+m10*m22*m31+m11*m20*m32-m10*m21*m32)/det,(m01*m22*m30-m02*m21*m30+m02*m20*m31-m00*m22*m31-m01*m20*m32+m00*m21*m32)/det,(m02*m11*m30-m01*m12*m30-m02*m10*m31+m00*m12*m31+m01*m10*m32-m00*m11*m32)/det,(m01*m12*m20-m02*m11*m20+m02*m10*m21-m00*m12*m21-m01*m10*m22+m00*m11*m22)/det];},transpose:function transpose(m){return[m[0],m[4],m[8],m[12],m[1],m[5],m[9],m[13],m[2],m[6],m[10],m[14],m[3],m[7],m[11],m[15]];},multiplyVectorByMatrix:function multiplyVectorByMatrix(v,m){var _v=_slicedToArray(v,4),vx=_v[0],vy=_v[1],vz=_v[2],vw=_v[3];return[vx*m[0]+vy*m[4]+vz*m[8]+vw*m[12],vx*m[1]+vy*m[5]+vz*m[9]+vw*m[13],vx*m[2]+vy*m[6]+vz*m[10]+vw*m[14],vx*m[3]+vy*m[7]+vz*m[11]+vw*m[15]];},v3Length:function v3Length(a){return Math.sqrt(a[0]*a[0]+a[1]*a[1]+a[2]*a[2]);},v3Normalize:function v3Normalize(vector,v3Length){var im=1/(v3Length||MatrixMath.v3Length(vector));return[vector[0]*im,vector[1]*im,vector[2]*im];},v3Dot:function v3Dot(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2];},v3Combine:function v3Combine(a,b,aScale,bScale){return[aScale*a[0]+bScale*b[0],aScale*a[1]+bScale*b[1],aScale*a[2]+bScale*b[2]];},v3Cross:function v3Cross(a,b){return[a[1]*b[2]-a[2]*b[1],a[2]*b[0]-a[0]*b[2],a[0]*b[1]-a[1]*b[0]];},quaternionToDegreesXYZ:function quaternionToDegreesXYZ(q,matrix,row){var _q=_slicedToArray(q,4),qx=_q[0],qy=_q[1],qz=_q[2],qw=_q[3];var qw2=qw*qw;var qx2=qx*qx;var qy2=qy*qy;var qz2=qz*qz;var test=qx*qy+qz*qw;var unit=qw2+qx2+qy2+qz2;var conv=180/Math.PI;if(test>0.49999*unit){return[0,2*Math.atan2(qx,qw)*conv,90];}if(test<-0.49999*unit){return[0,-2*Math.atan2(qx,qw)*conv,-90];}return[MatrixMath.roundTo3Places(Math.atan2(2*qx*qw-2*qy*qz,1-2*qx2-2*qz2)*conv),MatrixMath.roundTo3Places(Math.atan2(2*qy*qw-2*qx*qz,1-2*qy2-2*qz2)*conv),MatrixMath.roundTo3Places(Math.asin(2*qx*qy+2*qz*qw)*conv)];},roundTo3Places:function roundTo3Places(n){var arr=n.toString().split('e');return Math.round(arr[0]+'e'+(arr[1]?+arr[1]-3:3))*0.001;},decomposeMatrix:function decomposeMatrix(transformMatrix){invariant(transformMatrix.length===16,'Matrix decomposition needs a list of 3d matrix values, received %s',transformMatrix);var perspective=[];var quaternion=[];var scale=[];var skew=[];var translation=[];if(!transformMatrix[15]){return;}var matrix=[];var perspectiveMatrix=[];for(var i=0;i<4;i++){matrix.push([]);for(var j=0;j<4;j++){var value=transformMatrix[i*4+j]/transformMatrix[15];matrix[i].push(value);perspectiveMatrix.push(j===3?0:value);}}perspectiveMatrix[15]=1;if(!MatrixMath.determinant(perspectiveMatrix)){return;}if(matrix[0][3]!==0||matrix[1][3]!==0||matrix[2][3]!==0){var rightHandSide=[matrix[0][3],matrix[1][3],matrix[2][3],matrix[3][3]];var inversePerspectiveMatrix=MatrixMath.inverse(perspectiveMatrix);var transposedInversePerspectiveMatrix=MatrixMath.transpose(inversePerspectiveMatrix);var perspective=MatrixMath.multiplyVectorByMatrix(rightHandSide,transposedInversePerspectiveMatrix);}else{perspective[0]=perspective[1]=perspective[2]=0;perspective[3]=1;}for(var i=0;i<3;i++){translation[i]=matrix[3][i];}var row=[];for(i=0;i<3;i++){row[i]=[matrix[i][0],matrix[i][1],matrix[i][2]];}scale[0]=MatrixMath.v3Length(row[0]);row[0]=MatrixMath.v3Normalize(row[0],scale[0]);skew[0]=MatrixMath.v3Dot(row[0],row[1]);row[1]=MatrixMath.v3Combine(row[1],row[0],1.0,-skew[0]);skew[0]=MatrixMath.v3Dot(row[0],row[1]);row[1]=MatrixMath.v3Combine(row[1],row[0],1.0,-skew[0]);scale[1]=MatrixMath.v3Length(row[1]);row[1]=MatrixMath.v3Normalize(row[1],scale[1]);skew[0]/=scale[1];skew[1]=MatrixMath.v3Dot(row[0],row[2]);row[2]=MatrixMath.v3Combine(row[2],row[0],1.0,-skew[1]);skew[2]=MatrixMath.v3Dot(row[1],row[2]);row[2]=MatrixMath.v3Combine(row[2],row[1],1.0,-skew[2]);scale[2]=MatrixMath.v3Length(row[2]);row[2]=MatrixMath.v3Normalize(row[2],scale[2]);skew[1]/=scale[2];skew[2]/=scale[2];var pdum3=MatrixMath.v3Cross(row[1],row[2]);if(MatrixMath.v3Dot(row[0],pdum3)<0){for(i=0;i<3;i++){scale[i]*=-1;row[i][0]*=-1;row[i][1]*=-1;row[i][2]*=-1;}}quaternion[0]=0.5*Math.sqrt(Math.max(1+row[0][0]-row[1][1]-row[2][2],0));quaternion[1]=0.5*Math.sqrt(Math.max(1-row[0][0]+row[1][1]-row[2][2],0));quaternion[2]=0.5*Math.sqrt(Math.max(1-row[0][0]-row[1][1]+row[2][2],0));quaternion[3]=0.5*Math.sqrt(Math.max(1+row[0][0]+row[1][1]+row[2][2],0));if(row[2][1]>row[1][2]){quaternion[0]=-quaternion[0];}if(row[0][2]>row[2][0]){quaternion[1]=-quaternion[1];}if(row[1][0]>row[0][1]){quaternion[2]=-quaternion[2];}var rotationDegrees;if(quaternion[0]<0.001&&quaternion[0]>=0&&quaternion[1]<0.001&&quaternion[1]>=0){rotationDegrees=[0,0,MatrixMath.roundTo3Places(Math.atan2(row[0][1],row[0][0])*180/Math.PI)];}else{rotationDegrees=MatrixMath.quaternionToDegreesXYZ(quaternion,matrix,row);}return{rotationDegrees:rotationDegrees,perspective:perspective,quaternion:quaternion,scale:scale,skew:skew,translation:translation,rotate:rotationDegrees[2],rotateX:rotationDegrees[0],rotateY:rotationDegrees[1],scaleX:scale[0],scaleY:scale[1],translateX:translation[0],translateY:translation[1]};}};module.exports=MatrixMath;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Utilities/PerformanceLogger.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(global) {var BatchedBridge=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/BatchedBridge.js");var performanceNow=global.nativePerformanceNow||__webpack_require__("./node_modules/fbjs/lib/performanceNow.js");var timespans={};var extras={};var PerformanceLogger={addTimespan:function addTimespan(key,lengthInMs,description){if(timespans[key]){if(false){console.log('PerformanceLogger: Attempting to add a timespan that already exists ',key);}return;}timespans[key]={description:description,totalTime:lengthInMs};},startTimespan:function startTimespan(key,description){if(timespans[key]){if(false){console.log('PerformanceLogger: Attempting to start a timespan that already exists ',key);}return;}timespans[key]={description:description,startTime:performanceNow()};},stopTimespan:function stopTimespan(key){if(!timespans[key]||!timespans[key].startTime){if(false){console.log('PerformanceLogger: Attempting to end a timespan that has not started ',key);}return;}if(timespans[key].endTime){if(false){console.log('PerformanceLogger: Attempting to end a timespan that has already ended ',key);}return;}timespans[key].endTime=performanceNow();timespans[key].totalTime=timespans[key].endTime-timespans[key].startTime;},clear:function clear(){timespans={};extras={};},clearExceptTimespans:function clearExceptTimespans(keys){timespans=Object.keys(timespans).reduce(function(previous,key){if(keys.indexOf(key)!==-1){previous[key]=timespans[key];}return previous;},{});extras={};},getTimespans:function getTimespans(){return timespans;},hasTimespan:function hasTimespan(key){return!!timespans[key];},logTimespans:function logTimespans(){for(var key in timespans){if(timespans[key].totalTime){console.log(key+': '+timespans[key].totalTime+'ms');}}},addTimespans:function addTimespans(newTimespans,labels){for(var i=0,l=newTimespans.length;i<l;i+=2){var label=labels[i/2];PerformanceLogger.addTimespan(label,newTimespans[i+1]-newTimespans[i],label);}},setExtra:function setExtra(key,value){if(extras[key]){if(false){console.log('PerformanceLogger: Attempting to set an extra that already exists ',key);}return;}extras[key]=value;},getExtras:function getExtras(){return extras;}};BatchedBridge.registerCallableModule('PerformanceLogger',PerformanceLogger);module.exports=PerformanceLogger;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/webpack/buildin/global.js")))

/***/ }),

/***/ "./node_modules/react-native/Libraries/Utilities/PixelRatio.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var Dimensions=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Dimensions.js");var PixelRatio=function(){function PixelRatio(){_classCallCheck(this,PixelRatio);}_createClass(PixelRatio,null,[{key:'get',value:function get(){return Dimensions.get('window').scale;}},{key:'getFontScale',value:function getFontScale(){return Dimensions.get('window').fontScale||PixelRatio.get();}},{key:'getPixelSizeForLayoutSize',value:function getPixelSizeForLayoutSize(layoutSize){return Math.round(layoutSize*PixelRatio.get());}},{key:'roundToNearestPixel',value:function roundToNearestPixel(layoutSize){var ratio=PixelRatio.get();return Math.round(layoutSize*ratio)/ratio;}},{key:'startDetecting',value:function startDetecting(){}}]);return PixelRatio;}();module.exports=PixelRatio;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Utilities/Platform.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var Platform={OS:'ios',get Version(){var constants=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").IOSConstants;return constants?constants.osVersion:'';},get isTVOS(){var constants=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").IOSConstants;return constants?constants.interfaceIdiom==='tv':false;},select:function select(obj){return obj.ios;}};module.exports=Platform;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Utilities/RCTLog.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(global) {var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var BatchedBridge=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/BatchedBridge.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var levelsMap={log:'log',info:'info',warn:'warn',error:'error',fatal:'error'};var RCTLog=function(){function RCTLog(){_classCallCheck(this,RCTLog);}_createClass(RCTLog,null,[{key:'logIfNoNativeHook',value:function logIfNoNativeHook(){var args=Array.prototype.slice.call(arguments);var level=args.shift();var logFn=levelsMap[level];invariant(logFn,'Level "'+level+'" not one of '+Object.keys(levelsMap));if(typeof global.nativeLoggingHook==='undefined'){console[logFn].apply(console,args);}return true;}}]);return RCTLog;}();BatchedBridge.registerCallableModule('RCTLog',RCTLog);module.exports=RCTLog;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/webpack/buildin/global.js")))

/***/ }),

/***/ "./node_modules/react-native/Libraries/Utilities/buildStyleInterpolator.js":
/***/ (function(module, exports, __webpack_require__) {

var keyOf=__webpack_require__("./node_modules/fbjs/lib/keyOf.js");var X_DIM=keyOf({x:null});var Y_DIM=keyOf({y:null});var Z_DIM=keyOf({z:null});var W_DIM=keyOf({w:null});var TRANSFORM_ROTATE_NAME=keyOf({transformRotateRadians:null});var ShouldAllocateReusableOperationVars={transformRotateRadians:true,transformScale:true,transformTranslate:true};var InitialOperationField={transformRotateRadians:[0,0,0,1],transformTranslate:[0,0,0],transformScale:[1,1,1]};var ARGUMENT_NAMES_RE=/([^\s,]+)/g;var inline=function inline(fnStr,replaceWithArgs){var parameterNames=fnStr.slice(fnStr.indexOf('(')+1,fnStr.indexOf(')')).match(ARGUMENT_NAMES_RE)||[];var replaceRegexStr=parameterNames.map(function(paramName){return'\\b'+paramName+'\\b';}).join('|');var replaceRegex=new RegExp(replaceRegexStr,'g');var fnBody=fnStr.substring(fnStr.indexOf('{')+1,fnStr.lastIndexOf('}'));var newFnBody=fnBody.replace(replaceRegex,function(parameterName){var indexInParameterNames=parameterNames.indexOf(parameterName);var replacementName=replaceWithArgs[indexInParameterNames];return replacementName;});return newFnBody.split('\n');};var MatrixOps={unroll:'function(matVar, m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15) {\n    m0 = matVar[0];\n    m1 = matVar[1];\n    m2 = matVar[2];\n    m3 = matVar[3];\n    m4 = matVar[4];\n    m5 = matVar[5];\n    m6 = matVar[6];\n    m7 = matVar[7];\n    m8 = matVar[8];\n    m9 = matVar[9];\n    m10 = matVar[10];\n    m11 = matVar[11];\n    m12 = matVar[12];\n    m13 = matVar[13];\n    m14 = matVar[14];\n    m15 = matVar[15];\n  }',matrixDiffers:'function(retVar, matVar, m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15) {\n    retVar = retVar ||\n    m0 !== matVar[0] ||\n    m1 !== matVar[1] ||\n    m2 !== matVar[2] ||\n    m3 !== matVar[3] ||\n    m4 !== matVar[4] ||\n    m5 !== matVar[5] ||\n    m6 !== matVar[6] ||\n    m7 !== matVar[7] ||\n    m8 !== matVar[8] ||\n    m9 !== matVar[9] ||\n    m10 !== matVar[10] ||\n    m11 !== matVar[11] ||\n    m12 !== matVar[12] ||\n    m13 !== matVar[13] ||\n    m14 !== matVar[14] ||\n    m15 !== matVar[15];\n  }',transformScale:'function(matVar, opVar) {\n    // Scaling matVar by opVar\n    var x = opVar[0];\n    var y = opVar[1];\n    var z = opVar[2];\n    matVar[0] = matVar[0] * x;\n    matVar[1] = matVar[1] * x;\n    matVar[2] = matVar[2] * x;\n    matVar[3] = matVar[3] * x;\n    matVar[4] = matVar[4] * y;\n    matVar[5] = matVar[5] * y;\n    matVar[6] = matVar[6] * y;\n    matVar[7] = matVar[7] * y;\n    matVar[8] = matVar[8] * z;\n    matVar[9] = matVar[9] * z;\n    matVar[10] = matVar[10] * z;\n    matVar[11] = matVar[11] * z;\n    matVar[12] = matVar[12];\n    matVar[13] = matVar[13];\n    matVar[14] = matVar[14];\n    matVar[15] = matVar[15];\n  }',transformTranslate:'function(matVar, opVar) {\n    // Translating matVar by opVar\n    var x = opVar[0];\n    var y = opVar[1];\n    var z = opVar[2];\n    matVar[12] = matVar[0] * x + matVar[4] * y + matVar[8] * z + matVar[12];\n    matVar[13] = matVar[1] * x + matVar[5] * y + matVar[9] * z + matVar[13];\n    matVar[14] = matVar[2] * x + matVar[6] * y + matVar[10] * z + matVar[14];\n    matVar[15] = matVar[3] * x + matVar[7] * y + matVar[11] * z + matVar[15];\n  }',transformRotateRadians:'function(matVar, q) {\n    // Rotating matVar by q\n    var xQuat = q[0], yQuat = q[1], zQuat = q[2], wQuat = q[3];\n    var x2Quat = xQuat + xQuat;\n    var y2Quat = yQuat + yQuat;\n    var z2Quat = zQuat + zQuat;\n    var xxQuat = xQuat * x2Quat;\n    var xyQuat = xQuat * y2Quat;\n    var xzQuat = xQuat * z2Quat;\n    var yyQuat = yQuat * y2Quat;\n    var yzQuat = yQuat * z2Quat;\n    var zzQuat = zQuat * z2Quat;\n    var wxQuat = wQuat * x2Quat;\n    var wyQuat = wQuat * y2Quat;\n    var wzQuat = wQuat * z2Quat;\n    // Step 1: Inlines the construction of a quaternion matrix (\'quatMat\')\n    var quatMat0 = 1 - (yyQuat + zzQuat);\n    var quatMat1 = xyQuat + wzQuat;\n    var quatMat2 = xzQuat - wyQuat;\n    var quatMat4 = xyQuat - wzQuat;\n    var quatMat5 = 1 - (xxQuat + zzQuat);\n    var quatMat6 = yzQuat + wxQuat;\n    var quatMat8 = xzQuat + wyQuat;\n    var quatMat9 = yzQuat - wxQuat;\n    var quatMat10 = 1 - (xxQuat + yyQuat);\n    // quatMat3/7/11/12/13/14 = 0, quatMat15 = 1\n\n    // Step 2: Inlines multiplication, takes advantage of constant quatMat cells\n    var a00 = matVar[0];\n    var a01 = matVar[1];\n    var a02 = matVar[2];\n    var a03 = matVar[3];\n    var a10 = matVar[4];\n    var a11 = matVar[5];\n    var a12 = matVar[6];\n    var a13 = matVar[7];\n    var a20 = matVar[8];\n    var a21 = matVar[9];\n    var a22 = matVar[10];\n    var a23 = matVar[11];\n\n    var b0  = quatMat0, b1 = quatMat1, b2 = quatMat2;\n    matVar[0] = b0 * a00 + b1 * a10 + b2 * a20;\n    matVar[1] = b0 * a01 + b1 * a11 + b2 * a21;\n    matVar[2] = b0 * a02 + b1 * a12 + b2 * a22;\n    matVar[3] = b0 * a03 + b1 * a13 + b2 * a23;\n    b0 = quatMat4; b1 = quatMat5; b2 = quatMat6;\n    matVar[4] = b0 * a00 + b1 * a10 + b2 * a20;\n    matVar[5] = b0 * a01 + b1 * a11 + b2 * a21;\n    matVar[6] = b0 * a02 + b1 * a12 + b2 * a22;\n    matVar[7] = b0 * a03 + b1 * a13 + b2 * a23;\n    b0 = quatMat8; b1 = quatMat9; b2 = quatMat10;\n    matVar[8] = b0 * a00 + b1 * a10 + b2 * a20;\n    matVar[9] = b0 * a01 + b1 * a11 + b2 * a21;\n    matVar[10] = b0 * a02 + b1 * a12 + b2 * a22;\n    matVar[11] = b0 * a03 + b1 * a13 + b2 * a23;\n  }'};var MatrixOpsInitial={transformScale:'function(matVar, opVar) {\n    // Scaling matVar known to be identity by opVar\n    matVar[0] = opVar[0];\n    matVar[1] = 0;\n    matVar[2] = 0;\n    matVar[3] = 0;\n    matVar[4] = 0;\n    matVar[5] = opVar[1];\n    matVar[6] = 0;\n    matVar[7] = 0;\n    matVar[8] = 0;\n    matVar[9] = 0;\n    matVar[10] = opVar[2];\n    matVar[11] = 0;\n    matVar[12] = 0;\n    matVar[13] = 0;\n    matVar[14] = 0;\n    matVar[15] = 1;\n  }',transformTranslate:'function(matVar, opVar) {\n    // Translating matVar known to be identity by opVar;\n    matVar[0] = 1;\n    matVar[1] = 0;\n    matVar[2] = 0;\n    matVar[3] = 0;\n    matVar[4] = 0;\n    matVar[5] = 1;\n    matVar[6] = 0;\n    matVar[7] = 0;\n    matVar[8] = 0;\n    matVar[9] = 0;\n    matVar[10] = 1;\n    matVar[11] = 0;\n    matVar[12] = opVar[0];\n    matVar[13] = opVar[1];\n    matVar[14] = opVar[2];\n    matVar[15] = 1;\n  }',transformRotateRadians:'function(matVar, q) {\n\n    // Rotating matVar which is known to be identity by q\n    var xQuat = q[0], yQuat = q[1], zQuat = q[2], wQuat = q[3];\n    var x2Quat = xQuat + xQuat;\n    var y2Quat = yQuat + yQuat;\n    var z2Quat = zQuat + zQuat;\n    var xxQuat = xQuat * x2Quat;\n    var xyQuat = xQuat * y2Quat;\n    var xzQuat = xQuat * z2Quat;\n    var yyQuat = yQuat * y2Quat;\n    var yzQuat = yQuat * z2Quat;\n    var zzQuat = zQuat * z2Quat;\n    var wxQuat = wQuat * x2Quat;\n    var wyQuat = wQuat * y2Quat;\n    var wzQuat = wQuat * z2Quat;\n    // Step 1: Inlines the construction of a quaternion matrix (\'quatMat\')\n    var quatMat0 = 1 - (yyQuat + zzQuat);\n    var quatMat1 = xyQuat + wzQuat;\n    var quatMat2 = xzQuat - wyQuat;\n    var quatMat4 = xyQuat - wzQuat;\n    var quatMat5 = 1 - (xxQuat + zzQuat);\n    var quatMat6 = yzQuat + wxQuat;\n    var quatMat8 = xzQuat + wyQuat;\n    var quatMat9 = yzQuat - wxQuat;\n    var quatMat10 = 1 - (xxQuat + yyQuat);\n    // quatMat3/7/11/12/13/14 = 0, quatMat15 = 1\n\n    // Step 2: Inlines the multiplication with identity matrix.\n    var b0  = quatMat0, b1 = quatMat1, b2 = quatMat2;\n    matVar[0] = b0;\n    matVar[1] = b1;\n    matVar[2] = b2;\n    matVar[3] = 0;\n    b0 = quatMat4; b1 = quatMat5; b2 = quatMat6;\n    matVar[4] = b0;\n    matVar[5] = b1;\n    matVar[6] = b2;\n    matVar[7] = 0;\n    b0 = quatMat8; b1 = quatMat9; b2 = quatMat10;\n    matVar[8] = b0;\n    matVar[9] = b1;\n    matVar[10] = b2;\n    matVar[11] = 0;\n    matVar[12] = 0;\n    matVar[13] = 0;\n    matVar[14] = 0;\n    matVar[15] = 1;\n  }'};var setNextValAndDetectChange=function setNextValAndDetectChange(name,tmpVarName){return'  if (!didChange) {\n'+'    var prevVal = result.'+name+';\n'+'    result.'+name+' = '+tmpVarName+';\n'+'    didChange = didChange  || ('+tmpVarName+' !== prevVal);\n'+'  } else {\n'+'    result.'+name+' = '+tmpVarName+';\n'+'  }\n';};var computeNextValLinear=function computeNextValLinear(anim,from,to,tmpVarName){var hasRoundRatio='round'in anim;var roundRatio=anim.round;var fn='  ratio = (value - '+anim.min+') / '+(anim.max-anim.min)+';\n';if(!anim.extrapolate){fn+='  ratio = ratio > 1 ? 1 : (ratio < 0 ? 0 : ratio);\n';}var roundOpen=hasRoundRatio?'Math.round('+roundRatio+' * ':'';var roundClose=hasRoundRatio?') / '+roundRatio:'';fn+='  '+tmpVarName+' = '+roundOpen+'('+from+' * (1 - ratio) + '+to+' * ratio)'+roundClose+';\n';return fn;};var computeNextValLinearScalar=function computeNextValLinearScalar(anim){return computeNextValLinear(anim,anim.from,anim.to,'nextScalarVal');};var computeNextValConstant=function computeNextValConstant(anim){var constantExpression=JSON.stringify(anim.value);return'  nextScalarVal = '+constantExpression+';\n';};var computeNextValStep=function computeNextValStep(anim){return'  nextScalarVal = value >= '+(anim.threshold+' ? '+anim.to+' : '+anim.from)+';\n';};var computeNextValIdentity=function computeNextValIdentity(anim){return'  nextScalarVal = value;\n';};var operationVar=function operationVar(name){return name+'ReuseOp';};var createReusableOperationVars=function createReusableOperationVars(anims){var ret='';for(var name in anims){if(ShouldAllocateReusableOperationVars[name]){ret+='var '+operationVar(name)+' = [];\n';}}return ret;};var newlines=function newlines(statements){return'\n'+statements.join('\n')+'\n';};var computeNextMatrixOperationField=function computeNextMatrixOperationField(anim,name,dimension,index){var fieldAccess=operationVar(name)+'['+index+']';if(anim.from[dimension]!==undefined&&anim.to[dimension]!==undefined){return'  '+anim.from[dimension]!==anim.to[dimension]?computeNextValLinear(anim,anim.from[dimension],anim.to[dimension],fieldAccess):fieldAccess+' = '+anim.from[dimension]+';';}else{return'  '+fieldAccess+' = '+InitialOperationField[name][index]+';';}};var unrolledVars=[];for(var varIndex=0;varIndex<16;varIndex++){unrolledVars.push('m'+varIndex);}var setNextMatrixAndDetectChange=function setNextMatrixAndDetectChange(orderedMatrixOperations){var fn=['  var transform = result.transform !== undefined ? '+'result.transform : (result.transform = [{ matrix: [] }]);'+'  var transformMatrix = transform[0].matrix;'];fn.push.apply(fn,inline(MatrixOps.unroll,['transformMatrix'].concat(unrolledVars)));for(var i=0;i<orderedMatrixOperations.length;i++){var opName=orderedMatrixOperations[i];if(i===0){fn.push.apply(fn,inline(MatrixOpsInitial[opName],['transformMatrix',operationVar(opName)]));}else{fn.push.apply(fn,inline(MatrixOps[opName],['transformMatrix',operationVar(opName)]));}}fn.push.apply(fn,inline(MatrixOps.matrixDiffers,['didChange','transformMatrix'].concat(unrolledVars)));return fn;};var InterpolateMatrix={transformTranslate:true,transformRotateRadians:true,transformScale:true};var createFunctionString=function createFunctionString(anims){var orderedMatrixOperations=[];var fn='return (function() {\n';fn+=createReusableOperationVars(anims);fn+='return function(result, value) {\n';fn+='  var didChange = false;\n';fn+='  var nextScalarVal;\n';fn+='  var ratio;\n';for(var name in anims){var anim=anims[name];if(anim.type==='linear'){if(InterpolateMatrix[name]){orderedMatrixOperations.push(name);var setOperations=[computeNextMatrixOperationField(anim,name,X_DIM,0),computeNextMatrixOperationField(anim,name,Y_DIM,1),computeNextMatrixOperationField(anim,name,Z_DIM,2)];if(name===TRANSFORM_ROTATE_NAME){setOperations.push(computeNextMatrixOperationField(anim,name,W_DIM,3));}fn+=newlines(setOperations);}else{fn+=computeNextValLinearScalar(anim,'nextScalarVal');fn+=setNextValAndDetectChange(name,'nextScalarVal');}}else if(anim.type==='constant'){fn+=computeNextValConstant(anim);fn+=setNextValAndDetectChange(name,'nextScalarVal');}else if(anim.type==='step'){fn+=computeNextValStep(anim);fn+=setNextValAndDetectChange(name,'nextScalarVal');}else if(anim.type==='identity'){fn+=computeNextValIdentity(anim);fn+=setNextValAndDetectChange(name,'nextScalarVal');}}if(orderedMatrixOperations.length){fn+=newlines(setNextMatrixAndDetectChange(orderedMatrixOperations));}fn+='  return didChange;\n';fn+='};\n';fn+='})()';return fn;};var buildStyleInterpolator=function buildStyleInterpolator(anims){var interpolator=null;function lazyStyleInterpolator(result,value){if(interpolator===null){interpolator=Function(createFunctionString(anims))();}return interpolator(result,value);}return lazyStyleInterpolator;};module.exports=buildStyleInterpolator;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Utilities/clamp.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
function clamp(min,value,max){if(value<min){return min;}if(value>max){return max;}return value;}module.exports=clamp;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Utilities/createStrictShapeTypeChecker.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactPropTypeLocationNames=__webpack_require__("./node_modules/react/lib/ReactPropTypeLocationNames.js");var ReactPropTypesSecret=__webpack_require__("./node_modules/react/lib/ReactPropTypesSecret.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var merge=__webpack_require__("./node_modules/react-native/Libraries/vendor/core/merge.js");function createStrictShapeTypeChecker(shapeTypes){function checkType(isRequired,props,propName,componentName,location){if(!props[propName]){if(isRequired){invariant(false,'Required object `'+propName+'` was not specified in '+('`'+componentName+'`.'));}return;}var propValue=props[propName];var propType=typeof propValue;var locationName=location&&ReactPropTypeLocationNames[location]||'(unknown)';if(propType!=='object'){invariant(false,'Invalid '+locationName+' `'+propName+'` of type `'+propType+'` '+('supplied to `'+componentName+'`, expected `object`.'));}var allKeys=merge(props[propName],shapeTypes);for(var key in allKeys){var checker=shapeTypes[key];if(!checker){invariant(false,'Invalid props.'+propName+' key `'+key+'` supplied to `'+componentName+'`.'+'\nBad object: '+JSON.stringify(props[propName],null,'  ')+'\nValid keys: '+JSON.stringify(Object.keys(shapeTypes),null,'  '));}var error=checker(propValue,key,componentName,location,null,ReactPropTypesSecret);if(error){invariant(false,error.message+'\nBad object: '+JSON.stringify(props[propName],null,'  '));}}}function chainedCheckType(props,propName,componentName,location){return checkType(false,props,propName,componentName,location);}chainedCheckType.isRequired=checkType.bind(null,true);return chainedCheckType;}module.exports=createStrictShapeTypeChecker;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
function deepFreezeAndThrowOnMutationInDev(object){if(false){if(typeof object!=='object'||object===null||Object.isFrozen(object)||Object.isSealed(object)){return;}for(var key in object){if(object.hasOwnProperty(key)){object.__defineGetter__(key,identity.bind(null,object[key]));object.__defineSetter__(key,throwOnImmutableMutation.bind(null,key));}}Object.freeze(object);Object.seal(object);for(var key in object){if(object.hasOwnProperty(key)){deepFreezeAndThrowOnMutationInDev(object[key]);}}}}function throwOnImmutableMutation(key,value){throw Error('You attempted to set the key `'+key+'` with the value `'+JSON.stringify(value)+'` on an object that is meant to be immutable '+'and has been frozen.');}function identity(value){return value;}module.exports=deepFreezeAndThrowOnMutationInDev;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Utilities/defineLazyObjectProperty.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
function defineLazyObjectProperty(object,name,descriptor){var get=descriptor.get;var enumerable=descriptor.enumerable!==false;var writable=descriptor.writable!==false;var value=void 0;var valueSet=false;function getValue(){if(!valueSet){setValue(get());}return value;}function setValue(newValue){value=newValue;valueSet=true;Object.defineProperty(object,name,{value:newValue,configurable:true,enumerable:enumerable,writable:writable});}Object.defineProperty(object,name,{get:getValue,set:setValue,configurable:true,enumerable:enumerable});}module.exports=defineLazyObjectProperty;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Utilities/deprecatedPropType.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var UIManager=__webpack_require__("./node_modules/react-native/Libraries/ReactNative/UIManager.js");var ReactPropTypesSecret=__webpack_require__("./node_modules/react/lib/ReactPropTypesSecret.js");var ReactPropTypeLocations=__webpack_require__("./node_modules/react/lib/ReactPropTypeLocations.js");function deprecatedPropType(propType,explanation){return function validate(props,propName,componentName){if(!UIManager[componentName]&&props[propName]!==undefined){console.warn('`'+propName+'` supplied to `'+componentName+'` has been deprecated. '+explanation);}return propType(props,propName,componentName,ReactPropTypeLocations.prop,null,ReactPropTypesSecret);};}module.exports=deprecatedPropType;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Utilities/differ/deepDiffer.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var deepDiffer=function deepDiffer(one,two){if(one===two){return false;}if(typeof one==='function'&&typeof two==='function'){return false;}if(typeof one!=='object'||one===null){return one!==two;}if(typeof two!=='object'||two===null){return true;}if(one.constructor!==two.constructor){return true;}if(Array.isArray(one)){var len=one.length;if(two.length!==len){return true;}for(var ii=0;ii<len;ii++){if(deepDiffer(one[ii],two[ii])){return true;}}}else{for(var key in one){if(deepDiffer(one[key],two[key])){return true;}}for(var twoKey in two){if(one[twoKey]===undefined&&two[twoKey]!==undefined){return true;}}}return false;};module.exports=deepDiffer;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Utilities/differ/insetsDiffer.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var dummyInsets={top:undefined,left:undefined,right:undefined,bottom:undefined};var insetsDiffer=function insetsDiffer(one,two){one=one||dummyInsets;two=two||dummyInsets;return one!==two&&(one.top!==two.top||one.left!==two.left||one.right!==two.right||one.bottom!==two.bottom);};module.exports=insetsDiffer;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Utilities/differ/matricesDiffer.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var matricesDiffer=function matricesDiffer(one,two){if(one===two){return false;}return!one||!two||one[12]!==two[12]||one[13]!==two[13]||one[14]!==two[14]||one[5]!==two[5]||one[10]!==two[10]||one[1]!==two[1]||one[2]!==two[2]||one[3]!==two[3]||one[4]!==two[4]||one[6]!==two[6]||one[7]!==two[7]||one[8]!==two[8]||one[9]!==two[9]||one[11]!==two[11]||one[15]!==two[15];};module.exports=matricesDiffer;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Utilities/differ/pointsDiffer.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var dummyPoint={x:undefined,y:undefined};var pointsDiffer=function pointsDiffer(one,two){one=one||dummyPoint;two=two||dummyPoint;return one!==two&&(one.x!==two.x||one.y!==two.y);};module.exports=pointsDiffer;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Utilities/differ/sizesDiffer.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var dummySize={width:undefined,height:undefined};var sizesDiffer=function sizesDiffer(one,two){one=one||dummySize;two=two||dummySize;return one!==two&&(one.width!==two.width||one.height!==two.height);};module.exports=sizesDiffer;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Utilities/dismissKeyboard.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var TextInputState=__webpack_require__("./node_modules/react-native/Libraries/Components/TextInput/TextInputState.js");function dismissKeyboard(){TextInputState.blurTextInput(TextInputState.currentlyFocusedField());}module.exports=dismissKeyboard;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Utilities/infoLog.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
function infoLog(){var _console;return(_console=console).log.apply(_console,arguments);}module.exports=infoLog;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Utilities/logError.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var logError=function logError(){if(arguments.length===1&&arguments[0]instanceof Error){var err=arguments[0];console.error('Error: "'+err.message+'".  Stack:\n'+err.stack);}else{console.error.apply(console,arguments);}};module.exports=logError;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Utilities/mergeFast.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var mergeFast=function mergeFast(one,two){var ret={};for(var keyOne in one){ret[keyOne]=one[keyOne];}for(var keyTwo in two){ret[keyTwo]=two[keyTwo];}return ret;};module.exports=mergeFast;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Utilities/stringifySafe.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
function stringifySafe(arg){var ret;var type=typeof arg;if(arg===undefined){ret='undefined';}else if(arg===null){ret='null';}else if(type==='string'){ret='"'+arg+'"';}else if(type==='function'){try{ret=arg.toString();}catch(e){ret='[function unknown]';}}else{try{ret=JSON.stringify(arg);}catch(e){if(typeof arg.toString==='function'){try{ret=arg.toString();}catch(E){}}}}return ret||'["'+type+'" failed to stringify]';}module.exports=stringifySafe;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Vibration/Vibration.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var RCTVibration=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").Vibration;var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var _vibrating=false;var _id=0;function vibrateByPattern(pattern){var repeat=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(_vibrating){return;}_vibrating=true;if(pattern[0]===0){RCTVibration.vibrate();pattern=pattern.slice(1);}if(pattern.length===0){_vibrating=false;return;}setTimeout(function(){return vibrateScheduler(++_id,pattern,repeat,1);},pattern[0]);}function vibrateScheduler(id,pattern,repeat,nextIndex){if(!_vibrating||id!==_id){return;}RCTVibration.vibrate();if(nextIndex>=pattern.length){if(repeat){nextIndex=0;}else{_vibrating=false;return;}}setTimeout(function(){return vibrateScheduler(id,pattern,repeat,nextIndex+1);},pattern[nextIndex]);}var Vibration={vibrate:function vibrate(){var pattern=arguments.length>0&&arguments[0]!==undefined?arguments[0]:400;var repeat=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(Platform.OS==='android'){if(typeof pattern==='number'){RCTVibration.vibrate(pattern);}else if(Array.isArray(pattern)){RCTVibration.vibrateByPattern(pattern,repeat?0:-1);}else{throw new Error('Vibration pattern should be a number or array');}}else{if(_vibrating){return;}if(typeof pattern==='number'){RCTVibration.vibrate();}else if(Array.isArray(pattern)){vibrateByPattern(pattern,repeat);}else{throw new Error('Vibration pattern should be a number or array');}}},cancel:function cancel(){if(Platform.OS==='ios'){_vibrating=false;}else{RCTVibration.cancel();}}};module.exports=Vibration;

/***/ }),

/***/ "./node_modules/react-native/Libraries/Vibration/VibrationIOS.ios.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var RCTVibration=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").Vibration;var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var VibrationIOS={vibrate:function vibrate(){invariant(arguments[0]===undefined,'Vibration patterns not supported.');RCTVibration.vibrate();}};module.exports=VibrationIOS;

/***/ }),

/***/ "./node_modules/react-native/Libraries/WebSocket/WebSocket.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var NativeEventEmitter=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/NativeEventEmitter.js");var Platform=__webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");var RCTWebSocketModule=__webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").WebSocketModule;var WebSocketEvent=__webpack_require__("./node_modules/react-native/Libraries/WebSocket/WebSocketEvent.js");var EventTarget=__webpack_require__("./node_modules/event-target-shim/lib/event-target.js");var base64=__webpack_require__("./node_modules/base64-js/index.js");var CONNECTING=0;var OPEN=1;var CLOSING=2;var CLOSED=3;var CLOSE_NORMAL=1000;var WEBSOCKET_EVENTS=['close','error','message','open'];var nextWebSocketId=0;var WebSocket=function(_EventTarget){_inherits(WebSocket,_EventTarget);function WebSocket(url,protocols,options){_classCallCheck(this,WebSocket);var _this=_possibleConstructorReturn(this,(WebSocket.__proto__||Object.getPrototypeOf(WebSocket)).call(this));_this.CONNECTING=CONNECTING;_this.OPEN=OPEN;_this.CLOSING=CLOSING;_this.CLOSED=CLOSED;_this.readyState=CONNECTING;if(typeof protocols==='string'){protocols=[protocols];}if(!Array.isArray(protocols)){protocols=null;}_this._eventEmitter=new NativeEventEmitter(RCTWebSocketModule);_this._socketId=nextWebSocketId++;RCTWebSocketModule.connect(url,protocols,options,_this._socketId);_this._registerEvents();return _this;}_createClass(WebSocket,[{key:'close',value:function close(code,reason){if(this.readyState===this.CLOSING||this.readyState===this.CLOSED){return;}this.readyState=this.CLOSING;this._close(code,reason);}},{key:'send',value:function send(data){if(this.readyState===this.CONNECTING){throw new Error('INVALID_STATE_ERR');}if(typeof data==='string'){RCTWebSocketModule.send(data,this._socketId);return;}if(ArrayBuffer.isView(data)){data=data.buffer;}if(data instanceof ArrayBuffer){data=base64.fromByteArray(new Uint8Array(data));RCTWebSocketModule.sendBinary(data,this._socketId);return;}throw new Error('Unsupported data type');}},{key:'ping',value:function ping(){if(this.readyState===this.CONNECTING){throw new Error('INVALID_STATE_ERR');}RCTWebSocketModule.ping(this._socketId);}},{key:'_close',value:function _close(code,reason){if(Platform.OS==='android'){var statusCode=typeof code==='number'?code:CLOSE_NORMAL;var closeReason=typeof reason==='string'?reason:'';RCTWebSocketModule.close(statusCode,closeReason,this._socketId);}else{RCTWebSocketModule.close(this._socketId);}}},{key:'_unregisterEvents',value:function _unregisterEvents(){this._subscriptions.forEach(function(e){return e.remove();});this._subscriptions=[];}},{key:'_registerEvents',value:function _registerEvents(){var _this2=this;this._subscriptions=[this._eventEmitter.addListener('websocketMessage',function(ev){if(ev.id!==_this2._socketId){return;}_this2.dispatchEvent(new WebSocketEvent('message',{data:ev.type==='binary'?base64.toByteArray(ev.data).buffer:ev.data}));}),this._eventEmitter.addListener('websocketOpen',function(ev){if(ev.id!==_this2._socketId){return;}_this2.readyState=_this2.OPEN;_this2.dispatchEvent(new WebSocketEvent('open'));}),this._eventEmitter.addListener('websocketClosed',function(ev){if(ev.id!==_this2._socketId){return;}_this2.readyState=_this2.CLOSED;_this2.dispatchEvent(new WebSocketEvent('close',{code:ev.code,reason:ev.reason}));_this2._unregisterEvents();_this2.close();}),this._eventEmitter.addListener('websocketFailed',function(ev){if(ev.id!==_this2._socketId){return;}_this2.readyState=_this2.CLOSED;_this2.dispatchEvent(new WebSocketEvent('error',{message:ev.message}));_this2.dispatchEvent(new WebSocketEvent('close',{message:ev.message}));_this2._unregisterEvents();_this2.close();})];}}]);return WebSocket;}(EventTarget.apply(undefined,WEBSOCKET_EVENTS));WebSocket.CONNECTING=CONNECTING;WebSocket.OPEN=OPEN;WebSocket.CLOSING=CLOSING;WebSocket.CLOSED=CLOSED;module.exports=WebSocket;

/***/ }),

/***/ "./node_modules/react-native/Libraries/WebSocket/WebSocketEvent.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var WebSocketEvent=function WebSocketEvent(type,eventInitDict){_classCallCheck(this,WebSocketEvent);this.type=type.toString();_extends(this,eventInitDict);};module.exports=WebSocketEvent;

/***/ }),

/***/ "./node_modules/react-native/Libraries/react-native/React.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
module.exports=__webpack_require__("./node_modules/react/lib/React.js");

/***/ }),

/***/ "./node_modules/react-native/Libraries/react-native/react-native.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");if(false){var warningDedupe={};var addonWarn=function addonWarn(prevName,newPackageName){warning(warningDedupe[prevName],'React.addons.'+prevName+' is deprecated. Please import the "'+newPackageName+'" package instead.');warningDedupe[prevName]=true;};}var ReactNative={get ActivityIndicator(){return __webpack_require__("./node_modules/react-native/Libraries/Components/ActivityIndicator/ActivityIndicator.js");},get ART(){return __webpack_require__("./node_modules/react-native/Libraries/ART/ReactNativeART.js");},get Button(){return __webpack_require__("./node_modules/react-native/Libraries/Components/Button.js");},get DatePickerIOS(){return __webpack_require__("./node_modules/react-native/Libraries/Components/DatePicker/DatePickerIOS.ios.js");},get DrawerLayoutAndroid(){return __webpack_require__("./node_modules/react-native/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js");},get Image(){return __webpack_require__("./node_modules/react-native/Libraries/Image/Image.ios.js");},get ImageEditor(){return __webpack_require__("./node_modules/react-native/Libraries/Image/ImageEditor.js");},get ImageStore(){return __webpack_require__("./node_modules/react-native/Libraries/Image/ImageStore.js");},get KeyboardAvoidingView(){return __webpack_require__("./node_modules/react-native/Libraries/Components/Keyboard/KeyboardAvoidingView.js");},get ListView(){return __webpack_require__("./node_modules/react-native/Libraries/CustomComponents/ListView/ListView.js");},get MapView(){return __webpack_require__("./node_modules/react-native/Libraries/Components/MapView/MapView.js");},get Modal(){return __webpack_require__("./node_modules/react-native/Libraries/Modal/Modal.js");},get Navigator(){return __webpack_require__("./node_modules/react-native/Libraries/CustomComponents/Navigator/Navigator.js");},get NavigatorIOS(){return __webpack_require__("./node_modules/react-native/Libraries/Components/Navigation/NavigatorIOS.ios.js");},get Picker(){return __webpack_require__("./node_modules/react-native/Libraries/Components/Picker/Picker.js");},get PickerIOS(){return __webpack_require__("./node_modules/react-native/Libraries/Components/Picker/PickerIOS.ios.js");},get ProgressBarAndroid(){return __webpack_require__("./node_modules/react-native/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js");},get ProgressViewIOS(){return __webpack_require__("./node_modules/react-native/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js");},get ScrollView(){return __webpack_require__("./node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js");},get SegmentedControlIOS(){return __webpack_require__("./node_modules/react-native/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js");},get Slider(){return __webpack_require__("./node_modules/react-native/Libraries/Components/Slider/Slider.js");},get SnapshotViewIOS(){return __webpack_require__("./node_modules/react-native/Libraries/RCTTest/SnapshotViewIOS.ios.js");},get Switch(){return __webpack_require__("./node_modules/react-native/Libraries/Components/Switch/Switch.js");},get RecyclerViewBackedScrollView(){return __webpack_require__("./node_modules/react-native/Libraries/Components/ScrollView/RecyclerViewBackedScrollView.ios.js");},get RefreshControl(){return __webpack_require__("./node_modules/react-native/Libraries/Components/RefreshControl/RefreshControl.js");},get StatusBar(){return __webpack_require__("./node_modules/react-native/Libraries/Components/StatusBar/StatusBar.js");},get SwipeableListView(){return __webpack_require__("./node_modules/react-native/Libraries/Experimental/SwipeableRow/SwipeableListView.js");},get TabBarIOS(){return __webpack_require__("./node_modules/react-native/Libraries/Components/TabBarIOS/TabBarIOS.ios.js");},get Text(){return __webpack_require__("./node_modules/react-native/Libraries/Text/Text.js");},get TextInput(){return __webpack_require__("./node_modules/react-native/Libraries/Components/TextInput/TextInput.js");},get ToastAndroid(){return __webpack_require__("./node_modules/react-native/Libraries/Components/ToastAndroid/ToastAndroid.ios.js");},get ToolbarAndroid(){return __webpack_require__("./node_modules/react-native/Libraries/Components/ToolbarAndroid/ToolbarAndroid.ios.js");},get Touchable(){return __webpack_require__("./node_modules/react-native/Libraries/Components/Touchable/Touchable.js");},get TouchableHighlight(){return __webpack_require__("./node_modules/react-native/Libraries/Components/Touchable/TouchableHighlight.js");},get TouchableNativeFeedback(){return __webpack_require__("./node_modules/react-native/Libraries/Components/Touchable/TouchableNativeFeedback.ios.js");},get TouchableOpacity(){return __webpack_require__("./node_modules/react-native/Libraries/Components/Touchable/TouchableOpacity.js");},get TouchableWithoutFeedback(){return __webpack_require__("./node_modules/react-native/Libraries/Components/Touchable/TouchableWithoutFeedback.js");},get View(){return __webpack_require__("./node_modules/react-native/Libraries/Components/View/View.js");},get ViewPagerAndroid(){return __webpack_require__("./node_modules/react-native/Libraries/Components/ViewPager/ViewPagerAndroid.ios.js");},get WebView(){return __webpack_require__("./node_modules/react-native/Libraries/Components/WebView/WebView.ios.js");},get ActionSheetIOS(){return __webpack_require__("./node_modules/react-native/Libraries/ActionSheetIOS/ActionSheetIOS.js");},get AdSupportIOS(){return __webpack_require__("./node_modules/react-native/Libraries/AdSupport/AdSupportIOS.js");},get Alert(){return __webpack_require__("./node_modules/react-native/Libraries/Alert/Alert.js");},get AlertIOS(){return __webpack_require__("./node_modules/react-native/Libraries/Alert/AlertIOS.js");},get Animated(){return __webpack_require__("./node_modules/react-native/Libraries/Animated/src/Animated.js");},get AppRegistry(){return __webpack_require__("./node_modules/react-native/Libraries/ReactNative/AppRegistry.js");},get AppState(){return __webpack_require__("./node_modules/react-native/Libraries/AppState/AppState.js");},get AsyncStorage(){return __webpack_require__("./node_modules/react-native/Libraries/Storage/AsyncStorage.js");},get BackAndroid(){return __webpack_require__("./node_modules/react-native/Libraries/Utilities/BackAndroid.ios.js");},get CameraRoll(){return __webpack_require__("./node_modules/react-native/Libraries/CameraRoll/CameraRoll.js");},get Clipboard(){return __webpack_require__("./node_modules/react-native/Libraries/Components/Clipboard/Clipboard.js");},get DatePickerAndroid(){return __webpack_require__("./node_modules/react-native/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js");},get Dimensions(){return __webpack_require__("./node_modules/react-native/Libraries/Utilities/Dimensions.js");},get Easing(){return __webpack_require__("./node_modules/react-native/Libraries/Animated/src/Easing.js");},get I18nManager(){return __webpack_require__("./node_modules/react-native/Libraries/ReactNative/I18nManager.js");},get ImagePickerIOS(){return __webpack_require__("./node_modules/react-native/Libraries/CameraRoll/ImagePickerIOS.js");},get InteractionManager(){return __webpack_require__("./node_modules/react-native/Libraries/Interaction/InteractionManager.js");},get Keyboard(){return __webpack_require__("./node_modules/react-native/Libraries/Components/Keyboard/Keyboard.js");},get LayoutAnimation(){return __webpack_require__("./node_modules/react-native/Libraries/LayoutAnimation/LayoutAnimation.js");},get Linking(){return __webpack_require__("./node_modules/react-native/Libraries/Linking/Linking.js");},get NativeEventEmitter(){return __webpack_require__("./node_modules/react-native/Libraries/EventEmitter/NativeEventEmitter.js");},get NavigationExperimental(){return __webpack_require__("./node_modules/react-native/Libraries/NavigationExperimental/NavigationExperimental.js");},get NetInfo(){return __webpack_require__("./node_modules/react-native/Libraries/Network/NetInfo.js");},get PanResponder(){return __webpack_require__("./node_modules/react-native/Libraries/Interaction/PanResponder.js");},get PermissionsAndroid(){return __webpack_require__("./node_modules/react-native/Libraries/PermissionsAndroid/PermissionsAndroid.js");},get PixelRatio(){return __webpack_require__("./node_modules/react-native/Libraries/Utilities/PixelRatio.js");},get PushNotificationIOS(){return __webpack_require__("./node_modules/react-native/Libraries/PushNotificationIOS/PushNotificationIOS.js");},get Settings(){return __webpack_require__("./node_modules/react-native/Libraries/Settings/Settings.ios.js");},get Share(){return __webpack_require__("./node_modules/react-native/Libraries/Share/Share.js");},get StatusBarIOS(){return __webpack_require__("./node_modules/react-native/Libraries/Components/StatusBar/StatusBarIOS.ios.js");},get StyleSheet(){return __webpack_require__("./node_modules/react-native/Libraries/StyleSheet/StyleSheet.js");},get Systrace(){return __webpack_require__("./node_modules/react-native/Libraries/Performance/Systrace.js");},get TimePickerAndroid(){return __webpack_require__("./node_modules/react-native/Libraries/Components/TimePickerAndroid/TimePickerAndroid.ios.js");},get UIManager(){return __webpack_require__("./node_modules/react-native/Libraries/ReactNative/UIManager.js");},get Vibration(){return __webpack_require__("./node_modules/react-native/Libraries/Vibration/Vibration.js");},get VibrationIOS(){return __webpack_require__("./node_modules/react-native/Libraries/Vibration/VibrationIOS.ios.js");},get DeviceEventEmitter(){return __webpack_require__("./node_modules/react-native/Libraries/EventEmitter/RCTDeviceEventEmitter.js");},get NativeAppEventEmitter(){return __webpack_require__("./node_modules/react-native/Libraries/EventEmitter/RCTNativeAppEventEmitter.js");},get NativeModules(){return __webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js");},get Platform(){return __webpack_require__("./node_modules/react-native/Libraries/Utilities/Platform.ios.js");},get processColor(){return __webpack_require__("./node_modules/react-native/Libraries/StyleSheet/processColor.js");},get requireNativeComponent(){return __webpack_require__("./node_modules/react-native/Libraries/ReactNative/requireNativeComponent.js");},get ColorPropType(){return __webpack_require__("./node_modules/react-native/Libraries/StyleSheet/ColorPropType.js");},get EdgeInsetsPropType(){return __webpack_require__("./node_modules/react-native/Libraries/StyleSheet/EdgeInsetsPropType.js");},get PointPropType(){return __webpack_require__("./node_modules/react-native/Libraries/StyleSheet/PointPropType.js");},addons:{get LinkedStateMixin(){if(false){addonWarn('LinkedStateMixin','react-addons-linked-state-mixin');}return __webpack_require__("./node_modules/react/lib/LinkedStateMixin.js");},get PureRenderMixin(){if(false){addonWarn('PureRenderMixin','react-addons-pure-render-mixin');}return __webpack_require__("./node_modules/react/lib/ReactComponentWithPureRenderMixin.js");},get TestModule(){if(false){warning(warningDedupe.TestModule,'React.addons.TestModule is deprecated. '+'Use ReactNative.NativeModules.TestModule instead.');warningDedupe.TestModule=true;}return __webpack_require__("./node_modules/react-native/Libraries/BatchedBridge/NativeModules.js").TestModule;},get batchedUpdates(){if(false){warning(warningDedupe.batchedUpdates,'React.addons.batchedUpdates is deprecated. '+'Use ReactNative.unstable_batchedUpdates instead.');warningDedupe.batchedUpdates=true;}return __webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactUpdates.js").batchedUpdates;},get createFragment(){if(false){addonWarn('createFragment','react-addons-create-fragment');}return __webpack_require__("./node_modules/react/lib/ReactFragment.js").create;},get update(){if(false){addonWarn('update','react-addons-update');}return __webpack_require__("./node_modules/react/lib/update.js");}}};if(false){(function(){var throwOnWrongReactAPI=require('throwOnWrongReactAPI');var reactAPIs=['createClass','Component'];var _loop=function _loop(key){Object.defineProperty(ReactNative,key,{get:function get(){throwOnWrongReactAPI(key);},enumerable:false,configurable:false});};for(var _iterator=reactAPIs,_isArray=Array.isArray(_iterator),_i=0,_iterator=_isArray?_iterator:_iterator[typeof Symbol==='function'?Symbol.iterator:'@@iterator']();;){var _ref;if(_isArray){if(_i>=_iterator.length)break;_ref=_iterator[_i++];}else{_i=_iterator.next();if(_i.done)break;_ref=_i.value;}var key=_ref;_loop(key);}})();}var ReactNativeInternal=__webpack_require__("./node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNative.js");function applyForwarding(key){if(false){Object.defineProperty(ReactNative,key,Object.getOwnPropertyDescriptor(ReactNativeInternal,key));return;}ReactNative[key]=ReactNativeInternal[key];}for(var key in ReactNativeInternal){applyForwarding(key);}module.exports=ReactNative;

/***/ }),

/***/ "./node_modules/react-native/Libraries/vendor/core/Map.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var _shouldPolyfillES6Collection=__webpack_require__("./node_modules/react-native/Libraries/vendor/core/_shouldPolyfillES6Collection.js");var guid=__webpack_require__("./node_modules/react-native/Libraries/vendor/core/guid.js");var isNode=__webpack_require__("./node_modules/fbjs/lib/isNode.js");var toIterator=__webpack_require__("./node_modules/react-native/Libraries/vendor/core/toIterator.js");module.exports=function(global,undefined){if(!_shouldPolyfillES6Collection('Map')){return global.Map;}var KIND_KEY='key';var KIND_VALUE='value';var KIND_KEY_VALUE='key+value';var KEY_PREFIX='$map_';var SECRET_SIZE_PROP;if(false){SECRET_SIZE_PROP='$size'+guid();}var OLD_IE_HASH_PREFIX='IE_HASH_';var Map=function(){function Map(iterable){_classCallCheck(this,Map);if(!isObject(this)){throw new TypeError('Wrong map object type.');}initMap(this);if(iterable!=null){var it=toIterator(iterable);var next;while(!(next=it.next()).done){if(!isObject(next.value)){throw new TypeError('Expected iterable items to be pair objects.');}this.set(next.value[0],next.value[1]);}}}_createClass(Map,[{key:'clear',value:function clear(){initMap(this);}},{key:'has',value:function has(key){var index=getIndex(this,key);return!!(index!=null&&this._mapData[index]);}},{key:'set',value:function set(key,value){var index=getIndex(this,key);if(index!=null&&this._mapData[index]){this._mapData[index][1]=value;}else{index=this._mapData.push([key,value])-1;setIndex(this,key,index);if(false){this[SECRET_SIZE_PROP]+=1;}else{this.size+=1;}}return this;}},{key:'get',value:function get(key){var index=getIndex(this,key);if(index==null){return undefined;}else{return this._mapData[index][1];}}},{key:'delete',value:function _delete(key){var index=getIndex(this,key);if(index!=null&&this._mapData[index]){setIndex(this,key,undefined);this._mapData[index]=undefined;if(false){this[SECRET_SIZE_PROP]-=1;}else{this.size-=1;}return true;}else{return false;}}},{key:'entries',value:function entries(){return new MapIterator(this,KIND_KEY_VALUE);}},{key:'keys',value:function keys(){return new MapIterator(this,KIND_KEY);}},{key:'values',value:function values(){return new MapIterator(this,KIND_VALUE);}},{key:'forEach',value:function forEach(callback,thisArg){if(typeof callback!=='function'){throw new TypeError('Callback must be callable.');}var boundCallback=callback.bind(thisArg||undefined);var mapData=this._mapData;for(var i=0;i<mapData.length;i++){var entry=mapData[i];if(entry!=null){boundCallback(entry[1],entry[0],this);}}}}]);return Map;}();Map.prototype[toIterator.ITERATOR_SYMBOL]=Map.prototype.entries;var MapIterator=function(){function MapIterator(map,kind){_classCallCheck(this,MapIterator);if(!(isObject(map)&&map._mapData)){throw new TypeError('Object is not a map.');}if([KIND_KEY,KIND_KEY_VALUE,KIND_VALUE].indexOf(kind)===-1){throw new Error('Invalid iteration kind.');}this._map=map;this._nextIndex=0;this._kind=kind;}_createClass(MapIterator,[{key:'next',value:function next(){if(!this instanceof Map){throw new TypeError('Expected to be called on a MapIterator.');}var map=this._map;var index=this._nextIndex;var kind=this._kind;if(map==null){return createIterResultObject(undefined,true);}var entries=map._mapData;while(index<entries.length){var record=entries[index];index+=1;this._nextIndex=index;if(record){if(kind===KIND_KEY){return createIterResultObject(record[0],false);}else if(kind===KIND_VALUE){return createIterResultObject(record[1],false);}else if(kind){return createIterResultObject(record,false);}}}this._map=undefined;return createIterResultObject(undefined,true);}}]);return MapIterator;}();MapIterator.prototype[toIterator.ITERATOR_SYMBOL]=function(){return this;};function getIndex(map,key){if(isObject(key)){var hash=getHash(key);return map._objectIndex[hash];}else{var prefixedKey=KEY_PREFIX+key;if(typeof key==='string'){return map._stringIndex[prefixedKey];}else{return map._otherIndex[prefixedKey];}}}function setIndex(map,key,index){var shouldDelete=index==null;if(isObject(key)){var hash=getHash(key);if(shouldDelete){delete map._objectIndex[hash];}else{map._objectIndex[hash]=index;}}else{var prefixedKey=KEY_PREFIX+key;if(typeof key==='string'){if(shouldDelete){delete map._stringIndex[prefixedKey];}else{map._stringIndex[prefixedKey]=index;}}else{if(shouldDelete){delete map._otherIndex[prefixedKey];}else{map._otherIndex[prefixedKey]=index;}}}}function initMap(map){map._mapData=[];map._objectIndex={};map._stringIndex={};map._otherIndex={};if(false){if(isES5){if(map.hasOwnProperty(SECRET_SIZE_PROP)){map[SECRET_SIZE_PROP]=0;}else{Object.defineProperty(map,SECRET_SIZE_PROP,{value:0,writable:true});Object.defineProperty(map,'size',{set:function set(v){console.error('PLEASE FIX ME: You are changing the map size property which '+'should not be writable and will break in production.');throw new Error('The map size property is not writable.');},get:function get(){return map[SECRET_SIZE_PROP];}});}return;}}map.size=0;}function isObject(o){return o!=null&&(typeof o==='object'||typeof o==='function');}function createIterResultObject(value,done){return{value:value,done:done};}var isES5=function(){try{Object.defineProperty({},'x',{});return true;}catch(e){return false;}}();function isExtensible(o){if(!isES5){return true;}else{return Object.isExtensible(o);}}function getIENodeHash(node){var uniqueID;switch(node.nodeType){case 1:uniqueID=node.uniqueID;break;case 9:uniqueID=node.documentElement.uniqueID;break;default:return null;}if(uniqueID){return OLD_IE_HASH_PREFIX+uniqueID;}else{return null;}}var getHash=function(){var propIsEnumerable=Object.prototype.propertyIsEnumerable;var hashProperty=guid();var hashCounter=0;return function getHash(o){if(o[hashProperty]){return o[hashProperty];}else if(!isES5&&o.propertyIsEnumerable&&o.propertyIsEnumerable[hashProperty]){return o.propertyIsEnumerable[hashProperty];}else if(!isES5&&isNode(o)&&getIENodeHash(o)){return getIENodeHash(o);}else if(!isES5&&o[hashProperty]){return o[hashProperty];}if(isExtensible(o)){hashCounter+=1;if(isES5){Object.defineProperty(o,hashProperty,{enumerable:false,writable:false,configurable:false,value:hashCounter});}else if(o.propertyIsEnumerable){o.propertyIsEnumerable=function(){return propIsEnumerable.apply(this,arguments);};o.propertyIsEnumerable[hashProperty]=hashCounter;}else if(isNode(o)){o[hashProperty]=hashCounter;}else{throw new Error('Unable to set a non-enumerable property on object.');}return hashCounter;}else{throw new Error('Non-extensible objects are not allowed as keys.');}};}();return Map;}(Function('return this')());

/***/ }),

/***/ "./node_modules/react-native/Libraries/vendor/core/Set.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var Map=__webpack_require__("./node_modules/react-native/Libraries/vendor/core/Map.js");var _shouldPolyfillES6Collection=__webpack_require__("./node_modules/react-native/Libraries/vendor/core/_shouldPolyfillES6Collection.js");var toIterator=__webpack_require__("./node_modules/react-native/Libraries/vendor/core/toIterator.js");module.exports=function(global){if(!_shouldPolyfillES6Collection('Set')){return global.Set;}var Set=function(){function Set(iterable){_classCallCheck(this,Set);if(this==null||typeof this!=='object'&&typeof this!=='function'){throw new TypeError('Wrong set object type.');}initSet(this);if(iterable!=null){var it=toIterator(iterable);var next;while(!(next=it.next()).done){this.add(next.value);}}}_createClass(Set,[{key:'add',value:function add(value){this._map.set(value,value);this.size=this._map.size;return this;}},{key:'clear',value:function clear(){initSet(this);}},{key:'delete',value:function _delete(value){var ret=this._map.delete(value);this.size=this._map.size;return ret;}},{key:'entries',value:function entries(){return this._map.entries();}},{key:'forEach',value:function forEach(callback){var thisArg=arguments[1];var it=this._map.keys();var next;while(!(next=it.next()).done){callback.call(thisArg,next.value,next.value,this);}}},{key:'has',value:function has(value){return this._map.has(value);}},{key:'values',value:function values(){return this._map.values();}}]);return Set;}();Set.prototype[toIterator.ITERATOR_SYMBOL]=Set.prototype.values;Set.prototype.keys=Set.prototype.values;function initSet(set){set._map=new Map();set.size=set._map.size;}return Set;}(Function('return this')());

/***/ }),

/***/ "./node_modules/react-native/Libraries/vendor/core/_shouldPolyfillES6Collection.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(global) {function shouldPolyfillES6Collection(collectionName){var Collection=global[collectionName];if(Collection==null){return true;}if(typeof global.Symbol!=='function'){return true;}var proto=Collection.prototype;return Collection==null||typeof Collection!=='function'||typeof proto.clear!=='function'||new Collection().size!==0||typeof proto.keys!=='function'||typeof proto.forEach!=='function';}module.exports=shouldPolyfillES6Collection;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/webpack/buildin/global.js")))

/***/ }),

/***/ "./node_modules/react-native/Libraries/vendor/core/copyProperties.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
function copyProperties(obj,a,b,c,d,e,f){obj=obj||{};if(false){if(f){throw new Error('Too many arguments passed to copyProperties');}}var args=[a,b,c,d,e];var ii=0,v;while(args[ii]){v=args[ii++];for(var k in v){obj[k]=v[k];}if(v.hasOwnProperty&&v.hasOwnProperty('toString')&&typeof v.toString!=='undefined'&&obj.toString!==v.toString){obj.toString=v.toString;}}return obj;}module.exports=copyProperties;

/***/ }),

/***/ "./node_modules/react-native/Libraries/vendor/core/guid.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
function guid(){return'f'+(Math.random()*(1<<30)).toString(16).replace('.','');}module.exports=guid;

/***/ }),

/***/ "./node_modules/react-native/Libraries/vendor/core/isEmpty.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
function isEmpty(obj){if(Array.isArray(obj)){return obj.length===0;}else if(typeof obj==='object'){for(var i in obj){return false;}return true;}else{return!obj;}}module.exports=isEmpty;

/***/ }),

/***/ "./node_modules/react-native/Libraries/vendor/core/merge.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var mergeInto=__webpack_require__("./node_modules/react-native/Libraries/vendor/core/mergeInto.js");var merge=function merge(one,two){var result={};mergeInto(result,one);mergeInto(result,two);return result;};module.exports=merge;

/***/ }),

/***/ "./node_modules/react-native/Libraries/vendor/core/mergeHelpers.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var keyMirror=__webpack_require__("./node_modules/fbjs/lib/keyMirror.js");var MAX_MERGE_DEPTH=36;var isTerminal=function isTerminal(o){return typeof o!=='object'||o===null;};var mergeHelpers={MAX_MERGE_DEPTH:MAX_MERGE_DEPTH,isTerminal:isTerminal,normalizeMergeArg:function normalizeMergeArg(arg){return arg===undefined||arg===null?{}:arg;},checkMergeArrayArgs:function checkMergeArrayArgs(one,two){invariant(Array.isArray(one)&&Array.isArray(two),'Tried to merge arrays, instead got %s and %s.',one,two);},checkMergeObjectArgs:function checkMergeObjectArgs(one,two){mergeHelpers.checkMergeObjectArg(one);mergeHelpers.checkMergeObjectArg(two);},checkMergeObjectArg:function checkMergeObjectArg(arg){invariant(!isTerminal(arg)&&!Array.isArray(arg),'Tried to merge an object, instead got %s.',arg);},checkMergeIntoObjectArg:function checkMergeIntoObjectArg(arg){invariant((!isTerminal(arg)||typeof arg==='function')&&!Array.isArray(arg),'Tried to merge into an object, instead got %s.',arg);},checkMergeLevel:function checkMergeLevel(level){invariant(level<MAX_MERGE_DEPTH,'Maximum deep merge depth exceeded. You may be attempting to merge '+'circular structures in an unsupported way.');},checkArrayStrategy:function checkArrayStrategy(strategy){invariant(strategy===undefined||strategy in mergeHelpers.ArrayStrategies,'You must provide an array strategy to deep merge functions to '+'instruct the deep merge how to resolve merging two arrays.');},ArrayStrategies:keyMirror({Clobber:true,IndexByIndex:true})};module.exports=mergeHelpers;

/***/ }),

/***/ "./node_modules/react-native/Libraries/vendor/core/mergeInto.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var mergeHelpers=__webpack_require__("./node_modules/react-native/Libraries/vendor/core/mergeHelpers.js");var checkMergeObjectArg=mergeHelpers.checkMergeObjectArg;var checkMergeIntoObjectArg=mergeHelpers.checkMergeIntoObjectArg;function mergeInto(one,two){checkMergeIntoObjectArg(one);if(two!=null){checkMergeObjectArg(two);for(var key in two){if(!two.hasOwnProperty(key)){continue;}one[key]=two[key];}}}module.exports=mergeInto;

/***/ }),

/***/ "./node_modules/react-native/Libraries/vendor/core/toIterator.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var KIND_KEY='key';var KIND_VALUE='value';var KIND_KEY_VAL='key+value';var ITERATOR_SYMBOL=typeof Symbol==='function'?typeof Symbol==='function'?Symbol.iterator:'@@iterator':'@@iterator';var toIterator=function(){if(!(Array.prototype[ITERATOR_SYMBOL]&&String.prototype[ITERATOR_SYMBOL])){return function(){var ArrayIterator=function(){function ArrayIterator(array,kind){_classCallCheck(this,ArrayIterator);if(!Array.isArray(array)){throw new TypeError('Object is not an Array');}this._iteratedObject=array;this._kind=kind;this._nextIndex=0;}_createClass(ArrayIterator,[{key:'next',value:function next(){if(!this instanceof ArrayIterator){throw new TypeError('Object is not an ArrayIterator');}if(this._iteratedObject==null){return createIterResultObject(undefined,true);}var array=this._iteratedObject;var len=this._iteratedObject.length;var index=this._nextIndex;var kind=this._kind;if(index>=len){this._iteratedObject=undefined;return createIterResultObject(undefined,true);}this._nextIndex=index+1;if(kind===KIND_KEY){return createIterResultObject(index,false);}else if(kind===KIND_VALUE){return createIterResultObject(array[index],false);}else if(kind===KIND_KEY_VAL){return createIterResultObject([index,array[index]],false);}}},{key:'@@iterator',value:function iterator(){return this;}}]);return ArrayIterator;}();var StringIterator=function(){function StringIterator(string){_classCallCheck(this,StringIterator);if(typeof string!=='string'){throw new TypeError('Object is not a string');}this._iteratedString=string;this._nextIndex=0;}_createClass(StringIterator,[{key:'next',value:function next(){if(!this instanceof StringIterator){throw new TypeError('Object is not a StringIterator');}if(this._iteratedString==null){return createIterResultObject(undefined,true);}var index=this._nextIndex;var s=this._iteratedString;var len=s.length;if(index>=len){this._iteratedString=undefined;return createIterResultObject(undefined,true);}var ret;var first=s.charCodeAt(index);if(first<0xD800||first>0xDBFF||index+1===len){ret=s[index];}else{var second=s.charCodeAt(index+1);if(second<0xDC00||second>0xDFFF){ret=s[index];}else{ret=s[index]+s[index+1];}}this._nextIndex=index+ret.length;return createIterResultObject(ret,false);}},{key:'@@iterator',value:function iterator(){return this;}}]);return StringIterator;}();function createIterResultObject(value,done){return{value:value,done:done};}return function(object,kind){if(typeof object==='string'){return new StringIterator(object);}else if(Array.isArray(object)){return new ArrayIterator(object,kind||KIND_VALUE);}else{return object[ITERATOR_SYMBOL]();}};}();}else{return function(object){return object[ITERATOR_SYMBOL]();};}}();_extends(toIterator,{KIND_KEY:KIND_KEY,KIND_VALUE:KIND_VALUE,KIND_KEY_VAL:KIND_KEY_VAL,ITERATOR_SYMBOL:ITERATOR_SYMBOL});module.exports=toIterator;

/***/ }),

/***/ "./node_modules/react-native/Libraries/vendor/document/selection/DocumentSelectionState.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var mixInEventEmitter=__webpack_require__("./node_modules/react-native/Libraries/EventEmitter/mixInEventEmitter.js");var DocumentSelectionState=function(){function DocumentSelectionState(anchor,focus){_classCallCheck(this,DocumentSelectionState);this._anchorOffset=anchor;this._focusOffset=focus;this._hasFocus=false;}_createClass(DocumentSelectionState,[{key:'update',value:function update(anchor,focus){if(this._anchorOffset!==anchor||this._focusOffset!==focus){this._anchorOffset=anchor;this._focusOffset=focus;this.emit('update');}}},{key:'constrainLength',value:function constrainLength(maxLength){this.update(Math.min(this._anchorOffset,maxLength),Math.min(this._focusOffset,maxLength));}},{key:'focus',value:function focus(){if(!this._hasFocus){this._hasFocus=true;this.emit('focus');}}},{key:'blur',value:function blur(){if(this._hasFocus){this._hasFocus=false;this.emit('blur');}}},{key:'hasFocus',value:function hasFocus(){return this._hasFocus;}},{key:'isCollapsed',value:function isCollapsed(){return this._anchorOffset===this._focusOffset;}},{key:'isBackward',value:function isBackward(){return this._anchorOffset>this._focusOffset;}},{key:'getAnchorOffset',value:function getAnchorOffset(){return this._hasFocus?this._anchorOffset:null;}},{key:'getFocusOffset',value:function getFocusOffset(){return this._hasFocus?this._focusOffset:null;}},{key:'getStartOffset',value:function getStartOffset(){return this._hasFocus?Math.min(this._anchorOffset,this._focusOffset):null;}},{key:'getEndOffset',value:function getEndOffset(){return this._hasFocus?Math.max(this._anchorOffset,this._focusOffset):null;}},{key:'overlaps',value:function overlaps(start,end){return this.hasFocus()&&this.getStartOffset()<=end&&start<=this.getEndOffset();}}]);return DocumentSelectionState;}();mixInEventEmitter(DocumentSelectionState,{'blur':true,'focus':true,'update':true});module.exports=DocumentSelectionState;

/***/ }),

/***/ "./node_modules/react-native/local-cli/bundle/assetPathUtils.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
function getAndroidAssetSuffix(scale){switch(scale){case 0.75:return'ldpi';case 1:return'mdpi';case 1.5:return'hdpi';case 2:return'xhdpi';case 3:return'xxhdpi';case 4:return'xxxhdpi';}}function getAndroidDrawableFolderName(asset,scale){var suffix=getAndroidAssetSuffix(scale);if(!suffix){throw new Error('Don\'t know which android drawable suffix to use for asset: '+JSON.stringify(asset));}var androidFolder='drawable-'+suffix;return androidFolder;}function getAndroidResourceIdentifier(asset){var folderPath=getBasePath(asset);return(folderPath+'/'+asset.name).toLowerCase().replace(/\//g,'_').replace(/([^a-z0-9_])/g,'').replace(/^assets_/,'');}function getBasePath(asset){var basePath=asset.httpServerLocation;if(basePath[0]==='/'){basePath=basePath.substr(1);}return basePath;}module.exports={getAndroidAssetSuffix:getAndroidAssetSuffix,getAndroidDrawableFolderName:getAndroidDrawableFolderName,getAndroidResourceIdentifier:getAndroidResourceIdentifier,getBasePath:getBasePath};

/***/ }),

/***/ "./node_modules/react-timer-mixin/TimerMixin.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(global) {var GLOBAL=typeof window==='undefined'?global:window;var setter=function setter(_setter,_clearer,array){return function(callback,delta){var id=_setter(function(){_clearer.call(this,id);callback.apply(this,arguments);}.bind(this),delta);if(!this[array]){this[array]=[id];}else{this[array].push(id);}return id;};};var clearer=function clearer(_clearer,array){return function(id){if(this[array]){var index=this[array].indexOf(id);if(index!==-1){this[array].splice(index,1);}}_clearer(id);};};var _timeouts='TimerMixin_timeouts';var _clearTimeout=clearer(GLOBAL.clearTimeout,_timeouts);var _setTimeout=setter(GLOBAL.setTimeout,_clearTimeout,_timeouts);var _intervals='TimerMixin_intervals';var _clearInterval=clearer(GLOBAL.clearInterval,_intervals);var _setInterval=setter(GLOBAL.setInterval,function(){},_intervals);var _immediates='TimerMixin_immediates';var _clearImmediate=clearer(GLOBAL.clearImmediate,_immediates);var _setImmediate=setter(GLOBAL.setImmediate,_clearImmediate,_immediates);var _rafs='TimerMixin_rafs';var _cancelAnimationFrame=clearer(GLOBAL.cancelAnimationFrame,_rafs);var _requestAnimationFrame=setter(GLOBAL.requestAnimationFrame,_cancelAnimationFrame,_rafs);var TimerMixin={componentWillUnmount:function componentWillUnmount(){this[_timeouts]&&this[_timeouts].forEach(function(id){GLOBAL.clearTimeout(id);});this[_timeouts]=null;this[_intervals]&&this[_intervals].forEach(function(id){GLOBAL.clearInterval(id);});this[_intervals]=null;this[_immediates]&&this[_immediates].forEach(function(id){GLOBAL.clearImmediate(id);});this[_immediates]=null;this[_rafs]&&this[_rafs].forEach(function(id){GLOBAL.cancelAnimationFrame(id);});this[_rafs]=null;},setTimeout:_setTimeout,clearTimeout:_clearTimeout,setInterval:_setInterval,clearInterval:_clearInterval,setImmediate:_setImmediate,clearImmediate:_clearImmediate,requestAnimationFrame:_requestAnimationFrame,cancelAnimationFrame:_cancelAnimationFrame};module.exports=TimerMixin;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/webpack/buildin/global.js")))

/***/ }),

/***/ "./node_modules/react/lib/KeyEscapeUtils.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
function escape(key){var escapeRegex=/[=:]/g;var escaperLookup={'=':'=0',':':'=2'};var escapedString=(''+key).replace(escapeRegex,function(match){return escaperLookup[match];});return'$'+escapedString;}function unescape(key){var unescapeRegex=/(=0|=2)/g;var unescaperLookup={'=0':'=','=2':':'};var keySubstring=key[0]==='.'&&key[1]==='$'?key.substring(2):key.substring(1);return(''+keySubstring).replace(unescapeRegex,function(match){return unescaperLookup[match];});}var KeyEscapeUtils={escape:escape,unescape:unescape};module.exports=KeyEscapeUtils;

/***/ }),

/***/ "./node_modules/react/lib/LinkedStateMixin.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactLink=__webpack_require__("./node_modules/react/lib/ReactLink.js");var ReactStateSetters=__webpack_require__("./node_modules/react/lib/ReactStateSetters.js");var LinkedStateMixin={linkState:function linkState(key){return new ReactLink(this.state[key],ReactStateSetters.createStateKeySetter(this,key));}};module.exports=LinkedStateMixin;

/***/ }),

/***/ "./node_modules/react/lib/PooledClass.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _prodInvariant=__webpack_require__("./node_modules/react/lib/reactProdInvariant.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var oneArgumentPooler=function oneArgumentPooler(copyFieldsFrom){var Klass=this;if(Klass.instancePool.length){var instance=Klass.instancePool.pop();Klass.call(instance,copyFieldsFrom);return instance;}else{return new Klass(copyFieldsFrom);}};var twoArgumentPooler=function twoArgumentPooler(a1,a2){var Klass=this;if(Klass.instancePool.length){var instance=Klass.instancePool.pop();Klass.call(instance,a1,a2);return instance;}else{return new Klass(a1,a2);}};var threeArgumentPooler=function threeArgumentPooler(a1,a2,a3){var Klass=this;if(Klass.instancePool.length){var instance=Klass.instancePool.pop();Klass.call(instance,a1,a2,a3);return instance;}else{return new Klass(a1,a2,a3);}};var fourArgumentPooler=function fourArgumentPooler(a1,a2,a3,a4){var Klass=this;if(Klass.instancePool.length){var instance=Klass.instancePool.pop();Klass.call(instance,a1,a2,a3,a4);return instance;}else{return new Klass(a1,a2,a3,a4);}};var standardReleaser=function standardReleaser(instance){var Klass=this;!(instance instanceof Klass)? false?invariant(false,'Trying to release an instance into a pool of a different type.'):_prodInvariant('25'):void 0;instance.destructor();if(Klass.instancePool.length<Klass.poolSize){Klass.instancePool.push(instance);}};var DEFAULT_POOL_SIZE=10;var DEFAULT_POOLER=oneArgumentPooler;var addPoolingTo=function addPoolingTo(CopyConstructor,pooler){var NewKlass=CopyConstructor;NewKlass.instancePool=[];NewKlass.getPooled=pooler||DEFAULT_POOLER;if(!NewKlass.poolSize){NewKlass.poolSize=DEFAULT_POOL_SIZE;}NewKlass.release=standardReleaser;return NewKlass;};var PooledClass={addPoolingTo:addPoolingTo,oneArgumentPooler:oneArgumentPooler,twoArgumentPooler:twoArgumentPooler,threeArgumentPooler:threeArgumentPooler,fourArgumentPooler:fourArgumentPooler};module.exports=PooledClass;

/***/ }),

/***/ "./node_modules/react/lib/React.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _assign=__webpack_require__("./node_modules/object-assign/index.js");var ReactChildren=__webpack_require__("./node_modules/react/lib/ReactChildren.js");var ReactComponent=__webpack_require__("./node_modules/react/lib/ReactComponent.js");var ReactPureComponent=__webpack_require__("./node_modules/react/lib/ReactPureComponent.js");var ReactClass=__webpack_require__("./node_modules/react/lib/ReactClass.js");var ReactDOMFactories=__webpack_require__("./node_modules/react/lib/ReactDOMFactories.js");var ReactElement=__webpack_require__("./node_modules/react/lib/ReactElement.js");var ReactPropTypes=__webpack_require__("./node_modules/react/lib/ReactPropTypes.js");var ReactVersion=__webpack_require__("./node_modules/react/lib/ReactVersion.js");var onlyChild=__webpack_require__("./node_modules/react/lib/onlyChild.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");var createElement=ReactElement.createElement;var createFactory=ReactElement.createFactory;var cloneElement=ReactElement.cloneElement;if(false){var ReactElementValidator=require('./ReactElementValidator');createElement=ReactElementValidator.createElement;createFactory=ReactElementValidator.createFactory;cloneElement=ReactElementValidator.cloneElement;}var __spread=_assign;if(false){var warned=false;__spread=function __spread(){process.env.NODE_ENV!=='production'?warning(warned,'React.__spread is deprecated and should not be used. Use '+'Object.assign directly or another helper function with similar '+'semantics. You may be seeing this warning due to your compiler. '+'See https://fb.me/react-spread-deprecation for more details.'):void 0;warned=true;return _assign.apply(null,arguments);};}var React={Children:{map:ReactChildren.map,forEach:ReactChildren.forEach,count:ReactChildren.count,toArray:ReactChildren.toArray,only:onlyChild},Component:ReactComponent,PureComponent:ReactPureComponent,createElement:createElement,cloneElement:cloneElement,isValidElement:ReactElement.isValidElement,PropTypes:ReactPropTypes,createClass:ReactClass.createClass,createFactory:createFactory,createMixin:function createMixin(mixin){return mixin;},DOM:ReactDOMFactories,version:ReactVersion,__spread:__spread};module.exports=React;

/***/ }),

/***/ "./node_modules/react/lib/ReactChildren.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var PooledClass=__webpack_require__("./node_modules/react/lib/PooledClass.js");var ReactElement=__webpack_require__("./node_modules/react/lib/ReactElement.js");var emptyFunction=__webpack_require__("./node_modules/fbjs/lib/emptyFunction.js");var traverseAllChildren=__webpack_require__("./node_modules/react/lib/traverseAllChildren.js");var twoArgumentPooler=PooledClass.twoArgumentPooler;var fourArgumentPooler=PooledClass.fourArgumentPooler;var userProvidedKeyEscapeRegex=/\/+/g;function escapeUserProvidedKey(text){return(''+text).replace(userProvidedKeyEscapeRegex,'$&/');}function ForEachBookKeeping(forEachFunction,forEachContext){this.func=forEachFunction;this.context=forEachContext;this.count=0;}ForEachBookKeeping.prototype.destructor=function(){this.func=null;this.context=null;this.count=0;};PooledClass.addPoolingTo(ForEachBookKeeping,twoArgumentPooler);function forEachSingleChild(bookKeeping,child,name){var func=bookKeeping.func,context=bookKeeping.context;func.call(context,child,bookKeeping.count++);}function forEachChildren(children,forEachFunc,forEachContext){if(children==null){return children;}var traverseContext=ForEachBookKeeping.getPooled(forEachFunc,forEachContext);traverseAllChildren(children,forEachSingleChild,traverseContext);ForEachBookKeeping.release(traverseContext);}function MapBookKeeping(mapResult,keyPrefix,mapFunction,mapContext){this.result=mapResult;this.keyPrefix=keyPrefix;this.func=mapFunction;this.context=mapContext;this.count=0;}MapBookKeeping.prototype.destructor=function(){this.result=null;this.keyPrefix=null;this.func=null;this.context=null;this.count=0;};PooledClass.addPoolingTo(MapBookKeeping,fourArgumentPooler);function mapSingleChildIntoContext(bookKeeping,child,childKey){var result=bookKeeping.result,keyPrefix=bookKeeping.keyPrefix,func=bookKeeping.func,context=bookKeeping.context;var mappedChild=func.call(context,child,bookKeeping.count++);if(Array.isArray(mappedChild)){mapIntoWithKeyPrefixInternal(mappedChild,result,childKey,emptyFunction.thatReturnsArgument);}else if(mappedChild!=null){if(ReactElement.isValidElement(mappedChild)){mappedChild=ReactElement.cloneAndReplaceKey(mappedChild,keyPrefix+(mappedChild.key&&(!child||child.key!==mappedChild.key)?escapeUserProvidedKey(mappedChild.key)+'/':'')+childKey);}result.push(mappedChild);}}function mapIntoWithKeyPrefixInternal(children,array,prefix,func,context){var escapedPrefix='';if(prefix!=null){escapedPrefix=escapeUserProvidedKey(prefix)+'/';}var traverseContext=MapBookKeeping.getPooled(array,escapedPrefix,func,context);traverseAllChildren(children,mapSingleChildIntoContext,traverseContext);MapBookKeeping.release(traverseContext);}function mapChildren(children,func,context){if(children==null){return children;}var result=[];mapIntoWithKeyPrefixInternal(children,result,null,func,context);return result;}function forEachSingleChildDummy(traverseContext,child,name){return null;}function countChildren(children,context){return traverseAllChildren(children,forEachSingleChildDummy,null);}function toArray(children){var result=[];mapIntoWithKeyPrefixInternal(children,result,null,emptyFunction.thatReturnsArgument);return result;}var ReactChildren={forEach:forEachChildren,map:mapChildren,mapIntoWithKeyPrefixInternal:mapIntoWithKeyPrefixInternal,count:countChildren,toArray:toArray};module.exports=ReactChildren;

/***/ }),

/***/ "./node_modules/react/lib/ReactClass.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _prodInvariant=__webpack_require__("./node_modules/react/lib/reactProdInvariant.js"),_assign=__webpack_require__("./node_modules/object-assign/index.js");var ReactComponent=__webpack_require__("./node_modules/react/lib/ReactComponent.js");var ReactElement=__webpack_require__("./node_modules/react/lib/ReactElement.js");var ReactPropTypeLocationNames=__webpack_require__("./node_modules/react/lib/ReactPropTypeLocationNames.js");var ReactNoopUpdateQueue=__webpack_require__("./node_modules/react/lib/ReactNoopUpdateQueue.js");var emptyObject=__webpack_require__("./node_modules/fbjs/lib/emptyObject.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");var MIXINS_KEY='mixins';function identity(fn){return fn;}var injectedMixins=[];var ReactClassInterface={mixins:'DEFINE_MANY',statics:'DEFINE_MANY',propTypes:'DEFINE_MANY',contextTypes:'DEFINE_MANY',childContextTypes:'DEFINE_MANY',getDefaultProps:'DEFINE_MANY_MERGED',getInitialState:'DEFINE_MANY_MERGED',getChildContext:'DEFINE_MANY_MERGED',render:'DEFINE_ONCE',componentWillMount:'DEFINE_MANY',componentDidMount:'DEFINE_MANY',componentWillReceiveProps:'DEFINE_MANY',shouldComponentUpdate:'DEFINE_ONCE',componentWillUpdate:'DEFINE_MANY',componentDidUpdate:'DEFINE_MANY',componentWillUnmount:'DEFINE_MANY',updateComponent:'OVERRIDE_BASE'};var RESERVED_SPEC_KEYS={displayName:function displayName(Constructor,_displayName){Constructor.displayName=_displayName;},mixins:function mixins(Constructor,_mixins){if(_mixins){for(var i=0;i<_mixins.length;i++){mixSpecIntoComponent(Constructor,_mixins[i]);}}},childContextTypes:function childContextTypes(Constructor,_childContextTypes){if(false){validateTypeDef(Constructor,_childContextTypes,'childContext');}Constructor.childContextTypes=_assign({},Constructor.childContextTypes,_childContextTypes);},contextTypes:function contextTypes(Constructor,_contextTypes){if(false){validateTypeDef(Constructor,_contextTypes,'context');}Constructor.contextTypes=_assign({},Constructor.contextTypes,_contextTypes);},getDefaultProps:function getDefaultProps(Constructor,_getDefaultProps){if(Constructor.getDefaultProps){Constructor.getDefaultProps=createMergedResultFunction(Constructor.getDefaultProps,_getDefaultProps);}else{Constructor.getDefaultProps=_getDefaultProps;}},propTypes:function propTypes(Constructor,_propTypes){if(false){validateTypeDef(Constructor,_propTypes,'prop');}Constructor.propTypes=_assign({},Constructor.propTypes,_propTypes);},statics:function statics(Constructor,_statics){mixStaticSpecIntoComponent(Constructor,_statics);},autobind:function autobind(){}};function validateTypeDef(Constructor,typeDef,location){for(var propName in typeDef){if(typeDef.hasOwnProperty(propName)){ false?warning(typeof typeDef[propName]==='function','%s: %s type `%s` is invalid; it must be a function, usually from '+'React.PropTypes.',Constructor.displayName||'ReactClass',ReactPropTypeLocationNames[location],propName):void 0;}}}function validateMethodOverride(isAlreadyDefined,name){var specPolicy=ReactClassInterface.hasOwnProperty(name)?ReactClassInterface[name]:null;if(ReactClassMixin.hasOwnProperty(name)){!(specPolicy==='OVERRIDE_BASE')? false?invariant(false,'ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.',name):_prodInvariant('73',name):void 0;}if(isAlreadyDefined){!(specPolicy==='DEFINE_MANY'||specPolicy==='DEFINE_MANY_MERGED')? false?invariant(false,'ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.',name):_prodInvariant('74',name):void 0;}}function mixSpecIntoComponent(Constructor,spec){if(!spec){if(false){var typeofSpec=typeof spec;var isMixinValid=typeofSpec==='object'&&spec!==null;process.env.NODE_ENV!=='production'?warning(isMixinValid,'%s: You\'re attempting to include a mixin that is either null '+'or not an object. Check the mixins included by the component, '+'as well as any mixins they include themselves. '+'Expected object but got %s.',Constructor.displayName||'ReactClass',spec===null?null:typeofSpec):void 0;}return;}!(typeof spec!=='function')? false?invariant(false,'ReactClass: You\'re attempting to use a component class or function as a mixin. Instead, just use a regular object.'):_prodInvariant('75'):void 0;!!ReactElement.isValidElement(spec)? false?invariant(false,'ReactClass: You\'re attempting to use a component as a mixin. Instead, just use a regular object.'):_prodInvariant('76'):void 0;var proto=Constructor.prototype;var autoBindPairs=proto.__reactAutoBindPairs;if(spec.hasOwnProperty(MIXINS_KEY)){RESERVED_SPEC_KEYS.mixins(Constructor,spec.mixins);}for(var name in spec){if(!spec.hasOwnProperty(name)){continue;}if(name===MIXINS_KEY){continue;}var property=spec[name];var isAlreadyDefined=proto.hasOwnProperty(name);validateMethodOverride(isAlreadyDefined,name);if(RESERVED_SPEC_KEYS.hasOwnProperty(name)){RESERVED_SPEC_KEYS[name](Constructor,property);}else{var isReactClassMethod=ReactClassInterface.hasOwnProperty(name);var isFunction=typeof property==='function';var shouldAutoBind=isFunction&&!isReactClassMethod&&!isAlreadyDefined&&spec.autobind!==false;if(shouldAutoBind){autoBindPairs.push(name,property);proto[name]=property;}else{if(isAlreadyDefined){var specPolicy=ReactClassInterface[name];!(isReactClassMethod&&(specPolicy==='DEFINE_MANY_MERGED'||specPolicy==='DEFINE_MANY'))? false?invariant(false,'ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.',specPolicy,name):_prodInvariant('77',specPolicy,name):void 0;if(specPolicy==='DEFINE_MANY_MERGED'){proto[name]=createMergedResultFunction(proto[name],property);}else if(specPolicy==='DEFINE_MANY'){proto[name]=createChainedFunction(proto[name],property);}}else{proto[name]=property;if(false){if(typeof property==='function'&&spec.displayName){proto[name].displayName=spec.displayName+'_'+name;}}}}}}}function mixStaticSpecIntoComponent(Constructor,statics){if(!statics){return;}for(var name in statics){var property=statics[name];if(!statics.hasOwnProperty(name)){continue;}var isReserved=name in RESERVED_SPEC_KEYS;!!isReserved? false?invariant(false,'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.',name):_prodInvariant('78',name):void 0;var isInherited=name in Constructor;!!isInherited? false?invariant(false,'ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.',name):_prodInvariant('79',name):void 0;Constructor[name]=property;}}function mergeIntoWithNoDuplicateKeys(one,two){!(one&&two&&typeof one==='object'&&typeof two==='object')? false?invariant(false,'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.'):_prodInvariant('80'):void 0;for(var key in two){if(two.hasOwnProperty(key)){!(one[key]===undefined)? false?invariant(false,'mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.',key):_prodInvariant('81',key):void 0;one[key]=two[key];}}return one;}function createMergedResultFunction(one,two){return function mergedResult(){var a=one.apply(this,arguments);var b=two.apply(this,arguments);if(a==null){return b;}else if(b==null){return a;}var c={};mergeIntoWithNoDuplicateKeys(c,a);mergeIntoWithNoDuplicateKeys(c,b);return c;};}function createChainedFunction(one,two){return function chainedFunction(){one.apply(this,arguments);two.apply(this,arguments);};}function bindAutoBindMethod(component,method){var boundMethod=method.bind(component);if(false){boundMethod.__reactBoundContext=component;boundMethod.__reactBoundMethod=method;boundMethod.__reactBoundArguments=null;var componentName=component.constructor.displayName;var _bind=boundMethod.bind;boundMethod.bind=function(newThis){for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key];}if(newThis!==component&&newThis!==null){process.env.NODE_ENV!=='production'?warning(false,'bind(): React component methods may only be bound to the '+'component instance. See %s',componentName):void 0;}else if(!args.length){process.env.NODE_ENV!=='production'?warning(false,'bind(): You are binding a component method to the component. '+'React does this for you automatically in a high-performance '+'way, so you can safely remove this call. See %s',componentName):void 0;return boundMethod;}var reboundMethod=_bind.apply(boundMethod,arguments);reboundMethod.__reactBoundContext=component;reboundMethod.__reactBoundMethod=method;reboundMethod.__reactBoundArguments=args;return reboundMethod;};}return boundMethod;}function bindAutoBindMethods(component){var pairs=component.__reactAutoBindPairs;for(var i=0;i<pairs.length;i+=2){var autoBindKey=pairs[i];var method=pairs[i+1];component[autoBindKey]=bindAutoBindMethod(component,method);}}var ReactClassMixin={replaceState:function replaceState(newState,callback){this.updater.enqueueReplaceState(this,newState);if(callback){this.updater.enqueueCallback(this,callback,'replaceState');}},isMounted:function isMounted(){return this.updater.isMounted(this);}};var ReactClassComponent=function ReactClassComponent(){};_assign(ReactClassComponent.prototype,ReactComponent.prototype,ReactClassMixin);var ReactClass={createClass:function createClass(spec){var Constructor=identity(function(props,context,updater){if(false){process.env.NODE_ENV!=='production'?warning(this instanceof Constructor,'Something is calling a React component directly. Use a factory or '+'JSX instead. See: https://fb.me/react-legacyfactory'):void 0;}if(this.__reactAutoBindPairs.length){bindAutoBindMethods(this);}this.props=props;this.context=context;this.refs=emptyObject;this.updater=updater||ReactNoopUpdateQueue;this.state=null;var initialState=this.getInitialState?this.getInitialState():null;if(false){if(initialState===undefined&&this.getInitialState._isMockFunction){initialState=null;}}!(typeof initialState==='object'&&!Array.isArray(initialState))? false?invariant(false,'%s.getInitialState(): must return an object or null',Constructor.displayName||'ReactCompositeComponent'):_prodInvariant('82',Constructor.displayName||'ReactCompositeComponent'):void 0;this.state=initialState;});Constructor.prototype=new ReactClassComponent();Constructor.prototype.constructor=Constructor;Constructor.prototype.__reactAutoBindPairs=[];injectedMixins.forEach(mixSpecIntoComponent.bind(null,Constructor));mixSpecIntoComponent(Constructor,spec);if(Constructor.getDefaultProps){Constructor.defaultProps=Constructor.getDefaultProps();}if(false){if(Constructor.getDefaultProps){Constructor.getDefaultProps.isReactClassApproved={};}if(Constructor.prototype.getInitialState){Constructor.prototype.getInitialState.isReactClassApproved={};}}!Constructor.prototype.render? false?invariant(false,'createClass(...): Class specification must implement a `render` method.'):_prodInvariant('83'):void 0;if(false){process.env.NODE_ENV!=='production'?warning(!Constructor.prototype.componentShouldUpdate,'%s has a method called '+'componentShouldUpdate(). Did you mean shouldComponentUpdate()? '+'The name is phrased as a question because the function is '+'expected to return a value.',spec.displayName||'A component'):void 0;process.env.NODE_ENV!=='production'?warning(!Constructor.prototype.componentWillRecieveProps,'%s has a method called '+'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?',spec.displayName||'A component'):void 0;}for(var methodName in ReactClassInterface){if(!Constructor.prototype[methodName]){Constructor.prototype[methodName]=null;}}return Constructor;},injection:{injectMixin:function injectMixin(mixin){injectedMixins.push(mixin);}}};module.exports=ReactClass;

/***/ }),

/***/ "./node_modules/react/lib/ReactComponent.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _prodInvariant=__webpack_require__("./node_modules/react/lib/reactProdInvariant.js");var ReactNoopUpdateQueue=__webpack_require__("./node_modules/react/lib/ReactNoopUpdateQueue.js");var canDefineProperty=__webpack_require__("./node_modules/react/lib/canDefineProperty.js");var emptyObject=__webpack_require__("./node_modules/fbjs/lib/emptyObject.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");function ReactComponent(props,context,updater){this.props=props;this.context=context;this.refs=emptyObject;this.updater=updater||ReactNoopUpdateQueue;}ReactComponent.prototype.isReactComponent={};ReactComponent.prototype.setState=function(partialState,callback){!(typeof partialState==='object'||typeof partialState==='function'||partialState==null)? false?invariant(false,'setState(...): takes an object of state variables to update or a function which returns an object of state variables.'):_prodInvariant('85'):void 0;this.updater.enqueueSetState(this,partialState);if(callback){this.updater.enqueueCallback(this,callback,'setState');}};ReactComponent.prototype.forceUpdate=function(callback){this.updater.enqueueForceUpdate(this);if(callback){this.updater.enqueueCallback(this,callback,'forceUpdate');}};if(false){var deprecatedAPIs={isMounted:['isMounted','Instead, make sure to clean up subscriptions and pending requests in '+'componentWillUnmount to prevent memory leaks.'],replaceState:['replaceState','Refactor your code to use setState instead (see '+'https://github.com/facebook/react/issues/3236).']};var defineDeprecationWarning=function defineDeprecationWarning(methodName,info){if(canDefineProperty){Object.defineProperty(ReactComponent.prototype,methodName,{get:function get(){process.env.NODE_ENV!=='production'?warning(false,'%s(...) is deprecated in plain JavaScript React classes. %s',info[0],info[1]):void 0;return undefined;}});}};for(var fnName in deprecatedAPIs){if(deprecatedAPIs.hasOwnProperty(fnName)){defineDeprecationWarning(fnName,deprecatedAPIs[fnName]);}}}module.exports=ReactComponent;

/***/ }),

/***/ "./node_modules/react/lib/ReactComponentTreeHook.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _prodInvariant=__webpack_require__("./node_modules/react/lib/reactProdInvariant.js");var ReactCurrentOwner=__webpack_require__("./node_modules/react/lib/ReactCurrentOwner.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");function isNative(fn){var funcToString=Function.prototype.toString;var hasOwnProperty=Object.prototype.hasOwnProperty;var reIsNative=RegExp('^'+funcToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,'\\$&').replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,'$1.*?')+'$');try{var source=funcToString.call(fn);return reIsNative.test(source);}catch(err){return false;}}var canUseCollections=typeof Array.from==='function'&&typeof Map==='function'&&isNative(Map)&&Map.prototype!=null&&typeof Map.prototype.keys==='function'&&isNative(Map.prototype.keys)&&typeof Set==='function'&&isNative(Set)&&Set.prototype!=null&&typeof Set.prototype.keys==='function'&&isNative(Set.prototype.keys);var setItem;var getItem;var removeItem;var getItemIDs;var addRoot;var removeRoot;var getRootIDs;if(canUseCollections){var itemMap=new Map();var rootIDSet=new Set();setItem=function setItem(id,item){itemMap.set(id,item);};getItem=function getItem(id){return itemMap.get(id);};removeItem=function removeItem(id){itemMap['delete'](id);};getItemIDs=function getItemIDs(){return Array.from(itemMap.keys());};addRoot=function addRoot(id){rootIDSet.add(id);};removeRoot=function removeRoot(id){rootIDSet['delete'](id);};getRootIDs=function getRootIDs(){return Array.from(rootIDSet.keys());};}else{var itemByKey={};var rootByKey={};var getKeyFromID=function getKeyFromID(id){return'.'+id;};var getIDFromKey=function getIDFromKey(key){return parseInt(key.substr(1),10);};setItem=function setItem(id,item){var key=getKeyFromID(id);itemByKey[key]=item;};getItem=function getItem(id){var key=getKeyFromID(id);return itemByKey[key];};removeItem=function removeItem(id){var key=getKeyFromID(id);delete itemByKey[key];};getItemIDs=function getItemIDs(){return Object.keys(itemByKey).map(getIDFromKey);};addRoot=function addRoot(id){var key=getKeyFromID(id);rootByKey[key]=true;};removeRoot=function removeRoot(id){var key=getKeyFromID(id);delete rootByKey[key];};getRootIDs=function getRootIDs(){return Object.keys(rootByKey).map(getIDFromKey);};}var unmountedIDs=[];function purgeDeep(id){var item=getItem(id);if(item){var childIDs=item.childIDs;removeItem(id);childIDs.forEach(purgeDeep);}}function describeComponentFrame(name,source,ownerName){return'\n    in '+(name||'Unknown')+(source?' (at '+source.fileName.replace(/^.*[\\\/]/,'')+':'+source.lineNumber+')':ownerName?' (created by '+ownerName+')':'');}function _getDisplayName(element){if(element==null){return'#empty';}else if(typeof element==='string'||typeof element==='number'){return'#text';}else if(typeof element.type==='string'){return element.type;}else{return element.type.displayName||element.type.name||'Unknown';}}function describeID(id){var name=ReactComponentTreeHook.getDisplayName(id);var element=ReactComponentTreeHook.getElement(id);var ownerID=ReactComponentTreeHook.getOwnerID(id);var ownerName;if(ownerID){ownerName=ReactComponentTreeHook.getDisplayName(ownerID);} false?warning(element,'ReactComponentTreeHook: Missing React element for debugID %s when '+'building stack',id):void 0;return describeComponentFrame(name,element&&element._source,ownerName);}var ReactComponentTreeHook={onSetChildren:function onSetChildren(id,nextChildIDs){var item=getItem(id);!item? false?invariant(false,'Item must have been set'):_prodInvariant('144'):void 0;item.childIDs=nextChildIDs;for(var i=0;i<nextChildIDs.length;i++){var nextChildID=nextChildIDs[i];var nextChild=getItem(nextChildID);!nextChild? false?invariant(false,'Expected hook events to fire for the child before its parent includes it in onSetChildren().'):_prodInvariant('140'):void 0;!(nextChild.childIDs!=null||typeof nextChild.element!=='object'||nextChild.element==null)? false?invariant(false,'Expected onSetChildren() to fire for a container child before its parent includes it in onSetChildren().'):_prodInvariant('141'):void 0;!nextChild.isMounted? false?invariant(false,'Expected onMountComponent() to fire for the child before its parent includes it in onSetChildren().'):_prodInvariant('71'):void 0;if(nextChild.parentID==null){nextChild.parentID=id;}!(nextChild.parentID===id)? false?invariant(false,'Expected onBeforeMountComponent() parent and onSetChildren() to be consistent (%s has parents %s and %s).',nextChildID,nextChild.parentID,id):_prodInvariant('142',nextChildID,nextChild.parentID,id):void 0;}},onBeforeMountComponent:function onBeforeMountComponent(id,element,parentID){var item={element:element,parentID:parentID,text:null,childIDs:[],isMounted:false,updateCount:0};setItem(id,item);},onBeforeUpdateComponent:function onBeforeUpdateComponent(id,element){var item=getItem(id);if(!item||!item.isMounted){return;}item.element=element;},onMountComponent:function onMountComponent(id){var item=getItem(id);!item? false?invariant(false,'Item must have been set'):_prodInvariant('144'):void 0;item.isMounted=true;var isRoot=item.parentID===0;if(isRoot){addRoot(id);}},onUpdateComponent:function onUpdateComponent(id){var item=getItem(id);if(!item||!item.isMounted){return;}item.updateCount++;},onUnmountComponent:function onUnmountComponent(id){var item=getItem(id);if(item){item.isMounted=false;var isRoot=item.parentID===0;if(isRoot){removeRoot(id);}}unmountedIDs.push(id);},purgeUnmountedComponents:function purgeUnmountedComponents(){if(ReactComponentTreeHook._preventPurging){return;}for(var i=0;i<unmountedIDs.length;i++){var id=unmountedIDs[i];purgeDeep(id);}unmountedIDs.length=0;},isMounted:function isMounted(id){var item=getItem(id);return item?item.isMounted:false;},getCurrentStackAddendum:function getCurrentStackAddendum(topElement){var info='';if(topElement){var name=_getDisplayName(topElement);var owner=topElement._owner;info+=describeComponentFrame(name,topElement._source,owner&&owner.getName());}var currentOwner=ReactCurrentOwner.current;var id=currentOwner&&currentOwner._debugID;info+=ReactComponentTreeHook.getStackAddendumByID(id);return info;},getStackAddendumByID:function getStackAddendumByID(id){var info='';while(id){info+=describeID(id);id=ReactComponentTreeHook.getParentID(id);}return info;},getChildIDs:function getChildIDs(id){var item=getItem(id);return item?item.childIDs:[];},getDisplayName:function getDisplayName(id){var element=ReactComponentTreeHook.getElement(id);if(!element){return null;}return _getDisplayName(element);},getElement:function getElement(id){var item=getItem(id);return item?item.element:null;},getOwnerID:function getOwnerID(id){var element=ReactComponentTreeHook.getElement(id);if(!element||!element._owner){return null;}return element._owner._debugID;},getParentID:function getParentID(id){var item=getItem(id);return item?item.parentID:null;},getSource:function getSource(id){var item=getItem(id);var element=item?item.element:null;var source=element!=null?element._source:null;return source;},getText:function getText(id){var element=ReactComponentTreeHook.getElement(id);if(typeof element==='string'){return element;}else if(typeof element==='number'){return''+element;}else{return null;}},getUpdateCount:function getUpdateCount(id){var item=getItem(id);return item?item.updateCount:0;},getRootIDs:getRootIDs,getRegisteredIDs:getItemIDs};module.exports=ReactComponentTreeHook;

/***/ }),

/***/ "./node_modules/react/lib/ReactComponentWithPureRenderMixin.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var shallowCompare=__webpack_require__("./node_modules/react/lib/shallowCompare.js");var ReactComponentWithPureRenderMixin={shouldComponentUpdate:function shouldComponentUpdate(nextProps,nextState){return shallowCompare(this,nextProps,nextState);}};module.exports=ReactComponentWithPureRenderMixin;

/***/ }),

/***/ "./node_modules/react/lib/ReactCurrentOwner.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactCurrentOwner={current:null};module.exports=ReactCurrentOwner;

/***/ }),

/***/ "./node_modules/react/lib/ReactDOMFactories.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactElement=__webpack_require__("./node_modules/react/lib/ReactElement.js");var createDOMFactory=ReactElement.createFactory;if(false){var ReactElementValidator=require('./ReactElementValidator');createDOMFactory=ReactElementValidator.createFactory;}var ReactDOMFactories={a:createDOMFactory('a'),abbr:createDOMFactory('abbr'),address:createDOMFactory('address'),area:createDOMFactory('area'),article:createDOMFactory('article'),aside:createDOMFactory('aside'),audio:createDOMFactory('audio'),b:createDOMFactory('b'),base:createDOMFactory('base'),bdi:createDOMFactory('bdi'),bdo:createDOMFactory('bdo'),big:createDOMFactory('big'),blockquote:createDOMFactory('blockquote'),body:createDOMFactory('body'),br:createDOMFactory('br'),button:createDOMFactory('button'),canvas:createDOMFactory('canvas'),caption:createDOMFactory('caption'),cite:createDOMFactory('cite'),code:createDOMFactory('code'),col:createDOMFactory('col'),colgroup:createDOMFactory('colgroup'),data:createDOMFactory('data'),datalist:createDOMFactory('datalist'),dd:createDOMFactory('dd'),del:createDOMFactory('del'),details:createDOMFactory('details'),dfn:createDOMFactory('dfn'),dialog:createDOMFactory('dialog'),div:createDOMFactory('div'),dl:createDOMFactory('dl'),dt:createDOMFactory('dt'),em:createDOMFactory('em'),embed:createDOMFactory('embed'),fieldset:createDOMFactory('fieldset'),figcaption:createDOMFactory('figcaption'),figure:createDOMFactory('figure'),footer:createDOMFactory('footer'),form:createDOMFactory('form'),h1:createDOMFactory('h1'),h2:createDOMFactory('h2'),h3:createDOMFactory('h3'),h4:createDOMFactory('h4'),h5:createDOMFactory('h5'),h6:createDOMFactory('h6'),head:createDOMFactory('head'),header:createDOMFactory('header'),hgroup:createDOMFactory('hgroup'),hr:createDOMFactory('hr'),html:createDOMFactory('html'),i:createDOMFactory('i'),iframe:createDOMFactory('iframe'),img:createDOMFactory('img'),input:createDOMFactory('input'),ins:createDOMFactory('ins'),kbd:createDOMFactory('kbd'),keygen:createDOMFactory('keygen'),label:createDOMFactory('label'),legend:createDOMFactory('legend'),li:createDOMFactory('li'),link:createDOMFactory('link'),main:createDOMFactory('main'),map:createDOMFactory('map'),mark:createDOMFactory('mark'),menu:createDOMFactory('menu'),menuitem:createDOMFactory('menuitem'),meta:createDOMFactory('meta'),meter:createDOMFactory('meter'),nav:createDOMFactory('nav'),noscript:createDOMFactory('noscript'),object:createDOMFactory('object'),ol:createDOMFactory('ol'),optgroup:createDOMFactory('optgroup'),option:createDOMFactory('option'),output:createDOMFactory('output'),p:createDOMFactory('p'),param:createDOMFactory('param'),picture:createDOMFactory('picture'),pre:createDOMFactory('pre'),progress:createDOMFactory('progress'),q:createDOMFactory('q'),rp:createDOMFactory('rp'),rt:createDOMFactory('rt'),ruby:createDOMFactory('ruby'),s:createDOMFactory('s'),samp:createDOMFactory('samp'),script:createDOMFactory('script'),section:createDOMFactory('section'),select:createDOMFactory('select'),small:createDOMFactory('small'),source:createDOMFactory('source'),span:createDOMFactory('span'),strong:createDOMFactory('strong'),style:createDOMFactory('style'),sub:createDOMFactory('sub'),summary:createDOMFactory('summary'),sup:createDOMFactory('sup'),table:createDOMFactory('table'),tbody:createDOMFactory('tbody'),td:createDOMFactory('td'),textarea:createDOMFactory('textarea'),tfoot:createDOMFactory('tfoot'),th:createDOMFactory('th'),thead:createDOMFactory('thead'),time:createDOMFactory('time'),title:createDOMFactory('title'),tr:createDOMFactory('tr'),track:createDOMFactory('track'),u:createDOMFactory('u'),ul:createDOMFactory('ul'),'var':createDOMFactory('var'),video:createDOMFactory('video'),wbr:createDOMFactory('wbr'),circle:createDOMFactory('circle'),clipPath:createDOMFactory('clipPath'),defs:createDOMFactory('defs'),ellipse:createDOMFactory('ellipse'),g:createDOMFactory('g'),image:createDOMFactory('image'),line:createDOMFactory('line'),linearGradient:createDOMFactory('linearGradient'),mask:createDOMFactory('mask'),path:createDOMFactory('path'),pattern:createDOMFactory('pattern'),polygon:createDOMFactory('polygon'),polyline:createDOMFactory('polyline'),radialGradient:createDOMFactory('radialGradient'),rect:createDOMFactory('rect'),stop:createDOMFactory('stop'),svg:createDOMFactory('svg'),text:createDOMFactory('text'),tspan:createDOMFactory('tspan')};module.exports=ReactDOMFactories;

/***/ }),

/***/ "./node_modules/react/lib/ReactElement.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _assign=__webpack_require__("./node_modules/object-assign/index.js");var ReactCurrentOwner=__webpack_require__("./node_modules/react/lib/ReactCurrentOwner.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");var canDefineProperty=__webpack_require__("./node_modules/react/lib/canDefineProperty.js");var hasOwnProperty=Object.prototype.hasOwnProperty;var REACT_ELEMENT_TYPE=__webpack_require__("./node_modules/react/lib/ReactElementSymbol.js");var RESERVED_PROPS={key:true,ref:true,__self:true,__source:true};var specialPropKeyWarningShown,specialPropRefWarningShown;function hasValidRef(config){if(false){if(hasOwnProperty.call(config,'ref')){var getter=Object.getOwnPropertyDescriptor(config,'ref').get;if(getter&&getter.isReactWarning){return false;}}}return config.ref!==undefined;}function hasValidKey(config){if(false){if(hasOwnProperty.call(config,'key')){var getter=Object.getOwnPropertyDescriptor(config,'key').get;if(getter&&getter.isReactWarning){return false;}}}return config.key!==undefined;}function defineKeyPropWarningGetter(props,displayName){var warnAboutAccessingKey=function warnAboutAccessingKey(){if(!specialPropKeyWarningShown){specialPropKeyWarningShown=true; false?warning(false,'%s: `key` is not a prop. Trying to access it will result '+'in `undefined` being returned. If you need to access the same '+'value within the child component, you should pass it as a different '+'prop. (https://fb.me/react-special-props)',displayName):void 0;}};warnAboutAccessingKey.isReactWarning=true;Object.defineProperty(props,'key',{get:warnAboutAccessingKey,configurable:true});}function defineRefPropWarningGetter(props,displayName){var warnAboutAccessingRef=function warnAboutAccessingRef(){if(!specialPropRefWarningShown){specialPropRefWarningShown=true; false?warning(false,'%s: `ref` is not a prop. Trying to access it will result '+'in `undefined` being returned. If you need to access the same '+'value within the child component, you should pass it as a different '+'prop. (https://fb.me/react-special-props)',displayName):void 0;}};warnAboutAccessingRef.isReactWarning=true;Object.defineProperty(props,'ref',{get:warnAboutAccessingRef,configurable:true});}var ReactElement=function ReactElement(type,key,ref,self,source,owner,props){var element={$$typeof:REACT_ELEMENT_TYPE,type:type,key:key,ref:ref,props:props,_owner:owner};if(false){element._store={};if(canDefineProperty){Object.defineProperty(element._store,'validated',{configurable:false,enumerable:false,writable:true,value:false});Object.defineProperty(element,'_self',{configurable:false,enumerable:false,writable:false,value:self});Object.defineProperty(element,'_source',{configurable:false,enumerable:false,writable:false,value:source});}else{element._store.validated=false;element._self=self;element._source=source;}if(Object.freeze){Object.freeze(element.props);Object.freeze(element);}}return element;};ReactElement.createElement=function(type,config,children){var propName;var props={};var key=null;var ref=null;var self=null;var source=null;if(config!=null){if(hasValidRef(config)){ref=config.ref;}if(hasValidKey(config)){key=''+config.key;}self=config.__self===undefined?null:config.__self;source=config.__source===undefined?null:config.__source;for(propName in config){if(hasOwnProperty.call(config,propName)&&!RESERVED_PROPS.hasOwnProperty(propName)){props[propName]=config[propName];}}}var childrenLength=arguments.length-2;if(childrenLength===1){props.children=children;}else if(childrenLength>1){var childArray=Array(childrenLength);for(var i=0;i<childrenLength;i++){childArray[i]=arguments[i+2];}if(false){if(Object.freeze){Object.freeze(childArray);}}props.children=childArray;}if(type&&type.defaultProps){var defaultProps=type.defaultProps;for(propName in defaultProps){if(props[propName]===undefined){props[propName]=defaultProps[propName];}}}if(false){if(key||ref){if(typeof props.$$typeof==='undefined'||props.$$typeof!==REACT_ELEMENT_TYPE){var displayName=typeof type==='function'?type.displayName||type.name||'Unknown':type;if(key){defineKeyPropWarningGetter(props,displayName);}if(ref){defineRefPropWarningGetter(props,displayName);}}}}return ReactElement(type,key,ref,self,source,ReactCurrentOwner.current,props);};ReactElement.createFactory=function(type){var factory=ReactElement.createElement.bind(null,type);factory.type=type;return factory;};ReactElement.cloneAndReplaceKey=function(oldElement,newKey){var newElement=ReactElement(oldElement.type,newKey,oldElement.ref,oldElement._self,oldElement._source,oldElement._owner,oldElement.props);return newElement;};ReactElement.cloneElement=function(element,config,children){var propName;var props=_assign({},element.props);var key=element.key;var ref=element.ref;var self=element._self;var source=element._source;var owner=element._owner;if(config!=null){if(hasValidRef(config)){ref=config.ref;owner=ReactCurrentOwner.current;}if(hasValidKey(config)){key=''+config.key;}var defaultProps;if(element.type&&element.type.defaultProps){defaultProps=element.type.defaultProps;}for(propName in config){if(hasOwnProperty.call(config,propName)&&!RESERVED_PROPS.hasOwnProperty(propName)){if(config[propName]===undefined&&defaultProps!==undefined){props[propName]=defaultProps[propName];}else{props[propName]=config[propName];}}}}var childrenLength=arguments.length-2;if(childrenLength===1){props.children=children;}else if(childrenLength>1){var childArray=Array(childrenLength);for(var i=0;i<childrenLength;i++){childArray[i]=arguments[i+2];}props.children=childArray;}return ReactElement(element.type,key,ref,self,source,owner,props);};ReactElement.isValidElement=function(object){return typeof object==='object'&&object!==null&&object.$$typeof===REACT_ELEMENT_TYPE;};module.exports=ReactElement;

/***/ }),

/***/ "./node_modules/react/lib/ReactElementSymbol.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var REACT_ELEMENT_TYPE=typeof Symbol==='function'&&Symbol['for']&&Symbol['for']('react.element')||0xeac7;module.exports=REACT_ELEMENT_TYPE;

/***/ }),

/***/ "./node_modules/react/lib/ReactFragment.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _prodInvariant=__webpack_require__("./node_modules/react/lib/reactProdInvariant.js");var ReactChildren=__webpack_require__("./node_modules/react/lib/ReactChildren.js");var ReactElement=__webpack_require__("./node_modules/react/lib/ReactElement.js");var emptyFunction=__webpack_require__("./node_modules/fbjs/lib/emptyFunction.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");var numericPropertyRegex=/^\d+$/;var warnedAboutNumeric=false;var ReactFragment={create:function create(object){if(typeof object!=='object'||!object||Array.isArray(object)){ false?warning(false,'React.addons.createFragment only accepts a single object. Got: %s',object):void 0;return object;}if(ReactElement.isValidElement(object)){ false?warning(false,'React.addons.createFragment does not accept a ReactElement '+'without a wrapper object.'):void 0;return object;}!(object.nodeType!==1)? false?invariant(false,'React.addons.createFragment(...): Encountered an invalid child; DOM elements are not valid children of React components.'):_prodInvariant('0'):void 0;var result=[];for(var key in object){if(false){if(!warnedAboutNumeric&&numericPropertyRegex.test(key)){process.env.NODE_ENV!=='production'?warning(false,'React.addons.createFragment(...): Child objects should have '+'non-numeric keys so ordering is preserved.'):void 0;warnedAboutNumeric=true;}}ReactChildren.mapIntoWithKeyPrefixInternal(object[key],result,key,emptyFunction.thatReturnsArgument);}return result;}};module.exports=ReactFragment;

/***/ }),

/***/ "./node_modules/react/lib/ReactLink.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var React=__webpack_require__("./node_modules/react/lib/React.js");function ReactLink(value,requestChange){this.value=value;this.requestChange=requestChange;}function createLinkTypeChecker(linkType){var shapes={value:linkType===undefined?React.PropTypes.any.isRequired:linkType.isRequired,requestChange:React.PropTypes.func.isRequired};return React.PropTypes.shape(shapes);}ReactLink.PropTypes={link:createLinkTypeChecker};module.exports=ReactLink;

/***/ }),

/***/ "./node_modules/react/lib/ReactNoopUpdateQueue.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");function warnNoop(publicInstance,callerName){if(false){var constructor=publicInstance.constructor;process.env.NODE_ENV!=='production'?warning(false,'%s(...): Can only update a mounted or mounting component. '+'This usually means you called %s() on an unmounted component. '+'This is a no-op. Please check the code for the %s component.',callerName,callerName,constructor&&(constructor.displayName||constructor.name)||'ReactClass'):void 0;}}var ReactNoopUpdateQueue={isMounted:function isMounted(publicInstance){return false;},enqueueCallback:function enqueueCallback(publicInstance,callback){},enqueueForceUpdate:function enqueueForceUpdate(publicInstance){warnNoop(publicInstance,'forceUpdate');},enqueueReplaceState:function enqueueReplaceState(publicInstance,completeState){warnNoop(publicInstance,'replaceState');},enqueueSetState:function enqueueSetState(publicInstance,partialState){warnNoop(publicInstance,'setState');}};module.exports=ReactNoopUpdateQueue;

/***/ }),

/***/ "./node_modules/react/lib/ReactPropTypeLocationNames.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactPropTypeLocationNames={};if(false){ReactPropTypeLocationNames={prop:'prop',context:'context',childContext:'child context'};}module.exports=ReactPropTypeLocationNames;

/***/ }),

/***/ "./node_modules/react/lib/ReactPropTypeLocations.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


/***/ }),

/***/ "./node_modules/react/lib/ReactPropTypes.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactElement=__webpack_require__("./node_modules/react/lib/ReactElement.js");var ReactPropTypeLocationNames=__webpack_require__("./node_modules/react/lib/ReactPropTypeLocationNames.js");var ReactPropTypesSecret=__webpack_require__("./node_modules/react/lib/ReactPropTypesSecret.js");var emptyFunction=__webpack_require__("./node_modules/fbjs/lib/emptyFunction.js");var getIteratorFn=__webpack_require__("./node_modules/react/lib/getIteratorFn.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");var ANONYMOUS='<<anonymous>>';var ReactPropTypes={array:createPrimitiveTypeChecker('array'),bool:createPrimitiveTypeChecker('boolean'),func:createPrimitiveTypeChecker('function'),number:createPrimitiveTypeChecker('number'),object:createPrimitiveTypeChecker('object'),string:createPrimitiveTypeChecker('string'),symbol:createPrimitiveTypeChecker('symbol'),any:createAnyTypeChecker(),arrayOf:createArrayOfTypeChecker,element:createElementTypeChecker(),instanceOf:createInstanceTypeChecker,node:createNodeChecker(),objectOf:createObjectOfTypeChecker,oneOf:createEnumTypeChecker,oneOfType:createUnionTypeChecker,shape:createShapeTypeChecker};function is(x,y){if(x===y){return x!==0||1/x===1/y;}else{return x!==x&&y!==y;}}function PropTypeError(message){this.message=message;this.stack='';}PropTypeError.prototype=Error.prototype;function createChainableTypeChecker(validate){if(false){var manualPropTypeCallCache={};}function checkType(isRequired,props,propName,componentName,location,propFullName,secret){componentName=componentName||ANONYMOUS;propFullName=propFullName||propName;if(false){if(secret!==ReactPropTypesSecret&&typeof console!=='undefined'){var cacheKey=componentName+':'+propName;if(!manualPropTypeCallCache[cacheKey]){process.env.NODE_ENV!=='production'?warning(false,'You are manually calling a React.PropTypes validation '+'function for the `%s` prop on `%s`. This is deprecated '+'and will not work in production with the next major version. '+'You may be seeing this warning due to a third-party PropTypes '+'library. See https://fb.me/react-warning-dont-call-proptypes '+'for details.',propFullName,componentName):void 0;manualPropTypeCallCache[cacheKey]=true;}}}if(props[propName]==null){var locationName=ReactPropTypeLocationNames[location];if(isRequired){if(props[propName]===null){return new PropTypeError('The '+locationName+' `'+propFullName+'` is marked as required '+('in `'+componentName+'`, but its value is `null`.'));}return new PropTypeError('The '+locationName+' `'+propFullName+'` is marked as required in '+('`'+componentName+'`, but its value is `undefined`.'));}return null;}else{return validate(props,propName,componentName,location,propFullName);}}var chainedCheckType=checkType.bind(null,false);chainedCheckType.isRequired=checkType.bind(null,true);return chainedCheckType;}function createPrimitiveTypeChecker(expectedType){function validate(props,propName,componentName,location,propFullName,secret){var propValue=props[propName];var propType=getPropType(propValue);if(propType!==expectedType){var locationName=ReactPropTypeLocationNames[location];var preciseType=getPreciseType(propValue);return new PropTypeError('Invalid '+locationName+' `'+propFullName+'` of type '+('`'+preciseType+'` supplied to `'+componentName+'`, expected ')+('`'+expectedType+'`.'));}return null;}return createChainableTypeChecker(validate);}function createAnyTypeChecker(){return createChainableTypeChecker(emptyFunction.thatReturns(null));}function createArrayOfTypeChecker(typeChecker){function validate(props,propName,componentName,location,propFullName){if(typeof typeChecker!=='function'){return new PropTypeError('Property `'+propFullName+'` of component `'+componentName+'` has invalid PropType notation inside arrayOf.');}var propValue=props[propName];if(!Array.isArray(propValue)){var locationName=ReactPropTypeLocationNames[location];var propType=getPropType(propValue);return new PropTypeError('Invalid '+locationName+' `'+propFullName+'` of type '+('`'+propType+'` supplied to `'+componentName+'`, expected an array.'));}for(var i=0;i<propValue.length;i++){var error=typeChecker(propValue,i,componentName,location,propFullName+'['+i+']',ReactPropTypesSecret);if(error instanceof Error){return error;}}return null;}return createChainableTypeChecker(validate);}function createElementTypeChecker(){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];if(!ReactElement.isValidElement(propValue)){var locationName=ReactPropTypeLocationNames[location];var propType=getPropType(propValue);return new PropTypeError('Invalid '+locationName+' `'+propFullName+'` of type '+('`'+propType+'` supplied to `'+componentName+'`, expected a single ReactElement.'));}return null;}return createChainableTypeChecker(validate);}function createInstanceTypeChecker(expectedClass){function validate(props,propName,componentName,location,propFullName){if(!(props[propName]instanceof expectedClass)){var locationName=ReactPropTypeLocationNames[location];var expectedClassName=expectedClass.name||ANONYMOUS;var actualClassName=getClassName(props[propName]);return new PropTypeError('Invalid '+locationName+' `'+propFullName+'` of type '+('`'+actualClassName+'` supplied to `'+componentName+'`, expected ')+('instance of `'+expectedClassName+'`.'));}return null;}return createChainableTypeChecker(validate);}function createEnumTypeChecker(expectedValues){if(!Array.isArray(expectedValues)){ false?warning(false,'Invalid argument supplied to oneOf, expected an instance of array.'):void 0;return emptyFunction.thatReturnsNull;}function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];for(var i=0;i<expectedValues.length;i++){if(is(propValue,expectedValues[i])){return null;}}var locationName=ReactPropTypeLocationNames[location];var valuesString=JSON.stringify(expectedValues);return new PropTypeError('Invalid '+locationName+' `'+propFullName+'` of value `'+propValue+'` '+('supplied to `'+componentName+'`, expected one of '+valuesString+'.'));}return createChainableTypeChecker(validate);}function createObjectOfTypeChecker(typeChecker){function validate(props,propName,componentName,location,propFullName){if(typeof typeChecker!=='function'){return new PropTypeError('Property `'+propFullName+'` of component `'+componentName+'` has invalid PropType notation inside objectOf.');}var propValue=props[propName];var propType=getPropType(propValue);if(propType!=='object'){var locationName=ReactPropTypeLocationNames[location];return new PropTypeError('Invalid '+locationName+' `'+propFullName+'` of type '+('`'+propType+'` supplied to `'+componentName+'`, expected an object.'));}for(var key in propValue){if(propValue.hasOwnProperty(key)){var error=typeChecker(propValue,key,componentName,location,propFullName+'.'+key,ReactPropTypesSecret);if(error instanceof Error){return error;}}}return null;}return createChainableTypeChecker(validate);}function createUnionTypeChecker(arrayOfTypeCheckers){if(!Array.isArray(arrayOfTypeCheckers)){ false?warning(false,'Invalid argument supplied to oneOfType, expected an instance of array.'):void 0;return emptyFunction.thatReturnsNull;}function validate(props,propName,componentName,location,propFullName){for(var i=0;i<arrayOfTypeCheckers.length;i++){var checker=arrayOfTypeCheckers[i];if(checker(props,propName,componentName,location,propFullName,ReactPropTypesSecret)==null){return null;}}var locationName=ReactPropTypeLocationNames[location];return new PropTypeError('Invalid '+locationName+' `'+propFullName+'` supplied to '+('`'+componentName+'`.'));}return createChainableTypeChecker(validate);}function createNodeChecker(){function validate(props,propName,componentName,location,propFullName){if(!isNode(props[propName])){var locationName=ReactPropTypeLocationNames[location];return new PropTypeError('Invalid '+locationName+' `'+propFullName+'` supplied to '+('`'+componentName+'`, expected a ReactNode.'));}return null;}return createChainableTypeChecker(validate);}function createShapeTypeChecker(shapeTypes){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];var propType=getPropType(propValue);if(propType!=='object'){var locationName=ReactPropTypeLocationNames[location];return new PropTypeError('Invalid '+locationName+' `'+propFullName+'` of type `'+propType+'` '+('supplied to `'+componentName+'`, expected `object`.'));}for(var key in shapeTypes){var checker=shapeTypes[key];if(!checker){continue;}var error=checker(propValue,key,componentName,location,propFullName+'.'+key,ReactPropTypesSecret);if(error){return error;}}return null;}return createChainableTypeChecker(validate);}function isNode(propValue){switch(typeof propValue){case'number':case'string':case'undefined':return true;case'boolean':return!propValue;case'object':if(Array.isArray(propValue)){return propValue.every(isNode);}if(propValue===null||ReactElement.isValidElement(propValue)){return true;}var iteratorFn=getIteratorFn(propValue);if(iteratorFn){var iterator=iteratorFn.call(propValue);var step;if(iteratorFn!==propValue.entries){while(!(step=iterator.next()).done){if(!isNode(step.value)){return false;}}}else{while(!(step=iterator.next()).done){var entry=step.value;if(entry){if(!isNode(entry[1])){return false;}}}}}else{return false;}return true;default:return false;}}function isSymbol(propType,propValue){if(propType==='symbol'){return true;}if(propValue['@@toStringTag']==='Symbol'){return true;}if(typeof Symbol==='function'&&propValue instanceof Symbol){return true;}return false;}function getPropType(propValue){var propType=typeof propValue;if(Array.isArray(propValue)){return'array';}if(propValue instanceof RegExp){return'object';}if(isSymbol(propType,propValue)){return'symbol';}return propType;}function getPreciseType(propValue){var propType=getPropType(propValue);if(propType==='object'){if(propValue instanceof Date){return'date';}else if(propValue instanceof RegExp){return'regexp';}}return propType;}function getClassName(propValue){if(!propValue.constructor||!propValue.constructor.name){return ANONYMOUS;}return propValue.constructor.name;}module.exports=ReactPropTypes;

/***/ }),

/***/ "./node_modules/react/lib/ReactPropTypesSecret.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactPropTypesSecret='SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';module.exports=ReactPropTypesSecret;

/***/ }),

/***/ "./node_modules/react/lib/ReactPureComponent.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _assign=__webpack_require__("./node_modules/object-assign/index.js");var ReactComponent=__webpack_require__("./node_modules/react/lib/ReactComponent.js");var ReactNoopUpdateQueue=__webpack_require__("./node_modules/react/lib/ReactNoopUpdateQueue.js");var emptyObject=__webpack_require__("./node_modules/fbjs/lib/emptyObject.js");function ReactPureComponent(props,context,updater){this.props=props;this.context=context;this.refs=emptyObject;this.updater=updater||ReactNoopUpdateQueue;}function ComponentDummy(){}ComponentDummy.prototype=ReactComponent.prototype;ReactPureComponent.prototype=new ComponentDummy();ReactPureComponent.prototype.constructor=ReactPureComponent;_assign(ReactPureComponent.prototype,ReactComponent.prototype);ReactPureComponent.prototype.isPureReactComponent=true;module.exports=ReactPureComponent;

/***/ }),

/***/ "./node_modules/react/lib/ReactStateSetters.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ReactStateSetters={createStateSetter:function createStateSetter(component,funcReturningState){return function(a,b,c,d,e,f){var partialState=funcReturningState.call(component,a,b,c,d,e,f);if(partialState){component.setState(partialState);}};},createStateKeySetter:function createStateKeySetter(component,key){var cache=component.__keySetters||(component.__keySetters={});return cache[key]||(cache[key]=_createStateKeySetter(component,key));}};function _createStateKeySetter(component,key){var partialState={};return function stateKeySetter(value){partialState[key]=value;component.setState(partialState);};}ReactStateSetters.Mixin={createStateSetter:function createStateSetter(funcReturningState){return ReactStateSetters.createStateSetter(this,funcReturningState);},createStateKeySetter:function createStateKeySetter(key){return ReactStateSetters.createStateKeySetter(this,key);}};module.exports=ReactStateSetters;

/***/ }),

/***/ "./node_modules/react/lib/ReactVersion.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
module.exports='15.4.2';

/***/ }),

/***/ "./node_modules/react/lib/canDefineProperty.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var canDefineProperty=false;if(false){try{Object.defineProperty({},'x',{get:function get(){}});canDefineProperty=true;}catch(x){}}module.exports=canDefineProperty;

/***/ }),

/***/ "./node_modules/react/lib/getIteratorFn.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var ITERATOR_SYMBOL=typeof Symbol==='function'&&(typeof Symbol==='function'?Symbol.iterator:'@@iterator');var FAUX_ITERATOR_SYMBOL='@@iterator';function getIteratorFn(maybeIterable){var iteratorFn=maybeIterable&&(ITERATOR_SYMBOL&&maybeIterable[ITERATOR_SYMBOL]||maybeIterable[FAUX_ITERATOR_SYMBOL]);if(typeof iteratorFn==='function'){return iteratorFn;}}module.exports=getIteratorFn;

/***/ }),

/***/ "./node_modules/react/lib/onlyChild.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _prodInvariant=__webpack_require__("./node_modules/react/lib/reactProdInvariant.js");var ReactElement=__webpack_require__("./node_modules/react/lib/ReactElement.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");function onlyChild(children){!ReactElement.isValidElement(children)? false?invariant(false,'React.Children.only expected to receive a single React element child.'):_prodInvariant('143'):void 0;return children;}module.exports=onlyChild;

/***/ }),

/***/ "./node_modules/react/lib/reactProdInvariant.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
function reactProdInvariant(code){var argCount=arguments.length-1;var message='Minified React error #'+code+'; visit '+'http://facebook.github.io/react/docs/error-decoder.html?invariant='+code;for(var argIdx=0;argIdx<argCount;argIdx++){message+='&args[]='+encodeURIComponent(arguments[argIdx+1]);}message+=' for the full message or use the non-minified dev environment'+' for full errors and additional helpful warnings.';var error=new Error(message);error.name='Invariant Violation';error.framesToPop=1;throw error;}module.exports=reactProdInvariant;

/***/ }),

/***/ "./node_modules/react/lib/shallowCompare.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var shallowEqual=__webpack_require__("./node_modules/fbjs/lib/shallowEqual.js");function shallowCompare(instance,nextProps,nextState){return!shallowEqual(instance.props,nextProps)||!shallowEqual(instance.state,nextState);}module.exports=shallowCompare;

/***/ }),

/***/ "./node_modules/react/lib/traverseAllChildren.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _prodInvariant=__webpack_require__("./node_modules/react/lib/reactProdInvariant.js");var ReactCurrentOwner=__webpack_require__("./node_modules/react/lib/ReactCurrentOwner.js");var REACT_ELEMENT_TYPE=__webpack_require__("./node_modules/react/lib/ReactElementSymbol.js");var getIteratorFn=__webpack_require__("./node_modules/react/lib/getIteratorFn.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var KeyEscapeUtils=__webpack_require__("./node_modules/react/lib/KeyEscapeUtils.js");var warning=__webpack_require__("./node_modules/fbjs/lib/warning.js");var SEPARATOR='.';var SUBSEPARATOR=':';var didWarnAboutMaps=false;function getComponentKey(component,index){if(component&&typeof component==='object'&&component.key!=null){return KeyEscapeUtils.escape(component.key);}return index.toString(36);}function traverseAllChildrenImpl(children,nameSoFar,callback,traverseContext){var type=typeof children;if(type==='undefined'||type==='boolean'){children=null;}if(children===null||type==='string'||type==='number'||type==='object'&&children.$$typeof===REACT_ELEMENT_TYPE){callback(traverseContext,children,nameSoFar===''?SEPARATOR+getComponentKey(children,0):nameSoFar);return 1;}var child;var nextName;var subtreeCount=0;var nextNamePrefix=nameSoFar===''?SEPARATOR:nameSoFar+SUBSEPARATOR;if(Array.isArray(children)){for(var i=0;i<children.length;i++){child=children[i];nextName=nextNamePrefix+getComponentKey(child,i);subtreeCount+=traverseAllChildrenImpl(child,nextName,callback,traverseContext);}}else{var iteratorFn=getIteratorFn(children);if(iteratorFn){var iterator=iteratorFn.call(children);var step;if(iteratorFn!==children.entries){var ii=0;while(!(step=iterator.next()).done){child=step.value;nextName=nextNamePrefix+getComponentKey(child,ii++);subtreeCount+=traverseAllChildrenImpl(child,nextName,callback,traverseContext);}}else{if(false){var mapsAsChildrenAddendum='';if(ReactCurrentOwner.current){var mapsAsChildrenOwnerName=ReactCurrentOwner.current.getName();if(mapsAsChildrenOwnerName){mapsAsChildrenAddendum=' Check the render method of `'+mapsAsChildrenOwnerName+'`.';}}process.env.NODE_ENV!=='production'?warning(didWarnAboutMaps,'Using Maps as children is not yet fully supported. It is an '+'experimental feature that might be removed. Convert it to a '+'sequence / iterable of keyed ReactElements instead.%s',mapsAsChildrenAddendum):void 0;didWarnAboutMaps=true;}while(!(step=iterator.next()).done){var entry=step.value;if(entry){child=entry[1];nextName=nextNamePrefix+KeyEscapeUtils.escape(entry[0])+SUBSEPARATOR+getComponentKey(child,0);subtreeCount+=traverseAllChildrenImpl(child,nextName,callback,traverseContext);}}}}else if(type==='object'){var addendum='';if(false){addendum=' If you meant to render a collection of children, use an array '+'instead or wrap the object using createFragment(object) from the '+'React add-ons.';if(children._isReactElement){addendum=' It looks like you\'re using an element created by a different '+'version of React. Make sure to use only one copy of React.';}if(ReactCurrentOwner.current){var name=ReactCurrentOwner.current.getName();if(name){addendum+=' Check the render method of `'+name+'`.';}}}var childrenString=String(children); true? false?invariant(false,'Objects are not valid as a React child (found: %s).%s',childrenString==='[object Object]'?'object with keys {'+Object.keys(children).join(', ')+'}':childrenString,addendum):_prodInvariant('31',childrenString==='[object Object]'?'object with keys {'+Object.keys(children).join(', ')+'}':childrenString,addendum):void 0;}}return subtreeCount;}function traverseAllChildren(children,callback,traverseContext){if(children==null){return 0;}return traverseAllChildrenImpl(children,'',callback,traverseContext);}module.exports=traverseAllChildren;

/***/ }),

/***/ "./node_modules/react/lib/update.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
var _prodInvariant=__webpack_require__("./node_modules/react/lib/reactProdInvariant.js"),_assign=__webpack_require__("./node_modules/object-assign/index.js");var invariant=__webpack_require__("./node_modules/fbjs/lib/invariant.js");var hasOwnProperty={}.hasOwnProperty;function shallowCopy(x){if(Array.isArray(x)){return x.concat();}else if(x&&typeof x==='object'){return _assign(new x.constructor(),x);}else{return x;}}var COMMAND_PUSH='$push';var COMMAND_UNSHIFT='$unshift';var COMMAND_SPLICE='$splice';var COMMAND_SET='$set';var COMMAND_MERGE='$merge';var COMMAND_APPLY='$apply';var ALL_COMMANDS_LIST=[COMMAND_PUSH,COMMAND_UNSHIFT,COMMAND_SPLICE,COMMAND_SET,COMMAND_MERGE,COMMAND_APPLY];var ALL_COMMANDS_SET={};ALL_COMMANDS_LIST.forEach(function(command){ALL_COMMANDS_SET[command]=true;});function invariantArrayCase(value,spec,command){!Array.isArray(value)? false?invariant(false,'update(): expected target of %s to be an array; got %s.',command,value):_prodInvariant('1',command,value):void 0;var specValue=spec[command];!Array.isArray(specValue)? false?invariant(false,'update(): expected spec of %s to be an array; got %s. Did you forget to wrap your parameter in an array?',command,specValue):_prodInvariant('2',command,specValue):void 0;}function update(value,spec){!(typeof spec==='object')? false?invariant(false,'update(): You provided a key path to update() that did not contain one of %s. Did you forget to include {%s: ...}?',ALL_COMMANDS_LIST.join(', '),COMMAND_SET):_prodInvariant('3',ALL_COMMANDS_LIST.join(', '),COMMAND_SET):void 0;if(hasOwnProperty.call(spec,COMMAND_SET)){!(Object.keys(spec).length===1)? false?invariant(false,'Cannot have more than one key in an object with %s',COMMAND_SET):_prodInvariant('4',COMMAND_SET):void 0;return spec[COMMAND_SET];}var nextValue=shallowCopy(value);if(hasOwnProperty.call(spec,COMMAND_MERGE)){var mergeObj=spec[COMMAND_MERGE];!(mergeObj&&typeof mergeObj==='object')? false?invariant(false,'update(): %s expects a spec of type \'object\'; got %s',COMMAND_MERGE,mergeObj):_prodInvariant('5',COMMAND_MERGE,mergeObj):void 0;!(nextValue&&typeof nextValue==='object')? false?invariant(false,'update(): %s expects a target of type \'object\'; got %s',COMMAND_MERGE,nextValue):_prodInvariant('6',COMMAND_MERGE,nextValue):void 0;_assign(nextValue,spec[COMMAND_MERGE]);}if(hasOwnProperty.call(spec,COMMAND_PUSH)){invariantArrayCase(value,spec,COMMAND_PUSH);spec[COMMAND_PUSH].forEach(function(item){nextValue.push(item);});}if(hasOwnProperty.call(spec,COMMAND_UNSHIFT)){invariantArrayCase(value,spec,COMMAND_UNSHIFT);spec[COMMAND_UNSHIFT].forEach(function(item){nextValue.unshift(item);});}if(hasOwnProperty.call(spec,COMMAND_SPLICE)){!Array.isArray(value)? false?invariant(false,'Expected %s target to be an array; got %s',COMMAND_SPLICE,value):_prodInvariant('7',COMMAND_SPLICE,value):void 0;!Array.isArray(spec[COMMAND_SPLICE])? false?invariant(false,'update(): expected spec of %s to be an array of arrays; got %s. Did you forget to wrap your parameters in an array?',COMMAND_SPLICE,spec[COMMAND_SPLICE]):_prodInvariant('8',COMMAND_SPLICE,spec[COMMAND_SPLICE]):void 0;spec[COMMAND_SPLICE].forEach(function(args){!Array.isArray(args)? false?invariant(false,'update(): expected spec of %s to be an array of arrays; got %s. Did you forget to wrap your parameters in an array?',COMMAND_SPLICE,spec[COMMAND_SPLICE]):_prodInvariant('8',COMMAND_SPLICE,spec[COMMAND_SPLICE]):void 0;nextValue.splice.apply(nextValue,args);});}if(hasOwnProperty.call(spec,COMMAND_APPLY)){!(typeof spec[COMMAND_APPLY]==='function')? false?invariant(false,'update(): expected spec of %s to be a function; got %s.',COMMAND_APPLY,spec[COMMAND_APPLY]):_prodInvariant('9',COMMAND_APPLY,spec[COMMAND_APPLY]):void 0;nextValue=spec[COMMAND_APPLY](nextValue);}for(var k in spec){if(!(ALL_COMMANDS_SET.hasOwnProperty(k)&&ALL_COMMANDS_SET[k])){nextValue[k]=update(value[k],spec[k]);}}return nextValue;}module.exports=update;

/***/ }),

/***/ "./node_modules/react/react.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
module.exports=__webpack_require__("./node_modules/react/lib/React.js");

/***/ }),

/***/ "./node_modules/rebound/rebound.js":
/***/ (function(module, exports, __webpack_require__) {

/* WEBPACK VAR INJECTION */(function(process, setImmediate) {// Rebound
// =======
// **Rebound** is a simple library that models Spring dynamics for the
// purpose of driving physical animations.
//
// Origin
// ------
// [Rebound](http://facebook.github.io/rebound) was originally written
// in Java to provide a lightweight physics system for
// [Home](https://play.google.com/store/apps/details?id=com.facebook.home) and
// [Chat Heads](https://play.google.com/store/apps/details?id=com.facebook.orca)
// on Android. It's now been adopted by several other Android
// applications. This JavaScript port was written to provide a quick
// way to demonstrate Rebound animations on the web for a
// [conference talk](https://www.youtube.com/watch?v=s5kNm-DgyjY). Since then
// the JavaScript version has been used to build some really nice interfaces.
// Check out [brandonwalkin.com](http://brandonwalkin.com) for an
// example.
//
// Overview
// --------
// The Library provides a SpringSystem for maintaining a set of Spring
// objects and iterating those Springs through a physics solver loop
// until equilibrium is achieved. The Spring class is the basic
// animation driver provided by Rebound. By attaching a listener to
// a Spring, you can observe its motion. The observer function is
// notified of position changes on the spring as it solves for
// equilibrium. These position updates can be mapped to an animation
// range to drive animated property updates on your user interface
// elements (translation, rotation, scale, etc).
//
// Example
// -------
// Here's a simple example. Pressing and releasing on the logo below
// will cause it to scale up and down with a springy animation.
//
// <div style="text-align:center; margin-bottom:50px; margin-top:50px">
//   <img
//     src="http://facebook.github.io/rebound/images/rebound.png"
//     id="logo"
//   />
// </div>
// <script src="../rebound.min.js"></script>
// <script>
//
// function scale(el, val) {
//   el.style.mozTransform =
//   el.style.msTransform =
//   el.style.webkitTransform =
//   el.style.transform = 'scale3d(' + val + ', ' + val + ', 1)';
// }
// var el = document.getElementById('logo');
//
// var springSystem = new rebound.SpringSystem();
// var spring = springSystem.createSpring(50, 3);
// spring.addListener({
//   onSpringUpdate: function(spring) {
//     var val = spring.getCurrentValue();
//     val = rebound.MathUtil.mapValueInRange(val, 0, 1, 1, 0.5);
//     scale(el, val);
//   }
// });
//
// el.addEventListener('mousedown', function() {
//   spring.setEndValue(1);
// });
//
// el.addEventListener('mouseout', function() {
//   spring.setEndValue(0);
// });
//
// el.addEventListener('mouseup', function() {
//   spring.setEndValue(0);
// });
//
// </script>
//
// Here's how it works.
//
// ```
// // Get a reference to the logo element.
// var el = document.getElementById('logo');
//
// // create a SpringSystem and a Spring with a bouncy config.
// var springSystem = new rebound.SpringSystem();
// var spring = springSystem.createSpring(50, 3);
//
// // Add a listener to the spring. Every time the physics
// // solver updates the Spring's value onSpringUpdate will
// // be called.
// spring.addListener({
//   onSpringUpdate: function(spring) {
//     var val = spring.getCurrentValue();
//     val = rebound.MathUtil
//                  .mapValueInRange(val, 0, 1, 1, 0.5);
//     scale(el, val);
//   }
// });
//
// // Listen for mouse down/up/out and toggle the
// //springs endValue from 0 to 1.
// el.addEventListener('mousedown', function() {
//   spring.setEndValue(1);
// });
//
// el.addEventListener('mouseout', function() {
//   spring.setEndValue(0);
// });
//
// el.addEventListener('mouseup', function() {
//   spring.setEndValue(0);
// });
//
// // Helper for scaling an element with css transforms.
// function scale(el, val) {
//   el.style.mozTransform =
//   el.style.msTransform =
//   el.style.webkitTransform =
//   el.style.transform = 'scale3d(' +
//     val + ', ' + val + ', 1)';
// }
// ```

(function() {
  var rebound = {};
  var util = rebound.util = {};
  var concat = Array.prototype.concat;
  var slice = Array.prototype.slice;

  // Bind a function to a context object.
  util.bind = function bind(func, context) {
    var args = slice.call(arguments, 2);
    return function() {
      func.apply(context, concat.call(args, slice.call(arguments)));
    };
  };

  // Add all the properties in the source to the target.
  util.extend = function extend(target, source) {
    for (var key in source) {
      if (source.hasOwnProperty(key)) {
        target[key] = source[key];
      }
    }
  };

  // SpringSystem
  // ------------
  // **SpringSystem** is a set of Springs that all run on the same physics
  // timing loop. To get started with a Rebound animation you first
  // create a new SpringSystem and then add springs to it.
  var SpringSystem = rebound.SpringSystem = function SpringSystem(looper) {
    this._springRegistry = {};
    this._activeSprings = [];
    this.listeners = [];
    this._idleSpringIndices = [];
    this.looper = looper || new AnimationLooper();
    this.looper.springSystem = this;
  };

  util.extend(SpringSystem.prototype, {

    _springRegistry: null,

    _isIdle: true,

    _lastTimeMillis: -1,

    _activeSprings: null,

    listeners: null,

    _idleSpringIndices: null,

    // A SpringSystem is iterated by a looper. The looper is responsible
    // for executing each frame as the SpringSystem is resolved to idle.
    // There are three types of Loopers described below AnimationLooper,
    // SimulationLooper, and SteppingSimulationLooper. AnimationLooper is
    // the default as it is the most useful for common UI animations.
    setLooper: function(looper) {
      this.looper = looper;
      looper.springSystem = this;
    },

    // Add a new spring to this SpringSystem. This Spring will now be solved for
    // during the physics iteration loop. By default the spring will use the
    // default Origami spring config with 40 tension and 7 friction, but you can
    // also provide your own values here.
    createSpring: function(tension, friction) {
      var springConfig;
      if (tension === undefined || friction === undefined) {
        springConfig = SpringConfig.DEFAULT_ORIGAMI_SPRING_CONFIG;
      } else {
        springConfig =
          SpringConfig.fromOrigamiTensionAndFriction(tension, friction);
      }
      return this.createSpringWithConfig(springConfig);
    },

    // Add a spring with a specified bounciness and speed. To replicate Origami
    // compositions based on PopAnimation patches, use this factory method to
    // create matching springs.
    createSpringWithBouncinessAndSpeed: function(bounciness, speed) {
      var springConfig;
      if (bounciness === undefined || speed === undefined) {
        springConfig = SpringConfig.DEFAULT_ORIGAMI_SPRING_CONFIG;
      } else {
        springConfig =
          SpringConfig.fromBouncinessAndSpeed(bounciness, speed);
      }
      return this.createSpringWithConfig(springConfig);
    },

    // Add a spring with the provided SpringConfig.
    createSpringWithConfig: function(springConfig) {
      var spring = new Spring(this);
      this.registerSpring(spring);
      spring.setSpringConfig(springConfig);
      return spring;
    },

    // You can check if a SpringSystem is idle or active by calling
    // getIsIdle. If all of the Springs in the SpringSystem are at rest,
    // i.e. the physics forces have reached equilibrium, then this
    // method will return true.
    getIsIdle: function() {
      return this._isIdle;
    },

    // Retrieve a specific Spring from the SpringSystem by id. This
    // can be useful for inspecting the state of a spring before
    // or after an integration loop in the SpringSystem executes.
    getSpringById: function (id) {
      return this._springRegistry[id];
    },

    // Get a listing of all the springs registered with this
    // SpringSystem.
    getAllSprings: function() {
      var vals = [];
      for (var id in this._springRegistry) {
        if (this._springRegistry.hasOwnProperty(id)) {
          vals.push(this._springRegistry[id]);
        }
      }
      return vals;
    },

    // registerSpring is called automatically as soon as you create
    // a Spring with SpringSystem#createSpring. This method sets the
    // spring up in the registry so that it can be solved in the
    // solver loop.
    registerSpring: function(spring) {
      this._springRegistry[spring.getId()] = spring;
    },

    // Deregister a spring with this SpringSystem. The SpringSystem will
    // no longer consider this Spring during its integration loop once
    // this is called. This is normally done automatically for you when
    // you call Spring#destroy.
    deregisterSpring: function(spring) {
      removeFirst(this._activeSprings, spring);
      delete this._springRegistry[spring.getId()];
    },

    advance: function(time, deltaTime) {
      while(this._idleSpringIndices.length > 0) this._idleSpringIndices.pop();
      for (var i = 0, len = this._activeSprings.length; i < len; i++) {
        var spring = this._activeSprings[i];
        if (spring.systemShouldAdvance()) {
          spring.advance(time / 1000.0, deltaTime / 1000.0);
        } else {
          this._idleSpringIndices.push(this._activeSprings.indexOf(spring));
        }
      }
      while(this._idleSpringIndices.length > 0) {
        var idx = this._idleSpringIndices.pop();
        idx >= 0 && this._activeSprings.splice(idx, 1);
      }
    },

    // This is our main solver loop called to move the simulation
    // forward through time. Before each pass in the solver loop
    // onBeforeIntegrate is called on an any listeners that have
    // registered themeselves with the SpringSystem. This gives you
    // an opportunity to apply any constraints or adjustments to
    // the springs that should be enforced before each iteration
    // loop. Next the advance method is called to move each Spring in
    // the systemShouldAdvance forward to the current time. After the
    // integration step runs in advance, onAfterIntegrate is called
    // on any listeners that have registered themselves with the
    // SpringSystem. This gives you an opportunity to run any post
    // integration constraints or adjustments on the Springs in the
    // SpringSystem.
    loop: function(currentTimeMillis) {
      var listener;
      if (this._lastTimeMillis === -1) {
        this._lastTimeMillis = currentTimeMillis -1;
      }
      var ellapsedMillis = currentTimeMillis - this._lastTimeMillis;
      this._lastTimeMillis = currentTimeMillis;

      var i = 0, len = this.listeners.length;
      for (i = 0; i < len; i++) {
        listener = this.listeners[i];
        listener.onBeforeIntegrate && listener.onBeforeIntegrate(this);
      }

      this.advance(currentTimeMillis, ellapsedMillis);
      if (this._activeSprings.length === 0) {
        this._isIdle = true;
        this._lastTimeMillis = -1;
      }

      for (i = 0; i < len; i++) {
        listener = this.listeners[i];
        listener.onAfterIntegrate && listener.onAfterIntegrate(this);
      }

      if (!this._isIdle) {
        this.looper.run();
      }
    },

    // activateSpring is used to notify the SpringSystem that a Spring
    // has become displaced. The system responds by starting its solver
    // loop up if it is currently idle.
    activateSpring: function(springId) {
      var spring = this._springRegistry[springId];
      if (this._activeSprings.indexOf(spring) == -1) {
        this._activeSprings.push(spring);
      }
      if (this.getIsIdle()) {
        this._isIdle = false;
        this.looper.run();
      }
    },

    // Add a listener to the SpringSystem so that you can receive
    // before/after integration notifications allowing Springs to be
    // constrained or adjusted.
    addListener: function(listener) {
      this.listeners.push(listener);
    },

    // Remove a previously added listener on the SpringSystem.
    removeListener: function(listener) {
      removeFirst(this.listeners, listener);
    },

    // Remove all previously added listeners on the SpringSystem.
    removeAllListeners: function() {
      this.listeners = [];
    }

  });

  // Spring
  // ------
  // **Spring** provides a model of a classical spring acting to
  // resolve a body to equilibrium. Springs have configurable
  // tension which is a force multipler on the displacement of the
  // spring from its rest point or `endValue` as defined by [Hooke's
  // law](http://en.wikipedia.org/wiki/Hooke's_law). Springs also have
  // configurable friction, which ensures that they do not oscillate
  // infinitely. When a Spring is displaced by updating it's resting
  // or `currentValue`, the SpringSystems that contain that Spring
  // will automatically start looping to solve for equilibrium. As each
  // timestep passes, `SpringListener` objects attached to the Spring
  // will be notified of the updates providing a way to drive an
  // animation off of the spring's resolution curve.
  var Spring = rebound.Spring = function Spring(springSystem) {
    this._id = 's' + Spring._ID++;
    this._springSystem = springSystem;
    this.listeners = [];
    this._currentState = new PhysicsState();
    this._previousState = new PhysicsState();
    this._tempState = new PhysicsState();
  };

  util.extend(Spring, {
    _ID: 0,

    MAX_DELTA_TIME_SEC: 0.064,

    SOLVER_TIMESTEP_SEC: 0.001

  });

  util.extend(Spring.prototype, {

    _id: 0,

    _springConfig: null,

    _overshootClampingEnabled: false,

    _currentState: null,

    _previousState: null,

    _tempState: null,

    _startValue: 0,

    _endValue: 0,

    _wasAtRest: true,

    _restSpeedThreshold: 0.001,

    _displacementFromRestThreshold: 0.001,

    listeners: null,

    _timeAccumulator: 0,

    _springSystem: null,

    // Remove a Spring from simulation and clear its listeners.
    destroy: function() {
      this.listeners = [];
      this.frames = [];
      this._springSystem.deregisterSpring(this);
    },

    // Get the id of the spring, which can be used to retrieve it from
    // the SpringSystems it participates in later.
    getId: function() {
      return this._id;
    },

    // Set the configuration values for this Spring. A SpringConfig
    // contains the tension and friction values used to solve for the
    // equilibrium of the Spring in the physics loop.
    setSpringConfig: function(springConfig) {
      this._springConfig = springConfig;
      return this;
    },

    // Retrieve the SpringConfig used by this Spring.
    getSpringConfig: function() {
      return this._springConfig;
    },

    // Set the current position of this Spring. Listeners will be updated
    // with this value immediately. If the rest or `endValue` is not
    // updated to match this value, then the spring will be dispalced and
    // the SpringSystem will start to loop to restore the spring to the
    // `endValue`.
    //
    // A common pattern is to move a Spring around without animation by
    // calling.
    //
    // ```
    // spring.setCurrentValue(n).setAtRest();
    // ```
    //
    // This moves the Spring to a new position `n`, sets the endValue
    // to `n`, and removes any velocity from the `Spring`. By doing
    // this you can allow the `SpringListener` to manage the position
    // of UI elements attached to the spring even when moving without
    // animation. For example, when dragging an element you can
    // update the position of an attached view through a spring
    // by calling `spring.setCurrentValue(x)`. When
    // the gesture ends you can update the Springs
    // velocity and endValue
    // `spring.setVelocity(gestureEndVelocity).setEndValue(flingTarget)`
    // to cause it to naturally animate the UI element to the resting
    // position taking into account existing velocity. The codepaths for
    // synchronous movement and spring driven animation can
    // be unified using this technique.
    setCurrentValue: function(currentValue, skipSetAtRest) {
      this._startValue = currentValue;
      this._currentState.position = currentValue;
      if (!skipSetAtRest) {
        this.setAtRest();
      }
      this.notifyPositionUpdated(false, false);
      return this;
    },

    // Get the position that the most recent animation started at. This
    // can be useful for determining the number off oscillations that
    // have occurred.
    getStartValue: function() {
      return this._startValue;
    },

    // Retrieve the current value of the Spring.
    getCurrentValue: function() {
      return this._currentState.position;
    },

    // Get the absolute distance of the Spring from it's resting endValue
    // position.
    getCurrentDisplacementDistance: function() {
      return this.getDisplacementDistanceForState(this._currentState);
    },

    getDisplacementDistanceForState: function(state) {
      return Math.abs(this._endValue - state.position);
    },

    // Set the endValue or resting position of the spring. If this
    // value is different than the current value, the SpringSystem will
    // be notified and will begin running its solver loop to resolve
    // the Spring to equilibrium. Any listeners that are registered
    // for onSpringEndStateChange will also be notified of this update
    // immediately.
    setEndValue: function(endValue) {
      if (this._endValue == endValue && this.isAtRest())  {
        return this;
      }
      this._startValue = this.getCurrentValue();
      this._endValue = endValue;
      this._springSystem.activateSpring(this.getId());
      for (var i = 0, len = this.listeners.length; i < len; i++) {
        var listener = this.listeners[i];
        var onChange = listener.onSpringEndStateChange;
        onChange && onChange(this);
      }
      return this;
    },

    // Retrieve the endValue or resting position of this spring.
    getEndValue: function() {
      return this._endValue;
    },

    // Set the current velocity of the Spring. As previously mentioned,
    // this can be useful when you are performing a direct manipulation
    // gesture. When a UI element is released you may call setVelocity
    // on its animation Spring so that the Spring continues with the
    // same velocity as the gesture ended with. The friction, tension,
    // and displacement of the Spring will then govern its motion to
    // return to rest on a natural feeling curve.
    setVelocity: function(velocity) {
      if (velocity === this._currentState.velocity) {
        return this;
      }
      this._currentState.velocity = velocity;
      this._springSystem.activateSpring(this.getId());
      return this;
    },

    // Get the current velocity of the Spring.
    getVelocity: function() {
      return this._currentState.velocity;
    },

    // Set a threshold value for the movement speed of the Spring below
    // which it will be considered to be not moving or resting.
    setRestSpeedThreshold: function(restSpeedThreshold) {
      this._restSpeedThreshold = restSpeedThreshold;
      return this;
    },

    // Retrieve the rest speed threshold for this Spring.
    getRestSpeedThreshold: function() {
      return this._restSpeedThreshold;
    },

    // Set a threshold value for displacement below which the Spring
    // will be considered to be not displaced i.e. at its resting
    // `endValue`.
    setRestDisplacementThreshold: function(displacementFromRestThreshold) {
      this._displacementFromRestThreshold = displacementFromRestThreshold;
    },

    // Retrieve the rest displacement threshold for this spring.
    getRestDisplacementThreshold: function() {
      return this._displacementFromRestThreshold;
    },

    // Enable overshoot clamping. This means that the Spring will stop
    // immediately when it reaches its resting position regardless of
    // any existing momentum it may have. This can be useful for certain
    // types of animations that should not oscillate such as a scale
    // down to 0 or alpha fade.
    setOvershootClampingEnabled: function(enabled) {
      this._overshootClampingEnabled = enabled;
      return this;
    },

    // Check if overshoot clamping is enabled for this spring.
    isOvershootClampingEnabled: function() {
      return this._overshootClampingEnabled;
    },

    // Check if the Spring has gone past its end point by comparing
    // the direction it was moving in when it started to the current
    // position and end value.
    isOvershooting: function() {
      var start = this._startValue;
      var end = this._endValue;
      return this._springConfig.tension > 0 &&
       ((start < end && this.getCurrentValue() > end) ||
       (start > end && this.getCurrentValue() < end));
    },

    // Spring.advance is the main solver method for the Spring. It takes
    // the current time and delta since the last time step and performs
    // an RK4 integration to get the new position and velocity state
    // for the Spring based on the tension, friction, velocity, and
    // displacement of the Spring.
    advance: function(time, realDeltaTime) {
      var isAtRest = this.isAtRest();

      if (isAtRest && this._wasAtRest) {
        return;
      }

      var adjustedDeltaTime = realDeltaTime;
      if (realDeltaTime > Spring.MAX_DELTA_TIME_SEC) {
        adjustedDeltaTime = Spring.MAX_DELTA_TIME_SEC;
      }

      this._timeAccumulator += adjustedDeltaTime;

      var tension = this._springConfig.tension,
          friction = this._springConfig.friction,

          position = this._currentState.position,
          velocity = this._currentState.velocity,
          tempPosition = this._tempState.position,
          tempVelocity = this._tempState.velocity,

          aVelocity, aAcceleration,
          bVelocity, bAcceleration,
          cVelocity, cAcceleration,
          dVelocity, dAcceleration,

          dxdt, dvdt;

      while(this._timeAccumulator >= Spring.SOLVER_TIMESTEP_SEC) {

        this._timeAccumulator -= Spring.SOLVER_TIMESTEP_SEC;

        if (this._timeAccumulator < Spring.SOLVER_TIMESTEP_SEC) {
          this._previousState.position = position;
          this._previousState.velocity = velocity;
        }

        aVelocity = velocity;
        aAcceleration =
          (tension * (this._endValue - tempPosition)) - friction * velocity;

        tempPosition = position + aVelocity * Spring.SOLVER_TIMESTEP_SEC * 0.5;
        tempVelocity =
          velocity + aAcceleration * Spring.SOLVER_TIMESTEP_SEC * 0.5;
        bVelocity = tempVelocity;
        bAcceleration =
          (tension * (this._endValue - tempPosition)) - friction * tempVelocity;

        tempPosition = position + bVelocity * Spring.SOLVER_TIMESTEP_SEC * 0.5;
        tempVelocity =
          velocity + bAcceleration * Spring.SOLVER_TIMESTEP_SEC * 0.5;
        cVelocity = tempVelocity;
        cAcceleration =
          (tension * (this._endValue - tempPosition)) - friction * tempVelocity;

        tempPosition = position + cVelocity * Spring.SOLVER_TIMESTEP_SEC * 0.5;
        tempVelocity =
          velocity + cAcceleration * Spring.SOLVER_TIMESTEP_SEC * 0.5;
        dVelocity = tempVelocity;
        dAcceleration =
          (tension * (this._endValue - tempPosition)) - friction * tempVelocity;

        dxdt =
          1.0/6.0 * (aVelocity + 2.0 * (bVelocity + cVelocity) + dVelocity);
        dvdt = 1.0/6.0 * (
          aAcceleration + 2.0 * (bAcceleration + cAcceleration) + dAcceleration
        );

        position += dxdt * Spring.SOLVER_TIMESTEP_SEC;
        velocity += dvdt * Spring.SOLVER_TIMESTEP_SEC;
      }

      this._tempState.position = tempPosition;
      this._tempState.velocity = tempVelocity;

      this._currentState.position = position;
      this._currentState.velocity = velocity;

      if (this._timeAccumulator > 0) {
        this._interpolate(this._timeAccumulator / Spring.SOLVER_TIMESTEP_SEC);
      }

      if (this.isAtRest() ||
          this._overshootClampingEnabled && this.isOvershooting()) {

        if (this._springConfig.tension > 0) {
          this._startValue = this._endValue;
          this._currentState.position = this._endValue;
        } else {
          this._endValue = this._currentState.position;
          this._startValue = this._endValue;
        }
        this.setVelocity(0);
        isAtRest = true;
      }

      var notifyActivate = false;
      if (this._wasAtRest) {
        this._wasAtRest = false;
        notifyActivate = true;
      }

      var notifyAtRest = false;
      if (isAtRest) {
        this._wasAtRest = true;
        notifyAtRest = true;
      }

      this.notifyPositionUpdated(notifyActivate, notifyAtRest);
    },

    notifyPositionUpdated: function(notifyActivate, notifyAtRest) {
      for (var i = 0, len = this.listeners.length; i < len; i++) {
        var listener = this.listeners[i];
        if (notifyActivate && listener.onSpringActivate) {
          listener.onSpringActivate(this);
        }

        if (listener.onSpringUpdate) {
          listener.onSpringUpdate(this);
        }

        if (notifyAtRest && listener.onSpringAtRest) {
          listener.onSpringAtRest(this);
        }
      }
    },


    // Check if the SpringSystem should advance. Springs are advanced
    // a final frame after they reach equilibrium to ensure that the
    // currentValue is exactly the requested endValue regardless of the
    // displacement threshold.
    systemShouldAdvance: function() {
      return !this.isAtRest() || !this.wasAtRest();
    },

    wasAtRest: function() {
      return this._wasAtRest;
    },

    // Check if the Spring is atRest meaning that it's currentValue and
    // endValue are the same and that it has no velocity. The previously
    // described thresholds for speed and displacement define the bounds
    // of this equivalence check. If the Spring has 0 tension, then it will
    // be considered at rest whenever its absolute velocity drops below the
    // restSpeedThreshold.
    isAtRest: function() {
      return Math.abs(this._currentState.velocity) < this._restSpeedThreshold &&
        (this.getDisplacementDistanceForState(this._currentState) <=
          this._displacementFromRestThreshold ||
        this._springConfig.tension === 0);
    },

    // Force the spring to be at rest at its current position. As
    // described in the documentation for setCurrentValue, this method
    // makes it easy to do synchronous non-animated updates to ui
    // elements that are attached to springs via SpringListeners.
    setAtRest: function() {
      this._endValue = this._currentState.position;
      this._tempState.position = this._currentState.position;
      this._currentState.velocity = 0;
      return this;
    },

    _interpolate: function(alpha) {
      this._currentState.position = this._currentState.position *
        alpha + this._previousState.position * (1 - alpha);
      this._currentState.velocity = this._currentState.velocity *
        alpha + this._previousState.velocity * (1 - alpha);
    },

    getListeners: function() {
      return this.listeners;
    },

    addListener: function(newListener) {
      this.listeners.push(newListener);
      return this;
    },

    removeListener: function(listenerToRemove) {
      removeFirst(this.listeners, listenerToRemove);
      return this;
    },

    removeAllListeners: function() {
      this.listeners = [];
      return this;
    },

    currentValueIsApproximately: function(value) {
      return Math.abs(this.getCurrentValue() - value) <=
        this.getRestDisplacementThreshold();
    }

  });

  // PhysicsState
  // ------------
  // **PhysicsState** consists of a position and velocity. A Spring uses
  // this internally to keep track of its current and prior position and
  // velocity values.
  var PhysicsState = function PhysicsState() {};

  util.extend(PhysicsState.prototype, {
    position: 0,
    velocity: 0
  });

  // SpringConfig
  // ------------
  // **SpringConfig** maintains a set of tension and friction constants
  // for a Spring. You can use fromOrigamiTensionAndFriction to convert
  // values from the [Origami](http://facebook.github.io/origami/)
  // design tool directly to Rebound spring constants.
  var SpringConfig = rebound.SpringConfig =
    function SpringConfig(tension, friction) {
      this.tension = tension;
      this.friction = friction;
    };

  // Loopers
  // -------
  // **AnimationLooper** plays each frame of the SpringSystem on animation
  // timing loop. This is the default type of looper for a new spring system
  // as it is the most common when developing UI.
  var AnimationLooper = rebound.AnimationLooper = function AnimationLooper() {
    this.springSystem = null;
    var _this = this;
    var _run = function() {
      _this.springSystem.loop(Date.now());
    };

    this.run = function() {
      util.onFrame(_run);
    };
  };

  // **SimulationLooper** resolves the SpringSystem to a resting state in a
  // tight and blocking loop. This is useful for synchronously generating
  // pre-recorded animations that can then be played on a timing loop later.
  // Sometimes this lead to better performance to pre-record a single spring
  // curve and use it to drive many animations; however, it can make dynamic
  // response to user input a bit trickier to implement.
  rebound.SimulationLooper = function SimulationLooper(timestep) {
    this.springSystem = null;
    var time = 0;
    var running = false;
    timestep=timestep || 16.667;

    this.run = function() {
      if (running) {
        return;
      }
      running = true;
      while(!this.springSystem.getIsIdle()) {
        this.springSystem.loop(time+=timestep);
      }
      running = false;
    };
  };

  // **SteppingSimulationLooper** resolves the SpringSystem one step at a
  // time controlled by an outside loop. This is useful for testing and
  // verifying the behavior of a SpringSystem or if you want to control your own
  // timing loop for some reason e.g. slowing down or speeding up the
  // simulation.
  rebound.SteppingSimulationLooper = function(timestep) {
    this.springSystem = null;
    var time = 0;

    // this.run is NOOP'd here to allow control from the outside using
    // this.step.
    this.run = function(){};

    // Perform one step toward resolving the SpringSystem.
    this.step = function(timestep) {
      this.springSystem.loop(time+=timestep);
    };
  };

  // Math for converting from
  // [Origami](http://facebook.github.io/origami/) to
  // [Rebound](http://facebook.github.io/rebound).
  // You mostly don't need to worry about this, just use
  // SpringConfig.fromOrigamiTensionAndFriction(v, v);
  var OrigamiValueConverter = rebound.OrigamiValueConverter = {
    tensionFromOrigamiValue: function(oValue) {
      return (oValue - 30.0) * 3.62 + 194.0;
    },

    origamiValueFromTension: function(tension) {
      return (tension - 194.0) / 3.62 + 30.0;
    },

    frictionFromOrigamiValue: function(oValue) {
      return (oValue - 8.0) * 3.0 + 25.0;
    },

    origamiFromFriction: function(friction) {
      return (friction - 25.0) / 3.0 + 8.0;
    }
  };

  // BouncyConversion provides math for converting from Origami PopAnimation
  // config values to regular Origami tension and friction values. If you are
  // trying to replicate prototypes made with PopAnimation patches in Origami,
  // then you should create your springs with
  // SpringSystem.createSpringWithBouncinessAndSpeed, which uses this Math
  // internally to create a spring to match the provided PopAnimation
  // configuration from Origami.
  var BouncyConversion = rebound.BouncyConversion = function(bounciness, speed){
    this.bounciness = bounciness;
    this.speed = speed;
    var b = this.normalize(bounciness / 1.7, 0, 20.0);
    b = this.projectNormal(b, 0.0, 0.8);
    var s = this.normalize(speed / 1.7, 0, 20.0);
    this.bouncyTension = this.projectNormal(s, 0.5, 200)
    this.bouncyFriction = this.quadraticOutInterpolation(
      b,
      this.b3Nobounce(this.bouncyTension),
      0.01);
  }

  util.extend(BouncyConversion.prototype, {

    normalize: function(value, startValue, endValue) {
      return (value - startValue) / (endValue - startValue);
    },

    projectNormal: function(n, start, end) {
      return start + (n * (end - start));
    },

    linearInterpolation: function(t, start, end) {
      return t * end + (1.0 - t) * start;
    },

    quadraticOutInterpolation: function(t, start, end) {
      return this.linearInterpolation(2*t - t*t, start, end);
    },

    b3Friction1: function(x) {
      return (0.0007 * Math.pow(x, 3)) -
        (0.031 * Math.pow(x, 2)) + 0.64 * x + 1.28;
    },

    b3Friction2: function(x) {
      return (0.000044 * Math.pow(x, 3)) -
        (0.006 * Math.pow(x, 2)) + 0.36 * x + 2.;
    },

    b3Friction3: function(x) {
      return (0.00000045 * Math.pow(x, 3)) -
        (0.000332 * Math.pow(x, 2)) + 0.1078 * x + 5.84;
    },

    b3Nobounce: function(tension) {
      var friction = 0;
      if (tension <= 18) {
        friction = this.b3Friction1(tension);
      } else if (tension > 18 && tension <= 44) {
        friction = this.b3Friction2(tension);
      } else {
        friction = this.b3Friction3(tension);
      }
      return friction;
    }
  });

  util.extend(SpringConfig, {
    // Convert an origami Spring tension and friction to Rebound spring
    // constants. If you are prototyping a design with Origami, this
    // makes it easy to make your springs behave exactly the same in
    // Rebound.
    fromOrigamiTensionAndFriction: function(tension, friction) {
      return new SpringConfig(
        OrigamiValueConverter.tensionFromOrigamiValue(tension),
        OrigamiValueConverter.frictionFromOrigamiValue(friction));
    },

    // Convert an origami PopAnimation Spring bounciness and speed to Rebound
    // spring constants. If you are using PopAnimation patches in Origami, this
    // utility will provide springs that match your prototype.
    fromBouncinessAndSpeed: function(bounciness, speed) {
      var bouncyConversion = new rebound.BouncyConversion(bounciness, speed);
      return this.fromOrigamiTensionAndFriction(
        bouncyConversion.bouncyTension,
        bouncyConversion.bouncyFriction);
    },

    // Create a SpringConfig with no tension or a coasting spring with some
    // amount of Friction so that it does not coast infininitely.
    coastingConfigWithOrigamiFriction: function(friction) {
      return new SpringConfig(
        0,
        OrigamiValueConverter.frictionFromOrigamiValue(friction)
      );
    }
  });

  SpringConfig.DEFAULT_ORIGAMI_SPRING_CONFIG =
    SpringConfig.fromOrigamiTensionAndFriction(40, 7);

  util.extend(SpringConfig.prototype, {friction: 0, tension: 0});

  // Here are a couple of function to convert colors between hex codes and RGB
  // component values. These are handy when performing color
  // tweening animations.
  var colorCache = {};
  util.hexToRGB = function(color) {
    if (colorCache[color]) {
      return colorCache[color];
    }
    color = color.replace('#', '');
    if (color.length === 3) {
      color = color[0] + color[0] + color[1] + color[1] + color[2] + color[2];
    }
    var parts = color.match(/.{2}/g);

    var ret = {
      r: parseInt(parts[0], 16),
      g: parseInt(parts[1], 16),
      b: parseInt(parts[2], 16)
    };

    colorCache[color] = ret;
    return ret;
  };

  util.rgbToHex = function(r, g, b) {
    r = r.toString(16);
    g = g.toString(16);
    b = b.toString(16);
    r = r.length < 2 ? '0' + r : r;
    g = g.length < 2 ? '0' + g : g;
    b = b.length < 2 ? '0' + b : b;
    return '#' + r + g + b;
  };

  var MathUtil = rebound.MathUtil = {
    // This helper function does a linear interpolation of a value from
    // one range to another. This can be very useful for converting the
    // motion of a Spring to a range of UI property values. For example a
    // spring moving from position 0 to 1 could be interpolated to move a
    // view from pixel 300 to 350 and scale it from 0.5 to 1. The current
    // position of the `Spring` just needs to be run through this method
    // taking its input range in the _from_ parameters with the property
    // animation range in the _to_ parameters.
    mapValueInRange: function(value, fromLow, fromHigh, toLow, toHigh) {
      var fromRangeSize = fromHigh - fromLow;
      var toRangeSize = toHigh - toLow;
      var valueScale = (value - fromLow) / fromRangeSize;
      return toLow + (valueScale * toRangeSize);
    },

    // Interpolate two hex colors in a 0 - 1 range or optionally provide a
    // custom range with fromLow,fromHight. The output will be in hex by default
    // unless asRGB is true in which case it will be returned as an rgb string.
    interpolateColor:
      function(val, startColor, endColor, fromLow, fromHigh, asRGB) {
      fromLow = fromLow === undefined ? 0 : fromLow;
      fromHigh = fromHigh === undefined ? 1 : fromHigh;
      startColor = util.hexToRGB(startColor);
      endColor = util.hexToRGB(endColor);
      var r = Math.floor(
        util.mapValueInRange(val, fromLow, fromHigh, startColor.r, endColor.r)
      );
      var g = Math.floor(
        util.mapValueInRange(val, fromLow, fromHigh, startColor.g, endColor.g)
      );
      var b = Math.floor(
        util.mapValueInRange(val, fromLow, fromHigh, startColor.b, endColor.b)
      );
      if (asRGB) {
        return 'rgb(' + r + ',' + g + ',' + b + ')';
      } else {
        return util.rgbToHex(r, g, b);
      }
    },

    degreesToRadians: function(deg) {
      return (deg * Math.PI) / 180;
    },

    radiansToDegrees: function(rad) {
      return (rad * 180) / Math.PI;
    }

  }

  util.extend(util, MathUtil);


  // Utilities
  // ---------
  // Here are a few useful JavaScript utilities.

  // Lop off the first occurence of the reference in the Array.
  function removeFirst(array, item) {
    var idx = array.indexOf(item);
    idx != -1 && array.splice(idx, 1);
  }

  var _onFrame;
  if (typeof window !== 'undefined') {
    _onFrame = window.requestAnimationFrame ||
      window.webkitRequestAnimationFrame ||
      window.mozRequestAnimationFrame ||
      window.msRequestAnimationFrame ||
      window.oRequestAnimationFrame ||
      function(callback) {
        window.setTimeout(callback, 1000 / 60);
      };
  }
  if (!_onFrame && typeof process !== 'undefined' && process.title === 'node') {
    _onFrame = setImmediate;
  }

  // Cross browser/node timer functions.
  util.onFrame = function onFrame(func) {
    return _onFrame(func);
  };

  // Export the public api using exports for common js or the window for
  // normal browser inclusion.
  if (true) {
    util.extend(exports, rebound);
  } else if (typeof window != 'undefined') {
    window.rebound = rebound;
  }
})();


// Legal Stuff
// -----------
/**
 *  Copyright (c) 2013, Facebook, Inc.
 *  All rights reserved.
 *
 *  This source code is licensed under the BSD-style license found in the
 *  LICENSE file in the root directory of this source tree. An additional grant
 *  of patent rights can be found in the PATENTS file in the same directory.
 */

/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/process/browser.js"), __webpack_require__("./node_modules/timers-browserify/main.js").setImmediate))

/***/ }),

/***/ "./node_modules/regenerator-runtime/runtime.js":
/***/ (function(module, exports, __webpack_require__) {

/* WEBPACK VAR INJECTION */(function(global) {/**
 * Copyright (c) 2014, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * https://raw.github.com/facebook/regenerator/master/LICENSE file. An
 * additional grant of patent rights can be found in the PATENTS file in
 * the same directory.
 */

!(function(global) {
  "use strict";

  var Op = Object.prototype;
  var hasOwn = Op.hasOwnProperty;
  var undefined; // More compressible than void 0.
  var $Symbol = typeof Symbol === "function" ? Symbol : {};
  var iteratorSymbol = $Symbol.iterator || "@@iterator";
  var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
  var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";

  var inModule = typeof module === "object";
  var runtime = global.regeneratorRuntime;
  if (runtime) {
    if (inModule) {
      // If regeneratorRuntime is defined globally and we're in a module,
      // make the exports object identical to regeneratorRuntime.
      module.exports = runtime;
    }
    // Don't bother evaluating the rest of this file if the runtime was
    // already defined globally.
    return;
  }

  // Define the runtime globally (as expected by generated code) as either
  // module.exports (if we're in a module) or a new, empty object.
  runtime = global.regeneratorRuntime = inModule ? module.exports : {};

  function wrap(innerFn, outerFn, self, tryLocsList) {
    // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
    var generator = Object.create(protoGenerator.prototype);
    var context = new Context(tryLocsList || []);

    // The ._invoke method unifies the implementations of the .next,
    // .throw, and .return methods.
    generator._invoke = makeInvokeMethod(innerFn, self, context);

    return generator;
  }
  runtime.wrap = wrap;

  // Try/catch helper to minimize deoptimizations. Returns a completion
  // record like context.tryEntries[i].completion. This interface could
  // have been (and was previously) designed to take a closure to be
  // invoked without arguments, but in all the cases we care about we
  // already have an existing method we want to call, so there's no need
  // to create a new function object. We can even get away with assuming
  // the method takes exactly one argument, since that happens to be true
  // in every case, so we don't have to touch the arguments object. The
  // only additional allocation required is the completion record, which
  // has a stable shape and so hopefully should be cheap to allocate.
  function tryCatch(fn, obj, arg) {
    try {
      return { type: "normal", arg: fn.call(obj, arg) };
    } catch (err) {
      return { type: "throw", arg: err };
    }
  }

  var GenStateSuspendedStart = "suspendedStart";
  var GenStateSuspendedYield = "suspendedYield";
  var GenStateExecuting = "executing";
  var GenStateCompleted = "completed";

  // Returning this object from the innerFn has the same effect as
  // breaking out of the dispatch switch statement.
  var ContinueSentinel = {};

  // Dummy constructor functions that we use as the .constructor and
  // .constructor.prototype properties for functions that return Generator
  // objects. For full spec compliance, you may wish to configure your
  // minifier not to mangle the names of these two functions.
  function Generator() {}
  function GeneratorFunction() {}
  function GeneratorFunctionPrototype() {}

  // This is a polyfill for %IteratorPrototype% for environments that
  // don't natively support it.
  var IteratorPrototype = {};
  IteratorPrototype[iteratorSymbol] = function () {
    return this;
  };

  var getProto = Object.getPrototypeOf;
  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
  if (NativeIteratorPrototype &&
      NativeIteratorPrototype !== Op &&
      hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
    // This environment has a native %IteratorPrototype%; use it instead
    // of the polyfill.
    IteratorPrototype = NativeIteratorPrototype;
  }

  var Gp = GeneratorFunctionPrototype.prototype =
    Generator.prototype = Object.create(IteratorPrototype);
  GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
  GeneratorFunctionPrototype.constructor = GeneratorFunction;
  GeneratorFunctionPrototype[toStringTagSymbol] =
    GeneratorFunction.displayName = "GeneratorFunction";

  // Helper for defining the .next, .throw, and .return methods of the
  // Iterator interface in terms of a single ._invoke method.
  function defineIteratorMethods(prototype) {
    ["next", "throw", "return"].forEach(function(method) {
      prototype[method] = function(arg) {
        return this._invoke(method, arg);
      };
    });
  }

  runtime.isGeneratorFunction = function(genFun) {
    var ctor = typeof genFun === "function" && genFun.constructor;
    return ctor
      ? ctor === GeneratorFunction ||
        // For the native GeneratorFunction constructor, the best we can
        // do is to check its .name property.
        (ctor.displayName || ctor.name) === "GeneratorFunction"
      : false;
  };

  runtime.mark = function(genFun) {
    if (Object.setPrototypeOf) {
      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
    } else {
      genFun.__proto__ = GeneratorFunctionPrototype;
      if (!(toStringTagSymbol in genFun)) {
        genFun[toStringTagSymbol] = "GeneratorFunction";
      }
    }
    genFun.prototype = Object.create(Gp);
    return genFun;
  };

  // Within the body of any async function, `await x` is transformed to
  // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
  // `hasOwn.call(value, "__await")` to determine if the yielded value is
  // meant to be awaited.
  runtime.awrap = function(arg) {
    return { __await: arg };
  };

  function AsyncIterator(generator) {
    function invoke(method, arg, resolve, reject) {
      var record = tryCatch(generator[method], generator, arg);
      if (record.type === "throw") {
        reject(record.arg);
      } else {
        var result = record.arg;
        var value = result.value;
        if (value &&
            typeof value === "object" &&
            hasOwn.call(value, "__await")) {
          return Promise.resolve(value.__await).then(function(value) {
            invoke("next", value, resolve, reject);
          }, function(err) {
            invoke("throw", err, resolve, reject);
          });
        }

        return Promise.resolve(value).then(function(unwrapped) {
          // When a yielded Promise is resolved, its final value becomes
          // the .value of the Promise<{value,done}> result for the
          // current iteration. If the Promise is rejected, however, the
          // result for this iteration will be rejected with the same
          // reason. Note that rejections of yielded Promises are not
          // thrown back into the generator function, as is the case
          // when an awaited Promise is rejected. This difference in
          // behavior between yield and await is important, because it
          // allows the consumer to decide what to do with the yielded
          // rejection (swallow it and continue, manually .throw it back
          // into the generator, abandon iteration, whatever). With
          // await, by contrast, there is no opportunity to examine the
          // rejection reason outside the generator function, so the
          // only option is to throw it from the await expression, and
          // let the generator function handle the exception.
          result.value = unwrapped;
          resolve(result);
        }, reject);
      }
    }

    if (typeof global.process === "object" && global.process.domain) {
      invoke = global.process.domain.bind(invoke);
    }

    var previousPromise;

    function enqueue(method, arg) {
      function callInvokeWithMethodAndArg() {
        return new Promise(function(resolve, reject) {
          invoke(method, arg, resolve, reject);
        });
      }

      return previousPromise =
        // If enqueue has been called before, then we want to wait until
        // all previous Promises have been resolved before calling invoke,
        // so that results are always delivered in the correct order. If
        // enqueue has not been called before, then it is important to
        // call invoke immediately, without waiting on a callback to fire,
        // so that the async generator function has the opportunity to do
        // any necessary setup in a predictable way. This predictability
        // is why the Promise constructor synchronously invokes its
        // executor callback, and why async functions synchronously
        // execute code before the first await. Since we implement simple
        // async functions in terms of async generators, it is especially
        // important to get this right, even though it requires care.
        previousPromise ? previousPromise.then(
          callInvokeWithMethodAndArg,
          // Avoid propagating failures to Promises returned by later
          // invocations of the iterator.
          callInvokeWithMethodAndArg
        ) : callInvokeWithMethodAndArg();
    }

    // Define the unified helper method that is used to implement .next,
    // .throw, and .return (see defineIteratorMethods).
    this._invoke = enqueue;
  }

  defineIteratorMethods(AsyncIterator.prototype);
  AsyncIterator.prototype[asyncIteratorSymbol] = function () {
    return this;
  };
  runtime.AsyncIterator = AsyncIterator;

  // Note that simple async functions are implemented on top of
  // AsyncIterator objects; they just return a Promise for the value of
  // the final result produced by the iterator.
  runtime.async = function(innerFn, outerFn, self, tryLocsList) {
    var iter = new AsyncIterator(
      wrap(innerFn, outerFn, self, tryLocsList)
    );

    return runtime.isGeneratorFunction(outerFn)
      ? iter // If outerFn is a generator, return the full iterator.
      : iter.next().then(function(result) {
          return result.done ? result.value : iter.next();
        });
  };

  function makeInvokeMethod(innerFn, self, context) {
    var state = GenStateSuspendedStart;

    return function invoke(method, arg) {
      if (state === GenStateExecuting) {
        throw new Error("Generator is already running");
      }

      if (state === GenStateCompleted) {
        if (method === "throw") {
          throw arg;
        }

        // Be forgiving, per 25.3.3.3.3 of the spec:
        // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
        return doneResult();
      }

      context.method = method;
      context.arg = arg;

      while (true) {
        var delegate = context.delegate;
        if (delegate) {
          var delegateResult = maybeInvokeDelegate(delegate, context);
          if (delegateResult) {
            if (delegateResult === ContinueSentinel) continue;
            return delegateResult;
          }
        }

        if (context.method === "next") {
          // Setting context._sent for legacy support of Babel's
          // function.sent implementation.
          context.sent = context._sent = context.arg;

        } else if (context.method === "throw") {
          if (state === GenStateSuspendedStart) {
            state = GenStateCompleted;
            throw context.arg;
          }

          context.dispatchException(context.arg);

        } else if (context.method === "return") {
          context.abrupt("return", context.arg);
        }

        state = GenStateExecuting;

        var record = tryCatch(innerFn, self, context);
        if (record.type === "normal") {
          // If an exception is thrown from innerFn, we leave state ===
          // GenStateExecuting and loop back for another invocation.
          state = context.done
            ? GenStateCompleted
            : GenStateSuspendedYield;

          if (record.arg === ContinueSentinel) {
            continue;
          }

          return {
            value: record.arg,
            done: context.done
          };

        } else if (record.type === "throw") {
          state = GenStateCompleted;
          // Dispatch the exception by looping back around to the
          // context.dispatchException(context.arg) call above.
          context.method = "throw";
          context.arg = record.arg;
        }
      }
    };
  }

  // Call delegate.iterator[context.method](context.arg) and handle the
  // result, either by returning a { value, done } result from the
  // delegate iterator, or by modifying context.method and context.arg,
  // setting context.delegate to null, and returning the ContinueSentinel.
  function maybeInvokeDelegate(delegate, context) {
    var method = delegate.iterator[context.method];
    if (method === undefined) {
      // A .throw or .return when the delegate iterator has no .throw
      // method always terminates the yield* loop.
      context.delegate = null;

      if (context.method === "throw") {
        if (delegate.iterator.return) {
          // If the delegate iterator has a return method, give it a
          // chance to clean up.
          context.method = "return";
          context.arg = undefined;
          maybeInvokeDelegate(delegate, context);

          if (context.method === "throw") {
            // If maybeInvokeDelegate(context) changed context.method from
            // "return" to "throw", let that override the TypeError below.
            return ContinueSentinel;
          }
        }

        context.method = "throw";
        context.arg = new TypeError(
          "The iterator does not provide a 'throw' method");
      }

      return ContinueSentinel;
    }

    var record = tryCatch(method, delegate.iterator, context.arg);

    if (record.type === "throw") {
      context.method = "throw";
      context.arg = record.arg;
      context.delegate = null;
      return ContinueSentinel;
    }

    var info = record.arg;

    if (! info) {
      context.method = "throw";
      context.arg = new TypeError("iterator result is not an object");
      context.delegate = null;
      return ContinueSentinel;
    }

    if (info.done) {
      // Assign the result of the finished delegate to the temporary
      // variable specified by delegate.resultName (see delegateYield).
      context[delegate.resultName] = info.value;

      // Resume execution at the desired location (see delegateYield).
      context.next = delegate.nextLoc;

      // If context.method was "throw" but the delegate handled the
      // exception, let the outer generator proceed normally. If
      // context.method was "next", forget context.arg since it has been
      // "consumed" by the delegate iterator. If context.method was
      // "return", allow the original .return call to continue in the
      // outer generator.
      if (context.method !== "return") {
        context.method = "next";
        context.arg = undefined;
      }

    } else {
      // Re-yield the result returned by the delegate method.
      return info;
    }

    // The delegate iterator is finished, so forget it and continue with
    // the outer generator.
    context.delegate = null;
    return ContinueSentinel;
  }

  // Define Generator.prototype.{next,throw,return} in terms of the
  // unified ._invoke helper method.
  defineIteratorMethods(Gp);

  Gp[toStringTagSymbol] = "Generator";

  // A Generator should always return itself as the iterator object when the
  // @@iterator function is called on it. Some browsers' implementations of the
  // iterator prototype chain incorrectly implement this, causing the Generator
  // object to not be returned from this call. This ensures that doesn't happen.
  // See https://github.com/facebook/regenerator/issues/274 for more details.
  Gp[iteratorSymbol] = function() {
    return this;
  };

  Gp.toString = function() {
    return "[object Generator]";
  };

  function pushTryEntry(locs) {
    var entry = { tryLoc: locs[0] };

    if (1 in locs) {
      entry.catchLoc = locs[1];
    }

    if (2 in locs) {
      entry.finallyLoc = locs[2];
      entry.afterLoc = locs[3];
    }

    this.tryEntries.push(entry);
  }

  function resetTryEntry(entry) {
    var record = entry.completion || {};
    record.type = "normal";
    delete record.arg;
    entry.completion = record;
  }

  function Context(tryLocsList) {
    // The root entry object (effectively a try statement without a catch
    // or a finally block) gives us a place to store values thrown from
    // locations where there is no enclosing try statement.
    this.tryEntries = [{ tryLoc: "root" }];
    tryLocsList.forEach(pushTryEntry, this);
    this.reset(true);
  }

  runtime.keys = function(object) {
    var keys = [];
    for (var key in object) {
      keys.push(key);
    }
    keys.reverse();

    // Rather than returning an object with a next method, we keep
    // things simple and return the next function itself.
    return function next() {
      while (keys.length) {
        var key = keys.pop();
        if (key in object) {
          next.value = key;
          next.done = false;
          return next;
        }
      }

      // To avoid creating an additional object, we just hang the .value
      // and .done properties off the next function object itself. This
      // also ensures that the minifier will not anonymize the function.
      next.done = true;
      return next;
    };
  };

  function values(iterable) {
    if (iterable) {
      var iteratorMethod = iterable[iteratorSymbol];
      if (iteratorMethod) {
        return iteratorMethod.call(iterable);
      }

      if (typeof iterable.next === "function") {
        return iterable;
      }

      if (!isNaN(iterable.length)) {
        var i = -1, next = function next() {
          while (++i < iterable.length) {
            if (hasOwn.call(iterable, i)) {
              next.value = iterable[i];
              next.done = false;
              return next;
            }
          }

          next.value = undefined;
          next.done = true;

          return next;
        };

        return next.next = next;
      }
    }

    // Return an iterator with no values.
    return { next: doneResult };
  }
  runtime.values = values;

  function doneResult() {
    return { value: undefined, done: true };
  }

  Context.prototype = {
    constructor: Context,

    reset: function(skipTempReset) {
      this.prev = 0;
      this.next = 0;
      // Resetting context._sent for legacy support of Babel's
      // function.sent implementation.
      this.sent = this._sent = undefined;
      this.done = false;
      this.delegate = null;

      this.method = "next";
      this.arg = undefined;

      this.tryEntries.forEach(resetTryEntry);

      if (!skipTempReset) {
        for (var name in this) {
          // Not sure about the optimal order of these conditions:
          if (name.charAt(0) === "t" &&
              hasOwn.call(this, name) &&
              !isNaN(+name.slice(1))) {
            this[name] = undefined;
          }
        }
      }
    },

    stop: function() {
      this.done = true;

      var rootEntry = this.tryEntries[0];
      var rootRecord = rootEntry.completion;
      if (rootRecord.type === "throw") {
        throw rootRecord.arg;
      }

      return this.rval;
    },

    dispatchException: function(exception) {
      if (this.done) {
        throw exception;
      }

      var context = this;
      function handle(loc, caught) {
        record.type = "throw";
        record.arg = exception;
        context.next = loc;

        if (caught) {
          // If the dispatched exception was caught by a catch block,
          // then let that catch block handle the exception normally.
          context.method = "next";
          context.arg = undefined;
        }

        return !! caught;
      }

      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
        var entry = this.tryEntries[i];
        var record = entry.completion;

        if (entry.tryLoc === "root") {
          // Exception thrown outside of any try block that could handle
          // it, so set the completion value of the entire function to
          // throw the exception.
          return handle("end");
        }

        if (entry.tryLoc <= this.prev) {
          var hasCatch = hasOwn.call(entry, "catchLoc");
          var hasFinally = hasOwn.call(entry, "finallyLoc");

          if (hasCatch && hasFinally) {
            if (this.prev < entry.catchLoc) {
              return handle(entry.catchLoc, true);
            } else if (this.prev < entry.finallyLoc) {
              return handle(entry.finallyLoc);
            }

          } else if (hasCatch) {
            if (this.prev < entry.catchLoc) {
              return handle(entry.catchLoc, true);
            }

          } else if (hasFinally) {
            if (this.prev < entry.finallyLoc) {
              return handle(entry.finallyLoc);
            }

          } else {
            throw new Error("try statement without catch or finally");
          }
        }
      }
    },

    abrupt: function(type, arg) {
      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
        var entry = this.tryEntries[i];
        if (entry.tryLoc <= this.prev &&
            hasOwn.call(entry, "finallyLoc") &&
            this.prev < entry.finallyLoc) {
          var finallyEntry = entry;
          break;
        }
      }

      if (finallyEntry &&
          (type === "break" ||
           type === "continue") &&
          finallyEntry.tryLoc <= arg &&
          arg <= finallyEntry.finallyLoc) {
        // Ignore the finally entry if control is not jumping to a
        // location outside the try/catch block.
        finallyEntry = null;
      }

      var record = finallyEntry ? finallyEntry.completion : {};
      record.type = type;
      record.arg = arg;

      if (finallyEntry) {
        this.method = "next";
        this.next = finallyEntry.finallyLoc;
        return ContinueSentinel;
      }

      return this.complete(record);
    },

    complete: function(record, afterLoc) {
      if (record.type === "throw") {
        throw record.arg;
      }

      if (record.type === "break" ||
          record.type === "continue") {
        this.next = record.arg;
      } else if (record.type === "return") {
        this.rval = this.arg = record.arg;
        this.method = "return";
        this.next = "end";
      } else if (record.type === "normal" && afterLoc) {
        this.next = afterLoc;
      }

      return ContinueSentinel;
    },

    finish: function(finallyLoc) {
      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
        var entry = this.tryEntries[i];
        if (entry.finallyLoc === finallyLoc) {
          this.complete(entry.completion, entry.afterLoc);
          resetTryEntry(entry);
          return ContinueSentinel;
        }
      }
    },

    "catch": function(tryLoc) {
      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
        var entry = this.tryEntries[i];
        if (entry.tryLoc === tryLoc) {
          var record = entry.completion;
          if (record.type === "throw") {
            var thrown = record.arg;
            resetTryEntry(entry);
          }
          return thrown;
        }
      }

      // The context.catch method must only be called with a location
      // argument that corresponds to a known catch block.
      throw new Error("illegal catch attempt");
    },

    delegateYield: function(iterable, resultName, nextLoc) {
      this.delegate = {
        iterator: values(iterable),
        resultName: resultName,
        nextLoc: nextLoc
      };

      if (this.method === "next") {
        // Deliberately forget the last sent value so that we don't
        // accidentally pass it on to the delegate.
        this.arg = undefined;
      }

      return ContinueSentinel;
    }
  };
})(
  // Among the various tricks for obtaining a reference to the global
  // object, this seems to be the most reliable technique that does not
  // use indirect eval (which violates Content Security Policy).
  typeof global === "object" ? global :
  typeof window === "object" ? window :
  typeof self === "object" ? self : this
);

/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/webpack/buildin/global.js")))

/***/ }),

/***/ "./node_modules/setimmediate/setImmediate.js":
/***/ (function(module, exports, __webpack_require__) {

/* WEBPACK VAR INJECTION */(function(global, process) {(function (global, undefined) {
    "use strict";

    if (global.setImmediate) {
        return;
    }

    var nextHandle = 1; // Spec says greater than zero
    var tasksByHandle = {};
    var currentlyRunningATask = false;
    var doc = global.document;
    var registerImmediate;

    function setImmediate(callback) {
      // Callback can either be a function or a string
      if (typeof callback !== "function") {
        callback = new Function("" + callback);
      }
      // Copy function arguments
      var args = new Array(arguments.length - 1);
      for (var i = 0; i < args.length; i++) {
          args[i] = arguments[i + 1];
      }
      // Store and register the task
      var task = { callback: callback, args: args };
      tasksByHandle[nextHandle] = task;
      registerImmediate(nextHandle);
      return nextHandle++;
    }

    function clearImmediate(handle) {
        delete tasksByHandle[handle];
    }

    function run(task) {
        var callback = task.callback;
        var args = task.args;
        switch (args.length) {
        case 0:
            callback();
            break;
        case 1:
            callback(args[0]);
            break;
        case 2:
            callback(args[0], args[1]);
            break;
        case 3:
            callback(args[0], args[1], args[2]);
            break;
        default:
            callback.apply(undefined, args);
            break;
        }
    }

    function runIfPresent(handle) {
        // From the spec: "Wait until any invocations of this algorithm started before this one have completed."
        // So if we're currently running a task, we'll need to delay this invocation.
        if (currentlyRunningATask) {
            // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a
            // "too much recursion" error.
            setTimeout(runIfPresent, 0, handle);
        } else {
            var task = tasksByHandle[handle];
            if (task) {
                currentlyRunningATask = true;
                try {
                    run(task);
                } finally {
                    clearImmediate(handle);
                    currentlyRunningATask = false;
                }
            }
        }
    }

    function installNextTickImplementation() {
        registerImmediate = function(handle) {
            process.nextTick(function () { runIfPresent(handle); });
        };
    }

    function canUsePostMessage() {
        // The test against `importScripts` prevents this implementation from being installed inside a web worker,
        // where `global.postMessage` means something completely different and can't be used for this purpose.
        if (global.postMessage && !global.importScripts) {
            var postMessageIsAsynchronous = true;
            var oldOnMessage = global.onmessage;
            global.onmessage = function() {
                postMessageIsAsynchronous = false;
            };
            global.postMessage("", "*");
            global.onmessage = oldOnMessage;
            return postMessageIsAsynchronous;
        }
    }

    function installPostMessageImplementation() {
        // Installs an event handler on `global` for the `message` event: see
        // * https://developer.mozilla.org/en/DOM/window.postMessage
        // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages

        var messagePrefix = "setImmediate$" + Math.random() + "$";
        var onGlobalMessage = function(event) {
            if (event.source === global &&
                typeof event.data === "string" &&
                event.data.indexOf(messagePrefix) === 0) {
                runIfPresent(+event.data.slice(messagePrefix.length));
            }
        };

        if (global.addEventListener) {
            global.addEventListener("message", onGlobalMessage, false);
        } else {
            global.attachEvent("onmessage", onGlobalMessage);
        }

        registerImmediate = function(handle) {
            global.postMessage(messagePrefix + handle, "*");
        };
    }

    function installMessageChannelImplementation() {
        var channel = new MessageChannel();
        channel.port1.onmessage = function(event) {
            var handle = event.data;
            runIfPresent(handle);
        };

        registerImmediate = function(handle) {
            channel.port2.postMessage(handle);
        };
    }

    function installReadyStateChangeImplementation() {
        var html = doc.documentElement;
        registerImmediate = function(handle) {
            // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted
            // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.
            var script = doc.createElement("script");
            script.onreadystatechange = function () {
                runIfPresent(handle);
                script.onreadystatechange = null;
                html.removeChild(script);
                script = null;
            };
            html.appendChild(script);
        };
    }

    function installSetTimeoutImplementation() {
        registerImmediate = function(handle) {
            setTimeout(runIfPresent, 0, handle);
        };
    }

    // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.
    var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);
    attachTo = attachTo && attachTo.setTimeout ? attachTo : global;

    // Don't get fooled by e.g. browserify environments.
    if ({}.toString.call(global.process) === "[object process]") {
        // For Node.js before 0.9
        installNextTickImplementation();

    } else if (canUsePostMessage()) {
        // For non-IE10 modern browsers
        installPostMessageImplementation();

    } else if (global.MessageChannel) {
        // For web workers, where supported
        installMessageChannelImplementation();

    } else if (doc && "onreadystatechange" in doc.createElement("script")) {
        // For IE 6–8
        installReadyStateChangeImplementation();

    } else {
        // For older browsers
        installSetTimeoutImplementation();
    }

    attachTo.setImmediate = setImmediate;
    attachTo.clearImmediate = clearImmediate;
}(typeof self === "undefined" ? typeof global === "undefined" ? this : global : self));

/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/webpack/buildin/global.js"), __webpack_require__("./node_modules/process/browser.js")))

/***/ }),

/***/ "./node_modules/stacktrace-parser/index.js":
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__("./node_modules/stacktrace-parser/lib/stacktrace-parser.js");


/***/ }),

/***/ "./node_modules/stacktrace-parser/lib/stacktrace-parser.js":
/***/ (function(module, exports) {



var UNKNOWN_FUNCTION = '<unknown>';

var StackTraceParser = {
  /**
   * This parses the different stack traces and puts them into one format
   * This borrows heavily from TraceKit (https://github.com/occ/TraceKit)
   */
  parse: function(stackString) {
    var chrome = /^\s*at (?:(?:(?:Anonymous function)?|((?:\[object object\])?\S+(?: \[as \S+\])?)) )?\(?((?:file|http|https):.*?):(\d+)(?::(\d+))?\)?\s*$/i,
        gecko = /^(?:\s*([^@]*)(?:\((.*?)\))?@)?(\S.*?):(\d+)(?::(\d+))?\s*$/i,
        node  = /^\s*at (?:((?:\[object object\])?\S+(?: \[as \S+\])?) )?\(?(.*?):(\d+)(?::(\d+))?\)?\s*$/i,
        lines = stackString.split('\n'),
        stack = [],
        parts,
        element;

    for (var i = 0, j = lines.length; i < j; ++i) {
        if ((parts = gecko.exec(lines[i]))) {
            element = {
                'file': parts[3],
                'methodName': parts[1] || UNKNOWN_FUNCTION,
                'lineNumber': +parts[4],
                'column': parts[5] ? +parts[5] : null
            };
        } else if ((parts = chrome.exec(lines[i]))) {
            element = {
                'file': parts[2],
                'methodName': parts[1] || UNKNOWN_FUNCTION,
                'lineNumber': +parts[3],
                'column': parts[4] ? +parts[4] : null
            };
        } else if ((parts = node.exec(lines[i]))) {
            element = {
                'file': parts[2],
                'methodName': parts[1] || UNKNOWN_FUNCTION,
                'lineNumber': +parts[3],
                'column': parts[4] ? +parts[4] : null
            };
        } else {
            continue;
        }

        stack.push(element);
    }

    return stack;
  }
};


module.exports = StackTraceParser;


/***/ }),

/***/ "./node_modules/timers-browserify/main.js":
/***/ (function(module, exports, __webpack_require__) {

var apply = Function.prototype.apply;

// DOM APIs, for completeness

exports.setTimeout = function() {
  return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout);
};
exports.setInterval = function() {
  return new Timeout(apply.call(setInterval, window, arguments), clearInterval);
};
exports.clearTimeout =
exports.clearInterval = function(timeout) {
  if (timeout) {
    timeout.close();
  }
};

function Timeout(id, clearFn) {
  this._id = id;
  this._clearFn = clearFn;
}
Timeout.prototype.unref = Timeout.prototype.ref = function() {};
Timeout.prototype.close = function() {
  this._clearFn.call(window, this._id);
};

// Does not start the time, just sets up the members needed.
exports.enroll = function(item, msecs) {
  clearTimeout(item._idleTimeoutId);
  item._idleTimeout = msecs;
};

exports.unenroll = function(item) {
  clearTimeout(item._idleTimeoutId);
  item._idleTimeout = -1;
};

exports._unrefActive = exports.active = function(item) {
  clearTimeout(item._idleTimeoutId);

  var msecs = item._idleTimeout;
  if (msecs >= 0) {
    item._idleTimeoutId = setTimeout(function onTimeout() {
      if (item._onTimeout)
        item._onTimeout();
    }, msecs);
  }
};

// setimmediate attaches itself to the global object
__webpack_require__("./node_modules/setimmediate/setImmediate.js");
exports.setImmediate = setImmediate;
exports.clearImmediate = clearImmediate;


/***/ }),

/***/ "./node_modules/uuid/lib/bytesToUuid.js":
/***/ (function(module, exports) {

/**
 * Convert array of 16 byte values to UUID string format of the form:
 * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
 */
var byteToHex = [];
for (var i = 0; i < 256; ++i) {
  byteToHex[i] = (i + 0x100).toString(16).substr(1);
}

function bytesToUuid(buf, offset) {
  var i = offset || 0;
  var bth = byteToHex;
  return bth[buf[i++]] + bth[buf[i++]] +
          bth[buf[i++]] + bth[buf[i++]] + '-' +
          bth[buf[i++]] + bth[buf[i++]] + '-' +
          bth[buf[i++]] + bth[buf[i++]] + '-' +
          bth[buf[i++]] + bth[buf[i++]] + '-' +
          bth[buf[i++]] + bth[buf[i++]] +
          bth[buf[i++]] + bth[buf[i++]] +
          bth[buf[i++]] + bth[buf[i++]];
}

module.exports = bytesToUuid;


/***/ }),

/***/ "./node_modules/uuid/lib/rng-browser.js":
/***/ (function(module, exports, __webpack_require__) {

/* WEBPACK VAR INJECTION */(function(global) {// Unique ID creation requires a high quality random # generator.  In the
// browser this is a little complicated due to unknown quality of Math.random()
// and inconsistent support for the `crypto` API.  We do the best we can via
// feature-detection
var rng;

var crypto = global.crypto || global.msCrypto; // for IE 11
if (crypto && crypto.getRandomValues) {
  // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto
  var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef
  rng = function whatwgRNG() {
    crypto.getRandomValues(rnds8);
    return rnds8;
  };
}

if (!rng) {
  // Math.random()-based (RNG)
  //
  // If all else fails, use Math.random().  It's fast, but is of unspecified
  // quality.
  var rnds = new Array(16);
  rng = function() {
    for (var i = 0, r; i < 16; i++) {
      if ((i & 0x03) === 0) r = Math.random() * 0x100000000;
      rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;
    }

    return rnds;
  };
}

module.exports = rng;

/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/webpack/buildin/global.js")))

/***/ }),

/***/ "./node_modules/uuid/v1.js":
/***/ (function(module, exports, __webpack_require__) {

var rng = __webpack_require__("./node_modules/uuid/lib/rng-browser.js");
var bytesToUuid = __webpack_require__("./node_modules/uuid/lib/bytesToUuid.js");

// **`v1()` - Generate time-based UUID**
//
// Inspired by https://github.com/LiosK/UUID.js
// and http://docs.python.org/library/uuid.html

// random #'s we need to init node and clockseq
var _seedBytes = rng();

// Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)
var _nodeId = [
  _seedBytes[0] | 0x01,
  _seedBytes[1], _seedBytes[2], _seedBytes[3], _seedBytes[4], _seedBytes[5]
];

// Per 4.2.2, randomize (14 bit) clockseq
var _clockseq = (_seedBytes[6] << 8 | _seedBytes[7]) & 0x3fff;

// Previous uuid creation time
var _lastMSecs = 0, _lastNSecs = 0;

// See https://github.com/broofa/node-uuid for API details
function v1(options, buf, offset) {
  var i = buf && offset || 0;
  var b = buf || [];

  options = options || {};

  var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;

  // UUID timestamps are 100 nano-second units since the Gregorian epoch,
  // (1582-10-15 00:00).  JSNumbers aren't precise enough for this, so
  // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'
  // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.
  var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();

  // Per 4.2.1.2, use count of uuid's generated during the current clock
  // cycle to simulate higher resolution clock
  var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;

  // Time since last uuid creation (in msecs)
  var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000;

  // Per 4.2.1.2, Bump clockseq on clock regression
  if (dt < 0 && options.clockseq === undefined) {
    clockseq = clockseq + 1 & 0x3fff;
  }

  // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new
  // time interval
  if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {
    nsecs = 0;
  }

  // Per 4.2.1.2 Throw error if too many uuids are requested
  if (nsecs >= 10000) {
    throw new Error('uuid.v1(): Can\'t create more than 10M uuids/sec');
  }

  _lastMSecs = msecs;
  _lastNSecs = nsecs;
  _clockseq = clockseq;

  // Per 4.1.4 - Convert from unix epoch to Gregorian epoch
  msecs += 12219292800000;

  // `time_low`
  var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;
  b[i++] = tl >>> 24 & 0xff;
  b[i++] = tl >>> 16 & 0xff;
  b[i++] = tl >>> 8 & 0xff;
  b[i++] = tl & 0xff;

  // `time_mid`
  var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff;
  b[i++] = tmh >>> 8 & 0xff;
  b[i++] = tmh & 0xff;

  // `time_high_and_version`
  b[i++] = tmh >>> 24 & 0xf | 0x10; // include version
  b[i++] = tmh >>> 16 & 0xff;

  // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)
  b[i++] = clockseq >>> 8 | 0x80;

  // `clock_seq_low`
  b[i++] = clockseq & 0xff;

  // `node`
  var node = options.node || _nodeId;
  for (var n = 0; n < 6; ++n) {
    b[i + n] = node[n];
  }

  return buf ? buf : bytesToUuid(b);
}

module.exports = v1;


/***/ }),

/***/ "./node_modules/validator/index.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});

var _toDate = __webpack_require__("./node_modules/validator/lib/toDate.js");

var _toDate2 = _interopRequireDefault(_toDate);

var _toFloat = __webpack_require__("./node_modules/validator/lib/toFloat.js");

var _toFloat2 = _interopRequireDefault(_toFloat);

var _toInt = __webpack_require__("./node_modules/validator/lib/toInt.js");

var _toInt2 = _interopRequireDefault(_toInt);

var _toBoolean = __webpack_require__("./node_modules/validator/lib/toBoolean.js");

var _toBoolean2 = _interopRequireDefault(_toBoolean);

var _equals = __webpack_require__("./node_modules/validator/lib/equals.js");

var _equals2 = _interopRequireDefault(_equals);

var _contains = __webpack_require__("./node_modules/validator/lib/contains.js");

var _contains2 = _interopRequireDefault(_contains);

var _matches = __webpack_require__("./node_modules/validator/lib/matches.js");

var _matches2 = _interopRequireDefault(_matches);

var _isEmail = __webpack_require__("./node_modules/validator/lib/isEmail.js");

var _isEmail2 = _interopRequireDefault(_isEmail);

var _isURL = __webpack_require__("./node_modules/validator/lib/isURL.js");

var _isURL2 = _interopRequireDefault(_isURL);

var _isMACAddress = __webpack_require__("./node_modules/validator/lib/isMACAddress.js");

var _isMACAddress2 = _interopRequireDefault(_isMACAddress);

var _isIP = __webpack_require__("./node_modules/validator/lib/isIP.js");

var _isIP2 = _interopRequireDefault(_isIP);

var _isFQDN = __webpack_require__("./node_modules/validator/lib/isFQDN.js");

var _isFQDN2 = _interopRequireDefault(_isFQDN);

var _isBoolean = __webpack_require__("./node_modules/validator/lib/isBoolean.js");

var _isBoolean2 = _interopRequireDefault(_isBoolean);

var _isAlpha = __webpack_require__("./node_modules/validator/lib/isAlpha.js");

var _isAlpha2 = _interopRequireDefault(_isAlpha);

var _isAlphanumeric = __webpack_require__("./node_modules/validator/lib/isAlphanumeric.js");

var _isAlphanumeric2 = _interopRequireDefault(_isAlphanumeric);

var _isNumeric = __webpack_require__("./node_modules/validator/lib/isNumeric.js");

var _isNumeric2 = _interopRequireDefault(_isNumeric);

var _isLowercase = __webpack_require__("./node_modules/validator/lib/isLowercase.js");

var _isLowercase2 = _interopRequireDefault(_isLowercase);

var _isUppercase = __webpack_require__("./node_modules/validator/lib/isUppercase.js");

var _isUppercase2 = _interopRequireDefault(_isUppercase);

var _isAscii = __webpack_require__("./node_modules/validator/lib/isAscii.js");

var _isAscii2 = _interopRequireDefault(_isAscii);

var _isFullWidth = __webpack_require__("./node_modules/validator/lib/isFullWidth.js");

var _isFullWidth2 = _interopRequireDefault(_isFullWidth);

var _isHalfWidth = __webpack_require__("./node_modules/validator/lib/isHalfWidth.js");

var _isHalfWidth2 = _interopRequireDefault(_isHalfWidth);

var _isVariableWidth = __webpack_require__("./node_modules/validator/lib/isVariableWidth.js");

var _isVariableWidth2 = _interopRequireDefault(_isVariableWidth);

var _isMultibyte = __webpack_require__("./node_modules/validator/lib/isMultibyte.js");

var _isMultibyte2 = _interopRequireDefault(_isMultibyte);

var _isSurrogatePair = __webpack_require__("./node_modules/validator/lib/isSurrogatePair.js");

var _isSurrogatePair2 = _interopRequireDefault(_isSurrogatePair);

var _isInt = __webpack_require__("./node_modules/validator/lib/isInt.js");

var _isInt2 = _interopRequireDefault(_isInt);

var _isFloat = __webpack_require__("./node_modules/validator/lib/isFloat.js");

var _isFloat2 = _interopRequireDefault(_isFloat);

var _isDecimal = __webpack_require__("./node_modules/validator/lib/isDecimal.js");

var _isDecimal2 = _interopRequireDefault(_isDecimal);

var _isHexadecimal = __webpack_require__("./node_modules/validator/lib/isHexadecimal.js");

var _isHexadecimal2 = _interopRequireDefault(_isHexadecimal);

var _isDivisibleBy = __webpack_require__("./node_modules/validator/lib/isDivisibleBy.js");

var _isDivisibleBy2 = _interopRequireDefault(_isDivisibleBy);

var _isHexColor = __webpack_require__("./node_modules/validator/lib/isHexColor.js");

var _isHexColor2 = _interopRequireDefault(_isHexColor);

var _isISRC = __webpack_require__("./node_modules/validator/lib/isISRC.js");

var _isISRC2 = _interopRequireDefault(_isISRC);

var _isMD = __webpack_require__("./node_modules/validator/lib/isMD5.js");

var _isMD2 = _interopRequireDefault(_isMD);

var _isJSON = __webpack_require__("./node_modules/validator/lib/isJSON.js");

var _isJSON2 = _interopRequireDefault(_isJSON);

var _isEmpty = __webpack_require__("./node_modules/validator/lib/isEmpty.js");

var _isEmpty2 = _interopRequireDefault(_isEmpty);

var _isLength = __webpack_require__("./node_modules/validator/lib/isLength.js");

var _isLength2 = _interopRequireDefault(_isLength);

var _isByteLength = __webpack_require__("./node_modules/validator/lib/isByteLength.js");

var _isByteLength2 = _interopRequireDefault(_isByteLength);

var _isUUID = __webpack_require__("./node_modules/validator/lib/isUUID.js");

var _isUUID2 = _interopRequireDefault(_isUUID);

var _isMongoId = __webpack_require__("./node_modules/validator/lib/isMongoId.js");

var _isMongoId2 = _interopRequireDefault(_isMongoId);

var _isAfter = __webpack_require__("./node_modules/validator/lib/isAfter.js");

var _isAfter2 = _interopRequireDefault(_isAfter);

var _isBefore = __webpack_require__("./node_modules/validator/lib/isBefore.js");

var _isBefore2 = _interopRequireDefault(_isBefore);

var _isIn = __webpack_require__("./node_modules/validator/lib/isIn.js");

var _isIn2 = _interopRequireDefault(_isIn);

var _isCreditCard = __webpack_require__("./node_modules/validator/lib/isCreditCard.js");

var _isCreditCard2 = _interopRequireDefault(_isCreditCard);

var _isISIN = __webpack_require__("./node_modules/validator/lib/isISIN.js");

var _isISIN2 = _interopRequireDefault(_isISIN);

var _isISBN = __webpack_require__("./node_modules/validator/lib/isISBN.js");

var _isISBN2 = _interopRequireDefault(_isISBN);

var _isISSN = __webpack_require__("./node_modules/validator/lib/isISSN.js");

var _isISSN2 = _interopRequireDefault(_isISSN);

var _isMobilePhone = __webpack_require__("./node_modules/validator/lib/isMobilePhone.js");

var _isMobilePhone2 = _interopRequireDefault(_isMobilePhone);

var _isCurrency = __webpack_require__("./node_modules/validator/lib/isCurrency.js");

var _isCurrency2 = _interopRequireDefault(_isCurrency);

var _isISO = __webpack_require__("./node_modules/validator/lib/isISO8601.js");

var _isISO2 = _interopRequireDefault(_isISO);

var _isBase = __webpack_require__("./node_modules/validator/lib/isBase64.js");

var _isBase2 = _interopRequireDefault(_isBase);

var _isDataURI = __webpack_require__("./node_modules/validator/lib/isDataURI.js");

var _isDataURI2 = _interopRequireDefault(_isDataURI);

var _ltrim = __webpack_require__("./node_modules/validator/lib/ltrim.js");

var _ltrim2 = _interopRequireDefault(_ltrim);

var _rtrim = __webpack_require__("./node_modules/validator/lib/rtrim.js");

var _rtrim2 = _interopRequireDefault(_rtrim);

var _trim = __webpack_require__("./node_modules/validator/lib/trim.js");

var _trim2 = _interopRequireDefault(_trim);

var _escape = __webpack_require__("./node_modules/validator/lib/escape.js");

var _escape2 = _interopRequireDefault(_escape);

var _unescape = __webpack_require__("./node_modules/validator/lib/unescape.js");

var _unescape2 = _interopRequireDefault(_unescape);

var _stripLow = __webpack_require__("./node_modules/validator/lib/stripLow.js");

var _stripLow2 = _interopRequireDefault(_stripLow);

var _whitelist = __webpack_require__("./node_modules/validator/lib/whitelist.js");

var _whitelist2 = _interopRequireDefault(_whitelist);

var _blacklist = __webpack_require__("./node_modules/validator/lib/blacklist.js");

var _blacklist2 = _interopRequireDefault(_blacklist);

var _isWhitelisted = __webpack_require__("./node_modules/validator/lib/isWhitelisted.js");

var _isWhitelisted2 = _interopRequireDefault(_isWhitelisted);

var _normalizeEmail = __webpack_require__("./node_modules/validator/lib/normalizeEmail.js");

var _normalizeEmail2 = _interopRequireDefault(_normalizeEmail);

var _toString = __webpack_require__("./node_modules/validator/lib/util/toString.js");

var _toString2 = _interopRequireDefault(_toString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var version = '7.1.0';

var validator = {
  version: version,
  toDate: _toDate2.default,
  toFloat: _toFloat2.default,
  toInt: _toInt2.default,
  toBoolean: _toBoolean2.default,
  equals: _equals2.default,
  contains: _contains2.default,
  matches: _matches2.default,
  isEmail: _isEmail2.default,
  isURL: _isURL2.default,
  isMACAddress: _isMACAddress2.default,
  isIP: _isIP2.default,
  isFQDN: _isFQDN2.default,
  isBoolean: _isBoolean2.default,
  isAlpha: _isAlpha2.default,
  isAlphanumeric: _isAlphanumeric2.default,
  isNumeric: _isNumeric2.default,
  isLowercase: _isLowercase2.default,
  isUppercase: _isUppercase2.default,
  isAscii: _isAscii2.default,
  isFullWidth: _isFullWidth2.default,
  isHalfWidth: _isHalfWidth2.default,
  isVariableWidth: _isVariableWidth2.default,
  isMultibyte: _isMultibyte2.default,
  isSurrogatePair: _isSurrogatePair2.default,
  isInt: _isInt2.default,
  isFloat: _isFloat2.default,
  isDecimal: _isDecimal2.default,
  isHexadecimal: _isHexadecimal2.default,
  isDivisibleBy: _isDivisibleBy2.default,
  isHexColor: _isHexColor2.default,
  isISRC: _isISRC2.default,
  isMD5: _isMD2.default,
  isJSON: _isJSON2.default,
  isEmpty: _isEmpty2.default,
  isLength: _isLength2.default,
  isByteLength: _isByteLength2.default,
  isUUID: _isUUID2.default,
  isMongoId: _isMongoId2.default,
  isAfter: _isAfter2.default,
  isBefore: _isBefore2.default,
  isIn: _isIn2.default,
  isCreditCard: _isCreditCard2.default,
  isISIN: _isISIN2.default,
  isISBN: _isISBN2.default,
  isISSN: _isISSN2.default,
  isMobilePhone: _isMobilePhone2.default,
  isCurrency: _isCurrency2.default,
  isISO8601: _isISO2.default,
  isBase64: _isBase2.default,
  isDataURI: _isDataURI2.default,
  ltrim: _ltrim2.default,
  rtrim: _rtrim2.default,
  trim: _trim2.default,
  escape: _escape2.default,
  unescape: _unescape2.default,
  stripLow: _stripLow2.default,
  whitelist: _whitelist2.default,
  blacklist: _blacklist2.default,
  isWhitelisted: _isWhitelisted2.default,
  normalizeEmail: _normalizeEmail2.default,
  toString: _toString2.default
};

exports.default = validator;
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/alpha.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
var alpha = exports.alpha = {
  'en-US': /^[A-Z]+$/i,
  'cs-CZ': /^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,
  'da-DK': /^[A-ZÆØÅ]+$/i,
  'de-DE': /^[A-ZÄÖÜß]+$/i,
  'es-ES': /^[A-ZÁÉÍÑÓÚÜ]+$/i,
  'fr-FR': /^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,
  'nl-NL': /^[A-ZÉËÏÓÖÜ]+$/i,
  'hu-HU': /^[A-ZÁÉÍÓÖŐÚÜŰ]+$/i,
  'pl-PL': /^[A-ZĄĆĘŚŁŃÓŻŹ]+$/i,
  'pt-PT': /^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]+$/i,
  'ru-RU': /^[А-ЯЁ]+$/i,
  'sr-RS@latin': /^[A-ZČĆŽŠĐ]+$/i,
  'sr-RS': /^[А-ЯЂЈЉЊЋЏ]+$/i,
  'tr-TR': /^[A-ZÇĞİıÖŞÜ]+$/i,
  'uk-UA': /^[А-ЩЬЮЯЄIЇҐ]+$/i,
  ar: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/
};

var alphanumeric = exports.alphanumeric = {
  'en-US': /^[0-9A-Z]+$/i,
  'cs-CZ': /^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,
  'da-DK': /^[0-9A-ZÆØÅ]$/i,
  'de-DE': /^[0-9A-ZÄÖÜß]+$/i,
  'es-ES': /^[0-9A-ZÁÉÍÑÓÚÜ]+$/i,
  'fr-FR': /^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,
  'hu-HU': /^[0-9A-ZÁÉÍÓÖŐÚÜŰ]+$/i,
  'nl-NL': /^[0-9A-ZÉËÏÓÖÜ]+$/i,
  'pl-PL': /^[0-9A-ZĄĆĘŚŁŃÓŻŹ]+$/i,
  'pt-PT': /^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]+$/i,
  'ru-RU': /^[0-9А-ЯЁ]+$/i,
  'sr-RS@latin': /^[0-9A-ZČĆŽŠĐ]+$/i,
  'sr-RS': /^[0-9А-ЯЂЈЉЊЋЏ]+$/i,
  'tr-TR': /^[0-9A-ZÇĞİıÖŞÜ]+$/i,
  'uk-UA': /^[0-9А-ЩЬЮЯЄIЇҐ]+$/i,
  ar: /^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/
};

var englishLocales = exports.englishLocales = ['AU', 'GB', 'HK', 'IN', 'NZ', 'ZA', 'ZM'];

for (var locale, i = 0; i < englishLocales.length; i++) {
  locale = 'en-' + englishLocales[i];
  alpha[locale] = alpha['en-US'];
  alphanumeric[locale] = alphanumeric['en-US'];
}

alpha['pt-BR'] = alpha['pt-PT'];
alphanumeric['pt-BR'] = alphanumeric['pt-PT'];

// Source: http://www.localeplanet.com/java/
var arabicLocales = exports.arabicLocales = ['AE', 'BH', 'DZ', 'EG', 'IQ', 'JO', 'KW', 'LB', 'LY', 'MA', 'QM', 'QA', 'SA', 'SD', 'SY', 'TN', 'YE'];

for (var _locale, _i = 0; _i < arabicLocales.length; _i++) {
  _locale = 'ar-' + arabicLocales[_i];
  alpha[_locale] = alpha.ar;
  alphanumeric[_locale] = alphanumeric.ar;
}

/***/ }),

/***/ "./node_modules/validator/lib/blacklist.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = blacklist;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function blacklist(str, chars) {
  (0, _assertString2.default)(str);
  return str.replace(new RegExp('[' + chars + ']+', 'g'), '');
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/contains.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = contains;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

var _toString = __webpack_require__("./node_modules/validator/lib/util/toString.js");

var _toString2 = _interopRequireDefault(_toString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function contains(str, elem) {
  (0, _assertString2.default)(str);
  return str.indexOf((0, _toString2.default)(elem)) >= 0;
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/equals.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = equals;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function equals(str, comparison) {
  (0, _assertString2.default)(str);
  return str === comparison;
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/escape.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = escape;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function escape(str) {
  (0, _assertString2.default)(str);
  return str.replace(/&/g, '&amp;').replace(/"/g, '&quot;').replace(/'/g, '&#x27;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\//g, '&#x2F;').replace(/\\/g, '&#x5C;').replace(/`/g, '&#96;');
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isAfter.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isAfter;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

var _toDate = __webpack_require__("./node_modules/validator/lib/toDate.js");

var _toDate2 = _interopRequireDefault(_toDate);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function isAfter(str) {
  var date = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : String(new Date());

  (0, _assertString2.default)(str);
  var comparison = (0, _toDate2.default)(date);
  var original = (0, _toDate2.default)(str);
  return !!(original && comparison && original > comparison);
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isAlpha.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isAlpha;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

var _alpha = __webpack_require__("./node_modules/validator/lib/alpha.js");

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function isAlpha(str) {
  var locale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'en-US';

  (0, _assertString2.default)(str);
  if (locale in _alpha.alpha) {
    return _alpha.alpha[locale].test(str);
  }
  throw new Error('Invalid locale \'' + locale + '\'');
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isAlphanumeric.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isAlphanumeric;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

var _alpha = __webpack_require__("./node_modules/validator/lib/alpha.js");

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function isAlphanumeric(str) {
  var locale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'en-US';

  (0, _assertString2.default)(str);
  if (locale in _alpha.alphanumeric) {
    return _alpha.alphanumeric[locale].test(str);
  }
  throw new Error('Invalid locale \'' + locale + '\'');
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isAscii.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isAscii;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

/* eslint-disable no-control-regex */
var ascii = /^[\x00-\x7F]+$/;
/* eslint-enable no-control-regex */

function isAscii(str) {
  (0, _assertString2.default)(str);
  return ascii.test(str);
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isBase64.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isBase64;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var notBase64 = /[^A-Z0-9+\/=]/i;

function isBase64(str) {
  (0, _assertString2.default)(str);
  var len = str.length;
  if (!len || len % 4 !== 0 || notBase64.test(str)) {
    return false;
  }
  var firstPaddingChar = str.indexOf('=');
  return firstPaddingChar === -1 || firstPaddingChar === len - 1 || firstPaddingChar === len - 2 && str[len - 1] === '=';
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isBefore.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isBefore;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

var _toDate = __webpack_require__("./node_modules/validator/lib/toDate.js");

var _toDate2 = _interopRequireDefault(_toDate);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function isBefore(str) {
  var date = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : String(new Date());

  (0, _assertString2.default)(str);
  var comparison = (0, _toDate2.default)(date);
  var original = (0, _toDate2.default)(str);
  return !!(original && comparison && original < comparison);
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isBoolean.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isBoolean;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function isBoolean(str) {
  (0, _assertString2.default)(str);
  return ['true', 'false', '1', '0'].indexOf(str) >= 0;
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isByteLength.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});

var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };

exports.default = isByteLength;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

/* eslint-disable prefer-rest-params */
function isByteLength(str, options) {
  (0, _assertString2.default)(str);
  var min = void 0;
  var max = void 0;
  if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) === 'object') {
    min = options.min || 0;
    max = options.max;
  } else {
    // backwards compatibility: isByteLength(str, min [, max])
    min = arguments[1];
    max = arguments[2];
  }
  var len = encodeURI(str).split(/%..|./).length - 1;
  return len >= min && (typeof max === 'undefined' || len <= max);
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isCreditCard.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isCreditCard;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

/* eslint-disable max-len */
var creditCard = /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11}|62[0-9]{14})$/;
/* eslint-enable max-len */

function isCreditCard(str) {
  (0, _assertString2.default)(str);
  var sanitized = str.replace(/[^0-9]+/g, '');
  if (!creditCard.test(sanitized)) {
    return false;
  }
  var sum = 0;
  var digit = void 0;
  var tmpNum = void 0;
  var shouldDouble = void 0;
  for (var i = sanitized.length - 1; i >= 0; i--) {
    digit = sanitized.substring(i, i + 1);
    tmpNum = parseInt(digit, 10);
    if (shouldDouble) {
      tmpNum *= 2;
      if (tmpNum >= 10) {
        sum += tmpNum % 10 + 1;
      } else {
        sum += tmpNum;
      }
    } else {
      sum += tmpNum;
    }
    shouldDouble = !shouldDouble;
  }
  return !!(sum % 10 === 0 ? sanitized : false);
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isCurrency.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isCurrency;

var _merge = __webpack_require__("./node_modules/validator/lib/util/merge.js");

var _merge2 = _interopRequireDefault(_merge);

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function currencyRegex(options) {
  var symbol = '(\\' + options.symbol.replace(/\./g, '\\.') + ')' + (options.require_symbol ? '' : '?'),
      negative = '-?',
      whole_dollar_amount_without_sep = '[1-9]\\d*',
      whole_dollar_amount_with_sep = '[1-9]\\d{0,2}(\\' + options.thousands_separator + '\\d{3})*',
      valid_whole_dollar_amounts = ['0', whole_dollar_amount_without_sep, whole_dollar_amount_with_sep],
      whole_dollar_amount = '(' + valid_whole_dollar_amounts.join('|') + ')?',
      decimal_amount = '(\\' + options.decimal_separator + '\\d{2})?';
  var pattern = whole_dollar_amount + decimal_amount;

  // default is negative sign before symbol, but there are two other options (besides parens)
  if (options.allow_negatives && !options.parens_for_negatives) {
    if (options.negative_sign_after_digits) {
      pattern += negative;
    } else if (options.negative_sign_before_digits) {
      pattern = negative + pattern;
    }
  }

  // South African Rand, for example, uses R 123 (space) and R-123 (no space)
  if (options.allow_negative_sign_placeholder) {
    pattern = '( (?!\\-))?' + pattern;
  } else if (options.allow_space_after_symbol) {
    pattern = ' ?' + pattern;
  } else if (options.allow_space_after_digits) {
    pattern += '( (?!$))?';
  }

  if (options.symbol_after_digits) {
    pattern += symbol;
  } else {
    pattern = symbol + pattern;
  }

  if (options.allow_negatives) {
    if (options.parens_for_negatives) {
      pattern = '(\\(' + pattern + '\\)|' + pattern + ')';
    } else if (!(options.negative_sign_before_digits || options.negative_sign_after_digits)) {
      pattern = negative + pattern;
    }
  }

  // ensure there's a dollar and/or decimal amount, and that
  // it doesn't start with a space or a negative sign followed by a space
  return new RegExp('^(?!-? )(?=.*\\d)' + pattern + '$');
}

var default_currency_options = {
  symbol: '$',
  require_symbol: false,
  allow_space_after_symbol: false,
  symbol_after_digits: false,
  allow_negatives: true,
  parens_for_negatives: false,
  negative_sign_before_digits: false,
  negative_sign_after_digits: false,
  allow_negative_sign_placeholder: false,
  thousands_separator: ',',
  decimal_separator: '.',
  allow_space_after_digits: false
};

function isCurrency(str, options) {
  (0, _assertString2.default)(str);
  options = (0, _merge2.default)(options, default_currency_options);
  return currencyRegex(options).test(str);
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isDataURI.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isDataURI;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var dataURI = /^\s*data:([a-z]+\/[a-z0-9\-\+]+(;[a-z\-]+=[a-z0-9\-]+)?)?(;base64)?,[a-z0-9!\$&',\(\)\*\+,;=\-\._~:@\/\?%\s]*\s*$/i; // eslint-disable-line max-len

function isDataURI(str) {
  (0, _assertString2.default)(str);
  return dataURI.test(str);
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isDecimal.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isDecimal;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var decimal = /^[-+]?([0-9]+|\.[0-9]+|[0-9]+\.[0-9]+)$/;

function isDecimal(str) {
  (0, _assertString2.default)(str);
  return str !== '' && decimal.test(str);
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isDivisibleBy.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isDivisibleBy;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

var _toFloat = __webpack_require__("./node_modules/validator/lib/toFloat.js");

var _toFloat2 = _interopRequireDefault(_toFloat);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function isDivisibleBy(str, num) {
  (0, _assertString2.default)(str);
  return (0, _toFloat2.default)(str) % parseInt(num, 10) === 0;
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isEmail.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isEmail;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

var _merge = __webpack_require__("./node_modules/validator/lib/util/merge.js");

var _merge2 = _interopRequireDefault(_merge);

var _isByteLength = __webpack_require__("./node_modules/validator/lib/isByteLength.js");

var _isByteLength2 = _interopRequireDefault(_isByteLength);

var _isFQDN = __webpack_require__("./node_modules/validator/lib/isFQDN.js");

var _isFQDN2 = _interopRequireDefault(_isFQDN);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var default_email_options = {
  allow_display_name: false,
  require_display_name: false,
  allow_utf8_local_part: true,
  require_tld: true
};

/* eslint-disable max-len */
/* eslint-disable no-control-regex */
var displayName = /^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\.\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\.\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF\s]*<(.+)>$/i;
var emailUserPart = /^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~]+$/i;
var quotedEmailUser = /^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f]))*$/i;
var emailUserUtf8Part = /^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i;
var quotedEmailUserUtf8 = /^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*$/i;
/* eslint-enable max-len */
/* eslint-enable no-control-regex */

function isEmail(str, options) {
  (0, _assertString2.default)(str);
  options = (0, _merge2.default)(options, default_email_options);

  if (options.require_display_name || options.allow_display_name) {
    var display_email = str.match(displayName);
    if (display_email) {
      str = display_email[1];
    } else if (options.require_display_name) {
      return false;
    }
  }

  var parts = str.split('@');
  var domain = parts.pop();
  var user = parts.join('@');

  var lower_domain = domain.toLowerCase();
  if (lower_domain === 'gmail.com' || lower_domain === 'googlemail.com') {
    user = user.replace(/\./g, '').toLowerCase();
  }

  if (!(0, _isByteLength2.default)(user, { max: 64 }) || !(0, _isByteLength2.default)(domain, { max: 254 })) {
    return false;
  }

  if (!(0, _isFQDN2.default)(domain, { require_tld: options.require_tld })) {
    return false;
  }

  if (user[0] === '"') {
    user = user.slice(1, user.length - 1);
    return options.allow_utf8_local_part ? quotedEmailUserUtf8.test(user) : quotedEmailUser.test(user);
  }

  var pattern = options.allow_utf8_local_part ? emailUserUtf8Part : emailUserPart;

  var user_parts = user.split('.');
  for (var i = 0; i < user_parts.length; i++) {
    if (!pattern.test(user_parts[i])) {
      return false;
    }
  }

  return true;
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isEmpty.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isEmpty;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function isEmpty(str) {
  (0, _assertString2.default)(str);
  return str.length === 0;
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isFQDN.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isFDQN;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

var _merge = __webpack_require__("./node_modules/validator/lib/util/merge.js");

var _merge2 = _interopRequireDefault(_merge);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var default_fqdn_options = {
  require_tld: true,
  allow_underscores: false,
  allow_trailing_dot: false
};

function isFDQN(str, options) {
  (0, _assertString2.default)(str);
  options = (0, _merge2.default)(options, default_fqdn_options);

  /* Remove the optional trailing dot before checking validity */
  if (options.allow_trailing_dot && str[str.length - 1] === '.') {
    str = str.substring(0, str.length - 1);
  }
  var parts = str.split('.');
  if (options.require_tld) {
    var tld = parts.pop();
    if (!parts.length || !/^([a-z\u00a1-\uffff]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {
      return false;
    }
  }
  for (var part, i = 0; i < parts.length; i++) {
    part = parts[i];
    if (options.allow_underscores) {
      part = part.replace(/_/g, '');
    }
    if (!/^[a-z\u00a1-\uffff0-9-]+$/i.test(part)) {
      return false;
    }
    // disallow full-width chars
    if (/[\uff01-\uff5e]/.test(part)) {
      return false;
    }
    if (part[0] === '-' || part[part.length - 1] === '-') {
      return false;
    }
  }
  return true;
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isFloat.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isFloat;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var float = /^(?:[-+])?(?:[0-9]+)?(?:\.[0-9]*)?(?:[eE][\+\-]?(?:[0-9]+))?$/;

function isFloat(str, options) {
  (0, _assertString2.default)(str);
  options = options || {};
  if (str === '' || str === '.') {
    return false;
  }
  return float.test(str) && (!options.hasOwnProperty('min') || str >= options.min) && (!options.hasOwnProperty('max') || str <= options.max) && (!options.hasOwnProperty('lt') || str < options.lt) && (!options.hasOwnProperty('gt') || str > options.gt);
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isFullWidth.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.fullWidth = undefined;
exports.default = isFullWidth;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var fullWidth = exports.fullWidth = /[^\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/;

function isFullWidth(str) {
  (0, _assertString2.default)(str);
  return fullWidth.test(str);
}

/***/ }),

/***/ "./node_modules/validator/lib/isHalfWidth.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.halfWidth = undefined;
exports.default = isHalfWidth;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var halfWidth = exports.halfWidth = /[\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/;

function isHalfWidth(str) {
  (0, _assertString2.default)(str);
  return halfWidth.test(str);
}

/***/ }),

/***/ "./node_modules/validator/lib/isHexColor.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isHexColor;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var hexcolor = /^#?([0-9A-F]{3}|[0-9A-F]{6})$/i;

function isHexColor(str) {
  (0, _assertString2.default)(str);
  return hexcolor.test(str);
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isHexadecimal.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isHexadecimal;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var hexadecimal = /^[0-9A-F]+$/i;

function isHexadecimal(str) {
  (0, _assertString2.default)(str);
  return hexadecimal.test(str);
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isIP.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isIP;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var ipv4Maybe = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
var ipv6Block = /^[0-9A-F]{1,4}$/i;

function isIP(str) {
  var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';

  (0, _assertString2.default)(str);
  version = String(version);
  if (!version) {
    return isIP(str, 4) || isIP(str, 6);
  } else if (version === '4') {
    if (!ipv4Maybe.test(str)) {
      return false;
    }
    var parts = str.split('.').sort(function (a, b) {
      return a - b;
    });
    return parts[3] <= 255;
  } else if (version === '6') {
    var blocks = str.split(':');
    var foundOmissionBlock = false; // marker to indicate ::

    // At least some OS accept the last 32 bits of an IPv6 address
    // (i.e. 2 of the blocks) in IPv4 notation, and RFC 3493 says
    // that '::ffff:a.b.c.d' is valid for IPv4-mapped IPv6 addresses,
    // and '::a.b.c.d' is deprecated, but also valid.
    var foundIPv4TransitionBlock = isIP(blocks[blocks.length - 1], 4);
    var expectedNumberOfBlocks = foundIPv4TransitionBlock ? 7 : 8;

    if (blocks.length > expectedNumberOfBlocks) {
      return false;
    }
    // initial or final ::
    if (str === '::') {
      return true;
    } else if (str.substr(0, 2) === '::') {
      blocks.shift();
      blocks.shift();
      foundOmissionBlock = true;
    } else if (str.substr(str.length - 2) === '::') {
      blocks.pop();
      blocks.pop();
      foundOmissionBlock = true;
    }

    for (var i = 0; i < blocks.length; ++i) {
      // test for a :: which can not be at the string start/end
      // since those cases have been handled above
      if (blocks[i] === '' && i > 0 && i < blocks.length - 1) {
        if (foundOmissionBlock) {
          return false; // multiple :: in address
        }
        foundOmissionBlock = true;
      } else if (foundIPv4TransitionBlock && i === blocks.length - 1) {
        // it has been checked before that the last
        // block is a valid IPv4 address
      } else if (!ipv6Block.test(blocks[i])) {
        return false;
      }
    }
    if (foundOmissionBlock) {
      return blocks.length >= 1;
    }
    return blocks.length === expectedNumberOfBlocks;
  }
  return false;
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isISBN.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isISBN;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var isbn10Maybe = /^(?:[0-9]{9}X|[0-9]{10})$/;
var isbn13Maybe = /^(?:[0-9]{13})$/;
var factor = [1, 3];

function isISBN(str) {
  var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';

  (0, _assertString2.default)(str);
  version = String(version);
  if (!version) {
    return isISBN(str, 10) || isISBN(str, 13);
  }
  var sanitized = str.replace(/[\s-]+/g, '');
  var checksum = 0;
  var i = void 0;
  if (version === '10') {
    if (!isbn10Maybe.test(sanitized)) {
      return false;
    }
    for (i = 0; i < 9; i++) {
      checksum += (i + 1) * sanitized.charAt(i);
    }
    if (sanitized.charAt(9) === 'X') {
      checksum += 10 * 10;
    } else {
      checksum += 10 * sanitized.charAt(9);
    }
    if (checksum % 11 === 0) {
      return !!sanitized;
    }
  } else if (version === '13') {
    if (!isbn13Maybe.test(sanitized)) {
      return false;
    }
    for (i = 0; i < 12; i++) {
      checksum += factor[i % 2] * sanitized.charAt(i);
    }
    if (sanitized.charAt(12) - (10 - checksum % 10) % 10 === 0) {
      return !!sanitized;
    }
  }
  return false;
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isISIN.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isISIN;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var isin = /^[A-Z]{2}[0-9A-Z]{9}[0-9]$/;

function isISIN(str) {
  (0, _assertString2.default)(str);
  if (!isin.test(str)) {
    return false;
  }

  var checksumStr = str.replace(/[A-Z]/g, function (character) {
    return parseInt(character, 36);
  });

  var sum = 0;
  var digit = void 0;
  var tmpNum = void 0;
  var shouldDouble = true;
  for (var i = checksumStr.length - 2; i >= 0; i--) {
    digit = checksumStr.substring(i, i + 1);
    tmpNum = parseInt(digit, 10);
    if (shouldDouble) {
      tmpNum *= 2;
      if (tmpNum >= 10) {
        sum += tmpNum + 1;
      } else {
        sum += tmpNum;
      }
    } else {
      sum += tmpNum;
    }
    shouldDouble = !shouldDouble;
  }

  return parseInt(str.substr(str.length - 1), 10) === (10000 - sum) % 10;
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isISO8601.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.iso8601 = undefined;

exports.default = function (str) {
  (0, _assertString2.default)(str);
  return iso8601.test(str);
};

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

/* eslint-disable max-len */
// from http://goo.gl/0ejHHW
var iso8601 = exports.iso8601 = /^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/;
/* eslint-enable max-len */

/***/ }),

/***/ "./node_modules/validator/lib/isISRC.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isISRC;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

// see http://isrc.ifpi.org/en/isrc-standard/code-syntax
var isrc = /^[A-Z]{2}[0-9A-Z]{3}\d{2}\d{5}$/;

function isISRC(str) {
  (0, _assertString2.default)(str);
  return isrc.test(str);
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isISSN.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isISSN;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var issn = '^\\d{4}-?\\d{3}[\\dX]$';

function isISSN(str) {
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};

  (0, _assertString2.default)(str);
  var testIssn = issn;
  testIssn = options.require_hyphen ? testIssn.replace('?', '') : testIssn;
  testIssn = options.case_sensitive ? new RegExp(testIssn) : new RegExp(testIssn, 'i');
  if (!testIssn.test(str)) {
    return false;
  }
  var issnDigits = str.replace('-', '');
  var position = 8;
  var checksum = 0;
  var _iteratorNormalCompletion = true;
  var _didIteratorError = false;
  var _iteratorError = undefined;

  try {
    for (var _iterator = issnDigits[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
      var digit = _step.value;

      var digitValue = digit.toUpperCase() === 'X' ? 10 : +digit;
      checksum += digitValue * position;
      --position;
    }
  } catch (err) {
    _didIteratorError = true;
    _iteratorError = err;
  } finally {
    try {
      if (!_iteratorNormalCompletion && _iterator.return) {
        _iterator.return();
      }
    } finally {
      if (_didIteratorError) {
        throw _iteratorError;
      }
    }
  }

  return checksum % 11 === 0;
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isIn.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});

var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };

exports.default = isIn;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

var _toString = __webpack_require__("./node_modules/validator/lib/util/toString.js");

var _toString2 = _interopRequireDefault(_toString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function isIn(str, options) {
  (0, _assertString2.default)(str);
  var i = void 0;
  if (Object.prototype.toString.call(options) === '[object Array]') {
    var array = [];
    for (i in options) {
      if ({}.hasOwnProperty.call(options, i)) {
        array[i] = (0, _toString2.default)(options[i]);
      }
    }
    return array.indexOf(str) >= 0;
  } else if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) === 'object') {
    return options.hasOwnProperty(str);
  } else if (options && typeof options.indexOf === 'function') {
    return options.indexOf(str) >= 0;
  }
  return false;
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isInt.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isInt;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var int = /^(?:[-+]?(?:0|[1-9][0-9]*))$/;
var intLeadingZeroes = /^[-+]?[0-9]+$/;

function isInt(str, options) {
  (0, _assertString2.default)(str);
  options = options || {};

  // Get the regex to use for testing, based on whether
  // leading zeroes are allowed or not.
  var regex = options.hasOwnProperty('allow_leading_zeroes') && !options.allow_leading_zeroes ? int : intLeadingZeroes;

  // Check min/max/lt/gt
  var minCheckPassed = !options.hasOwnProperty('min') || str >= options.min;
  var maxCheckPassed = !options.hasOwnProperty('max') || str <= options.max;
  var ltCheckPassed = !options.hasOwnProperty('lt') || str < options.lt;
  var gtCheckPassed = !options.hasOwnProperty('gt') || str > options.gt;

  return regex.test(str) && minCheckPassed && maxCheckPassed && ltCheckPassed && gtCheckPassed;
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isJSON.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});

var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };

exports.default = isJSON;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function isJSON(str) {
  (0, _assertString2.default)(str);
  try {
    var obj = JSON.parse(str);
    return !!obj && (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object';
  } catch (e) {/* ignore */}
  return false;
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isLength.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});

var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };

exports.default = isLength;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

/* eslint-disable prefer-rest-params */
function isLength(str, options) {
  (0, _assertString2.default)(str);
  var min = void 0;
  var max = void 0;
  if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) === 'object') {
    min = options.min || 0;
    max = options.max;
  } else {
    // backwards compatibility: isLength(str, min [, max])
    min = arguments[1];
    max = arguments[2];
  }
  var surrogatePairs = str.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g) || [];
  var len = str.length - surrogatePairs.length;
  return len >= min && (typeof max === 'undefined' || len <= max);
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isLowercase.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isLowercase;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function isLowercase(str) {
  (0, _assertString2.default)(str);
  return str === str.toLowerCase();
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isMACAddress.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isMACAddress;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var macAddress = /^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$/;

function isMACAddress(str) {
  (0, _assertString2.default)(str);
  return macAddress.test(str);
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isMD5.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isMD5;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var md5 = /^[a-f0-9]{32}$/;

function isMD5(str) {
  (0, _assertString2.default)(str);
  return md5.test(str);
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isMobilePhone.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isMobilePhone;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

/* eslint-disable max-len */
var phones = {
  'ar-DZ': /^(\+?213|0)(5|6|7)\d{8}$/,
  'ar-SY': /^(!?(\+?963)|0)?9\d{8}$/,
  'ar-SA': /^(!?(\+?966)|0)?5\d{8}$/,
  'en-US': /^(\+?1)?[2-9]\d{2}[2-9](?!11)\d{6}$/,
  'cs-CZ': /^(\+?420)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/,
  'de-DE': /^(\+?49[ \.\-])?([\(]{1}[0-9]{1,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$/,
  'da-DK': /^(\+?45)?(\d{8})$/,
  'el-GR': /^(\+?30)?(69\d{8})$/,
  'en-AU': /^(\+?61|0)4\d{8}$/,
  'en-GB': /^(\+?44|0)7\d{9}$/,
  'en-HK': /^(\+?852\-?)?[569]\d{3}\-?\d{4}$/,
  'en-IN': /^(\+?91|0)?[789]\d{9}$/,
  'en-NG': /^(\+?234|0)?[789]\d{9}$/,
  'en-NZ': /^(\+?64|0)2\d{7,9}$/,
  'en-ZA': /^(\+?27|0)\d{9}$/,
  'en-ZM': /^(\+?26)?09[567]\d{7}$/,
  'es-ES': /^(\+?34)?(6\d{1}|7[1234])\d{7}$/,
  'fa-IR': /^(\+?98[\-\s]?|0)9[0-39]\d[\-\s]?\d{3}[\-\s]?\d{4}$/,
  'fi-FI': /^(\+?358|0)\s?(4(0|1|2|4|5)?|50)\s?(\d\s?){4,8}\d$/,
  'fr-FR': /^(\+?33|0)[67]\d{8}$/,
  'he-IL': /^(\+972|0)([23489]|5[0248]|77)[1-9]\d{6}/,
  'hu-HU': /^(\+?36)(20|30|70)\d{7}$/,
  'lt-LT': /^(\+370|8)\d{8}$/,
  'id-ID': /^(\+?62|0[1-9])[\s|\d]+$/,
  'it-IT': /^(\+?39)?\s?3\d{2} ?\d{6,7}$/,
  'ko-KR': /^((\+?82)[ \-]?)?0?1([0|1|6|7|8|9]{1})[ \-]?\d{3,4}[ \-]?\d{4}$/,
  'ja-JP': /^(\+?81|0)\d{1,4}[ \-]?\d{1,4}[ \-]?\d{4}$/,
  'ms-MY': /^(\+?6?01){1}(([145]{1}(\-|\s)?\d{7,8})|([236789]{1}(\s|\-)?\d{7}))$/,
  'nb-NO': /^(\+?47)?[49]\d{7}$/,
  'nl-BE': /^(\+?32|0)4?\d{8}$/,
  'nn-NO': /^(\+?47)?[49]\d{7}$/,
  'pl-PL': /^(\+?48)? ?[5-8]\d ?\d{3} ?\d{2} ?\d{2}$/,
  'pt-BR': /^(\+?55|0)\-?[1-9]{2}\-?[2-9]{1}\d{3,4}\-?\d{4}$/,
  'pt-PT': /^(\+?351)?9[1236]\d{7}$/,
  'ro-RO': /^(\+?4?0)\s?7\d{2}(\/|\s|\.|\-)?\d{3}(\s|\.|\-)?\d{3}$/,
  'en-PK': /^((\+92)|(0092))-{0,1}\d{3}-{0,1}\d{7}$|^\d{11}$|^\d{4}-\d{7}$/,
  'ru-RU': /^(\+?7|8)?9\d{9}$/,
  'sr-RS': /^(\+3816|06)[- \d]{5,9}$/,
  'tr-TR': /^(\+?90|0)?5\d{9}$/,
  'vi-VN': /^(\+?84|0)?((1(2([0-9])|6([2-9])|88|99))|(9((?!5)[0-9])))([0-9]{7})$/,
  'zh-CN': /^(\+?0?86\-?)?1[345789]\d{9}$/,
  'zh-TW': /^(\+?886\-?|0)?9\d{8}$/
};
/* eslint-enable max-len */

// aliases
phones['en-CA'] = phones['en-US'];
phones['fr-BE'] = phones['nl-BE'];
phones['zh-HK'] = phones['en-HK'];

function isMobilePhone(str, locale) {
  (0, _assertString2.default)(str);
  if (locale in phones) {
    return phones[locale].test(str);
  }
  return false;
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isMongoId.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isMongoId;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

var _isHexadecimal = __webpack_require__("./node_modules/validator/lib/isHexadecimal.js");

var _isHexadecimal2 = _interopRequireDefault(_isHexadecimal);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function isMongoId(str) {
  (0, _assertString2.default)(str);
  return (0, _isHexadecimal2.default)(str) && str.length === 24;
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isMultibyte.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isMultibyte;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

/* eslint-disable no-control-regex */
var multibyte = /[^\x00-\x7F]/;
/* eslint-enable no-control-regex */

function isMultibyte(str) {
  (0, _assertString2.default)(str);
  return multibyte.test(str);
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isNumeric.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isNumeric;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var numeric = /^[-+]?[0-9]+$/;

function isNumeric(str) {
  (0, _assertString2.default)(str);
  return numeric.test(str);
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isSurrogatePair.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isSurrogatePair;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var surrogatePair = /[\uD800-\uDBFF][\uDC00-\uDFFF]/;

function isSurrogatePair(str) {
  (0, _assertString2.default)(str);
  return surrogatePair.test(str);
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isURL.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isURL;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

var _isFQDN = __webpack_require__("./node_modules/validator/lib/isFQDN.js");

var _isFQDN2 = _interopRequireDefault(_isFQDN);

var _isIP = __webpack_require__("./node_modules/validator/lib/isIP.js");

var _isIP2 = _interopRequireDefault(_isIP);

var _merge = __webpack_require__("./node_modules/validator/lib/util/merge.js");

var _merge2 = _interopRequireDefault(_merge);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var default_url_options = {
  protocols: ['http', 'https', 'ftp'],
  require_tld: true,
  require_protocol: false,
  require_host: true,
  require_valid_protocol: true,
  allow_underscores: false,
  allow_trailing_dot: false,
  allow_protocol_relative_urls: false
};

var wrapped_ipv6 = /^\[([^\]]+)\](?::([0-9]+))?$/;

function isRegExp(obj) {
  return Object.prototype.toString.call(obj) === '[object RegExp]';
}

function checkHost(host, matches) {
  for (var i = 0; i < matches.length; i++) {
    var match = matches[i];
    if (host === match || isRegExp(match) && match.test(host)) {
      return true;
    }
  }
  return false;
}

function isURL(url, options) {
  (0, _assertString2.default)(url);
  if (!url || url.length >= 2083 || /[\s<>]/.test(url)) {
    return false;
  }
  if (url.indexOf('mailto:') === 0) {
    return false;
  }
  options = (0, _merge2.default)(options, default_url_options);
  var protocol = void 0,
      auth = void 0,
      host = void 0,
      hostname = void 0,
      port = void 0,
      port_str = void 0,
      split = void 0,
      ipv6 = void 0;

  split = url.split('#');
  url = split.shift();

  split = url.split('?');
  url = split.shift();

  split = url.split('://');
  if (split.length > 1) {
    protocol = split.shift();
    if (options.require_valid_protocol && options.protocols.indexOf(protocol) === -1) {
      return false;
    }
  } else if (options.require_protocol) {
    return false;
  } else if (options.allow_protocol_relative_urls && url.substr(0, 2) === '//') {
    split[0] = url.substr(2);
  }
  url = split.join('://');

  split = url.split('/');
  url = split.shift();

  if (url === '' && !options.require_host) {
    return true;
  }

  split = url.split('@');
  if (split.length > 1) {
    auth = split.shift();
    if (auth.indexOf(':') >= 0 && auth.split(':').length > 2) {
      return false;
    }
  }
  hostname = split.join('@');

  port_str = null;
  ipv6 = null;
  var ipv6_match = hostname.match(wrapped_ipv6);
  if (ipv6_match) {
    host = '';
    ipv6 = ipv6_match[1];
    port_str = ipv6_match[2] || null;
  } else {
    split = hostname.split(':');
    host = split.shift();
    if (split.length) {
      port_str = split.join(':');
    }
  }

  if (port_str !== null) {
    port = parseInt(port_str, 10);
    if (!/^[0-9]+$/.test(port_str) || port <= 0 || port > 65535) {
      return false;
    }
  }

  if (!(0, _isIP2.default)(host) && !(0, _isFQDN2.default)(host, options) && (!ipv6 || !(0, _isIP2.default)(ipv6, 6)) && host !== 'localhost') {
    return false;
  }

  host = host || ipv6;

  if (options.host_whitelist && !checkHost(host, options.host_whitelist)) {
    return false;
  }
  if (options.host_blacklist && checkHost(host, options.host_blacklist)) {
    return false;
  }

  return true;
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isUUID.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isUUID;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var uuid = {
  3: /^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,
  4: /^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,
  5: /^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,
  all: /^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i
};

function isUUID(str) {
  var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'all';

  (0, _assertString2.default)(str);
  var pattern = uuid[version];
  return pattern && pattern.test(str);
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isUppercase.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isUppercase;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function isUppercase(str) {
  (0, _assertString2.default)(str);
  return str === str.toUpperCase();
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isVariableWidth.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isVariableWidth;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

var _isFullWidth = __webpack_require__("./node_modules/validator/lib/isFullWidth.js");

var _isHalfWidth = __webpack_require__("./node_modules/validator/lib/isHalfWidth.js");

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function isVariableWidth(str) {
  (0, _assertString2.default)(str);
  return _isFullWidth.fullWidth.test(str) && _isHalfWidth.halfWidth.test(str);
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/isWhitelisted.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = isWhitelisted;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function isWhitelisted(str, chars) {
  (0, _assertString2.default)(str);
  for (var i = str.length - 1; i >= 0; i--) {
    if (chars.indexOf(str[i]) === -1) {
      return false;
    }
  }
  return true;
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/ltrim.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = ltrim;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function ltrim(str, chars) {
  (0, _assertString2.default)(str);
  var pattern = chars ? new RegExp('^[' + chars + ']+', 'g') : /^\s+/g;
  return str.replace(pattern, '');
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/matches.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = matches;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function matches(str, pattern, modifiers) {
  (0, _assertString2.default)(str);
  if (Object.prototype.toString.call(pattern) !== '[object RegExp]') {
    pattern = new RegExp(pattern, modifiers);
  }
  return pattern.test(str);
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/normalizeEmail.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = normalizeEmail;

var _isEmail = __webpack_require__("./node_modules/validator/lib/isEmail.js");

var _isEmail2 = _interopRequireDefault(_isEmail);

var _merge = __webpack_require__("./node_modules/validator/lib/util/merge.js");

var _merge2 = _interopRequireDefault(_merge);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var default_normalize_email_options = {
  // The following options apply to all email addresses
  // Lowercases the local part of the email address.
  // Please note this may violate RFC 5321 as per http://stackoverflow.com/a/9808332/192024).
  // The domain is always lowercased, as per RFC 1035
  all_lowercase: true,

  // The following conversions are specific to GMail
  // Lowercases the local part of the GMail address (known to be case-insensitive)
  gmail_lowercase: true,
  // Removes dots from the local part of the email address, as that's ignored by GMail
  gmail_remove_dots: true,
  // Removes the subaddress (e.g. "+foo") from the email address
  gmail_remove_subaddress: true,
  // Conversts the googlemail.com domain to gmail.com
  gmail_convert_googlemaildotcom: true,

  // The following conversions are specific to Outlook.com / Windows Live / Hotmail
  // Lowercases the local part of the Outlook.com address (known to be case-insensitive)
  outlookdotcom_lowercase: true,
  // Removes the subaddress (e.g. "+foo") from the email address
  outlookdotcom_remove_subaddress: true,

  // The following conversions are specific to Yahoo
  // Lowercases the local part of the Yahoo address (known to be case-insensitive)
  yahoo_lowercase: true,
  // Removes the subaddress (e.g. "-foo") from the email address
  yahoo_remove_subaddress: true,

  // The following conversions are specific to iCloud
  // Lowercases the local part of the iCloud address (known to be case-insensitive)
  icloud_lowercase: true,
  // Removes the subaddress (e.g. "+foo") from the email address
  icloud_remove_subaddress: true
};

// List of domains used by iCloud
var icloud_domains = ['icloud.com', 'me.com'];

// List of domains used by Outlook.com and its predecessors
// This list is likely incomplete.
// Partial reference:
// https://blogs.office.com/2013/04/17/outlook-com-gets-two-step-verification-sign-in-by-alias-and-new-international-domains/
var outlookdotcom_domains = ['hotmail.at', 'hotmail.be', 'hotmail.ca', 'hotmail.cl', 'hotmail.co.il', 'hotmail.co.nz', 'hotmail.co.th', 'hotmail.co.uk', 'hotmail.com', 'hotmail.com.ar', 'hotmail.com.au', 'hotmail.com.br', 'hotmail.com.gr', 'hotmail.com.mx', 'hotmail.com.pe', 'hotmail.com.tr', 'hotmail.com.vn', 'hotmail.cz', 'hotmail.de', 'hotmail.dk', 'hotmail.es', 'hotmail.fr', 'hotmail.hu', 'hotmail.id', 'hotmail.ie', 'hotmail.in', 'hotmail.it', 'hotmail.jp', 'hotmail.kr', 'hotmail.lv', 'hotmail.my', 'hotmail.ph', 'hotmail.pt', 'hotmail.sa', 'hotmail.sg', 'hotmail.sk', 'live.be', 'live.co.uk', 'live.com', 'live.com.ar', 'live.com.mx', 'live.de', 'live.es', 'live.eu', 'live.fr', 'live.it', 'live.nl', 'msn.com', 'outlook.at', 'outlook.be', 'outlook.cl', 'outlook.co.il', 'outlook.co.nz', 'outlook.co.th', 'outlook.com', 'outlook.com.ar', 'outlook.com.au', 'outlook.com.br', 'outlook.com.gr', 'outlook.com.pe', 'outlook.com.tr', 'outlook.com.vn', 'outlook.cz', 'outlook.de', 'outlook.dk', 'outlook.es', 'outlook.fr', 'outlook.hu', 'outlook.id', 'outlook.ie', 'outlook.in', 'outlook.it', 'outlook.jp', 'outlook.kr', 'outlook.lv', 'outlook.my', 'outlook.ph', 'outlook.pt', 'outlook.sa', 'outlook.sg', 'outlook.sk', 'passport.com'];

// List of domains used by Yahoo Mail
// This list is likely incomplete
var yahoo_domains = ['rocketmail.com', 'yahoo.ca', 'yahoo.co.uk', 'yahoo.com', 'yahoo.de', 'yahoo.fr', 'yahoo.in', 'yahoo.it', 'ymail.com'];

function normalizeEmail(email, options) {
  options = (0, _merge2.default)(options, default_normalize_email_options);

  if (!(0, _isEmail2.default)(email)) {
    return false;
  }

  var raw_parts = email.split('@');
  var domain = raw_parts.pop();
  var user = raw_parts.join('@');
  var parts = [user, domain];

  // The domain is always lowercased, as it's case-insensitive per RFC 1035
  parts[1] = parts[1].toLowerCase();

  if (parts[1] === 'gmail.com' || parts[1] === 'googlemail.com') {
    // Address is GMail
    if (options.gmail_remove_subaddress) {
      parts[0] = parts[0].split('+')[0];
    }
    if (options.gmail_remove_dots) {
      parts[0] = parts[0].replace(/\./g, '');
    }
    if (!parts[0].length) {
      return false;
    }
    if (options.all_lowercase || options.gmail_lowercase) {
      parts[0] = parts[0].toLowerCase();
    }
    parts[1] = options.gmail_convert_googlemaildotcom ? 'gmail.com' : parts[1];
  } else if (~icloud_domains.indexOf(parts[1])) {
    // Address is iCloud
    if (options.icloud_remove_subaddress) {
      parts[0] = parts[0].split('+')[0];
    }
    if (!parts[0].length) {
      return false;
    }
    if (options.all_lowercase || options.icloud_lowercase) {
      parts[0] = parts[0].toLowerCase();
    }
  } else if (~outlookdotcom_domains.indexOf(parts[1])) {
    // Address is Outlook.com
    if (options.outlookdotcom_remove_subaddress) {
      parts[0] = parts[0].split('+')[0];
    }
    if (!parts[0].length) {
      return false;
    }
    if (options.all_lowercase || options.outlookdotcom_lowercase) {
      parts[0] = parts[0].toLowerCase();
    }
  } else if (~yahoo_domains.indexOf(parts[1])) {
    // Address is Yahoo
    if (options.yahoo_remove_subaddress) {
      var components = parts[0].split('-');
      parts[0] = components.length > 1 ? components.slice(0, -1).join('-') : components[0];
    }
    if (!parts[0].length) {
      return false;
    }
    if (options.all_lowercase || options.yahoo_lowercase) {
      parts[0] = parts[0].toLowerCase();
    }
  } else if (options.all_lowercase) {
    // Any other address
    parts[0] = parts[0].toLowerCase();
  }
  return parts.join('@');
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/rtrim.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = rtrim;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function rtrim(str, chars) {
  (0, _assertString2.default)(str);
  var pattern = chars ? new RegExp('[' + chars + ']') : /\s/;

  var idx = str.length - 1;
  while (idx >= 0 && pattern.test(str[idx])) {
    idx--;
  }

  return idx < str.length ? str.substr(0, idx + 1) : str;
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/stripLow.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = stripLow;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

var _blacklist = __webpack_require__("./node_modules/validator/lib/blacklist.js");

var _blacklist2 = _interopRequireDefault(_blacklist);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function stripLow(str, keep_new_lines) {
  (0, _assertString2.default)(str);
  var chars = keep_new_lines ? '\\x00-\\x09\\x0B\\x0C\\x0E-\\x1F\\x7F' : '\\x00-\\x1F\\x7F';
  return (0, _blacklist2.default)(str, chars);
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/toBoolean.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = toBoolean;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function toBoolean(str, strict) {
  (0, _assertString2.default)(str);
  if (strict) {
    return str === '1' || str === 'true';
  }
  return str !== '0' && str !== 'false' && str !== '';
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/toDate.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = toDate;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function toDate(date) {
  (0, _assertString2.default)(date);
  date = Date.parse(date);
  return !isNaN(date) ? new Date(date) : null;
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/toFloat.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = toFloat;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function toFloat(str) {
  (0, _assertString2.default)(str);
  return parseFloat(str);
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/toInt.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = toInt;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function toInt(str, radix) {
  (0, _assertString2.default)(str);
  return parseInt(str, radix || 10);
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/trim.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = trim;

var _rtrim = __webpack_require__("./node_modules/validator/lib/rtrim.js");

var _rtrim2 = _interopRequireDefault(_rtrim);

var _ltrim = __webpack_require__("./node_modules/validator/lib/ltrim.js");

var _ltrim2 = _interopRequireDefault(_ltrim);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function trim(str, chars) {
  return (0, _rtrim2.default)((0, _ltrim2.default)(str, chars), chars);
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/unescape.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = unescape;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function unescape(str) {
  (0, _assertString2.default)(str);
  return str.replace(/&amp;/g, '&').replace(/&quot;/g, '"').replace(/&#x27;/g, "'").replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&#x2F;/g, '/').replace(/&#96;/g, '`');
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/util/assertString.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = assertString;
function assertString(input) {
  var isString = typeof input === 'string' || input instanceof String;

  if (!isString) {
    throw new TypeError('This library (validator.js) validates strings only');
  }
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/util/merge.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = merge;
function merge() {
  var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  var defaults = arguments[1];

  for (var key in defaults) {
    if (typeof obj[key] === 'undefined') {
      obj[key] = defaults[key];
    }
  }
  return obj;
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/util/toString.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});

var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };

exports.default = toString;
function toString(input) {
  if ((typeof input === 'undefined' ? 'undefined' : _typeof(input)) === 'object' && input !== null) {
    if (typeof input.toString === 'function') {
      input = input.toString();
    } else {
      input = '[object Object]';
    }
  } else if (input === null || typeof input === 'undefined' || isNaN(input) && !input.length) {
    input = '';
  }
  return String(input);
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/validator/lib/whitelist.js":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = whitelist;

var _assertString = __webpack_require__("./node_modules/validator/lib/util/assertString.js");

var _assertString2 = _interopRequireDefault(_assertString);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function whitelist(str, chars) {
  (0, _assertString2.default)(str);
  return str.replace(new RegExp('[^' + chars + ']+', 'g'), '');
}
module.exports = exports['default'];

/***/ }),

/***/ "./node_modules/webpack/buildin/global.js":
/***/ (function(module, exports) {

var g;

// This works in non-strict mode
g = (function() {
    return this;
})();

try {
    // This works if eval is allowed (see CSP)
    g = g || Function("return this")() || (1,eval)("this");
} catch(e) {
    // This works if the window reference is available
    if(typeof window === "object")
        g = window;
}

// g can still be undefined, but nothing to do about it...
// We return undefined, instead of nothing here, so it's
// easier to handle this case. if(!global) { ...}

module.exports = g;


/***/ }),

/***/ "./node_modules/whatwg-fetch/fetch.js":
/***/ (function(module, exports) {

(function(self) {
  'use strict';

  if (self.fetch) {
    return
  }

  var support = {
    searchParams: 'URLSearchParams' in self,
    iterable: 'Symbol' in self && 'iterator' in Symbol,
    blob: 'FileReader' in self && 'Blob' in self && (function() {
      try {
        new Blob()
        return true
      } catch(e) {
        return false
      }
    })(),
    formData: 'FormData' in self,
    arrayBuffer: 'ArrayBuffer' in self
  }

  if (support.arrayBuffer) {
    var viewClasses = [
      '[object Int8Array]',
      '[object Uint8Array]',
      '[object Uint8ClampedArray]',
      '[object Int16Array]',
      '[object Uint16Array]',
      '[object Int32Array]',
      '[object Uint32Array]',
      '[object Float32Array]',
      '[object Float64Array]'
    ]

    var isDataView = function(obj) {
      return obj && DataView.prototype.isPrototypeOf(obj)
    }

    var isArrayBufferView = ArrayBuffer.isView || function(obj) {
      return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1
    }
  }

  function normalizeName(name) {
    if (typeof name !== 'string') {
      name = String(name)
    }
    if (/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(name)) {
      throw new TypeError('Invalid character in header field name')
    }
    return name.toLowerCase()
  }

  function normalizeValue(value) {
    if (typeof value !== 'string') {
      value = String(value)
    }
    return value
  }

  // Build a destructive iterator for the value list
  function iteratorFor(items) {
    var iterator = {
      next: function() {
        var value = items.shift()
        return {done: value === undefined, value: value}
      }
    }

    if (support.iterable) {
      iterator[Symbol.iterator] = function() {
        return iterator
      }
    }

    return iterator
  }

  function Headers(headers) {
    this.map = {}

    if (headers instanceof Headers) {
      headers.forEach(function(value, name) {
        this.append(name, value)
      }, this)

    } else if (headers) {
      Object.getOwnPropertyNames(headers).forEach(function(name) {
        this.append(name, headers[name])
      }, this)
    }
  }

  Headers.prototype.append = function(name, value) {
    name = normalizeName(name)
    value = normalizeValue(value)
    var list = this.map[name]
    if (!list) {
      list = []
      this.map[name] = list
    }
    list.push(value)
  }

  Headers.prototype['delete'] = function(name) {
    delete this.map[normalizeName(name)]
  }

  Headers.prototype.get = function(name) {
    var values = this.map[normalizeName(name)]
    return values ? values[0] : null
  }

  Headers.prototype.getAll = function(name) {
    return this.map[normalizeName(name)] || []
  }

  Headers.prototype.has = function(name) {
    return this.map.hasOwnProperty(normalizeName(name))
  }

  Headers.prototype.set = function(name, value) {
    this.map[normalizeName(name)] = [normalizeValue(value)]
  }

  Headers.prototype.forEach = function(callback, thisArg) {
    Object.getOwnPropertyNames(this.map).forEach(function(name) {
      this.map[name].forEach(function(value) {
        callback.call(thisArg, value, name, this)
      }, this)
    }, this)
  }

  Headers.prototype.keys = function() {
    var items = []
    this.forEach(function(value, name) { items.push(name) })
    return iteratorFor(items)
  }

  Headers.prototype.values = function() {
    var items = []
    this.forEach(function(value) { items.push(value) })
    return iteratorFor(items)
  }

  Headers.prototype.entries = function() {
    var items = []
    this.forEach(function(value, name) { items.push([name, value]) })
    return iteratorFor(items)
  }

  if (support.iterable) {
    Headers.prototype[Symbol.iterator] = Headers.prototype.entries
  }

  function consumed(body) {
    if (body.bodyUsed) {
      return Promise.reject(new TypeError('Already read'))
    }
    body.bodyUsed = true
  }

  function fileReaderReady(reader) {
    return new Promise(function(resolve, reject) {
      reader.onload = function() {
        resolve(reader.result)
      }
      reader.onerror = function() {
        reject(reader.error)
      }
    })
  }

  function readBlobAsArrayBuffer(blob) {
    var reader = new FileReader()
    var promise = fileReaderReady(reader)
    reader.readAsArrayBuffer(blob)
    return promise
  }

  function readBlobAsText(blob) {
    var reader = new FileReader()
    var promise = fileReaderReady(reader)
    reader.readAsText(blob)
    return promise
  }

  function readArrayBufferAsText(buf) {
    var view = new Uint8Array(buf)
    var chars = new Array(view.length)

    for (var i = 0; i < view.length; i++) {
      chars[i] = String.fromCharCode(view[i])
    }
    return chars.join('')
  }

  function bufferClone(buf) {
    if (buf.slice) {
      return buf.slice(0)
    } else {
      var view = new Uint8Array(buf.byteLength)
      view.set(new Uint8Array(buf))
      return view.buffer
    }
  }

  function Body() {
    this.bodyUsed = false

    this._initBody = function(body) {
      this._bodyInit = body
      if (!body) {
        this._bodyText = ''
      } else if (typeof body === 'string') {
        this._bodyText = body
      } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {
        this._bodyBlob = body
      } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {
        this._bodyFormData = body
      } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {
        this._bodyText = body.toString()
      } else if (support.arrayBuffer && support.blob && isDataView(body)) {
        this._bodyArrayBuffer = bufferClone(body.buffer)
        // IE 10-11 can't handle a DataView body.
        this._bodyInit = new Blob([this._bodyArrayBuffer])
      } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {
        this._bodyArrayBuffer = bufferClone(body)
      } else {
        throw new Error('unsupported BodyInit type')
      }

      if (!this.headers.get('content-type')) {
        if (typeof body === 'string') {
          this.headers.set('content-type', 'text/plain;charset=UTF-8')
        } else if (this._bodyBlob && this._bodyBlob.type) {
          this.headers.set('content-type', this._bodyBlob.type)
        } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {
          this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')
        }
      }
    }

    if (support.blob) {
      this.blob = function() {
        var rejected = consumed(this)
        if (rejected) {
          return rejected
        }

        if (this._bodyBlob) {
          return Promise.resolve(this._bodyBlob)
        } else if (this._bodyArrayBuffer) {
          return Promise.resolve(new Blob([this._bodyArrayBuffer]))
        } else if (this._bodyFormData) {
          throw new Error('could not read FormData body as blob')
        } else {
          return Promise.resolve(new Blob([this._bodyText]))
        }
      }

      this.arrayBuffer = function() {
        if (this._bodyArrayBuffer) {
          return consumed(this) || Promise.resolve(this._bodyArrayBuffer)
        } else {
          return this.blob().then(readBlobAsArrayBuffer)
        }
      }
    }

    this.text = function() {
      var rejected = consumed(this)
      if (rejected) {
        return rejected
      }

      if (this._bodyBlob) {
        return readBlobAsText(this._bodyBlob)
      } else if (this._bodyArrayBuffer) {
        return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))
      } else if (this._bodyFormData) {
        throw new Error('could not read FormData body as text')
      } else {
        return Promise.resolve(this._bodyText)
      }
    }

    if (support.formData) {
      this.formData = function() {
        return this.text().then(decode)
      }
    }

    this.json = function() {
      return this.text().then(JSON.parse)
    }

    return this
  }

  // HTTP methods whose capitalization should be normalized
  var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']

  function normalizeMethod(method) {
    var upcased = method.toUpperCase()
    return (methods.indexOf(upcased) > -1) ? upcased : method
  }

  function Request(input, options) {
    options = options || {}
    var body = options.body

    if (typeof input === 'string') {
      this.url = input
    } else {
      if (input.bodyUsed) {
        throw new TypeError('Already read')
      }
      this.url = input.url
      this.credentials = input.credentials
      if (!options.headers) {
        this.headers = new Headers(input.headers)
      }
      this.method = input.method
      this.mode = input.mode
      if (!body && input._bodyInit != null) {
        body = input._bodyInit
        input.bodyUsed = true
      }
    }

    this.credentials = options.credentials || this.credentials || 'omit'
    if (options.headers || !this.headers) {
      this.headers = new Headers(options.headers)
    }
    this.method = normalizeMethod(options.method || this.method || 'GET')
    this.mode = options.mode || this.mode || null
    this.referrer = null

    if ((this.method === 'GET' || this.method === 'HEAD') && body) {
      throw new TypeError('Body not allowed for GET or HEAD requests')
    }
    this._initBody(body)
  }

  Request.prototype.clone = function() {
    return new Request(this, { body: this._bodyInit })
  }

  function decode(body) {
    var form = new FormData()
    body.trim().split('&').forEach(function(bytes) {
      if (bytes) {
        var split = bytes.split('=')
        var name = split.shift().replace(/\+/g, ' ')
        var value = split.join('=').replace(/\+/g, ' ')
        form.append(decodeURIComponent(name), decodeURIComponent(value))
      }
    })
    return form
  }

  function parseHeaders(rawHeaders) {
    var headers = new Headers()
    rawHeaders.split('\r\n').forEach(function(line) {
      var parts = line.split(':')
      var key = parts.shift().trim()
      if (key) {
        var value = parts.join(':').trim()
        headers.append(key, value)
      }
    })
    return headers
  }

  Body.call(Request.prototype)

  function Response(bodyInit, options) {
    if (!options) {
      options = {}
    }

    this.type = 'default'
    this.status = 'status' in options ? options.status : 200
    this.ok = this.status >= 200 && this.status < 300
    this.statusText = 'statusText' in options ? options.statusText : 'OK'
    this.headers = new Headers(options.headers)
    this.url = options.url || ''
    this._initBody(bodyInit)
  }

  Body.call(Response.prototype)

  Response.prototype.clone = function() {
    return new Response(this._bodyInit, {
      status: this.status,
      statusText: this.statusText,
      headers: new Headers(this.headers),
      url: this.url
    })
  }

  Response.error = function() {
    var response = new Response(null, {status: 0, statusText: ''})
    response.type = 'error'
    return response
  }

  var redirectStatuses = [301, 302, 303, 307, 308]

  Response.redirect = function(url, status) {
    if (redirectStatuses.indexOf(status) === -1) {
      throw new RangeError('Invalid status code')
    }

    return new Response(null, {status: status, headers: {location: url}})
  }

  self.Headers = Headers
  self.Request = Request
  self.Response = Response

  self.fetch = function(input, init) {
    return new Promise(function(resolve, reject) {
      var request = new Request(input, init)
      var xhr = new XMLHttpRequest()

      xhr.onload = function() {
        var options = {
          status: xhr.status,
          statusText: xhr.statusText,
          headers: parseHeaders(xhr.getAllResponseHeaders() || '')
        }
        options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')
        var body = 'response' in xhr ? xhr.response : xhr.responseText
        resolve(new Response(body, options))
      }

      xhr.onerror = function() {
        reject(new TypeError('Network request failed'))
      }

      xhr.ontimeout = function() {
        reject(new TypeError('Network request failed'))
      }

      xhr.open(request.method, request.url, true)

      if (request.credentials === 'include') {
        xhr.withCredentials = true
      }

      if ('responseType' in xhr && support.blob) {
        xhr.responseType = 'blob'
      }

      request.headers.forEach(function(value, name) {
        xhr.setRequestHeader(name, value)
      })

      xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)
    })
  }
  self.fetch.polyfill = true
})(typeof self !== 'undefined' ? self : this);


/***/ }),

/***/ 0:
/***/ (function(module, exports, __webpack_require__) {

__webpack_require__("./node_modules/haul/src/utils/polyfillEnvironment.js");
module.exports = __webpack_require__("./index.ios.js");


/***/ })

/******/ });