diff --git a/dist/lib.js b/dist/lib.js index a745989..2d406a8 100644 --- a/dist/lib.js +++ b/dist/lib.js @@ -1,5 +1,5 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("react"),require("react-dom")):"function"==typeof define&&define.amd?define("dazzle",["react","react-dom"],e):"object"==typeof exports?exports.dazzle=e(require("react"),require("react-dom")):t.dazzle=e(t.react,t["react-dom"])}(this,function(t,e){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="/",e(0)}([function(t,e,n){t.exports=n(78)},function(e,n){e.exports=t},function(t,e,n){"use strict";var r=function(t,e,n,r,o,i,a,u){if(!t){var s;if(void 0===e)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,i,a,u],f=0;s=new Error(e.replace(/%s/g,function(){return c[f++]})),s.name="Invariant Violation"}throw s.framesToPop=1,s}};t.exports=r},function(t,e){function n(t){var e=typeof t;return"number"==e||"boolean"==e||"string"==e&&"__proto__"!=t||null==t}t.exports=n},function(t,e){function n(t){var e=typeof t;return"number"==e||"boolean"==e||"string"==e&&"__proto__"!=t||null==t}t.exports=n},function(t,e,n){function r(t){if(!a(t)||p.call(t)!=u||i(t))return!1;var e=o(t);if(null===e)return!0;var n=f.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&c.call(n)==l}var o=n(216),i=n(217),a=n(219),u="[object Object]",s=Object.prototype,c=Function.prototype.toString,f=s.hasOwnProperty,l=c.call(Object),p=s.toString;t.exports=r},function(t,e,n){var r=n(28),o=n(48),i=r(o,"Map");t.exports=i},function(t,e,n){var r=n(33),o=n(34),i=r(o,"Map");t.exports=i},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=e.publishSource,r=void 0===n?!0:n,o=e.clientOffset,i=void 0===o?null:o,a=e.getSourceClientOffset;p["default"](h["default"](t),"Expected sourceIds to be an array.");var u=this.getMonitor(),s=this.getRegistry();p["default"](!u.isDragging(),"Cannot call beginDrag while dragging.");for(var c=0;c=0;c--)if(u.canDragSource(t[c])){f=t[c];break}if(null!==f){var l=null;i&&(p["default"]("function"==typeof a,"When clientOffset is provided, getSourceClientOffset must be a function."),l=a(f));var d=s.getSource(f),g=d.beginDrag(u,f);p["default"](v["default"](g),"Item must be an object."),s.pinSource(f);var m=s.getSourceType(f);return{type:y,itemType:m,item:g,sourceId:f,clientOffset:i,sourceClientOffset:l,isSourcePublic:r}}}function i(t){var e=this.getMonitor();if(e.isDragging())return{type:m}}function a(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=e.clientOffset,r=void 0===n?null:n;p["default"](h["default"](t),"Expected targetIds to be an array."),t=t.slice(0);var o=this.getMonitor(),i=this.getRegistry();p["default"](o.isDragging(),"Cannot call hover while not dragging."),p["default"](!o.didDrop(),"Cannot call hover after drop.");for(var a=0;a=0;a--){var u=t[a],l=i.getTargetType(u);f["default"](l,c)||t.splice(a,1)}for(var a=0;a-1}var o=n(106);t.exports=r},function(t,e){function n(t,e,n){for(var r=-1,o=t.length;++r0}e.__esModule=!0,e["default"]=o,e.areDirty=i;var a=n(137),u=r(a),s=n(129),c=r(s),f=n(8),l=n(9),p=[],d=[]},function(t,e,n){"use strict";function r(t,e){return t===e?!0:t&&e&&t.x===e.x&&t.y===e.y}function o(t,e){switch(void 0===t&&(t=c),e.type){case s.BEGIN_DRAG:return{initialSourceClientOffset:e.sourceClientOffset,initialClientOffset:e.clientOffset,clientOffset:e.clientOffset};case s.HOVER:return r(t.clientOffset,e.clientOffset)?t:u({},t,{clientOffset:e.clientOffset});case s.END_DRAG:case s.DROP:return c;default:return t}}function i(t){var e=t.clientOffset,n=t.initialClientOffset,r=t.initialSourceClientOffset;return e&&n&&r?{x:e.x+r.x-n.x,y:e.y+r.y-n.y}:null}function a(t){var e=t.clientOffset,n=t.initialClientOffset;return e&&n?{x:e.x-n.x,y:e.y-n.y}:null}e.__esModule=!0;var u=Object.assign||function(t){for(var e=1;e=f&&(p=c,d=!1,e=new o(e));t:for(;++l-1}var o=n(162);t.exports=r},function(t,e){function n(t,e,n){for(var r=-1,o=t.length;++r-1&&t%1==0&&e>t}var r=9007199254740991,o=/^(?:0|[1-9]\d*)$/;t.exports=n},function(t,e,n){function r(t){return o(t)&&u.call(t,"callee")&&(!c.call(t,"callee")||s.call(t)==i)}var o=n(17),i="[object Arguments]",a=Object.prototype,u=a.hasOwnProperty,s=a.toString,c=a.propertyIsEnumerable;t.exports=r},function(t,e,n){function r(t){return null!=t&&a(o(t))&&!i(t)}var o=n(173),i=n(36),a=n(62);t.exports=r},function(t,e){function n(t){return"number"==typeof t&&t>-1&&t%1==0&&r>=t}var r=9007199254740991;t.exports=n},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){return e===t?!0:null!==e&&null!==t&&a["default"](e,t)}e.__esModule=!0,e["default"]=o;var i=n(39),a=r(i);t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function a(t){var e=t.DecoratedComponent,n=t.createHandler,r=t.createMonitor,a=t.createConnector,p=t.registerHandler,h=t.containerDisplayName,v=t.getType,y=t.collect,b=t.options,_=b.arePropsEqual,D=void 0===_?g["default"]:_,x=e.displayName||e.name||"Component";return function(t){function g(e,i){o(this,g),t.call(this,e,i),this.handleChange=this.handleChange.bind(this),this.handleChildRef=this.handleChildRef.bind(this),m["default"]("object"==typeof this.context.dragDropManager,"Could not find the drag and drop manager in the context of %s. Make sure to wrap the top-level component of your app with DragDropContext. Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context",x,x),this.manager=this.context.dragDropManager,this.handlerMonitor=r(this.manager),this.handlerConnector=a(this.manager.getBackend()),this.handler=n(this.handlerMonitor),this.disposable=new l.SerialDisposable,this.receiveProps(e),this.state=this.getCurrentState(),this.dispose()}return i(g,t),g.prototype.getHandlerId=function(){return this.handlerId},g.prototype.getDecoratedComponentInstance=function(){return this.decoratedComponentInstance},g.prototype.shouldComponentUpdate=function(t,e){return!D(t,this.props)||!d["default"](e,this.state)},s(g,null,[{key:"DecoratedComponent",value:e,enumerable:!0},{key:"displayName",value:h+"("+x+")",enumerable:!0},{key:"contextTypes",value:{dragDropManager:c.PropTypes.object.isRequired},enumerable:!0}]),g.prototype.componentDidMount=function(){this.isCurrentlyMounted=!0,this.disposable=new l.SerialDisposable,this.currentType=null,this.receiveProps(this.props),this.handleChange()},g.prototype.componentWillReceiveProps=function(t){D(t,this.props)||(this.receiveProps(t),this.handleChange())},g.prototype.componentWillUnmount=function(){this.dispose(),this.isCurrentlyMounted=!1},g.prototype.receiveProps=function(t){this.handler.receiveProps(t),this.receiveType(v(t))},g.prototype.receiveType=function(t){if(t!==this.currentType){this.currentType=t;var e=p(t,this.handler,this.manager),n=e.handlerId,r=e.unregister;this.handlerId=n,this.handlerMonitor.receiveHandlerId(n),this.handlerConnector.receiveHandlerId(n);var o=this.manager.getMonitor(),i=o.subscribeToStateChange(this.handleChange,{handlerIds:[n]});this.disposable.setDisposable(new l.CompositeDisposable(new l.Disposable(i),new l.Disposable(r)))}},g.prototype.handleChange=function(){if(this.isCurrentlyMounted){var t=this.getCurrentState();d["default"](t,this.state)||this.setState(t)}},g.prototype.dispose=function(){this.disposable.dispose(),this.handlerConnector.receiveHandlerId(null)},g.prototype.handleChildRef=function(t){this.decoratedComponentInstance=t,this.handler.receiveComponent(t)},g.prototype.getCurrentState=function(){var t=y(this.handlerConnector.hooks,this.handlerMonitor);return t},g.prototype.render=function(){return f["default"].createElement(e,u({},this.props,this.state,{ref:this.handleChildRef}))},g}(c.Component)}e.__esModule=!0;var u=Object.assign||function(t){for(var e=1;e, or turn it into a ")+"drag source or a drop target itself.")}}function i(t){return function(){var e=arguments.length<=0||void 0===arguments[0]?null:arguments[0],n=arguments.length<=1||void 0===arguments[1]?null:arguments[1];if(!c.isValidElement(e)){var r=e;return void t(r,n)}var i=e;o(i);var a=n?function(e){return t(e,n)}:t;return s["default"](i,a)}}function a(t){var e={};return Object.keys(t).forEach(function(n){var r=t[n],o=i(r);e[n]=function(){return o}}),e}e.__esModule=!0,e["default"]=a;var u=n(215),s=r(u),c=n(1);t.exports=e["default"]},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e,n){try{(function(){"use strict";function t(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(1),o=t(r),i=function(t){var e=t.text,n=t.onClick;return o["default"].createElement("div",{className:"add-widget-button",onClick:n},o["default"].createElement("a",{className:"add-widget-link"},e))};i.propTypes={onClick:r.PropTypes.func,text:r.PropTypes.string},i.defaultProps={text:"Add Widget"},e["default"]=i}).call(this)}finally{}},function(t,e,n){try{(function(){"use strict";function t(t){return t&&t.__esModule?t:{"default":t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function i(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a,u,s=function(){function t(t,e){for(var n=0;nr&&a>s||r>o&&s>a)){var c=t.layout,f=t.columnIndex,l=t.rowIndex;if(e.getItem().columnIndex===f){var d=(0,g.sortWidget)(c,{rowIndex:l,columnIndex:f,widgetIndex:r},{rowIndex:l,columnIndex:f,widgetIndex:o},e.getItem().widgetName);t.onMove(d)}e.getItem().widgetIndex=o}}}},_=(a=(0,d.DropTarget)(h.WIDGET,b,function(t){return{connectDropTarget:t.dropTarget()}}),u=(0,d.DragSource)(h.WIDGET,m,function(t,e){return{connectDragSource:t.dragSource(),isDragging:e.isDragging()}}),a(s=u(s=function(t){function e(){var t,n,i,a;r(this,e);for(var u=arguments.length,s=Array(u),c=0;u>c;c++)s[c]=arguments[c];return n=i=o(this,(t=Object.getPrototypeOf(e)).call.apply(t,[this].concat(s))),i.remove=function(){var t=i.props,e=t.layout,n=t.rowIndex,r=t.columnIndex,o=t.widgetIndex,a=(0,g.removeWidget)(e,n,r,o);i.props.onRemove(a)},a=n,o(i,a)}return i(e,t),c(e,[{key:"render",value:function(){var t=this.props,e=t.frameComponent,n=t.children,r=t.editable,o=t.title,i=t.connectDragSource,a=t.connectDropTarget,u=t.isDragging,s=null;s=e?(0,f.createElement)(e,{children:n,editable:r,title:o,onRemove:this.remove}):l["default"].createElement(y["default"],{title:o,editable:r,children:n,onRemove:this.remove});var c=u?0:1;return i(a(l["default"].createElement("div",{style:{opacity:c}},s)))}}]),e}(f.Component))||s)||s);_.propTypes={children:f.PropTypes.element,layout:f.PropTypes.object,columnIndex:f.PropTypes.number,rowIndex:f.PropTypes.number,widgetIndex:f.PropTypes.number,editable:f.PropTypes.bool,frameComponent:f.PropTypes.func,widgetName:f.PropTypes.string,title:f.PropTypes.string,isDragging:f.PropTypes.bool,connectDragSource:f.PropTypes.func,connectDropTarget:f.PropTypes.func,onRemove:f.PropTypes.func},e["default"]=_}).call(this)}finally{}},function(t,e,n){try{(function(){"use strict";function t(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(1),o=t(r),i=n(76),a=t(i),u=function(t){var e=t.widgets,n=t.widgetTypes,i=t.onRemove,u=t.layout,s=t.columnIndex,c=t.rowIndex,f=t.editable,l=t.frameComponent,p=t.onMove,d=e.map(function(t,e){return o["default"].createElement(a["default"],{key:e,widgetName:t.key,title:n[t.key].title,onRemove:i,layout:u,columnIndex:s,rowIndex:c,widgetIndex:e,editable:f,frameComponent:l,onMove:p},(0,r.createElement)(n[t.key].type,n[t.key].props))});return o["default"].createElement("div",null,d)};u.propTypes={widgets:r.PropTypes.array,widgetTypes:r.PropTypes.object,onRemove:r.PropTypes.func,layout:r.PropTypes.object,columnIndex:r.PropTypes.number,rowIndex:r.PropTypes.number,editable:r.PropTypes.bool,frameComponent:r.PropTypes.func,onMove:r.PropTypes.func},e["default"]=u}).call(this)}finally{}},function(t,e,n){try{(function(){"use strict";function t(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(72);Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t(r)["default"]}});var o=n(21);Object.defineProperty(e,"addWidget",{enumerable:!0,get:function(){return o.addWidget}})}).call(this)}finally{}},function(t,e,n){"use strict";function r(){if(s.length)throw s.shift()}function o(t){var e;e=u.length?u.pop():new i,e.task=t,a(e)}function i(){this.task=null}var a=n(80),u=[],s=[],c=a.makeRequestCallFromTimer(r);t.exports=o,i.prototype.call=function(){try{this.task.call()}catch(t){o.onerror?o.onerror(t):(s.push(t),c())}finally{this.task=null,u[u.length]=this}}},function(t,e){"use strict";function n(t){u.length||(a(),s=!0),u[u.length]=t}function r(){for(;cf){for(var e=0,n=u.length-c;n>e;e++)u[e]=u[e+c];u.length-=c,c=0}}u.length=0,c=0,s=!1}function o(t){var e=1,n=new l(t),r=document.createTextNode("");return n.observe(r,{characterData:!0}),function(){e=-e,r.data=e}}function i(t){return function(){function e(){clearTimeout(n),clearInterval(r),t()}var n=setTimeout(e,0),r=setInterval(e,50)}}t.exports=n;var a,u=[],s=!1,c=0,f=1024,l=global.MutationObserver||global.WebKitMutationObserver;a="function"==typeof l?o(r):i(r),n.requestFlush=a,n.makeRequestCallFromTimer=i},function(t,e,n){"use strict";var r=function(t){return t&&t.__esModule?t:{"default":t}},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")};e.__esModule=!0;var i=n(22),a=r(i),u=function(){function t(){for(var e=arguments.length,n=Array(e),r=0;e>r;r++)n[r]=arguments[r];o(this,t),Array.isArray(n[0])&&1===n.length&&(n=n[0]);for(var i=0;in;n++)e[n]=this.disposables[n];this.isDisposed=!0,this.disposables=[],this.length=0;for(var n=0;t>n;n++)e[n].dispose()}},t}();e["default"]=u,t.exports=e["default"]},function(t,e){"use strict";var n=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},r=function(){function t(t,e){for(var n=0;n0;t&&!this.isSetUp?(this.backend.setup(),this.isSetUp=!0):!t&&this.isSetUp&&(this.backend.teardown(),this.isSetUp=!1)},t.prototype.getMonitor=function(){return this.monitor},t.prototype.getBackend=function(){return this.backend},t.prototype.getRegistry=function(){return this.registry},t.prototype.getActions=function(){function t(t){return function(){var r=t.apply(e,arguments);"undefined"!=typeof r&&n(r)}}var e=this,n=this.store.dispatch;return Object.keys(l).filter(function(t){return"function"==typeof l[t]}).reduce(function(e,n){return e[n]=t(l[n]),e},{})},t}());e["default"]=g,t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}e.__esModule=!0;var i=n(2),a=r(i),u=n(44),s=r(u),c=n(12),f=r(c),l=n(41),p=r(l),d=n(43),h=n(42),g=function(){function t(e){o(this,t),this.store=e,this.registry=new p["default"](e)}return t.prototype.subscribeToStateChange=function(t){var e=this,n=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],r=n.handlerIds;a["default"]("function"==typeof t,"listener must be a function."),a["default"]("undefined"==typeof r||f["default"](r),"handlerIds, when specified, must be an array of strings.");var o=this.store.getState().stateId,i=function(){var n=e.store.getState(),i=n.stateId;try{var a=i===o||i===o+1&&!h.areDirty(n.dirtyHandlerIds,r);a||t()}finally{o=i}};return this.store.subscribe(i)},t.prototype.subscribeToOffsetChange=function(t){var e=this;a["default"]("function"==typeof t,"listener must be a function.");var n=this.store.getState().dragOffset,r=function(){var r=e.store.getState().dragOffset;r!==n&&(n=r,t())};return this.store.subscribe(r)},t.prototype.canDragSource=function(t){var e=this.registry.getSource(t);return a["default"](e,"Expected to find a valid source."),this.isDragging()?!1:e.canDrag(this,t)},t.prototype.canDropOnTarget=function(t){var e=this.registry.getTarget(t);if(a["default"](e,"Expected to find a valid target."),!this.isDragging()||this.didDrop())return!1;var n=this.registry.getTargetType(t),r=this.getItemType();return s["default"](n,r)&&e.canDrop(this,t)},t.prototype.isDragging=function(){return Boolean(this.getItemType())},t.prototype.isDraggingSource=function(t){var e=this.registry.getSource(t,!0);if(a["default"](e,"Expected to find a valid source."),!this.isDragging()||!this.isSourcePublic())return!1;var n=this.registry.getSourceType(t),r=this.getItemType();return n!==r?!1:e.isDragging(this,t)},t.prototype.isOverTarget=function(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=e.shallow,r=void 0===n?!1:n;if(!this.isDragging())return!1;var o=this.registry.getTargetType(t),i=this.getItemType();if(!s["default"](o,i))return!1;var a=this.getTargetIds();if(!a.length)return!1;var u=a.indexOf(t);return r?u===a.length-1:u>-1},t.prototype.getItemType=function(){return this.store.getState().dragOperation.itemType},t.prototype.getItem=function(){return this.store.getState().dragOperation.item},t.prototype.getSourceId=function(){return this.store.getState().dragOperation.sourceId},t.prototype.getTargetIds=function(){return this.store.getState().dragOperation.targetIds},t.prototype.getDropResult=function(){return this.store.getState().dragOperation.dropResult},t.prototype.didDrop=function(){return this.store.getState().dragOperation.didDrop},t.prototype.isSourcePublic=function(){return this.store.getState().dragOperation.isSourcePublic},t.prototype.getInitialClientOffset=function(){return this.store.getState().dragOffset.initialClientOffset},t.prototype.getInitialSourceClientOffset=function(){return this.store.getState().dragOffset.initialSourceClientOffset},t.prototype.getClientOffset=function(){return this.store.getState().dragOffset.clientOffset},t.prototype.getSourceClientOffset=function(){return d.getSourceClientOffset(this.store.getState().dragOffset)},t.prototype.getDifferenceFromInitialOffset=function(){return d.getDifferenceFromInitialOffset(this.store.getState().dragOffset)},t}();e["default"]=g,t.exports=e["default"]},function(t,e){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}e.__esModule=!0;var r=function(){function t(){n(this,t)}return t.prototype.canDrag=function(){return!0},t.prototype.isDragging=function(t,e){return e===t.getSourceId()},t.prototype.endDrag=function(){},t}();e["default"]=r,t.exports=e["default"]},function(t,e){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}e.__esModule=!0;var r=function(){function t(){n(this,t)}return t.prototype.canDrop=function(){return!0},t.prototype.hover=function(){},t.prototype.drop=function(){},t}();e["default"]=r,t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t){return new s(t)}e.__esModule=!0,e["default"]=i;var a=n(50),u=r(a),s=function(){function t(e){o(this,t),this.actions=e.getActions()}return t.prototype.setup=function(){this.didCallSetup=!0},t.prototype.teardown=function(){this.didCallTeardown=!0},t.prototype.connectDragSource=function(){return u["default"]},t.prototype.connectDragPreview=function(){return u["default"]},t.prototype.connectDropTarget=function(){return u["default"]},t.prototype.simulateBeginDrag=function(t,e){this.actions.beginDrag(t,e)},t.prototype.simulatePublishDragSource=function(){this.actions.publishDragSource()},t.prototype.simulateHover=function(t,e){this.actions.hover(t,e)},t.prototype.simulateDrop=function(){this.actions.drop()},t.prototype.simulateEndDrag=function(){this.actions.endDrag()},t}();t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t["default"]:t}e.__esModule=!0;var o=n(85);e.DragDropManager=r(o);var i=n(87);e.DragSource=r(i);var a=n(88);e.DropTarget=r(a);var u=n(89);e.createTestBackend=r(u)},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){switch(void 0===t&&(t=f),e.type){case a.BEGIN_DRAG:return i({},t,{itemType:e.itemType,item:e.item,sourceId:e.sourceId,isSourcePublic:e.isSourcePublic,dropResult:null,didDrop:!1});case a.PUBLISH_DRAG_SOURCE:return i({},t,{isSourcePublic:!0});case a.HOVER:return i({},t,{targetIds:e.targetIds});case u.REMOVE_TARGET:return-1===t.targetIds.indexOf(e.targetId)?t:i({},t,{targetIds:c["default"](t.targetIds,e.targetId)});case a.DROP:return i({},t,{dropResult:e.dropResult,didDrop:!0,targetIds:[]});case a.END_DRAG:return i({},t,{itemType:null,item:null,sourceId:null,dropResult:null,didDrop:!1,isSourcePublic:null,targetIds:[]});default:return t}}e.__esModule=!0;var i=Object.assign||function(t){for(var e=1;en)return!1;var r=t.length-1;return n==r?t.pop():a.call(t,n,1),!0}var o=n(10),i=Array.prototype,a=i.splice;t.exports=r},function(t,e,n){function r(t,e){var n=o(t,e);return 0>n?void 0:t[n][1]}var o=n(10);t.exports=r},function(t,e,n){function r(t,e){return o(t,e)>-1}var o=n(10);t.exports=r},function(t,e,n){function r(t,e,n){var r=o(t,e);0>r?t.push([e,n]):t[r][1]=n}var o=n(10);t.exports=r},function(t,e,n){function r(t,e,n){if(e!==e)return o(t,n);for(var r=n-1,i=t.length;++r=120&&y.length>=120)?new o(d&&y):void 0}y=t[0];var m=-1,b=h[0];t:for(;++m=f){var v=e?null:s(t);if(v)return c(v);d=!1,l=u,g=new o}else g=e?[]:h;t:for(;++r-1&&t%1==0&&r>=t}var r=9007199254740991;t.exports=n},function(t,e,n){function r(t){if(!a(t))return!1;var e=o(t)||i(t)?d:c;return e.test(u(t))}var o=n(30),i=n(120),a=n(13),u=n(127),s=/[\\^$.*+?()[\]{}|]/g,c=/^\[object .+?Constructor\]$/,f=Object.prototype,l=Function.prototype.toString,p=f.hasOwnProperty,d=RegExp("^"+l.call(p).replace(s,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=r},function(t,e,n){function r(t){return"symbol"==typeof t||o(t)&&u.call(t)==i}var o=n(49),i="[object Symbol]",a=Object.prototype,u=a.toString;t.exports=r},function(t,e,n){function r(t){if(!t)return 0===t?t:0;if(t=o(t),t===i||t===-i){var e=0>t?-1:1;return e*a}var n=t%1;return t===t?n?t-n:t:0}var o=n(135),i=1/0,a=1.7976931348623157e308;t.exports=r},function(t,e,n){function r(t){if("number"==typeof t)return t;if(a(t))return u;if(i(t)){var e=o(t.valueOf)?t.valueOf():t;t=i(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(s,"");var n=f.test(t);return n||l.test(t)?p(t.slice(2),n?2:8):c.test(t)?u:+t}var o=n(30),i=n(13),a=n(133),u=NaN,s=/^\s+|\s+$/g,c=/^[-+]0x[0-9a-f]+$/i,f=/^0b[01]+$/i,l=/^0o[0-7]+$/i,p=parseInt;t.exports=r},function(t,e,n){var r=n(45),o=n(29),i=n(31),a=i(function(t,e){return o(t)?r(t,e):[]});t.exports=a},function(t,e,n){var r=n(100),o=n(110),i=n(29),a=n(31),u=a(function(t){return o(r(t,i))});t.exports=u},function(t,e,n){"use strict";function r(t,e,n,r,o,i,a,u){if(!t){var s;if(void 0===e)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,i,a,u],f=0;s=new Error(e.replace(/%s/g,function(){return c[f++]})),s.name="Invariant Violation"}throw s.framesToPop=1,s}}t.exports=r},function(t,e){"use strict";var n=function(t){var e;for(e in t)if(t.hasOwnProperty(e))return e;return null};t.exports=n},function(t,e){"use strict";function n(t){if(null===t||void 0===t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}var r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;t.exports=Object.assign||function(t,e){for(var i,a,u=n(t),s=1;s0},t.prototype.leave=function(t){var e=this.entered.length;return this.entered=s["default"](this.entered.filter(function(t){return document.documentElement.contains(t)}),t),e>0&&0===this.entered.length},t.prototype.reset=function(){this.entered=[]},t}();e["default"]=c,t.exports=e["default"]},function(t,e,n){"use strict";function r(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e["default"]=t,e}function o(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}e.__esModule=!0;var a=n(192),u=o(a),s=n(148),c=o(s),f=n(141),l=o(f),p=n(51),d=n(145),h=n(144),g=n(32),v=r(g),y=function(){function t(e){i(this,t),this.actions=e.getActions(),this.monitor=e.getMonitor(),this.registry=e.getRegistry(),this.sourcePreviewNodes={},this.sourcePreviewNodeOptions={},this.sourceNodes={},this.sourceNodeOptions={},this.enterLeaveCounter=new l["default"],this.getSourceClientOffset=this.getSourceClientOffset.bind(this),this.handleTopDragStart=this.handleTopDragStart.bind(this),this.handleTopDragStartCapture=this.handleTopDragStartCapture.bind(this),this.handleTopDragEndCapture=this.handleTopDragEndCapture.bind(this),this.handleTopDragEnter=this.handleTopDragEnter.bind(this),this.handleTopDragEnterCapture=this.handleTopDragEnterCapture.bind(this),this.handleTopDragLeaveCapture=this.handleTopDragLeaveCapture.bind(this),this.handleTopDragOver=this.handleTopDragOver.bind(this),this.handleTopDragOverCapture=this.handleTopDragOverCapture.bind(this),this.handleTopDrop=this.handleTopDrop.bind(this),this.handleTopDropCapture=this.handleTopDropCapture.bind(this),this.handleSelectStart=this.handleSelectStart.bind(this),this.endDragIfSourceWasRemovedFromDOM=this.endDragIfSourceWasRemovedFromDOM.bind(this),this.endDragNativeItem=this.endDragNativeItem.bind(this)}return t.prototype.setup=function(){if("undefined"!=typeof window){if(this.constructor.isSetUp)throw new Error("Cannot have two HTML5 backends at the same time.");this.constructor.isSetUp=!0,this.addEventListeners(window)}},t.prototype.teardown=function(){"undefined"!=typeof window&&(this.constructor.isSetUp=!1,this.removeEventListeners(window),this.clearCurrentDragSourceNode())},t.prototype.addEventListeners=function(t){t.addEventListener("dragstart",this.handleTopDragStart),t.addEventListener("dragstart",this.handleTopDragStartCapture,!0),t.addEventListener("dragend",this.handleTopDragEndCapture,!0),t.addEventListener("dragenter",this.handleTopDragEnter),t.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),t.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),t.addEventListener("dragover",this.handleTopDragOver),t.addEventListener("dragover",this.handleTopDragOverCapture,!0),t.addEventListener("drop",this.handleTopDrop),t.addEventListener("drop",this.handleTopDropCapture,!0)},t.prototype.removeEventListeners=function(t){t.removeEventListener("dragstart",this.handleTopDragStart),t.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),t.removeEventListener("dragend",this.handleTopDragEndCapture,!0),t.removeEventListener("dragenter",this.handleTopDragEnter),t.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),t.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),t.removeEventListener("dragover",this.handleTopDragOver),t.removeEventListener("dragover",this.handleTopDragOverCapture,!0),t.removeEventListener("drop",this.handleTopDrop),t.removeEventListener("drop",this.handleTopDropCapture,!0)},t.prototype.connectDragPreview=function(t,e,n){var r=this;return this.sourcePreviewNodeOptions[t]=n,this.sourcePreviewNodes[t]=e,function(){delete r.sourcePreviewNodes[t],delete r.sourcePreviewNodeOptions[t]}},t.prototype.connectDragSource=function(t,e,n){var r=this;this.sourceNodes[t]=e,this.sourceNodeOptions[t]=n;var o=function(e){return r.handleDragStart(e,t)},i=function(e){return r.handleSelectStart(e,t)};return e.setAttribute("draggable",!0),e.addEventListener("dragstart",o),e.addEventListener("selectstart",i),function(){delete r.sourceNodes[t],delete r.sourceNodeOptions[t],e.removeEventListener("dragstart",o),e.removeEventListener("selectstart",i),e.setAttribute("draggable",!1)}},t.prototype.connectDropTarget=function(t,e){var n=this,r=function(e){return n.handleDragEnter(e,t)},o=function(e){return n.handleDragOver(e,t)},i=function(e){return n.handleDrop(e,t)};return e.addEventListener("dragenter",r),e.addEventListener("dragover",o),e.addEventListener("drop",i),function(){e.removeEventListener("dragenter",r),e.removeEventListener("dragover",o),e.removeEventListener("drop",i)}},t.prototype.getCurrentSourceNodeOptions=function(){var t=this.monitor.getSourceId(),e=this.sourceNodeOptions[t];return u["default"](e||{},{dropEffect:"move"})},t.prototype.getCurrentDropEffect=function(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect; -},t.prototype.getCurrentSourcePreviewNodeOptions=function(){var t=this.monitor.getSourceId(),e=this.sourcePreviewNodeOptions[t];return u["default"](e||{},{anchorX:.5,anchorY:.5,captureDraggingState:!1})},t.prototype.getSourceClientOffset=function(t){return d.getNodeClientOffset(this.sourceNodes[t])},t.prototype.isDraggingNativeItem=function(){var t=this.monitor.getItemType();return Object.keys(v).some(function(e){return v[e]===t})},t.prototype.beginDragNativeItem=function(t){this.clearCurrentDragSourceNode();var e=h.createNativeDragSource(t);this.currentNativeSource=new e,this.currentNativeHandle=this.registry.addSource(t,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle]),p.isFirefox()&&window.addEventListener("mousemove",this.endDragNativeItem,!0)},t.prototype.endDragNativeItem=function(){this.isDraggingNativeItem()&&(p.isFirefox()&&window.removeEventListener("mousemove",this.endDragNativeItem,!0),this.actions.endDrag(),this.registry.removeSource(this.currentNativeHandle),this.currentNativeHandle=null,this.currentNativeSource=null)},t.prototype.endDragIfSourceWasRemovedFromDOM=function(){var t=this.currentDragSourceNode;document.body.contains(t)||this.clearCurrentDragSourceNode()&&this.actions.endDrag()},t.prototype.setCurrentDragSourceNode=function(t){this.clearCurrentDragSourceNode(),this.currentDragSourceNode=t,this.currentDragSourceNodeOffset=d.getNodeClientOffset(t),this.currentDragSourceNodeOffsetChanged=!1,window.addEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)},t.prototype.clearCurrentDragSourceNode=function(){return this.currentDragSourceNode?(this.currentDragSourceNode=null,this.currentDragSourceNodeOffset=null,this.currentDragSourceNodeOffsetChanged=!1,window.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0),!0):!1},t.prototype.checkIfCurrentDragSourceRectChanged=function(){var t=this.currentDragSourceNode;return t?this.currentDragSourceNodeOffsetChanged?!0:(this.currentDragSourceNodeOffsetChanged=!c["default"](d.getNodeClientOffset(t),this.currentDragSourceNodeOffset),this.currentDragSourceNodeOffsetChanged):!1},t.prototype.handleTopDragStartCapture=function(){this.clearCurrentDragSourceNode(),this.dragStartSourceIds=[]},t.prototype.handleDragStart=function(t,e){this.dragStartSourceIds.unshift(e)},t.prototype.handleTopDragStart=function(t){var e=this,n=this.dragStartSourceIds;this.dragStartSourceIds=null;var r=d.getEventClientOffset(t);this.actions.beginDrag(n,{publishSource:!1,getSourceClientOffset:this.getSourceClientOffset,clientOffset:r});var o=t.dataTransfer,i=h.matchNativeItemType(o);if(this.monitor.isDragging()){if("function"==typeof o.setDragImage){var a=this.monitor.getSourceId(),u=this.sourceNodes[a],s=this.sourcePreviewNodes[a]||u,c=this.getCurrentSourcePreviewNodeOptions(),f=c.anchorX,l=c.anchorY,p={anchorX:f,anchorY:l},g=d.getDragPreviewOffset(u,s,r,p);o.setDragImage(s,g.x,g.y)}try{o.setData("application/json",{})}catch(v){}this.setCurrentDragSourceNode(t.target);var y=this.getCurrentSourcePreviewNodeOptions(),m=y.captureDraggingState;m?this.actions.publishDragSource():setTimeout(function(){return e.actions.publishDragSource()})}else if(i)this.beginDragNativeItem(i);else{if(!(o.types||t.target.hasAttribute&&t.target.hasAttribute("draggable")))return;t.preventDefault()}},t.prototype.handleTopDragEndCapture=function(){this.clearCurrentDragSourceNode()&&this.actions.endDrag()},t.prototype.handleTopDragEnterCapture=function(t){this.dragEnterTargetIds=[];var e=this.enterLeaveCounter.enter(t.target);if(e&&!this.monitor.isDragging()){var n=t.dataTransfer,r=h.matchNativeItemType(n);r&&this.beginDragNativeItem(r)}},t.prototype.handleDragEnter=function(t,e){this.dragEnterTargetIds.unshift(e)},t.prototype.handleTopDragEnter=function(t){var e=this,n=this.dragEnterTargetIds;if(this.dragEnterTargetIds=[],this.monitor.isDragging()){p.isFirefox()||this.actions.hover(n,{clientOffset:d.getEventClientOffset(t)});var r=n.some(function(t){return e.monitor.canDropOnTarget(t)});r&&(t.preventDefault(),t.dataTransfer.dropEffect=this.getCurrentDropEffect())}},t.prototype.handleTopDragOverCapture=function(){this.dragOverTargetIds=[]},t.prototype.handleDragOver=function(t,e){this.dragOverTargetIds.unshift(e)},t.prototype.handleTopDragOver=function(t){var e=this,n=this.dragOverTargetIds;if(this.dragOverTargetIds=[],!this.monitor.isDragging())return t.preventDefault(),void(t.dataTransfer.dropEffect="none");this.actions.hover(n,{clientOffset:d.getEventClientOffset(t)});var r=n.some(function(t){return e.monitor.canDropOnTarget(t)});r?(t.preventDefault(),t.dataTransfer.dropEffect=this.getCurrentDropEffect()):this.isDraggingNativeItem()?(t.preventDefault(),t.dataTransfer.dropEffect="none"):this.checkIfCurrentDragSourceRectChanged()&&(t.preventDefault(),t.dataTransfer.dropEffect="move")},t.prototype.handleTopDragLeaveCapture=function(t){this.isDraggingNativeItem()&&t.preventDefault();var e=this.enterLeaveCounter.leave(t.target);e&&this.isDraggingNativeItem()&&this.endDragNativeItem()},t.prototype.handleTopDropCapture=function(t){this.dropTargetIds=[],t.preventDefault(),this.isDraggingNativeItem()&&this.currentNativeSource.mutateItemByReadingDataTransfer(t.dataTransfer),this.enterLeaveCounter.reset()},t.prototype.handleDrop=function(t,e){this.dropTargetIds.unshift(e)},t.prototype.handleTopDrop=function(t){var e=this.dropTargetIds;this.dropTargetIds=[],this.actions.hover(e,{clientOffset:d.getEventClientOffset(t)}),this.actions.drop(),this.isDraggingNativeItem()?this.endDragNativeItem():this.endDragIfSourceWasRemovedFromDOM()},t.prototype.handleSelectStart=function(t){var e=t.target;"function"==typeof e.dragDrop&&("INPUT"===e.tagName||"SELECT"===e.tagName||"TEXTAREA"===e.tagName||e.isContentEditable||(t.preventDefault(),e.dragDrop()))},t}();e["default"]=y,t.exports=e["default"]},function(t,e){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}e.__esModule=!0;var r=function(){function t(e,r){n(this,t);for(var o=e.length,i=[],a=0;o>a;a++)i.push(a);i.sort(function(t,n){return e[t]a;a++)f=e[a+1]-e[a],l=r[a+1]-r[a],s.push(f),u.push(l),c.push(l/f);for(var p=[c[0]],a=0;a=d*h)p.push(0);else{f=s[a];var g=s[a+1],v=f+g;p.push(3*v/((v+g)/d+(v+f)/h))}}p.push(c[c.length-1]);for(var y=[],m=[],b=void 0,a=0;a=u;){c=Math.floor(.5*(u+s));var f=e[c];if(t>f)u=c+1;else{if(!(f>t))return n[c];s=c-1}}a=Math.max(0,s);var l=t-e[a],p=l*l;return n[a]+r[a]*l+o[a]*p+i[a]*l*p},t}();e["default"]=r,t.exports=e["default"]},function(t,e,n){"use strict";function r(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e["default"]=t,e}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function a(t,e,n){var r=e.reduce(function(e,n){return e||t.getData(n)},null);return null!=r?r:n}function u(t){var e=p[t],n=e.exposeProperty,r=e.matchesTypes,a=e.getData;return function(){function t(){o(this,t),this.item=Object.defineProperties({},i({},n,{get:function(){return console.warn("Browser doesn't allow reading \""+n+'" until the drop event.'),null},configurable:!0,enumerable:!0}))}return t.prototype.mutateItemByReadingDataTransfer=function(t){delete this.item[n],this.item[n]=a(t,r)},t.prototype.canDrag=function(){return!0},t.prototype.beginDrag=function(){return this.item},t.prototype.isDragging=function(t,e){return e===t.getSourceId()},t.prototype.endDrag=function(){},t}()}function s(t){var e=Array.prototype.slice.call(t.types||[]);return Object.keys(p).filter(function(t){var n=p[t].matchesTypes;return n.some(function(t){return e.indexOf(t)>-1})})[0]||null}e.__esModule=!0;var c;e.createNativeDragSource=u,e.matchNativeItemType=s;var f=n(32),l=r(f),p=(c={},i(c,l.FILE,{exposeProperty:"files",matchesTypes:["Files"],getData:function(t){return Array.prototype.slice.call(t.files)}}),i(c,l.URL,{exposeProperty:"urls",matchesTypes:["Url","text/uri-list"],getData:function(t,e){return a(t,e,"").split("\n")}}),i(c,l.TEXT,{exposeProperty:"text",matchesTypes:["Text","text/plain"],getData:function(t,e){return a(t,e,"")}}),c)},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t){var e=t.nodeType===f?t:t.parentElement;if(!e)return null;var n=e.getBoundingClientRect(),r=n.top,o=n.left;return{x:o,y:r}}function i(t){return{x:t.clientX,y:t.clientY}}function a(t,e,n,r){var i="IMG"===e.nodeName&&(u.isFirefox()||!document.documentElement.contains(e)),a=i?t:e,s=o(a),f={x:n.x-s.x,y:n.y-s.y},l=t.offsetWidth,p=t.offsetHeight,d=r.anchorX,h=r.anchorY,g=i?e.width:l,v=i?e.height:p;u.isSafari()&&i?(v/=window.devicePixelRatio,g/=window.devicePixelRatio):u.isFirefox()&&!i&&(v*=window.devicePixelRatio,g*=window.devicePixelRatio);var y=new c["default"]([0,.5,1],[f.x,f.x/l*g,f.x+g-l]),m=new c["default"]([0,.5,1],[f.y,f.y/p*v,f.y+v-p]),b=y.interpolate(d),_=m.interpolate(h);return u.isSafari()&&i&&(_+=(window.devicePixelRatio-1)*v),{x:b,y:_}}e.__esModule=!0,e.getNodeClientOffset=o,e.getEventClientOffset=i,e.getDragPreviewOffset=a;var u=n(51),s=n(143),c=r(s),f=1},function(t,e){"use strict";function n(){return r||(r=new Image,r.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),r}e.__esModule=!0,e["default"]=n;var r=void 0;t.exports=e["default"]},function(t,e,n){"use strict";function r(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e["default"]=t,e}function o(t){return t&&t.__esModule?t:{"default":t}}function i(t){return new u["default"](t)}e.__esModule=!0,e["default"]=i;var a=n(142),u=o(a),s=n(146),c=o(s),f=n(32),l=r(f);e.NativeTypes=l,e.getEmptyImage=c["default"]},function(t,e){"use strict";function n(t,e){if(t===e)return!0;var n=Object.keys(t),r=Object.keys(e);if(n.length!==r.length)return!1;for(var o=Object.prototype.hasOwnProperty,i=0;in)return!1;var r=t.length-1;return n==r?t.pop():a.call(t,n,1),!0}var o=n(14),i=Array.prototype,a=i.splice;t.exports=r},function(t,e,n){function r(t,e){var n=o(t,e);return 0>n?void 0:t[n][1]}var o=n(14);t.exports=r},function(t,e,n){function r(t,e){return o(t,e)>-1}var o=n(14);t.exports=r},function(t,e,n){function r(t,e,n){var r=o(t,e);0>r?t.push([e,n]):t[r][1]=n}var o=n(14);t.exports=r},function(t,e,n){function r(t,e,n,r){var l=-1,p=i,d=!0,h=t.length,g=[],v=e.length;if(!h)return g;n&&(e=u(e,s(n))),r?(p=a,d=!1):e.length>=f&&(p=c,d=!1,e=new o(e));t:for(;++l0&&n(f)?e>1?r(f,e-1,n,a,u):o(u,f):a||(u[u.length]=f)}return u}var o=n(153),i=n(179);t.exports=r},function(t,e,n){function r(t,e,n){if(e!==e)return o(t,n);for(var r=n-1,i=t.length;++r=f){var v=e?null:s(t);if(v)return c(v);d=!1,l=u,g=new o}else g=e?[]:h;t:for(;++r1?n[i-1]:void 0,u=i>2?n[2]:void 0;for(a="function"==typeof a?(i--,a):void 0,u&&o(n[0],n[1],u)&&(a=3>i?void 0:a,i=1),e=Object(e);++rt?-1:1;return e*a}var n=t%1;return t===t?n?t-n:t:0}var o=n(200),i=1/0,a=1.7976931348623157e308;t.exports=r},function(t,e,n){function r(t){if("number"==typeof t)return t;if(a(t))return u;if(i(t)){var e=o(t.valueOf)?t.valueOf():t;t=i(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(s,"");var n=f.test(t);return n||l.test(t)?p(t.slice(2),n?2:8):c.test(t)?u:+t}var o=n(36),i=n(18),a=n(195),u=NaN,s=/^\s+|\s+$/g,c=/^[-+]0x[0-9a-f]+$/i,f=/^0b[01]+$/i,l=/^0o[0-7]+$/i,p=parseInt;t.exports=r},function(t,e,n){var r=n(161),o=n(167),i=n(17),a=n(19),u=a(function(t){return o(r(t,1,i,!0))});t.exports=u},function(t,e,n){var r=n(160),o=n(17),i=n(19),a=i(function(t,e){return o(t)?r(t,e):[]});t.exports=a},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function a(t){v["default"].apply(void 0,["DragDropContext","backend"].concat(s.call(arguments)));var e=void 0;e="object"==typeof t&&"function"==typeof t["default"]?t["default"]:t,h["default"]("function"==typeof e,"Expected the backend to be a function or an ES6 module exporting a default function. Read more: http://gaearon.github.io/react-dnd/docs-drag-drop-context.html");var n={dragDropManager:new p.DragDropManager(e)};return function(t){var e=t.displayName||t.name||"Component";return function(r){function a(){o(this,a),r.apply(this,arguments)}return i(a,r),a.prototype.getDecoratedComponentInstance=function(){return this.refs.child},a.prototype.getManager=function(){return n.dragDropManager},a.prototype.getChildContext=function(){return n},a.prototype.render=function(){return l["default"].createElement(t,u({},this.props,{ref:"child"}))},c(a,null,[{key:"DecoratedComponent",value:t,enumerable:!0},{key:"displayName",value:"DragDropContext("+e+")",enumerable:!0},{key:"childContextTypes",value:{dragDropManager:f.PropTypes.object.isRequired},enumerable:!0}]),a}(f.Component)}}e.__esModule=!0;var u=Object.assign||function(t){for(var e=1;e-1,'Expected the drag source specification to only have some of the following keys: %s. Instead received a specification with an unexpected "%s" key. Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html',c.join(", "),e),u["default"]("function"==typeof t[e],"Expected %s in the drag source specification to be a function. Instead received a specification with %s: %s. Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html",e,e,t[e])}),f.forEach(function(e){u["default"]("function"==typeof t[e],"Expected %s in the drag source specification to be a function. Instead received a specification with %s: %s. Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html",e,e,t[e])});var e=function(){function e(t){o(this,e),this.monitor=t,this.props=null,this.component=null}return e.prototype.receiveProps=function(t){this.props=t},e.prototype.receiveComponent=function(t){this.component=t},e.prototype.canDrag=function(){return t.canDrag?t.canDrag(this.props,this.monitor):!0},e.prototype.isDragging=function(e,n){return t.isDragging?t.isDragging(this.props,this.monitor):n===e.getSourceId()},e.prototype.beginDrag=function(){var e=t.beginDrag(this.props,this.monitor,this.component);return e},e.prototype.endDrag=function(){t.endDrag&&t.endDrag(this.props,this.monitor,this.component)},e}();return function(t){return new e(t)}}e.__esModule=!0,e["default"]=i;var a=n(2),u=r(a),s=n(5),c=(r(s),["canDrag","beginDrag","canDrag","isDragging","endDrag"]),f=["beginDrag"];t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t){return new f(t)}e.__esModule=!0,e["default"]=i;var a=n(2),u=r(a),s=!1,c=!1,f=function(){function t(e){o(this,t),this.internalMonitor=e.getMonitor()}return t.prototype.receiveHandlerId=function(t){this.sourceId=t},t.prototype.canDrag=function(){u["default"](!s,"You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://gaearon.github.io/react-dnd/docs-drag-source-monitor.html");try{return s=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{s=!1}},t.prototype.isDragging=function(){u["default"](!c,"You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://gaearon.github.io/react-dnd/docs-drag-source-monitor.html");try{return c=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{c=!1}},t.prototype.getItemType=function(){return this.internalMonitor.getItemType()},t.prototype.getItem=function(){return this.internalMonitor.getItem()},t.prototype.getDropResult=function(){return this.internalMonitor.getDropResult()},t.prototype.didDrop=function(){ -return this.internalMonitor.didDrop()},t.prototype.getInitialClientOffset=function(){return this.internalMonitor.getInitialClientOffset()},t.prototype.getInitialSourceClientOffset=function(){return this.internalMonitor.getInitialSourceClientOffset()},t.prototype.getSourceClientOffset=function(){return this.internalMonitor.getSourceClientOffset()},t.prototype.getClientOffset=function(){return this.internalMonitor.getClientOffset()},t.prototype.getDifferenceFromInitialOffset=function(){return this.internalMonitor.getDifferenceFromInitialOffset()},t}();t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t){function e(){u&&(u(),u=null),r&&o&&(u=t.connectDropTarget(r,o,i))}function n(t){t!==r&&(r=t,e())}var r=void 0,o=void 0,i=void 0,u=void 0,c=a["default"]({dropTarget:function(t,n){t===o&&s["default"](n,i)||(o=t,i=n,e())}});return{receiveHandlerId:n,hooks:c}}e.__esModule=!0,e["default"]=o;var i=n(67),a=r(i),u=n(63),s=r(u);t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t){Object.keys(t).forEach(function(e){u["default"](c.indexOf(e)>-1,'Expected the drop target specification to only have some of the following keys: %s. Instead received a specification with an unexpected "%s" key. Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html',c.join(", "),e),u["default"]("function"==typeof t[e],"Expected %s in the drop target specification to be a function. Instead received a specification with %s: %s. Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html",e,e,t[e])});var e=function(){function e(t){o(this,e),this.monitor=t,this.props=null,this.component=null}return e.prototype.receiveProps=function(t){this.props=t},e.prototype.receiveMonitor=function(t){this.monitor=t},e.prototype.receiveComponent=function(t){this.component=t},e.prototype.canDrop=function(){return t.canDrop?t.canDrop(this.props,this.monitor):!0},e.prototype.hover=function(){t.hover&&t.hover(this.props,this.monitor,this.component)},e.prototype.drop=function(){if(t.drop){var e=t.drop(this.props,this.monitor,this.component);return e}},e}();return function(t){return new e(t)}}e.__esModule=!0,e["default"]=i;var a=n(2),u=r(a),s=n(5),c=(r(s),["canDrop","hover","drop"]);t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t){return new c(t)}e.__esModule=!0,e["default"]=i;var a=n(2),u=r(a),s=!1,c=function(){function t(e){o(this,t),this.internalMonitor=e.getMonitor()}return t.prototype.receiveHandlerId=function(t){this.targetId=t},t.prototype.canDrop=function(){u["default"](!s,"You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://gaearon.github.io/react-dnd/docs-drop-target-monitor.html");try{return s=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{s=!1}},t.prototype.isOver=function(t){return this.internalMonitor.isOverTarget(this.targetId,t)},t.prototype.getItemType=function(){return this.internalMonitor.getItemType()},t.prototype.getItem=function(){return this.internalMonitor.getItem()},t.prototype.getDropResult=function(){return this.internalMonitor.getDropResult()},t.prototype.didDrop=function(){return this.internalMonitor.didDrop()},t.prototype.getInitialClientOffset=function(){return this.internalMonitor.getInitialClientOffset()},t.prototype.getInitialSourceClientOffset=function(){return this.internalMonitor.getInitialSourceClientOffset()},t.prototype.getSourceClientOffset=function(){return this.internalMonitor.getSourceClientOffset()},t.prototype.getClientOffset=function(){return this.internalMonitor.getClientOffset()},t.prototype.getDifferenceFromInitialOffset=function(){return this.internalMonitor.getDifferenceFromInitialOffset()},t}();t.exports=e["default"]},function(t,e){"use strict";function n(t,e,n){function r(){o.removeSource(i)}var o=n.getRegistry(),i=o.addSource(t,e);return{handlerId:i,unregister:r}}e.__esModule=!0,e["default"]=n,t.exports=e["default"]},function(t,e){"use strict";function n(t,e,n){function r(){o.removeTarget(i)}var o=n.getRegistry(),i=o.addTarget(t,e);return{handlerId:i,unregister:r}}e.__esModule=!0,e["default"]=n,t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){var n=t.ref;return a["default"]("string"!=typeof n,"Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a or
. Read more: https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute"),n?u.cloneElement(t,{ref:function(t){e(t),n&&n(t)}}):u.cloneElement(t,{ref:e})}e.__esModule=!0,e["default"]=o;var i=n(2),a=r(i),u=n(1);t.exports=e["default"]},function(t,e){function n(t){return r(Object(t))}var r=Object.getPrototypeOf;t.exports=n},function(t,e){function n(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(n){}return e}t.exports=n},function(t,e){var n=Array.isArray;t.exports=n},function(t,e){function n(t){return!!t&&"object"==typeof t}t.exports=n},function(t,e,n){"use strict";function r(t){return Array.isArray(t)?t.concat():t&&"object"==typeof t?a(new t.constructor,t):t}function o(t,e,n){Array.isArray(t)?void 0:s(!1);var r=e[n];Array.isArray(r)?void 0:s(!1)}function i(t,e){if("object"!=typeof e?s(!1):void 0,c.call(e,d))return 1!==Object.keys(e).length?s(!1):void 0,e[d];var n=r(t);if(c.call(e,h)){var u=e[h];u&&"object"==typeof u?void 0:s(!1),n&&"object"==typeof n?void 0:s(!1),a(n,e[h])}c.call(e,f)&&(o(t,e,f),e[f].forEach(function(t){n.push(t)})),c.call(e,l)&&(o(t,e,l),e[l].forEach(function(t){n.unshift(t)})),c.call(e,p)&&(Array.isArray(t)?void 0:s(!1),Array.isArray(e[p])?void 0:s(!1),e[p].forEach(function(t){Array.isArray(t)?void 0:s(!1),n.splice.apply(n,t)})),c.call(e,g)&&("function"!=typeof e[g]?s(!1):void 0,n=e[g](n));for(var v in e)y.hasOwnProperty(v)&&y[v]||(n[v]=i(t[v],e[v]));return n}var a=n(140),u=n(139),s=n(138),c={}.hasOwnProperty,f=u({$push:null}),l=u({$unshift:null}),p=u({$splice:null}),d=u({$set:null}),h=u({$merge:null}),g=u({$apply:null}),v=[f,l,p,d,h,g],y={};v.forEach(function(t){y[t]=!0}),t.exports=i},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e,n){function r(){h===d&&(h=d.slice())}function i(){return p}function s(t){if("function"!=typeof t)throw new Error("Expected listener to be a function.");var e=!0;return r(),h.push(t),function(){if(e){e=!1,r();var n=h.indexOf(t);h.splice(n,1)}}}function c(t){if(!(0,a["default"])(t))throw new Error("Actions must be plain objects. Use custom middleware for async actions.");if("undefined"==typeof t.type)throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');if(g)throw new Error("Reducers may not dispatch actions.");try{g=!0,p=l(p,t)}finally{g=!1}for(var e=d=h,n=0;n=0;c--)if(u.canDragSource(t[c])){f=t[c];break}if(null!==f){var l=null;i&&(p["default"]("function"==typeof a,"When clientOffset is provided, getSourceClientOffset must be a function."),l=a(f));var d=s.getSource(f),g=d.beginDrag(u,f);p["default"](v["default"](g),"Item must be an object."),s.pinSource(f);var m=s.getSourceType(f);return{type:y,itemType:m,item:g,sourceId:f,clientOffset:i,sourceClientOffset:l,isSourcePublic:r}}}function i(t){var e=this.getMonitor();if(e.isDragging())return{type:m}}function a(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=e.clientOffset,r=void 0===n?null:n;p["default"](h["default"](t),"Expected targetIds to be an array."),t=t.slice(0);var o=this.getMonitor(),i=this.getRegistry();p["default"](o.isDragging(),"Cannot call hover while not dragging."),p["default"](!o.didDrop(),"Cannot call hover after drop.");for(var a=0;a=0;a--){var u=t[a],l=i.getTargetType(u);f["default"](l,c)||t.splice(a,1)}for(var a=0;a-1}var o=n(105);t.exports=r},function(t,e){function n(t,e,n){for(var r=-1,o=t.length;++r0}e.__esModule=!0,e["default"]=o,e.areDirty=i;var a=n(136),u=r(a),s=n(128),c=r(s),f=n(8),l=n(9),p=[],d=[]},function(t,e,n){"use strict";function r(t,e){return t===e?!0:t&&e&&t.x===e.x&&t.y===e.y}function o(t,e){switch(void 0===t&&(t=c),e.type){case s.BEGIN_DRAG:return{initialSourceClientOffset:e.sourceClientOffset,initialClientOffset:e.clientOffset,clientOffset:e.clientOffset};case s.HOVER:return r(t.clientOffset,e.clientOffset)?t:u({},t,{clientOffset:e.clientOffset});case s.END_DRAG:case s.DROP:return c;default:return t}}function i(t){var e=t.clientOffset,n=t.initialClientOffset,r=t.initialSourceClientOffset;return e&&n&&r?{x:e.x+r.x-n.x,y:e.y+r.y-n.y}:null}function a(t){var e=t.clientOffset,n=t.initialClientOffset;return e&&n?{x:e.x-n.x,y:e.y-n.y}:null}e.__esModule=!0;var u=Object.assign||function(t){for(var e=1;e=f&&(p=c,d=!1,e=new o(e));t:for(;++l-1}var o=n(161);t.exports=r},function(t,e){function n(t,e,n){for(var r=-1,o=t.length;++r-1&&t%1==0&&e>t}var r=9007199254740991,o=/^(?:0|[1-9]\d*)$/;t.exports=n},function(t,e,n){function r(t){return o(t)&&u.call(t,"callee")&&(!c.call(t,"callee")||s.call(t)==i)}var o=n(17),i="[object Arguments]",a=Object.prototype,u=a.hasOwnProperty,s=a.toString,c=a.propertyIsEnumerable;t.exports=r},function(t,e,n){function r(t){return null!=t&&a(o(t))&&!i(t)}var o=n(172),i=n(36),a=n(62);t.exports=r},function(t,e){function n(t){return"number"==typeof t&&t>-1&&t%1==0&&r>=t}var r=9007199254740991;t.exports=n},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){return e===t?!0:null!==e&&null!==t&&a["default"](e,t)}e.__esModule=!0,e["default"]=o;var i=n(39),a=r(i);t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function a(t){var e=t.DecoratedComponent,n=t.createHandler,r=t.createMonitor,a=t.createConnector,p=t.registerHandler,h=t.containerDisplayName,v=t.getType,y=t.collect,b=t.options,D=b.arePropsEqual,_=void 0===D?g["default"]:D,x=e.displayName||e.name||"Component";return function(t){function g(e,i){o(this,g),t.call(this,e,i),this.handleChange=this.handleChange.bind(this),this.handleChildRef=this.handleChildRef.bind(this),m["default"]("object"==typeof this.context.dragDropManager,"Could not find the drag and drop manager in the context of %s. Make sure to wrap the top-level component of your app with DragDropContext. Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context",x,x),this.manager=this.context.dragDropManager,this.handlerMonitor=r(this.manager),this.handlerConnector=a(this.manager.getBackend()),this.handler=n(this.handlerMonitor),this.disposable=new l.SerialDisposable,this.receiveProps(e),this.state=this.getCurrentState(),this.dispose()}return i(g,t),g.prototype.getHandlerId=function(){return this.handlerId},g.prototype.getDecoratedComponentInstance=function(){return this.decoratedComponentInstance},g.prototype.shouldComponentUpdate=function(t,e){return!_(t,this.props)||!d["default"](e,this.state)},s(g,null,[{key:"DecoratedComponent",value:e,enumerable:!0},{key:"displayName",value:h+"("+x+")",enumerable:!0},{key:"contextTypes",value:{dragDropManager:c.PropTypes.object.isRequired},enumerable:!0}]),g.prototype.componentDidMount=function(){this.isCurrentlyMounted=!0,this.disposable=new l.SerialDisposable,this.currentType=null,this.receiveProps(this.props),this.handleChange()},g.prototype.componentWillReceiveProps=function(t){_(t,this.props)||(this.receiveProps(t),this.handleChange())},g.prototype.componentWillUnmount=function(){this.dispose(),this.isCurrentlyMounted=!1},g.prototype.receiveProps=function(t){this.handler.receiveProps(t),this.receiveType(v(t))},g.prototype.receiveType=function(t){if(t!==this.currentType){this.currentType=t;var e=p(t,this.handler,this.manager),n=e.handlerId,r=e.unregister;this.handlerId=n,this.handlerMonitor.receiveHandlerId(n),this.handlerConnector.receiveHandlerId(n);var o=this.manager.getMonitor(),i=o.subscribeToStateChange(this.handleChange,{handlerIds:[n]});this.disposable.setDisposable(new l.CompositeDisposable(new l.Disposable(i),new l.Disposable(r)))}},g.prototype.handleChange=function(){if(this.isCurrentlyMounted){var t=this.getCurrentState();d["default"](t,this.state)||this.setState(t)}},g.prototype.dispose=function(){this.disposable.dispose(),this.handlerConnector.receiveHandlerId(null)},g.prototype.handleChildRef=function(t){this.decoratedComponentInstance=t,this.handler.receiveComponent(t)},g.prototype.getCurrentState=function(){var t=y(this.handlerConnector.hooks,this.handlerMonitor);return t},g.prototype.render=function(){return f["default"].createElement(e,u({},this.props,this.state,{ref:this.handleChildRef}))},g}(c.Component)}e.__esModule=!0;var u=Object.assign||function(t){for(var e=1;e, or turn it into a ")+"drag source or a drop target itself.")}}function i(t){return function(){var e=arguments.length<=0||void 0===arguments[0]?null:arguments[0],n=arguments.length<=1||void 0===arguments[1]?null:arguments[1];if(!c.isValidElement(e)){var r=e;return void t(r,n)}var i=e;o(i);var a=n?function(e){return t(e,n)}:t;return s["default"](i,a)}}function a(t){var e={};return Object.keys(t).forEach(function(n){var r=t[n],o=i(r);e[n]=function(){return o}}),e}e.__esModule=!0,e["default"]=a;var u=n(214),s=r(u),c=n(2);t.exports=e["default"]},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e,n){try{(function(){"use strict";function t(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),o=t(r),i=function(t){var e=t.text,n=t.onClick;return o["default"].createElement("div",{className:"add-widget-button",onClick:n},o["default"].createElement("a",{className:"add-widget-link"},e))};i.propTypes={onClick:r.PropTypes.func,text:r.PropTypes.string},i.defaultProps={text:"Add Widget"},e["default"]=i}).call(this)}finally{}},function(t,e,n){try{(function(){"use strict";function t(t){return t&&t.__esModule?t:{"default":t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function i(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a,u,s=function(){function t(t,e){for(var n=0;nr&&a>s||r>o&&s>a)){var c=t.layout,f=t.columnIndex,l=t.rowIndex;if(e.getItem().columnIndex===f){var d=(0,g.sortWidget)(c,{rowIndex:l,columnIndex:f,widgetIndex:r},{rowIndex:l,columnIndex:f,widgetIndex:o},e.getItem().widgetName);t.onMove(d)}e.getItem().widgetIndex=o}}}},D=(a=(0,d.DropTarget)(h.WIDGET,b,function(t){return{connectDropTarget:t.dropTarget()}}),u=(0,d.DragSource)(h.WIDGET,m,function(t,e){return{connectDragSource:t.dragSource(),isDragging:e.isDragging()}}),a(s=u(s=function(t){function e(){var t,n,i,a;r(this,e);for(var u=arguments.length,s=Array(u),c=0;u>c;c++)s[c]=arguments[c];return n=i=o(this,(t=Object.getPrototypeOf(e)).call.apply(t,[this].concat(s))),i.remove=function(){var t=i.props,e=t.layout,n=t.rowIndex,r=t.columnIndex,o=t.widgetIndex,a=(0,g.removeWidget)(e,n,r,o);i.props.onRemove(a)},a=n,o(i,a)}return i(e,t),c(e,[{key:"render",value:function(){var t=this.props,e=t.frameComponent,n=t.children,r=t.editable,o=t.title,i=t.connectDragSource,a=t.connectDropTarget,u=t.isDragging,s=null;s=e?(0,f.createElement)(e,{children:n,editable:r,title:o,onRemove:this.remove}):l["default"].createElement(y["default"],{title:o,editable:r,children:n,onRemove:this.remove});var c=u?0:1;return i(a(l["default"].createElement("div",{style:{opacity:c}},s)))}}]),e}(f.Component))||s)||s);D.propTypes={children:f.PropTypes.element,layout:f.PropTypes.object,columnIndex:f.PropTypes.number,rowIndex:f.PropTypes.number,widgetIndex:f.PropTypes.number,editable:f.PropTypes.bool,frameComponent:f.PropTypes.func,widgetName:f.PropTypes.string,title:f.PropTypes.string,isDragging:f.PropTypes.bool,connectDragSource:f.PropTypes.func,connectDropTarget:f.PropTypes.func,onRemove:f.PropTypes.func},e["default"]=D}).call(this)}finally{}},function(t,e,n){try{(function(){"use strict";function t(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),o=t(r),i=n(75),a=t(i),u=function(t){var e=t.widgets,n=t.widgetTypes,i=t.onRemove,u=t.layout,s=t.columnIndex,c=t.rowIndex,f=t.editable,l=t.frameComponent,p=t.onMove,d=e.map(function(t,e){return o["default"].createElement(a["default"],{key:e,widgetName:t.key,title:n[t.key].title,onRemove:i,layout:u,columnIndex:s,rowIndex:c,widgetIndex:e,editable:f,frameComponent:l,onMove:p},(0,r.createElement)(n[t.key].type,n[t.key].props))});return o["default"].createElement("div",null,d)};u.propTypes={widgets:r.PropTypes.array,widgetTypes:r.PropTypes.object,onRemove:r.PropTypes.func,layout:r.PropTypes.object,columnIndex:r.PropTypes.number,rowIndex:r.PropTypes.number,editable:r.PropTypes.bool,frameComponent:r.PropTypes.func,onMove:r.PropTypes.func},e["default"]=u}).call(this)}finally{}},function(t,e,n){try{(function(){"use strict";function t(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(71);Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t(r)["default"]}});var o=n(21);Object.defineProperty(e,"addWidget",{enumerable:!0,get:function(){return o.addWidget}})}).call(this)}finally{}},function(t,e,n){"use strict";function r(){if(s.length)throw s.shift()}function o(t){var e;e=u.length?u.pop():new i,e.task=t,a(e)}function i(){this.task=null}var a=n(79),u=[],s=[],c=a.makeRequestCallFromTimer(r);t.exports=o,i.prototype.call=function(){try{this.task.call()}catch(t){o.onerror?o.onerror(t):(s.push(t),c())}finally{this.task=null,u[u.length]=this}}},function(t,e){"use strict";function n(t){u.length||(a(),s=!0),u[u.length]=t}function r(){for(;cf){for(var e=0,n=u.length-c;n>e;e++)u[e]=u[e+c];u.length-=c,c=0}}u.length=0,c=0,s=!1}function o(t){var e=1,n=new l(t),r=document.createTextNode("");return n.observe(r,{characterData:!0}),function(){e=-e,r.data=e}}function i(t){return function(){function e(){clearTimeout(n),clearInterval(r),t()}var n=setTimeout(e,0),r=setInterval(e,50)}}t.exports=n;var a,u=[],s=!1,c=0,f=1024,l=global.MutationObserver||global.WebKitMutationObserver;a="function"==typeof l?o(r):i(r),n.requestFlush=a,n.makeRequestCallFromTimer=i},function(t,e,n){"use strict";var r=function(t){return t&&t.__esModule?t:{"default":t}},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")};e.__esModule=!0;var i=n(22),a=r(i),u=function(){function t(){for(var e=arguments.length,n=Array(e),r=0;e>r;r++)n[r]=arguments[r];o(this,t),Array.isArray(n[0])&&1===n.length&&(n=n[0]);for(var i=0;in;n++)e[n]=this.disposables[n];this.isDisposed=!0,this.disposables=[],this.length=0;for(var n=0;t>n;n++)e[n].dispose()}},t}();e["default"]=u,t.exports=e["default"]},function(t,e){"use strict";var n=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},r=function(){function t(t,e){for(var n=0;n0;t&&!this.isSetUp?(this.backend.setup(),this.isSetUp=!0):!t&&this.isSetUp&&(this.backend.teardown(),this.isSetUp=!1)},t.prototype.getMonitor=function(){return this.monitor},t.prototype.getBackend=function(){return this.backend},t.prototype.getRegistry=function(){return this.registry},t.prototype.getActions=function(){function t(t){return function(){var r=t.apply(e,arguments);"undefined"!=typeof r&&n(r)}}var e=this,n=this.store.dispatch;return Object.keys(l).filter(function(t){return"function"==typeof l[t]}).reduce(function(e,n){return e[n]=t(l[n]),e},{})},t}());e["default"]=g,t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}e.__esModule=!0;var i=n(1),a=r(i),u=n(44),s=r(u),c=n(12),f=r(c),l=n(41),p=r(l),d=n(43),h=n(42),g=function(){function t(e){o(this,t),this.store=e,this.registry=new p["default"](e)}return t.prototype.subscribeToStateChange=function(t){var e=this,n=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],r=n.handlerIds;a["default"]("function"==typeof t,"listener must be a function."),a["default"]("undefined"==typeof r||f["default"](r),"handlerIds, when specified, must be an array of strings.");var o=this.store.getState().stateId,i=function(){var n=e.store.getState(),i=n.stateId;try{var a=i===o||i===o+1&&!h.areDirty(n.dirtyHandlerIds,r);a||t()}finally{o=i}};return this.store.subscribe(i)},t.prototype.subscribeToOffsetChange=function(t){var e=this;a["default"]("function"==typeof t,"listener must be a function.");var n=this.store.getState().dragOffset,r=function(){var r=e.store.getState().dragOffset;r!==n&&(n=r,t())};return this.store.subscribe(r)},t.prototype.canDragSource=function(t){var e=this.registry.getSource(t);return a["default"](e,"Expected to find a valid source."),this.isDragging()?!1:e.canDrag(this,t)},t.prototype.canDropOnTarget=function(t){var e=this.registry.getTarget(t);if(a["default"](e,"Expected to find a valid target."),!this.isDragging()||this.didDrop())return!1;var n=this.registry.getTargetType(t),r=this.getItemType();return s["default"](n,r)&&e.canDrop(this,t)},t.prototype.isDragging=function(){return Boolean(this.getItemType())},t.prototype.isDraggingSource=function(t){var e=this.registry.getSource(t,!0);if(a["default"](e,"Expected to find a valid source."),!this.isDragging()||!this.isSourcePublic())return!1;var n=this.registry.getSourceType(t),r=this.getItemType();return n!==r?!1:e.isDragging(this,t)},t.prototype.isOverTarget=function(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=e.shallow,r=void 0===n?!1:n;if(!this.isDragging())return!1;var o=this.registry.getTargetType(t),i=this.getItemType();if(!s["default"](o,i))return!1;var a=this.getTargetIds();if(!a.length)return!1;var u=a.indexOf(t);return r?u===a.length-1:u>-1},t.prototype.getItemType=function(){return this.store.getState().dragOperation.itemType},t.prototype.getItem=function(){return this.store.getState().dragOperation.item},t.prototype.getSourceId=function(){return this.store.getState().dragOperation.sourceId},t.prototype.getTargetIds=function(){return this.store.getState().dragOperation.targetIds},t.prototype.getDropResult=function(){return this.store.getState().dragOperation.dropResult},t.prototype.didDrop=function(){return this.store.getState().dragOperation.didDrop},t.prototype.isSourcePublic=function(){return this.store.getState().dragOperation.isSourcePublic},t.prototype.getInitialClientOffset=function(){return this.store.getState().dragOffset.initialClientOffset},t.prototype.getInitialSourceClientOffset=function(){return this.store.getState().dragOffset.initialSourceClientOffset},t.prototype.getClientOffset=function(){return this.store.getState().dragOffset.clientOffset},t.prototype.getSourceClientOffset=function(){return d.getSourceClientOffset(this.store.getState().dragOffset)},t.prototype.getDifferenceFromInitialOffset=function(){return d.getDifferenceFromInitialOffset(this.store.getState().dragOffset)},t}();e["default"]=g,t.exports=e["default"]},function(t,e){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}e.__esModule=!0;var r=function(){function t(){n(this,t)}return t.prototype.canDrag=function(){return!0},t.prototype.isDragging=function(t,e){return e===t.getSourceId()},t.prototype.endDrag=function(){},t}();e["default"]=r,t.exports=e["default"]},function(t,e){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}e.__esModule=!0;var r=function(){function t(){n(this,t)}return t.prototype.canDrop=function(){return!0},t.prototype.hover=function(){},t.prototype.drop=function(){},t}();e["default"]=r,t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t){return new s(t)}e.__esModule=!0,e["default"]=i;var a=n(50),u=r(a),s=function(){function t(e){o(this,t),this.actions=e.getActions()}return t.prototype.setup=function(){this.didCallSetup=!0},t.prototype.teardown=function(){this.didCallTeardown=!0},t.prototype.connectDragSource=function(){return u["default"]},t.prototype.connectDragPreview=function(){return u["default"]},t.prototype.connectDropTarget=function(){return u["default"]},t.prototype.simulateBeginDrag=function(t,e){this.actions.beginDrag(t,e)},t.prototype.simulatePublishDragSource=function(){this.actions.publishDragSource()},t.prototype.simulateHover=function(t,e){this.actions.hover(t,e)},t.prototype.simulateDrop=function(){this.actions.drop()},t.prototype.simulateEndDrag=function(){this.actions.endDrag()},t}();t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t["default"]:t}e.__esModule=!0;var o=n(84);e.DragDropManager=r(o);var i=n(86);e.DragSource=r(i);var a=n(87);e.DropTarget=r(a);var u=n(88);e.createTestBackend=r(u)},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){switch(void 0===t&&(t=f),e.type){case a.BEGIN_DRAG:return i({},t,{itemType:e.itemType,item:e.item,sourceId:e.sourceId,isSourcePublic:e.isSourcePublic,dropResult:null,didDrop:!1});case a.PUBLISH_DRAG_SOURCE:return i({},t,{isSourcePublic:!0});case a.HOVER:return i({},t,{targetIds:e.targetIds});case u.REMOVE_TARGET:return-1===t.targetIds.indexOf(e.targetId)?t:i({},t,{targetIds:c["default"](t.targetIds,e.targetId)});case a.DROP:return i({},t,{dropResult:e.dropResult,didDrop:!0,targetIds:[]});case a.END_DRAG:return i({},t,{itemType:null,item:null,sourceId:null,dropResult:null,didDrop:!1,isSourcePublic:null,targetIds:[]});default:return t}}e.__esModule=!0;var i=Object.assign||function(t){for(var e=1;en)return!1;var r=t.length-1;return n==r?t.pop():a.call(t,n,1),!0}var o=n(10),i=Array.prototype,a=i.splice;t.exports=r},function(t,e,n){function r(t,e){var n=o(t,e);return 0>n?void 0:t[n][1]}var o=n(10);t.exports=r},function(t,e,n){function r(t,e){return o(t,e)>-1}var o=n(10);t.exports=r},function(t,e,n){function r(t,e,n){var r=o(t,e);0>r?t.push([e,n]):t[r][1]=n}var o=n(10);t.exports=r},function(t,e,n){function r(t,e,n){if(e!==e)return o(t,n);for(var r=n-1,i=t.length;++r=120&&y.length>=120)?new o(d&&y):void 0}y=t[0];var m=-1,b=h[0];t:for(;++m=f){var v=e?null:s(t);if(v)return c(v);d=!1,l=u,g=new o}else g=e?[]:h;t:for(;++r-1&&t%1==0&&r>=t}var r=9007199254740991;t.exports=n},function(t,e,n){function r(t){if(!a(t))return!1;var e=o(t)||i(t)?d:c;return e.test(u(t))}var o=n(30),i=n(119),a=n(13),u=n(126),s=/[\\^$.*+?()[\]{}|]/g,c=/^\[object .+?Constructor\]$/,f=Object.prototype,l=Function.prototype.toString,p=f.hasOwnProperty,d=RegExp("^"+l.call(p).replace(s,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=r},function(t,e,n){function r(t){return"symbol"==typeof t||o(t)&&u.call(t)==i}var o=n(49),i="[object Symbol]",a=Object.prototype,u=a.toString;t.exports=r},function(t,e,n){function r(t){if(!t)return 0===t?t:0;if(t=o(t),t===i||t===-i){var e=0>t?-1:1;return e*a}var n=t%1;return t===t?n?t-n:t:0}var o=n(134),i=1/0,a=1.7976931348623157e308;t.exports=r},function(t,e,n){function r(t){if("number"==typeof t)return t;if(a(t))return u;if(i(t)){var e=o(t.valueOf)?t.valueOf():t;t=i(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(s,"");var n=f.test(t);return n||l.test(t)?p(t.slice(2),n?2:8):c.test(t)?u:+t}var o=n(30),i=n(13),a=n(132),u=NaN,s=/^\s+|\s+$/g,c=/^[-+]0x[0-9a-f]+$/i,f=/^0b[01]+$/i,l=/^0o[0-7]+$/i,p=parseInt;t.exports=r},function(t,e,n){var r=n(45),o=n(29),i=n(31),a=i(function(t,e){return o(t)?r(t,e):[]});t.exports=a},function(t,e,n){var r=n(99),o=n(109),i=n(29),a=n(31),u=a(function(t){return o(r(t,i))});t.exports=u},function(t,e,n){"use strict";function r(t,e,n,r,o,i,a,u){if(!t){var s;if(void 0===e)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,i,a,u],f=0;s=new Error(e.replace(/%s/g,function(){return c[f++]})),s.name="Invariant Violation"}throw s.framesToPop=1,s}}t.exports=r},function(t,e){"use strict";var n=function(t){var e;for(e in t)if(t.hasOwnProperty(e))return e;return null};t.exports=n},function(t,e){"use strict";function n(t){if(null===t||void 0===t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}var r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;t.exports=Object.assign||function(t,e){for(var i,a,u=n(t),s=1;s0},t.prototype.leave=function(t){var e=this.entered.length;return this.entered=s["default"](this.entered.filter(function(t){return document.documentElement.contains(t)}),t),e>0&&0===this.entered.length},t.prototype.reset=function(){this.entered=[]},t}();e["default"]=c,t.exports=e["default"]},function(t,e,n){"use strict";function r(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e["default"]=t,e}function o(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}e.__esModule=!0;var a=n(191),u=o(a),s=n(147),c=o(s),f=n(140),l=o(f),p=n(51),d=n(144),h=n(143),g=n(32),v=r(g),y=function(){function t(e){i(this,t),this.actions=e.getActions(),this.monitor=e.getMonitor(),this.registry=e.getRegistry(),this.sourcePreviewNodes={},this.sourcePreviewNodeOptions={},this.sourceNodes={},this.sourceNodeOptions={},this.enterLeaveCounter=new l["default"],this.getSourceClientOffset=this.getSourceClientOffset.bind(this),this.handleTopDragStart=this.handleTopDragStart.bind(this),this.handleTopDragStartCapture=this.handleTopDragStartCapture.bind(this),this.handleTopDragEndCapture=this.handleTopDragEndCapture.bind(this),this.handleTopDragEnter=this.handleTopDragEnter.bind(this),this.handleTopDragEnterCapture=this.handleTopDragEnterCapture.bind(this),this.handleTopDragLeaveCapture=this.handleTopDragLeaveCapture.bind(this),this.handleTopDragOver=this.handleTopDragOver.bind(this),this.handleTopDragOverCapture=this.handleTopDragOverCapture.bind(this),this.handleTopDrop=this.handleTopDrop.bind(this),this.handleTopDropCapture=this.handleTopDropCapture.bind(this),this.handleSelectStart=this.handleSelectStart.bind(this),this.endDragIfSourceWasRemovedFromDOM=this.endDragIfSourceWasRemovedFromDOM.bind(this),this.endDragNativeItem=this.endDragNativeItem.bind(this)}return t.prototype.setup=function(){if("undefined"!=typeof window){if(this.constructor.isSetUp)throw new Error("Cannot have two HTML5 backends at the same time.");this.constructor.isSetUp=!0,this.addEventListeners(window)}},t.prototype.teardown=function(){"undefined"!=typeof window&&(this.constructor.isSetUp=!1,this.removeEventListeners(window),this.clearCurrentDragSourceNode())},t.prototype.addEventListeners=function(t){t.addEventListener("dragstart",this.handleTopDragStart),t.addEventListener("dragstart",this.handleTopDragStartCapture,!0),t.addEventListener("dragend",this.handleTopDragEndCapture,!0),t.addEventListener("dragenter",this.handleTopDragEnter),t.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),t.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),t.addEventListener("dragover",this.handleTopDragOver),t.addEventListener("dragover",this.handleTopDragOverCapture,!0),t.addEventListener("drop",this.handleTopDrop),t.addEventListener("drop",this.handleTopDropCapture,!0)},t.prototype.removeEventListeners=function(t){t.removeEventListener("dragstart",this.handleTopDragStart),t.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),t.removeEventListener("dragend",this.handleTopDragEndCapture,!0),t.removeEventListener("dragenter",this.handleTopDragEnter),t.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),t.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),t.removeEventListener("dragover",this.handleTopDragOver),t.removeEventListener("dragover",this.handleTopDragOverCapture,!0),t.removeEventListener("drop",this.handleTopDrop),t.removeEventListener("drop",this.handleTopDropCapture,!0)},t.prototype.connectDragPreview=function(t,e,n){var r=this;return this.sourcePreviewNodeOptions[t]=n,this.sourcePreviewNodes[t]=e,function(){delete r.sourcePreviewNodes[t],delete r.sourcePreviewNodeOptions[t]}},t.prototype.connectDragSource=function(t,e,n){var r=this;this.sourceNodes[t]=e,this.sourceNodeOptions[t]=n;var o=function(e){return r.handleDragStart(e,t)},i=function(e){return r.handleSelectStart(e,t)};return e.setAttribute("draggable",!0),e.addEventListener("dragstart",o),e.addEventListener("selectstart",i),function(){delete r.sourceNodes[t],delete r.sourceNodeOptions[t],e.removeEventListener("dragstart",o),e.removeEventListener("selectstart",i),e.setAttribute("draggable",!1)}},t.prototype.connectDropTarget=function(t,e){var n=this,r=function(e){return n.handleDragEnter(e,t)},o=function(e){return n.handleDragOver(e,t)},i=function(e){return n.handleDrop(e,t)};return e.addEventListener("dragenter",r),e.addEventListener("dragover",o),e.addEventListener("drop",i),function(){e.removeEventListener("dragenter",r),e.removeEventListener("dragover",o),e.removeEventListener("drop",i)}},t.prototype.getCurrentSourceNodeOptions=function(){var t=this.monitor.getSourceId(),e=this.sourceNodeOptions[t];return u["default"](e||{},{dropEffect:"move"})},t.prototype.getCurrentDropEffect=function(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect},t.prototype.getCurrentSourcePreviewNodeOptions=function(){var t=this.monitor.getSourceId(),e=this.sourcePreviewNodeOptions[t];return u["default"](e||{},{anchorX:.5,anchorY:.5,captureDraggingState:!1})},t.prototype.getSourceClientOffset=function(t){return d.getNodeClientOffset(this.sourceNodes[t])},t.prototype.isDraggingNativeItem=function(){var t=this.monitor.getItemType();return Object.keys(v).some(function(e){ +return v[e]===t})},t.prototype.beginDragNativeItem=function(t){this.clearCurrentDragSourceNode();var e=h.createNativeDragSource(t);this.currentNativeSource=new e,this.currentNativeHandle=this.registry.addSource(t,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle]),p.isFirefox()&&window.addEventListener("mousemove",this.endDragNativeItem,!0)},t.prototype.endDragNativeItem=function(){this.isDraggingNativeItem()&&(p.isFirefox()&&window.removeEventListener("mousemove",this.endDragNativeItem,!0),this.actions.endDrag(),this.registry.removeSource(this.currentNativeHandle),this.currentNativeHandle=null,this.currentNativeSource=null)},t.prototype.endDragIfSourceWasRemovedFromDOM=function(){var t=this.currentDragSourceNode;document.body.contains(t)||this.clearCurrentDragSourceNode()&&this.actions.endDrag()},t.prototype.setCurrentDragSourceNode=function(t){this.clearCurrentDragSourceNode(),this.currentDragSourceNode=t,this.currentDragSourceNodeOffset=d.getNodeClientOffset(t),this.currentDragSourceNodeOffsetChanged=!1,window.addEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)},t.prototype.clearCurrentDragSourceNode=function(){return this.currentDragSourceNode?(this.currentDragSourceNode=null,this.currentDragSourceNodeOffset=null,this.currentDragSourceNodeOffsetChanged=!1,window.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0),!0):!1},t.prototype.checkIfCurrentDragSourceRectChanged=function(){var t=this.currentDragSourceNode;return t?this.currentDragSourceNodeOffsetChanged?!0:(this.currentDragSourceNodeOffsetChanged=!c["default"](d.getNodeClientOffset(t),this.currentDragSourceNodeOffset),this.currentDragSourceNodeOffsetChanged):!1},t.prototype.handleTopDragStartCapture=function(){this.clearCurrentDragSourceNode(),this.dragStartSourceIds=[]},t.prototype.handleDragStart=function(t,e){this.dragStartSourceIds.unshift(e)},t.prototype.handleTopDragStart=function(t){var e=this,n=this.dragStartSourceIds;this.dragStartSourceIds=null;var r=d.getEventClientOffset(t);this.actions.beginDrag(n,{publishSource:!1,getSourceClientOffset:this.getSourceClientOffset,clientOffset:r});var o=t.dataTransfer,i=h.matchNativeItemType(o);if(this.monitor.isDragging()){if("function"==typeof o.setDragImage){var a=this.monitor.getSourceId(),u=this.sourceNodes[a],s=this.sourcePreviewNodes[a]||u,c=this.getCurrentSourcePreviewNodeOptions(),f=c.anchorX,l=c.anchorY,p={anchorX:f,anchorY:l},g=d.getDragPreviewOffset(u,s,r,p);o.setDragImage(s,g.x,g.y)}try{o.setData("application/json",{})}catch(v){}this.setCurrentDragSourceNode(t.target);var y=this.getCurrentSourcePreviewNodeOptions(),m=y.captureDraggingState;m?this.actions.publishDragSource():setTimeout(function(){return e.actions.publishDragSource()})}else if(i)this.beginDragNativeItem(i);else{if(!(o.types||t.target.hasAttribute&&t.target.hasAttribute("draggable")))return;t.preventDefault()}},t.prototype.handleTopDragEndCapture=function(){this.clearCurrentDragSourceNode()&&this.actions.endDrag()},t.prototype.handleTopDragEnterCapture=function(t){this.dragEnterTargetIds=[];var e=this.enterLeaveCounter.enter(t.target);if(e&&!this.monitor.isDragging()){var n=t.dataTransfer,r=h.matchNativeItemType(n);r&&this.beginDragNativeItem(r)}},t.prototype.handleDragEnter=function(t,e){this.dragEnterTargetIds.unshift(e)},t.prototype.handleTopDragEnter=function(t){var e=this,n=this.dragEnterTargetIds;if(this.dragEnterTargetIds=[],this.monitor.isDragging()){p.isFirefox()||this.actions.hover(n,{clientOffset:d.getEventClientOffset(t)});var r=n.some(function(t){return e.monitor.canDropOnTarget(t)});r&&(t.preventDefault(),t.dataTransfer.dropEffect=this.getCurrentDropEffect())}},t.prototype.handleTopDragOverCapture=function(){this.dragOverTargetIds=[]},t.prototype.handleDragOver=function(t,e){this.dragOverTargetIds.unshift(e)},t.prototype.handleTopDragOver=function(t){var e=this,n=this.dragOverTargetIds;if(this.dragOverTargetIds=[],!this.monitor.isDragging())return t.preventDefault(),void(t.dataTransfer.dropEffect="none");this.actions.hover(n,{clientOffset:d.getEventClientOffset(t)});var r=n.some(function(t){return e.monitor.canDropOnTarget(t)});r?(t.preventDefault(),t.dataTransfer.dropEffect=this.getCurrentDropEffect()):this.isDraggingNativeItem()?(t.preventDefault(),t.dataTransfer.dropEffect="none"):this.checkIfCurrentDragSourceRectChanged()&&(t.preventDefault(),t.dataTransfer.dropEffect="move")},t.prototype.handleTopDragLeaveCapture=function(t){this.isDraggingNativeItem()&&t.preventDefault();var e=this.enterLeaveCounter.leave(t.target);e&&this.isDraggingNativeItem()&&this.endDragNativeItem()},t.prototype.handleTopDropCapture=function(t){this.dropTargetIds=[],t.preventDefault(),this.isDraggingNativeItem()&&this.currentNativeSource.mutateItemByReadingDataTransfer(t.dataTransfer),this.enterLeaveCounter.reset()},t.prototype.handleDrop=function(t,e){this.dropTargetIds.unshift(e)},t.prototype.handleTopDrop=function(t){var e=this.dropTargetIds;this.dropTargetIds=[],this.actions.hover(e,{clientOffset:d.getEventClientOffset(t)}),this.actions.drop(),this.isDraggingNativeItem()?this.endDragNativeItem():this.endDragIfSourceWasRemovedFromDOM()},t.prototype.handleSelectStart=function(t){var e=t.target;"function"==typeof e.dragDrop&&("INPUT"===e.tagName||"SELECT"===e.tagName||"TEXTAREA"===e.tagName||e.isContentEditable||(t.preventDefault(),e.dragDrop()))},t}();e["default"]=y,t.exports=e["default"]},function(t,e){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}e.__esModule=!0;var r=function(){function t(e,r){n(this,t);for(var o=e.length,i=[],a=0;o>a;a++)i.push(a);i.sort(function(t,n){return e[t]a;a++)f=e[a+1]-e[a],l=r[a+1]-r[a],s.push(f),u.push(l),c.push(l/f);for(var p=[c[0]],a=0;a=d*h)p.push(0);else{f=s[a];var g=s[a+1],v=f+g;p.push(3*v/((v+g)/d+(v+f)/h))}}p.push(c[c.length-1]);for(var y=[],m=[],b=void 0,a=0;a=u;){c=Math.floor(.5*(u+s));var f=e[c];if(t>f)u=c+1;else{if(!(f>t))return n[c];s=c-1}}a=Math.max(0,s);var l=t-e[a],p=l*l;return n[a]+r[a]*l+o[a]*p+i[a]*l*p},t}();e["default"]=r,t.exports=e["default"]},function(t,e,n){"use strict";function r(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e["default"]=t,e}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function a(t,e,n){var r=e.reduce(function(e,n){return e||t.getData(n)},null);return null!=r?r:n}function u(t){var e=p[t],n=e.exposeProperty,r=e.matchesTypes,a=e.getData;return function(){function t(){o(this,t),this.item=Object.defineProperties({},i({},n,{get:function(){return console.warn("Browser doesn't allow reading \""+n+'" until the drop event.'),null},configurable:!0,enumerable:!0}))}return t.prototype.mutateItemByReadingDataTransfer=function(t){delete this.item[n],this.item[n]=a(t,r)},t.prototype.canDrag=function(){return!0},t.prototype.beginDrag=function(){return this.item},t.prototype.isDragging=function(t,e){return e===t.getSourceId()},t.prototype.endDrag=function(){},t}()}function s(t){var e=Array.prototype.slice.call(t.types||[]);return Object.keys(p).filter(function(t){var n=p[t].matchesTypes;return n.some(function(t){return e.indexOf(t)>-1})})[0]||null}e.__esModule=!0;var c;e.createNativeDragSource=u,e.matchNativeItemType=s;var f=n(32),l=r(f),p=(c={},i(c,l.FILE,{exposeProperty:"files",matchesTypes:["Files"],getData:function(t){return Array.prototype.slice.call(t.files)}}),i(c,l.URL,{exposeProperty:"urls",matchesTypes:["Url","text/uri-list"],getData:function(t,e){return a(t,e,"").split("\n")}}),i(c,l.TEXT,{exposeProperty:"text",matchesTypes:["Text","text/plain"],getData:function(t,e){return a(t,e,"")}}),c)},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t){var e=t.nodeType===f?t:t.parentElement;if(!e)return null;var n=e.getBoundingClientRect(),r=n.top,o=n.left;return{x:o,y:r}}function i(t){return{x:t.clientX,y:t.clientY}}function a(t,e,n,r){var i="IMG"===e.nodeName&&(u.isFirefox()||!document.documentElement.contains(e)),a=i?t:e,s=o(a),f={x:n.x-s.x,y:n.y-s.y},l=t.offsetWidth,p=t.offsetHeight,d=r.anchorX,h=r.anchorY,g=i?e.width:l,v=i?e.height:p;u.isSafari()&&i?(v/=window.devicePixelRatio,g/=window.devicePixelRatio):u.isFirefox()&&!i&&(v*=window.devicePixelRatio,g*=window.devicePixelRatio);var y=new c["default"]([0,.5,1],[f.x,f.x/l*g,f.x+g-l]),m=new c["default"]([0,.5,1],[f.y,f.y/p*v,f.y+v-p]),b=y.interpolate(d),D=m.interpolate(h);return u.isSafari()&&i&&(D+=(window.devicePixelRatio-1)*v),{x:b,y:D}}e.__esModule=!0,e.getNodeClientOffset=o,e.getEventClientOffset=i,e.getDragPreviewOffset=a;var u=n(51),s=n(142),c=r(s),f=1},function(t,e){"use strict";function n(){return r||(r=new Image,r.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),r}e.__esModule=!0,e["default"]=n;var r=void 0;t.exports=e["default"]},function(t,e,n){"use strict";function r(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e["default"]=t,e}function o(t){return t&&t.__esModule?t:{"default":t}}function i(t){return new u["default"](t)}e.__esModule=!0,e["default"]=i;var a=n(141),u=o(a),s=n(145),c=o(s),f=n(32),l=r(f);e.NativeTypes=l,e.getEmptyImage=c["default"]},function(t,e){"use strict";function n(t,e){if(t===e)return!0;var n=Object.keys(t),r=Object.keys(e);if(n.length!==r.length)return!1;for(var o=Object.prototype.hasOwnProperty,i=0;in)return!1;var r=t.length-1;return n==r?t.pop():a.call(t,n,1),!0}var o=n(14),i=Array.prototype,a=i.splice;t.exports=r},function(t,e,n){function r(t,e){var n=o(t,e);return 0>n?void 0:t[n][1]}var o=n(14);t.exports=r},function(t,e,n){function r(t,e){return o(t,e)>-1}var o=n(14);t.exports=r},function(t,e,n){function r(t,e,n){var r=o(t,e);0>r?t.push([e,n]):t[r][1]=n}var o=n(14);t.exports=r},function(t,e,n){function r(t,e,n,r){var l=-1,p=i,d=!0,h=t.length,g=[],v=e.length;if(!h)return g;n&&(e=u(e,s(n))),r?(p=a,d=!1):e.length>=f&&(p=c,d=!1,e=new o(e));t:for(;++l0&&n(f)?e>1?r(f,e-1,n,a,u):o(u,f):a||(u[u.length]=f)}return u}var o=n(152),i=n(178);t.exports=r},function(t,e,n){function r(t,e,n){if(e!==e)return o(t,n);for(var r=n-1,i=t.length;++r=f){var v=e?null:s(t);if(v)return c(v);d=!1,l=u,g=new o}else g=e?[]:h;t:for(;++r1?n[i-1]:void 0,u=i>2?n[2]:void 0;for(a="function"==typeof a?(i--,a):void 0,u&&o(n[0],n[1],u)&&(a=3>i?void 0:a,i=1),e=Object(e);++rt?-1:1;return e*a}var n=t%1;return t===t?n?t-n:t:0}var o=n(199),i=1/0,a=1.7976931348623157e308;t.exports=r},function(t,e,n){function r(t){if("number"==typeof t)return t;if(a(t))return u;if(i(t)){var e=o(t.valueOf)?t.valueOf():t;t=i(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(s,"");var n=f.test(t);return n||l.test(t)?p(t.slice(2),n?2:8):c.test(t)?u:+t}var o=n(36),i=n(18),a=n(194),u=NaN,s=/^\s+|\s+$/g,c=/^[-+]0x[0-9a-f]+$/i,f=/^0b[01]+$/i,l=/^0o[0-7]+$/i,p=parseInt;t.exports=r},function(t,e,n){var r=n(160),o=n(166),i=n(17),a=n(19),u=a(function(t){return o(r(t,1,i,!0))});t.exports=u},function(t,e,n){var r=n(159),o=n(17),i=n(19),a=i(function(t,e){return o(t)?r(t,e):[]});t.exports=a},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function a(t){v["default"].apply(void 0,["DragDropContext","backend"].concat(s.call(arguments)));var e=void 0;e="object"==typeof t&&"function"==typeof t["default"]?t["default"]:t,h["default"]("function"==typeof e,"Expected the backend to be a function or an ES6 module exporting a default function. Read more: http://gaearon.github.io/react-dnd/docs-drag-drop-context.html");var n={dragDropManager:new p.DragDropManager(e)};return function(t){var e=t.displayName||t.name||"Component";return function(r){function a(){o(this,a),r.apply(this,arguments)}return i(a,r),a.prototype.getDecoratedComponentInstance=function(){return this.refs.child},a.prototype.getManager=function(){return n.dragDropManager},a.prototype.getChildContext=function(){return n},a.prototype.render=function(){return l["default"].createElement(t,u({},this.props,{ref:"child"}))},c(a,null,[{key:"DecoratedComponent",value:t,enumerable:!0},{key:"displayName",value:"DragDropContext("+e+")",enumerable:!0},{key:"childContextTypes",value:{dragDropManager:f.PropTypes.object.isRequired},enumerable:!0}]),a}(f.Component)}}e.__esModule=!0;var u=Object.assign||function(t){for(var e=1;e-1,'Expected the drag source specification to only have some of the following keys: %s. Instead received a specification with an unexpected "%s" key. Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html',c.join(", "),e),u["default"]("function"==typeof t[e],"Expected %s in the drag source specification to be a function. Instead received a specification with %s: %s. Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html",e,e,t[e])}),f.forEach(function(e){u["default"]("function"==typeof t[e],"Expected %s in the drag source specification to be a function. Instead received a specification with %s: %s. Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html",e,e,t[e])});var e=function(){function e(t){o(this,e),this.monitor=t,this.props=null,this.component=null}return e.prototype.receiveProps=function(t){this.props=t},e.prototype.receiveComponent=function(t){this.component=t},e.prototype.canDrag=function(){return t.canDrag?t.canDrag(this.props,this.monitor):!0},e.prototype.isDragging=function(e,n){return t.isDragging?t.isDragging(this.props,this.monitor):n===e.getSourceId()},e.prototype.beginDrag=function(){var e=t.beginDrag(this.props,this.monitor,this.component);return e},e.prototype.endDrag=function(){t.endDrag&&t.endDrag(this.props,this.monitor,this.component)},e}();return function(t){return new e(t)}}e.__esModule=!0,e["default"]=i;var a=n(1),u=r(a),s=n(5),c=(r(s),["canDrag","beginDrag","canDrag","isDragging","endDrag"]),f=["beginDrag"];t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t){return new f(t)}e.__esModule=!0,e["default"]=i;var a=n(1),u=r(a),s=!1,c=!1,f=function(){function t(e){o(this,t),this.internalMonitor=e.getMonitor()}return t.prototype.receiveHandlerId=function(t){this.sourceId=t},t.prototype.canDrag=function(){u["default"](!s,"You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://gaearon.github.io/react-dnd/docs-drag-source-monitor.html");try{return s=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{s=!1}},t.prototype.isDragging=function(){u["default"](!c,"You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://gaearon.github.io/react-dnd/docs-drag-source-monitor.html");try{return c=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{c=!1}},t.prototype.getItemType=function(){return this.internalMonitor.getItemType()},t.prototype.getItem=function(){return this.internalMonitor.getItem()},t.prototype.getDropResult=function(){return this.internalMonitor.getDropResult()},t.prototype.didDrop=function(){return this.internalMonitor.didDrop()},t.prototype.getInitialClientOffset=function(){return this.internalMonitor.getInitialClientOffset()},t.prototype.getInitialSourceClientOffset=function(){return this.internalMonitor.getInitialSourceClientOffset()},t.prototype.getSourceClientOffset=function(){return this.internalMonitor.getSourceClientOffset()},t.prototype.getClientOffset=function(){return this.internalMonitor.getClientOffset(); +},t.prototype.getDifferenceFromInitialOffset=function(){return this.internalMonitor.getDifferenceFromInitialOffset()},t}();t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t){function e(){u&&(u(),u=null),r&&o&&(u=t.connectDropTarget(r,o,i))}function n(t){t!==r&&(r=t,e())}var r=void 0,o=void 0,i=void 0,u=void 0,c=a["default"]({dropTarget:function(t,n){t===o&&s["default"](n,i)||(o=t,i=n,e())}});return{receiveHandlerId:n,hooks:c}}e.__esModule=!0,e["default"]=o;var i=n(67),a=r(i),u=n(63),s=r(u);t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t){Object.keys(t).forEach(function(e){u["default"](c.indexOf(e)>-1,'Expected the drop target specification to only have some of the following keys: %s. Instead received a specification with an unexpected "%s" key. Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html',c.join(", "),e),u["default"]("function"==typeof t[e],"Expected %s in the drop target specification to be a function. Instead received a specification with %s: %s. Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html",e,e,t[e])});var e=function(){function e(t){o(this,e),this.monitor=t,this.props=null,this.component=null}return e.prototype.receiveProps=function(t){this.props=t},e.prototype.receiveMonitor=function(t){this.monitor=t},e.prototype.receiveComponent=function(t){this.component=t},e.prototype.canDrop=function(){return t.canDrop?t.canDrop(this.props,this.monitor):!0},e.prototype.hover=function(){t.hover&&t.hover(this.props,this.monitor,this.component)},e.prototype.drop=function(){if(t.drop){var e=t.drop(this.props,this.monitor,this.component);return e}},e}();return function(t){return new e(t)}}e.__esModule=!0,e["default"]=i;var a=n(1),u=r(a),s=n(5),c=(r(s),["canDrop","hover","drop"]);t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t){return new c(t)}e.__esModule=!0,e["default"]=i;var a=n(1),u=r(a),s=!1,c=function(){function t(e){o(this,t),this.internalMonitor=e.getMonitor()}return t.prototype.receiveHandlerId=function(t){this.targetId=t},t.prototype.canDrop=function(){u["default"](!s,"You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://gaearon.github.io/react-dnd/docs-drop-target-monitor.html");try{return s=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{s=!1}},t.prototype.isOver=function(t){return this.internalMonitor.isOverTarget(this.targetId,t)},t.prototype.getItemType=function(){return this.internalMonitor.getItemType()},t.prototype.getItem=function(){return this.internalMonitor.getItem()},t.prototype.getDropResult=function(){return this.internalMonitor.getDropResult()},t.prototype.didDrop=function(){return this.internalMonitor.didDrop()},t.prototype.getInitialClientOffset=function(){return this.internalMonitor.getInitialClientOffset()},t.prototype.getInitialSourceClientOffset=function(){return this.internalMonitor.getInitialSourceClientOffset()},t.prototype.getSourceClientOffset=function(){return this.internalMonitor.getSourceClientOffset()},t.prototype.getClientOffset=function(){return this.internalMonitor.getClientOffset()},t.prototype.getDifferenceFromInitialOffset=function(){return this.internalMonitor.getDifferenceFromInitialOffset()},t}();t.exports=e["default"]},function(t,e){"use strict";function n(t,e,n){function r(){o.removeSource(i)}var o=n.getRegistry(),i=o.addSource(t,e);return{handlerId:i,unregister:r}}e.__esModule=!0,e["default"]=n,t.exports=e["default"]},function(t,e){"use strict";function n(t,e,n){function r(){o.removeTarget(i)}var o=n.getRegistry(),i=o.addTarget(t,e);return{handlerId:i,unregister:r}}e.__esModule=!0,e["default"]=n,t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){var n=t.ref;return a["default"]("string"!=typeof n,"Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a or
. Read more: https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute"),n?u.cloneElement(t,{ref:function(t){e(t),n&&n(t)}}):u.cloneElement(t,{ref:e})}e.__esModule=!0,e["default"]=o;var i=n(1),a=r(i),u=n(2);t.exports=e["default"]},function(t,e){function n(t){return r(Object(t))}var r=Object.getPrototypeOf;t.exports=n},function(t,e){function n(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(n){}return e}t.exports=n},function(t,e){var n=Array.isArray;t.exports=n},function(t,e){function n(t){return!!t&&"object"==typeof t}t.exports=n},function(t,e,n){"use strict";function r(t){return Array.isArray(t)?t.concat():t&&"object"==typeof t?a(new t.constructor,t):t}function o(t,e,n){Array.isArray(t)?void 0:s(!1);var r=e[n];Array.isArray(r)?void 0:s(!1)}function i(t,e){if("object"!=typeof e?s(!1):void 0,c.call(e,d))return 1!==Object.keys(e).length?s(!1):void 0,e[d];var n=r(t);if(c.call(e,h)){var u=e[h];u&&"object"==typeof u?void 0:s(!1),n&&"object"==typeof n?void 0:s(!1),a(n,e[h])}c.call(e,f)&&(o(t,e,f),e[f].forEach(function(t){n.push(t)})),c.call(e,l)&&(o(t,e,l),e[l].forEach(function(t){n.unshift(t)})),c.call(e,p)&&(Array.isArray(t)?void 0:s(!1),Array.isArray(e[p])?void 0:s(!1),e[p].forEach(function(t){Array.isArray(t)?void 0:s(!1),n.splice.apply(n,t)})),c.call(e,g)&&("function"!=typeof e[g]?s(!1):void 0,n=e[g](n));for(var v in e)y.hasOwnProperty(v)&&y[v]||(n[v]=i(t[v],e[v]));return n}var a=n(139),u=n(138),s=n(137),c={}.hasOwnProperty,f=u({$push:null}),l=u({$unshift:null}),p=u({$splice:null}),d=u({$set:null}),h=u({$merge:null}),g=u({$apply:null}),v=[f,l,p,d,h,g],y={};v.forEach(function(t){y[t]=!0}),t.exports=i},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e,n){function r(){h===d&&(h=d.slice())}function i(){return p}function s(t){if("function"!=typeof t)throw new Error("Expected listener to be a function.");var e=!0;return r(),h.push(t),function(){if(e){e=!1,r();var n=h.indexOf(t);h.splice(n,1)}}}function c(t){if(!(0,a["default"])(t))throw new Error("Actions must be plain objects. Use custom middleware for async actions.");if("undefined"==typeof t.type)throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');if(g)throw new Error("Reducers may not dispatch actions.");try{g=!0,p=l(p,t)}finally{g=!1}for(var e=d=h,n=0;n false\n\t *\n\t * _.isPlainObject([1, 2, 3]);\n\t * // => false\n\t *\n\t * _.isPlainObject({ 'x': 0, 'y': 0 });\n\t * // => true\n\t *\n\t * _.isPlainObject(Object.create(null));\n\t * // => true\n\t */\n\tfunction isPlainObject(value) {\n\t if (!isObjectLike(value) ||\n\t objectToString.call(value) != objectTag || isHostObject(value)) {\n\t return false;\n\t }\n\t var proto = getPrototype(value);\n\t if (proto === null) {\n\t return true;\n\t }\n\t var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n\t return (typeof Ctor == 'function' &&\n\t Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString);\n\t}\n\t\n\tmodule.exports = isPlainObject;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(28),\n\t root = __webpack_require__(48);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar Map = getNative(root, 'Map');\n\t\n\tmodule.exports = Map;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(33),\n\t root = __webpack_require__(34);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar Map = getNative(root, 'Map');\n\t\n\tmodule.exports = Map;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.beginDrag = beginDrag;\n\texports.publishDragSource = publishDragSource;\n\texports.hover = hover;\n\texports.drop = drop;\n\texports.endDrag = endDrag;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _utilsMatchesType = __webpack_require__(44);\n\t\n\tvar _utilsMatchesType2 = _interopRequireDefault(_utilsMatchesType);\n\t\n\tvar _invariant = __webpack_require__(2);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _lodashIsArray = __webpack_require__(12);\n\t\n\tvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\t\n\tvar _lodashIsObject = __webpack_require__(13);\n\t\n\tvar _lodashIsObject2 = _interopRequireDefault(_lodashIsObject);\n\t\n\tvar BEGIN_DRAG = 'dnd-core/BEGIN_DRAG';\n\texports.BEGIN_DRAG = BEGIN_DRAG;\n\tvar PUBLISH_DRAG_SOURCE = 'dnd-core/PUBLISH_DRAG_SOURCE';\n\texports.PUBLISH_DRAG_SOURCE = PUBLISH_DRAG_SOURCE;\n\tvar HOVER = 'dnd-core/HOVER';\n\texports.HOVER = HOVER;\n\tvar DROP = 'dnd-core/DROP';\n\texports.DROP = DROP;\n\tvar END_DRAG = 'dnd-core/END_DRAG';\n\t\n\texports.END_DRAG = END_DRAG;\n\t\n\tfunction beginDrag(sourceIds) {\n\t var _ref = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\n\t var _ref$publishSource = _ref.publishSource;\n\t var publishSource = _ref$publishSource === undefined ? true : _ref$publishSource;\n\t var _ref$clientOffset = _ref.clientOffset;\n\t var clientOffset = _ref$clientOffset === undefined ? null : _ref$clientOffset;\n\t var getSourceClientOffset = _ref.getSourceClientOffset;\n\t\n\t _invariant2['default'](_lodashIsArray2['default'](sourceIds), 'Expected sourceIds to be an array.');\n\t\n\t var monitor = this.getMonitor();\n\t var registry = this.getRegistry();\n\t _invariant2['default'](!monitor.isDragging(), 'Cannot call beginDrag while dragging.');\n\t\n\t for (var i = 0; i < sourceIds.length; i++) {\n\t _invariant2['default'](registry.getSource(sourceIds[i]), 'Expected sourceIds to be registered.');\n\t }\n\t\n\t var sourceId = null;\n\t for (var i = sourceIds.length - 1; i >= 0; i--) {\n\t if (monitor.canDragSource(sourceIds[i])) {\n\t sourceId = sourceIds[i];\n\t break;\n\t }\n\t }\n\t if (sourceId === null) {\n\t return;\n\t }\n\t\n\t var sourceClientOffset = null;\n\t if (clientOffset) {\n\t _invariant2['default'](typeof getSourceClientOffset === 'function', 'When clientOffset is provided, getSourceClientOffset must be a function.');\n\t sourceClientOffset = getSourceClientOffset(sourceId);\n\t }\n\t\n\t var source = registry.getSource(sourceId);\n\t var item = source.beginDrag(monitor, sourceId);\n\t _invariant2['default'](_lodashIsObject2['default'](item), 'Item must be an object.');\n\t\n\t registry.pinSource(sourceId);\n\t\n\t var itemType = registry.getSourceType(sourceId);\n\t return {\n\t type: BEGIN_DRAG,\n\t itemType: itemType,\n\t item: item,\n\t sourceId: sourceId,\n\t clientOffset: clientOffset,\n\t sourceClientOffset: sourceClientOffset,\n\t isSourcePublic: publishSource\n\t };\n\t}\n\t\n\tfunction publishDragSource(manager) {\n\t var monitor = this.getMonitor();\n\t if (!monitor.isDragging()) {\n\t return;\n\t }\n\t\n\t return {\n\t type: PUBLISH_DRAG_SOURCE\n\t };\n\t}\n\t\n\tfunction hover(targetIds) {\n\t var _ref2 = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\n\t var _ref2$clientOffset = _ref2.clientOffset;\n\t var clientOffset = _ref2$clientOffset === undefined ? null : _ref2$clientOffset;\n\t\n\t _invariant2['default'](_lodashIsArray2['default'](targetIds), 'Expected targetIds to be an array.');\n\t targetIds = targetIds.slice(0);\n\t\n\t var monitor = this.getMonitor();\n\t var registry = this.getRegistry();\n\t _invariant2['default'](monitor.isDragging(), 'Cannot call hover while not dragging.');\n\t _invariant2['default'](!monitor.didDrop(), 'Cannot call hover after drop.');\n\t\n\t // First check invariants.\n\t for (var i = 0; i < targetIds.length; i++) {\n\t var targetId = targetIds[i];\n\t _invariant2['default'](targetIds.lastIndexOf(targetId) === i, 'Expected targetIds to be unique in the passed array.');\n\t\n\t var target = registry.getTarget(targetId);\n\t _invariant2['default'](target, 'Expected targetIds to be registered.');\n\t }\n\t\n\t var draggedItemType = monitor.getItemType();\n\t\n\t // Remove those targetIds that don't match the targetType. This\n\t // fixes shallow isOver which would only be non-shallow because of\n\t // non-matching targets.\n\t for (var i = targetIds.length - 1; i >= 0; i--) {\n\t var targetId = targetIds[i];\n\t var targetType = registry.getTargetType(targetId);\n\t if (!_utilsMatchesType2['default'](targetType, draggedItemType)) {\n\t targetIds.splice(i, 1);\n\t }\n\t }\n\t\n\t // Finally call hover on all matching targets.\n\t for (var i = 0; i < targetIds.length; i++) {\n\t var targetId = targetIds[i];\n\t var target = registry.getTarget(targetId);\n\t target.hover(monitor, targetId);\n\t }\n\t\n\t return {\n\t type: HOVER,\n\t targetIds: targetIds,\n\t clientOffset: clientOffset\n\t };\n\t}\n\t\n\tfunction drop() {\n\t var _this = this;\n\t\n\t var monitor = this.getMonitor();\n\t var registry = this.getRegistry();\n\t _invariant2['default'](monitor.isDragging(), 'Cannot call drop while not dragging.');\n\t _invariant2['default'](!monitor.didDrop(), 'Cannot call drop twice during one drag operation.');\n\t\n\t var targetIds = monitor.getTargetIds().filter(monitor.canDropOnTarget, monitor);\n\t\n\t targetIds.reverse();\n\t targetIds.forEach(function (targetId, index) {\n\t var target = registry.getTarget(targetId);\n\t\n\t var dropResult = target.drop(monitor, targetId);\n\t _invariant2['default'](typeof dropResult === 'undefined' || _lodashIsObject2['default'](dropResult), 'Drop result must either be an object or undefined.');\n\t if (typeof dropResult === 'undefined') {\n\t dropResult = index === 0 ? {} : monitor.getDropResult();\n\t }\n\t\n\t _this.store.dispatch({\n\t type: DROP,\n\t dropResult: dropResult\n\t });\n\t });\n\t}\n\t\n\tfunction endDrag() {\n\t var monitor = this.getMonitor();\n\t var registry = this.getRegistry();\n\t _invariant2['default'](monitor.isDragging(), 'Cannot call endDrag while not dragging.');\n\t\n\t var sourceId = monitor.getSourceId();\n\t var source = registry.getSource(sourceId, true);\n\t source.endDrag(monitor, sourceId);\n\t\n\t registry.unpinSource();\n\t\n\t return {\n\t type: END_DRAG\n\t };\n\t}\n\n/***/ },\n/* 9 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.addSource = addSource;\n\texports.addTarget = addTarget;\n\texports.removeSource = removeSource;\n\texports.removeTarget = removeTarget;\n\tvar ADD_SOURCE = 'dnd-core/ADD_SOURCE';\n\texports.ADD_SOURCE = ADD_SOURCE;\n\tvar ADD_TARGET = 'dnd-core/ADD_TARGET';\n\texports.ADD_TARGET = ADD_TARGET;\n\tvar REMOVE_SOURCE = 'dnd-core/REMOVE_SOURCE';\n\texports.REMOVE_SOURCE = REMOVE_SOURCE;\n\tvar REMOVE_TARGET = 'dnd-core/REMOVE_TARGET';\n\t\n\texports.REMOVE_TARGET = REMOVE_TARGET;\n\t\n\tfunction addSource(sourceId) {\n\t return {\n\t type: ADD_SOURCE,\n\t sourceId: sourceId\n\t };\n\t}\n\t\n\tfunction addTarget(targetId) {\n\t return {\n\t type: ADD_TARGET,\n\t targetId: targetId\n\t };\n\t}\n\t\n\tfunction removeSource(sourceId) {\n\t return {\n\t type: REMOVE_SOURCE,\n\t sourceId: sourceId\n\t };\n\t}\n\t\n\tfunction removeTarget(targetId) {\n\t return {\n\t type: REMOVE_TARGET,\n\t targetId: targetId\n\t };\n\t}\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar eq = __webpack_require__(128);\n\t\n\t/**\n\t * Gets the index at which the `key` is found in `array` of key-value pairs.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {*} key The key to search for.\n\t * @returns {number} Returns the index of the matched value, else `-1`.\n\t */\n\tfunction assocIndexOf(array, key) {\n\t var length = array.length;\n\t while (length--) {\n\t if (eq(array[length][0], key)) {\n\t return length;\n\t }\n\t }\n\t return -1;\n\t}\n\t\n\tmodule.exports = assocIndexOf;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(28);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar nativeCreate = getNative(Object, 'create');\n\t\n\tmodule.exports = nativeCreate;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @type {Function}\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(document.body.children);\n\t * // => false\n\t *\n\t * _.isArray('abc');\n\t * // => false\n\t *\n\t * _.isArray(_.noop);\n\t * // => false\n\t */\n\tvar isArray = Array.isArray;\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the\n\t * [language type](http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types)\n\t * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(_.noop);\n\t * // => true\n\t *\n\t * _.isObject(null);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar eq = __webpack_require__(16);\n\t\n\t/**\n\t * Gets the index at which the `key` is found in `array` of key-value pairs.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {*} key The key to search for.\n\t * @returns {number} Returns the index of the matched value, else `-1`.\n\t */\n\tfunction assocIndexOf(array, key) {\n\t var length = array.length;\n\t while (length--) {\n\t if (eq(array[length][0], key)) {\n\t return length;\n\t }\n\t }\n\t return -1;\n\t}\n\t\n\tmodule.exports = assocIndexOf;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(33);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar nativeCreate = getNative(Object, 'create');\n\t\n\tmodule.exports = nativeCreate;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Performs a\n\t * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n\t * comparison between two values to determine if they are equivalent.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t * var other = { 'user': 'fred' };\n\t *\n\t * _.eq(object, object);\n\t * // => true\n\t *\n\t * _.eq(object, other);\n\t * // => false\n\t *\n\t * _.eq('a', 'a');\n\t * // => true\n\t *\n\t * _.eq('a', Object('a'));\n\t * // => false\n\t *\n\t * _.eq(NaN, NaN);\n\t * // => true\n\t */\n\tfunction eq(value, other) {\n\t return value === other || (value !== value && other !== other);\n\t}\n\t\n\tmodule.exports = eq;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(61),\n\t isObjectLike = __webpack_require__(37);\n\t\n\t/**\n\t * This method is like `_.isArrayLike` except that it also checks if `value`\n\t * is an object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an array-like object,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArrayLikeObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArrayLikeObject(document.body.children);\n\t * // => true\n\t *\n\t * _.isArrayLikeObject('abc');\n\t * // => false\n\t *\n\t * _.isArrayLikeObject(_.noop);\n\t * // => false\n\t */\n\tfunction isArrayLikeObject(value) {\n\t return isObjectLike(value) && isArrayLike(value);\n\t}\n\t\n\tmodule.exports = isArrayLikeObject;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the\n\t * [language type](http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types)\n\t * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(_.noop);\n\t * // => true\n\t *\n\t * _.isObject(null);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar apply = __webpack_require__(54),\n\t toInteger = __webpack_require__(199);\n\t\n\t/** Used as the `TypeError` message for \"Functions\" methods. */\n\tvar FUNC_ERROR_TEXT = 'Expected a function';\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeMax = Math.max;\n\t\n\t/**\n\t * Creates a function that invokes `func` with the `this` binding of the\n\t * created function and arguments from `start` and beyond provided as\n\t * an array.\n\t *\n\t * **Note:** This method is based on the\n\t * [rest parameter](https://mdn.io/rest_parameters).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Function\n\t * @param {Function} func The function to apply a rest parameter to.\n\t * @param {number} [start=func.length-1] The start position of the rest parameter.\n\t * @returns {Function} Returns the new function.\n\t * @example\n\t *\n\t * var say = _.rest(function(what, names) {\n\t * return what + ' ' + _.initial(names).join(', ') +\n\t * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n\t * });\n\t *\n\t * say('hello', 'fred', 'barney', 'pebbles');\n\t * // => 'hello fred, barney, & pebbles'\n\t */\n\tfunction rest(func, start) {\n\t if (typeof func != 'function') {\n\t throw new TypeError(FUNC_ERROR_TEXT);\n\t }\n\t start = nativeMax(start === undefined ? (func.length - 1) : toInteger(start), 0);\n\t return function() {\n\t var args = arguments,\n\t index = -1,\n\t length = nativeMax(args.length - start, 0),\n\t array = Array(length);\n\t\n\t while (++index < length) {\n\t array[index] = args[start + index];\n\t }\n\t switch (start) {\n\t case 0: return func.call(this, array);\n\t case 1: return func.call(this, args[0], array);\n\t case 2: return func.call(this, args[0], args[1], array);\n\t }\n\t var otherArgs = Array(start + 1);\n\t index = -1;\n\t while (++index < start) {\n\t otherArgs[index] = args[index];\n\t }\n\t otherArgs[start] = array;\n\t return apply(func, this, otherArgs);\n\t };\n\t}\n\t\n\tmodule.exports = rest;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = checkDecoratorArguments;\n\t\n\tfunction checkDecoratorArguments(functionName, signature) {\n\t if (false) {\n\t for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n\t args[_key - 2] = arguments[_key];\n\t }\n\t\n\t for (var i = 0; i < args.length; i++) {\n\t var arg = args[i];\n\t if (arg && arg.prototype && arg.prototype.render) {\n\t console.error( // eslint-disable-line no-console\n\t 'You seem to be applying the arguments in the wrong order. ' + ('It should be ' + functionName + '(' + signature + ')(Component), not the other way around. ') + 'Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#you-seem-to-be-applying-the-arguments-in-the-wrong-order');\n\t return;\n\t }\n\t }\n\t }\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.addWidget = addWidget;\n\texports.removeWidget = removeWidget;\n\texports.moveWidget = moveWidget;\n\texports.sortWidget = sortWidget;\n\t\n\tvar _update = __webpack_require__(220);\n\t\n\tvar _update2 = _interopRequireDefault(_update);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _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; }\n\t\n\t/**\r\n\t * Adds the specified widget to the specified position in the layout.\r\n\t */\n\tfunction addWidget(layout, rowIndex, columnIndex, widgetName) {\n\t return (0, _update2.default)(layout, {\n\t rows: _defineProperty({}, rowIndex, {\n\t columns: _defineProperty({}, columnIndex, {\n\t widgets: {\n\t $push: [{\n\t key: widgetName\n\t }]\n\t }\n\t })\n\t })\n\t });\n\t}\n\t\n\t/**\r\n\t * Removes the widget at a specified index.\r\n\t */\n\tfunction removeWidget(layout, rowIndex, columnIndex, widgetIndex) {\n\t return (0, _update2.default)(layout, {\n\t rows: _defineProperty({}, rowIndex, {\n\t columns: _defineProperty({}, columnIndex, {\n\t widgets: {\n\t $splice: [[widgetIndex, 1]]\n\t }\n\t })\n\t })\n\t });\n\t}\n\t\n\t/**\r\n\t * Moves a widget from column to column.\r\n\t */\n\tfunction moveWidget(layout, initialLocation, destination, widgetName) {\n\t var removedLayout = removeWidget(layout, initialLocation.rowIndex, initialLocation.columnIndex, initialLocation.widgetIndex);\n\t var movedLayout = addWidget(removedLayout, destination.rowIndex, destination.columnIndex, widgetName);\n\t return movedLayout;\n\t}\n\t\n\t/**\r\n\t * Sorts a widget in the same column.\r\n\t */\n\tfunction sortWidget(layout, initialLocation, destination, widgetName) {\n\t return (0, _update2.default)(layout, {\n\t rows: _defineProperty({}, initialLocation.rowIndex, {\n\t columns: _defineProperty({}, initialLocation.columnIndex, {\n\t widgets: {\n\t $splice: [[initialLocation.widgetIndex, 1], [destination.widgetIndex, 0, {\n\t key: widgetName\n\t }]]\n\t }\n\t })\n\t })\n\t });\n\t}\n\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"index.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 22 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = isDisposable;\n\t\n\tfunction isDisposable(obj) {\n\t return Boolean(obj && typeof obj.dispose === 'function');\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 23 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar MapCache = __webpack_require__(97),\n\t cachePush = __webpack_require__(111);\n\t\n\t/**\n\t *\n\t * Creates a set cache object to store unique values.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [values] The values to cache.\n\t */\n\tfunction SetCache(values) {\n\t var index = -1,\n\t length = values ? values.length : 0;\n\t\n\t this.__data__ = new MapCache;\n\t while (++index < length) {\n\t this.push(values[index]);\n\t }\n\t}\n\t\n\t// Add methods to `SetCache`.\n\tSetCache.prototype.push = cachePush;\n\t\n\tmodule.exports = SetCache;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIndexOf = __webpack_require__(106);\n\t\n\t/**\n\t * A specialized version of `_.includes` for arrays without support for\n\t * specifying an index to search from.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {*} target The value to search for.\n\t * @returns {boolean} Returns `true` if `target` is found, else `false`.\n\t */\n\tfunction arrayIncludes(array, value) {\n\t return !!array.length && baseIndexOf(array, value, 0) > -1;\n\t}\n\t\n\tmodule.exports = arrayIncludes;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This function is like `arrayIncludes` except that it accepts a comparator.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {*} target The value to search for.\n\t * @param {Function} comparator The comparator invoked per element.\n\t * @returns {boolean} Returns `true` if `target` is found, else `false`.\n\t */\n\tfunction arrayIncludesWith(array, value, comparator) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (comparator(value, array[index])) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arrayIncludesWith;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.map` for arrays without support for iteratee\n\t * shorthands.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns the new mapped array.\n\t */\n\tfunction arrayMap(array, iteratee) {\n\t var index = -1,\n\t length = array.length,\n\t result = Array(length);\n\t\n\t while (++index < length) {\n\t result[index] = iteratee(array[index], index, array);\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = arrayMap;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isKeyable = __webpack_require__(3);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/**\n\t * Checks if `value` is in `cache`.\n\t *\n\t * @private\n\t * @param {Object} cache The set cache to search.\n\t * @param {*} value The value to search for.\n\t * @returns {number} Returns `true` if `value` is found, else `false`.\n\t */\n\tfunction cacheHas(cache, value) {\n\t var map = cache.__data__;\n\t if (isKeyable(value)) {\n\t var data = map.__data__,\n\t hash = typeof value == 'string' ? data.string : data.hash;\n\t\n\t return hash[value] === HASH_UNDEFINED;\n\t }\n\t return map.has(value);\n\t}\n\t\n\tmodule.exports = cacheHas;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(132);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(130),\n\t isObjectLike = __webpack_require__(49);\n\t\n\t/**\n\t * This method is like `_.isArrayLike` except that it also checks if `value`\n\t * is an object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an array-like object,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArrayLikeObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArrayLikeObject(document.body.children);\n\t * // => true\n\t *\n\t * _.isArrayLikeObject('abc');\n\t * // => false\n\t *\n\t * _.isArrayLikeObject(_.noop);\n\t * // => false\n\t */\n\tfunction isArrayLikeObject(value) {\n\t return isObjectLike(value) && isArrayLike(value);\n\t}\n\t\n\tmodule.exports = isArrayLikeObject;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(13);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]',\n\t genTag = '[object GeneratorFunction]';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in Safari 8 which returns 'object' for typed array and weak map constructors,\n\t // and PhantomJS 1.9 which returns 'function' for `NodeList` instances.\n\t var tag = isObject(value) ? objectToString.call(value) : '';\n\t return tag == funcTag || tag == genTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar apply = __webpack_require__(99),\n\t toInteger = __webpack_require__(134);\n\t\n\t/** Used as the `TypeError` message for \"Functions\" methods. */\n\tvar FUNC_ERROR_TEXT = 'Expected a function';\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeMax = Math.max;\n\t\n\t/**\n\t * Creates a function that invokes `func` with the `this` binding of the\n\t * created function and arguments from `start` and beyond provided as\n\t * an array.\n\t *\n\t * **Note:** This method is based on the\n\t * [rest parameter](https://mdn.io/rest_parameters).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Function\n\t * @param {Function} func The function to apply a rest parameter to.\n\t * @param {number} [start=func.length-1] The start position of the rest parameter.\n\t * @returns {Function} Returns the new function.\n\t * @example\n\t *\n\t * var say = _.rest(function(what, names) {\n\t * return what + ' ' + _.initial(names).join(', ') +\n\t * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n\t * });\n\t *\n\t * say('hello', 'fred', 'barney', 'pebbles');\n\t * // => 'hello fred, barney, & pebbles'\n\t */\n\tfunction rest(func, start) {\n\t if (typeof func != 'function') {\n\t throw new TypeError(FUNC_ERROR_TEXT);\n\t }\n\t start = nativeMax(start === undefined ? (func.length - 1) : toInteger(start), 0);\n\t return function() {\n\t var args = arguments,\n\t index = -1,\n\t length = nativeMax(args.length - start, 0),\n\t array = Array(length);\n\t\n\t while (++index < length) {\n\t array[index] = args[start + index];\n\t }\n\t switch (start) {\n\t case 0: return func.call(this, array);\n\t case 1: return func.call(this, args[0], array);\n\t case 2: return func.call(this, args[0], args[1], array);\n\t }\n\t var otherArgs = Array(start + 1);\n\t index = -1;\n\t while (++index < start) {\n\t otherArgs[index] = args[index];\n\t }\n\t otherArgs[start] = array;\n\t return apply(func, this, otherArgs);\n\t };\n\t}\n\t\n\tmodule.exports = rest;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\tvar FILE = '__NATIVE_FILE__';\n\texports.FILE = FILE;\n\tvar URL = '__NATIVE_URL__';\n\texports.URL = URL;\n\tvar TEXT = '__NATIVE_TEXT__';\n\texports.TEXT = TEXT;\n\n/***/ },\n/* 33 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(193);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(module) {var checkGlobal = __webpack_require__(169);\n\t\n\t/** Used to determine if values are of the language type `Object`. */\n\tvar objectTypes = {\n\t 'function': true,\n\t 'object': true\n\t};\n\t\n\t/** Detect free variable `exports`. */\n\tvar freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType)\n\t ? exports\n\t : undefined;\n\t\n\t/** Detect free variable `module`. */\n\tvar freeModule = (objectTypes[typeof module] && module && !module.nodeType)\n\t ? module\n\t : undefined;\n\t\n\t/** Detect free variable `global` from Node.js. */\n\tvar freeGlobal = checkGlobal(freeExports && freeModule && typeof global == 'object' && global);\n\t\n\t/** Detect free variable `self`. */\n\tvar freeSelf = checkGlobal(objectTypes[typeof self] && self);\n\t\n\t/** Detect free variable `window`. */\n\tvar freeWindow = checkGlobal(objectTypes[typeof window] && window);\n\t\n\t/** Detect `this` as the global object. */\n\tvar thisGlobal = checkGlobal(objectTypes[typeof this] && this);\n\t\n\t/**\n\t * Used as a reference to the global object.\n\t *\n\t * The `this` value is used if it's the global object to avoid Greasemonkey's\n\t * restricted `window` object, otherwise the `window` object is used.\n\t */\n\tvar root = freeGlobal ||\n\t ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) ||\n\t freeSelf || thisGlobal || Function('return this')();\n\t\n\tmodule.exports = root;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(68)(module)))\n\n/***/ },\n/* 35 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @type {Function}\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(document.body.children);\n\t * // => false\n\t *\n\t * _.isArray('abc');\n\t * // => false\n\t *\n\t * _.isArray(_.noop);\n\t * // => false\n\t */\n\tvar isArray = Array.isArray;\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(18);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]',\n\t genTag = '[object GeneratorFunction]';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in Safari 8 which returns 'object' for typed array and weak map constructors,\n\t // and PhantomJS 1.9 which returns 'function' for `NodeList` instances.\n\t var tag = isObject(value) ? objectToString.call(value) : '';\n\t return tag == funcTag || tag == genTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like. A value is object-like if it's not `null`\n\t * and has a `typeof` result of \"object\".\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t * @example\n\t *\n\t * _.isObjectLike({});\n\t * // => true\n\t *\n\t * _.isObjectLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObjectLike(_.noop);\n\t * // => false\n\t *\n\t * _.isObjectLike(null);\n\t * // => false\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequire(obj) { return obj && obj.__esModule ? obj['default'] : obj; }\n\t\n\tvar _DragDropContext = __webpack_require__(203);\n\t\n\texports.DragDropContext = _interopRequire(_DragDropContext);\n\t\n\tvar _DragLayer = __webpack_require__(204);\n\t\n\texports.DragLayer = _interopRequire(_DragLayer);\n\t\n\tvar _DragSource = __webpack_require__(205);\n\t\n\texports.DragSource = _interopRequire(_DragSource);\n\t\n\tvar _DropTarget = __webpack_require__(206);\n\t\n\texports.DropTarget = _interopRequire(_DropTarget);\n\n/***/ },\n/* 39 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = shallowEqual;\n\t\n\tfunction shallowEqual(objA, objB) {\n\t if (objA === objB) {\n\t return true;\n\t }\n\t\n\t var keysA = Object.keys(objA);\n\t var keysB = Object.keys(objB);\n\t\n\t if (keysA.length !== keysB.length) {\n\t return false;\n\t }\n\t\n\t // Test for A's keys different from B.\n\t var hasOwn = Object.prototype.hasOwnProperty;\n\t for (var i = 0; i < keysA.length; i++) {\n\t if (!hasOwn.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n\t return false;\n\t }\n\t\n\t var valA = objA[keysA[i]];\n\t var valB = objB[keysA[i]];\n\t\n\t if (valA !== valB) {\n\t return false;\n\t }\n\t }\n\t\n\t return true;\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 40 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\tvar WIDGET = exports.WIDGET = 'WIDGET';\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"ItemTypes.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 41 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tfunction _typeof(obj) { return obj && obj.constructor === Symbol ? 'symbol' : typeof obj; }\n\t\n\tvar _invariant = __webpack_require__(2);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _lodashIsArray = __webpack_require__(12);\n\t\n\tvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\t\n\tvar _utilsGetNextUniqueId = __webpack_require__(95);\n\t\n\tvar _utilsGetNextUniqueId2 = _interopRequireDefault(_utilsGetNextUniqueId);\n\t\n\tvar _actionsRegistry = __webpack_require__(9);\n\t\n\tvar _asap = __webpack_require__(79);\n\t\n\tvar _asap2 = _interopRequireDefault(_asap);\n\t\n\tvar HandlerRoles = {\n\t SOURCE: 'SOURCE',\n\t TARGET: 'TARGET'\n\t};\n\t\n\tfunction validateSourceContract(source) {\n\t _invariant2['default'](typeof source.canDrag === 'function', 'Expected canDrag to be a function.');\n\t _invariant2['default'](typeof source.beginDrag === 'function', 'Expected beginDrag to be a function.');\n\t _invariant2['default'](typeof source.endDrag === 'function', 'Expected endDrag to be a function.');\n\t}\n\t\n\tfunction validateTargetContract(target) {\n\t _invariant2['default'](typeof target.canDrop === 'function', 'Expected canDrop to be a function.');\n\t _invariant2['default'](typeof target.hover === 'function', 'Expected hover to be a function.');\n\t _invariant2['default'](typeof target.drop === 'function', 'Expected beginDrag to be a function.');\n\t}\n\t\n\tfunction validateType(type, allowArray) {\n\t if (allowArray && _lodashIsArray2['default'](type)) {\n\t type.forEach(function (t) {\n\t return validateType(t, false);\n\t });\n\t return;\n\t }\n\t\n\t _invariant2['default'](typeof type === 'string' || (typeof type === 'undefined' ? 'undefined' : _typeof(type)) === 'symbol', allowArray ? 'Type can only be a string, a symbol, or an array of either.' : 'Type can only be a string or a symbol.');\n\t}\n\t\n\tfunction getNextHandlerId(role) {\n\t var id = _utilsGetNextUniqueId2['default']().toString();\n\t switch (role) {\n\t case HandlerRoles.SOURCE:\n\t return 'S' + id;\n\t case HandlerRoles.TARGET:\n\t return 'T' + id;\n\t default:\n\t _invariant2['default'](false, 'Unknown role: ' + role);\n\t }\n\t}\n\t\n\tfunction parseRoleFromHandlerId(handlerId) {\n\t switch (handlerId[0]) {\n\t case 'S':\n\t return HandlerRoles.SOURCE;\n\t case 'T':\n\t return HandlerRoles.TARGET;\n\t default:\n\t _invariant2['default'](false, 'Cannot parse handler ID: ' + handlerId);\n\t }\n\t}\n\t\n\tvar HandlerRegistry = (function () {\n\t function HandlerRegistry(store) {\n\t _classCallCheck(this, HandlerRegistry);\n\t\n\t this.store = store;\n\t\n\t this.types = {};\n\t this.handlers = {};\n\t\n\t this.pinnedSourceId = null;\n\t this.pinnedSource = null;\n\t }\n\t\n\t HandlerRegistry.prototype.addSource = function addSource(type, source) {\n\t validateType(type);\n\t validateSourceContract(source);\n\t\n\t var sourceId = this.addHandler(HandlerRoles.SOURCE, type, source);\n\t this.store.dispatch(_actionsRegistry.addSource(sourceId));\n\t return sourceId;\n\t };\n\t\n\t HandlerRegistry.prototype.addTarget = function addTarget(type, target) {\n\t validateType(type, true);\n\t validateTargetContract(target);\n\t\n\t var targetId = this.addHandler(HandlerRoles.TARGET, type, target);\n\t this.store.dispatch(_actionsRegistry.addTarget(targetId));\n\t return targetId;\n\t };\n\t\n\t HandlerRegistry.prototype.addHandler = function addHandler(role, type, handler) {\n\t var id = getNextHandlerId(role);\n\t this.types[id] = type;\n\t this.handlers[id] = handler;\n\t\n\t return id;\n\t };\n\t\n\t HandlerRegistry.prototype.containsHandler = function containsHandler(handler) {\n\t var _this = this;\n\t\n\t return Object.keys(this.handlers).some(function (key) {\n\t return _this.handlers[key] === handler;\n\t });\n\t };\n\t\n\t HandlerRegistry.prototype.getSource = function getSource(sourceId, includePinned) {\n\t _invariant2['default'](this.isSourceId(sourceId), 'Expected a valid source ID.');\n\t\n\t var isPinned = includePinned && sourceId === this.pinnedSourceId;\n\t var source = isPinned ? this.pinnedSource : this.handlers[sourceId];\n\t\n\t return source;\n\t };\n\t\n\t HandlerRegistry.prototype.getTarget = function getTarget(targetId) {\n\t _invariant2['default'](this.isTargetId(targetId), 'Expected a valid target ID.');\n\t return this.handlers[targetId];\n\t };\n\t\n\t HandlerRegistry.prototype.getSourceType = function getSourceType(sourceId) {\n\t _invariant2['default'](this.isSourceId(sourceId), 'Expected a valid source ID.');\n\t return this.types[sourceId];\n\t };\n\t\n\t HandlerRegistry.prototype.getTargetType = function getTargetType(targetId) {\n\t _invariant2['default'](this.isTargetId(targetId), 'Expected a valid target ID.');\n\t return this.types[targetId];\n\t };\n\t\n\t HandlerRegistry.prototype.isSourceId = function isSourceId(handlerId) {\n\t var role = parseRoleFromHandlerId(handlerId);\n\t return role === HandlerRoles.SOURCE;\n\t };\n\t\n\t HandlerRegistry.prototype.isTargetId = function isTargetId(handlerId) {\n\t var role = parseRoleFromHandlerId(handlerId);\n\t return role === HandlerRoles.TARGET;\n\t };\n\t\n\t HandlerRegistry.prototype.removeSource = function removeSource(sourceId) {\n\t var _this2 = this;\n\t\n\t _invariant2['default'](this.getSource(sourceId), 'Expected an existing source.');\n\t this.store.dispatch(_actionsRegistry.removeSource(sourceId));\n\t\n\t _asap2['default'](function () {\n\t delete _this2.handlers[sourceId];\n\t delete _this2.types[sourceId];\n\t });\n\t };\n\t\n\t HandlerRegistry.prototype.removeTarget = function removeTarget(targetId) {\n\t var _this3 = this;\n\t\n\t _invariant2['default'](this.getTarget(targetId), 'Expected an existing target.');\n\t this.store.dispatch(_actionsRegistry.removeTarget(targetId));\n\t\n\t _asap2['default'](function () {\n\t delete _this3.handlers[targetId];\n\t delete _this3.types[targetId];\n\t });\n\t };\n\t\n\t HandlerRegistry.prototype.pinSource = function pinSource(sourceId) {\n\t var source = this.getSource(sourceId);\n\t _invariant2['default'](source, 'Expected an existing source.');\n\t\n\t this.pinnedSourceId = sourceId;\n\t this.pinnedSource = source;\n\t };\n\t\n\t HandlerRegistry.prototype.unpinSource = function unpinSource() {\n\t _invariant2['default'](this.pinnedSource, 'No source is pinned at the time.');\n\t\n\t this.pinnedSourceId = null;\n\t this.pinnedSource = null;\n\t };\n\t\n\t return HandlerRegistry;\n\t})();\n\t\n\texports['default'] = HandlerRegistry;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = dirtyHandlerIds;\n\texports.areDirty = areDirty;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _lodashXor = __webpack_require__(137);\n\t\n\tvar _lodashXor2 = _interopRequireDefault(_lodashXor);\n\t\n\tvar _lodashIntersection = __webpack_require__(129);\n\t\n\tvar _lodashIntersection2 = _interopRequireDefault(_lodashIntersection);\n\t\n\tvar _actionsDragDrop = __webpack_require__(8);\n\t\n\tvar _actionsRegistry = __webpack_require__(9);\n\t\n\tvar NONE = [];\n\tvar ALL = [];\n\t\n\tfunction dirtyHandlerIds(state, action, dragOperation) {\n\t if (state === undefined) state = NONE;\n\t\n\t switch (action.type) {\n\t case _actionsDragDrop.HOVER:\n\t break;\n\t case _actionsRegistry.ADD_SOURCE:\n\t case _actionsRegistry.ADD_TARGET:\n\t case _actionsRegistry.REMOVE_TARGET:\n\t case _actionsRegistry.REMOVE_SOURCE:\n\t return NONE;\n\t case _actionsDragDrop.BEGIN_DRAG:\n\t case _actionsDragDrop.PUBLISH_DRAG_SOURCE:\n\t case _actionsDragDrop.END_DRAG:\n\t case _actionsDragDrop.DROP:\n\t default:\n\t return ALL;\n\t }\n\t\n\t var targetIds = action.targetIds;\n\t var prevTargetIds = dragOperation.targetIds;\n\t\n\t var dirtyHandlerIds = _lodashXor2['default'](targetIds, prevTargetIds);\n\t\n\t var didChange = false;\n\t if (dirtyHandlerIds.length === 0) {\n\t for (var i = 0; i < targetIds.length; i++) {\n\t if (targetIds[i] !== prevTargetIds[i]) {\n\t didChange = true;\n\t break;\n\t }\n\t }\n\t } else {\n\t didChange = true;\n\t }\n\t\n\t if (!didChange) {\n\t return NONE;\n\t }\n\t\n\t var prevInnermostTargetId = prevTargetIds[prevTargetIds.length - 1];\n\t var innermostTargetId = targetIds[targetIds.length - 1];\n\t\n\t if (prevInnermostTargetId !== innermostTargetId) {\n\t if (prevInnermostTargetId) {\n\t dirtyHandlerIds.push(prevInnermostTargetId);\n\t }\n\t if (innermostTargetId) {\n\t dirtyHandlerIds.push(innermostTargetId);\n\t }\n\t }\n\t\n\t return dirtyHandlerIds;\n\t}\n\t\n\tfunction areDirty(state, handlerIds) {\n\t if (state === NONE) {\n\t return false;\n\t }\n\t\n\t if (state === ALL || typeof handlerIds === 'undefined') {\n\t return true;\n\t }\n\t\n\t return _lodashIntersection2['default'](handlerIds, state).length > 0;\n\t}\n\n/***/ },\n/* 43 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _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; };\n\t\n\texports['default'] = dragOffset;\n\texports.getSourceClientOffset = getSourceClientOffset;\n\texports.getDifferenceFromInitialOffset = getDifferenceFromInitialOffset;\n\t\n\tvar _actionsDragDrop = __webpack_require__(8);\n\t\n\tvar initialState = {\n\t initialSourceClientOffset: null,\n\t initialClientOffset: null,\n\t clientOffset: null\n\t};\n\t\n\tfunction areOffsetsEqual(offsetA, offsetB) {\n\t if (offsetA === offsetB) {\n\t return true;\n\t }\n\t return offsetA && offsetB && offsetA.x === offsetB.x && offsetA.y === offsetB.y;\n\t}\n\t\n\tfunction dragOffset(state, action) {\n\t if (state === undefined) state = initialState;\n\t\n\t switch (action.type) {\n\t case _actionsDragDrop.BEGIN_DRAG:\n\t return {\n\t initialSourceClientOffset: action.sourceClientOffset,\n\t initialClientOffset: action.clientOffset,\n\t clientOffset: action.clientOffset\n\t };\n\t case _actionsDragDrop.HOVER:\n\t if (areOffsetsEqual(state.clientOffset, action.clientOffset)) {\n\t return state;\n\t }\n\t return _extends({}, state, {\n\t clientOffset: action.clientOffset\n\t });\n\t case _actionsDragDrop.END_DRAG:\n\t case _actionsDragDrop.DROP:\n\t return initialState;\n\t default:\n\t return state;\n\t }\n\t}\n\t\n\tfunction getSourceClientOffset(state) {\n\t var clientOffset = state.clientOffset;\n\t var initialClientOffset = state.initialClientOffset;\n\t var initialSourceClientOffset = state.initialSourceClientOffset;\n\t\n\t if (!clientOffset || !initialClientOffset || !initialSourceClientOffset) {\n\t return null;\n\t }\n\t return {\n\t x: clientOffset.x + initialSourceClientOffset.x - initialClientOffset.x,\n\t y: clientOffset.y + initialSourceClientOffset.y - initialClientOffset.y\n\t };\n\t}\n\t\n\tfunction getDifferenceFromInitialOffset(state) {\n\t var clientOffset = state.clientOffset;\n\t var initialClientOffset = state.initialClientOffset;\n\t\n\t if (!clientOffset || !initialClientOffset) {\n\t return null;\n\t }\n\t return {\n\t x: clientOffset.x - initialClientOffset.x,\n\t y: clientOffset.y - initialClientOffset.y\n\t };\n\t}\n\n/***/ },\n/* 44 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = matchesType;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _lodashIsArray = __webpack_require__(12);\n\t\n\tvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\t\n\tfunction matchesType(targetType, draggedItemType) {\n\t if (_lodashIsArray2['default'](targetType)) {\n\t return targetType.some(function (t) {\n\t return t === draggedItemType;\n\t });\n\t } else {\n\t return targetType === draggedItemType;\n\t }\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 45 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar SetCache = __webpack_require__(23),\n\t arrayIncludes = __webpack_require__(24),\n\t arrayIncludesWith = __webpack_require__(25),\n\t arrayMap = __webpack_require__(26),\n\t baseUnary = __webpack_require__(46),\n\t cacheHas = __webpack_require__(27);\n\t\n\t/** Used as the size to enable large array optimizations. */\n\tvar LARGE_ARRAY_SIZE = 200;\n\t\n\t/**\n\t * The base implementation of methods like `_.difference` without support\n\t * for excluding multiple arrays or iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} array The array to inspect.\n\t * @param {Array} values The values to exclude.\n\t * @param {Function} [iteratee] The iteratee invoked per element.\n\t * @param {Function} [comparator] The comparator invoked per element.\n\t * @returns {Array} Returns the new array of filtered values.\n\t */\n\tfunction baseDifference(array, values, iteratee, comparator) {\n\t var index = -1,\n\t includes = arrayIncludes,\n\t isCommon = true,\n\t length = array.length,\n\t result = [],\n\t valuesLength = values.length;\n\t\n\t if (!length) {\n\t return result;\n\t }\n\t if (iteratee) {\n\t values = arrayMap(values, baseUnary(iteratee));\n\t }\n\t if (comparator) {\n\t includes = arrayIncludesWith;\n\t isCommon = false;\n\t }\n\t else if (values.length >= LARGE_ARRAY_SIZE) {\n\t includes = cacheHas;\n\t isCommon = false;\n\t values = new SetCache(values);\n\t }\n\t outer:\n\t while (++index < length) {\n\t var value = array[index],\n\t computed = iteratee ? iteratee(value) : value;\n\t\n\t if (isCommon && computed === computed) {\n\t var valuesIndex = valuesLength;\n\t while (valuesIndex--) {\n\t if (values[valuesIndex] === computed) {\n\t continue outer;\n\t }\n\t }\n\t result.push(value);\n\t }\n\t else if (!includes(values, computed, comparator)) {\n\t result.push(value);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseDifference;\n\n\n/***/ },\n/* 46 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.unary` without support for storing wrapper metadata.\n\t *\n\t * @private\n\t * @param {Function} func The function to cap arguments for.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseUnary(func) {\n\t return function(value) {\n\t return func(value);\n\t };\n\t}\n\t\n\tmodule.exports = baseUnary;\n\n\n/***/ },\n/* 47 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(11);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Checks if a hash value for `key` exists.\n\t *\n\t * @private\n\t * @param {Object} hash The hash to query.\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction hashHas(hash, key) {\n\t return nativeCreate ? hash[key] !== undefined : hasOwnProperty.call(hash, key);\n\t}\n\t\n\tmodule.exports = hashHas;\n\n\n/***/ },\n/* 48 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(module) {var checkGlobal = __webpack_require__(113);\n\t\n\t/** Used to determine if values are of the language type `Object`. */\n\tvar objectTypes = {\n\t 'function': true,\n\t 'object': true\n\t};\n\t\n\t/** Detect free variable `exports`. */\n\tvar freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType)\n\t ? exports\n\t : undefined;\n\t\n\t/** Detect free variable `module`. */\n\tvar freeModule = (objectTypes[typeof module] && module && !module.nodeType)\n\t ? module\n\t : undefined;\n\t\n\t/** Detect free variable `global` from Node.js. */\n\tvar freeGlobal = checkGlobal(freeExports && freeModule && typeof global == 'object' && global);\n\t\n\t/** Detect free variable `self`. */\n\tvar freeSelf = checkGlobal(objectTypes[typeof self] && self);\n\t\n\t/** Detect free variable `window`. */\n\tvar freeWindow = checkGlobal(objectTypes[typeof window] && window);\n\t\n\t/** Detect `this` as the global object. */\n\tvar thisGlobal = checkGlobal(objectTypes[typeof this] && this);\n\t\n\t/**\n\t * Used as a reference to the global object.\n\t *\n\t * The `this` value is used if it's the global object to avoid Greasemonkey's\n\t * restricted `window` object, otherwise the `window` object is used.\n\t */\n\tvar root = freeGlobal ||\n\t ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) ||\n\t freeSelf || thisGlobal || Function('return this')();\n\t\n\tmodule.exports = root;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(68)(module)))\n\n/***/ },\n/* 49 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like. A value is object-like if it's not `null`\n\t * and has a `typeof` result of \"object\".\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t * @example\n\t *\n\t * _.isObjectLike({});\n\t * // => true\n\t *\n\t * _.isObjectLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObjectLike(_.noop);\n\t * // => false\n\t *\n\t * _.isObjectLike(null);\n\t * // => false\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 50 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A no-operation function that returns `undefined` regardless of the\n\t * arguments it receives.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 2.3.0\n\t * @category Util\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.noop(object) === undefined;\n\t * // => true\n\t */\n\tfunction noop() {\n\t // No operation performed.\n\t}\n\t\n\tmodule.exports = noop;\n\n\n/***/ },\n/* 51 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _lodashMemoize = __webpack_require__(197);\n\t\n\tvar _lodashMemoize2 = _interopRequireDefault(_lodashMemoize);\n\t\n\tvar isFirefox = _lodashMemoize2['default'](function () {\n\t return (/firefox/i.test(navigator.userAgent)\n\t );\n\t});\n\t\n\texports.isFirefox = isFirefox;\n\tvar isSafari = _lodashMemoize2['default'](function () {\n\t return Boolean(window.safari);\n\t});\n\texports.isSafari = isSafari;\n\n/***/ },\n/* 52 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar mapClear = __webpack_require__(184),\n\t mapDelete = __webpack_require__(185),\n\t mapGet = __webpack_require__(186),\n\t mapHas = __webpack_require__(187),\n\t mapSet = __webpack_require__(188);\n\t\n\t/**\n\t * Creates a map cache object to store key-value pairs.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [values] The values to cache.\n\t */\n\tfunction MapCache(values) {\n\t var index = -1,\n\t length = values ? values.length : 0;\n\t\n\t this.clear();\n\t while (++index < length) {\n\t var entry = values[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\t\n\t// Add methods to `MapCache`.\n\tMapCache.prototype.clear = mapClear;\n\tMapCache.prototype['delete'] = mapDelete;\n\tMapCache.prototype.get = mapGet;\n\tMapCache.prototype.has = mapHas;\n\tMapCache.prototype.set = mapSet;\n\t\n\tmodule.exports = MapCache;\n\n\n/***/ },\n/* 53 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar MapCache = __webpack_require__(52),\n\t cachePush = __webpack_require__(168);\n\t\n\t/**\n\t *\n\t * Creates a set cache object to store unique values.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [values] The values to cache.\n\t */\n\tfunction SetCache(values) {\n\t var index = -1,\n\t length = values ? values.length : 0;\n\t\n\t this.__data__ = new MapCache;\n\t while (++index < length) {\n\t this.push(values[index]);\n\t }\n\t}\n\t\n\t// Add methods to `SetCache`.\n\tSetCache.prototype.push = cachePush;\n\t\n\tmodule.exports = SetCache;\n\n\n/***/ },\n/* 54 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A faster alternative to `Function#apply`, this function invokes `func`\n\t * with the `this` binding of `thisArg` and the arguments of `args`.\n\t *\n\t * @private\n\t * @param {Function} func The function to invoke.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {Array} args The arguments to invoke `func` with.\n\t * @returns {*} Returns the result of `func`.\n\t */\n\tfunction apply(func, thisArg, args) {\n\t var length = args.length;\n\t switch (length) {\n\t case 0: return func.call(thisArg);\n\t case 1: return func.call(thisArg, args[0]);\n\t case 2: return func.call(thisArg, args[0], args[1]);\n\t case 3: return func.call(thisArg, args[0], args[1], args[2]);\n\t }\n\t return func.apply(thisArg, args);\n\t}\n\t\n\tmodule.exports = apply;\n\n\n/***/ },\n/* 55 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIndexOf = __webpack_require__(162);\n\t\n\t/**\n\t * A specialized version of `_.includes` for arrays without support for\n\t * specifying an index to search from.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {*} target The value to search for.\n\t * @returns {boolean} Returns `true` if `target` is found, else `false`.\n\t */\n\tfunction arrayIncludes(array, value) {\n\t return !!array.length && baseIndexOf(array, value, 0) > -1;\n\t}\n\t\n\tmodule.exports = arrayIncludes;\n\n\n/***/ },\n/* 56 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This function is like `arrayIncludes` except that it accepts a comparator.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {*} target The value to search for.\n\t * @param {Function} comparator The comparator invoked per element.\n\t * @returns {boolean} Returns `true` if `target` is found, else `false`.\n\t */\n\tfunction arrayIncludesWith(array, value, comparator) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (comparator(value, array[index])) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arrayIncludesWith;\n\n\n/***/ },\n/* 57 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isKeyable = __webpack_require__(4);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/**\n\t * Checks if `value` is in `cache`.\n\t *\n\t * @private\n\t * @param {Object} cache The set cache to search.\n\t * @param {*} value The value to search for.\n\t * @returns {number} Returns `true` if `value` is found, else `false`.\n\t */\n\tfunction cacheHas(cache, value) {\n\t var map = cache.__data__;\n\t if (isKeyable(value)) {\n\t var data = map.__data__,\n\t hash = typeof value == 'string' ? data.string : data.hash;\n\t\n\t return hash[value] === HASH_UNDEFINED;\n\t }\n\t return map.has(value);\n\t}\n\t\n\tmodule.exports = cacheHas;\n\n\n/***/ },\n/* 58 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(15);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Checks if a hash value for `key` exists.\n\t *\n\t * @private\n\t * @param {Object} hash The hash to query.\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction hashHas(hash, key) {\n\t return nativeCreate ? hash[key] !== undefined : hasOwnProperty.call(hash, key);\n\t}\n\t\n\tmodule.exports = hashHas;\n\n\n/***/ },\n/* 59 */\n/***/ function(module, exports) {\n\n\t/** Used as references for various `Number` constants. */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 60 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLikeObject = __webpack_require__(17);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\t\n\t/** Built-in value references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is likely an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t // Safari 8.1 incorrectly makes `arguments.callee` enumerable in strict mode.\n\t return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n\t (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 61 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(173),\n\t isFunction = __webpack_require__(36),\n\t isLength = __webpack_require__(62);\n\t\n\t/**\n\t * Checks if `value` is array-like. A value is considered array-like if it's\n\t * not a function and has a `value.length` that's an integer greater than or\n\t * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t * @example\n\t *\n\t * _.isArrayLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArrayLike(document.body.children);\n\t * // => true\n\t *\n\t * _.isArrayLike('abc');\n\t * // => true\n\t *\n\t * _.isArrayLike(_.noop);\n\t * // => false\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value)) && !isFunction(value);\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 62 */\n/***/ function(module, exports) {\n\n\t/** Used as references for various `Number` constants. */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is loosely based on\n\t * [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isLength(3);\n\t * // => true\n\t *\n\t * _.isLength(Number.MIN_VALUE);\n\t * // => false\n\t *\n\t * _.isLength(Infinity);\n\t * // => false\n\t *\n\t * _.isLength('3');\n\t * // => false\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' &&\n\t value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 63 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = areOptionsEqual;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _utilsShallowEqual = __webpack_require__(39);\n\t\n\tvar _utilsShallowEqual2 = _interopRequireDefault(_utilsShallowEqual);\n\t\n\tfunction areOptionsEqual(nextOptions, currentOptions) {\n\t if (currentOptions === nextOptions) {\n\t return true;\n\t }\n\t\n\t return currentOptions !== null && nextOptions !== null && _utilsShallowEqual2['default'](currentOptions, nextOptions);\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 64 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _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; };\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\texports['default'] = decorateHandler;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tfunction _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; }\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _disposables = __webpack_require__(84);\n\t\n\tvar _utilsShallowEqual = __webpack_require__(39);\n\t\n\tvar _utilsShallowEqual2 = _interopRequireDefault(_utilsShallowEqual);\n\t\n\tvar _utilsShallowEqualScalar = __webpack_require__(66);\n\t\n\tvar _utilsShallowEqualScalar2 = _interopRequireDefault(_utilsShallowEqualScalar);\n\t\n\tvar _lodashIsPlainObject = __webpack_require__(5);\n\t\n\tvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\t\n\tvar _invariant = __webpack_require__(2);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tfunction decorateHandler(_ref) {\n\t var DecoratedComponent = _ref.DecoratedComponent;\n\t var createHandler = _ref.createHandler;\n\t var createMonitor = _ref.createMonitor;\n\t var createConnector = _ref.createConnector;\n\t var registerHandler = _ref.registerHandler;\n\t var containerDisplayName = _ref.containerDisplayName;\n\t var getType = _ref.getType;\n\t var collect = _ref.collect;\n\t var options = _ref.options;\n\t var _options$arePropsEqual = options.arePropsEqual;\n\t var arePropsEqual = _options$arePropsEqual === undefined ? _utilsShallowEqualScalar2['default'] : _options$arePropsEqual;\n\t\n\t var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\t\n\t return (function (_Component) {\n\t _inherits(DragDropContainer, _Component);\n\t\n\t DragDropContainer.prototype.getHandlerId = function getHandlerId() {\n\t return this.handlerId;\n\t };\n\t\n\t DragDropContainer.prototype.getDecoratedComponentInstance = function getDecoratedComponentInstance() {\n\t return this.decoratedComponentInstance;\n\t };\n\t\n\t DragDropContainer.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n\t return !arePropsEqual(nextProps, this.props) || !_utilsShallowEqual2['default'](nextState, this.state);\n\t };\n\t\n\t _createClass(DragDropContainer, null, [{\n\t key: 'DecoratedComponent',\n\t value: DecoratedComponent,\n\t enumerable: true\n\t }, {\n\t key: 'displayName',\n\t value: containerDisplayName + '(' + displayName + ')',\n\t enumerable: true\n\t }, {\n\t key: 'contextTypes',\n\t value: {\n\t dragDropManager: _react.PropTypes.object.isRequired\n\t },\n\t enumerable: true\n\t }]);\n\t\n\t function DragDropContainer(props, context) {\n\t _classCallCheck(this, DragDropContainer);\n\t\n\t _Component.call(this, props, context);\n\t this.handleChange = this.handleChange.bind(this);\n\t this.handleChildRef = this.handleChildRef.bind(this);\n\t\n\t _invariant2['default'](typeof this.context.dragDropManager === 'object', 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to wrap the top-level component of your app with DragDropContext. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName);\n\t\n\t this.manager = this.context.dragDropManager;\n\t this.handlerMonitor = createMonitor(this.manager);\n\t this.handlerConnector = createConnector(this.manager.getBackend());\n\t this.handler = createHandler(this.handlerMonitor);\n\t\n\t this.disposable = new _disposables.SerialDisposable();\n\t this.receiveProps(props);\n\t this.state = this.getCurrentState();\n\t this.dispose();\n\t }\n\t\n\t DragDropContainer.prototype.componentDidMount = function componentDidMount() {\n\t this.isCurrentlyMounted = true;\n\t this.disposable = new _disposables.SerialDisposable();\n\t this.currentType = null;\n\t this.receiveProps(this.props);\n\t this.handleChange();\n\t };\n\t\n\t DragDropContainer.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n\t if (!arePropsEqual(nextProps, this.props)) {\n\t this.receiveProps(nextProps);\n\t this.handleChange();\n\t }\n\t };\n\t\n\t DragDropContainer.prototype.componentWillUnmount = function componentWillUnmount() {\n\t this.dispose();\n\t this.isCurrentlyMounted = false;\n\t };\n\t\n\t DragDropContainer.prototype.receiveProps = function receiveProps(props) {\n\t this.handler.receiveProps(props);\n\t this.receiveType(getType(props));\n\t };\n\t\n\t DragDropContainer.prototype.receiveType = function receiveType(type) {\n\t if (type === this.currentType) {\n\t return;\n\t }\n\t\n\t this.currentType = type;\n\t\n\t var _registerHandler = registerHandler(type, this.handler, this.manager);\n\t\n\t var handlerId = _registerHandler.handlerId;\n\t var unregister = _registerHandler.unregister;\n\t\n\t this.handlerId = handlerId;\n\t this.handlerMonitor.receiveHandlerId(handlerId);\n\t this.handlerConnector.receiveHandlerId(handlerId);\n\t\n\t var globalMonitor = this.manager.getMonitor();\n\t var unsubscribe = globalMonitor.subscribeToStateChange(this.handleChange, { handlerIds: [handlerId] });\n\t\n\t this.disposable.setDisposable(new _disposables.CompositeDisposable(new _disposables.Disposable(unsubscribe), new _disposables.Disposable(unregister)));\n\t };\n\t\n\t DragDropContainer.prototype.handleChange = function handleChange() {\n\t if (!this.isCurrentlyMounted) {\n\t return;\n\t }\n\t\n\t var nextState = this.getCurrentState();\n\t if (!_utilsShallowEqual2['default'](nextState, this.state)) {\n\t this.setState(nextState);\n\t }\n\t };\n\t\n\t DragDropContainer.prototype.dispose = function dispose() {\n\t this.disposable.dispose();\n\t this.handlerConnector.receiveHandlerId(null);\n\t };\n\t\n\t DragDropContainer.prototype.handleChildRef = function handleChildRef(component) {\n\t this.decoratedComponentInstance = component;\n\t this.handler.receiveComponent(component);\n\t };\n\t\n\t DragDropContainer.prototype.getCurrentState = function getCurrentState() {\n\t var nextState = collect(this.handlerConnector.hooks, this.handlerMonitor);\n\t\n\t if (false) {\n\t _invariant2['default'](_lodashIsPlainObject2['default'](nextState), 'Expected `collect` specified as the second argument to ' + '%s for %s to return a plain object of props to inject. ' + 'Instead, received %s.', containerDisplayName, displayName, nextState);\n\t }\n\t\n\t return nextState;\n\t };\n\t\n\t DragDropContainer.prototype.render = function render() {\n\t return _react2['default'].createElement(DecoratedComponent, _extends({}, this.props, this.state, {\n\t ref: this.handleChildRef }));\n\t };\n\t\n\t return DragDropContainer;\n\t })(_react.Component);\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 65 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = isValidType;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _lodashIsArray = __webpack_require__(218);\n\t\n\tvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\t\n\tfunction isValidType(type, allowArray) {\n\t return typeof type === 'string' || typeof type === 'symbol' || allowArray && _lodashIsArray2['default'](type) && type.every(function (t) {\n\t return isValidType(t, false);\n\t });\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 66 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = shallowEqualScalar;\n\t\n\tfunction shallowEqualScalar(objA, objB) {\n\t if (objA === objB) {\n\t return true;\n\t }\n\t\n\t if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n\t return false;\n\t }\n\t\n\t var keysA = Object.keys(objA);\n\t var keysB = Object.keys(objB);\n\t\n\t if (keysA.length !== keysB.length) {\n\t return false;\n\t }\n\t\n\t // Test for A's keys different from B.\n\t var hasOwn = Object.prototype.hasOwnProperty;\n\t for (var i = 0; i < keysA.length; i++) {\n\t if (!hasOwn.call(objB, keysA[i])) {\n\t return false;\n\t }\n\t\n\t var valA = objA[keysA[i]];\n\t var valB = objB[keysA[i]];\n\t\n\t if (valA !== valB || typeof valA === 'object' || typeof valB === 'object') {\n\t return false;\n\t }\n\t }\n\t\n\t return true;\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 67 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = wrapConnectorHooks;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _utilsCloneWithRef = __webpack_require__(215);\n\t\n\tvar _utilsCloneWithRef2 = _interopRequireDefault(_utilsCloneWithRef);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tfunction throwIfCompositeComponentElement(element) {\n\t // Custom components can no longer be wrapped directly in React DnD 2.0\n\t // so that we don't need to depend on findDOMNode() from react-dom.\n\t if (typeof element.type === 'string') {\n\t return;\n\t }\n\t\n\t var displayName = element.type.displayName || element.type.name || 'the component';\n\t\n\t throw new Error('Only native element nodes can now be passed to React DnD connectors. ' + ('You can either wrap ' + displayName + ' into a
, or turn it into a ') + 'drag source or a drop target itself.');\n\t}\n\t\n\tfunction wrapHookToRecognizeElement(hook) {\n\t return function () {\n\t var elementOrNode = arguments.length <= 0 || arguments[0] === undefined ? null : arguments[0];\n\t var options = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];\n\t\n\t // When passed a node, call the hook straight away.\n\t if (!_react.isValidElement(elementOrNode)) {\n\t var node = elementOrNode;\n\t hook(node, options);\n\t return;\n\t }\n\t\n\t // If passed a ReactElement, clone it and attach this function as a ref.\n\t // This helps us achieve a neat API where user doesn't even know that refs\n\t // are being used under the hood.\n\t var element = elementOrNode;\n\t throwIfCompositeComponentElement(element);\n\t\n\t // When no options are passed, use the hook directly\n\t var ref = options ? function (node) {\n\t return hook(node, options);\n\t } : hook;\n\t\n\t return _utilsCloneWithRef2['default'](element, ref);\n\t };\n\t}\n\t\n\tfunction wrapConnectorHooks(hooks) {\n\t var wrappedHooks = {};\n\t\n\t Object.keys(hooks).forEach(function (key) {\n\t var hook = hooks[key];\n\t var wrappedHook = wrapHookToRecognizeElement(hook);\n\t wrappedHooks[key] = function () {\n\t return wrappedHook;\n\t };\n\t });\n\t\n\t return wrappedHooks;\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 68 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(module) {\r\n\t\tif(!module.webpackPolyfill) {\r\n\t\t\tmodule.deprecate = function() {};\r\n\t\t\tmodule.paths = [];\r\n\t\t\t// module.parent = undefined by default\r\n\t\t\tmodule.children = [];\r\n\t\t\tmodule.webpackPolyfill = 1;\r\n\t\t}\r\n\t\treturn module;\r\n\t}\r\n\n\n/***/ },\n/* 69 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\r\n\t * Default AddWidget component.\r\n\t * @param {[type]} {text [description]\r\n\t * @param {[type]} onClick} [description]\r\n\t * @return {[type]} [description]\r\n\t */\n\tvar AddWidget = function AddWidget(_ref) {\n\t var text = _ref.text;\n\t var onClick = _ref.onClick;\n\t\n\t return _react2.default.createElement(\n\t \"div\",\n\t { className: \"add-widget-button\", onClick: onClick },\n\t _react2.default.createElement(\n\t \"a\",\n\t { className: \"add-widget-link\" },\n\t text\n\t )\n\t );\n\t};\n\t\n\tAddWidget.propTypes = {\n\t /**\r\n\t * Should be called when 'add' is clicked\r\n\t */\n\t onClick: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Text that should be displyed in the component\r\n\t */\n\t text: _react.PropTypes.string\n\t};\n\t\n\tAddWidget.defaultProps = {\n\t text: 'Add Widget'\n\t};\n\t\n\texports.default = AddWidget;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"AddWidget.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 70 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _dec, _class;\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDnd = __webpack_require__(38);\n\t\n\tvar _ItemTypes = __webpack_require__(40);\n\t\n\tvar _AddWidget = __webpack_require__(69);\n\t\n\tvar _AddWidget2 = _interopRequireDefault(_AddWidget);\n\t\n\tvar _util = __webpack_require__(21);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _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; }\n\t\n\tfunction _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; }\n\t\n\tvar columnTarget = {\n\t drop: function drop(props, monitor) {\n\t var layout = props.layout;\n\t var rowIndex = props.rowIndex;\n\t var columnIndex = props.columnIndex;\n\t var onMove = props.onMove;\n\t\n\t var item = monitor.getItem();\n\t if (item.columnIndex !== columnIndex || item.rowIndex !== rowIndex) {\n\t var movedLayout = (0, _util.moveWidget)(layout, {\n\t rowIndex: item.rowIndex,\n\t columnIndex: item.columnIndex,\n\t widgetIndex: item.widgetIndex\n\t }, {\n\t rowIndex: rowIndex,\n\t columnIndex: columnIndex\n\t }, item.widgetName);\n\t onMove(movedLayout);\n\t }\n\t }\n\t};\n\t\n\t/**\r\n\t * Colum of the dashboard grid. A column holds multiple widgets.\r\n\t */\n\tvar Column = (_dec = (0, _reactDnd.DropTarget)(_ItemTypes.WIDGET, columnTarget, function (connect, monitor) {\n\t return {\n\t connectDropTarget: connect.dropTarget(),\n\t isOver: monitor.isOver(),\n\t canDrop: monitor.canDrop()\n\t };\n\t}), _dec(_class = function (_Component) {\n\t _inherits(Column, _Component);\n\t\n\t function Column() {\n\t _classCallCheck(this, Column);\n\t\n\t return _possibleConstructorReturn(this, Object.getPrototypeOf(Column).apply(this, arguments));\n\t }\n\t\n\t _createClass(Column, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props;\n\t var className = _props.className;\n\t var layout = _props.layout;\n\t var rowIndex = _props.rowIndex;\n\t var columnIndex = _props.columnIndex;\n\t var editable = _props.editable;\n\t var children = _props.children;\n\t var connectDropTarget = _props.connectDropTarget;\n\t var onAdd = _props.onAdd;\n\t var isOver = _props.isOver;\n\t var canDrop = _props.canDrop;\n\t var editableColumnClass = _props.editableColumnClass;\n\t var droppableColumnClass = _props.droppableColumnClass;\n\t var addWidgetComponentText = _props.addWidgetComponentText;\n\t var addWidgetComponent = _props.addWidgetComponent;\n\t\n\t\n\t var classes = className;\n\t classes = editable ? className + ' ' + editableColumnClass : classes;\n\t var isActive = isOver && canDrop;\n\t classes = isActive ? classes + ' ' + droppableColumnClass : classes;\n\t\n\t var addWidgetComponentToUse = null;\n\t if (addWidgetComponent) {\n\t addWidgetComponentToUse = (0, _react.createElement)(addWidgetComponent, { text: addWidgetComponentText, onClick: function onClick() {\n\t onAdd(layout, rowIndex, columnIndex);\n\t } });\n\t } else {\n\t addWidgetComponentToUse = _react2.default.createElement(_AddWidget2.default, { text: addWidgetComponentText, onClick: function onClick() {\n\t onAdd(layout, rowIndex, columnIndex);\n\t } });\n\t }\n\t\n\t return connectDropTarget(_react2.default.createElement(\n\t 'div',\n\t { className: classes },\n\t editable && addWidgetComponentToUse,\n\t children\n\t ));\n\t }\n\t }]);\n\t\n\t return Column;\n\t}(_react.Component)) || _class);\n\t\n\t\n\tColumn.propTypes = {\n\t /**\r\n\t * Children of the column\r\n\t */\n\t children: _react.PropTypes.node,\n\t\n\t /**\r\n\t * CSS class that should be used with the column.\r\n\t */\n\t className: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Function that should be called when user tries to add a widget\r\n\t * to the column.\r\n\t */\n\t onAdd: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Layout of the dashboard.\r\n\t */\n\t layout: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Index of the row that this column resides.\r\n\t */\n\t rowIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Index of this column.\r\n\t */\n\t columnIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Indicates weather dashboard is in editable state\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * Indicates weather a widget is being draged over.\r\n\t */\n\t isOver: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * Indicated a widget can be dropped.\r\n\t */\n\t canDrop: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * Class to be used for columns in editable mode.\r\n\t */\n\t editableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * CSS class to be used for columns when a widget is droppable.\r\n\t */\n\t droppableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Text that should be given to the AddWidget component.\r\n\t */\n\t addWidgetComponentText: _react.PropTypes.string,\n\t\n\t /**\r\n\t * ReactDnd's connectDropTarget.\r\n\t */\n\t connectDropTarget: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Customized AddWidget component.\r\n\t */\n\t addWidgetComponent: _react.PropTypes.func\n\t};\n\t\n\tColumn.defaultProps = {\n\t editableColumnClass: 'editable-column',\n\t droppableColumnClass: 'droppable-column'\n\t};\n\t\n\texports.default = Column;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"Column.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 71 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _Column = __webpack_require__(70);\n\t\n\tvar _Column2 = _interopRequireDefault(_Column);\n\t\n\tvar _Widgets = __webpack_require__(77);\n\t\n\tvar _Widgets2 = _interopRequireDefault(_Widgets);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\r\n\t * Returns a set of columns that belongs to a row.\r\n\t */\n\tfunction Columns(props) {\n\t var columns = props.columns;\n\t var widgets = props.widgets;\n\t var onRemove = props.onRemove;\n\t var layout = props.layout;\n\t var rowIndex = props.rowIndex;\n\t var editable = props.editable;\n\t var frameComponent = props.frameComponent;\n\t var editableColumnClass = props.editableColumnClass;\n\t var droppableColumnClass = props.droppableColumnClass;\n\t var addWidgetComponentText = props.addWidgetComponentText;\n\t var addWidgetComponent = props.addWidgetComponent;\n\t var onAdd = props.onAdd;\n\t var onMove = props.onMove;\n\t\n\t\n\t var items = columns.map(function (column, index) {\n\t return _react2.default.createElement(\n\t _Column2.default,\n\t {\n\t key: index,\n\t className: column.className,\n\t onAdd: onAdd,\n\t layout: layout,\n\t rowIndex: rowIndex,\n\t columnIndex: index,\n\t editable: editable,\n\t onMove: onMove,\n\t editableColumnClass: editableColumnClass,\n\t droppableColumnClass: droppableColumnClass,\n\t addWidgetComponent: addWidgetComponent,\n\t addWidgetComponentText: addWidgetComponentText\n\t },\n\t _react2.default.createElement(_Widgets2.default, {\n\t key: index,\n\t widgets: column.widgets,\n\t widgetTypes: widgets,\n\t onRemove: onRemove,\n\t layout: layout,\n\t rowIndex: rowIndex,\n\t columnIndex: index,\n\t editable: editable,\n\t frameComponent: frameComponent,\n\t onMove: onMove\n\t })\n\t );\n\t });\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t items\n\t );\n\t}\n\t\n\tColumns.propTypes = {\n\t /**\r\n\t * Columns of the layout.\r\n\t */\n\t columns: _react.PropTypes.array,\n\t\n\t /**\r\n\t * Widgets that should be used in the dashboard.\r\n\t */\n\t widgets: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Layout of the dashboard.\r\n\t */\n\t layout: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Index of the row where this column is in.\r\n\t */\n\t rowIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Indicates weather the dashboard is in editable mode or not.\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * Custom frame that should be used with the widget.\r\n\t */\n\t frameComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Class to be used for columns in editable mode.\r\n\t */\n\t editableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * CSS class to be used for columns when a widget is droppable.\r\n\t */\n\t droppableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Custom AddWidget component.\r\n\t */\n\t addWidgetComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Text that should be displyed in the AddWidget component.\r\n\t */\n\t addWidgetComponentText: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Method that should be called when a component is added.\r\n\t */\n\t onAdd: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Method that should be called when a component is removed.\r\n\t */\n\t onRemove: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Method that should be called when a widget is moved.\r\n\t */\n\t onMove: _react.PropTypes.func\n\t};\n\t\n\texports.default = Columns;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"Columns.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 72 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _dec, _class;\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDnd = __webpack_require__(38);\n\t\n\tvar _reactDndHtml5Backend = __webpack_require__(147);\n\t\n\tvar _reactDndHtml5Backend2 = _interopRequireDefault(_reactDndHtml5Backend);\n\t\n\tvar _LayoutRenderer = __webpack_require__(74);\n\t\n\tvar _LayoutRenderer2 = _interopRequireDefault(_LayoutRenderer);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _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; }\n\t\n\tfunction _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; }\n\t\n\t/**\r\n\t * Main dashboard component. This is where all of this starts.\r\n\t */\n\tvar Dashboard = (_dec = (0, _reactDnd.DragDropContext)(_reactDndHtml5Backend2.default), _dec(_class = function (_Component) {\n\t _inherits(Dashboard, _Component);\n\t\n\t function Dashboard() {\n\t _classCallCheck(this, Dashboard);\n\t\n\t return _possibleConstructorReturn(this, Object.getPrototypeOf(Dashboard).apply(this, arguments));\n\t }\n\t\n\t _createClass(Dashboard, [{\n\t key: 'render',\n\t value: function render() {\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement(_LayoutRenderer2.default, this.props)\n\t );\n\t }\n\t }]);\n\t\n\t return Dashboard;\n\t}(_react.Component)) || _class);\n\t\n\t\n\tDashboard.PropTypes = {\n\t /**\r\n\t * The layout of the dashboard.\r\n\t */\n\t layout: _react.PropTypes.object,\n\t\n\t /**\r\n\t * List of widgets that are avilable in the dashboard.\r\n\t */\n\t widgets: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Indicates weather the dashoard is in editable state or not.\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * CSS class name that should be provided to the row. Default is 'row'.\r\n\t */\n\t rowClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Customized widget frame. The dashboard supports a default frame. But if\r\n\t * it doesn't suit your needs or the look and feel is not what you wanted, you\r\n\t * could create your own widget frame and pass it through here. Ever widget Will\r\n\t * use this as the outer container which displays controls like 'remove' button\r\n\t * on edit mode.\r\n\t */\n\t frameComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * A custom component for the `add widget` button.\r\n\t */\n\t addWidgetComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Class to be used for columns in editable mode.\r\n\t */\n\t editableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * CSS class to be used for columns when a widget is droppable.\r\n\t */\n\t droppableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Text that should be displayed in the `AddWidget` component.\r\n\t */\n\t addWidgetComponentText: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Will be called when a widget removed by the user from the dashboard.\r\n\t * Should be handled if the dashbord supports edit functionality.\r\n\t * provides the updated layout object. This layout object with the removed widget\r\n\t * should be given back to the dashboard through the layout prop to re-render the dashboard.\r\n\t */\n\t onRemove: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Will be called when user tries to add a widget into a column.\r\n\t */\n\t onAdd: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Function to be called when a widget is moved by the user.\r\n\t */\n\t onMove: _react.PropTypes.func\n\t};\n\t\n\texports.default = Dashboard;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"Dashboard.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 73 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\r\n\t * Default frame that will be used with the widgets.\r\n\t */\n\tvar DefaultFrame = function DefaultFrame(_ref) {\n\t var children = _ref.children;\n\t var onRemove = _ref.onRemove;\n\t var editable = _ref.editable;\n\t var title = _ref.title;\n\t\n\t return _react2.default.createElement(\n\t \"div\",\n\t { className: \"defaultWidgetFrame\" },\n\t _react2.default.createElement(\n\t \"div\",\n\t { className: \"defaultWidgetFrameHeader\" },\n\t _react2.default.createElement(\n\t \"span\",\n\t { className: \"title\" },\n\t title\n\t ),\n\t editable && _react2.default.createElement(\n\t \"a\",\n\t { className: \"remove\", onClick: function onClick() {\n\t onRemove();\n\t } },\n\t \"Remove\"\n\t )\n\t ),\n\t children\n\t );\n\t};\n\t\n\tDefaultFrame.propTypes = {\n\t /**\r\n\t * Indicates weather the dashboard is in editable mode.\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * Children of the frame.\r\n\t */\n\t children: _react.PropTypes.node,\n\t\n\t /**\r\n\t * Function to call when the widget is removed.\r\n\t */\n\t onRemove: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Title of the widget\r\n\t */\n\t title: _react.PropTypes.string\n\t};\n\t\n\texports.default = DefaultFrame;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"DefaultFrame.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 74 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _Row = __webpack_require__(75);\n\t\n\tvar _Row2 = _interopRequireDefault(_Row);\n\t\n\tvar _Columns = __webpack_require__(71);\n\t\n\tvar _Columns2 = _interopRequireDefault(_Columns);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\r\n\t * Renders the row, column layout based on the layout provided to the dashboard.\r\n\t */\n\tvar LayoutRenderer = function LayoutRenderer(props) {\n\t var layout = props.layout;\n\t var widgets = props.widgets;\n\t var onRemove = props.onRemove;\n\t var editable = props.editable;\n\t var onAdd = props.onAdd;\n\t var frameComponent = props.frameComponent;\n\t var rowClass = props.rowClass;\n\t var onMove = props.onMove;\n\t var editableColumnClass = props.editableColumnClass;\n\t var droppableColumnClass = props.droppableColumnClass;\n\t var addWidgetComponentText = props.addWidgetComponentText;\n\t var addWidgetComponent = props.addWidgetComponent;\n\t\n\t\n\t var rows = layout.rows.map(function (row, rowIndex) {\n\t return _react2.default.createElement(\n\t _Row2.default,\n\t { key: rowIndex, rowClass: rowClass },\n\t _react2.default.createElement(_Columns2.default, {\n\t columns: row.columns,\n\t widgets: widgets,\n\t onRemove: onRemove,\n\t layout: layout,\n\t rowIndex: rowIndex,\n\t editable: editable,\n\t onAdd: onAdd,\n\t onMove: onMove,\n\t frameComponent: frameComponent,\n\t editableColumnClass: editableColumnClass,\n\t droppableColumnClass: droppableColumnClass,\n\t addWidgetComponentText: addWidgetComponentText,\n\t addWidgetComponent: addWidgetComponent\n\t })\n\t );\n\t });\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t rows\n\t );\n\t};\n\t\n\tLayoutRenderer.propTypes = {\n\t /**\r\n\t * Layout of the dashboard.\r\n\t */\n\t layout: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Widgets that the dashboard supports.\r\n\t */\n\t widgets: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Indicates weather this dashboard is in editable mode.\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * Function that will be called when user removed a widget.\r\n\t */\n\t onRemove: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Function that will be called user tries to add a widget.\r\n\t */\n\t onAdd: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Frame that should be used as the outer cotnainer of the widget.\r\n\t */\n\t frameComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Class name that should be provided to the row component.\r\n\t */\n\t rowClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Function to be called when a widget is moved by the user.\r\n\t */\n\t onMove: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Class to be used for columns in editable mode.\r\n\t */\n\t editableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * CSS class to be used for columns when a widget is droppable.\r\n\t */\n\t droppableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Customized AddWidget component.\r\n\t */\n\t addWidgetComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Text that should be displayed in the `AddWidget` component.\r\n\t */\n\t addWidgetComponentText: _react.PropTypes.string\n\t};\n\t\n\tLayoutRenderer.defaultProps = {\n\t /**\r\n\t * Default layout.\r\n\t */\n\t layout: {\n\t rows: []\n\t }\n\t};\n\t\n\texports.default = LayoutRenderer;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"LayoutRenderer.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 75 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\r\n\t * Represents a row in the grid system.\r\n\t */\n\tvar Row = function Row(_ref) {\n\t var rowClass = _ref.rowClass;\n\t var children = _ref.children;\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: rowClass },\n\t children\n\t );\n\t};\n\t\n\tRow.propTypes = {\n\t /**\r\n\t * CSS class that should be used to represent a row.\r\n\t */\n\t rowClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Children of the row component.\r\n\t */\n\t children: _react.PropTypes.node\n\t};\n\t\n\tRow.defaultProps = {\n\t /**\r\n\t * Most CSS grid systems uses 'row' as the class name. Or not ?\r\n\t */\n\t rowClass: 'row'\n\t};\n\t\n\texports.default = Row;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"Row.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 76 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _dec, _dec2, _class;\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDom = __webpack_require__(226);\n\t\n\tvar _reactDnd = __webpack_require__(38);\n\t\n\tvar _ItemTypes = __webpack_require__(40);\n\t\n\tvar _util = __webpack_require__(21);\n\t\n\tvar _DefaultFrame = __webpack_require__(73);\n\t\n\tvar _DefaultFrame2 = _interopRequireDefault(_DefaultFrame);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _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; }\n\t\n\tfunction _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; }\n\t\n\tvar boxSource = {\n\t beginDrag: function beginDrag(props) {\n\t return {\n\t widgetName: props.widgetName,\n\t rowIndex: props.rowIndex,\n\t columnIndex: props.columnIndex,\n\t widgetIndex: props.widgetIndex\n\t };\n\t },\n\t canDrag: function canDrag(props) {\n\t return props.editable;\n\t }\n\t};\n\t\n\tvar cardTarget = {\n\t hover: function hover(props, monitor, component) {\n\t var dragIndex = monitor.getItem().widgetIndex;\n\t var hoverIndex = props.widgetIndex;\n\t\n\t // Don't replace items with themselves\n\t if (dragIndex === hoverIndex) {\n\t return;\n\t }\n\t\n\t // Determine rectangle on screen\n\t var hoverBoundingRect = (0, _reactDom.findDOMNode)(component).getBoundingClientRect();\n\t\n\t // Get vertical middle\n\t var hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;\n\t\n\t // Determine mouse position\n\t var clientOffset = monitor.getClientOffset();\n\t\n\t // Get pixels to the top\n\t var hoverClientY = clientOffset.y - hoverBoundingRect.top;\n\t\n\t // Only perform the move when the mouse has crossed half of the items height\n\t // When dragging downwards, only move when the cursor is below 50%\n\t // When dragging upwards, only move when the cursor is above 50%\n\t\n\t // Dragging downwards\n\t if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) {\n\t return;\n\t }\n\t\n\t // Dragging upwards\n\t if (dragIndex > hoverIndex && hoverClientY > hoverMiddleY) {\n\t return;\n\t }\n\t\n\t // Time to actually perform the action\n\t var layout = props.layout;\n\t var columnIndex = props.columnIndex;\n\t var rowIndex = props.rowIndex;\n\t\n\t\n\t if (monitor.getItem().columnIndex === columnIndex) {\n\t var newLayout = (0, _util.sortWidget)(layout, {\n\t rowIndex: rowIndex,\n\t columnIndex: columnIndex,\n\t widgetIndex: dragIndex\n\t }, {\n\t rowIndex: rowIndex,\n\t columnIndex: columnIndex,\n\t widgetIndex: hoverIndex\n\t }, monitor.getItem().widgetName);\n\t\n\t props.onMove(newLayout);\n\t }\n\t\n\t // Note: we're mutating the monitor item here!\n\t // Generally it's better to avoid mutations,\n\t // but it's good here for the sake of performance\n\t // to avoid expensive index searches.\n\t monitor.getItem().widgetIndex = hoverIndex;\n\t }\n\t};\n\t\n\t/**\r\n\t * Frame component which surrounds each widget.\r\n\t */\n\tvar WidgetFrame = (_dec = (0, _reactDnd.DropTarget)(_ItemTypes.WIDGET, cardTarget, function (connect) {\n\t return {\n\t connectDropTarget: connect.dropTarget()\n\t };\n\t}), _dec2 = (0, _reactDnd.DragSource)(_ItemTypes.WIDGET, boxSource, function (connect, monitor) {\n\t return {\n\t connectDragSource: connect.dragSource(),\n\t isDragging: monitor.isDragging()\n\t };\n\t}), _dec(_class = _dec2(_class = function (_Component) {\n\t _inherits(WidgetFrame, _Component);\n\t\n\t function WidgetFrame() {\n\t var _Object$getPrototypeO;\n\t\n\t var _temp, _this, _ret;\n\t\n\t _classCallCheck(this, WidgetFrame);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_Object$getPrototypeO = Object.getPrototypeOf(WidgetFrame)).call.apply(_Object$getPrototypeO, [this].concat(args))), _this), _this.remove = function () {\n\t var _this$props = _this.props;\n\t var layout = _this$props.layout;\n\t var rowIndex = _this$props.rowIndex;\n\t var columnIndex = _this$props.columnIndex;\n\t var widgetIndex = _this$props.widgetIndex;\n\t\n\t var newLayout = (0, _util.removeWidget)(layout, rowIndex, columnIndex, widgetIndex);\n\t _this.props.onRemove(newLayout);\n\t }, _temp), _possibleConstructorReturn(_this, _ret);\n\t }\n\t\n\t _createClass(WidgetFrame, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props;\n\t var frameComponent = _props.frameComponent;\n\t var children = _props.children;\n\t var editable = _props.editable;\n\t var title = _props.title;\n\t var connectDragSource = _props.connectDragSource;\n\t var connectDropTarget = _props.connectDropTarget;\n\t var isDragging = _props.isDragging;\n\t\n\t\n\t var selected = null;\n\t\n\t if (frameComponent) {\n\t // if user provided a custom frame, use it\n\t selected = (0, _react.createElement)(frameComponent, { children: children, editable: editable, title: title, onRemove: this.remove });\n\t } else {\n\t // else use the default frame\n\t selected = _react2.default.createElement(_DefaultFrame2.default, {\n\t title: title,\n\t editable: editable,\n\t children: children,\n\t onRemove: this.remove\n\t });\n\t }\n\t var opacity = isDragging ? 0 : 1;\n\t return connectDragSource(connectDropTarget(_react2.default.createElement(\n\t 'div',\n\t { style: { opacity: opacity } },\n\t selected\n\t )));\n\t }\n\t }]);\n\t\n\t return WidgetFrame;\n\t}(_react.Component)) || _class) || _class);\n\t\n\t\n\tWidgetFrame.propTypes = {\n\t /**\r\n\t * Childrens of the widget frame.\r\n\t */\n\t children: _react.PropTypes.element,\n\t\n\t /**\r\n\t * Layout of the dahsboard.\r\n\t */\n\t layout: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Index of the column these widgets should be placed.\r\n\t */\n\t columnIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Index of the row these widgets should be placed.\r\n\t */\n\t rowIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Index of the widget.\r\n\t */\n\t widgetIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Indicates weatehr dashboard is in ediable mode or not.\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * User provided widget frame that should be used instead of the default one.\r\n\t */\n\t frameComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Name of the widget.\r\n\t */\n\t widgetName: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Title of the widget.\r\n\t */\n\t title: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Weather the component is being dragged.\r\n\t */\n\t isDragging: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * ReactDnd's connectDragSource().\r\n\t */\n\t connectDragSource: _react.PropTypes.func,\n\t\n\t /**\r\n\t * ReactDnd's connectDropTarget().\r\n\t */\n\t connectDropTarget: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Function that should be called when a widget is about to be removed.\r\n\t */\n\t onRemove: _react.PropTypes.func\n\t};\n\t\n\texports.default = WidgetFrame;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"WidgetFrame.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 77 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _WidgetFrame = __webpack_require__(76);\n\t\n\tvar _WidgetFrame2 = _interopRequireDefault(_WidgetFrame);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\r\n\t * Component that renders the widget which belongs to a column.\r\n\t */\n\tvar Widgets = function Widgets(_ref) {\n\t var widgets = _ref.widgets;\n\t var widgetTypes = _ref.widgetTypes;\n\t var onRemove = _ref.onRemove;\n\t var layout = _ref.layout;\n\t var columnIndex = _ref.columnIndex;\n\t var rowIndex = _ref.rowIndex;\n\t var editable = _ref.editable;\n\t var frameComponent = _ref.frameComponent;\n\t var onMove = _ref.onMove;\n\t\n\t var createdWidgets = widgets.map(function (widget, index) {\n\t return _react2.default.createElement(\n\t _WidgetFrame2.default,\n\t {\n\t key: index,\n\t widgetName: widget.key,\n\t title: widgetTypes[widget.key].title,\n\t onRemove: onRemove,\n\t layout: layout,\n\t columnIndex: columnIndex,\n\t rowIndex: rowIndex,\n\t widgetIndex: index,\n\t editable: editable,\n\t frameComponent: frameComponent,\n\t onMove: onMove\n\t },\n\t (0, _react.createElement)(widgetTypes[widget.key].type, widgetTypes[widget.key].props)\n\t );\n\t });\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t createdWidgets\n\t );\n\t};\n\t\n\tWidgets.propTypes = {\n\t /**\r\n\t * Widgets that should be rendered.\r\n\t */\n\t widgets: _react.PropTypes.array,\n\t\n\t /**\r\n\t * Widgets that are available in the dashboard.\r\n\t */\n\t widgetTypes: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Function that should be called when a widget is about to be removed.\r\n\t */\n\t onRemove: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Layout of the dahsboard.\r\n\t */\n\t layout: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Index of the column these widgets should be placed.\r\n\t */\n\t columnIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Index of the row these widgets should be placed.\r\n\t */\n\t rowIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Indicates weatehr dashboard is in ediable mode or not.\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * User provided widget frame that should be used instead of the default one.\r\n\t */\n\t frameComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Method to call when a widget is moved.\r\n\t */\n\t onMove: _react.PropTypes.func\n\t};\n\t\n\texports.default = Widgets;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"Widgets.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 78 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _Dashboard = __webpack_require__(72);\n\t\n\tObject.defineProperty(exports, 'default', {\n\t enumerable: true,\n\t get: function get() {\n\t return _interopRequireDefault(_Dashboard).default;\n\t }\n\t});\n\t\n\tvar _util = __webpack_require__(21);\n\t\n\tObject.defineProperty(exports, 'addWidget', {\n\t enumerable: true,\n\t get: function get() {\n\t return _util.addWidget;\n\t }\n\t});\n\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"index.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 79 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\t// rawAsap provides everything we need except exception management.\n\tvar rawAsap = __webpack_require__(80);\n\t// RawTasks are recycled to reduce GC churn.\n\tvar freeTasks = [];\n\t// We queue errors to ensure they are thrown in right order (FIFO).\n\t// Array-as-queue is good enough here, since we are just dealing with exceptions.\n\tvar pendingErrors = [];\n\tvar requestErrorThrow = rawAsap.makeRequestCallFromTimer(throwFirstError);\n\t\n\tfunction throwFirstError() {\n\t if (pendingErrors.length) {\n\t throw pendingErrors.shift();\n\t }\n\t}\n\t\n\t/**\n\t * Calls a task as soon as possible after returning, in its own event, with priority\n\t * over other events like animation, reflow, and repaint. An error thrown from an\n\t * event will not interrupt, nor even substantially slow down the processing of\n\t * other events, but will be rather postponed to a lower priority event.\n\t * @param {{call}} task A callable object, typically a function that takes no\n\t * arguments.\n\t */\n\tmodule.exports = asap;\n\tfunction asap(task) {\n\t var rawTask;\n\t if (freeTasks.length) {\n\t rawTask = freeTasks.pop();\n\t } else {\n\t rawTask = new RawTask();\n\t }\n\t rawTask.task = task;\n\t rawAsap(rawTask);\n\t}\n\t\n\t// We wrap tasks with recyclable task objects. A task object implements\n\t// `call`, just like a function.\n\tfunction RawTask() {\n\t this.task = null;\n\t}\n\t\n\t// The sole purpose of wrapping the task is to catch the exception and recycle\n\t// the task object after its single use.\n\tRawTask.prototype.call = function () {\n\t try {\n\t this.task.call();\n\t } catch (error) {\n\t if (asap.onerror) {\n\t // This hook exists purely for testing purposes.\n\t // Its name will be periodically randomized to break any code that\n\t // depends on its existence.\n\t asap.onerror(error);\n\t } else {\n\t // In a web browser, exceptions are not fatal. However, to avoid\n\t // slowing down the queue of pending tasks, we rethrow the error in a\n\t // lower priority turn.\n\t pendingErrors.push(error);\n\t requestErrorThrow();\n\t }\n\t } finally {\n\t this.task = null;\n\t freeTasks[freeTasks.length] = this;\n\t }\n\t};\n\n\n/***/ },\n/* 80 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\t// Use the fastest means possible to execute a task in its own turn, with\n\t// priority over other events including IO, animation, reflow, and redraw\n\t// events in browsers.\n\t//\n\t// An exception thrown by a task will permanently interrupt the processing of\n\t// subsequent tasks. The higher level `asap` function ensures that if an\n\t// exception is thrown by a task, that the task queue will continue flushing as\n\t// soon as possible, but if you use `rawAsap` directly, you are responsible to\n\t// either ensure that no exceptions are thrown from your task, or to manually\n\t// call `rawAsap.requestFlush` if an exception is thrown.\n\tmodule.exports = rawAsap;\n\tfunction rawAsap(task) {\n\t if (!queue.length) {\n\t requestFlush();\n\t flushing = true;\n\t }\n\t // Equivalent to push, but avoids a function call.\n\t queue[queue.length] = task;\n\t}\n\t\n\tvar queue = [];\n\t// Once a flush has been requested, no further calls to `requestFlush` are\n\t// necessary until the next `flush` completes.\n\tvar flushing = false;\n\t// `requestFlush` is an implementation-specific method that attempts to kick\n\t// off a `flush` event as quickly as possible. `flush` will attempt to exhaust\n\t// the event queue before yielding to the browser's own event loop.\n\tvar requestFlush;\n\t// The position of the next task to execute in the task queue. This is\n\t// preserved between calls to `flush` so that it can be resumed if\n\t// a task throws an exception.\n\tvar index = 0;\n\t// If a task schedules additional tasks recursively, the task queue can grow\n\t// unbounded. To prevent memory exhaustion, the task queue will periodically\n\t// truncate already-completed tasks.\n\tvar capacity = 1024;\n\t\n\t// The flush function processes all tasks that have been scheduled with\n\t// `rawAsap` unless and until one of those tasks throws an exception.\n\t// If a task throws an exception, `flush` ensures that its state will remain\n\t// consistent and will resume where it left off when called again.\n\t// However, `flush` does not make any arrangements to be called again if an\n\t// exception is thrown.\n\tfunction flush() {\n\t while (index < queue.length) {\n\t var currentIndex = index;\n\t // Advance the index before calling the task. This ensures that we will\n\t // begin flushing on the next task the task throws an error.\n\t index = index + 1;\n\t queue[currentIndex].call();\n\t // Prevent leaking memory for long chains of recursive calls to `asap`.\n\t // If we call `asap` within tasks scheduled by `asap`, the queue will\n\t // grow, but to avoid an O(n) walk for every task we execute, we don't\n\t // shift tasks off the queue after they have been executed.\n\t // Instead, we periodically shift 1024 tasks off the queue.\n\t if (index > capacity) {\n\t // Manually shift all values starting at the index back to the\n\t // beginning of the queue.\n\t for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n\t queue[scan] = queue[scan + index];\n\t }\n\t queue.length -= index;\n\t index = 0;\n\t }\n\t }\n\t queue.length = 0;\n\t index = 0;\n\t flushing = false;\n\t}\n\t\n\t// `requestFlush` is implemented using a strategy based on data collected from\n\t// every available SauceLabs Selenium web driver worker at time of writing.\n\t// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n\t\n\t// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n\t// have WebKitMutationObserver but not un-prefixed MutationObserver.\n\t// Must use `global` instead of `window` to work in both frames and web\n\t// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\n\tvar BrowserMutationObserver = global.MutationObserver || global.WebKitMutationObserver;\n\t\n\t// MutationObservers are desirable because they have high priority and work\n\t// reliably everywhere they are implemented.\n\t// They are implemented in all modern browsers.\n\t//\n\t// - Android 4-4.3\n\t// - Chrome 26-34\n\t// - Firefox 14-29\n\t// - Internet Explorer 11\n\t// - iPad Safari 6-7.1\n\t// - iPhone Safari 7-7.1\n\t// - Safari 6-7\n\tif (typeof BrowserMutationObserver === \"function\") {\n\t requestFlush = makeRequestCallFromMutationObserver(flush);\n\t\n\t// MessageChannels are desirable because they give direct access to the HTML\n\t// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n\t// 11-12, and in web workers in many engines.\n\t// Although message channels yield to any queued rendering and IO tasks, they\n\t// would be better than imposing the 4ms delay of timers.\n\t// However, they do not work reliably in Internet Explorer or Safari.\n\t\n\t// Internet Explorer 10 is the only browser that has setImmediate but does\n\t// not have MutationObservers.\n\t// Although setImmediate yields to the browser's renderer, it would be\n\t// preferrable to falling back to setTimeout since it does not have\n\t// the minimum 4ms penalty.\n\t// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n\t// Desktop to a lesser extent) that renders both setImmediate and\n\t// MessageChannel useless for the purposes of ASAP.\n\t// https://github.com/kriskowal/q/issues/396\n\t\n\t// Timers are implemented universally.\n\t// We fall back to timers in workers in most engines, and in foreground\n\t// contexts in the following browsers.\n\t// However, note that even this simple case requires nuances to operate in a\n\t// broad spectrum of browsers.\n\t//\n\t// - Firefox 3-13\n\t// - Internet Explorer 6-9\n\t// - iPad Safari 4.3\n\t// - Lynx 2.8.7\n\t} else {\n\t requestFlush = makeRequestCallFromTimer(flush);\n\t}\n\t\n\t// `requestFlush` requests that the high priority event queue be flushed as\n\t// soon as possible.\n\t// This is useful to prevent an error thrown in a task from stalling the event\n\t// queue if the exception handled by Node.js’s\n\t// `process.on(\"uncaughtException\")` or by a domain.\n\trawAsap.requestFlush = requestFlush;\n\t\n\t// To request a high priority event, we induce a mutation observer by toggling\n\t// the text of a text node between \"1\" and \"-1\".\n\tfunction makeRequestCallFromMutationObserver(callback) {\n\t var toggle = 1;\n\t var observer = new BrowserMutationObserver(callback);\n\t var node = document.createTextNode(\"\");\n\t observer.observe(node, {characterData: true});\n\t return function requestCall() {\n\t toggle = -toggle;\n\t node.data = toggle;\n\t };\n\t}\n\t\n\t// The message channel technique was discovered by Malte Ubl and was the\n\t// original foundation for this library.\n\t// http://www.nonblocking.io/2011/06/windownexttick.html\n\t\n\t// Safari 6.0.5 (at least) intermittently fails to create message ports on a\n\t// page's first load. Thankfully, this version of Safari supports\n\t// MutationObservers, so we don't need to fall back in that case.\n\t\n\t// function makeRequestCallFromMessageChannel(callback) {\n\t// var channel = new MessageChannel();\n\t// channel.port1.onmessage = callback;\n\t// return function requestCall() {\n\t// channel.port2.postMessage(0);\n\t// };\n\t// }\n\t\n\t// For reasons explained above, we are also unable to use `setImmediate`\n\t// under any circumstances.\n\t// Even if we were, there is another bug in Internet Explorer 10.\n\t// It is not sufficient to assign `setImmediate` to `requestFlush` because\n\t// `setImmediate` must be called *by name* and therefore must be wrapped in a\n\t// closure.\n\t// Never forget.\n\t\n\t// function makeRequestCallFromSetImmediate(callback) {\n\t// return function requestCall() {\n\t// setImmediate(callback);\n\t// };\n\t// }\n\t\n\t// Safari 6.0 has a problem where timers will get lost while the user is\n\t// scrolling. This problem does not impact ASAP because Safari 6.0 supports\n\t// mutation observers, so that implementation is used instead.\n\t// However, if we ever elect to use timers in Safari, the prevalent work-around\n\t// is to add a scroll event listener that calls for a flush.\n\t\n\t// `setTimeout` does not call the passed callback if the delay is less than\n\t// approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n\t// even then.\n\t\n\tfunction makeRequestCallFromTimer(callback) {\n\t return function requestCall() {\n\t // We dispatch a timeout with a specified delay of 0 for engines that\n\t // can reliably accommodate that request. This will usually be snapped\n\t // to a 4 milisecond delay, but once we're flushing, there's no delay\n\t // between events.\n\t var timeoutHandle = setTimeout(handleTimer, 0);\n\t // However, since this timer gets frequently dropped in Firefox\n\t // workers, we enlist an interval handle that will try to fire\n\t // an event 20 times per second until it succeeds.\n\t var intervalHandle = setInterval(handleTimer, 50);\n\t\n\t function handleTimer() {\n\t // Whichever timer succeeds will cancel both timers and\n\t // execute the callback.\n\t clearTimeout(timeoutHandle);\n\t clearInterval(intervalHandle);\n\t callback();\n\t }\n\t };\n\t}\n\t\n\t// This is for `asap.js` only.\n\t// Its name will be periodically randomized to break any code that depends on\n\t// its existence.\n\trawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;\n\t\n\t// ASAP was originally a nextTick shim included in Q. This was factored out\n\t// into this ASAP package. It was later adapted to RSVP which made further\n\t// amendments. These decisions, particularly to marginalize MessageChannel and\n\t// to capture the MutationObserver implementation in a closure, were integrated\n\t// back into ASAP proper.\n\t// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n\n/***/ },\n/* 81 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };\n\t\n\tvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } };\n\t\n\texports.__esModule = true;\n\t\n\tvar _isDisposable = __webpack_require__(22);\n\t\n\tvar _isDisposable2 = _interopRequireWildcard(_isDisposable);\n\t\n\t/**\n\t * Represents a group of disposable resources that are disposed together.\n\t */\n\t\n\tvar CompositeDisposable = (function () {\n\t function CompositeDisposable() {\n\t for (var _len = arguments.length, disposables = Array(_len), _key = 0; _key < _len; _key++) {\n\t disposables[_key] = arguments[_key];\n\t }\n\t\n\t _classCallCheck(this, CompositeDisposable);\n\t\n\t if (Array.isArray(disposables[0]) && disposables.length === 1) {\n\t disposables = disposables[0];\n\t }\n\t\n\t for (var i = 0; i < disposables.length; i++) {\n\t if (!_isDisposable2['default'](disposables[i])) {\n\t throw new Error('Expected a disposable');\n\t }\n\t }\n\t\n\t this.disposables = disposables;\n\t this.isDisposed = false;\n\t }\n\t\n\t /**\n\t * Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed.\n\t * @param {Disposable} item Disposable to add.\n\t */\n\t\n\t CompositeDisposable.prototype.add = function add(item) {\n\t if (this.isDisposed) {\n\t item.dispose();\n\t } else {\n\t this.disposables.push(item);\n\t }\n\t };\n\t\n\t /**\n\t * Removes and disposes the first occurrence of a disposable from the CompositeDisposable.\n\t * @param {Disposable} item Disposable to remove.\n\t * @returns {Boolean} true if found; false otherwise.\n\t */\n\t\n\t CompositeDisposable.prototype.remove = function remove(item) {\n\t if (this.isDisposed) {\n\t return false;\n\t }\n\t\n\t var index = this.disposables.indexOf(item);\n\t if (index === -1) {\n\t return false;\n\t }\n\t\n\t this.disposables.splice(index, 1);\n\t item.dispose();\n\t return true;\n\t };\n\t\n\t /**\n\t * Disposes all disposables in the group and removes them from the group.\n\t */\n\t\n\t CompositeDisposable.prototype.dispose = function dispose() {\n\t if (this.isDisposed) {\n\t return;\n\t }\n\t\n\t var len = this.disposables.length;\n\t var currentDisposables = new Array(len);\n\t for (var i = 0; i < len; i++) {\n\t currentDisposables[i] = this.disposables[i];\n\t }\n\t\n\t this.isDisposed = true;\n\t this.disposables = [];\n\t this.length = 0;\n\t\n\t for (var i = 0; i < len; i++) {\n\t currentDisposables[i].dispose();\n\t }\n\t };\n\t\n\t return CompositeDisposable;\n\t})();\n\t\n\texports['default'] = CompositeDisposable;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 82 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } };\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\texports.__esModule = true;\n\tvar noop = function noop() {};\n\t\n\t/**\n\t * The basic disposable.\n\t */\n\t\n\tvar Disposable = (function () {\n\t function Disposable(action) {\n\t _classCallCheck(this, Disposable);\n\t\n\t this.isDisposed = false;\n\t this.action = action || noop;\n\t }\n\t\n\t Disposable.prototype.dispose = function dispose() {\n\t if (!this.isDisposed) {\n\t this.action.call(null);\n\t this.isDisposed = true;\n\t }\n\t };\n\t\n\t _createClass(Disposable, null, [{\n\t key: \"empty\",\n\t enumerable: true,\n\t value: { dispose: noop }\n\t }]);\n\t\n\t return Disposable;\n\t})();\n\t\n\texports[\"default\"] = Disposable;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 83 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };\n\t\n\tvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } };\n\t\n\texports.__esModule = true;\n\t\n\tvar _isDisposable = __webpack_require__(22);\n\t\n\tvar _isDisposable2 = _interopRequireWildcard(_isDisposable);\n\t\n\tvar SerialDisposable = (function () {\n\t function SerialDisposable() {\n\t _classCallCheck(this, SerialDisposable);\n\t\n\t this.isDisposed = false;\n\t this.current = null;\n\t }\n\t\n\t /**\n\t * Gets the underlying disposable.\n\t * @return The underlying disposable.\n\t */\n\t\n\t SerialDisposable.prototype.getDisposable = function getDisposable() {\n\t return this.current;\n\t };\n\t\n\t /**\n\t * Sets the underlying disposable.\n\t * @param {Disposable} value The new underlying disposable.\n\t */\n\t\n\t SerialDisposable.prototype.setDisposable = function setDisposable() {\n\t var value = arguments[0] === undefined ? null : arguments[0];\n\t\n\t if (value != null && !_isDisposable2['default'](value)) {\n\t throw new Error('Expected either an empty value or a valid disposable');\n\t }\n\t\n\t var isDisposed = this.isDisposed;\n\t var previous = undefined;\n\t\n\t if (!isDisposed) {\n\t previous = this.current;\n\t this.current = value;\n\t }\n\t\n\t if (previous) {\n\t previous.dispose();\n\t }\n\t\n\t if (isDisposed && value) {\n\t value.dispose();\n\t }\n\t };\n\t\n\t /**\n\t * Disposes the underlying disposable as well as all future replacements.\n\t */\n\t\n\t SerialDisposable.prototype.dispose = function dispose() {\n\t if (this.isDisposed) {\n\t return;\n\t }\n\t\n\t this.isDisposed = true;\n\t var previous = this.current;\n\t this.current = null;\n\t\n\t if (previous) {\n\t previous.dispose();\n\t }\n\t };\n\t\n\t return SerialDisposable;\n\t})();\n\t\n\texports['default'] = SerialDisposable;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 84 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };\n\t\n\texports.__esModule = true;\n\t\n\tvar _isDisposable2 = __webpack_require__(22);\n\t\n\tvar _isDisposable3 = _interopRequireWildcard(_isDisposable2);\n\t\n\texports.isDisposable = _isDisposable3['default'];\n\t\n\tvar _Disposable2 = __webpack_require__(82);\n\t\n\tvar _Disposable3 = _interopRequireWildcard(_Disposable2);\n\t\n\texports.Disposable = _Disposable3['default'];\n\t\n\tvar _CompositeDisposable2 = __webpack_require__(81);\n\t\n\tvar _CompositeDisposable3 = _interopRequireWildcard(_CompositeDisposable2);\n\t\n\texports.CompositeDisposable = _CompositeDisposable3['default'];\n\t\n\tvar _SerialDisposable2 = __webpack_require__(83);\n\t\n\tvar _SerialDisposable3 = _interopRequireWildcard(_SerialDisposable2);\n\t\n\texports.SerialDisposable = _SerialDisposable3['default'];\n\n/***/ },\n/* 85 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _reduxLibCreateStore = __webpack_require__(221);\n\t\n\tvar _reduxLibCreateStore2 = _interopRequireDefault(_reduxLibCreateStore);\n\t\n\tvar _reducers = __webpack_require__(92);\n\t\n\tvar _reducers2 = _interopRequireDefault(_reducers);\n\t\n\tvar _actionsDragDrop = __webpack_require__(8);\n\t\n\tvar dragDropActions = _interopRequireWildcard(_actionsDragDrop);\n\t\n\tvar _DragDropMonitor = __webpack_require__(86);\n\t\n\tvar _DragDropMonitor2 = _interopRequireDefault(_DragDropMonitor);\n\t\n\tvar _HandlerRegistry = __webpack_require__(41);\n\t\n\tvar _HandlerRegistry2 = _interopRequireDefault(_HandlerRegistry);\n\t\n\tvar DragDropManager = (function () {\n\t function DragDropManager(createBackend) {\n\t _classCallCheck(this, DragDropManager);\n\t\n\t var store = _reduxLibCreateStore2['default'](_reducers2['default']);\n\t\n\t this.store = store;\n\t this.monitor = new _DragDropMonitor2['default'](store);\n\t this.registry = this.monitor.registry;\n\t this.backend = createBackend(this);\n\t\n\t store.subscribe(this.handleRefCountChange.bind(this));\n\t }\n\t\n\t DragDropManager.prototype.handleRefCountChange = function handleRefCountChange() {\n\t var shouldSetUp = this.store.getState().refCount > 0;\n\t if (shouldSetUp && !this.isSetUp) {\n\t this.backend.setup();\n\t this.isSetUp = true;\n\t } else if (!shouldSetUp && this.isSetUp) {\n\t this.backend.teardown();\n\t this.isSetUp = false;\n\t }\n\t };\n\t\n\t DragDropManager.prototype.getMonitor = function getMonitor() {\n\t return this.monitor;\n\t };\n\t\n\t DragDropManager.prototype.getBackend = function getBackend() {\n\t return this.backend;\n\t };\n\t\n\t DragDropManager.prototype.getRegistry = function getRegistry() {\n\t return this.registry;\n\t };\n\t\n\t DragDropManager.prototype.getActions = function getActions() {\n\t var manager = this;\n\t var dispatch = this.store.dispatch;\n\t\n\t function bindActionCreator(actionCreator) {\n\t return function () {\n\t var action = actionCreator.apply(manager, arguments);\n\t if (typeof action !== 'undefined') {\n\t dispatch(action);\n\t }\n\t };\n\t }\n\t\n\t return Object.keys(dragDropActions).filter(function (key) {\n\t return typeof dragDropActions[key] === 'function';\n\t }).reduce(function (boundActions, key) {\n\t boundActions[key] = bindActionCreator(dragDropActions[key]);\n\t return boundActions;\n\t }, {});\n\t };\n\t\n\t return DragDropManager;\n\t})();\n\t\n\texports['default'] = DragDropManager;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 86 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _invariant = __webpack_require__(2);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _utilsMatchesType = __webpack_require__(44);\n\t\n\tvar _utilsMatchesType2 = _interopRequireDefault(_utilsMatchesType);\n\t\n\tvar _lodashIsArray = __webpack_require__(12);\n\t\n\tvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\t\n\tvar _HandlerRegistry = __webpack_require__(41);\n\t\n\tvar _HandlerRegistry2 = _interopRequireDefault(_HandlerRegistry);\n\t\n\tvar _reducersDragOffset = __webpack_require__(43);\n\t\n\tvar _reducersDirtyHandlerIds = __webpack_require__(42);\n\t\n\tvar DragDropMonitor = (function () {\n\t function DragDropMonitor(store) {\n\t _classCallCheck(this, DragDropMonitor);\n\t\n\t this.store = store;\n\t this.registry = new _HandlerRegistry2['default'](store);\n\t }\n\t\n\t DragDropMonitor.prototype.subscribeToStateChange = function subscribeToStateChange(listener) {\n\t var _this = this;\n\t\n\t var _ref = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\n\t var handlerIds = _ref.handlerIds;\n\t\n\t _invariant2['default'](typeof listener === 'function', 'listener must be a function.');\n\t _invariant2['default'](typeof handlerIds === 'undefined' || _lodashIsArray2['default'](handlerIds), 'handlerIds, when specified, must be an array of strings.');\n\t\n\t var prevStateId = this.store.getState().stateId;\n\t var handleChange = function handleChange() {\n\t var state = _this.store.getState();\n\t var currentStateId = state.stateId;\n\t try {\n\t var canSkipListener = currentStateId === prevStateId || currentStateId === prevStateId + 1 && !_reducersDirtyHandlerIds.areDirty(state.dirtyHandlerIds, handlerIds);\n\t\n\t if (!canSkipListener) {\n\t listener();\n\t }\n\t } finally {\n\t prevStateId = currentStateId;\n\t }\n\t };\n\t\n\t return this.store.subscribe(handleChange);\n\t };\n\t\n\t DragDropMonitor.prototype.subscribeToOffsetChange = function subscribeToOffsetChange(listener) {\n\t var _this2 = this;\n\t\n\t _invariant2['default'](typeof listener === 'function', 'listener must be a function.');\n\t\n\t var previousState = this.store.getState().dragOffset;\n\t var handleChange = function handleChange() {\n\t var nextState = _this2.store.getState().dragOffset;\n\t if (nextState === previousState) {\n\t return;\n\t }\n\t\n\t previousState = nextState;\n\t listener();\n\t };\n\t\n\t return this.store.subscribe(handleChange);\n\t };\n\t\n\t DragDropMonitor.prototype.canDragSource = function canDragSource(sourceId) {\n\t var source = this.registry.getSource(sourceId);\n\t _invariant2['default'](source, 'Expected to find a valid source.');\n\t\n\t if (this.isDragging()) {\n\t return false;\n\t }\n\t\n\t return source.canDrag(this, sourceId);\n\t };\n\t\n\t DragDropMonitor.prototype.canDropOnTarget = function canDropOnTarget(targetId) {\n\t var target = this.registry.getTarget(targetId);\n\t _invariant2['default'](target, 'Expected to find a valid target.');\n\t\n\t if (!this.isDragging() || this.didDrop()) {\n\t return false;\n\t }\n\t\n\t var targetType = this.registry.getTargetType(targetId);\n\t var draggedItemType = this.getItemType();\n\t return _utilsMatchesType2['default'](targetType, draggedItemType) && target.canDrop(this, targetId);\n\t };\n\t\n\t DragDropMonitor.prototype.isDragging = function isDragging() {\n\t return Boolean(this.getItemType());\n\t };\n\t\n\t DragDropMonitor.prototype.isDraggingSource = function isDraggingSource(sourceId) {\n\t var source = this.registry.getSource(sourceId, true);\n\t _invariant2['default'](source, 'Expected to find a valid source.');\n\t\n\t if (!this.isDragging() || !this.isSourcePublic()) {\n\t return false;\n\t }\n\t\n\t var sourceType = this.registry.getSourceType(sourceId);\n\t var draggedItemType = this.getItemType();\n\t if (sourceType !== draggedItemType) {\n\t return false;\n\t }\n\t\n\t return source.isDragging(this, sourceId);\n\t };\n\t\n\t DragDropMonitor.prototype.isOverTarget = function isOverTarget(targetId) {\n\t var _ref2 = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\n\t var _ref2$shallow = _ref2.shallow;\n\t var shallow = _ref2$shallow === undefined ? false : _ref2$shallow;\n\t\n\t if (!this.isDragging()) {\n\t return false;\n\t }\n\t\n\t var targetType = this.registry.getTargetType(targetId);\n\t var draggedItemType = this.getItemType();\n\t if (!_utilsMatchesType2['default'](targetType, draggedItemType)) {\n\t return false;\n\t }\n\t\n\t var targetIds = this.getTargetIds();\n\t if (!targetIds.length) {\n\t return false;\n\t }\n\t\n\t var index = targetIds.indexOf(targetId);\n\t if (shallow) {\n\t return index === targetIds.length - 1;\n\t } else {\n\t return index > -1;\n\t }\n\t };\n\t\n\t DragDropMonitor.prototype.getItemType = function getItemType() {\n\t return this.store.getState().dragOperation.itemType;\n\t };\n\t\n\t DragDropMonitor.prototype.getItem = function getItem() {\n\t return this.store.getState().dragOperation.item;\n\t };\n\t\n\t DragDropMonitor.prototype.getSourceId = function getSourceId() {\n\t return this.store.getState().dragOperation.sourceId;\n\t };\n\t\n\t DragDropMonitor.prototype.getTargetIds = function getTargetIds() {\n\t return this.store.getState().dragOperation.targetIds;\n\t };\n\t\n\t DragDropMonitor.prototype.getDropResult = function getDropResult() {\n\t return this.store.getState().dragOperation.dropResult;\n\t };\n\t\n\t DragDropMonitor.prototype.didDrop = function didDrop() {\n\t return this.store.getState().dragOperation.didDrop;\n\t };\n\t\n\t DragDropMonitor.prototype.isSourcePublic = function isSourcePublic() {\n\t return this.store.getState().dragOperation.isSourcePublic;\n\t };\n\t\n\t DragDropMonitor.prototype.getInitialClientOffset = function getInitialClientOffset() {\n\t return this.store.getState().dragOffset.initialClientOffset;\n\t };\n\t\n\t DragDropMonitor.prototype.getInitialSourceClientOffset = function getInitialSourceClientOffset() {\n\t return this.store.getState().dragOffset.initialSourceClientOffset;\n\t };\n\t\n\t DragDropMonitor.prototype.getClientOffset = function getClientOffset() {\n\t return this.store.getState().dragOffset.clientOffset;\n\t };\n\t\n\t DragDropMonitor.prototype.getSourceClientOffset = function getSourceClientOffset() {\n\t return _reducersDragOffset.getSourceClientOffset(this.store.getState().dragOffset);\n\t };\n\t\n\t DragDropMonitor.prototype.getDifferenceFromInitialOffset = function getDifferenceFromInitialOffset() {\n\t return _reducersDragOffset.getDifferenceFromInitialOffset(this.store.getState().dragOffset);\n\t };\n\t\n\t return DragDropMonitor;\n\t})();\n\t\n\texports['default'] = DragDropMonitor;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 87 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar DragSource = (function () {\n\t function DragSource() {\n\t _classCallCheck(this, DragSource);\n\t }\n\t\n\t DragSource.prototype.canDrag = function canDrag() {\n\t return true;\n\t };\n\t\n\t DragSource.prototype.isDragging = function isDragging(monitor, handle) {\n\t return handle === monitor.getSourceId();\n\t };\n\t\n\t DragSource.prototype.endDrag = function endDrag() {};\n\t\n\t return DragSource;\n\t})();\n\t\n\texports[\"default\"] = DragSource;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 88 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar DropTarget = (function () {\n\t function DropTarget() {\n\t _classCallCheck(this, DropTarget);\n\t }\n\t\n\t DropTarget.prototype.canDrop = function canDrop() {\n\t return true;\n\t };\n\t\n\t DropTarget.prototype.hover = function hover() {};\n\t\n\t DropTarget.prototype.drop = function drop() {};\n\t\n\t return DropTarget;\n\t})();\n\t\n\texports[\"default\"] = DropTarget;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 89 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createBackend;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _lodashNoop = __webpack_require__(50);\n\t\n\tvar _lodashNoop2 = _interopRequireDefault(_lodashNoop);\n\t\n\tvar TestBackend = (function () {\n\t function TestBackend(manager) {\n\t _classCallCheck(this, TestBackend);\n\t\n\t this.actions = manager.getActions();\n\t }\n\t\n\t TestBackend.prototype.setup = function setup() {\n\t this.didCallSetup = true;\n\t };\n\t\n\t TestBackend.prototype.teardown = function teardown() {\n\t this.didCallTeardown = true;\n\t };\n\t\n\t TestBackend.prototype.connectDragSource = function connectDragSource() {\n\t return _lodashNoop2['default'];\n\t };\n\t\n\t TestBackend.prototype.connectDragPreview = function connectDragPreview() {\n\t return _lodashNoop2['default'];\n\t };\n\t\n\t TestBackend.prototype.connectDropTarget = function connectDropTarget() {\n\t return _lodashNoop2['default'];\n\t };\n\t\n\t TestBackend.prototype.simulateBeginDrag = function simulateBeginDrag(sourceIds, options) {\n\t this.actions.beginDrag(sourceIds, options);\n\t };\n\t\n\t TestBackend.prototype.simulatePublishDragSource = function simulatePublishDragSource() {\n\t this.actions.publishDragSource();\n\t };\n\t\n\t TestBackend.prototype.simulateHover = function simulateHover(targetIds, options) {\n\t this.actions.hover(targetIds, options);\n\t };\n\t\n\t TestBackend.prototype.simulateDrop = function simulateDrop() {\n\t this.actions.drop();\n\t };\n\t\n\t TestBackend.prototype.simulateEndDrag = function simulateEndDrag() {\n\t this.actions.endDrag();\n\t };\n\t\n\t return TestBackend;\n\t})();\n\t\n\tfunction createBackend(manager) {\n\t return new TestBackend(manager);\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 90 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequire(obj) { return obj && obj.__esModule ? obj['default'] : obj; }\n\t\n\tvar _DragDropManager = __webpack_require__(85);\n\t\n\texports.DragDropManager = _interopRequire(_DragDropManager);\n\t\n\tvar _DragSource = __webpack_require__(87);\n\t\n\texports.DragSource = _interopRequire(_DragSource);\n\t\n\tvar _DropTarget = __webpack_require__(88);\n\t\n\texports.DropTarget = _interopRequire(_DropTarget);\n\t\n\tvar _backendsCreateTestBackend = __webpack_require__(89);\n\t\n\texports.createTestBackend = _interopRequire(_backendsCreateTestBackend);\n\n/***/ },\n/* 91 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _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; };\n\t\n\texports['default'] = dragOperation;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _actionsDragDrop = __webpack_require__(8);\n\t\n\tvar _actionsRegistry = __webpack_require__(9);\n\t\n\tvar _lodashWithout = __webpack_require__(136);\n\t\n\tvar _lodashWithout2 = _interopRequireDefault(_lodashWithout);\n\t\n\tvar initialState = {\n\t itemType: null,\n\t item: null,\n\t sourceId: null,\n\t targetIds: [],\n\t dropResult: null,\n\t didDrop: false,\n\t isSourcePublic: null\n\t};\n\t\n\tfunction dragOperation(state, action) {\n\t if (state === undefined) state = initialState;\n\t\n\t switch (action.type) {\n\t case _actionsDragDrop.BEGIN_DRAG:\n\t return _extends({}, state, {\n\t itemType: action.itemType,\n\t item: action.item,\n\t sourceId: action.sourceId,\n\t isSourcePublic: action.isSourcePublic,\n\t dropResult: null,\n\t didDrop: false\n\t });\n\t case _actionsDragDrop.PUBLISH_DRAG_SOURCE:\n\t return _extends({}, state, {\n\t isSourcePublic: true\n\t });\n\t case _actionsDragDrop.HOVER:\n\t return _extends({}, state, {\n\t targetIds: action.targetIds\n\t });\n\t case _actionsRegistry.REMOVE_TARGET:\n\t if (state.targetIds.indexOf(action.targetId) === -1) {\n\t return state;\n\t }\n\t return _extends({}, state, {\n\t targetIds: _lodashWithout2['default'](state.targetIds, action.targetId)\n\t });\n\t case _actionsDragDrop.DROP:\n\t return _extends({}, state, {\n\t dropResult: action.dropResult,\n\t didDrop: true,\n\t targetIds: []\n\t });\n\t case _actionsDragDrop.END_DRAG:\n\t return _extends({}, state, {\n\t itemType: null,\n\t item: null,\n\t sourceId: null,\n\t dropResult: null,\n\t didDrop: false,\n\t isSourcePublic: null,\n\t targetIds: []\n\t });\n\t default:\n\t return state;\n\t }\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 92 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _dragOffset = __webpack_require__(43);\n\t\n\tvar _dragOffset2 = _interopRequireDefault(_dragOffset);\n\t\n\tvar _dragOperation = __webpack_require__(91);\n\t\n\tvar _dragOperation2 = _interopRequireDefault(_dragOperation);\n\t\n\tvar _refCount = __webpack_require__(93);\n\t\n\tvar _refCount2 = _interopRequireDefault(_refCount);\n\t\n\tvar _dirtyHandlerIds = __webpack_require__(42);\n\t\n\tvar _dirtyHandlerIds2 = _interopRequireDefault(_dirtyHandlerIds);\n\t\n\tvar _stateId = __webpack_require__(94);\n\t\n\tvar _stateId2 = _interopRequireDefault(_stateId);\n\t\n\texports['default'] = function (state, action) {\n\t if (state === undefined) state = {};\n\t\n\t return {\n\t dirtyHandlerIds: _dirtyHandlerIds2['default'](state.dirtyHandlerIds, action, state.dragOperation),\n\t dragOffset: _dragOffset2['default'](state.dragOffset, action),\n\t refCount: _refCount2['default'](state.refCount, action),\n\t dragOperation: _dragOperation2['default'](state.dragOperation, action),\n\t stateId: _stateId2['default'](state.stateId)\n\t };\n\t};\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 93 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = refCount;\n\t\n\tvar _actionsRegistry = __webpack_require__(9);\n\t\n\tfunction refCount(state, action) {\n\t if (state === undefined) state = 0;\n\t\n\t switch (action.type) {\n\t case _actionsRegistry.ADD_SOURCE:\n\t case _actionsRegistry.ADD_TARGET:\n\t return state + 1;\n\t case _actionsRegistry.REMOVE_SOURCE:\n\t case _actionsRegistry.REMOVE_TARGET:\n\t return state - 1;\n\t default:\n\t return state;\n\t }\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 94 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = stateId;\n\t\n\tfunction stateId() {\n\t var state = arguments.length <= 0 || arguments[0] === undefined ? 0 : arguments[0];\n\t\n\t return state + 1;\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 95 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = getNextUniqueId;\n\tvar nextUniqueId = 0;\n\t\n\tfunction getNextUniqueId() {\n\t return nextUniqueId++;\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 96 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(11);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Creates a hash object.\n\t *\n\t * @private\n\t * @constructor\n\t * @returns {Object} Returns the new hash object.\n\t */\n\tfunction Hash() {}\n\t\n\t// Avoid inheriting from `Object.prototype` when possible.\n\tHash.prototype = nativeCreate ? nativeCreate(null) : objectProto;\n\t\n\tmodule.exports = Hash;\n\n\n/***/ },\n/* 97 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar mapClear = __webpack_require__(121),\n\t mapDelete = __webpack_require__(122),\n\t mapGet = __webpack_require__(123),\n\t mapHas = __webpack_require__(124),\n\t mapSet = __webpack_require__(125);\n\t\n\t/**\n\t * Creates a map cache object to store key-value pairs.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [values] The values to cache.\n\t */\n\tfunction MapCache(values) {\n\t var index = -1,\n\t length = values ? values.length : 0;\n\t\n\t this.clear();\n\t while (++index < length) {\n\t var entry = values[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\t\n\t// Add methods to `MapCache`.\n\tMapCache.prototype.clear = mapClear;\n\tMapCache.prototype['delete'] = mapDelete;\n\tMapCache.prototype.get = mapGet;\n\tMapCache.prototype.has = mapHas;\n\tMapCache.prototype.set = mapSet;\n\t\n\tmodule.exports = MapCache;\n\n\n/***/ },\n/* 98 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(28),\n\t root = __webpack_require__(48);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar Set = getNative(root, 'Set');\n\t\n\tmodule.exports = Set;\n\n\n/***/ },\n/* 99 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A faster alternative to `Function#apply`, this function invokes `func`\n\t * with the `this` binding of `thisArg` and the arguments of `args`.\n\t *\n\t * @private\n\t * @param {Function} func The function to invoke.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {Array} args The arguments to invoke `func` with.\n\t * @returns {*} Returns the result of `func`.\n\t */\n\tfunction apply(func, thisArg, args) {\n\t var length = args.length;\n\t switch (length) {\n\t case 0: return func.call(thisArg);\n\t case 1: return func.call(thisArg, args[0]);\n\t case 2: return func.call(thisArg, args[0], args[1]);\n\t case 3: return func.call(thisArg, args[0], args[1], args[2]);\n\t }\n\t return func.apply(thisArg, args);\n\t}\n\t\n\tmodule.exports = apply;\n\n\n/***/ },\n/* 100 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.filter` for arrays without support for\n\t * iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {Array} Returns the new filtered array.\n\t */\n\tfunction arrayFilter(array, predicate) {\n\t var index = -1,\n\t length = array.length,\n\t resIndex = 0,\n\t result = [];\n\t\n\t while (++index < length) {\n\t var value = array[index];\n\t if (predicate(value, index, array)) {\n\t result[resIndex++] = value;\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = arrayFilter;\n\n\n/***/ },\n/* 101 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Appends the elements of `values` to `array`.\n\t *\n\t * @private\n\t * @param {Array} array The array to modify.\n\t * @param {Array} values The values to append.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayPush(array, values) {\n\t var index = -1,\n\t length = values.length,\n\t offset = array.length;\n\t\n\t while (++index < length) {\n\t array[offset + index] = values[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayPush;\n\n\n/***/ },\n/* 102 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(10);\n\t\n\t/** Used for built-in method references. */\n\tvar arrayProto = Array.prototype;\n\t\n\t/** Built-in value references. */\n\tvar splice = arrayProto.splice;\n\t\n\t/**\n\t * Removes `key` and its value from the associative array.\n\t *\n\t * @private\n\t * @param {Array} array The array to modify.\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction assocDelete(array, key) {\n\t var index = assocIndexOf(array, key);\n\t if (index < 0) {\n\t return false;\n\t }\n\t var lastIndex = array.length - 1;\n\t if (index == lastIndex) {\n\t array.pop();\n\t } else {\n\t splice.call(array, index, 1);\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = assocDelete;\n\n\n/***/ },\n/* 103 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(10);\n\t\n\t/**\n\t * Gets the associative array value for `key`.\n\t *\n\t * @private\n\t * @param {Array} array The array to query.\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction assocGet(array, key) {\n\t var index = assocIndexOf(array, key);\n\t return index < 0 ? undefined : array[index][1];\n\t}\n\t\n\tmodule.exports = assocGet;\n\n\n/***/ },\n/* 104 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(10);\n\t\n\t/**\n\t * Checks if an associative array value for `key` exists.\n\t *\n\t * @private\n\t * @param {Array} array The array to query.\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction assocHas(array, key) {\n\t return assocIndexOf(array, key) > -1;\n\t}\n\t\n\tmodule.exports = assocHas;\n\n\n/***/ },\n/* 105 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(10);\n\t\n\t/**\n\t * Sets the associative array `key` to `value`.\n\t *\n\t * @private\n\t * @param {Array} array The array to modify.\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t */\n\tfunction assocSet(array, key, value) {\n\t var index = assocIndexOf(array, key);\n\t if (index < 0) {\n\t array.push([key, value]);\n\t } else {\n\t array[index][1] = value;\n\t }\n\t}\n\t\n\tmodule.exports = assocSet;\n\n\n/***/ },\n/* 106 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar indexOfNaN = __webpack_require__(119);\n\t\n\t/**\n\t * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {*} value The value to search for.\n\t * @param {number} fromIndex The index to search from.\n\t * @returns {number} Returns the index of the matched value, else `-1`.\n\t */\n\tfunction baseIndexOf(array, value, fromIndex) {\n\t if (value !== value) {\n\t return indexOfNaN(array, fromIndex);\n\t }\n\t var index = fromIndex - 1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (array[index] === value) {\n\t return index;\n\t }\n\t }\n\t return -1;\n\t}\n\t\n\tmodule.exports = baseIndexOf;\n\n\n/***/ },\n/* 107 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar SetCache = __webpack_require__(23),\n\t arrayIncludes = __webpack_require__(24),\n\t arrayIncludesWith = __webpack_require__(25),\n\t arrayMap = __webpack_require__(26),\n\t baseUnary = __webpack_require__(46),\n\t cacheHas = __webpack_require__(27);\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeMin = Math.min;\n\t\n\t/**\n\t * The base implementation of methods like `_.intersection`, without support\n\t * for iteratee shorthands, that accepts an array of arrays to inspect.\n\t *\n\t * @private\n\t * @param {Array} arrays The arrays to inspect.\n\t * @param {Function} [iteratee] The iteratee invoked per element.\n\t * @param {Function} [comparator] The comparator invoked per element.\n\t * @returns {Array} Returns the new array of shared values.\n\t */\n\tfunction baseIntersection(arrays, iteratee, comparator) {\n\t var includes = comparator ? arrayIncludesWith : arrayIncludes,\n\t length = arrays[0].length,\n\t othLength = arrays.length,\n\t othIndex = othLength,\n\t caches = Array(othLength),\n\t maxLength = Infinity,\n\t result = [];\n\t\n\t while (othIndex--) {\n\t var array = arrays[othIndex];\n\t if (othIndex && iteratee) {\n\t array = arrayMap(array, baseUnary(iteratee));\n\t }\n\t maxLength = nativeMin(array.length, maxLength);\n\t caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n\t ? new SetCache(othIndex && array)\n\t : undefined;\n\t }\n\t array = arrays[0];\n\t\n\t var index = -1,\n\t seen = caches[0];\n\t\n\t outer:\n\t while (++index < length && result.length < maxLength) {\n\t var value = array[index],\n\t computed = iteratee ? iteratee(value) : value;\n\t\n\t if (!(seen\n\t ? cacheHas(seen, computed)\n\t : includes(result, computed, comparator)\n\t )) {\n\t othIndex = othLength;\n\t while (--othIndex) {\n\t var cache = caches[othIndex];\n\t if (!(cache\n\t ? cacheHas(cache, computed)\n\t : includes(arrays[othIndex], computed, comparator))\n\t ) {\n\t continue outer;\n\t }\n\t }\n\t if (seen) {\n\t seen.push(computed);\n\t }\n\t result.push(value);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIntersection;\n\n\n/***/ },\n/* 108 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 109 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar SetCache = __webpack_require__(23),\n\t arrayIncludes = __webpack_require__(24),\n\t arrayIncludesWith = __webpack_require__(25),\n\t cacheHas = __webpack_require__(27),\n\t createSet = __webpack_require__(114),\n\t setToArray = __webpack_require__(126);\n\t\n\t/** Used as the size to enable large array optimizations. */\n\tvar LARGE_ARRAY_SIZE = 200;\n\t\n\t/**\n\t * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} array The array to inspect.\n\t * @param {Function} [iteratee] The iteratee invoked per element.\n\t * @param {Function} [comparator] The comparator invoked per element.\n\t * @returns {Array} Returns the new duplicate free array.\n\t */\n\tfunction baseUniq(array, iteratee, comparator) {\n\t var index = -1,\n\t includes = arrayIncludes,\n\t length = array.length,\n\t isCommon = true,\n\t result = [],\n\t seen = result;\n\t\n\t if (comparator) {\n\t isCommon = false;\n\t includes = arrayIncludesWith;\n\t }\n\t else if (length >= LARGE_ARRAY_SIZE) {\n\t var set = iteratee ? null : createSet(array);\n\t if (set) {\n\t return setToArray(set);\n\t }\n\t isCommon = false;\n\t includes = cacheHas;\n\t seen = new SetCache;\n\t }\n\t else {\n\t seen = iteratee ? [] : result;\n\t }\n\t outer:\n\t while (++index < length) {\n\t var value = array[index],\n\t computed = iteratee ? iteratee(value) : value;\n\t\n\t if (isCommon && computed === computed) {\n\t var seenIndex = seen.length;\n\t while (seenIndex--) {\n\t if (seen[seenIndex] === computed) {\n\t continue outer;\n\t }\n\t }\n\t if (iteratee) {\n\t seen.push(computed);\n\t }\n\t result.push(value);\n\t }\n\t else if (!includes(seen, computed, comparator)) {\n\t if (seen !== result) {\n\t seen.push(computed);\n\t }\n\t result.push(value);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseUniq;\n\n\n/***/ },\n/* 110 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayPush = __webpack_require__(101),\n\t baseDifference = __webpack_require__(45),\n\t baseUniq = __webpack_require__(109);\n\t\n\t/**\n\t * The base implementation of methods like `_.xor`, without support for\n\t * iteratee shorthands, that accepts an array of arrays to inspect.\n\t *\n\t * @private\n\t * @param {Array} arrays The arrays to inspect.\n\t * @param {Function} [iteratee] The iteratee invoked per element.\n\t * @param {Function} [comparator] The comparator invoked per element.\n\t * @returns {Array} Returns the new array of values.\n\t */\n\tfunction baseXor(arrays, iteratee, comparator) {\n\t var index = -1,\n\t length = arrays.length;\n\t\n\t while (++index < length) {\n\t var result = result\n\t ? arrayPush(\n\t baseDifference(result, arrays[index], iteratee, comparator),\n\t baseDifference(arrays[index], result, iteratee, comparator)\n\t )\n\t : arrays[index];\n\t }\n\t return (result && result.length) ? baseUniq(result, iteratee, comparator) : [];\n\t}\n\t\n\tmodule.exports = baseXor;\n\n\n/***/ },\n/* 111 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isKeyable = __webpack_require__(3);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/**\n\t * Adds `value` to the set cache.\n\t *\n\t * @private\n\t * @name push\n\t * @memberOf SetCache\n\t * @param {*} value The value to cache.\n\t */\n\tfunction cachePush(value) {\n\t var map = this.__data__;\n\t if (isKeyable(value)) {\n\t var data = map.__data__,\n\t hash = typeof value == 'string' ? data.string : data.hash;\n\t\n\t hash[value] = HASH_UNDEFINED;\n\t }\n\t else {\n\t map.set(value, HASH_UNDEFINED);\n\t }\n\t}\n\t\n\tmodule.exports = cachePush;\n\n\n/***/ },\n/* 112 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLikeObject = __webpack_require__(29);\n\t\n\t/**\n\t * Casts `value` to an empty array if it's not an array like object.\n\t *\n\t * @private\n\t * @param {*} value The value to inspect.\n\t * @returns {Array|Object} Returns the cast array-like object.\n\t */\n\tfunction castArrayLikeObject(value) {\n\t return isArrayLikeObject(value) ? value : [];\n\t}\n\t\n\tmodule.exports = castArrayLikeObject;\n\n\n/***/ },\n/* 113 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is a global object.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {null|Object} Returns `value` if it's a global object, else `null`.\n\t */\n\tfunction checkGlobal(value) {\n\t return (value && value.Object === Object) ? value : null;\n\t}\n\t\n\tmodule.exports = checkGlobal;\n\n\n/***/ },\n/* 114 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Set = __webpack_require__(98),\n\t noop = __webpack_require__(50);\n\t\n\t/**\n\t * Creates a set of `values`.\n\t *\n\t * @private\n\t * @param {Array} values The values to add to the set.\n\t * @returns {Object} Returns the new set.\n\t */\n\tvar createSet = !(Set && new Set([1, 2]).size === 2) ? noop : function(values) {\n\t return new Set(values);\n\t};\n\t\n\tmodule.exports = createSet;\n\n\n/***/ },\n/* 115 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(108);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a\n\t * [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792) that affects\n\t * Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 116 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar hashHas = __webpack_require__(47);\n\t\n\t/**\n\t * Removes `key` and its value from the hash.\n\t *\n\t * @private\n\t * @param {Object} hash The hash to modify.\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction hashDelete(hash, key) {\n\t return hashHas(hash, key) && delete hash[key];\n\t}\n\t\n\tmodule.exports = hashDelete;\n\n\n/***/ },\n/* 117 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(11);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Gets the hash value for `key`.\n\t *\n\t * @private\n\t * @param {Object} hash The hash to query.\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction hashGet(hash, key) {\n\t if (nativeCreate) {\n\t var result = hash[key];\n\t return result === HASH_UNDEFINED ? undefined : result;\n\t }\n\t return hasOwnProperty.call(hash, key) ? hash[key] : undefined;\n\t}\n\t\n\tmodule.exports = hashGet;\n\n\n/***/ },\n/* 118 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(11);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/**\n\t * Sets the hash `key` to `value`.\n\t *\n\t * @private\n\t * @param {Object} hash The hash to modify.\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t */\n\tfunction hashSet(hash, key, value) {\n\t hash[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n\t}\n\t\n\tmodule.exports = hashSet;\n\n\n/***/ },\n/* 119 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Gets the index at which the first occurrence of `NaN` is found in `array`.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {number} fromIndex The index to search from.\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {number} Returns the index of the matched `NaN`, else `-1`.\n\t */\n\tfunction indexOfNaN(array, fromIndex, fromRight) {\n\t var length = array.length,\n\t index = fromIndex + (fromRight ? 0 : -1);\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var other = array[index];\n\t if (other !== other) {\n\t return index;\n\t }\n\t }\n\t return -1;\n\t}\n\t\n\tmodule.exports = indexOfNaN;\n\n\n/***/ },\n/* 120 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is a host object in IE < 9.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n\t */\n\tfunction isHostObject(value) {\n\t // Many host objects are `Object` objects that can coerce to strings\n\t // despite having improperly defined `toString` methods.\n\t var result = false;\n\t if (value != null && typeof value.toString != 'function') {\n\t try {\n\t result = !!(value + '');\n\t } catch (e) {}\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = isHostObject;\n\n\n/***/ },\n/* 121 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Hash = __webpack_require__(96),\n\t Map = __webpack_require__(6);\n\t\n\t/**\n\t * Removes all key-value entries from the map.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf MapCache\n\t */\n\tfunction mapClear() {\n\t this.__data__ = {\n\t 'hash': new Hash,\n\t 'map': Map ? new Map : [],\n\t 'string': new Hash\n\t };\n\t}\n\t\n\tmodule.exports = mapClear;\n\n\n/***/ },\n/* 122 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Map = __webpack_require__(6),\n\t assocDelete = __webpack_require__(102),\n\t hashDelete = __webpack_require__(116),\n\t isKeyable = __webpack_require__(3);\n\t\n\t/**\n\t * Removes `key` and its value from the map.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction mapDelete(key) {\n\t var data = this.__data__;\n\t if (isKeyable(key)) {\n\t return hashDelete(typeof key == 'string' ? data.string : data.hash, key);\n\t }\n\t return Map ? data.map['delete'](key) : assocDelete(data.map, key);\n\t}\n\t\n\tmodule.exports = mapDelete;\n\n\n/***/ },\n/* 123 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Map = __webpack_require__(6),\n\t assocGet = __webpack_require__(103),\n\t hashGet = __webpack_require__(117),\n\t isKeyable = __webpack_require__(3);\n\t\n\t/**\n\t * Gets the map value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction mapGet(key) {\n\t var data = this.__data__;\n\t if (isKeyable(key)) {\n\t return hashGet(typeof key == 'string' ? data.string : data.hash, key);\n\t }\n\t return Map ? data.map.get(key) : assocGet(data.map, key);\n\t}\n\t\n\tmodule.exports = mapGet;\n\n\n/***/ },\n/* 124 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Map = __webpack_require__(6),\n\t assocHas = __webpack_require__(104),\n\t hashHas = __webpack_require__(47),\n\t isKeyable = __webpack_require__(3);\n\t\n\t/**\n\t * Checks if a map value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf MapCache\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction mapHas(key) {\n\t var data = this.__data__;\n\t if (isKeyable(key)) {\n\t return hashHas(typeof key == 'string' ? data.string : data.hash, key);\n\t }\n\t return Map ? data.map.has(key) : assocHas(data.map, key);\n\t}\n\t\n\tmodule.exports = mapHas;\n\n\n/***/ },\n/* 125 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Map = __webpack_require__(6),\n\t assocSet = __webpack_require__(105),\n\t hashSet = __webpack_require__(118),\n\t isKeyable = __webpack_require__(3);\n\t\n\t/**\n\t * Sets the map `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the map cache instance.\n\t */\n\tfunction mapSet(key, value) {\n\t var data = this.__data__;\n\t if (isKeyable(key)) {\n\t hashSet(typeof key == 'string' ? data.string : data.hash, key, value);\n\t } else if (Map) {\n\t data.map.set(key, value);\n\t } else {\n\t assocSet(data.map, key, value);\n\t }\n\t return this;\n\t}\n\t\n\tmodule.exports = mapSet;\n\n\n/***/ },\n/* 126 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Converts `set` to an array.\n\t *\n\t * @private\n\t * @param {Object} set The set to convert.\n\t * @returns {Array} Returns the converted array.\n\t */\n\tfunction setToArray(set) {\n\t var index = -1,\n\t result = Array(set.size);\n\t\n\t set.forEach(function(value) {\n\t result[++index] = value;\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = setToArray;\n\n\n/***/ },\n/* 127 */\n/***/ function(module, exports) {\n\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = Function.prototype.toString;\n\t\n\t/**\n\t * Converts `func` to its source code.\n\t *\n\t * @private\n\t * @param {Function} func The function to process.\n\t * @returns {string} Returns the source code.\n\t */\n\tfunction toSource(func) {\n\t if (func != null) {\n\t try {\n\t return funcToString.call(func);\n\t } catch (e) {}\n\t try {\n\t return (func + '');\n\t } catch (e) {}\n\t }\n\t return '';\n\t}\n\t\n\tmodule.exports = toSource;\n\n\n/***/ },\n/* 128 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Performs a\n\t * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n\t * comparison between two values to determine if they are equivalent.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t * var other = { 'user': 'fred' };\n\t *\n\t * _.eq(object, object);\n\t * // => true\n\t *\n\t * _.eq(object, other);\n\t * // => false\n\t *\n\t * _.eq('a', 'a');\n\t * // => true\n\t *\n\t * _.eq('a', Object('a'));\n\t * // => false\n\t *\n\t * _.eq(NaN, NaN);\n\t * // => true\n\t */\n\tfunction eq(value, other) {\n\t return value === other || (value !== value && other !== other);\n\t}\n\t\n\tmodule.exports = eq;\n\n\n/***/ },\n/* 129 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayMap = __webpack_require__(26),\n\t baseIntersection = __webpack_require__(107),\n\t castArrayLikeObject = __webpack_require__(112),\n\t rest = __webpack_require__(31);\n\t\n\t/**\n\t * Creates an array of unique values that are included in all given arrays\n\t * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n\t * for equality comparisons. The order of result values is determined by the\n\t * order they occur in the first array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Array\n\t * @param {...Array} [arrays] The arrays to inspect.\n\t * @returns {Array} Returns the new array of intersecting values.\n\t * @example\n\t *\n\t * _.intersection([2, 1], [4, 2], [1, 2]);\n\t * // => [2]\n\t */\n\tvar intersection = rest(function(arrays) {\n\t var mapped = arrayMap(arrays, castArrayLikeObject);\n\t return (mapped.length && mapped[0] === arrays[0])\n\t ? baseIntersection(mapped)\n\t : [];\n\t});\n\t\n\tmodule.exports = intersection;\n\n\n/***/ },\n/* 130 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(115),\n\t isFunction = __webpack_require__(30),\n\t isLength = __webpack_require__(131);\n\t\n\t/**\n\t * Checks if `value` is array-like. A value is considered array-like if it's\n\t * not a function and has a `value.length` that's an integer greater than or\n\t * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t * @example\n\t *\n\t * _.isArrayLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArrayLike(document.body.children);\n\t * // => true\n\t *\n\t * _.isArrayLike('abc');\n\t * // => true\n\t *\n\t * _.isArrayLike(_.noop);\n\t * // => false\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value)) && !isFunction(value);\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 131 */\n/***/ function(module, exports) {\n\n\t/** Used as references for various `Number` constants. */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is loosely based on\n\t * [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isLength(3);\n\t * // => true\n\t *\n\t * _.isLength(Number.MIN_VALUE);\n\t * // => false\n\t *\n\t * _.isLength(Infinity);\n\t * // => false\n\t *\n\t * _.isLength('3');\n\t * // => false\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' &&\n\t value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 132 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(30),\n\t isHostObject = __webpack_require__(120),\n\t isObject = __webpack_require__(13),\n\t toSource = __webpack_require__(127);\n\t\n\t/**\n\t * Used to match `RegExp`\n\t * [syntax characters](http://ecma-international.org/ecma-262/6.0/#sec-patterns).\n\t */\n\tvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\t\n\t/** Used to detect host constructors (Safari). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 3.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (!isObject(value)) {\n\t return false;\n\t }\n\t var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n\t return pattern.test(toSource(value));\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 133 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObjectLike = __webpack_require__(49);\n\t\n\t/** `Object#toString` result references. */\n\tvar symbolTag = '[object Symbol]';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Symbol` primitive or object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isSymbol(Symbol.iterator);\n\t * // => true\n\t *\n\t * _.isSymbol('abc');\n\t * // => false\n\t */\n\tfunction isSymbol(value) {\n\t return typeof value == 'symbol' ||\n\t (isObjectLike(value) && objectToString.call(value) == symbolTag);\n\t}\n\t\n\tmodule.exports = isSymbol;\n\n\n/***/ },\n/* 134 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toNumber = __webpack_require__(135);\n\t\n\t/** Used as references for various `Number` constants. */\n\tvar INFINITY = 1 / 0,\n\t MAX_INTEGER = 1.7976931348623157e+308;\n\t\n\t/**\n\t * Converts `value` to an integer.\n\t *\n\t * **Note:** This function is loosely based on\n\t * [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to convert.\n\t * @returns {number} Returns the converted integer.\n\t * @example\n\t *\n\t * _.toInteger(3);\n\t * // => 3\n\t *\n\t * _.toInteger(Number.MIN_VALUE);\n\t * // => 0\n\t *\n\t * _.toInteger(Infinity);\n\t * // => 1.7976931348623157e+308\n\t *\n\t * _.toInteger('3');\n\t * // => 3\n\t */\n\tfunction toInteger(value) {\n\t if (!value) {\n\t return value === 0 ? value : 0;\n\t }\n\t value = toNumber(value);\n\t if (value === INFINITY || value === -INFINITY) {\n\t var sign = (value < 0 ? -1 : 1);\n\t return sign * MAX_INTEGER;\n\t }\n\t var remainder = value % 1;\n\t return value === value ? (remainder ? value - remainder : value) : 0;\n\t}\n\t\n\tmodule.exports = toInteger;\n\n\n/***/ },\n/* 135 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(30),\n\t isObject = __webpack_require__(13),\n\t isSymbol = __webpack_require__(133);\n\t\n\t/** Used as references for various `Number` constants. */\n\tvar NAN = 0 / 0;\n\t\n\t/** Used to match leading and trailing whitespace. */\n\tvar reTrim = /^\\s+|\\s+$/g;\n\t\n\t/** Used to detect bad signed hexadecimal string values. */\n\tvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\t\n\t/** Used to detect binary string values. */\n\tvar reIsBinary = /^0b[01]+$/i;\n\t\n\t/** Used to detect octal string values. */\n\tvar reIsOctal = /^0o[0-7]+$/i;\n\t\n\t/** Built-in method references without a dependency on `root`. */\n\tvar freeParseInt = parseInt;\n\t\n\t/**\n\t * Converts `value` to a number.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to process.\n\t * @returns {number} Returns the number.\n\t * @example\n\t *\n\t * _.toNumber(3);\n\t * // => 3\n\t *\n\t * _.toNumber(Number.MIN_VALUE);\n\t * // => 5e-324\n\t *\n\t * _.toNumber(Infinity);\n\t * // => Infinity\n\t *\n\t * _.toNumber('3');\n\t * // => 3\n\t */\n\tfunction toNumber(value) {\n\t if (typeof value == 'number') {\n\t return value;\n\t }\n\t if (isSymbol(value)) {\n\t return NAN;\n\t }\n\t if (isObject(value)) {\n\t var other = isFunction(value.valueOf) ? value.valueOf() : value;\n\t value = isObject(other) ? (other + '') : other;\n\t }\n\t if (typeof value != 'string') {\n\t return value === 0 ? value : +value;\n\t }\n\t value = value.replace(reTrim, '');\n\t var isBinary = reIsBinary.test(value);\n\t return (isBinary || reIsOctal.test(value))\n\t ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n\t : (reIsBadHex.test(value) ? NAN : +value);\n\t}\n\t\n\tmodule.exports = toNumber;\n\n\n/***/ },\n/* 136 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseDifference = __webpack_require__(45),\n\t isArrayLikeObject = __webpack_require__(29),\n\t rest = __webpack_require__(31);\n\t\n\t/**\n\t * Creates an array excluding all given values using\n\t * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n\t * for equality comparisons.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Array\n\t * @param {Array} array The array to filter.\n\t * @param {...*} [values] The values to exclude.\n\t * @returns {Array} Returns the new array of filtered values.\n\t * @example\n\t *\n\t * _.without([1, 2, 1, 3], 1, 2);\n\t * // => [3]\n\t */\n\tvar without = rest(function(array, values) {\n\t return isArrayLikeObject(array)\n\t ? baseDifference(array, values)\n\t : [];\n\t});\n\t\n\tmodule.exports = without;\n\n\n/***/ },\n/* 137 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayFilter = __webpack_require__(100),\n\t baseXor = __webpack_require__(110),\n\t isArrayLikeObject = __webpack_require__(29),\n\t rest = __webpack_require__(31);\n\t\n\t/**\n\t * Creates an array of unique values that is the\n\t * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\n\t * of the given arrays. The order of result values is determined by the order\n\t * they occur in the arrays.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 2.4.0\n\t * @category Array\n\t * @param {...Array} [arrays] The arrays to inspect.\n\t * @returns {Array} Returns the new array of values.\n\t * @example\n\t *\n\t * _.xor([2, 1], [4, 2]);\n\t * // => [1, 4]\n\t */\n\tvar xor = rest(function(arrays) {\n\t return baseXor(arrayFilter(arrays, isArrayLikeObject));\n\t});\n\t\n\tmodule.exports = xor;\n\n\n/***/ },\n/* 138 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t */\n\t\n\t'use strict';\n\t\n\t/**\n\t * Use invariant() to assert state which your program assumes to be true.\n\t *\n\t * Provide sprintf-style format (only %s is supported) and arguments\n\t * to provide information about what broke and what you were\n\t * expecting.\n\t *\n\t * The invariant message will be stripped in production, but the invariant\n\t * will remain to ensure logic does not differ in production.\n\t */\n\t\n\tfunction invariant(condition, format, a, b, c, d, e, f) {\n\t if (false) {\n\t if (format === undefined) {\n\t throw new Error('invariant requires an error message argument');\n\t }\n\t }\n\t\n\t if (!condition) {\n\t var error;\n\t if (format === undefined) {\n\t error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n\t } else {\n\t var args = [a, b, c, d, e, f];\n\t var argIndex = 0;\n\t error = new Error(format.replace(/%s/g, function () {\n\t return args[argIndex++];\n\t }));\n\t error.name = 'Invariant Violation';\n\t }\n\t\n\t error.framesToPop = 1; // we don't care about invariant's own frame\n\t throw error;\n\t }\n\t}\n\t\n\tmodule.exports = invariant;\n\n/***/ },\n/* 139 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t */\n\t\n\t/**\n\t * Allows extraction of a minified key. Let's the build system minify keys\n\t * without losing the ability to dynamically use key strings as values\n\t * themselves. Pass in an object with a single key/val pair and it will return\n\t * you the string key of that single record. Suppose you want to grab the\n\t * value for a key 'className' inside of an object. Key/val minification may\n\t * have aliased that key to be 'xa12'. keyOf({className: null}) will return\n\t * 'xa12' in that case. Resolve keys you want to use once at startup time, then\n\t * reuse those resolutions.\n\t */\n\tvar keyOf = function (oneKeyObj) {\n\t var key;\n\t for (key in oneKeyObj) {\n\t if (!oneKeyObj.hasOwnProperty(key)) {\n\t continue;\n\t }\n\t return key;\n\t }\n\t return null;\n\t};\n\t\n\tmodule.exports = keyOf;\n\n/***/ },\n/* 140 */\n/***/ function(module, exports) {\n\n\t/* eslint-disable no-unused-vars */\n\t'use strict';\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\t\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\t\n\t\treturn Object(val);\n\t}\n\t\n\tmodule.exports = Object.assign || function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\t\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\t\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\tif (Object.getOwnPropertySymbols) {\n\t\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\treturn to;\n\t};\n\n\n/***/ },\n/* 141 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _lodashUnion = __webpack_require__(201);\n\t\n\tvar _lodashUnion2 = _interopRequireDefault(_lodashUnion);\n\t\n\tvar _lodashWithout = __webpack_require__(202);\n\t\n\tvar _lodashWithout2 = _interopRequireDefault(_lodashWithout);\n\t\n\tvar EnterLeaveCounter = (function () {\n\t function EnterLeaveCounter() {\n\t _classCallCheck(this, EnterLeaveCounter);\n\t\n\t this.entered = [];\n\t }\n\t\n\t EnterLeaveCounter.prototype.enter = function enter(enteringNode) {\n\t var previousLength = this.entered.length;\n\t\n\t this.entered = _lodashUnion2['default'](this.entered.filter(function (node) {\n\t return document.documentElement.contains(node) && (!node.contains || node.contains(enteringNode));\n\t }), [enteringNode]);\n\t\n\t return previousLength === 0 && this.entered.length > 0;\n\t };\n\t\n\t EnterLeaveCounter.prototype.leave = function leave(leavingNode) {\n\t var previousLength = this.entered.length;\n\t\n\t this.entered = _lodashWithout2['default'](this.entered.filter(function (node) {\n\t return document.documentElement.contains(node);\n\t }), leavingNode);\n\t\n\t return previousLength > 0 && this.entered.length === 0;\n\t };\n\t\n\t EnterLeaveCounter.prototype.reset = function reset() {\n\t this.entered = [];\n\t };\n\t\n\t return EnterLeaveCounter;\n\t})();\n\t\n\texports['default'] = EnterLeaveCounter;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 142 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _lodashDefaults = __webpack_require__(192);\n\t\n\tvar _lodashDefaults2 = _interopRequireDefault(_lodashDefaults);\n\t\n\tvar _shallowEqual = __webpack_require__(148);\n\t\n\tvar _shallowEqual2 = _interopRequireDefault(_shallowEqual);\n\t\n\tvar _EnterLeaveCounter = __webpack_require__(141);\n\t\n\tvar _EnterLeaveCounter2 = _interopRequireDefault(_EnterLeaveCounter);\n\t\n\tvar _BrowserDetector = __webpack_require__(51);\n\t\n\tvar _OffsetUtils = __webpack_require__(145);\n\t\n\tvar _NativeDragSources = __webpack_require__(144);\n\t\n\tvar _NativeTypes = __webpack_require__(32);\n\t\n\tvar NativeTypes = _interopRequireWildcard(_NativeTypes);\n\t\n\tvar HTML5Backend = (function () {\n\t function HTML5Backend(manager) {\n\t _classCallCheck(this, HTML5Backend);\n\t\n\t this.actions = manager.getActions();\n\t this.monitor = manager.getMonitor();\n\t this.registry = manager.getRegistry();\n\t\n\t this.sourcePreviewNodes = {};\n\t this.sourcePreviewNodeOptions = {};\n\t this.sourceNodes = {};\n\t this.sourceNodeOptions = {};\n\t this.enterLeaveCounter = new _EnterLeaveCounter2['default']();\n\t\n\t this.getSourceClientOffset = this.getSourceClientOffset.bind(this);\n\t this.handleTopDragStart = this.handleTopDragStart.bind(this);\n\t this.handleTopDragStartCapture = this.handleTopDragStartCapture.bind(this);\n\t this.handleTopDragEndCapture = this.handleTopDragEndCapture.bind(this);\n\t this.handleTopDragEnter = this.handleTopDragEnter.bind(this);\n\t this.handleTopDragEnterCapture = this.handleTopDragEnterCapture.bind(this);\n\t this.handleTopDragLeaveCapture = this.handleTopDragLeaveCapture.bind(this);\n\t this.handleTopDragOver = this.handleTopDragOver.bind(this);\n\t this.handleTopDragOverCapture = this.handleTopDragOverCapture.bind(this);\n\t this.handleTopDrop = this.handleTopDrop.bind(this);\n\t this.handleTopDropCapture = this.handleTopDropCapture.bind(this);\n\t this.handleSelectStart = this.handleSelectStart.bind(this);\n\t this.endDragIfSourceWasRemovedFromDOM = this.endDragIfSourceWasRemovedFromDOM.bind(this);\n\t this.endDragNativeItem = this.endDragNativeItem.bind(this);\n\t }\n\t\n\t HTML5Backend.prototype.setup = function setup() {\n\t if (typeof window === 'undefined') {\n\t return;\n\t }\n\t\n\t if (this.constructor.isSetUp) {\n\t throw new Error('Cannot have two HTML5 backends at the same time.');\n\t }\n\t this.constructor.isSetUp = true;\n\t this.addEventListeners(window);\n\t };\n\t\n\t HTML5Backend.prototype.teardown = function teardown() {\n\t if (typeof window === 'undefined') {\n\t return;\n\t }\n\t\n\t this.constructor.isSetUp = false;\n\t this.removeEventListeners(window);\n\t this.clearCurrentDragSourceNode();\n\t };\n\t\n\t HTML5Backend.prototype.addEventListeners = function addEventListeners(target) {\n\t target.addEventListener('dragstart', this.handleTopDragStart);\n\t target.addEventListener('dragstart', this.handleTopDragStartCapture, true);\n\t target.addEventListener('dragend', this.handleTopDragEndCapture, true);\n\t target.addEventListener('dragenter', this.handleTopDragEnter);\n\t target.addEventListener('dragenter', this.handleTopDragEnterCapture, true);\n\t target.addEventListener('dragleave', this.handleTopDragLeaveCapture, true);\n\t target.addEventListener('dragover', this.handleTopDragOver);\n\t target.addEventListener('dragover', this.handleTopDragOverCapture, true);\n\t target.addEventListener('drop', this.handleTopDrop);\n\t target.addEventListener('drop', this.handleTopDropCapture, true);\n\t };\n\t\n\t HTML5Backend.prototype.removeEventListeners = function removeEventListeners(target) {\n\t target.removeEventListener('dragstart', this.handleTopDragStart);\n\t target.removeEventListener('dragstart', this.handleTopDragStartCapture, true);\n\t target.removeEventListener('dragend', this.handleTopDragEndCapture, true);\n\t target.removeEventListener('dragenter', this.handleTopDragEnter);\n\t target.removeEventListener('dragenter', this.handleTopDragEnterCapture, true);\n\t target.removeEventListener('dragleave', this.handleTopDragLeaveCapture, true);\n\t target.removeEventListener('dragover', this.handleTopDragOver);\n\t target.removeEventListener('dragover', this.handleTopDragOverCapture, true);\n\t target.removeEventListener('drop', this.handleTopDrop);\n\t target.removeEventListener('drop', this.handleTopDropCapture, true);\n\t };\n\t\n\t HTML5Backend.prototype.connectDragPreview = function connectDragPreview(sourceId, node, options) {\n\t var _this = this;\n\t\n\t this.sourcePreviewNodeOptions[sourceId] = options;\n\t this.sourcePreviewNodes[sourceId] = node;\n\t\n\t return function () {\n\t delete _this.sourcePreviewNodes[sourceId];\n\t delete _this.sourcePreviewNodeOptions[sourceId];\n\t };\n\t };\n\t\n\t HTML5Backend.prototype.connectDragSource = function connectDragSource(sourceId, node, options) {\n\t var _this2 = this;\n\t\n\t this.sourceNodes[sourceId] = node;\n\t this.sourceNodeOptions[sourceId] = options;\n\t\n\t var handleDragStart = function handleDragStart(e) {\n\t return _this2.handleDragStart(e, sourceId);\n\t };\n\t var handleSelectStart = function handleSelectStart(e) {\n\t return _this2.handleSelectStart(e, sourceId);\n\t };\n\t\n\t node.setAttribute('draggable', true);\n\t node.addEventListener('dragstart', handleDragStart);\n\t node.addEventListener('selectstart', handleSelectStart);\n\t\n\t return function () {\n\t delete _this2.sourceNodes[sourceId];\n\t delete _this2.sourceNodeOptions[sourceId];\n\t\n\t node.removeEventListener('dragstart', handleDragStart);\n\t node.removeEventListener('selectstart', handleSelectStart);\n\t node.setAttribute('draggable', false);\n\t };\n\t };\n\t\n\t HTML5Backend.prototype.connectDropTarget = function connectDropTarget(targetId, node) {\n\t var _this3 = this;\n\t\n\t var handleDragEnter = function handleDragEnter(e) {\n\t return _this3.handleDragEnter(e, targetId);\n\t };\n\t var handleDragOver = function handleDragOver(e) {\n\t return _this3.handleDragOver(e, targetId);\n\t };\n\t var handleDrop = function handleDrop(e) {\n\t return _this3.handleDrop(e, targetId);\n\t };\n\t\n\t node.addEventListener('dragenter', handleDragEnter);\n\t node.addEventListener('dragover', handleDragOver);\n\t node.addEventListener('drop', handleDrop);\n\t\n\t return function () {\n\t node.removeEventListener('dragenter', handleDragEnter);\n\t node.removeEventListener('dragover', handleDragOver);\n\t node.removeEventListener('drop', handleDrop);\n\t };\n\t };\n\t\n\t HTML5Backend.prototype.getCurrentSourceNodeOptions = function getCurrentSourceNodeOptions() {\n\t var sourceId = this.monitor.getSourceId();\n\t var sourceNodeOptions = this.sourceNodeOptions[sourceId];\n\t\n\t return _lodashDefaults2['default'](sourceNodeOptions || {}, {\n\t dropEffect: 'move'\n\t });\n\t };\n\t\n\t HTML5Backend.prototype.getCurrentDropEffect = function getCurrentDropEffect() {\n\t if (this.isDraggingNativeItem()) {\n\t // It makes more sense to default to 'copy' for native resources\n\t return 'copy';\n\t }\n\t\n\t return this.getCurrentSourceNodeOptions().dropEffect;\n\t };\n\t\n\t HTML5Backend.prototype.getCurrentSourcePreviewNodeOptions = function getCurrentSourcePreviewNodeOptions() {\n\t var sourceId = this.monitor.getSourceId();\n\t var sourcePreviewNodeOptions = this.sourcePreviewNodeOptions[sourceId];\n\t\n\t return _lodashDefaults2['default'](sourcePreviewNodeOptions || {}, {\n\t anchorX: 0.5,\n\t anchorY: 0.5,\n\t captureDraggingState: false\n\t });\n\t };\n\t\n\t HTML5Backend.prototype.getSourceClientOffset = function getSourceClientOffset(sourceId) {\n\t return _OffsetUtils.getNodeClientOffset(this.sourceNodes[sourceId]);\n\t };\n\t\n\t HTML5Backend.prototype.isDraggingNativeItem = function isDraggingNativeItem() {\n\t var itemType = this.monitor.getItemType();\n\t return Object.keys(NativeTypes).some(function (key) {\n\t return NativeTypes[key] === itemType;\n\t });\n\t };\n\t\n\t HTML5Backend.prototype.beginDragNativeItem = function beginDragNativeItem(type) {\n\t this.clearCurrentDragSourceNode();\n\t\n\t var SourceType = _NativeDragSources.createNativeDragSource(type);\n\t this.currentNativeSource = new SourceType();\n\t this.currentNativeHandle = this.registry.addSource(type, this.currentNativeSource);\n\t this.actions.beginDrag([this.currentNativeHandle]);\n\t\n\t // On Firefox, if mousemove fires, the drag is over but browser failed to tell us.\n\t // This is not true for other browsers.\n\t if (_BrowserDetector.isFirefox()) {\n\t window.addEventListener('mousemove', this.endDragNativeItem, true);\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.endDragNativeItem = function endDragNativeItem() {\n\t if (!this.isDraggingNativeItem()) {\n\t return;\n\t }\n\t\n\t if (_BrowserDetector.isFirefox()) {\n\t window.removeEventListener('mousemove', this.endDragNativeItem, true);\n\t }\n\t\n\t this.actions.endDrag();\n\t this.registry.removeSource(this.currentNativeHandle);\n\t this.currentNativeHandle = null;\n\t this.currentNativeSource = null;\n\t };\n\t\n\t HTML5Backend.prototype.endDragIfSourceWasRemovedFromDOM = function endDragIfSourceWasRemovedFromDOM() {\n\t var node = this.currentDragSourceNode;\n\t if (document.body.contains(node)) {\n\t return;\n\t }\n\t\n\t if (this.clearCurrentDragSourceNode()) {\n\t this.actions.endDrag();\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.setCurrentDragSourceNode = function setCurrentDragSourceNode(node) {\n\t this.clearCurrentDragSourceNode();\n\t this.currentDragSourceNode = node;\n\t this.currentDragSourceNodeOffset = _OffsetUtils.getNodeClientOffset(node);\n\t this.currentDragSourceNodeOffsetChanged = false;\n\t\n\t // Receiving a mouse event in the middle of a dragging operation\n\t // means it has ended and the drag source node disappeared from DOM,\n\t // so the browser didn't dispatch the dragend event.\n\t window.addEventListener('mousemove', this.endDragIfSourceWasRemovedFromDOM, true);\n\t };\n\t\n\t HTML5Backend.prototype.clearCurrentDragSourceNode = function clearCurrentDragSourceNode() {\n\t if (this.currentDragSourceNode) {\n\t this.currentDragSourceNode = null;\n\t this.currentDragSourceNodeOffset = null;\n\t this.currentDragSourceNodeOffsetChanged = false;\n\t window.removeEventListener('mousemove', this.endDragIfSourceWasRemovedFromDOM, true);\n\t return true;\n\t }\n\t\n\t return false;\n\t };\n\t\n\t HTML5Backend.prototype.checkIfCurrentDragSourceRectChanged = function checkIfCurrentDragSourceRectChanged() {\n\t var node = this.currentDragSourceNode;\n\t if (!node) {\n\t return false;\n\t }\n\t\n\t if (this.currentDragSourceNodeOffsetChanged) {\n\t return true;\n\t }\n\t\n\t this.currentDragSourceNodeOffsetChanged = !_shallowEqual2['default'](_OffsetUtils.getNodeClientOffset(node), this.currentDragSourceNodeOffset);\n\t\n\t return this.currentDragSourceNodeOffsetChanged;\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragStartCapture = function handleTopDragStartCapture() {\n\t this.clearCurrentDragSourceNode();\n\t this.dragStartSourceIds = [];\n\t };\n\t\n\t HTML5Backend.prototype.handleDragStart = function handleDragStart(e, sourceId) {\n\t this.dragStartSourceIds.unshift(sourceId);\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragStart = function handleTopDragStart(e) {\n\t var _this4 = this;\n\t\n\t var dragStartSourceIds = this.dragStartSourceIds;\n\t\n\t this.dragStartSourceIds = null;\n\t\n\t var clientOffset = _OffsetUtils.getEventClientOffset(e);\n\t\n\t // Don't publish the source just yet (see why below)\n\t this.actions.beginDrag(dragStartSourceIds, {\n\t publishSource: false,\n\t getSourceClientOffset: this.getSourceClientOffset,\n\t clientOffset: clientOffset\n\t });\n\t\n\t var dataTransfer = e.dataTransfer;\n\t\n\t var nativeType = _NativeDragSources.matchNativeItemType(dataTransfer);\n\t\n\t if (this.monitor.isDragging()) {\n\t if (typeof dataTransfer.setDragImage === 'function') {\n\t // Use custom drag image if user specifies it.\n\t // If child drag source refuses drag but parent agrees,\n\t // use parent's node as drag image. Neither works in IE though.\n\t var sourceId = this.monitor.getSourceId();\n\t var sourceNode = this.sourceNodes[sourceId];\n\t var dragPreview = this.sourcePreviewNodes[sourceId] || sourceNode;\n\t\n\t var _getCurrentSourcePreviewNodeOptions = this.getCurrentSourcePreviewNodeOptions();\n\t\n\t var anchorX = _getCurrentSourcePreviewNodeOptions.anchorX;\n\t var anchorY = _getCurrentSourcePreviewNodeOptions.anchorY;\n\t\n\t var anchorPoint = { anchorX: anchorX, anchorY: anchorY };\n\t var dragPreviewOffset = _OffsetUtils.getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint);\n\t dataTransfer.setDragImage(dragPreview, dragPreviewOffset.x, dragPreviewOffset.y);\n\t }\n\t\n\t try {\n\t // Firefox won't drag without setting data\n\t dataTransfer.setData('application/json', {});\n\t } catch (err) {}\n\t // IE doesn't support MIME types in setData\n\t\n\t // Store drag source node so we can check whether\n\t // it is removed from DOM and trigger endDrag manually.\n\t this.setCurrentDragSourceNode(e.target);\n\t\n\t // Now we are ready to publish the drag source.. or are we not?\n\t\n\t var _getCurrentSourcePreviewNodeOptions2 = this.getCurrentSourcePreviewNodeOptions();\n\t\n\t var captureDraggingState = _getCurrentSourcePreviewNodeOptions2.captureDraggingState;\n\t\n\t if (!captureDraggingState) {\n\t // Usually we want to publish it in the next tick so that browser\n\t // is able to screenshot the current (not yet dragging) state.\n\t //\n\t // It also neatly avoids a situation where render() returns null\n\t // in the same tick for the source element, and browser freaks out.\n\t setTimeout(function () {\n\t return _this4.actions.publishDragSource();\n\t });\n\t } else {\n\t // In some cases the user may want to override this behavior, e.g.\n\t // to work around IE not supporting custom drag previews.\n\t //\n\t // When using a custom drag layer, the only way to prevent\n\t // the default drag preview from drawing in IE is to screenshot\n\t // the dragging state in which the node itself has zero opacity\n\t // and height. In this case, though, returning null from render()\n\t // will abruptly end the dragging, which is not obvious.\n\t //\n\t // This is the reason such behavior is strictly opt-in.\n\t this.actions.publishDragSource();\n\t }\n\t } else if (nativeType) {\n\t // A native item (such as URL) dragged from inside the document\n\t this.beginDragNativeItem(nativeType);\n\t } else if (!dataTransfer.types && (!e.target.hasAttribute || !e.target.hasAttribute('draggable'))) {\n\t // Looks like a Safari bug: dataTransfer.types is null, but there was no draggable.\n\t // Just let it drag. It's a native type (URL or text) and will be picked up in dragenter handler.\n\t return;\n\t } else {\n\t // If by this time no drag source reacted, tell browser not to drag.\n\t e.preventDefault();\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragEndCapture = function handleTopDragEndCapture() {\n\t if (this.clearCurrentDragSourceNode()) {\n\t // Firefox can dispatch this event in an infinite loop\n\t // if dragend handler does something like showing an alert.\n\t // Only proceed if we have not handled it already.\n\t this.actions.endDrag();\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragEnterCapture = function handleTopDragEnterCapture(e) {\n\t this.dragEnterTargetIds = [];\n\t\n\t var isFirstEnter = this.enterLeaveCounter.enter(e.target);\n\t if (!isFirstEnter || this.monitor.isDragging()) {\n\t return;\n\t }\n\t\n\t var dataTransfer = e.dataTransfer;\n\t\n\t var nativeType = _NativeDragSources.matchNativeItemType(dataTransfer);\n\t\n\t if (nativeType) {\n\t // A native item (such as file or URL) dragged from outside the document\n\t this.beginDragNativeItem(nativeType);\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleDragEnter = function handleDragEnter(e, targetId) {\n\t this.dragEnterTargetIds.unshift(targetId);\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragEnter = function handleTopDragEnter(e) {\n\t var _this5 = this;\n\t\n\t var dragEnterTargetIds = this.dragEnterTargetIds;\n\t\n\t this.dragEnterTargetIds = [];\n\t\n\t if (!this.monitor.isDragging()) {\n\t // This is probably a native item type we don't understand.\n\t return;\n\t }\n\t\n\t if (!_BrowserDetector.isFirefox()) {\n\t // Don't emit hover in `dragenter` on Firefox due to an edge case.\n\t // If the target changes position as the result of `dragenter`, Firefox\n\t // will still happily dispatch `dragover` despite target being no longer\n\t // there. The easy solution is to only fire `hover` in `dragover` on FF.\n\t this.actions.hover(dragEnterTargetIds, {\n\t clientOffset: _OffsetUtils.getEventClientOffset(e)\n\t });\n\t }\n\t\n\t var canDrop = dragEnterTargetIds.some(function (targetId) {\n\t return _this5.monitor.canDropOnTarget(targetId);\n\t });\n\t\n\t if (canDrop) {\n\t // IE requires this to fire dragover events\n\t e.preventDefault();\n\t e.dataTransfer.dropEffect = this.getCurrentDropEffect();\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragOverCapture = function handleTopDragOverCapture() {\n\t this.dragOverTargetIds = [];\n\t };\n\t\n\t HTML5Backend.prototype.handleDragOver = function handleDragOver(e, targetId) {\n\t this.dragOverTargetIds.unshift(targetId);\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragOver = function handleTopDragOver(e) {\n\t var _this6 = this;\n\t\n\t var dragOverTargetIds = this.dragOverTargetIds;\n\t\n\t this.dragOverTargetIds = [];\n\t\n\t if (!this.monitor.isDragging()) {\n\t // This is probably a native item type we don't understand.\n\t // Prevent default \"drop and blow away the whole document\" action.\n\t e.preventDefault();\n\t e.dataTransfer.dropEffect = 'none';\n\t return;\n\t }\n\t\n\t this.actions.hover(dragOverTargetIds, {\n\t clientOffset: _OffsetUtils.getEventClientOffset(e)\n\t });\n\t\n\t var canDrop = dragOverTargetIds.some(function (targetId) {\n\t return _this6.monitor.canDropOnTarget(targetId);\n\t });\n\t\n\t if (canDrop) {\n\t // Show user-specified drop effect.\n\t e.preventDefault();\n\t e.dataTransfer.dropEffect = this.getCurrentDropEffect();\n\t } else if (this.isDraggingNativeItem()) {\n\t // Don't show a nice cursor but still prevent default\n\t // \"drop and blow away the whole document\" action.\n\t e.preventDefault();\n\t e.dataTransfer.dropEffect = 'none';\n\t } else if (this.checkIfCurrentDragSourceRectChanged()) {\n\t // Prevent animating to incorrect position.\n\t // Drop effect must be other than 'none' to prevent animation.\n\t e.preventDefault();\n\t e.dataTransfer.dropEffect = 'move';\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragLeaveCapture = function handleTopDragLeaveCapture(e) {\n\t if (this.isDraggingNativeItem()) {\n\t e.preventDefault();\n\t }\n\t\n\t var isLastLeave = this.enterLeaveCounter.leave(e.target);\n\t if (!isLastLeave) {\n\t return;\n\t }\n\t\n\t if (this.isDraggingNativeItem()) {\n\t this.endDragNativeItem();\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDropCapture = function handleTopDropCapture(e) {\n\t this.dropTargetIds = [];\n\t e.preventDefault();\n\t\n\t if (this.isDraggingNativeItem()) {\n\t this.currentNativeSource.mutateItemByReadingDataTransfer(e.dataTransfer);\n\t }\n\t\n\t this.enterLeaveCounter.reset();\n\t };\n\t\n\t HTML5Backend.prototype.handleDrop = function handleDrop(e, targetId) {\n\t this.dropTargetIds.unshift(targetId);\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDrop = function handleTopDrop(e) {\n\t var dropTargetIds = this.dropTargetIds;\n\t\n\t this.dropTargetIds = [];\n\t\n\t this.actions.hover(dropTargetIds, {\n\t clientOffset: _OffsetUtils.getEventClientOffset(e)\n\t });\n\t this.actions.drop();\n\t\n\t if (this.isDraggingNativeItem()) {\n\t this.endDragNativeItem();\n\t } else {\n\t this.endDragIfSourceWasRemovedFromDOM();\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleSelectStart = function handleSelectStart(e) {\n\t var target = e.target;\n\t\n\t // Only IE requires us to explicitly say\n\t // we want drag drop operation to start\n\t if (typeof target.dragDrop !== 'function') {\n\t return;\n\t }\n\t\n\t // Inputs and textareas should be selectable\n\t if (target.tagName === 'INPUT' || target.tagName === 'SELECT' || target.tagName === 'TEXTAREA' || target.isContentEditable) {\n\t return;\n\t }\n\t\n\t // For other targets, ask IE\n\t // to enable drag and drop\n\t e.preventDefault();\n\t target.dragDrop();\n\t };\n\t\n\t return HTML5Backend;\n\t})();\n\t\n\texports['default'] = HTML5Backend;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 143 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar MonotonicInterpolant = (function () {\n\t function MonotonicInterpolant(xs, ys) {\n\t _classCallCheck(this, MonotonicInterpolant);\n\t\n\t var length = xs.length;\n\t\n\t // Rearrange xs and ys so that xs is sorted\n\t var indexes = [];\n\t for (var i = 0; i < length; i++) {\n\t indexes.push(i);\n\t }\n\t indexes.sort(function (a, b) {\n\t return xs[a] < xs[b] ? -1 : 1;\n\t });\n\t\n\t // Get consecutive differences and slopes\n\t var dys = [];\n\t var dxs = [];\n\t var ms = [];\n\t var dx = undefined;\n\t var dy = undefined;\n\t for (var i = 0; i < length - 1; i++) {\n\t dx = xs[i + 1] - xs[i];\n\t dy = ys[i + 1] - ys[i];\n\t dxs.push(dx);\n\t dys.push(dy);\n\t ms.push(dy / dx);\n\t }\n\t\n\t // Get degree-1 coefficients\n\t var c1s = [ms[0]];\n\t for (var i = 0; i < dxs.length - 1; i++) {\n\t var _m = ms[i];\n\t var mNext = ms[i + 1];\n\t if (_m * mNext <= 0) {\n\t c1s.push(0);\n\t } else {\n\t dx = dxs[i];\n\t var dxNext = dxs[i + 1];\n\t var common = dx + dxNext;\n\t c1s.push(3 * common / ((common + dxNext) / _m + (common + dx) / mNext));\n\t }\n\t }\n\t c1s.push(ms[ms.length - 1]);\n\t\n\t // Get degree-2 and degree-3 coefficients\n\t var c2s = [];\n\t var c3s = [];\n\t var m = undefined;\n\t for (var i = 0; i < c1s.length - 1; i++) {\n\t m = ms[i];\n\t var c1 = c1s[i];\n\t var invDx = 1 / dxs[i];\n\t var common = c1 + c1s[i + 1] - m - m;\n\t c2s.push((m - c1 - common) * invDx);\n\t c3s.push(common * invDx * invDx);\n\t }\n\t\n\t this.xs = xs;\n\t this.ys = ys;\n\t this.c1s = c1s;\n\t this.c2s = c2s;\n\t this.c3s = c3s;\n\t }\n\t\n\t MonotonicInterpolant.prototype.interpolate = function interpolate(x) {\n\t var xs = this.xs;\n\t var ys = this.ys;\n\t var c1s = this.c1s;\n\t var c2s = this.c2s;\n\t var c3s = this.c3s;\n\t\n\t // The rightmost point in the dataset should give an exact result\n\t var i = xs.length - 1;\n\t if (x === xs[i]) {\n\t return ys[i];\n\t }\n\t\n\t // Search for the interval x is in, returning the corresponding y if x is one of the original xs\n\t var low = 0;\n\t var high = c3s.length - 1;\n\t var mid = undefined;\n\t while (low <= high) {\n\t mid = Math.floor(0.5 * (low + high));\n\t var xHere = xs[mid];\n\t if (xHere < x) {\n\t low = mid + 1;\n\t } else if (xHere > x) {\n\t high = mid - 1;\n\t } else {\n\t return ys[mid];\n\t }\n\t }\n\t i = Math.max(0, high);\n\t\n\t // Interpolate\n\t var diff = x - xs[i];\n\t var diffSq = diff * diff;\n\t return ys[i] + c1s[i] * diff + c2s[i] * diffSq + c3s[i] * diff * diffSq;\n\t };\n\t\n\t return MonotonicInterpolant;\n\t})();\n\t\n\texports[\"default\"] = MonotonicInterpolant;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 144 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _nativeTypesConfig;\n\t\n\texports.createNativeDragSource = createNativeDragSource;\n\texports.matchNativeItemType = matchNativeItemType;\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tfunction _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; }\n\t\n\tvar _NativeTypes = __webpack_require__(32);\n\t\n\tvar NativeTypes = _interopRequireWildcard(_NativeTypes);\n\t\n\tfunction getDataFromDataTransfer(dataTransfer, typesToTry, defaultValue) {\n\t var result = typesToTry.reduce(function (resultSoFar, typeToTry) {\n\t return resultSoFar || dataTransfer.getData(typeToTry);\n\t }, null);\n\t\n\t return result != null ? // eslint-disable-line eqeqeq\n\t result : defaultValue;\n\t}\n\t\n\tvar nativeTypesConfig = (_nativeTypesConfig = {}, _defineProperty(_nativeTypesConfig, NativeTypes.FILE, {\n\t exposeProperty: 'files',\n\t matchesTypes: ['Files'],\n\t getData: function getData(dataTransfer) {\n\t return Array.prototype.slice.call(dataTransfer.files);\n\t }\n\t}), _defineProperty(_nativeTypesConfig, NativeTypes.URL, {\n\t exposeProperty: 'urls',\n\t matchesTypes: ['Url', 'text/uri-list'],\n\t getData: function getData(dataTransfer, matchesTypes) {\n\t return getDataFromDataTransfer(dataTransfer, matchesTypes, '').split('\\n');\n\t }\n\t}), _defineProperty(_nativeTypesConfig, NativeTypes.TEXT, {\n\t exposeProperty: 'text',\n\t matchesTypes: ['Text', 'text/plain'],\n\t getData: function getData(dataTransfer, matchesTypes) {\n\t return getDataFromDataTransfer(dataTransfer, matchesTypes, '');\n\t }\n\t}), _nativeTypesConfig);\n\t\n\tfunction createNativeDragSource(type) {\n\t var _nativeTypesConfig$type = nativeTypesConfig[type];\n\t var exposeProperty = _nativeTypesConfig$type.exposeProperty;\n\t var matchesTypes = _nativeTypesConfig$type.matchesTypes;\n\t var getData = _nativeTypesConfig$type.getData;\n\t\n\t return (function () {\n\t function NativeDragSource() {\n\t _classCallCheck(this, NativeDragSource);\n\t\n\t this.item = Object.defineProperties({}, _defineProperty({}, exposeProperty, {\n\t get: function get() {\n\t console.warn( // eslint-disable-line no-console\n\t 'Browser doesn\\'t allow reading \"' + exposeProperty + '\" until the drop event.');\n\t return null;\n\t },\n\t configurable: true,\n\t enumerable: true\n\t }));\n\t }\n\t\n\t NativeDragSource.prototype.mutateItemByReadingDataTransfer = function mutateItemByReadingDataTransfer(dataTransfer) {\n\t delete this.item[exposeProperty];\n\t this.item[exposeProperty] = getData(dataTransfer, matchesTypes);\n\t };\n\t\n\t NativeDragSource.prototype.canDrag = function canDrag() {\n\t return true;\n\t };\n\t\n\t NativeDragSource.prototype.beginDrag = function beginDrag() {\n\t return this.item;\n\t };\n\t\n\t NativeDragSource.prototype.isDragging = function isDragging(monitor, handle) {\n\t return handle === monitor.getSourceId();\n\t };\n\t\n\t NativeDragSource.prototype.endDrag = function endDrag() {};\n\t\n\t return NativeDragSource;\n\t })();\n\t}\n\t\n\tfunction matchNativeItemType(dataTransfer) {\n\t var dataTransferTypes = Array.prototype.slice.call(dataTransfer.types || []);\n\t\n\t return Object.keys(nativeTypesConfig).filter(function (nativeItemType) {\n\t var matchesTypes = nativeTypesConfig[nativeItemType].matchesTypes;\n\t\n\t return matchesTypes.some(function (t) {\n\t return dataTransferTypes.indexOf(t) > -1;\n\t });\n\t })[0] || null;\n\t}\n\n/***/ },\n/* 145 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.getNodeClientOffset = getNodeClientOffset;\n\texports.getEventClientOffset = getEventClientOffset;\n\texports.getDragPreviewOffset = getDragPreviewOffset;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _BrowserDetector = __webpack_require__(51);\n\t\n\tvar _MonotonicInterpolant = __webpack_require__(143);\n\t\n\tvar _MonotonicInterpolant2 = _interopRequireDefault(_MonotonicInterpolant);\n\t\n\tvar ELEMENT_NODE = 1;\n\t\n\tfunction getNodeClientOffset(node) {\n\t var el = node.nodeType === ELEMENT_NODE ? node : node.parentElement;\n\t\n\t if (!el) {\n\t return null;\n\t }\n\t\n\t var _el$getBoundingClientRect = el.getBoundingClientRect();\n\t\n\t var top = _el$getBoundingClientRect.top;\n\t var left = _el$getBoundingClientRect.left;\n\t\n\t return { x: left, y: top };\n\t}\n\t\n\tfunction getEventClientOffset(e) {\n\t return {\n\t x: e.clientX,\n\t y: e.clientY\n\t };\n\t}\n\t\n\tfunction getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint) {\n\t // The browsers will use the image intrinsic size under different conditions.\n\t // Firefox only cares if it's an image, but WebKit also wants it to be detached.\n\t var isImage = dragPreview.nodeName === 'IMG' && (_BrowserDetector.isFirefox() || !document.documentElement.contains(dragPreview));\n\t var dragPreviewNode = isImage ? sourceNode : dragPreview;\n\t\n\t var dragPreviewNodeOffsetFromClient = getNodeClientOffset(dragPreviewNode);\n\t var offsetFromDragPreview = {\n\t x: clientOffset.x - dragPreviewNodeOffsetFromClient.x,\n\t y: clientOffset.y - dragPreviewNodeOffsetFromClient.y\n\t };\n\t\n\t var sourceWidth = sourceNode.offsetWidth;\n\t var sourceHeight = sourceNode.offsetHeight;\n\t var anchorX = anchorPoint.anchorX;\n\t var anchorY = anchorPoint.anchorY;\n\t\n\t var dragPreviewWidth = isImage ? dragPreview.width : sourceWidth;\n\t var dragPreviewHeight = isImage ? dragPreview.height : sourceHeight;\n\t\n\t // Work around @2x coordinate discrepancies in browsers\n\t if (_BrowserDetector.isSafari() && isImage) {\n\t dragPreviewHeight /= window.devicePixelRatio;\n\t dragPreviewWidth /= window.devicePixelRatio;\n\t } else if (_BrowserDetector.isFirefox() && !isImage) {\n\t dragPreviewHeight *= window.devicePixelRatio;\n\t dragPreviewWidth *= window.devicePixelRatio;\n\t }\n\t\n\t // Interpolate coordinates depending on anchor point\n\t // If you know a simpler way to do this, let me know\n\t var interpolantX = new _MonotonicInterpolant2['default']([0, 0.5, 1], [\n\t // Dock to the left\n\t offsetFromDragPreview.x,\n\t // Align at the center\n\t offsetFromDragPreview.x / sourceWidth * dragPreviewWidth,\n\t // Dock to the right\n\t offsetFromDragPreview.x + dragPreviewWidth - sourceWidth]);\n\t var interpolantY = new _MonotonicInterpolant2['default']([0, 0.5, 1], [\n\t // Dock to the top\n\t offsetFromDragPreview.y,\n\t // Align at the center\n\t offsetFromDragPreview.y / sourceHeight * dragPreviewHeight,\n\t // Dock to the bottom\n\t offsetFromDragPreview.y + dragPreviewHeight - sourceHeight]);\n\t var x = interpolantX.interpolate(anchorX);\n\t var y = interpolantY.interpolate(anchorY);\n\t\n\t // Work around Safari 8 positioning bug\n\t if (_BrowserDetector.isSafari() && isImage) {\n\t // We'll have to wait for @3x to see if this is entirely correct\n\t y += (window.devicePixelRatio - 1) * dragPreviewHeight;\n\t }\n\t\n\t return { x: x, y: y };\n\t}\n\n/***/ },\n/* 146 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = getEmptyImage;\n\tvar emptyImage = undefined;\n\t\n\tfunction getEmptyImage() {\n\t if (!emptyImage) {\n\t emptyImage = new Image();\n\t emptyImage.src = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';\n\t }\n\t\n\t return emptyImage;\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 147 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createHTML5Backend;\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _HTML5Backend = __webpack_require__(142);\n\t\n\tvar _HTML5Backend2 = _interopRequireDefault(_HTML5Backend);\n\t\n\tvar _getEmptyImage = __webpack_require__(146);\n\t\n\tvar _getEmptyImage2 = _interopRequireDefault(_getEmptyImage);\n\t\n\tvar _NativeTypes = __webpack_require__(32);\n\t\n\tvar NativeTypes = _interopRequireWildcard(_NativeTypes);\n\t\n\texports.NativeTypes = NativeTypes;\n\texports.getEmptyImage = _getEmptyImage2['default'];\n\t\n\tfunction createHTML5Backend(manager) {\n\t return new _HTML5Backend2['default'](manager);\n\t}\n\n/***/ },\n/* 148 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = shallowEqual;\n\t\n\tfunction shallowEqual(objA, objB) {\n\t if (objA === objB) {\n\t return true;\n\t }\n\t\n\t var keysA = Object.keys(objA);\n\t var keysB = Object.keys(objB);\n\t\n\t if (keysA.length !== keysB.length) {\n\t return false;\n\t }\n\t\n\t // Test for A's keys different from B.\n\t var hasOwn = Object.prototype.hasOwnProperty;\n\t for (var i = 0; i < keysA.length; i++) {\n\t if (!hasOwn.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n\t return false;\n\t }\n\t\n\t var valA = objA[keysA[i]];\n\t var valB = objB[keysA[i]];\n\t\n\t if (valA !== valB) {\n\t return false;\n\t }\n\t }\n\t\n\t return true;\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 149 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(15);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Creates a hash object.\n\t *\n\t * @private\n\t * @constructor\n\t * @returns {Object} Returns the new hash object.\n\t */\n\tfunction Hash() {}\n\t\n\t// Avoid inheriting from `Object.prototype` when possible.\n\tHash.prototype = nativeCreate ? nativeCreate(null) : objectProto;\n\t\n\tmodule.exports = Hash;\n\n\n/***/ },\n/* 150 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar root = __webpack_require__(34);\n\t\n\t/** Built-in value references. */\n\tvar Reflect = root.Reflect;\n\t\n\tmodule.exports = Reflect;\n\n\n/***/ },\n/* 151 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(33),\n\t root = __webpack_require__(34);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar Set = getNative(root, 'Set');\n\t\n\tmodule.exports = Set;\n\n\n/***/ },\n/* 152 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.map` for arrays without support for iteratee\n\t * shorthands.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns the new mapped array.\n\t */\n\tfunction arrayMap(array, iteratee) {\n\t var index = -1,\n\t length = array.length,\n\t result = Array(length);\n\t\n\t while (++index < length) {\n\t result[index] = iteratee(array[index], index, array);\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = arrayMap;\n\n\n/***/ },\n/* 153 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Appends the elements of `values` to `array`.\n\t *\n\t * @private\n\t * @param {Array} array The array to modify.\n\t * @param {Array} values The values to append.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayPush(array, values) {\n\t var index = -1,\n\t length = values.length,\n\t offset = array.length;\n\t\n\t while (++index < length) {\n\t array[offset + index] = values[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayPush;\n\n\n/***/ },\n/* 154 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar eq = __webpack_require__(16);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used by `_.defaults` to customize its `_.assignIn` use.\n\t *\n\t * @private\n\t * @param {*} objValue The destination value.\n\t * @param {*} srcValue The source value.\n\t * @param {string} key The key of the property to assign.\n\t * @param {Object} object The parent object of `objValue`.\n\t * @returns {*} Returns the value to assign.\n\t */\n\tfunction assignInDefaults(objValue, srcValue, key, object) {\n\t if (objValue === undefined ||\n\t (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n\t return srcValue;\n\t }\n\t return objValue;\n\t}\n\t\n\tmodule.exports = assignInDefaults;\n\n\n/***/ },\n/* 155 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar eq = __webpack_require__(16);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Assigns `value` to `key` of `object` if the existing value is not equivalent\n\t * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n\t * for equality comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to modify.\n\t * @param {string} key The key of the property to assign.\n\t * @param {*} value The value to assign.\n\t */\n\tfunction assignValue(object, key, value) {\n\t var objValue = object[key];\n\t if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n\t (value === undefined && !(key in object))) {\n\t object[key] = value;\n\t }\n\t}\n\t\n\tmodule.exports = assignValue;\n\n\n/***/ },\n/* 156 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(14);\n\t\n\t/** Used for built-in method references. */\n\tvar arrayProto = Array.prototype;\n\t\n\t/** Built-in value references. */\n\tvar splice = arrayProto.splice;\n\t\n\t/**\n\t * Removes `key` and its value from the associative array.\n\t *\n\t * @private\n\t * @param {Array} array The array to modify.\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction assocDelete(array, key) {\n\t var index = assocIndexOf(array, key);\n\t if (index < 0) {\n\t return false;\n\t }\n\t var lastIndex = array.length - 1;\n\t if (index == lastIndex) {\n\t array.pop();\n\t } else {\n\t splice.call(array, index, 1);\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = assocDelete;\n\n\n/***/ },\n/* 157 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(14);\n\t\n\t/**\n\t * Gets the associative array value for `key`.\n\t *\n\t * @private\n\t * @param {Array} array The array to query.\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction assocGet(array, key) {\n\t var index = assocIndexOf(array, key);\n\t return index < 0 ? undefined : array[index][1];\n\t}\n\t\n\tmodule.exports = assocGet;\n\n\n/***/ },\n/* 158 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(14);\n\t\n\t/**\n\t * Checks if an associative array value for `key` exists.\n\t *\n\t * @private\n\t * @param {Array} array The array to query.\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction assocHas(array, key) {\n\t return assocIndexOf(array, key) > -1;\n\t}\n\t\n\tmodule.exports = assocHas;\n\n\n/***/ },\n/* 159 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(14);\n\t\n\t/**\n\t * Sets the associative array `key` to `value`.\n\t *\n\t * @private\n\t * @param {Array} array The array to modify.\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t */\n\tfunction assocSet(array, key, value) {\n\t var index = assocIndexOf(array, key);\n\t if (index < 0) {\n\t array.push([key, value]);\n\t } else {\n\t array[index][1] = value;\n\t }\n\t}\n\t\n\tmodule.exports = assocSet;\n\n\n/***/ },\n/* 160 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar SetCache = __webpack_require__(53),\n\t arrayIncludes = __webpack_require__(55),\n\t arrayIncludesWith = __webpack_require__(56),\n\t arrayMap = __webpack_require__(152),\n\t baseUnary = __webpack_require__(166),\n\t cacheHas = __webpack_require__(57);\n\t\n\t/** Used as the size to enable large array optimizations. */\n\tvar LARGE_ARRAY_SIZE = 200;\n\t\n\t/**\n\t * The base implementation of methods like `_.difference` without support\n\t * for excluding multiple arrays or iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} array The array to inspect.\n\t * @param {Array} values The values to exclude.\n\t * @param {Function} [iteratee] The iteratee invoked per element.\n\t * @param {Function} [comparator] The comparator invoked per element.\n\t * @returns {Array} Returns the new array of filtered values.\n\t */\n\tfunction baseDifference(array, values, iteratee, comparator) {\n\t var index = -1,\n\t includes = arrayIncludes,\n\t isCommon = true,\n\t length = array.length,\n\t result = [],\n\t valuesLength = values.length;\n\t\n\t if (!length) {\n\t return result;\n\t }\n\t if (iteratee) {\n\t values = arrayMap(values, baseUnary(iteratee));\n\t }\n\t if (comparator) {\n\t includes = arrayIncludesWith;\n\t isCommon = false;\n\t }\n\t else if (values.length >= LARGE_ARRAY_SIZE) {\n\t includes = cacheHas;\n\t isCommon = false;\n\t values = new SetCache(values);\n\t }\n\t outer:\n\t while (++index < length) {\n\t var value = array[index],\n\t computed = iteratee ? iteratee(value) : value;\n\t\n\t if (isCommon && computed === computed) {\n\t var valuesIndex = valuesLength;\n\t while (valuesIndex--) {\n\t if (values[valuesIndex] === computed) {\n\t continue outer;\n\t }\n\t }\n\t result.push(value);\n\t }\n\t else if (!includes(values, computed, comparator)) {\n\t result.push(value);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseDifference;\n\n\n/***/ },\n/* 161 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayPush = __webpack_require__(153),\n\t isFlattenable = __webpack_require__(179);\n\t\n\t/**\n\t * The base implementation of `_.flatten` with support for restricting flattening.\n\t *\n\t * @private\n\t * @param {Array} array The array to flatten.\n\t * @param {number} depth The maximum recursion depth.\n\t * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n\t * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n\t * @param {Array} [result=[]] The initial result value.\n\t * @returns {Array} Returns the new flattened array.\n\t */\n\tfunction baseFlatten(array, depth, predicate, isStrict, result) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t predicate || (predicate = isFlattenable);\n\t result || (result = []);\n\t\n\t while (++index < length) {\n\t var value = array[index];\n\t if (depth > 0 && predicate(value)) {\n\t if (depth > 1) {\n\t // Recursively flatten arrays (susceptible to call stack limits).\n\t baseFlatten(value, depth - 1, predicate, isStrict, result);\n\t } else {\n\t arrayPush(result, value);\n\t }\n\t } else if (!isStrict) {\n\t result[result.length] = value;\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseFlatten;\n\n\n/***/ },\n/* 162 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar indexOfNaN = __webpack_require__(178);\n\t\n\t/**\n\t * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {*} value The value to search for.\n\t * @param {number} fromIndex The index to search from.\n\t * @returns {number} Returns the index of the matched value, else `-1`.\n\t */\n\tfunction baseIndexOf(array, value, fromIndex) {\n\t if (value !== value) {\n\t return indexOfNaN(array, fromIndex);\n\t }\n\t var index = fromIndex - 1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (array[index] === value) {\n\t return index;\n\t }\n\t }\n\t return -1;\n\t}\n\t\n\tmodule.exports = baseIndexOf;\n\n\n/***/ },\n/* 163 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Reflect = __webpack_require__(150),\n\t iteratorToArray = __webpack_require__(183);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Built-in value references. */\n\tvar enumerate = Reflect ? Reflect.enumerate : undefined,\n\t propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * The base implementation of `_.keysIn` which doesn't skip the constructor\n\t * property of prototypes or treat sparse arrays as dense.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction baseKeysIn(object) {\n\t object = object == null ? object : Object(object);\n\t\n\t var result = [];\n\t for (var key in object) {\n\t result.push(key);\n\t }\n\t return result;\n\t}\n\t\n\t// Fallback for IE < 9 with es6-shim.\n\tif (enumerate && !propertyIsEnumerable.call({ 'valueOf': 1 }, 'valueOf')) {\n\t baseKeysIn = function(object) {\n\t return iteratorToArray(enumerate(object));\n\t };\n\t}\n\t\n\tmodule.exports = baseKeysIn;\n\n\n/***/ },\n/* 164 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 165 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.times` without support for iteratee shorthands\n\t * or max array length checks.\n\t *\n\t * @private\n\t * @param {number} n The number of times to invoke `iteratee`.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns the array of results.\n\t */\n\tfunction baseTimes(n, iteratee) {\n\t var index = -1,\n\t result = Array(n);\n\t\n\t while (++index < n) {\n\t result[index] = iteratee(index);\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseTimes;\n\n\n/***/ },\n/* 166 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.unary` without support for storing wrapper metadata.\n\t *\n\t * @private\n\t * @param {Function} func The function to cap arguments for.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseUnary(func) {\n\t return function(value) {\n\t return func(value);\n\t };\n\t}\n\t\n\tmodule.exports = baseUnary;\n\n\n/***/ },\n/* 167 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar SetCache = __webpack_require__(53),\n\t arrayIncludes = __webpack_require__(55),\n\t arrayIncludesWith = __webpack_require__(56),\n\t cacheHas = __webpack_require__(57),\n\t createSet = __webpack_require__(172),\n\t setToArray = __webpack_require__(189);\n\t\n\t/** Used as the size to enable large array optimizations. */\n\tvar LARGE_ARRAY_SIZE = 200;\n\t\n\t/**\n\t * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} array The array to inspect.\n\t * @param {Function} [iteratee] The iteratee invoked per element.\n\t * @param {Function} [comparator] The comparator invoked per element.\n\t * @returns {Array} Returns the new duplicate free array.\n\t */\n\tfunction baseUniq(array, iteratee, comparator) {\n\t var index = -1,\n\t includes = arrayIncludes,\n\t length = array.length,\n\t isCommon = true,\n\t result = [],\n\t seen = result;\n\t\n\t if (comparator) {\n\t isCommon = false;\n\t includes = arrayIncludesWith;\n\t }\n\t else if (length >= LARGE_ARRAY_SIZE) {\n\t var set = iteratee ? null : createSet(array);\n\t if (set) {\n\t return setToArray(set);\n\t }\n\t isCommon = false;\n\t includes = cacheHas;\n\t seen = new SetCache;\n\t }\n\t else {\n\t seen = iteratee ? [] : result;\n\t }\n\t outer:\n\t while (++index < length) {\n\t var value = array[index],\n\t computed = iteratee ? iteratee(value) : value;\n\t\n\t if (isCommon && computed === computed) {\n\t var seenIndex = seen.length;\n\t while (seenIndex--) {\n\t if (seen[seenIndex] === computed) {\n\t continue outer;\n\t }\n\t }\n\t if (iteratee) {\n\t seen.push(computed);\n\t }\n\t result.push(value);\n\t }\n\t else if (!includes(seen, computed, comparator)) {\n\t if (seen !== result) {\n\t seen.push(computed);\n\t }\n\t result.push(value);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseUniq;\n\n\n/***/ },\n/* 168 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isKeyable = __webpack_require__(4);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/**\n\t * Adds `value` to the set cache.\n\t *\n\t * @private\n\t * @name push\n\t * @memberOf SetCache\n\t * @param {*} value The value to cache.\n\t */\n\tfunction cachePush(value) {\n\t var map = this.__data__;\n\t if (isKeyable(value)) {\n\t var data = map.__data__,\n\t hash = typeof value == 'string' ? data.string : data.hash;\n\t\n\t hash[value] = HASH_UNDEFINED;\n\t }\n\t else {\n\t map.set(value, HASH_UNDEFINED);\n\t }\n\t}\n\t\n\tmodule.exports = cachePush;\n\n\n/***/ },\n/* 169 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is a global object.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {null|Object} Returns `value` if it's a global object, else `null`.\n\t */\n\tfunction checkGlobal(value) {\n\t return (value && value.Object === Object) ? value : null;\n\t}\n\t\n\tmodule.exports = checkGlobal;\n\n\n/***/ },\n/* 170 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assignValue = __webpack_require__(155);\n\t\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property identifiers to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @param {Function} [customizer] The function to customize copied values.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction copyObject(source, props, object, customizer) {\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t\n\t var newValue = customizer\n\t ? customizer(object[key], source[key], key, object, source)\n\t : source[key];\n\t\n\t assignValue(object, key, newValue);\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = copyObject;\n\n\n/***/ },\n/* 171 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isIterateeCall = __webpack_require__(181),\n\t rest = __webpack_require__(19);\n\t\n\t/**\n\t * Creates a function like `_.assign`.\n\t *\n\t * @private\n\t * @param {Function} assigner The function to assign values.\n\t * @returns {Function} Returns the new assigner function.\n\t */\n\tfunction createAssigner(assigner) {\n\t return rest(function(object, sources) {\n\t var index = -1,\n\t length = sources.length,\n\t customizer = length > 1 ? sources[length - 1] : undefined,\n\t guard = length > 2 ? sources[2] : undefined;\n\t\n\t customizer = typeof customizer == 'function'\n\t ? (length--, customizer)\n\t : undefined;\n\t\n\t if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n\t customizer = length < 3 ? undefined : customizer;\n\t length = 1;\n\t }\n\t object = Object(object);\n\t while (++index < length) {\n\t var source = sources[index];\n\t if (source) {\n\t assigner(object, source, index, customizer);\n\t }\n\t }\n\t return object;\n\t });\n\t}\n\t\n\tmodule.exports = createAssigner;\n\n\n/***/ },\n/* 172 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Set = __webpack_require__(151),\n\t noop = __webpack_require__(198);\n\t\n\t/**\n\t * Creates a set of `values`.\n\t *\n\t * @private\n\t * @param {Array} values The values to add to the set.\n\t * @returns {Object} Returns the new set.\n\t */\n\tvar createSet = !(Set && new Set([1, 2]).size === 2) ? noop : function(values) {\n\t return new Set(values);\n\t};\n\t\n\tmodule.exports = createSet;\n\n\n/***/ },\n/* 173 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(164);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a\n\t * [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792) that affects\n\t * Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 174 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar hashHas = __webpack_require__(58);\n\t\n\t/**\n\t * Removes `key` and its value from the hash.\n\t *\n\t * @private\n\t * @param {Object} hash The hash to modify.\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction hashDelete(hash, key) {\n\t return hashHas(hash, key) && delete hash[key];\n\t}\n\t\n\tmodule.exports = hashDelete;\n\n\n/***/ },\n/* 175 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(15);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Gets the hash value for `key`.\n\t *\n\t * @private\n\t * @param {Object} hash The hash to query.\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction hashGet(hash, key) {\n\t if (nativeCreate) {\n\t var result = hash[key];\n\t return result === HASH_UNDEFINED ? undefined : result;\n\t }\n\t return hasOwnProperty.call(hash, key) ? hash[key] : undefined;\n\t}\n\t\n\tmodule.exports = hashGet;\n\n\n/***/ },\n/* 176 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(15);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/**\n\t * Sets the hash `key` to `value`.\n\t *\n\t * @private\n\t * @param {Object} hash The hash to modify.\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t */\n\tfunction hashSet(hash, key, value) {\n\t hash[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n\t}\n\t\n\tmodule.exports = hashSet;\n\n\n/***/ },\n/* 177 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseTimes = __webpack_require__(165),\n\t isArguments = __webpack_require__(60),\n\t isArray = __webpack_require__(35),\n\t isLength = __webpack_require__(62),\n\t isString = __webpack_require__(194);\n\t\n\t/**\n\t * Creates an array of index keys for `object` values of arrays,\n\t * `arguments` objects, and strings, otherwise `null` is returned.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array|null} Returns index keys, else `null`.\n\t */\n\tfunction indexKeys(object) {\n\t var length = object ? object.length : undefined;\n\t if (isLength(length) &&\n\t (isArray(object) || isString(object) || isArguments(object))) {\n\t return baseTimes(length, String);\n\t }\n\t return null;\n\t}\n\t\n\tmodule.exports = indexKeys;\n\n\n/***/ },\n/* 178 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Gets the index at which the first occurrence of `NaN` is found in `array`.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {number} fromIndex The index to search from.\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {number} Returns the index of the matched `NaN`, else `-1`.\n\t */\n\tfunction indexOfNaN(array, fromIndex, fromRight) {\n\t var length = array.length,\n\t index = fromIndex + (fromRight ? 0 : -1);\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var other = array[index];\n\t if (other !== other) {\n\t return index;\n\t }\n\t }\n\t return -1;\n\t}\n\t\n\tmodule.exports = indexOfNaN;\n\n\n/***/ },\n/* 179 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(60),\n\t isArray = __webpack_require__(35),\n\t isArrayLikeObject = __webpack_require__(17);\n\t\n\t/**\n\t * Checks if `value` is a flattenable `arguments` object or array.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n\t */\n\tfunction isFlattenable(value) {\n\t return isArrayLikeObject(value) && (isArray(value) || isArguments(value));\n\t}\n\t\n\tmodule.exports = isFlattenable;\n\n\n/***/ },\n/* 180 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is a host object in IE < 9.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n\t */\n\tfunction isHostObject(value) {\n\t // Many host objects are `Object` objects that can coerce to strings\n\t // despite having improperly defined `toString` methods.\n\t var result = false;\n\t if (value != null && typeof value.toString != 'function') {\n\t try {\n\t result = !!(value + '');\n\t } catch (e) {}\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = isHostObject;\n\n\n/***/ },\n/* 181 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar eq = __webpack_require__(16),\n\t isArrayLike = __webpack_require__(61),\n\t isIndex = __webpack_require__(59),\n\t isObject = __webpack_require__(18);\n\t\n\t/**\n\t * Checks if the given arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n\t * else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)\n\t ) {\n\t return eq(object[index], value);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 182 */\n/***/ function(module, exports) {\n\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Checks if `value` is likely a prototype object.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n\t */\n\tfunction isPrototype(value) {\n\t var Ctor = value && value.constructor,\n\t proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\t\n\t return value === proto;\n\t}\n\t\n\tmodule.exports = isPrototype;\n\n\n/***/ },\n/* 183 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Converts `iterator` to an array.\n\t *\n\t * @private\n\t * @param {Object} iterator The iterator to convert.\n\t * @returns {Array} Returns the converted array.\n\t */\n\tfunction iteratorToArray(iterator) {\n\t var data,\n\t result = [];\n\t\n\t while (!(data = iterator.next()).done) {\n\t result.push(data.value);\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = iteratorToArray;\n\n\n/***/ },\n/* 184 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Hash = __webpack_require__(149),\n\t Map = __webpack_require__(7);\n\t\n\t/**\n\t * Removes all key-value entries from the map.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf MapCache\n\t */\n\tfunction mapClear() {\n\t this.__data__ = {\n\t 'hash': new Hash,\n\t 'map': Map ? new Map : [],\n\t 'string': new Hash\n\t };\n\t}\n\t\n\tmodule.exports = mapClear;\n\n\n/***/ },\n/* 185 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Map = __webpack_require__(7),\n\t assocDelete = __webpack_require__(156),\n\t hashDelete = __webpack_require__(174),\n\t isKeyable = __webpack_require__(4);\n\t\n\t/**\n\t * Removes `key` and its value from the map.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction mapDelete(key) {\n\t var data = this.__data__;\n\t if (isKeyable(key)) {\n\t return hashDelete(typeof key == 'string' ? data.string : data.hash, key);\n\t }\n\t return Map ? data.map['delete'](key) : assocDelete(data.map, key);\n\t}\n\t\n\tmodule.exports = mapDelete;\n\n\n/***/ },\n/* 186 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Map = __webpack_require__(7),\n\t assocGet = __webpack_require__(157),\n\t hashGet = __webpack_require__(175),\n\t isKeyable = __webpack_require__(4);\n\t\n\t/**\n\t * Gets the map value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction mapGet(key) {\n\t var data = this.__data__;\n\t if (isKeyable(key)) {\n\t return hashGet(typeof key == 'string' ? data.string : data.hash, key);\n\t }\n\t return Map ? data.map.get(key) : assocGet(data.map, key);\n\t}\n\t\n\tmodule.exports = mapGet;\n\n\n/***/ },\n/* 187 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Map = __webpack_require__(7),\n\t assocHas = __webpack_require__(158),\n\t hashHas = __webpack_require__(58),\n\t isKeyable = __webpack_require__(4);\n\t\n\t/**\n\t * Checks if a map value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf MapCache\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction mapHas(key) {\n\t var data = this.__data__;\n\t if (isKeyable(key)) {\n\t return hashHas(typeof key == 'string' ? data.string : data.hash, key);\n\t }\n\t return Map ? data.map.has(key) : assocHas(data.map, key);\n\t}\n\t\n\tmodule.exports = mapHas;\n\n\n/***/ },\n/* 188 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Map = __webpack_require__(7),\n\t assocSet = __webpack_require__(159),\n\t hashSet = __webpack_require__(176),\n\t isKeyable = __webpack_require__(4);\n\t\n\t/**\n\t * Sets the map `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the map cache instance.\n\t */\n\tfunction mapSet(key, value) {\n\t var data = this.__data__;\n\t if (isKeyable(key)) {\n\t hashSet(typeof key == 'string' ? data.string : data.hash, key, value);\n\t } else if (Map) {\n\t data.map.set(key, value);\n\t } else {\n\t assocSet(data.map, key, value);\n\t }\n\t return this;\n\t}\n\t\n\tmodule.exports = mapSet;\n\n\n/***/ },\n/* 189 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Converts `set` to an array.\n\t *\n\t * @private\n\t * @param {Object} set The set to convert.\n\t * @returns {Array} Returns the converted array.\n\t */\n\tfunction setToArray(set) {\n\t var index = -1,\n\t result = Array(set.size);\n\t\n\t set.forEach(function(value) {\n\t result[++index] = value;\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = setToArray;\n\n\n/***/ },\n/* 190 */\n/***/ function(module, exports) {\n\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = Function.prototype.toString;\n\t\n\t/**\n\t * Converts `func` to its source code.\n\t *\n\t * @private\n\t * @param {Function} func The function to process.\n\t * @returns {string} Returns the source code.\n\t */\n\tfunction toSource(func) {\n\t if (func != null) {\n\t try {\n\t return funcToString.call(func);\n\t } catch (e) {}\n\t try {\n\t return (func + '');\n\t } catch (e) {}\n\t }\n\t return '';\n\t}\n\t\n\tmodule.exports = toSource;\n\n\n/***/ },\n/* 191 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar copyObject = __webpack_require__(170),\n\t createAssigner = __webpack_require__(171),\n\t keysIn = __webpack_require__(196);\n\t\n\t/**\n\t * This method is like `_.assignIn` except that it accepts `customizer`\n\t * which is invoked to produce the assigned values. If `customizer` returns\n\t * `undefined`, assignment is handled by the method instead. The `customizer`\n\t * is invoked with five arguments: (objValue, srcValue, key, object, source).\n\t *\n\t * **Note:** This method mutates `object`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @alias extendWith\n\t * @category Object\n\t * @param {Object} object The destination object.\n\t * @param {...Object} sources The source objects.\n\t * @param {Function} [customizer] The function to customize assigned values.\n\t * @returns {Object} Returns `object`.\n\t * @example\n\t *\n\t * function customizer(objValue, srcValue) {\n\t * return _.isUndefined(objValue) ? srcValue : objValue;\n\t * }\n\t *\n\t * var defaults = _.partialRight(_.assignInWith, customizer);\n\t *\n\t * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n\t * // => { 'a': 1, 'b': 2 }\n\t */\n\tvar assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n\t copyObject(source, keysIn(source), object, customizer);\n\t});\n\t\n\tmodule.exports = assignInWith;\n\n\n/***/ },\n/* 192 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar apply = __webpack_require__(54),\n\t assignInDefaults = __webpack_require__(154),\n\t assignInWith = __webpack_require__(191),\n\t rest = __webpack_require__(19);\n\t\n\t/**\n\t * Assigns own and inherited enumerable string keyed properties of source\n\t * objects to the destination object for all destination properties that\n\t * resolve to `undefined`. Source objects are applied from left to right.\n\t * Once a property is set, additional values of the same property are ignored.\n\t *\n\t * **Note:** This method mutates `object`.\n\t *\n\t * @static\n\t * @since 0.1.0\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The destination object.\n\t * @param {...Object} [sources] The source objects.\n\t * @returns {Object} Returns `object`.\n\t * @example\n\t *\n\t * _.defaults({ 'user': 'barney' }, { 'age': 36 }, { 'user': 'fred' });\n\t * // => { 'user': 'barney', 'age': 36 }\n\t */\n\tvar defaults = rest(function(args) {\n\t args.push(undefined, assignInDefaults);\n\t return apply(assignInWith, undefined, args);\n\t});\n\t\n\tmodule.exports = defaults;\n\n\n/***/ },\n/* 193 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(36),\n\t isHostObject = __webpack_require__(180),\n\t isObject = __webpack_require__(18),\n\t toSource = __webpack_require__(190);\n\t\n\t/**\n\t * Used to match `RegExp`\n\t * [syntax characters](http://ecma-international.org/ecma-262/6.0/#sec-patterns).\n\t */\n\tvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\t\n\t/** Used to detect host constructors (Safari). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 3.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (!isObject(value)) {\n\t return false;\n\t }\n\t var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n\t return pattern.test(toSource(value));\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 194 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArray = __webpack_require__(35),\n\t isObjectLike = __webpack_require__(37);\n\t\n\t/** `Object#toString` result references. */\n\tvar stringTag = '[object String]';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `String` primitive or object.\n\t *\n\t * @static\n\t * @since 0.1.0\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isString('abc');\n\t * // => true\n\t *\n\t * _.isString(1);\n\t * // => false\n\t */\n\tfunction isString(value) {\n\t return typeof value == 'string' ||\n\t (!isArray(value) && isObjectLike(value) && objectToString.call(value) == stringTag);\n\t}\n\t\n\tmodule.exports = isString;\n\n\n/***/ },\n/* 195 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObjectLike = __webpack_require__(37);\n\t\n\t/** `Object#toString` result references. */\n\tvar symbolTag = '[object Symbol]';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Symbol` primitive or object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isSymbol(Symbol.iterator);\n\t * // => true\n\t *\n\t * _.isSymbol('abc');\n\t * // => false\n\t */\n\tfunction isSymbol(value) {\n\t return typeof value == 'symbol' ||\n\t (isObjectLike(value) && objectToString.call(value) == symbolTag);\n\t}\n\t\n\tmodule.exports = isSymbol;\n\n\n/***/ },\n/* 196 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseKeysIn = __webpack_require__(163),\n\t indexKeys = __webpack_require__(177),\n\t isIndex = __webpack_require__(59),\n\t isPrototype = __webpack_require__(182);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 3.0.0\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t var index = -1,\n\t isProto = isPrototype(object),\n\t props = baseKeysIn(object),\n\t propsLength = props.length,\n\t indexes = indexKeys(object),\n\t skipIndexes = !!indexes,\n\t result = indexes || [],\n\t length = result.length;\n\t\n\t while (++index < propsLength) {\n\t var key = props[index];\n\t if (!(skipIndexes && (key == 'length' || isIndex(key, length))) &&\n\t !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 197 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar MapCache = __webpack_require__(52);\n\t\n\t/** Used as the `TypeError` message for \"Functions\" methods. */\n\tvar FUNC_ERROR_TEXT = 'Expected a function';\n\t\n\t/**\n\t * Creates a function that memoizes the result of `func`. If `resolver` is\n\t * provided, it determines the cache key for storing the result based on the\n\t * arguments provided to the memoized function. By default, the first argument\n\t * provided to the memoized function is used as the map cache key. The `func`\n\t * is invoked with the `this` binding of the memoized function.\n\t *\n\t * **Note:** The cache is exposed as the `cache` property on the memoized\n\t * function. Its creation may be customized by replacing the `_.memoize.Cache`\n\t * constructor with one whose instances implement the\n\t * [`Map`](http://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-map-prototype-object)\n\t * method interface of `delete`, `get`, `has`, and `set`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Function\n\t * @param {Function} func The function to have its output memoized.\n\t * @param {Function} [resolver] The function to resolve the cache key.\n\t * @returns {Function} Returns the new memoizing function.\n\t * @example\n\t *\n\t * var object = { 'a': 1, 'b': 2 };\n\t * var other = { 'c': 3, 'd': 4 };\n\t *\n\t * var values = _.memoize(_.values);\n\t * values(object);\n\t * // => [1, 2]\n\t *\n\t * values(other);\n\t * // => [3, 4]\n\t *\n\t * object.a = 2;\n\t * values(object);\n\t * // => [1, 2]\n\t *\n\t * // Modify the result cache.\n\t * values.cache.set(object, ['a', 'b']);\n\t * values(object);\n\t * // => ['a', 'b']\n\t *\n\t * // Replace `_.memoize.Cache`.\n\t * _.memoize.Cache = WeakMap;\n\t */\n\tfunction memoize(func, resolver) {\n\t if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n\t throw new TypeError(FUNC_ERROR_TEXT);\n\t }\n\t var memoized = function() {\n\t var args = arguments,\n\t key = resolver ? resolver.apply(this, args) : args[0],\n\t cache = memoized.cache;\n\t\n\t if (cache.has(key)) {\n\t return cache.get(key);\n\t }\n\t var result = func.apply(this, args);\n\t memoized.cache = cache.set(key, result);\n\t return result;\n\t };\n\t memoized.cache = new (memoize.Cache || MapCache);\n\t return memoized;\n\t}\n\t\n\t// Assign cache to `_.memoize`.\n\tmemoize.Cache = MapCache;\n\t\n\tmodule.exports = memoize;\n\n\n/***/ },\n/* 198 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A no-operation function that returns `undefined` regardless of the\n\t * arguments it receives.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 2.3.0\n\t * @category Util\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.noop(object) === undefined;\n\t * // => true\n\t */\n\tfunction noop() {\n\t // No operation performed.\n\t}\n\t\n\tmodule.exports = noop;\n\n\n/***/ },\n/* 199 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toNumber = __webpack_require__(200);\n\t\n\t/** Used as references for various `Number` constants. */\n\tvar INFINITY = 1 / 0,\n\t MAX_INTEGER = 1.7976931348623157e+308;\n\t\n\t/**\n\t * Converts `value` to an integer.\n\t *\n\t * **Note:** This function is loosely based on\n\t * [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to convert.\n\t * @returns {number} Returns the converted integer.\n\t * @example\n\t *\n\t * _.toInteger(3);\n\t * // => 3\n\t *\n\t * _.toInteger(Number.MIN_VALUE);\n\t * // => 0\n\t *\n\t * _.toInteger(Infinity);\n\t * // => 1.7976931348623157e+308\n\t *\n\t * _.toInteger('3');\n\t * // => 3\n\t */\n\tfunction toInteger(value) {\n\t if (!value) {\n\t return value === 0 ? value : 0;\n\t }\n\t value = toNumber(value);\n\t if (value === INFINITY || value === -INFINITY) {\n\t var sign = (value < 0 ? -1 : 1);\n\t return sign * MAX_INTEGER;\n\t }\n\t var remainder = value % 1;\n\t return value === value ? (remainder ? value - remainder : value) : 0;\n\t}\n\t\n\tmodule.exports = toInteger;\n\n\n/***/ },\n/* 200 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(36),\n\t isObject = __webpack_require__(18),\n\t isSymbol = __webpack_require__(195);\n\t\n\t/** Used as references for various `Number` constants. */\n\tvar NAN = 0 / 0;\n\t\n\t/** Used to match leading and trailing whitespace. */\n\tvar reTrim = /^\\s+|\\s+$/g;\n\t\n\t/** Used to detect bad signed hexadecimal string values. */\n\tvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\t\n\t/** Used to detect binary string values. */\n\tvar reIsBinary = /^0b[01]+$/i;\n\t\n\t/** Used to detect octal string values. */\n\tvar reIsOctal = /^0o[0-7]+$/i;\n\t\n\t/** Built-in method references without a dependency on `root`. */\n\tvar freeParseInt = parseInt;\n\t\n\t/**\n\t * Converts `value` to a number.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to process.\n\t * @returns {number} Returns the number.\n\t * @example\n\t *\n\t * _.toNumber(3);\n\t * // => 3\n\t *\n\t * _.toNumber(Number.MIN_VALUE);\n\t * // => 5e-324\n\t *\n\t * _.toNumber(Infinity);\n\t * // => Infinity\n\t *\n\t * _.toNumber('3');\n\t * // => 3\n\t */\n\tfunction toNumber(value) {\n\t if (typeof value == 'number') {\n\t return value;\n\t }\n\t if (isSymbol(value)) {\n\t return NAN;\n\t }\n\t if (isObject(value)) {\n\t var other = isFunction(value.valueOf) ? value.valueOf() : value;\n\t value = isObject(other) ? (other + '') : other;\n\t }\n\t if (typeof value != 'string') {\n\t return value === 0 ? value : +value;\n\t }\n\t value = value.replace(reTrim, '');\n\t var isBinary = reIsBinary.test(value);\n\t return (isBinary || reIsOctal.test(value))\n\t ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n\t : (reIsBadHex.test(value) ? NAN : +value);\n\t}\n\t\n\tmodule.exports = toNumber;\n\n\n/***/ },\n/* 201 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFlatten = __webpack_require__(161),\n\t baseUniq = __webpack_require__(167),\n\t isArrayLikeObject = __webpack_require__(17),\n\t rest = __webpack_require__(19);\n\t\n\t/**\n\t * Creates an array of unique values, in order, from all given arrays using\n\t * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n\t * for equality comparisons.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Array\n\t * @param {...Array} [arrays] The arrays to inspect.\n\t * @returns {Array} Returns the new array of combined values.\n\t * @example\n\t *\n\t * _.union([2, 1], [4, 2], [1, 2]);\n\t * // => [2, 1, 4]\n\t */\n\tvar union = rest(function(arrays) {\n\t return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n\t});\n\t\n\tmodule.exports = union;\n\n\n/***/ },\n/* 202 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseDifference = __webpack_require__(160),\n\t isArrayLikeObject = __webpack_require__(17),\n\t rest = __webpack_require__(19);\n\t\n\t/**\n\t * Creates an array excluding all given values using\n\t * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n\t * for equality comparisons.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Array\n\t * @param {Array} array The array to filter.\n\t * @param {...*} [values] The values to exclude.\n\t * @returns {Array} Returns the new array of filtered values.\n\t * @example\n\t *\n\t * _.without([1, 2, 1, 3], 1, 2);\n\t * // => [3]\n\t */\n\tvar without = rest(function(array, values) {\n\t return isArrayLikeObject(array)\n\t ? baseDifference(array, values)\n\t : [];\n\t});\n\t\n\tmodule.exports = without;\n\n\n/***/ },\n/* 203 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _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; };\n\t\n\tvar _slice = Array.prototype.slice;\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\texports['default'] = DragDropContext;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tfunction _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; }\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _dndCore = __webpack_require__(90);\n\t\n\tvar _invariant = __webpack_require__(2);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _utilsCheckDecoratorArguments = __webpack_require__(20);\n\t\n\tvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\t\n\tfunction DragDropContext(backendOrModule) {\n\t _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DragDropContext', 'backend'].concat(_slice.call(arguments)));\n\t\n\t // Auto-detect ES6 default export for people still using ES5\n\t var backend = undefined;\n\t if (typeof backendOrModule === 'object' && typeof backendOrModule['default'] === 'function') {\n\t backend = backendOrModule['default'];\n\t } else {\n\t backend = backendOrModule;\n\t }\n\t\n\t _invariant2['default'](typeof backend === 'function', 'Expected the backend to be a function or an ES6 module exporting a default function. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-drop-context.html');\n\t\n\t var childContext = {\n\t dragDropManager: new _dndCore.DragDropManager(backend)\n\t };\n\t\n\t return function decorateContext(DecoratedComponent) {\n\t var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\t\n\t return (function (_Component) {\n\t _inherits(DragDropContextContainer, _Component);\n\t\n\t function DragDropContextContainer() {\n\t _classCallCheck(this, DragDropContextContainer);\n\t\n\t _Component.apply(this, arguments);\n\t }\n\t\n\t DragDropContextContainer.prototype.getDecoratedComponentInstance = function getDecoratedComponentInstance() {\n\t return this.refs.child;\n\t };\n\t\n\t DragDropContextContainer.prototype.getManager = function getManager() {\n\t return childContext.dragDropManager;\n\t };\n\t\n\t DragDropContextContainer.prototype.getChildContext = function getChildContext() {\n\t return childContext;\n\t };\n\t\n\t DragDropContextContainer.prototype.render = function render() {\n\t return _react2['default'].createElement(DecoratedComponent, _extends({}, this.props, {\n\t ref: 'child' }));\n\t };\n\t\n\t _createClass(DragDropContextContainer, null, [{\n\t key: 'DecoratedComponent',\n\t value: DecoratedComponent,\n\t enumerable: true\n\t }, {\n\t key: 'displayName',\n\t value: 'DragDropContext(' + displayName + ')',\n\t enumerable: true\n\t }, {\n\t key: 'childContextTypes',\n\t value: {\n\t dragDropManager: _react.PropTypes.object.isRequired\n\t },\n\t enumerable: true\n\t }]);\n\t\n\t return DragDropContextContainer;\n\t })(_react.Component);\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 204 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _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; };\n\t\n\tvar _slice = Array.prototype.slice;\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\texports['default'] = DragLayer;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tfunction _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; }\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _utilsShallowEqual = __webpack_require__(39);\n\t\n\tvar _utilsShallowEqual2 = _interopRequireDefault(_utilsShallowEqual);\n\t\n\tvar _utilsShallowEqualScalar = __webpack_require__(66);\n\t\n\tvar _utilsShallowEqualScalar2 = _interopRequireDefault(_utilsShallowEqualScalar);\n\t\n\tvar _lodashIsPlainObject = __webpack_require__(5);\n\t\n\tvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\t\n\tvar _invariant = __webpack_require__(2);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _utilsCheckDecoratorArguments = __webpack_require__(20);\n\t\n\tvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\t\n\tfunction DragLayer(collect) {\n\t var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\n\t _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DragLayer', 'collect[, options]'].concat(_slice.call(arguments)));\n\t _invariant2['default'](typeof collect === 'function', 'Expected \"collect\" provided as the first argument to DragLayer ' + 'to be a function that collects props to inject into the component. ', 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-layer.html', collect);\n\t _invariant2['default'](_lodashIsPlainObject2['default'](options), 'Expected \"options\" provided as the second argument to DragLayer to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-layer.html', options);\n\t\n\t return function decorateLayer(DecoratedComponent) {\n\t var _options$arePropsEqual = options.arePropsEqual;\n\t var arePropsEqual = _options$arePropsEqual === undefined ? _utilsShallowEqualScalar2['default'] : _options$arePropsEqual;\n\t\n\t var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\t\n\t return (function (_Component) {\n\t _inherits(DragLayerContainer, _Component);\n\t\n\t DragLayerContainer.prototype.getDecoratedComponentInstance = function getDecoratedComponentInstance() {\n\t return this.refs.child;\n\t };\n\t\n\t DragLayerContainer.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n\t return !arePropsEqual(nextProps, this.props) || !_utilsShallowEqual2['default'](nextState, this.state);\n\t };\n\t\n\t _createClass(DragLayerContainer, null, [{\n\t key: 'DecoratedComponent',\n\t value: DecoratedComponent,\n\t enumerable: true\n\t }, {\n\t key: 'displayName',\n\t value: 'DragLayer(' + displayName + ')',\n\t enumerable: true\n\t }, {\n\t key: 'contextTypes',\n\t value: {\n\t dragDropManager: _react.PropTypes.object.isRequired\n\t },\n\t enumerable: true\n\t }]);\n\t\n\t function DragLayerContainer(props, context) {\n\t _classCallCheck(this, DragLayerContainer);\n\t\n\t _Component.call(this, props);\n\t this.handleChange = this.handleChange.bind(this);\n\t\n\t this.manager = context.dragDropManager;\n\t _invariant2['default'](typeof this.manager === 'object', 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to wrap the top-level component of your app with DragDropContext. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName);\n\t\n\t this.state = this.getCurrentState();\n\t }\n\t\n\t DragLayerContainer.prototype.componentDidMount = function componentDidMount() {\n\t this.isCurrentlyMounted = true;\n\t\n\t var monitor = this.manager.getMonitor();\n\t this.unsubscribeFromOffsetChange = monitor.subscribeToOffsetChange(this.handleChange);\n\t this.unsubscribeFromStateChange = monitor.subscribeToStateChange(this.handleChange);\n\t\n\t this.handleChange();\n\t };\n\t\n\t DragLayerContainer.prototype.componentWillUnmount = function componentWillUnmount() {\n\t this.isCurrentlyMounted = false;\n\t\n\t this.unsubscribeFromOffsetChange();\n\t this.unsubscribeFromStateChange();\n\t };\n\t\n\t DragLayerContainer.prototype.handleChange = function handleChange() {\n\t if (!this.isCurrentlyMounted) {\n\t return;\n\t }\n\t\n\t var nextState = this.getCurrentState();\n\t if (!_utilsShallowEqual2['default'](nextState, this.state)) {\n\t this.setState(nextState);\n\t }\n\t };\n\t\n\t DragLayerContainer.prototype.getCurrentState = function getCurrentState() {\n\t var monitor = this.manager.getMonitor();\n\t return collect(monitor);\n\t };\n\t\n\t DragLayerContainer.prototype.render = function render() {\n\t return _react2['default'].createElement(DecoratedComponent, _extends({}, this.props, this.state, {\n\t ref: 'child' }));\n\t };\n\t\n\t return DragLayerContainer;\n\t })(_react.Component);\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 205 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\tvar _slice = Array.prototype.slice;\n\texports['default'] = DragSource;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _invariant = __webpack_require__(2);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _lodashIsPlainObject = __webpack_require__(5);\n\t\n\tvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\t\n\tvar _utilsCheckDecoratorArguments = __webpack_require__(20);\n\t\n\tvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\t\n\tvar _decorateHandler = __webpack_require__(64);\n\t\n\tvar _decorateHandler2 = _interopRequireDefault(_decorateHandler);\n\t\n\tvar _registerSource = __webpack_require__(213);\n\t\n\tvar _registerSource2 = _interopRequireDefault(_registerSource);\n\t\n\tvar _createSourceFactory = __webpack_require__(208);\n\t\n\tvar _createSourceFactory2 = _interopRequireDefault(_createSourceFactory);\n\t\n\tvar _createSourceMonitor = __webpack_require__(209);\n\t\n\tvar _createSourceMonitor2 = _interopRequireDefault(_createSourceMonitor);\n\t\n\tvar _createSourceConnector = __webpack_require__(207);\n\t\n\tvar _createSourceConnector2 = _interopRequireDefault(_createSourceConnector);\n\t\n\tvar _utilsIsValidType = __webpack_require__(65);\n\t\n\tvar _utilsIsValidType2 = _interopRequireDefault(_utilsIsValidType);\n\t\n\tfunction DragSource(type, spec, collect) {\n\t var options = arguments.length <= 3 || arguments[3] === undefined ? {} : arguments[3];\n\t\n\t _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DragSource', 'type, spec, collect[, options]'].concat(_slice.call(arguments)));\n\t var getType = type;\n\t if (typeof type !== 'function') {\n\t _invariant2['default'](_utilsIsValidType2['default'](type), 'Expected \"type\" provided as the first argument to DragSource to be ' + 'a string, or a function that returns a string given the current props. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', type);\n\t getType = function () {\n\t return type;\n\t };\n\t }\n\t _invariant2['default'](_lodashIsPlainObject2['default'](spec), 'Expected \"spec\" provided as the second argument to DragSource to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', spec);\n\t var createSource = _createSourceFactory2['default'](spec);\n\t _invariant2['default'](typeof collect === 'function', 'Expected \"collect\" provided as the third argument to DragSource to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', collect);\n\t _invariant2['default'](_lodashIsPlainObject2['default'](options), 'Expected \"options\" provided as the fourth argument to DragSource to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', collect);\n\t\n\t return function decorateSource(DecoratedComponent) {\n\t return _decorateHandler2['default']({\n\t connectBackend: function connectBackend(backend, sourceId) {\n\t return backend.connectDragSource(sourceId);\n\t },\n\t containerDisplayName: 'DragSource',\n\t createHandler: createSource,\n\t registerHandler: _registerSource2['default'],\n\t createMonitor: _createSourceMonitor2['default'],\n\t createConnector: _createSourceConnector2['default'],\n\t DecoratedComponent: DecoratedComponent,\n\t getType: getType,\n\t collect: collect,\n\t options: options\n\t });\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 206 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\tvar _slice = Array.prototype.slice;\n\texports['default'] = DropTarget;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _invariant = __webpack_require__(2);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _lodashIsPlainObject = __webpack_require__(5);\n\t\n\tvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\t\n\tvar _utilsCheckDecoratorArguments = __webpack_require__(20);\n\t\n\tvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\t\n\tvar _decorateHandler = __webpack_require__(64);\n\t\n\tvar _decorateHandler2 = _interopRequireDefault(_decorateHandler);\n\t\n\tvar _registerTarget = __webpack_require__(214);\n\t\n\tvar _registerTarget2 = _interopRequireDefault(_registerTarget);\n\t\n\tvar _createTargetFactory = __webpack_require__(211);\n\t\n\tvar _createTargetFactory2 = _interopRequireDefault(_createTargetFactory);\n\t\n\tvar _createTargetMonitor = __webpack_require__(212);\n\t\n\tvar _createTargetMonitor2 = _interopRequireDefault(_createTargetMonitor);\n\t\n\tvar _createTargetConnector = __webpack_require__(210);\n\t\n\tvar _createTargetConnector2 = _interopRequireDefault(_createTargetConnector);\n\t\n\tvar _utilsIsValidType = __webpack_require__(65);\n\t\n\tvar _utilsIsValidType2 = _interopRequireDefault(_utilsIsValidType);\n\t\n\tfunction DropTarget(type, spec, collect) {\n\t var options = arguments.length <= 3 || arguments[3] === undefined ? {} : arguments[3];\n\t\n\t _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DropTarget', 'type, spec, collect[, options]'].concat(_slice.call(arguments)));\n\t var getType = type;\n\t if (typeof type !== 'function') {\n\t _invariant2['default'](_utilsIsValidType2['default'](type, true), 'Expected \"type\" provided as the first argument to DropTarget to be ' + 'a string, an array of strings, or a function that returns either given ' + 'the current props. Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', type);\n\t getType = function () {\n\t return type;\n\t };\n\t }\n\t _invariant2['default'](_lodashIsPlainObject2['default'](spec), 'Expected \"spec\" provided as the second argument to DropTarget to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', spec);\n\t var createTarget = _createTargetFactory2['default'](spec);\n\t _invariant2['default'](typeof collect === 'function', 'Expected \"collect\" provided as the third argument to DropTarget to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', collect);\n\t _invariant2['default'](_lodashIsPlainObject2['default'](options), 'Expected \"options\" provided as the fourth argument to DropTarget to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', collect);\n\t\n\t return function decorateTarget(DecoratedComponent) {\n\t return _decorateHandler2['default']({\n\t connectBackend: function connectBackend(backend, targetId) {\n\t return backend.connectDropTarget(targetId);\n\t },\n\t containerDisplayName: 'DropTarget',\n\t createHandler: createTarget,\n\t registerHandler: _registerTarget2['default'],\n\t createMonitor: _createTargetMonitor2['default'],\n\t createConnector: _createTargetConnector2['default'],\n\t DecoratedComponent: DecoratedComponent,\n\t getType: getType,\n\t collect: collect,\n\t options: options\n\t });\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 207 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createSourceConnector;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _wrapConnectorHooks = __webpack_require__(67);\n\t\n\tvar _wrapConnectorHooks2 = _interopRequireDefault(_wrapConnectorHooks);\n\t\n\tvar _areOptionsEqual = __webpack_require__(63);\n\t\n\tvar _areOptionsEqual2 = _interopRequireDefault(_areOptionsEqual);\n\t\n\tfunction createSourceConnector(backend) {\n\t var currentHandlerId = undefined;\n\t\n\t var currentDragSourceNode = undefined;\n\t var currentDragSourceOptions = undefined;\n\t var disconnectCurrentDragSource = undefined;\n\t\n\t var currentDragPreviewNode = undefined;\n\t var currentDragPreviewOptions = undefined;\n\t var disconnectCurrentDragPreview = undefined;\n\t\n\t function reconnectDragSource() {\n\t if (disconnectCurrentDragSource) {\n\t disconnectCurrentDragSource();\n\t disconnectCurrentDragSource = null;\n\t }\n\t\n\t if (currentHandlerId && currentDragSourceNode) {\n\t disconnectCurrentDragSource = backend.connectDragSource(currentHandlerId, currentDragSourceNode, currentDragSourceOptions);\n\t }\n\t }\n\t\n\t function reconnectDragPreview() {\n\t if (disconnectCurrentDragPreview) {\n\t disconnectCurrentDragPreview();\n\t disconnectCurrentDragPreview = null;\n\t }\n\t\n\t if (currentHandlerId && currentDragPreviewNode) {\n\t disconnectCurrentDragPreview = backend.connectDragPreview(currentHandlerId, currentDragPreviewNode, currentDragPreviewOptions);\n\t }\n\t }\n\t\n\t function receiveHandlerId(handlerId) {\n\t if (handlerId === currentHandlerId) {\n\t return;\n\t }\n\t\n\t currentHandlerId = handlerId;\n\t reconnectDragSource();\n\t reconnectDragPreview();\n\t }\n\t\n\t var hooks = _wrapConnectorHooks2['default']({\n\t dragSource: function connectDragSource(node, options) {\n\t if (node === currentDragSourceNode && _areOptionsEqual2['default'](options, currentDragSourceOptions)) {\n\t return;\n\t }\n\t\n\t currentDragSourceNode = node;\n\t currentDragSourceOptions = options;\n\t\n\t reconnectDragSource();\n\t },\n\t\n\t dragPreview: function connectDragPreview(node, options) {\n\t if (node === currentDragPreviewNode && _areOptionsEqual2['default'](options, currentDragPreviewOptions)) {\n\t return;\n\t }\n\t\n\t currentDragPreviewNode = node;\n\t currentDragPreviewOptions = options;\n\t\n\t reconnectDragPreview();\n\t }\n\t });\n\t\n\t return {\n\t receiveHandlerId: receiveHandlerId,\n\t hooks: hooks\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 208 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createSourceFactory;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _invariant = __webpack_require__(2);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _lodashIsPlainObject = __webpack_require__(5);\n\t\n\tvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\t\n\tvar ALLOWED_SPEC_METHODS = ['canDrag', 'beginDrag', 'canDrag', 'isDragging', 'endDrag'];\n\tvar REQUIRED_SPEC_METHODS = ['beginDrag'];\n\t\n\tfunction createSourceFactory(spec) {\n\t Object.keys(spec).forEach(function (key) {\n\t _invariant2['default'](ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drag source specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected \"%s\" key. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', ALLOWED_SPEC_METHODS.join(', '), key);\n\t _invariant2['default'](typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', key, key, spec[key]);\n\t });\n\t REQUIRED_SPEC_METHODS.forEach(function (key) {\n\t _invariant2['default'](typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', key, key, spec[key]);\n\t });\n\t\n\t var Source = (function () {\n\t function Source(monitor) {\n\t _classCallCheck(this, Source);\n\t\n\t this.monitor = monitor;\n\t this.props = null;\n\t this.component = null;\n\t }\n\t\n\t Source.prototype.receiveProps = function receiveProps(props) {\n\t this.props = props;\n\t };\n\t\n\t Source.prototype.receiveComponent = function receiveComponent(component) {\n\t this.component = component;\n\t };\n\t\n\t Source.prototype.canDrag = function canDrag() {\n\t if (!spec.canDrag) {\n\t return true;\n\t }\n\t\n\t return spec.canDrag(this.props, this.monitor);\n\t };\n\t\n\t Source.prototype.isDragging = function isDragging(globalMonitor, sourceId) {\n\t if (!spec.isDragging) {\n\t return sourceId === globalMonitor.getSourceId();\n\t }\n\t\n\t return spec.isDragging(this.props, this.monitor);\n\t };\n\t\n\t Source.prototype.beginDrag = function beginDrag() {\n\t var item = spec.beginDrag(this.props, this.monitor, this.component);\n\t if (false) {\n\t _invariant2['default'](_lodashIsPlainObject2['default'](item), 'beginDrag() must return a plain object that represents the dragged item. ' + 'Instead received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', item);\n\t }\n\t return item;\n\t };\n\t\n\t Source.prototype.endDrag = function endDrag() {\n\t if (!spec.endDrag) {\n\t return;\n\t }\n\t\n\t spec.endDrag(this.props, this.monitor, this.component);\n\t };\n\t\n\t return Source;\n\t })();\n\t\n\t return function createSource(monitor) {\n\t return new Source(monitor);\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 209 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createSourceMonitor;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _invariant = __webpack_require__(2);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar isCallingCanDrag = false;\n\tvar isCallingIsDragging = false;\n\t\n\tvar SourceMonitor = (function () {\n\t function SourceMonitor(manager) {\n\t _classCallCheck(this, SourceMonitor);\n\t\n\t this.internalMonitor = manager.getMonitor();\n\t }\n\t\n\t SourceMonitor.prototype.receiveHandlerId = function receiveHandlerId(sourceId) {\n\t this.sourceId = sourceId;\n\t };\n\t\n\t SourceMonitor.prototype.canDrag = function canDrag() {\n\t _invariant2['default'](!isCallingCanDrag, 'You may not call monitor.canDrag() inside your canDrag() implementation. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source-monitor.html');\n\t\n\t try {\n\t isCallingCanDrag = true;\n\t return this.internalMonitor.canDragSource(this.sourceId);\n\t } finally {\n\t isCallingCanDrag = false;\n\t }\n\t };\n\t\n\t SourceMonitor.prototype.isDragging = function isDragging() {\n\t _invariant2['default'](!isCallingIsDragging, 'You may not call monitor.isDragging() inside your isDragging() implementation. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source-monitor.html');\n\t\n\t try {\n\t isCallingIsDragging = true;\n\t return this.internalMonitor.isDraggingSource(this.sourceId);\n\t } finally {\n\t isCallingIsDragging = false;\n\t }\n\t };\n\t\n\t SourceMonitor.prototype.getItemType = function getItemType() {\n\t return this.internalMonitor.getItemType();\n\t };\n\t\n\t SourceMonitor.prototype.getItem = function getItem() {\n\t return this.internalMonitor.getItem();\n\t };\n\t\n\t SourceMonitor.prototype.getDropResult = function getDropResult() {\n\t return this.internalMonitor.getDropResult();\n\t };\n\t\n\t SourceMonitor.prototype.didDrop = function didDrop() {\n\t return this.internalMonitor.didDrop();\n\t };\n\t\n\t SourceMonitor.prototype.getInitialClientOffset = function getInitialClientOffset() {\n\t return this.internalMonitor.getInitialClientOffset();\n\t };\n\t\n\t SourceMonitor.prototype.getInitialSourceClientOffset = function getInitialSourceClientOffset() {\n\t return this.internalMonitor.getInitialSourceClientOffset();\n\t };\n\t\n\t SourceMonitor.prototype.getSourceClientOffset = function getSourceClientOffset() {\n\t return this.internalMonitor.getSourceClientOffset();\n\t };\n\t\n\t SourceMonitor.prototype.getClientOffset = function getClientOffset() {\n\t return this.internalMonitor.getClientOffset();\n\t };\n\t\n\t SourceMonitor.prototype.getDifferenceFromInitialOffset = function getDifferenceFromInitialOffset() {\n\t return this.internalMonitor.getDifferenceFromInitialOffset();\n\t };\n\t\n\t return SourceMonitor;\n\t})();\n\t\n\tfunction createSourceMonitor(manager) {\n\t return new SourceMonitor(manager);\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 210 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createTargetConnector;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _wrapConnectorHooks = __webpack_require__(67);\n\t\n\tvar _wrapConnectorHooks2 = _interopRequireDefault(_wrapConnectorHooks);\n\t\n\tvar _areOptionsEqual = __webpack_require__(63);\n\t\n\tvar _areOptionsEqual2 = _interopRequireDefault(_areOptionsEqual);\n\t\n\tfunction createTargetConnector(backend) {\n\t var currentHandlerId = undefined;\n\t\n\t var currentDropTargetNode = undefined;\n\t var currentDropTargetOptions = undefined;\n\t var disconnectCurrentDropTarget = undefined;\n\t\n\t function reconnectDropTarget() {\n\t if (disconnectCurrentDropTarget) {\n\t disconnectCurrentDropTarget();\n\t disconnectCurrentDropTarget = null;\n\t }\n\t\n\t if (currentHandlerId && currentDropTargetNode) {\n\t disconnectCurrentDropTarget = backend.connectDropTarget(currentHandlerId, currentDropTargetNode, currentDropTargetOptions);\n\t }\n\t }\n\t\n\t function receiveHandlerId(handlerId) {\n\t if (handlerId === currentHandlerId) {\n\t return;\n\t }\n\t\n\t currentHandlerId = handlerId;\n\t reconnectDropTarget();\n\t }\n\t\n\t var hooks = _wrapConnectorHooks2['default']({\n\t dropTarget: function connectDropTarget(node, options) {\n\t if (node === currentDropTargetNode && _areOptionsEqual2['default'](options, currentDropTargetOptions)) {\n\t return;\n\t }\n\t\n\t currentDropTargetNode = node;\n\t currentDropTargetOptions = options;\n\t\n\t reconnectDropTarget();\n\t }\n\t });\n\t\n\t return {\n\t receiveHandlerId: receiveHandlerId,\n\t hooks: hooks\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 211 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createTargetFactory;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _invariant = __webpack_require__(2);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _lodashIsPlainObject = __webpack_require__(5);\n\t\n\tvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\t\n\tvar ALLOWED_SPEC_METHODS = ['canDrop', 'hover', 'drop'];\n\t\n\tfunction createTargetFactory(spec) {\n\t Object.keys(spec).forEach(function (key) {\n\t _invariant2['default'](ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drop target specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected \"%s\" key. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', ALLOWED_SPEC_METHODS.join(', '), key);\n\t _invariant2['default'](typeof spec[key] === 'function', 'Expected %s in the drop target specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', key, key, spec[key]);\n\t });\n\t\n\t var Target = (function () {\n\t function Target(monitor) {\n\t _classCallCheck(this, Target);\n\t\n\t this.monitor = monitor;\n\t this.props = null;\n\t this.component = null;\n\t }\n\t\n\t Target.prototype.receiveProps = function receiveProps(props) {\n\t this.props = props;\n\t };\n\t\n\t Target.prototype.receiveMonitor = function receiveMonitor(monitor) {\n\t this.monitor = monitor;\n\t };\n\t\n\t Target.prototype.receiveComponent = function receiveComponent(component) {\n\t this.component = component;\n\t };\n\t\n\t Target.prototype.canDrop = function canDrop() {\n\t if (!spec.canDrop) {\n\t return true;\n\t }\n\t\n\t return spec.canDrop(this.props, this.monitor);\n\t };\n\t\n\t Target.prototype.hover = function hover() {\n\t if (!spec.hover) {\n\t return;\n\t }\n\t\n\t spec.hover(this.props, this.monitor, this.component);\n\t };\n\t\n\t Target.prototype.drop = function drop() {\n\t if (!spec.drop) {\n\t return;\n\t }\n\t\n\t var dropResult = spec.drop(this.props, this.monitor, this.component);\n\t if (false) {\n\t _invariant2['default'](typeof dropResult === 'undefined' || _lodashIsPlainObject2['default'](dropResult), 'drop() must either return undefined, or an object that represents the drop result. ' + 'Instead received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', dropResult);\n\t }\n\t return dropResult;\n\t };\n\t\n\t return Target;\n\t })();\n\t\n\t return function createTarget(monitor) {\n\t return new Target(monitor);\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 212 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createTargetMonitor;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _invariant = __webpack_require__(2);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar isCallingCanDrop = false;\n\t\n\tvar TargetMonitor = (function () {\n\t function TargetMonitor(manager) {\n\t _classCallCheck(this, TargetMonitor);\n\t\n\t this.internalMonitor = manager.getMonitor();\n\t }\n\t\n\t TargetMonitor.prototype.receiveHandlerId = function receiveHandlerId(targetId) {\n\t this.targetId = targetId;\n\t };\n\t\n\t TargetMonitor.prototype.canDrop = function canDrop() {\n\t _invariant2['default'](!isCallingCanDrop, 'You may not call monitor.canDrop() inside your canDrop() implementation. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target-monitor.html');\n\t\n\t try {\n\t isCallingCanDrop = true;\n\t return this.internalMonitor.canDropOnTarget(this.targetId);\n\t } finally {\n\t isCallingCanDrop = false;\n\t }\n\t };\n\t\n\t TargetMonitor.prototype.isOver = function isOver(options) {\n\t return this.internalMonitor.isOverTarget(this.targetId, options);\n\t };\n\t\n\t TargetMonitor.prototype.getItemType = function getItemType() {\n\t return this.internalMonitor.getItemType();\n\t };\n\t\n\t TargetMonitor.prototype.getItem = function getItem() {\n\t return this.internalMonitor.getItem();\n\t };\n\t\n\t TargetMonitor.prototype.getDropResult = function getDropResult() {\n\t return this.internalMonitor.getDropResult();\n\t };\n\t\n\t TargetMonitor.prototype.didDrop = function didDrop() {\n\t return this.internalMonitor.didDrop();\n\t };\n\t\n\t TargetMonitor.prototype.getInitialClientOffset = function getInitialClientOffset() {\n\t return this.internalMonitor.getInitialClientOffset();\n\t };\n\t\n\t TargetMonitor.prototype.getInitialSourceClientOffset = function getInitialSourceClientOffset() {\n\t return this.internalMonitor.getInitialSourceClientOffset();\n\t };\n\t\n\t TargetMonitor.prototype.getSourceClientOffset = function getSourceClientOffset() {\n\t return this.internalMonitor.getSourceClientOffset();\n\t };\n\t\n\t TargetMonitor.prototype.getClientOffset = function getClientOffset() {\n\t return this.internalMonitor.getClientOffset();\n\t };\n\t\n\t TargetMonitor.prototype.getDifferenceFromInitialOffset = function getDifferenceFromInitialOffset() {\n\t return this.internalMonitor.getDifferenceFromInitialOffset();\n\t };\n\t\n\t return TargetMonitor;\n\t})();\n\t\n\tfunction createTargetMonitor(manager) {\n\t return new TargetMonitor(manager);\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 213 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = registerSource;\n\t\n\tfunction registerSource(type, source, manager) {\n\t var registry = manager.getRegistry();\n\t var sourceId = registry.addSource(type, source);\n\t\n\t function unregisterSource() {\n\t registry.removeSource(sourceId);\n\t }\n\t\n\t return {\n\t handlerId: sourceId,\n\t unregister: unregisterSource\n\t };\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 214 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = registerTarget;\n\t\n\tfunction registerTarget(type, target, manager) {\n\t var registry = manager.getRegistry();\n\t var targetId = registry.addTarget(type, target);\n\t\n\t function unregisterTarget() {\n\t registry.removeTarget(targetId);\n\t }\n\t\n\t return {\n\t handlerId: targetId,\n\t unregister: unregisterTarget\n\t };\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 215 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = cloneWithRef;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _invariant = __webpack_require__(2);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tfunction cloneWithRef(element, newRef) {\n\t var previousRef = element.ref;\n\t _invariant2['default'](typeof previousRef !== 'string', 'Cannot connect React DnD to an element with an existing string ref. ' + 'Please convert it to use a callback ref instead, or wrap it into a or
. ' + 'Read more: https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute');\n\t\n\t if (!previousRef) {\n\t // When there is no ref on the element, use the new ref directly\n\t return _react.cloneElement(element, {\n\t ref: newRef\n\t });\n\t }\n\t\n\t return _react.cloneElement(element, {\n\t ref: function ref(node) {\n\t newRef(node);\n\t\n\t if (previousRef) {\n\t previousRef(node);\n\t }\n\t }\n\t });\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 216 */\n/***/ function(module, exports) {\n\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeGetPrototype = Object.getPrototypeOf;\n\t\n\t/**\n\t * Gets the `[[Prototype]]` of `value`.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {null|Object} Returns the `[[Prototype]]`.\n\t */\n\tfunction getPrototype(value) {\n\t return nativeGetPrototype(Object(value));\n\t}\n\t\n\tmodule.exports = getPrototype;\n\n\n/***/ },\n/* 217 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is a host object in IE < 9.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n\t */\n\tfunction isHostObject(value) {\n\t // Many host objects are `Object` objects that can coerce to strings\n\t // despite having improperly defined `toString` methods.\n\t var result = false;\n\t if (value != null && typeof value.toString != 'function') {\n\t try {\n\t result = !!(value + '');\n\t } catch (e) {}\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = isHostObject;\n\n\n/***/ },\n/* 218 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @type {Function}\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(document.body.children);\n\t * // => false\n\t *\n\t * _.isArray('abc');\n\t * // => false\n\t *\n\t * _.isArray(_.noop);\n\t * // => false\n\t */\n\tvar isArray = Array.isArray;\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 219 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like. A value is object-like if it's not `null`\n\t * and has a `typeof` result of \"object\".\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t * @example\n\t *\n\t * _.isObjectLike({});\n\t * // => true\n\t *\n\t * _.isObjectLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObjectLike(_.noop);\n\t * // => false\n\t *\n\t * _.isObjectLike(null);\n\t * // => false\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 220 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule update\n\t */\n\t\n\t/* global hasOwnProperty:true */\n\t\n\t'use strict';\n\t\n\tvar _assign = __webpack_require__(140);\n\t\n\tvar keyOf = __webpack_require__(139);\n\tvar invariant = __webpack_require__(138);\n\tvar hasOwnProperty = {}.hasOwnProperty;\n\t\n\tfunction shallowCopy(x) {\n\t if (Array.isArray(x)) {\n\t return x.concat();\n\t } else if (x && typeof x === 'object') {\n\t return _assign(new x.constructor(), x);\n\t } else {\n\t return x;\n\t }\n\t}\n\t\n\tvar COMMAND_PUSH = keyOf({ $push: null });\n\tvar COMMAND_UNSHIFT = keyOf({ $unshift: null });\n\tvar COMMAND_SPLICE = keyOf({ $splice: null });\n\tvar COMMAND_SET = keyOf({ $set: null });\n\tvar COMMAND_MERGE = keyOf({ $merge: null });\n\tvar COMMAND_APPLY = keyOf({ $apply: null });\n\t\n\tvar ALL_COMMANDS_LIST = [COMMAND_PUSH, COMMAND_UNSHIFT, COMMAND_SPLICE, COMMAND_SET, COMMAND_MERGE, COMMAND_APPLY];\n\t\n\tvar ALL_COMMANDS_SET = {};\n\t\n\tALL_COMMANDS_LIST.forEach(function (command) {\n\t ALL_COMMANDS_SET[command] = true;\n\t});\n\t\n\tfunction invariantArrayCase(value, spec, command) {\n\t !Array.isArray(value) ? false ? invariant(false, 'update(): expected target of %s to be an array; got %s.', command, value) : invariant(false) : void 0;\n\t var specValue = spec[command];\n\t !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) : invariant(false) : void 0;\n\t}\n\t\n\tfunction update(value, spec) {\n\t !(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) : invariant(false) : void 0;\n\t\n\t if (hasOwnProperty.call(spec, COMMAND_SET)) {\n\t !(Object.keys(spec).length === 1) ? false ? invariant(false, 'Cannot have more than one key in an object with %s', COMMAND_SET) : invariant(false) : void 0;\n\t\n\t return spec[COMMAND_SET];\n\t }\n\t\n\t var nextValue = shallowCopy(value);\n\t\n\t if (hasOwnProperty.call(spec, COMMAND_MERGE)) {\n\t var mergeObj = spec[COMMAND_MERGE];\n\t !(mergeObj && typeof mergeObj === 'object') ? false ? invariant(false, 'update(): %s expects a spec of type \\'object\\'; got %s', COMMAND_MERGE, mergeObj) : invariant(false) : void 0;\n\t !(nextValue && typeof nextValue === 'object') ? false ? invariant(false, 'update(): %s expects a target of type \\'object\\'; got %s', COMMAND_MERGE, nextValue) : invariant(false) : void 0;\n\t _assign(nextValue, spec[COMMAND_MERGE]);\n\t }\n\t\n\t if (hasOwnProperty.call(spec, COMMAND_PUSH)) {\n\t invariantArrayCase(value, spec, COMMAND_PUSH);\n\t spec[COMMAND_PUSH].forEach(function (item) {\n\t nextValue.push(item);\n\t });\n\t }\n\t\n\t if (hasOwnProperty.call(spec, COMMAND_UNSHIFT)) {\n\t invariantArrayCase(value, spec, COMMAND_UNSHIFT);\n\t spec[COMMAND_UNSHIFT].forEach(function (item) {\n\t nextValue.unshift(item);\n\t });\n\t }\n\t\n\t if (hasOwnProperty.call(spec, COMMAND_SPLICE)) {\n\t !Array.isArray(value) ? false ? invariant(false, 'Expected %s target to be an array; got %s', COMMAND_SPLICE, value) : invariant(false) : void 0;\n\t !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]) : invariant(false) : void 0;\n\t spec[COMMAND_SPLICE].forEach(function (args) {\n\t !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]) : invariant(false) : void 0;\n\t nextValue.splice.apply(nextValue, args);\n\t });\n\t }\n\t\n\t if (hasOwnProperty.call(spec, COMMAND_APPLY)) {\n\t !(typeof spec[COMMAND_APPLY] === 'function') ? false ? invariant(false, 'update(): expected spec of %s to be a function; got %s.', COMMAND_APPLY, spec[COMMAND_APPLY]) : invariant(false) : void 0;\n\t nextValue = spec[COMMAND_APPLY](nextValue);\n\t }\n\t\n\t for (var k in spec) {\n\t if (!(ALL_COMMANDS_SET.hasOwnProperty(k) && ALL_COMMANDS_SET[k])) {\n\t nextValue[k] = update(value[k], spec[k]);\n\t }\n\t }\n\t\n\t return nextValue;\n\t}\n\t\n\tmodule.exports = update;\n\n/***/ },\n/* 221 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.ActionTypes = undefined;\n\texports[\"default\"] = createStore;\n\t\n\tvar _isPlainObject = __webpack_require__(225);\n\t\n\tvar _isPlainObject2 = _interopRequireDefault(_isPlainObject);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\t\n\t/**\n\t * These are private action types reserved by Redux.\n\t * For any unknown actions, you must return the current state.\n\t * If the current state is undefined, you must return the initial state.\n\t * Do not reference these action types directly in your code.\n\t */\n\tvar ActionTypes = exports.ActionTypes = {\n\t INIT: '@@redux/INIT'\n\t};\n\t\n\t/**\n\t * Creates a Redux store that holds the state tree.\n\t * The only way to change the data in the store is to call `dispatch()` on it.\n\t *\n\t * There should only be a single store in your app. To specify how different\n\t * parts of the state tree respond to actions, you may combine several reducers\n\t * into a single reducer function by using `combineReducers`.\n\t *\n\t * @param {Function} reducer A function that returns the next state tree, given\n\t * the current state tree and the action to handle.\n\t *\n\t * @param {any} [initialState] The initial state. You may optionally specify it\n\t * to hydrate the state from the server in universal apps, or to restore a\n\t * previously serialized user session.\n\t * If you use `combineReducers` to produce the root reducer function, this must be\n\t * an object with the same shape as `combineReducers` keys.\n\t *\n\t * @param {Function} enhancer The store enhancer. You may optionally specify it\n\t * to enhance the store with third-party capabilities such as middleware,\n\t * time travel, persistence, etc. The only store enhancer that ships with Redux\n\t * is `applyMiddleware()`.\n\t *\n\t * @returns {Store} A Redux store that lets you read the state, dispatch actions\n\t * and subscribe to changes.\n\t */\n\tfunction createStore(reducer, initialState, enhancer) {\n\t if (typeof initialState === 'function' && typeof enhancer === 'undefined') {\n\t enhancer = initialState;\n\t initialState = undefined;\n\t }\n\t\n\t if (typeof enhancer !== 'undefined') {\n\t if (typeof enhancer !== 'function') {\n\t throw new Error('Expected the enhancer to be a function.');\n\t }\n\t\n\t return enhancer(createStore)(reducer, initialState);\n\t }\n\t\n\t if (typeof reducer !== 'function') {\n\t throw new Error('Expected the reducer to be a function.');\n\t }\n\t\n\t var currentReducer = reducer;\n\t var currentState = initialState;\n\t var currentListeners = [];\n\t var nextListeners = currentListeners;\n\t var isDispatching = false;\n\t\n\t function ensureCanMutateNextListeners() {\n\t if (nextListeners === currentListeners) {\n\t nextListeners = currentListeners.slice();\n\t }\n\t }\n\t\n\t /**\n\t * Reads the state tree managed by the store.\n\t *\n\t * @returns {any} The current state tree of your application.\n\t */\n\t function getState() {\n\t return currentState;\n\t }\n\t\n\t /**\n\t * Adds a change listener. It will be called any time an action is dispatched,\n\t * and some part of the state tree may potentially have changed. You may then\n\t * call `getState()` to read the current state tree inside the callback.\n\t *\n\t * You may call `dispatch()` from a change listener, with the following\n\t * caveats:\n\t *\n\t * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n\t * If you subscribe or unsubscribe while the listeners are being invoked, this\n\t * will not have any effect on the `dispatch()` that is currently in progress.\n\t * However, the next `dispatch()` call, whether nested or not, will use a more\n\t * recent snapshot of the subscription list.\n\t *\n\t * 2. The listener should not expect to see all state changes, as the state\n\t * might have been updated multiple times during a nested `dispatch()` before\n\t * the listener is called. It is, however, guaranteed that all subscribers\n\t * registered before the `dispatch()` started will be called with the latest\n\t * state by the time it exits.\n\t *\n\t * @param {Function} listener A callback to be invoked on every dispatch.\n\t * @returns {Function} A function to remove this change listener.\n\t */\n\t function subscribe(listener) {\n\t if (typeof listener !== 'function') {\n\t throw new Error('Expected listener to be a function.');\n\t }\n\t\n\t var isSubscribed = true;\n\t\n\t ensureCanMutateNextListeners();\n\t nextListeners.push(listener);\n\t\n\t return function unsubscribe() {\n\t if (!isSubscribed) {\n\t return;\n\t }\n\t\n\t isSubscribed = false;\n\t\n\t ensureCanMutateNextListeners();\n\t var index = nextListeners.indexOf(listener);\n\t nextListeners.splice(index, 1);\n\t };\n\t }\n\t\n\t /**\n\t * Dispatches an action. It is the only way to trigger a state change.\n\t *\n\t * The `reducer` function, used to create the store, will be called with the\n\t * current state tree and the given `action`. Its return value will\n\t * be considered the **next** state of the tree, and the change listeners\n\t * will be notified.\n\t *\n\t * The base implementation only supports plain object actions. If you want to\n\t * dispatch a Promise, an Observable, a thunk, or something else, you need to\n\t * wrap your store creating function into the corresponding middleware. For\n\t * example, see the documentation for the `redux-thunk` package. Even the\n\t * middleware will eventually dispatch plain object actions using this method.\n\t *\n\t * @param {Object} action A plain object representing “what changed”. It is\n\t * a good idea to keep actions serializable so you can record and replay user\n\t * sessions, or use the time travelling `redux-devtools`. An action must have\n\t * a `type` property which may not be `undefined`. It is a good idea to use\n\t * string constants for action types.\n\t *\n\t * @returns {Object} For convenience, the same action object you dispatched.\n\t *\n\t * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n\t * return something else (for example, a Promise you can await).\n\t */\n\t function dispatch(action) {\n\t if (!(0, _isPlainObject2[\"default\"])(action)) {\n\t throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n\t }\n\t\n\t if (typeof action.type === 'undefined') {\n\t throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n\t }\n\t\n\t if (isDispatching) {\n\t throw new Error('Reducers may not dispatch actions.');\n\t }\n\t\n\t try {\n\t isDispatching = true;\n\t currentState = currentReducer(currentState, action);\n\t } finally {\n\t isDispatching = false;\n\t }\n\t\n\t var listeners = currentListeners = nextListeners;\n\t for (var i = 0; i < listeners.length; i++) {\n\t listeners[i]();\n\t }\n\t\n\t return action;\n\t }\n\t\n\t /**\n\t * Replaces the reducer currently used by the store to calculate the state.\n\t *\n\t * You might need this if your app implements code splitting and you want to\n\t * load some of the reducers dynamically. You might also need this if you\n\t * implement a hot reloading mechanism for Redux.\n\t *\n\t * @param {Function} nextReducer The reducer for the store to use instead.\n\t * @returns {void}\n\t */\n\t function replaceReducer(nextReducer) {\n\t if (typeof nextReducer !== 'function') {\n\t throw new Error('Expected the nextReducer to be a function.');\n\t }\n\t\n\t currentReducer = nextReducer;\n\t dispatch({ type: ActionTypes.INIT });\n\t }\n\t\n\t // When a store is created, an \"INIT\" action is dispatched so that every\n\t // reducer returns their initial state. This effectively populates\n\t // the initial state tree.\n\t dispatch({ type: ActionTypes.INIT });\n\t\n\t return {\n\t dispatch: dispatch,\n\t subscribe: subscribe,\n\t getState: getState,\n\t replaceReducer: replaceReducer\n\t };\n\t}\n\n/***/ },\n/* 222 */\n/***/ function(module, exports) {\n\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeGetPrototype = Object.getPrototypeOf;\n\t\n\t/**\n\t * Gets the `[[Prototype]]` of `value`.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {null|Object} Returns the `[[Prototype]]`.\n\t */\n\tfunction getPrototype(value) {\n\t return nativeGetPrototype(Object(value));\n\t}\n\t\n\tmodule.exports = getPrototype;\n\n\n/***/ },\n/* 223 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is a host object in IE < 9.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n\t */\n\tfunction isHostObject(value) {\n\t // Many host objects are `Object` objects that can coerce to strings\n\t // despite having improperly defined `toString` methods.\n\t var result = false;\n\t if (value != null && typeof value.toString != 'function') {\n\t try {\n\t result = !!(value + '');\n\t } catch (e) {}\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = isHostObject;\n\n\n/***/ },\n/* 224 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like. A value is object-like if it's not `null`\n\t * and has a `typeof` result of \"object\".\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t * @example\n\t *\n\t * _.isObjectLike({});\n\t * // => true\n\t *\n\t * _.isObjectLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObjectLike(_.noop);\n\t * // => false\n\t *\n\t * _.isObjectLike(null);\n\t * // => false\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 225 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getPrototype = __webpack_require__(222),\n\t isHostObject = __webpack_require__(223),\n\t isObjectLike = __webpack_require__(224);\n\t\n\t/** `Object#toString` result references. */\n\tvar objectTag = '[object Object]';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to infer the `Object` constructor. */\n\tvar objectCtorString = funcToString.call(Object);\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is a plain object, that is, an object created by the\n\t * `Object` constructor or one with a `[[Prototype]]` of `null`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.8.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a plain object,\n\t * else `false`.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * }\n\t *\n\t * _.isPlainObject(new Foo);\n\t * // => false\n\t *\n\t * _.isPlainObject([1, 2, 3]);\n\t * // => false\n\t *\n\t * _.isPlainObject({ 'x': 0, 'y': 0 });\n\t * // => true\n\t *\n\t * _.isPlainObject(Object.create(null));\n\t * // => true\n\t */\n\tfunction isPlainObject(value) {\n\t if (!isObjectLike(value) ||\n\t objectToString.call(value) != objectTag || isHostObject(value)) {\n\t return false;\n\t }\n\t var proto = getPrototype(value);\n\t if (proto === null) {\n\t return true;\n\t }\n\t var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n\t return (typeof Ctor == 'function' &&\n\t Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString);\n\t}\n\t\n\tmodule.exports = isPlainObject;\n\n\n/***/ },\n/* 226 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_226__;\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** lib.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap a984ef4b59b23bc45ab1\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"react\"\n ** module id = 1\n ** module chunks = 0\n **/","/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/invariant/browser.js\n ** module id = 2\n ** module chunks = 0\n **/","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return type == 'number' || type == 'boolean' ||\n (type == 'string' && value != '__proto__') || value == null;\n}\n\nmodule.exports = isKeyable;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_isKeyable.js\n ** module id = 3\n ** module chunks = 0\n **/","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return type == 'number' || type == 'boolean' ||\n (type == 'string' && value != '__proto__') || value == null;\n}\n\nmodule.exports = isKeyable;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_isKeyable.js\n ** module id = 4\n ** module chunks = 0\n **/","var getPrototype = require('./_getPrototype'),\n isHostObject = require('./_isHostObject'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object,\n * else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) ||\n objectToString.call(value) != objectTag || isHostObject(value)) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return (typeof Ctor == 'function' &&\n Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString);\n}\n\nmodule.exports = isPlainObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/~/lodash/isPlainObject.js\n ** module id = 5\n ** module chunks = 0\n **/","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_Map.js\n ** module id = 6\n ** module chunks = 0\n **/","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_Map.js\n ** module id = 7\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.beginDrag = beginDrag;\nexports.publishDragSource = publishDragSource;\nexports.hover = hover;\nexports.drop = drop;\nexports.endDrag = endDrag;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utilsMatchesType = require('../utils/matchesType');\n\nvar _utilsMatchesType2 = _interopRequireDefault(_utilsMatchesType);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _lodashIsArray = require('lodash/isArray');\n\nvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\nvar _lodashIsObject = require('lodash/isObject');\n\nvar _lodashIsObject2 = _interopRequireDefault(_lodashIsObject);\n\nvar BEGIN_DRAG = 'dnd-core/BEGIN_DRAG';\nexports.BEGIN_DRAG = BEGIN_DRAG;\nvar PUBLISH_DRAG_SOURCE = 'dnd-core/PUBLISH_DRAG_SOURCE';\nexports.PUBLISH_DRAG_SOURCE = PUBLISH_DRAG_SOURCE;\nvar HOVER = 'dnd-core/HOVER';\nexports.HOVER = HOVER;\nvar DROP = 'dnd-core/DROP';\nexports.DROP = DROP;\nvar END_DRAG = 'dnd-core/END_DRAG';\n\nexports.END_DRAG = END_DRAG;\n\nfunction beginDrag(sourceIds) {\n var _ref = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var _ref$publishSource = _ref.publishSource;\n var publishSource = _ref$publishSource === undefined ? true : _ref$publishSource;\n var _ref$clientOffset = _ref.clientOffset;\n var clientOffset = _ref$clientOffset === undefined ? null : _ref$clientOffset;\n var getSourceClientOffset = _ref.getSourceClientOffset;\n\n _invariant2['default'](_lodashIsArray2['default'](sourceIds), 'Expected sourceIds to be an array.');\n\n var monitor = this.getMonitor();\n var registry = this.getRegistry();\n _invariant2['default'](!monitor.isDragging(), 'Cannot call beginDrag while dragging.');\n\n for (var i = 0; i < sourceIds.length; i++) {\n _invariant2['default'](registry.getSource(sourceIds[i]), 'Expected sourceIds to be registered.');\n }\n\n var sourceId = null;\n for (var i = sourceIds.length - 1; i >= 0; i--) {\n if (monitor.canDragSource(sourceIds[i])) {\n sourceId = sourceIds[i];\n break;\n }\n }\n if (sourceId === null) {\n return;\n }\n\n var sourceClientOffset = null;\n if (clientOffset) {\n _invariant2['default'](typeof getSourceClientOffset === 'function', 'When clientOffset is provided, getSourceClientOffset must be a function.');\n sourceClientOffset = getSourceClientOffset(sourceId);\n }\n\n var source = registry.getSource(sourceId);\n var item = source.beginDrag(monitor, sourceId);\n _invariant2['default'](_lodashIsObject2['default'](item), 'Item must be an object.');\n\n registry.pinSource(sourceId);\n\n var itemType = registry.getSourceType(sourceId);\n return {\n type: BEGIN_DRAG,\n itemType: itemType,\n item: item,\n sourceId: sourceId,\n clientOffset: clientOffset,\n sourceClientOffset: sourceClientOffset,\n isSourcePublic: publishSource\n };\n}\n\nfunction publishDragSource(manager) {\n var monitor = this.getMonitor();\n if (!monitor.isDragging()) {\n return;\n }\n\n return {\n type: PUBLISH_DRAG_SOURCE\n };\n}\n\nfunction hover(targetIds) {\n var _ref2 = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var _ref2$clientOffset = _ref2.clientOffset;\n var clientOffset = _ref2$clientOffset === undefined ? null : _ref2$clientOffset;\n\n _invariant2['default'](_lodashIsArray2['default'](targetIds), 'Expected targetIds to be an array.');\n targetIds = targetIds.slice(0);\n\n var monitor = this.getMonitor();\n var registry = this.getRegistry();\n _invariant2['default'](monitor.isDragging(), 'Cannot call hover while not dragging.');\n _invariant2['default'](!monitor.didDrop(), 'Cannot call hover after drop.');\n\n // First check invariants.\n for (var i = 0; i < targetIds.length; i++) {\n var targetId = targetIds[i];\n _invariant2['default'](targetIds.lastIndexOf(targetId) === i, 'Expected targetIds to be unique in the passed array.');\n\n var target = registry.getTarget(targetId);\n _invariant2['default'](target, 'Expected targetIds to be registered.');\n }\n\n var draggedItemType = monitor.getItemType();\n\n // Remove those targetIds that don't match the targetType. This\n // fixes shallow isOver which would only be non-shallow because of\n // non-matching targets.\n for (var i = targetIds.length - 1; i >= 0; i--) {\n var targetId = targetIds[i];\n var targetType = registry.getTargetType(targetId);\n if (!_utilsMatchesType2['default'](targetType, draggedItemType)) {\n targetIds.splice(i, 1);\n }\n }\n\n // Finally call hover on all matching targets.\n for (var i = 0; i < targetIds.length; i++) {\n var targetId = targetIds[i];\n var target = registry.getTarget(targetId);\n target.hover(monitor, targetId);\n }\n\n return {\n type: HOVER,\n targetIds: targetIds,\n clientOffset: clientOffset\n };\n}\n\nfunction drop() {\n var _this = this;\n\n var monitor = this.getMonitor();\n var registry = this.getRegistry();\n _invariant2['default'](monitor.isDragging(), 'Cannot call drop while not dragging.');\n _invariant2['default'](!monitor.didDrop(), 'Cannot call drop twice during one drag operation.');\n\n var targetIds = monitor.getTargetIds().filter(monitor.canDropOnTarget, monitor);\n\n targetIds.reverse();\n targetIds.forEach(function (targetId, index) {\n var target = registry.getTarget(targetId);\n\n var dropResult = target.drop(monitor, targetId);\n _invariant2['default'](typeof dropResult === 'undefined' || _lodashIsObject2['default'](dropResult), 'Drop result must either be an object or undefined.');\n if (typeof dropResult === 'undefined') {\n dropResult = index === 0 ? {} : monitor.getDropResult();\n }\n\n _this.store.dispatch({\n type: DROP,\n dropResult: dropResult\n });\n });\n}\n\nfunction endDrag() {\n var monitor = this.getMonitor();\n var registry = this.getRegistry();\n _invariant2['default'](monitor.isDragging(), 'Cannot call endDrag while not dragging.');\n\n var sourceId = monitor.getSourceId();\n var source = registry.getSource(sourceId, true);\n source.endDrag(monitor, sourceId);\n\n registry.unpinSource();\n\n return {\n type: END_DRAG\n };\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/actions/dragDrop.js\n ** module id = 8\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.addSource = addSource;\nexports.addTarget = addTarget;\nexports.removeSource = removeSource;\nexports.removeTarget = removeTarget;\nvar ADD_SOURCE = 'dnd-core/ADD_SOURCE';\nexports.ADD_SOURCE = ADD_SOURCE;\nvar ADD_TARGET = 'dnd-core/ADD_TARGET';\nexports.ADD_TARGET = ADD_TARGET;\nvar REMOVE_SOURCE = 'dnd-core/REMOVE_SOURCE';\nexports.REMOVE_SOURCE = REMOVE_SOURCE;\nvar REMOVE_TARGET = 'dnd-core/REMOVE_TARGET';\n\nexports.REMOVE_TARGET = REMOVE_TARGET;\n\nfunction addSource(sourceId) {\n return {\n type: ADD_SOURCE,\n sourceId: sourceId\n };\n}\n\nfunction addTarget(targetId) {\n return {\n type: ADD_TARGET,\n targetId: targetId\n };\n}\n\nfunction removeSource(sourceId) {\n return {\n type: REMOVE_SOURCE,\n sourceId: sourceId\n };\n}\n\nfunction removeTarget(targetId) {\n return {\n type: REMOVE_TARGET,\n targetId: targetId\n };\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/actions/registry.js\n ** module id = 9\n ** module chunks = 0\n **/","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_assocIndexOf.js\n ** module id = 10\n ** module chunks = 0\n **/","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_nativeCreate.js\n ** module id = 11\n ** module chunks = 0\n **/","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @type {Function}\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isArray.js\n ** module id = 12\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isObject.js\n ** module id = 13\n ** module chunks = 0\n **/","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_assocIndexOf.js\n ** module id = 14\n ** module chunks = 0\n **/","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_nativeCreate.js\n ** module id = 15\n ** module chunks = 0\n **/","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/eq.js\n ** module id = 16\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isArrayLikeObject.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isObject.js\n ** module id = 18\n ** module chunks = 0\n **/","var apply = require('./_apply'),\n toInteger = require('./toInteger');\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Creates a function that invokes `func` with the `this` binding of the\n * created function and arguments from `start` and beyond provided as\n * an array.\n *\n * **Note:** This method is based on the\n * [rest parameter](https://mdn.io/rest_parameters).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.rest(function(what, names) {\n * return what + ' ' + _.initial(names).join(', ') +\n * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n * });\n *\n * say('hello', 'fred', 'barney', 'pebbles');\n * // => 'hello fred, barney, & pebbles'\n */\nfunction rest(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = nativeMax(start === undefined ? (func.length - 1) : toInteger(start), 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n switch (start) {\n case 0: return func.call(this, array);\n case 1: return func.call(this, args[0], array);\n case 2: return func.call(this, args[0], args[1], array);\n }\n var otherArgs = Array(start + 1);\n index = -1;\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = rest;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/rest.js\n ** module id = 19\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = checkDecoratorArguments;\n\nfunction checkDecoratorArguments(functionName, signature) {\n if (process.env.NODE_ENV !== 'production') {\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n for (var i = 0; i < args.length; i++) {\n var arg = args[i];\n if (arg && arg.prototype && arg.prototype.render) {\n console.error( // eslint-disable-line no-console\n 'You seem to be applying the arguments in the wrong order. ' + ('It should be ' + functionName + '(' + signature + ')(Component), not the other way around. ') + 'Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#you-seem-to-be-applying-the-arguments-in-the-wrong-order');\n return;\n }\n }\n }\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/utils/checkDecoratorArguments.js\n ** module id = 20\n ** module chunks = 0\n **/","import update from 'react/lib/update';\r\n\r\n/**\r\n * Adds the specified widget to the specified position in the layout.\r\n */\r\nexport function addWidget(layout, rowIndex, columnIndex, widgetName) {\r\n return update(layout, {\r\n rows: {\r\n [rowIndex]: {\r\n columns: {\r\n [columnIndex]: {\r\n widgets: {\r\n $push: [{\r\n key: widgetName,\r\n }],\r\n },\r\n },\r\n },\r\n },\r\n },\r\n });\r\n}\r\n\r\n/**\r\n * Removes the widget at a specified index.\r\n */\r\nexport function removeWidget(layout, rowIndex, columnIndex, widgetIndex) {\r\n return update(layout, {\r\n rows: {\r\n [rowIndex]: {\r\n columns: {\r\n [columnIndex]: {\r\n widgets: {\r\n $splice: [\r\n [widgetIndex, 1],\r\n ],\r\n },\r\n },\r\n },\r\n },\r\n },\r\n });\r\n}\r\n\r\n/**\r\n * Moves a widget from column to column.\r\n */\r\nexport function moveWidget(layout, initialLocation, destination, widgetName) {\r\n const removedLayout = removeWidget(layout, initialLocation.rowIndex, initialLocation.columnIndex, initialLocation.widgetIndex);\r\n const movedLayout = addWidget(removedLayout, destination.rowIndex, destination.columnIndex, widgetName);\r\n return movedLayout;\r\n}\r\n\r\n/**\r\n * Sorts a widget in the same column.\r\n */\r\nexport function sortWidget(layout, initialLocation, destination, widgetName) {\r\n return update(layout, {\r\n rows: {\r\n [initialLocation.rowIndex]: {\r\n columns: {\r\n [initialLocation.columnIndex]: {\r\n widgets: {\r\n $splice: [\r\n [initialLocation.widgetIndex, 1],\r\n [destination.widgetIndex, 0, {\r\n key: widgetName,\r\n }],\r\n ],\r\n },\r\n },\r\n },\r\n },\r\n },\r\n });\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/util/index.js\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = isDisposable;\n\nfunction isDisposable(obj) {\n return Boolean(obj && typeof obj.dispose === 'function');\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/disposables/modules/isDisposable.js\n ** module id = 22\n ** module chunks = 0\n **/","var MapCache = require('./_MapCache'),\n cachePush = require('./_cachePush');\n\n/**\n *\n * Creates a set cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.push(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.push = cachePush;\n\nmodule.exports = SetCache;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_SetCache.js\n ** module id = 23\n ** module chunks = 0\n **/","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n return !!array.length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_arrayIncludes.js\n ** module id = 24\n ** module chunks = 0\n **/","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_arrayIncludesWith.js\n ** module id = 25\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_arrayMap.js\n ** module id = 26\n ** module chunks = 0\n **/","var isKeyable = require('./_isKeyable');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Checks if `value` is in `cache`.\n *\n * @private\n * @param {Object} cache The set cache to search.\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction cacheHas(cache, value) {\n var map = cache.__data__;\n if (isKeyable(value)) {\n var data = map.__data__,\n hash = typeof value == 'string' ? data.string : data.hash;\n\n return hash[value] === HASH_UNDEFINED;\n }\n return map.has(value);\n}\n\nmodule.exports = cacheHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_cacheHas.js\n ** module id = 27\n ** module chunks = 0\n **/","var isNative = require('./isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_getNative.js\n ** module id = 28\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isArrayLikeObject.js\n ** module id = 29\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8 which returns 'object' for typed array and weak map constructors,\n // and PhantomJS 1.9 which returns 'function' for `NodeList` instances.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isFunction.js\n ** module id = 30\n ** module chunks = 0\n **/","var apply = require('./_apply'),\n toInteger = require('./toInteger');\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Creates a function that invokes `func` with the `this` binding of the\n * created function and arguments from `start` and beyond provided as\n * an array.\n *\n * **Note:** This method is based on the\n * [rest parameter](https://mdn.io/rest_parameters).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.rest(function(what, names) {\n * return what + ' ' + _.initial(names).join(', ') +\n * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n * });\n *\n * say('hello', 'fred', 'barney', 'pebbles');\n * // => 'hello fred, barney, & pebbles'\n */\nfunction rest(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = nativeMax(start === undefined ? (func.length - 1) : toInteger(start), 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n switch (start) {\n case 0: return func.call(this, array);\n case 1: return func.call(this, args[0], array);\n case 2: return func.call(this, args[0], args[1], array);\n }\n var otherArgs = Array(start + 1);\n index = -1;\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = rest;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/rest.js\n ** module id = 31\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nvar FILE = '__NATIVE_FILE__';\nexports.FILE = FILE;\nvar URL = '__NATIVE_URL__';\nexports.URL = URL;\nvar TEXT = '__NATIVE_TEXT__';\nexports.TEXT = TEXT;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/NativeTypes.js\n ** module id = 32\n ** module chunks = 0\n **/","var isNative = require('./isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_getNative.js\n ** module id = 33\n ** module chunks = 0\n **/","var checkGlobal = require('./_checkGlobal');\n\n/** Used to determine if values are of the language type `Object`. */\nvar objectTypes = {\n 'function': true,\n 'object': true\n};\n\n/** Detect free variable `exports`. */\nvar freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType)\n ? exports\n : undefined;\n\n/** Detect free variable `module`. */\nvar freeModule = (objectTypes[typeof module] && module && !module.nodeType)\n ? module\n : undefined;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = checkGlobal(freeExports && freeModule && typeof global == 'object' && global);\n\n/** Detect free variable `self`. */\nvar freeSelf = checkGlobal(objectTypes[typeof self] && self);\n\n/** Detect free variable `window`. */\nvar freeWindow = checkGlobal(objectTypes[typeof window] && window);\n\n/** Detect `this` as the global object. */\nvar thisGlobal = checkGlobal(objectTypes[typeof this] && this);\n\n/**\n * Used as a reference to the global object.\n *\n * The `this` value is used if it's the global object to avoid Greasemonkey's\n * restricted `window` object, otherwise the `window` object is used.\n */\nvar root = freeGlobal ||\n ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) ||\n freeSelf || thisGlobal || Function('return this')();\n\nmodule.exports = root;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_root.js\n ** module id = 34\n ** module chunks = 0\n **/","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @type {Function}\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isArray.js\n ** module id = 35\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8 which returns 'object' for typed array and weak map constructors,\n // and PhantomJS 1.9 which returns 'function' for `NodeList` instances.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isFunction.js\n ** module id = 36\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isObjectLike.js\n ** module id = 37\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequire(obj) { return obj && obj.__esModule ? obj['default'] : obj; }\n\nvar _DragDropContext = require('./DragDropContext');\n\nexports.DragDropContext = _interopRequire(_DragDropContext);\n\nvar _DragLayer = require('./DragLayer');\n\nexports.DragLayer = _interopRequire(_DragLayer);\n\nvar _DragSource = require('./DragSource');\n\nexports.DragSource = _interopRequire(_DragSource);\n\nvar _DropTarget = require('./DropTarget');\n\nexports.DropTarget = _interopRequire(_DropTarget);\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/index.js\n ** module id = 38\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = shallowEqual;\n\nfunction shallowEqual(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n var hasOwn = Object.prototype.hasOwnProperty;\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n\n var valA = objA[keysA[i]];\n var valB = objB[keysA[i]];\n\n if (valA !== valB) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/utils/shallowEqual.js\n ** module id = 39\n ** module chunks = 0\n **/","export const WIDGET = 'WIDGET';\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/ItemTypes.js\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _typeof(obj) { return obj && obj.constructor === Symbol ? 'symbol' : typeof obj; }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _lodashIsArray = require('lodash/isArray');\n\nvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\nvar _utilsGetNextUniqueId = require('./utils/getNextUniqueId');\n\nvar _utilsGetNextUniqueId2 = _interopRequireDefault(_utilsGetNextUniqueId);\n\nvar _actionsRegistry = require('./actions/registry');\n\nvar _asap = require('asap');\n\nvar _asap2 = _interopRequireDefault(_asap);\n\nvar HandlerRoles = {\n SOURCE: 'SOURCE',\n TARGET: 'TARGET'\n};\n\nfunction validateSourceContract(source) {\n _invariant2['default'](typeof source.canDrag === 'function', 'Expected canDrag to be a function.');\n _invariant2['default'](typeof source.beginDrag === 'function', 'Expected beginDrag to be a function.');\n _invariant2['default'](typeof source.endDrag === 'function', 'Expected endDrag to be a function.');\n}\n\nfunction validateTargetContract(target) {\n _invariant2['default'](typeof target.canDrop === 'function', 'Expected canDrop to be a function.');\n _invariant2['default'](typeof target.hover === 'function', 'Expected hover to be a function.');\n _invariant2['default'](typeof target.drop === 'function', 'Expected beginDrag to be a function.');\n}\n\nfunction validateType(type, allowArray) {\n if (allowArray && _lodashIsArray2['default'](type)) {\n type.forEach(function (t) {\n return validateType(t, false);\n });\n return;\n }\n\n _invariant2['default'](typeof type === 'string' || (typeof type === 'undefined' ? 'undefined' : _typeof(type)) === 'symbol', allowArray ? 'Type can only be a string, a symbol, or an array of either.' : 'Type can only be a string or a symbol.');\n}\n\nfunction getNextHandlerId(role) {\n var id = _utilsGetNextUniqueId2['default']().toString();\n switch (role) {\n case HandlerRoles.SOURCE:\n return 'S' + id;\n case HandlerRoles.TARGET:\n return 'T' + id;\n default:\n _invariant2['default'](false, 'Unknown role: ' + role);\n }\n}\n\nfunction parseRoleFromHandlerId(handlerId) {\n switch (handlerId[0]) {\n case 'S':\n return HandlerRoles.SOURCE;\n case 'T':\n return HandlerRoles.TARGET;\n default:\n _invariant2['default'](false, 'Cannot parse handler ID: ' + handlerId);\n }\n}\n\nvar HandlerRegistry = (function () {\n function HandlerRegistry(store) {\n _classCallCheck(this, HandlerRegistry);\n\n this.store = store;\n\n this.types = {};\n this.handlers = {};\n\n this.pinnedSourceId = null;\n this.pinnedSource = null;\n }\n\n HandlerRegistry.prototype.addSource = function addSource(type, source) {\n validateType(type);\n validateSourceContract(source);\n\n var sourceId = this.addHandler(HandlerRoles.SOURCE, type, source);\n this.store.dispatch(_actionsRegistry.addSource(sourceId));\n return sourceId;\n };\n\n HandlerRegistry.prototype.addTarget = function addTarget(type, target) {\n validateType(type, true);\n validateTargetContract(target);\n\n var targetId = this.addHandler(HandlerRoles.TARGET, type, target);\n this.store.dispatch(_actionsRegistry.addTarget(targetId));\n return targetId;\n };\n\n HandlerRegistry.prototype.addHandler = function addHandler(role, type, handler) {\n var id = getNextHandlerId(role);\n this.types[id] = type;\n this.handlers[id] = handler;\n\n return id;\n };\n\n HandlerRegistry.prototype.containsHandler = function containsHandler(handler) {\n var _this = this;\n\n return Object.keys(this.handlers).some(function (key) {\n return _this.handlers[key] === handler;\n });\n };\n\n HandlerRegistry.prototype.getSource = function getSource(sourceId, includePinned) {\n _invariant2['default'](this.isSourceId(sourceId), 'Expected a valid source ID.');\n\n var isPinned = includePinned && sourceId === this.pinnedSourceId;\n var source = isPinned ? this.pinnedSource : this.handlers[sourceId];\n\n return source;\n };\n\n HandlerRegistry.prototype.getTarget = function getTarget(targetId) {\n _invariant2['default'](this.isTargetId(targetId), 'Expected a valid target ID.');\n return this.handlers[targetId];\n };\n\n HandlerRegistry.prototype.getSourceType = function getSourceType(sourceId) {\n _invariant2['default'](this.isSourceId(sourceId), 'Expected a valid source ID.');\n return this.types[sourceId];\n };\n\n HandlerRegistry.prototype.getTargetType = function getTargetType(targetId) {\n _invariant2['default'](this.isTargetId(targetId), 'Expected a valid target ID.');\n return this.types[targetId];\n };\n\n HandlerRegistry.prototype.isSourceId = function isSourceId(handlerId) {\n var role = parseRoleFromHandlerId(handlerId);\n return role === HandlerRoles.SOURCE;\n };\n\n HandlerRegistry.prototype.isTargetId = function isTargetId(handlerId) {\n var role = parseRoleFromHandlerId(handlerId);\n return role === HandlerRoles.TARGET;\n };\n\n HandlerRegistry.prototype.removeSource = function removeSource(sourceId) {\n var _this2 = this;\n\n _invariant2['default'](this.getSource(sourceId), 'Expected an existing source.');\n this.store.dispatch(_actionsRegistry.removeSource(sourceId));\n\n _asap2['default'](function () {\n delete _this2.handlers[sourceId];\n delete _this2.types[sourceId];\n });\n };\n\n HandlerRegistry.prototype.removeTarget = function removeTarget(targetId) {\n var _this3 = this;\n\n _invariant2['default'](this.getTarget(targetId), 'Expected an existing target.');\n this.store.dispatch(_actionsRegistry.removeTarget(targetId));\n\n _asap2['default'](function () {\n delete _this3.handlers[targetId];\n delete _this3.types[targetId];\n });\n };\n\n HandlerRegistry.prototype.pinSource = function pinSource(sourceId) {\n var source = this.getSource(sourceId);\n _invariant2['default'](source, 'Expected an existing source.');\n\n this.pinnedSourceId = sourceId;\n this.pinnedSource = source;\n };\n\n HandlerRegistry.prototype.unpinSource = function unpinSource() {\n _invariant2['default'](this.pinnedSource, 'No source is pinned at the time.');\n\n this.pinnedSourceId = null;\n this.pinnedSource = null;\n };\n\n return HandlerRegistry;\n})();\n\nexports['default'] = HandlerRegistry;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/HandlerRegistry.js\n ** module id = 41\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = dirtyHandlerIds;\nexports.areDirty = areDirty;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _lodashXor = require('lodash/xor');\n\nvar _lodashXor2 = _interopRequireDefault(_lodashXor);\n\nvar _lodashIntersection = require('lodash/intersection');\n\nvar _lodashIntersection2 = _interopRequireDefault(_lodashIntersection);\n\nvar _actionsDragDrop = require('../actions/dragDrop');\n\nvar _actionsRegistry = require('../actions/registry');\n\nvar NONE = [];\nvar ALL = [];\n\nfunction dirtyHandlerIds(state, action, dragOperation) {\n if (state === undefined) state = NONE;\n\n switch (action.type) {\n case _actionsDragDrop.HOVER:\n break;\n case _actionsRegistry.ADD_SOURCE:\n case _actionsRegistry.ADD_TARGET:\n case _actionsRegistry.REMOVE_TARGET:\n case _actionsRegistry.REMOVE_SOURCE:\n return NONE;\n case _actionsDragDrop.BEGIN_DRAG:\n case _actionsDragDrop.PUBLISH_DRAG_SOURCE:\n case _actionsDragDrop.END_DRAG:\n case _actionsDragDrop.DROP:\n default:\n return ALL;\n }\n\n var targetIds = action.targetIds;\n var prevTargetIds = dragOperation.targetIds;\n\n var dirtyHandlerIds = _lodashXor2['default'](targetIds, prevTargetIds);\n\n var didChange = false;\n if (dirtyHandlerIds.length === 0) {\n for (var i = 0; i < targetIds.length; i++) {\n if (targetIds[i] !== prevTargetIds[i]) {\n didChange = true;\n break;\n }\n }\n } else {\n didChange = true;\n }\n\n if (!didChange) {\n return NONE;\n }\n\n var prevInnermostTargetId = prevTargetIds[prevTargetIds.length - 1];\n var innermostTargetId = targetIds[targetIds.length - 1];\n\n if (prevInnermostTargetId !== innermostTargetId) {\n if (prevInnermostTargetId) {\n dirtyHandlerIds.push(prevInnermostTargetId);\n }\n if (innermostTargetId) {\n dirtyHandlerIds.push(innermostTargetId);\n }\n }\n\n return dirtyHandlerIds;\n}\n\nfunction areDirty(state, handlerIds) {\n if (state === NONE) {\n return false;\n }\n\n if (state === ALL || typeof handlerIds === 'undefined') {\n return true;\n }\n\n return _lodashIntersection2['default'](handlerIds, state).length > 0;\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/reducers/dirtyHandlerIds.js\n ** module id = 42\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _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; };\n\nexports['default'] = dragOffset;\nexports.getSourceClientOffset = getSourceClientOffset;\nexports.getDifferenceFromInitialOffset = getDifferenceFromInitialOffset;\n\nvar _actionsDragDrop = require('../actions/dragDrop');\n\nvar initialState = {\n initialSourceClientOffset: null,\n initialClientOffset: null,\n clientOffset: null\n};\n\nfunction areOffsetsEqual(offsetA, offsetB) {\n if (offsetA === offsetB) {\n return true;\n }\n return offsetA && offsetB && offsetA.x === offsetB.x && offsetA.y === offsetB.y;\n}\n\nfunction dragOffset(state, action) {\n if (state === undefined) state = initialState;\n\n switch (action.type) {\n case _actionsDragDrop.BEGIN_DRAG:\n return {\n initialSourceClientOffset: action.sourceClientOffset,\n initialClientOffset: action.clientOffset,\n clientOffset: action.clientOffset\n };\n case _actionsDragDrop.HOVER:\n if (areOffsetsEqual(state.clientOffset, action.clientOffset)) {\n return state;\n }\n return _extends({}, state, {\n clientOffset: action.clientOffset\n });\n case _actionsDragDrop.END_DRAG:\n case _actionsDragDrop.DROP:\n return initialState;\n default:\n return state;\n }\n}\n\nfunction getSourceClientOffset(state) {\n var clientOffset = state.clientOffset;\n var initialClientOffset = state.initialClientOffset;\n var initialSourceClientOffset = state.initialSourceClientOffset;\n\n if (!clientOffset || !initialClientOffset || !initialSourceClientOffset) {\n return null;\n }\n return {\n x: clientOffset.x + initialSourceClientOffset.x - initialClientOffset.x,\n y: clientOffset.y + initialSourceClientOffset.y - initialClientOffset.y\n };\n}\n\nfunction getDifferenceFromInitialOffset(state) {\n var clientOffset = state.clientOffset;\n var initialClientOffset = state.initialClientOffset;\n\n if (!clientOffset || !initialClientOffset) {\n return null;\n }\n return {\n x: clientOffset.x - initialClientOffset.x,\n y: clientOffset.y - initialClientOffset.y\n };\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/reducers/dragOffset.js\n ** module id = 43\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = matchesType;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _lodashIsArray = require('lodash/isArray');\n\nvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\nfunction matchesType(targetType, draggedItemType) {\n if (_lodashIsArray2['default'](targetType)) {\n return targetType.some(function (t) {\n return t === draggedItemType;\n });\n } else {\n return targetType === draggedItemType;\n }\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/utils/matchesType.js\n ** module id = 44\n ** module chunks = 0\n **/","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n arrayMap = require('./_arrayMap'),\n baseUnary = require('./_baseUnary'),\n cacheHas = require('./_cacheHas');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\nfunction baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseDifference;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_baseDifference.js\n ** module id = 45\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.unary` without support for storing wrapper metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_baseUnary.js\n ** module id = 46\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @param {Object} hash The hash to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(hash, key) {\n return nativeCreate ? hash[key] !== undefined : hasOwnProperty.call(hash, key);\n}\n\nmodule.exports = hashHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_hashHas.js\n ** module id = 47\n ** module chunks = 0\n **/","var checkGlobal = require('./_checkGlobal');\n\n/** Used to determine if values are of the language type `Object`. */\nvar objectTypes = {\n 'function': true,\n 'object': true\n};\n\n/** Detect free variable `exports`. */\nvar freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType)\n ? exports\n : undefined;\n\n/** Detect free variable `module`. */\nvar freeModule = (objectTypes[typeof module] && module && !module.nodeType)\n ? module\n : undefined;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = checkGlobal(freeExports && freeModule && typeof global == 'object' && global);\n\n/** Detect free variable `self`. */\nvar freeSelf = checkGlobal(objectTypes[typeof self] && self);\n\n/** Detect free variable `window`. */\nvar freeWindow = checkGlobal(objectTypes[typeof window] && window);\n\n/** Detect `this` as the global object. */\nvar thisGlobal = checkGlobal(objectTypes[typeof this] && this);\n\n/**\n * Used as a reference to the global object.\n *\n * The `this` value is used if it's the global object to avoid Greasemonkey's\n * restricted `window` object, otherwise the `window` object is used.\n */\nvar root = freeGlobal ||\n ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) ||\n freeSelf || thisGlobal || Function('return this')();\n\nmodule.exports = root;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_root.js\n ** module id = 48\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isObjectLike.js\n ** module id = 49\n ** module chunks = 0\n **/","/**\n * A no-operation function that returns `undefined` regardless of the\n * arguments it receives.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.noop(object) === undefined;\n * // => true\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/noop.js\n ** module id = 50\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _lodashMemoize = require('lodash/memoize');\n\nvar _lodashMemoize2 = _interopRequireDefault(_lodashMemoize);\n\nvar isFirefox = _lodashMemoize2['default'](function () {\n return (/firefox/i.test(navigator.userAgent)\n );\n});\n\nexports.isFirefox = isFirefox;\nvar isSafari = _lodashMemoize2['default'](function () {\n return Boolean(window.safari);\n});\nexports.isSafari = isSafari;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/BrowserDetector.js\n ** module id = 51\n ** module chunks = 0\n **/","var mapClear = require('./_mapClear'),\n mapDelete = require('./_mapDelete'),\n mapGet = require('./_mapGet'),\n mapHas = require('./_mapHas'),\n mapSet = require('./_mapSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction MapCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = values[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapClear;\nMapCache.prototype['delete'] = mapDelete;\nMapCache.prototype.get = mapGet;\nMapCache.prototype.has = mapHas;\nMapCache.prototype.set = mapSet;\n\nmodule.exports = MapCache;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_MapCache.js\n ** module id = 52\n ** module chunks = 0\n **/","var MapCache = require('./_MapCache'),\n cachePush = require('./_cachePush');\n\n/**\n *\n * Creates a set cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.push(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.push = cachePush;\n\nmodule.exports = SetCache;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_SetCache.js\n ** module id = 53\n ** module chunks = 0\n **/","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n var length = args.length;\n switch (length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_apply.js\n ** module id = 54\n ** module chunks = 0\n **/","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n return !!array.length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_arrayIncludes.js\n ** module id = 55\n ** module chunks = 0\n **/","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_arrayIncludesWith.js\n ** module id = 56\n ** module chunks = 0\n **/","var isKeyable = require('./_isKeyable');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Checks if `value` is in `cache`.\n *\n * @private\n * @param {Object} cache The set cache to search.\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction cacheHas(cache, value) {\n var map = cache.__data__;\n if (isKeyable(value)) {\n var data = map.__data__,\n hash = typeof value == 'string' ? data.string : data.hash;\n\n return hash[value] === HASH_UNDEFINED;\n }\n return map.has(value);\n}\n\nmodule.exports = cacheHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_cacheHas.js\n ** module id = 57\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @param {Object} hash The hash to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(hash, key) {\n return nativeCreate ? hash[key] !== undefined : hasOwnProperty.call(hash, key);\n}\n\nmodule.exports = hashHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_hashHas.js\n ** module id = 58\n ** module chunks = 0\n **/","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_isIndex.js\n ** module id = 59\n ** module chunks = 0\n **/","var isArrayLikeObject = require('./isArrayLikeObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 incorrectly makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isArguments.js\n ** module id = 60\n ** module chunks = 0\n **/","var getLength = require('./_getLength'),\n isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value)) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isArrayLike.js\n ** module id = 61\n ** module chunks = 0\n **/","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length,\n * else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isLength.js\n ** module id = 62\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = areOptionsEqual;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utilsShallowEqual = require('./utils/shallowEqual');\n\nvar _utilsShallowEqual2 = _interopRequireDefault(_utilsShallowEqual);\n\nfunction areOptionsEqual(nextOptions, currentOptions) {\n if (currentOptions === nextOptions) {\n return true;\n }\n\n return currentOptions !== null && nextOptions !== null && _utilsShallowEqual2['default'](currentOptions, nextOptions);\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/areOptionsEqual.js\n ** module id = 63\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _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; };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nexports['default'] = decorateHandler;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _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; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _disposables = require('disposables');\n\nvar _utilsShallowEqual = require('./utils/shallowEqual');\n\nvar _utilsShallowEqual2 = _interopRequireDefault(_utilsShallowEqual);\n\nvar _utilsShallowEqualScalar = require('./utils/shallowEqualScalar');\n\nvar _utilsShallowEqualScalar2 = _interopRequireDefault(_utilsShallowEqualScalar);\n\nvar _lodashIsPlainObject = require('lodash/isPlainObject');\n\nvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nfunction decorateHandler(_ref) {\n var DecoratedComponent = _ref.DecoratedComponent;\n var createHandler = _ref.createHandler;\n var createMonitor = _ref.createMonitor;\n var createConnector = _ref.createConnector;\n var registerHandler = _ref.registerHandler;\n var containerDisplayName = _ref.containerDisplayName;\n var getType = _ref.getType;\n var collect = _ref.collect;\n var options = _ref.options;\n var _options$arePropsEqual = options.arePropsEqual;\n var arePropsEqual = _options$arePropsEqual === undefined ? _utilsShallowEqualScalar2['default'] : _options$arePropsEqual;\n\n var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\n return (function (_Component) {\n _inherits(DragDropContainer, _Component);\n\n DragDropContainer.prototype.getHandlerId = function getHandlerId() {\n return this.handlerId;\n };\n\n DragDropContainer.prototype.getDecoratedComponentInstance = function getDecoratedComponentInstance() {\n return this.decoratedComponentInstance;\n };\n\n DragDropContainer.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n return !arePropsEqual(nextProps, this.props) || !_utilsShallowEqual2['default'](nextState, this.state);\n };\n\n _createClass(DragDropContainer, null, [{\n key: 'DecoratedComponent',\n value: DecoratedComponent,\n enumerable: true\n }, {\n key: 'displayName',\n value: containerDisplayName + '(' + displayName + ')',\n enumerable: true\n }, {\n key: 'contextTypes',\n value: {\n dragDropManager: _react.PropTypes.object.isRequired\n },\n enumerable: true\n }]);\n\n function DragDropContainer(props, context) {\n _classCallCheck(this, DragDropContainer);\n\n _Component.call(this, props, context);\n this.handleChange = this.handleChange.bind(this);\n this.handleChildRef = this.handleChildRef.bind(this);\n\n _invariant2['default'](typeof this.context.dragDropManager === 'object', 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to wrap the top-level component of your app with DragDropContext. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName);\n\n this.manager = this.context.dragDropManager;\n this.handlerMonitor = createMonitor(this.manager);\n this.handlerConnector = createConnector(this.manager.getBackend());\n this.handler = createHandler(this.handlerMonitor);\n\n this.disposable = new _disposables.SerialDisposable();\n this.receiveProps(props);\n this.state = this.getCurrentState();\n this.dispose();\n }\n\n DragDropContainer.prototype.componentDidMount = function componentDidMount() {\n this.isCurrentlyMounted = true;\n this.disposable = new _disposables.SerialDisposable();\n this.currentType = null;\n this.receiveProps(this.props);\n this.handleChange();\n };\n\n DragDropContainer.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (!arePropsEqual(nextProps, this.props)) {\n this.receiveProps(nextProps);\n this.handleChange();\n }\n };\n\n DragDropContainer.prototype.componentWillUnmount = function componentWillUnmount() {\n this.dispose();\n this.isCurrentlyMounted = false;\n };\n\n DragDropContainer.prototype.receiveProps = function receiveProps(props) {\n this.handler.receiveProps(props);\n this.receiveType(getType(props));\n };\n\n DragDropContainer.prototype.receiveType = function receiveType(type) {\n if (type === this.currentType) {\n return;\n }\n\n this.currentType = type;\n\n var _registerHandler = registerHandler(type, this.handler, this.manager);\n\n var handlerId = _registerHandler.handlerId;\n var unregister = _registerHandler.unregister;\n\n this.handlerId = handlerId;\n this.handlerMonitor.receiveHandlerId(handlerId);\n this.handlerConnector.receiveHandlerId(handlerId);\n\n var globalMonitor = this.manager.getMonitor();\n var unsubscribe = globalMonitor.subscribeToStateChange(this.handleChange, { handlerIds: [handlerId] });\n\n this.disposable.setDisposable(new _disposables.CompositeDisposable(new _disposables.Disposable(unsubscribe), new _disposables.Disposable(unregister)));\n };\n\n DragDropContainer.prototype.handleChange = function handleChange() {\n if (!this.isCurrentlyMounted) {\n return;\n }\n\n var nextState = this.getCurrentState();\n if (!_utilsShallowEqual2['default'](nextState, this.state)) {\n this.setState(nextState);\n }\n };\n\n DragDropContainer.prototype.dispose = function dispose() {\n this.disposable.dispose();\n this.handlerConnector.receiveHandlerId(null);\n };\n\n DragDropContainer.prototype.handleChildRef = function handleChildRef(component) {\n this.decoratedComponentInstance = component;\n this.handler.receiveComponent(component);\n };\n\n DragDropContainer.prototype.getCurrentState = function getCurrentState() {\n var nextState = collect(this.handlerConnector.hooks, this.handlerMonitor);\n\n if (process.env.NODE_ENV !== 'production') {\n _invariant2['default'](_lodashIsPlainObject2['default'](nextState), 'Expected `collect` specified as the second argument to ' + '%s for %s to return a plain object of props to inject. ' + 'Instead, received %s.', containerDisplayName, displayName, nextState);\n }\n\n return nextState;\n };\n\n DragDropContainer.prototype.render = function render() {\n return _react2['default'].createElement(DecoratedComponent, _extends({}, this.props, this.state, {\n ref: this.handleChildRef }));\n };\n\n return DragDropContainer;\n })(_react.Component);\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/decorateHandler.js\n ** module id = 64\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = isValidType;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _lodashIsArray = require('lodash/isArray');\n\nvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\nfunction isValidType(type, allowArray) {\n return typeof type === 'string' || typeof type === 'symbol' || allowArray && _lodashIsArray2['default'](type) && type.every(function (t) {\n return isValidType(t, false);\n });\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/utils/isValidType.js\n ** module id = 65\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = shallowEqualScalar;\n\nfunction shallowEqualScalar(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n var hasOwn = Object.prototype.hasOwnProperty;\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i])) {\n return false;\n }\n\n var valA = objA[keysA[i]];\n var valB = objB[keysA[i]];\n\n if (valA !== valB || typeof valA === 'object' || typeof valB === 'object') {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/utils/shallowEqualScalar.js\n ** module id = 66\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = wrapConnectorHooks;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utilsCloneWithRef = require('./utils/cloneWithRef');\n\nvar _utilsCloneWithRef2 = _interopRequireDefault(_utilsCloneWithRef);\n\nvar _react = require('react');\n\nfunction throwIfCompositeComponentElement(element) {\n // Custom components can no longer be wrapped directly in React DnD 2.0\n // so that we don't need to depend on findDOMNode() from react-dom.\n if (typeof element.type === 'string') {\n return;\n }\n\n var displayName = element.type.displayName || element.type.name || 'the component';\n\n throw new Error('Only native element nodes can now be passed to React DnD connectors. ' + ('You can either wrap ' + displayName + ' into a
, or turn it into a ') + 'drag source or a drop target itself.');\n}\n\nfunction wrapHookToRecognizeElement(hook) {\n return function () {\n var elementOrNode = arguments.length <= 0 || arguments[0] === undefined ? null : arguments[0];\n var options = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];\n\n // When passed a node, call the hook straight away.\n if (!_react.isValidElement(elementOrNode)) {\n var node = elementOrNode;\n hook(node, options);\n return;\n }\n\n // If passed a ReactElement, clone it and attach this function as a ref.\n // This helps us achieve a neat API where user doesn't even know that refs\n // are being used under the hood.\n var element = elementOrNode;\n throwIfCompositeComponentElement(element);\n\n // When no options are passed, use the hook directly\n var ref = options ? function (node) {\n return hook(node, options);\n } : hook;\n\n return _utilsCloneWithRef2['default'](element, ref);\n };\n}\n\nfunction wrapConnectorHooks(hooks) {\n var wrappedHooks = {};\n\n Object.keys(hooks).forEach(function (key) {\n var hook = hooks[key];\n var wrappedHook = wrapHookToRecognizeElement(hook);\n wrappedHooks[key] = function () {\n return wrappedHook;\n };\n });\n\n return wrappedHooks;\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/wrapConnectorHooks.js\n ** module id = 67\n ** module chunks = 0\n **/","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tmodule.children = [];\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n}\r\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** (webpack)/buildin/module.js\n ** module id = 68\n ** module chunks = 0\n **/","import React, { PropTypes } from 'react';\r\n\r\n/**\r\n * Default AddWidget component.\r\n * @param {[type]} {text [description]\r\n * @param {[type]} onClick} [description]\r\n * @return {[type]} [description]\r\n */\r\nconst AddWidget = ({text, onClick}) => {\r\n return (\r\n
\r\n {text}\r\n
\r\n );\r\n};\r\n\r\nAddWidget.propTypes = {\r\n /**\r\n * Should be called when 'add' is clicked\r\n */\r\n onClick: PropTypes.func,\r\n\r\n /**\r\n * Text that should be displyed in the component\r\n */\r\n text: PropTypes.string,\r\n};\r\n\r\nAddWidget.defaultProps = {\r\n text: 'Add Widget',\r\n};\r\n\r\nexport default AddWidget;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/AddWidget.js\n **/","import React, { Component, PropTypes, createElement } from 'react';\r\nimport { DropTarget } from 'react-dnd';\r\nimport { WIDGET } from './ItemTypes';\r\nimport AddWidget from './AddWidget';\r\nimport { moveWidget } from '../util';\r\n\r\nconst columnTarget = {\r\n drop(props, monitor) {\r\n const { layout, rowIndex, columnIndex, onMove} = props;\r\n const item = monitor.getItem();\r\n if (item.columnIndex !== columnIndex || item.rowIndex !== rowIndex) {\r\n const movedLayout = moveWidget(layout, {\r\n rowIndex: item.rowIndex,\r\n columnIndex: item.columnIndex,\r\n widgetIndex: item.widgetIndex,\r\n }, {\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex,\r\n }, item.widgetName);\r\n onMove(movedLayout);\r\n }\r\n },\r\n};\r\n\r\n/**\r\n * Colum of the dashboard grid. A column holds multiple widgets.\r\n */\r\n@DropTarget(WIDGET, columnTarget, (connect, monitor) => ({\r\n connectDropTarget: connect.dropTarget(),\r\n isOver: monitor.isOver(),\r\n canDrop: monitor.canDrop(),\r\n}))\r\nclass Column extends Component {\r\n render() {\r\n const {\r\n className,\r\n layout,\r\n rowIndex,\r\n columnIndex,\r\n editable,\r\n children,\r\n connectDropTarget,\r\n onAdd,\r\n isOver,\r\n canDrop,\r\n editableColumnClass,\r\n droppableColumnClass,\r\n addWidgetComponentText,\r\n addWidgetComponent,\r\n } = this.props;\r\n\r\n let classes = className;\r\n classes = editable ? `${className} ${editableColumnClass}` : classes;\r\n const isActive = isOver && canDrop;\r\n classes = isActive ? `${classes} ${droppableColumnClass}` : classes;\r\n\r\n let addWidgetComponentToUse = null;\r\n if (addWidgetComponent) {\r\n addWidgetComponentToUse = createElement(addWidgetComponent, {\ttext: addWidgetComponentText, onClick:\t() => {onAdd(layout, rowIndex, columnIndex);} });\r\n } else {\r\n addWidgetComponentToUse = {onAdd(layout, rowIndex, columnIndex);}}/>;\r\n }\r\n\r\n return (\r\n connectDropTarget(\r\n
\r\n {editable && addWidgetComponentToUse}\r\n { children }\r\n
\r\n )\r\n );\r\n }\r\n}\r\n\r\nColumn.propTypes = {\r\n /**\r\n * Children of the column\r\n */\r\n children: PropTypes.node,\r\n\r\n /**\r\n * CSS class that should be used with the column.\r\n */\r\n className: PropTypes.string,\r\n\r\n /**\r\n * Function that should be called when user tries to add a widget\r\n * to the column.\r\n */\r\n onAdd: PropTypes.func,\r\n\r\n /**\r\n * Layout of the dashboard.\r\n */\r\n layout: PropTypes.object,\r\n\r\n /**\r\n * Index of the row that this column resides.\r\n */\r\n rowIndex: PropTypes.number,\r\n\r\n /**\r\n * Index of this column.\r\n */\r\n columnIndex: PropTypes.number,\r\n\r\n /**\r\n * Indicates weather dashboard is in editable state\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * Indicates weather a widget is being draged over.\r\n */\r\n isOver: PropTypes.bool,\r\n\r\n /**\r\n * Indicated a widget can be dropped.\r\n */\r\n canDrop: PropTypes.bool,\r\n\r\n /**\r\n * Class to be used for columns in editable mode.\r\n */\r\n editableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * CSS class to be used for columns when a widget is droppable.\r\n */\r\n droppableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * Text that should be given to the AddWidget component.\r\n */\r\n addWidgetComponentText: PropTypes.string,\r\n\r\n /**\r\n * ReactDnd's connectDropTarget.\r\n */\r\n connectDropTarget: PropTypes.func,\r\n\r\n /**\r\n * Customized AddWidget component.\r\n */\r\n addWidgetComponent: PropTypes.func,\r\n};\r\n\r\nColumn.defaultProps = {\r\n editableColumnClass: 'editable-column',\r\n droppableColumnClass: 'droppable-column',\r\n};\r\n\r\nexport default Column;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/Column.js\n **/","import React, { PropTypes } from 'react';\r\nimport Column from './Column';\r\nimport Widgets from './Widgets';\r\n\r\n/**\r\n * Returns a set of columns that belongs to a row.\r\n */\r\nfunction Columns(props) {\r\n const {\r\n columns,\r\n widgets,\r\n onRemove,\r\n layout,\r\n rowIndex,\r\n editable,\r\n frameComponent,\r\n editableColumnClass,\r\n droppableColumnClass,\r\n addWidgetComponentText,\r\n addWidgetComponent,\r\n onAdd,\r\n onMove,\r\n } = props;\r\n\r\n const items = columns.map((column, index) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n });\r\n\r\n return
{items}
;\r\n}\r\n\r\nColumns.propTypes = {\r\n /**\r\n * Columns of the layout.\r\n */\r\n columns: PropTypes.array,\r\n\r\n /**\r\n * Widgets that should be used in the dashboard.\r\n */\r\n widgets: PropTypes.object,\r\n\r\n /**\r\n * Layout of the dashboard.\r\n */\r\n layout: PropTypes.object,\r\n\r\n /**\r\n * Index of the row where this column is in.\r\n */\r\n rowIndex: PropTypes.number,\r\n\r\n /**\r\n * Indicates weather the dashboard is in editable mode or not.\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * Custom frame that should be used with the widget.\r\n */\r\n frameComponent: PropTypes.func,\r\n\r\n /**\r\n * Class to be used for columns in editable mode.\r\n */\r\n editableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * CSS class to be used for columns when a widget is droppable.\r\n */\r\n droppableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * Custom AddWidget component.\r\n */\r\n addWidgetComponent: PropTypes.func,\r\n\r\n /**\r\n * Text that should be displyed in the AddWidget component.\r\n */\r\n addWidgetComponentText: PropTypes.string,\r\n\r\n /**\r\n * Method that should be called when a component is added.\r\n */\r\n onAdd: PropTypes.func,\r\n\r\n /**\r\n * Method that should be called when a component is removed.\r\n */\r\n onRemove: PropTypes.func,\r\n\r\n /**\r\n * Method that should be called when a widget is moved.\r\n */\r\n onMove: PropTypes.func,\r\n};\r\n\r\nexport default Columns;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/Columns.js\n **/","import React, { Component, PropTypes } from 'react';\r\nimport { DragDropContext } from 'react-dnd';\r\nimport HTML5Backend from 'react-dnd-html5-backend';\r\nimport LayoutRenderer from './LayoutRenderer';\r\n\r\n/**\r\n * Main dashboard component. This is where all of this starts.\r\n */\r\n @DragDropContext(HTML5Backend)\r\nclass Dashboard extends Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nDashboard.PropTypes = {\r\n /**\r\n * The layout of the dashboard.\r\n */\r\n layout: PropTypes.object,\r\n\r\n /**\r\n * List of widgets that are avilable in the dashboard.\r\n */\r\n widgets: PropTypes.object,\r\n\r\n /**\r\n * Indicates weather the dashoard is in editable state or not.\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * CSS class name that should be provided to the row. Default is 'row'.\r\n */\r\n rowClass: PropTypes.string,\r\n\r\n /**\r\n * Customized widget frame. The dashboard supports a default frame. But if\r\n * it doesn't suit your needs or the look and feel is not what you wanted, you\r\n * could create your own widget frame and pass it through here. Ever widget Will\r\n * use this as the outer container which displays controls like 'remove' button\r\n * on edit mode.\r\n */\r\n frameComponent: PropTypes.func,\r\n\r\n /**\r\n * A custom component for the `add widget` button.\r\n */\r\n addWidgetComponent: PropTypes.func,\r\n\r\n /**\r\n * Class to be used for columns in editable mode.\r\n */\r\n editableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * CSS class to be used for columns when a widget is droppable.\r\n */\r\n droppableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * Text that should be displayed in the `AddWidget` component.\r\n */\r\n addWidgetComponentText: PropTypes.string,\r\n\r\n /**\r\n * Will be called when a widget removed by the user from the dashboard.\r\n * Should be handled if the dashbord supports edit functionality.\r\n * provides the updated layout object. This layout object with the removed widget\r\n * should be given back to the dashboard through the layout prop to re-render the dashboard.\r\n */\r\n onRemove: PropTypes.func,\r\n\r\n /**\r\n * Will be called when user tries to add a widget into a column.\r\n */\r\n onAdd: PropTypes.func,\r\n\r\n /**\r\n * Function to be called when a widget is moved by the user.\r\n */\r\n onMove: PropTypes.func,\r\n};\r\n\r\nexport default Dashboard;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/Dashboard.js\n **/","import React, { PropTypes } from 'react';\r\n\r\n/**\r\n * Default frame that will be used with the widgets.\r\n */\r\nconst DefaultFrame = ({children, onRemove, editable, title}) => {\r\n return (\r\n
\r\n
\r\n {title}\r\n {editable && {onRemove();}}>Remove}\r\n
\r\n {children}\r\n
\r\n );\r\n};\r\n\r\nDefaultFrame.propTypes = {\r\n /**\r\n * Indicates weather the dashboard is in editable mode.\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * Children of the frame.\r\n */\r\n children: PropTypes.node,\r\n\r\n /**\r\n * Function to call when the widget is removed.\r\n */\r\n onRemove: PropTypes.func,\r\n\r\n /**\r\n * Title of the widget\r\n */\r\n title: PropTypes.string,\r\n};\r\n\r\nexport default DefaultFrame;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/DefaultFrame.js\n **/","import React, { PropTypes } from 'react';\r\nimport Row from './Row';\r\nimport Columns from './Columns';\r\n\r\n/**\r\n * Renders the row, column layout based on the layout provided to the dashboard.\r\n */\r\nconst LayoutRenderer = (props) => {\r\n const {\r\n layout,\r\n widgets,\r\n onRemove,\r\n editable,\r\n onAdd,\r\n frameComponent,\r\n rowClass,\r\n onMove,\r\n editableColumnClass,\r\n droppableColumnClass,\r\n addWidgetComponentText,\r\n addWidgetComponent,\r\n } = props;\r\n\r\n let rows = layout.rows.map((row, rowIndex) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n });\r\n\r\n return (\r\n
\r\n {rows}\r\n
\r\n );\r\n};\r\n\r\nLayoutRenderer.propTypes = {\r\n /**\r\n * Layout of the dashboard.\r\n */\r\n layout: PropTypes.object,\r\n\r\n /**\r\n * Widgets that the dashboard supports.\r\n */\r\n widgets: PropTypes.object,\r\n\r\n /**\r\n * Indicates weather this dashboard is in editable mode.\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * Function that will be called when user removed a widget.\r\n */\r\n onRemove: PropTypes.func,\r\n\r\n /**\r\n * Function that will be called user tries to add a widget.\r\n */\r\n onAdd: PropTypes.func,\r\n\r\n /**\r\n * Frame that should be used as the outer cotnainer of the widget.\r\n */\r\n frameComponent: PropTypes.func,\r\n\r\n /**\r\n * Class name that should be provided to the row component.\r\n */\r\n rowClass: PropTypes.string,\r\n\r\n /**\r\n * Function to be called when a widget is moved by the user.\r\n */\r\n onMove: PropTypes.func,\r\n\r\n /**\r\n * Class to be used for columns in editable mode.\r\n */\r\n editableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * CSS class to be used for columns when a widget is droppable.\r\n */\r\n droppableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * Customized AddWidget component.\r\n */\r\n addWidgetComponent: PropTypes.func,\r\n\r\n /**\r\n * Text that should be displayed in the `AddWidget` component.\r\n */\r\n addWidgetComponentText: PropTypes.string,\r\n};\r\n\r\nLayoutRenderer.defaultProps = {\r\n /**\r\n * Default layout.\r\n */\r\n layout: {\r\n rows: [],\r\n },\r\n};\r\n\r\nexport default LayoutRenderer;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/LayoutRenderer.js\n **/","import React, { PropTypes } from 'react';\r\n\r\n/**\r\n * Represents a row in the grid system.\r\n */\r\nconst Row = ({ rowClass, children }) => {\r\n return (\r\n
\r\n {children}\r\n
\r\n );\r\n};\r\n\r\nRow.propTypes = {\r\n /**\r\n * CSS class that should be used to represent a row.\r\n */\r\n rowClass: PropTypes.string,\r\n\r\n /**\r\n * Children of the row component.\r\n */\r\n children: PropTypes.node,\r\n};\r\n\r\nRow.defaultProps = {\r\n /**\r\n * Most CSS grid systems uses 'row' as the class name. Or not ?\r\n */\r\n rowClass: 'row',\r\n};\r\n\r\nexport default Row;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/Row.js\n **/","import React, { Component, PropTypes, createElement } from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\nimport { DragSource, DropTarget } from 'react-dnd';\r\nimport { WIDGET } from './ItemTypes';\r\nimport { removeWidget, sortWidget } from '../util';\r\nimport DefaultFrame from './DefaultFrame';\r\n\r\nconst boxSource = {\r\n beginDrag(props) {\r\n return {\r\n widgetName: props.widgetName,\r\n rowIndex: props.rowIndex,\r\n columnIndex: props.columnIndex,\r\n widgetIndex: props.widgetIndex,\r\n };\r\n },\r\n\r\n canDrag(props) {\r\n return props.editable;\r\n },\r\n};\r\n\r\nconst cardTarget = {\r\n hover(props, monitor, component) {\r\n const dragIndex = monitor.getItem().widgetIndex;\r\n const hoverIndex = props.widgetIndex;\r\n\r\n // Don't replace items with themselves\r\n if (dragIndex === hoverIndex) {\r\n return;\r\n }\r\n\r\n // Determine rectangle on screen\r\n const hoverBoundingRect = findDOMNode(component).getBoundingClientRect();\r\n\r\n // Get vertical middle\r\n const hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;\r\n\r\n // Determine mouse position\r\n const clientOffset = monitor.getClientOffset();\r\n\r\n // Get pixels to the top\r\n const hoverClientY = clientOffset.y - hoverBoundingRect.top;\r\n\r\n // Only perform the move when the mouse has crossed half of the items height\r\n // When dragging downwards, only move when the cursor is below 50%\r\n // When dragging upwards, only move when the cursor is above 50%\r\n\r\n // Dragging downwards\r\n if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) {\r\n return;\r\n }\r\n\r\n // Dragging upwards\r\n if (dragIndex > hoverIndex && hoverClientY > hoverMiddleY) {\r\n return;\r\n }\r\n\r\n // Time to actually perform the action\r\n const { layout, columnIndex, rowIndex } = props;\r\n\r\n if (monitor.getItem().columnIndex === columnIndex) {\r\n const newLayout = sortWidget(layout, {\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex,\r\n widgetIndex: dragIndex,\r\n }, {\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex,\r\n widgetIndex: hoverIndex,\r\n }, monitor.getItem().widgetName);\r\n\r\n props.onMove(newLayout);\r\n }\r\n\r\n // Note: we're mutating the monitor item here!\r\n // Generally it's better to avoid mutations,\r\n // but it's good here for the sake of performance\r\n // to avoid expensive index searches.\r\n monitor.getItem().widgetIndex = hoverIndex;\r\n },\r\n};\r\n\r\n/**\r\n * Frame component which surrounds each widget.\r\n */\r\n @DropTarget(WIDGET, cardTarget, connect => ({\r\n connectDropTarget: connect.dropTarget(),\r\n }))\r\n @DragSource(WIDGET, boxSource, (connect, monitor) => ({\r\n connectDragSource: connect.dragSource(),\r\n isDragging: monitor.isDragging(),\r\n }))\r\nclass WidgetFrame extends Component {\r\n render() {\r\n const {\r\n frameComponent,\r\n children,\r\n editable,\r\n title,\r\n connectDragSource,\r\n connectDropTarget,\r\n isDragging,\r\n } = this.props;\r\n\r\n let selected = null;\r\n\r\n if (frameComponent) {\r\n // if user provided a custom frame, use it\r\n selected = createElement(frameComponent, {\tchildren,\teditable, title, onRemove: this.remove });\r\n } else {\r\n // else use the default frame\r\n selected = (\r\n \r\n );\r\n }\r\n const opacity = isDragging ? 0 : 1;\r\n return connectDragSource(connectDropTarget(\r\n
\r\n {selected}\r\n
\r\n ));\r\n }\r\n\r\n remove = () => {\r\n const { layout, rowIndex, columnIndex, widgetIndex } = this.props;\r\n const newLayout = removeWidget(layout, rowIndex, columnIndex, widgetIndex);\r\n this.props.onRemove(newLayout);\r\n }\r\n}\r\n\r\nWidgetFrame.propTypes = {\r\n /**\r\n * Childrens of the widget frame.\r\n */\r\n children: PropTypes.element,\r\n\r\n\r\n /**\r\n * Layout of the dahsboard.\r\n */\r\n layout: PropTypes.object,\r\n\r\n /**\r\n * Index of the column these widgets should be placed.\r\n */\r\n columnIndex: PropTypes.number,\r\n\r\n /**\r\n * Index of the row these widgets should be placed.\r\n */\r\n rowIndex: PropTypes.number,\r\n\r\n /**\r\n * Index of the widget.\r\n */\r\n widgetIndex: PropTypes.number,\r\n\r\n /**\r\n * Indicates weatehr dashboard is in ediable mode or not.\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * User provided widget frame that should be used instead of the default one.\r\n */\r\n frameComponent: PropTypes.func,\r\n\r\n /**\r\n * Name of the widget.\r\n */\r\n widgetName: PropTypes.string,\r\n\r\n /**\r\n * Title of the widget.\r\n */\r\n title: PropTypes.string,\r\n\r\n /**\r\n * Weather the component is being dragged.\r\n */\r\n isDragging: PropTypes.bool,\r\n\r\n /**\r\n * ReactDnd's connectDragSource().\r\n */\r\n connectDragSource: PropTypes.func,\r\n\r\n/**\r\n * ReactDnd's connectDropTarget().\r\n */\r\n connectDropTarget: PropTypes.func,\r\n\r\n /**\r\n * Function that should be called when a widget is about to be removed.\r\n */\r\n onRemove: PropTypes.func,\r\n};\r\n\r\nexport default WidgetFrame;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/WidgetFrame.js\n **/","import React, { PropTypes, createElement } from 'react';\r\nimport WidgetFrame from './WidgetFrame';\r\n\r\n/**\r\n * Component that renders the widget which belongs to a column.\r\n */\r\nconst Widgets = ({widgets, widgetTypes, onRemove, layout, columnIndex, rowIndex, editable, frameComponent, onMove}) => {\r\n let createdWidgets = widgets.map((widget, index)=> {\r\n return (\r\n \r\n {\r\n createElement(widgetTypes[widget.key].type, widgetTypes[widget.key].props)\r\n }\r\n \r\n );\r\n });\r\n return
{createdWidgets}
;\r\n};\r\n\r\nWidgets.propTypes = {\r\n /**\r\n * Widgets that should be rendered.\r\n */\r\n widgets: PropTypes.array,\r\n\r\n /**\r\n * Widgets that are available in the dashboard.\r\n */\r\n widgetTypes: PropTypes.object,\r\n\r\n /**\r\n * Function that should be called when a widget is about to be removed.\r\n */\r\n onRemove: PropTypes.func,\r\n\r\n /**\r\n * Layout of the dahsboard.\r\n */\r\n layout: PropTypes.object,\r\n\r\n /**\r\n * Index of the column these widgets should be placed.\r\n */\r\n columnIndex: PropTypes.number,\r\n\r\n /**\r\n * Index of the row these widgets should be placed.\r\n */\r\n rowIndex: PropTypes.number,\r\n\r\n /**\r\n * Indicates weatehr dashboard is in ediable mode or not.\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * User provided widget frame that should be used instead of the default one.\r\n */\r\n frameComponent: PropTypes.func,\r\n\r\n /**\r\n * Method to call when a widget is moved.\r\n */\r\n onMove: PropTypes.func,\r\n};\r\n\r\nexport default Widgets;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/Widgets.js\n **/","export { default as default } from './components/Dashboard';\r\nexport { addWidget } from './util';\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/index.js\n **/","\"use strict\";\n\n// rawAsap provides everything we need except exception management.\nvar rawAsap = require(\"./raw\");\n// RawTasks are recycled to reduce GC churn.\nvar freeTasks = [];\n// We queue errors to ensure they are thrown in right order (FIFO).\n// Array-as-queue is good enough here, since we are just dealing with exceptions.\nvar pendingErrors = [];\nvar requestErrorThrow = rawAsap.makeRequestCallFromTimer(throwFirstError);\n\nfunction throwFirstError() {\n if (pendingErrors.length) {\n throw pendingErrors.shift();\n }\n}\n\n/**\n * Calls a task as soon as possible after returning, in its own event, with priority\n * over other events like animation, reflow, and repaint. An error thrown from an\n * event will not interrupt, nor even substantially slow down the processing of\n * other events, but will be rather postponed to a lower priority event.\n * @param {{call}} task A callable object, typically a function that takes no\n * arguments.\n */\nmodule.exports = asap;\nfunction asap(task) {\n var rawTask;\n if (freeTasks.length) {\n rawTask = freeTasks.pop();\n } else {\n rawTask = new RawTask();\n }\n rawTask.task = task;\n rawAsap(rawTask);\n}\n\n// We wrap tasks with recyclable task objects. A task object implements\n// `call`, just like a function.\nfunction RawTask() {\n this.task = null;\n}\n\n// The sole purpose of wrapping the task is to catch the exception and recycle\n// the task object after its single use.\nRawTask.prototype.call = function () {\n try {\n this.task.call();\n } catch (error) {\n if (asap.onerror) {\n // This hook exists purely for testing purposes.\n // Its name will be periodically randomized to break any code that\n // depends on its existence.\n asap.onerror(error);\n } else {\n // In a web browser, exceptions are not fatal. However, to avoid\n // slowing down the queue of pending tasks, we rethrow the error in a\n // lower priority turn.\n pendingErrors.push(error);\n requestErrorThrow();\n }\n } finally {\n this.task = null;\n freeTasks[freeTasks.length] = this;\n }\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/asap/browser-asap.js\n ** module id = 79\n ** module chunks = 0\n **/","\"use strict\";\n\n// Use the fastest means possible to execute a task in its own turn, with\n// priority over other events including IO, animation, reflow, and redraw\n// events in browsers.\n//\n// An exception thrown by a task will permanently interrupt the processing of\n// subsequent tasks. The higher level `asap` function ensures that if an\n// exception is thrown by a task, that the task queue will continue flushing as\n// soon as possible, but if you use `rawAsap` directly, you are responsible to\n// either ensure that no exceptions are thrown from your task, or to manually\n// call `rawAsap.requestFlush` if an exception is thrown.\nmodule.exports = rawAsap;\nfunction rawAsap(task) {\n if (!queue.length) {\n requestFlush();\n flushing = true;\n }\n // Equivalent to push, but avoids a function call.\n queue[queue.length] = task;\n}\n\nvar queue = [];\n// Once a flush has been requested, no further calls to `requestFlush` are\n// necessary until the next `flush` completes.\nvar flushing = false;\n// `requestFlush` is an implementation-specific method that attempts to kick\n// off a `flush` event as quickly as possible. `flush` will attempt to exhaust\n// the event queue before yielding to the browser's own event loop.\nvar requestFlush;\n// The position of the next task to execute in the task queue. This is\n// preserved between calls to `flush` so that it can be resumed if\n// a task throws an exception.\nvar index = 0;\n// If a task schedules additional tasks recursively, the task queue can grow\n// unbounded. To prevent memory exhaustion, the task queue will periodically\n// truncate already-completed tasks.\nvar capacity = 1024;\n\n// The flush function processes all tasks that have been scheduled with\n// `rawAsap` unless and until one of those tasks throws an exception.\n// If a task throws an exception, `flush` ensures that its state will remain\n// consistent and will resume where it left off when called again.\n// However, `flush` does not make any arrangements to be called again if an\n// exception is thrown.\nfunction flush() {\n while (index < queue.length) {\n var currentIndex = index;\n // Advance the index before calling the task. This ensures that we will\n // begin flushing on the next task the task throws an error.\n index = index + 1;\n queue[currentIndex].call();\n // Prevent leaking memory for long chains of recursive calls to `asap`.\n // If we call `asap` within tasks scheduled by `asap`, the queue will\n // grow, but to avoid an O(n) walk for every task we execute, we don't\n // shift tasks off the queue after they have been executed.\n // Instead, we periodically shift 1024 tasks off the queue.\n if (index > capacity) {\n // Manually shift all values starting at the index back to the\n // beginning of the queue.\n for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n queue[scan] = queue[scan + index];\n }\n queue.length -= index;\n index = 0;\n }\n }\n queue.length = 0;\n index = 0;\n flushing = false;\n}\n\n// `requestFlush` is implemented using a strategy based on data collected from\n// every available SauceLabs Selenium web driver worker at time of writing.\n// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n\n// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n// have WebKitMutationObserver but not un-prefixed MutationObserver.\n// Must use `global` instead of `window` to work in both frames and web\n// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\nvar BrowserMutationObserver = global.MutationObserver || global.WebKitMutationObserver;\n\n// MutationObservers are desirable because they have high priority and work\n// reliably everywhere they are implemented.\n// They are implemented in all modern browsers.\n//\n// - Android 4-4.3\n// - Chrome 26-34\n// - Firefox 14-29\n// - Internet Explorer 11\n// - iPad Safari 6-7.1\n// - iPhone Safari 7-7.1\n// - Safari 6-7\nif (typeof BrowserMutationObserver === \"function\") {\n requestFlush = makeRequestCallFromMutationObserver(flush);\n\n// MessageChannels are desirable because they give direct access to the HTML\n// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n// 11-12, and in web workers in many engines.\n// Although message channels yield to any queued rendering and IO tasks, they\n// would be better than imposing the 4ms delay of timers.\n// However, they do not work reliably in Internet Explorer or Safari.\n\n// Internet Explorer 10 is the only browser that has setImmediate but does\n// not have MutationObservers.\n// Although setImmediate yields to the browser's renderer, it would be\n// preferrable to falling back to setTimeout since it does not have\n// the minimum 4ms penalty.\n// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n// Desktop to a lesser extent) that renders both setImmediate and\n// MessageChannel useless for the purposes of ASAP.\n// https://github.com/kriskowal/q/issues/396\n\n// Timers are implemented universally.\n// We fall back to timers in workers in most engines, and in foreground\n// contexts in the following browsers.\n// However, note that even this simple case requires nuances to operate in a\n// broad spectrum of browsers.\n//\n// - Firefox 3-13\n// - Internet Explorer 6-9\n// - iPad Safari 4.3\n// - Lynx 2.8.7\n} else {\n requestFlush = makeRequestCallFromTimer(flush);\n}\n\n// `requestFlush` requests that the high priority event queue be flushed as\n// soon as possible.\n// This is useful to prevent an error thrown in a task from stalling the event\n// queue if the exception handled by Node.js’s\n// `process.on(\"uncaughtException\")` or by a domain.\nrawAsap.requestFlush = requestFlush;\n\n// To request a high priority event, we induce a mutation observer by toggling\n// the text of a text node between \"1\" and \"-1\".\nfunction makeRequestCallFromMutationObserver(callback) {\n var toggle = 1;\n var observer = new BrowserMutationObserver(callback);\n var node = document.createTextNode(\"\");\n observer.observe(node, {characterData: true});\n return function requestCall() {\n toggle = -toggle;\n node.data = toggle;\n };\n}\n\n// The message channel technique was discovered by Malte Ubl and was the\n// original foundation for this library.\n// http://www.nonblocking.io/2011/06/windownexttick.html\n\n// Safari 6.0.5 (at least) intermittently fails to create message ports on a\n// page's first load. Thankfully, this version of Safari supports\n// MutationObservers, so we don't need to fall back in that case.\n\n// function makeRequestCallFromMessageChannel(callback) {\n// var channel = new MessageChannel();\n// channel.port1.onmessage = callback;\n// return function requestCall() {\n// channel.port2.postMessage(0);\n// };\n// }\n\n// For reasons explained above, we are also unable to use `setImmediate`\n// under any circumstances.\n// Even if we were, there is another bug in Internet Explorer 10.\n// It is not sufficient to assign `setImmediate` to `requestFlush` because\n// `setImmediate` must be called *by name* and therefore must be wrapped in a\n// closure.\n// Never forget.\n\n// function makeRequestCallFromSetImmediate(callback) {\n// return function requestCall() {\n// setImmediate(callback);\n// };\n// }\n\n// Safari 6.0 has a problem where timers will get lost while the user is\n// scrolling. This problem does not impact ASAP because Safari 6.0 supports\n// mutation observers, so that implementation is used instead.\n// However, if we ever elect to use timers in Safari, the prevalent work-around\n// is to add a scroll event listener that calls for a flush.\n\n// `setTimeout` does not call the passed callback if the delay is less than\n// approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n// even then.\n\nfunction makeRequestCallFromTimer(callback) {\n return function requestCall() {\n // We dispatch a timeout with a specified delay of 0 for engines that\n // can reliably accommodate that request. This will usually be snapped\n // to a 4 milisecond delay, but once we're flushing, there's no delay\n // between events.\n var timeoutHandle = setTimeout(handleTimer, 0);\n // However, since this timer gets frequently dropped in Firefox\n // workers, we enlist an interval handle that will try to fire\n // an event 20 times per second until it succeeds.\n var intervalHandle = setInterval(handleTimer, 50);\n\n function handleTimer() {\n // Whichever timer succeeds will cancel both timers and\n // execute the callback.\n clearTimeout(timeoutHandle);\n clearInterval(intervalHandle);\n callback();\n }\n };\n}\n\n// This is for `asap.js` only.\n// Its name will be periodically randomized to break any code that depends on\n// its existence.\nrawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;\n\n// ASAP was originally a nextTick shim included in Q. This was factored out\n// into this ASAP package. It was later adapted to RSVP which made further\n// amendments. These decisions, particularly to marginalize MessageChannel and\n// to capture the MutationObserver implementation in a closure, were integrated\n// back into ASAP proper.\n// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/asap/browser-raw.js\n ** module id = 80\n ** module chunks = 0\n **/","'use strict';\n\nvar _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };\n\nvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } };\n\nexports.__esModule = true;\n\nvar _isDisposable = require('./isDisposable');\n\nvar _isDisposable2 = _interopRequireWildcard(_isDisposable);\n\n/**\n * Represents a group of disposable resources that are disposed together.\n */\n\nvar CompositeDisposable = (function () {\n function CompositeDisposable() {\n for (var _len = arguments.length, disposables = Array(_len), _key = 0; _key < _len; _key++) {\n disposables[_key] = arguments[_key];\n }\n\n _classCallCheck(this, CompositeDisposable);\n\n if (Array.isArray(disposables[0]) && disposables.length === 1) {\n disposables = disposables[0];\n }\n\n for (var i = 0; i < disposables.length; i++) {\n if (!_isDisposable2['default'](disposables[i])) {\n throw new Error('Expected a disposable');\n }\n }\n\n this.disposables = disposables;\n this.isDisposed = false;\n }\n\n /**\n * Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed.\n * @param {Disposable} item Disposable to add.\n */\n\n CompositeDisposable.prototype.add = function add(item) {\n if (this.isDisposed) {\n item.dispose();\n } else {\n this.disposables.push(item);\n }\n };\n\n /**\n * Removes and disposes the first occurrence of a disposable from the CompositeDisposable.\n * @param {Disposable} item Disposable to remove.\n * @returns {Boolean} true if found; false otherwise.\n */\n\n CompositeDisposable.prototype.remove = function remove(item) {\n if (this.isDisposed) {\n return false;\n }\n\n var index = this.disposables.indexOf(item);\n if (index === -1) {\n return false;\n }\n\n this.disposables.splice(index, 1);\n item.dispose();\n return true;\n };\n\n /**\n * Disposes all disposables in the group and removes them from the group.\n */\n\n CompositeDisposable.prototype.dispose = function dispose() {\n if (this.isDisposed) {\n return;\n }\n\n var len = this.disposables.length;\n var currentDisposables = new Array(len);\n for (var i = 0; i < len; i++) {\n currentDisposables[i] = this.disposables[i];\n }\n\n this.isDisposed = true;\n this.disposables = [];\n this.length = 0;\n\n for (var i = 0; i < len; i++) {\n currentDisposables[i].dispose();\n }\n };\n\n return CompositeDisposable;\n})();\n\nexports['default'] = CompositeDisposable;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/disposables/modules/CompositeDisposable.js\n ** module id = 81\n ** module chunks = 0\n **/","\"use strict\";\n\nvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nexports.__esModule = true;\nvar noop = function noop() {};\n\n/**\n * The basic disposable.\n */\n\nvar Disposable = (function () {\n function Disposable(action) {\n _classCallCheck(this, Disposable);\n\n this.isDisposed = false;\n this.action = action || noop;\n }\n\n Disposable.prototype.dispose = function dispose() {\n if (!this.isDisposed) {\n this.action.call(null);\n this.isDisposed = true;\n }\n };\n\n _createClass(Disposable, null, [{\n key: \"empty\",\n enumerable: true,\n value: { dispose: noop }\n }]);\n\n return Disposable;\n})();\n\nexports[\"default\"] = Disposable;\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/disposables/modules/Disposable.js\n ** module id = 82\n ** module chunks = 0\n **/","'use strict';\n\nvar _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };\n\nvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } };\n\nexports.__esModule = true;\n\nvar _isDisposable = require('./isDisposable');\n\nvar _isDisposable2 = _interopRequireWildcard(_isDisposable);\n\nvar SerialDisposable = (function () {\n function SerialDisposable() {\n _classCallCheck(this, SerialDisposable);\n\n this.isDisposed = false;\n this.current = null;\n }\n\n /**\n * Gets the underlying disposable.\n * @return The underlying disposable.\n */\n\n SerialDisposable.prototype.getDisposable = function getDisposable() {\n return this.current;\n };\n\n /**\n * Sets the underlying disposable.\n * @param {Disposable} value The new underlying disposable.\n */\n\n SerialDisposable.prototype.setDisposable = function setDisposable() {\n var value = arguments[0] === undefined ? null : arguments[0];\n\n if (value != null && !_isDisposable2['default'](value)) {\n throw new Error('Expected either an empty value or a valid disposable');\n }\n\n var isDisposed = this.isDisposed;\n var previous = undefined;\n\n if (!isDisposed) {\n previous = this.current;\n this.current = value;\n }\n\n if (previous) {\n previous.dispose();\n }\n\n if (isDisposed && value) {\n value.dispose();\n }\n };\n\n /**\n * Disposes the underlying disposable as well as all future replacements.\n */\n\n SerialDisposable.prototype.dispose = function dispose() {\n if (this.isDisposed) {\n return;\n }\n\n this.isDisposed = true;\n var previous = this.current;\n this.current = null;\n\n if (previous) {\n previous.dispose();\n }\n };\n\n return SerialDisposable;\n})();\n\nexports['default'] = SerialDisposable;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/disposables/modules/SerialDisposable.js\n ** module id = 83\n ** module chunks = 0\n **/","'use strict';\n\nvar _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };\n\nexports.__esModule = true;\n\nvar _isDisposable2 = require('./isDisposable');\n\nvar _isDisposable3 = _interopRequireWildcard(_isDisposable2);\n\nexports.isDisposable = _isDisposable3['default'];\n\nvar _Disposable2 = require('./Disposable');\n\nvar _Disposable3 = _interopRequireWildcard(_Disposable2);\n\nexports.Disposable = _Disposable3['default'];\n\nvar _CompositeDisposable2 = require('./CompositeDisposable');\n\nvar _CompositeDisposable3 = _interopRequireWildcard(_CompositeDisposable2);\n\nexports.CompositeDisposable = _CompositeDisposable3['default'];\n\nvar _SerialDisposable2 = require('./SerialDisposable');\n\nvar _SerialDisposable3 = _interopRequireWildcard(_SerialDisposable2);\n\nexports.SerialDisposable = _SerialDisposable3['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/disposables/modules/index.js\n ** module id = 84\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _reduxLibCreateStore = require('redux/lib/createStore');\n\nvar _reduxLibCreateStore2 = _interopRequireDefault(_reduxLibCreateStore);\n\nvar _reducers = require('./reducers');\n\nvar _reducers2 = _interopRequireDefault(_reducers);\n\nvar _actionsDragDrop = require('./actions/dragDrop');\n\nvar dragDropActions = _interopRequireWildcard(_actionsDragDrop);\n\nvar _DragDropMonitor = require('./DragDropMonitor');\n\nvar _DragDropMonitor2 = _interopRequireDefault(_DragDropMonitor);\n\nvar _HandlerRegistry = require('./HandlerRegistry');\n\nvar _HandlerRegistry2 = _interopRequireDefault(_HandlerRegistry);\n\nvar DragDropManager = (function () {\n function DragDropManager(createBackend) {\n _classCallCheck(this, DragDropManager);\n\n var store = _reduxLibCreateStore2['default'](_reducers2['default']);\n\n this.store = store;\n this.monitor = new _DragDropMonitor2['default'](store);\n this.registry = this.monitor.registry;\n this.backend = createBackend(this);\n\n store.subscribe(this.handleRefCountChange.bind(this));\n }\n\n DragDropManager.prototype.handleRefCountChange = function handleRefCountChange() {\n var shouldSetUp = this.store.getState().refCount > 0;\n if (shouldSetUp && !this.isSetUp) {\n this.backend.setup();\n this.isSetUp = true;\n } else if (!shouldSetUp && this.isSetUp) {\n this.backend.teardown();\n this.isSetUp = false;\n }\n };\n\n DragDropManager.prototype.getMonitor = function getMonitor() {\n return this.monitor;\n };\n\n DragDropManager.prototype.getBackend = function getBackend() {\n return this.backend;\n };\n\n DragDropManager.prototype.getRegistry = function getRegistry() {\n return this.registry;\n };\n\n DragDropManager.prototype.getActions = function getActions() {\n var manager = this;\n var dispatch = this.store.dispatch;\n\n function bindActionCreator(actionCreator) {\n return function () {\n var action = actionCreator.apply(manager, arguments);\n if (typeof action !== 'undefined') {\n dispatch(action);\n }\n };\n }\n\n return Object.keys(dragDropActions).filter(function (key) {\n return typeof dragDropActions[key] === 'function';\n }).reduce(function (boundActions, key) {\n boundActions[key] = bindActionCreator(dragDropActions[key]);\n return boundActions;\n }, {});\n };\n\n return DragDropManager;\n})();\n\nexports['default'] = DragDropManager;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/DragDropManager.js\n ** module id = 85\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _utilsMatchesType = require('./utils/matchesType');\n\nvar _utilsMatchesType2 = _interopRequireDefault(_utilsMatchesType);\n\nvar _lodashIsArray = require('lodash/isArray');\n\nvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\nvar _HandlerRegistry = require('./HandlerRegistry');\n\nvar _HandlerRegistry2 = _interopRequireDefault(_HandlerRegistry);\n\nvar _reducersDragOffset = require('./reducers/dragOffset');\n\nvar _reducersDirtyHandlerIds = require('./reducers/dirtyHandlerIds');\n\nvar DragDropMonitor = (function () {\n function DragDropMonitor(store) {\n _classCallCheck(this, DragDropMonitor);\n\n this.store = store;\n this.registry = new _HandlerRegistry2['default'](store);\n }\n\n DragDropMonitor.prototype.subscribeToStateChange = function subscribeToStateChange(listener) {\n var _this = this;\n\n var _ref = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var handlerIds = _ref.handlerIds;\n\n _invariant2['default'](typeof listener === 'function', 'listener must be a function.');\n _invariant2['default'](typeof handlerIds === 'undefined' || _lodashIsArray2['default'](handlerIds), 'handlerIds, when specified, must be an array of strings.');\n\n var prevStateId = this.store.getState().stateId;\n var handleChange = function handleChange() {\n var state = _this.store.getState();\n var currentStateId = state.stateId;\n try {\n var canSkipListener = currentStateId === prevStateId || currentStateId === prevStateId + 1 && !_reducersDirtyHandlerIds.areDirty(state.dirtyHandlerIds, handlerIds);\n\n if (!canSkipListener) {\n listener();\n }\n } finally {\n prevStateId = currentStateId;\n }\n };\n\n return this.store.subscribe(handleChange);\n };\n\n DragDropMonitor.prototype.subscribeToOffsetChange = function subscribeToOffsetChange(listener) {\n var _this2 = this;\n\n _invariant2['default'](typeof listener === 'function', 'listener must be a function.');\n\n var previousState = this.store.getState().dragOffset;\n var handleChange = function handleChange() {\n var nextState = _this2.store.getState().dragOffset;\n if (nextState === previousState) {\n return;\n }\n\n previousState = nextState;\n listener();\n };\n\n return this.store.subscribe(handleChange);\n };\n\n DragDropMonitor.prototype.canDragSource = function canDragSource(sourceId) {\n var source = this.registry.getSource(sourceId);\n _invariant2['default'](source, 'Expected to find a valid source.');\n\n if (this.isDragging()) {\n return false;\n }\n\n return source.canDrag(this, sourceId);\n };\n\n DragDropMonitor.prototype.canDropOnTarget = function canDropOnTarget(targetId) {\n var target = this.registry.getTarget(targetId);\n _invariant2['default'](target, 'Expected to find a valid target.');\n\n if (!this.isDragging() || this.didDrop()) {\n return false;\n }\n\n var targetType = this.registry.getTargetType(targetId);\n var draggedItemType = this.getItemType();\n return _utilsMatchesType2['default'](targetType, draggedItemType) && target.canDrop(this, targetId);\n };\n\n DragDropMonitor.prototype.isDragging = function isDragging() {\n return Boolean(this.getItemType());\n };\n\n DragDropMonitor.prototype.isDraggingSource = function isDraggingSource(sourceId) {\n var source = this.registry.getSource(sourceId, true);\n _invariant2['default'](source, 'Expected to find a valid source.');\n\n if (!this.isDragging() || !this.isSourcePublic()) {\n return false;\n }\n\n var sourceType = this.registry.getSourceType(sourceId);\n var draggedItemType = this.getItemType();\n if (sourceType !== draggedItemType) {\n return false;\n }\n\n return source.isDragging(this, sourceId);\n };\n\n DragDropMonitor.prototype.isOverTarget = function isOverTarget(targetId) {\n var _ref2 = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var _ref2$shallow = _ref2.shallow;\n var shallow = _ref2$shallow === undefined ? false : _ref2$shallow;\n\n if (!this.isDragging()) {\n return false;\n }\n\n var targetType = this.registry.getTargetType(targetId);\n var draggedItemType = this.getItemType();\n if (!_utilsMatchesType2['default'](targetType, draggedItemType)) {\n return false;\n }\n\n var targetIds = this.getTargetIds();\n if (!targetIds.length) {\n return false;\n }\n\n var index = targetIds.indexOf(targetId);\n if (shallow) {\n return index === targetIds.length - 1;\n } else {\n return index > -1;\n }\n };\n\n DragDropMonitor.prototype.getItemType = function getItemType() {\n return this.store.getState().dragOperation.itemType;\n };\n\n DragDropMonitor.prototype.getItem = function getItem() {\n return this.store.getState().dragOperation.item;\n };\n\n DragDropMonitor.prototype.getSourceId = function getSourceId() {\n return this.store.getState().dragOperation.sourceId;\n };\n\n DragDropMonitor.prototype.getTargetIds = function getTargetIds() {\n return this.store.getState().dragOperation.targetIds;\n };\n\n DragDropMonitor.prototype.getDropResult = function getDropResult() {\n return this.store.getState().dragOperation.dropResult;\n };\n\n DragDropMonitor.prototype.didDrop = function didDrop() {\n return this.store.getState().dragOperation.didDrop;\n };\n\n DragDropMonitor.prototype.isSourcePublic = function isSourcePublic() {\n return this.store.getState().dragOperation.isSourcePublic;\n };\n\n DragDropMonitor.prototype.getInitialClientOffset = function getInitialClientOffset() {\n return this.store.getState().dragOffset.initialClientOffset;\n };\n\n DragDropMonitor.prototype.getInitialSourceClientOffset = function getInitialSourceClientOffset() {\n return this.store.getState().dragOffset.initialSourceClientOffset;\n };\n\n DragDropMonitor.prototype.getClientOffset = function getClientOffset() {\n return this.store.getState().dragOffset.clientOffset;\n };\n\n DragDropMonitor.prototype.getSourceClientOffset = function getSourceClientOffset() {\n return _reducersDragOffset.getSourceClientOffset(this.store.getState().dragOffset);\n };\n\n DragDropMonitor.prototype.getDifferenceFromInitialOffset = function getDifferenceFromInitialOffset() {\n return _reducersDragOffset.getDifferenceFromInitialOffset(this.store.getState().dragOffset);\n };\n\n return DragDropMonitor;\n})();\n\nexports['default'] = DragDropMonitor;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/DragDropMonitor.js\n ** module id = 86\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar DragSource = (function () {\n function DragSource() {\n _classCallCheck(this, DragSource);\n }\n\n DragSource.prototype.canDrag = function canDrag() {\n return true;\n };\n\n DragSource.prototype.isDragging = function isDragging(monitor, handle) {\n return handle === monitor.getSourceId();\n };\n\n DragSource.prototype.endDrag = function endDrag() {};\n\n return DragSource;\n})();\n\nexports[\"default\"] = DragSource;\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/DragSource.js\n ** module id = 87\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar DropTarget = (function () {\n function DropTarget() {\n _classCallCheck(this, DropTarget);\n }\n\n DropTarget.prototype.canDrop = function canDrop() {\n return true;\n };\n\n DropTarget.prototype.hover = function hover() {};\n\n DropTarget.prototype.drop = function drop() {};\n\n return DropTarget;\n})();\n\nexports[\"default\"] = DropTarget;\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/DropTarget.js\n ** module id = 88\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createBackend;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _lodashNoop = require('lodash/noop');\n\nvar _lodashNoop2 = _interopRequireDefault(_lodashNoop);\n\nvar TestBackend = (function () {\n function TestBackend(manager) {\n _classCallCheck(this, TestBackend);\n\n this.actions = manager.getActions();\n }\n\n TestBackend.prototype.setup = function setup() {\n this.didCallSetup = true;\n };\n\n TestBackend.prototype.teardown = function teardown() {\n this.didCallTeardown = true;\n };\n\n TestBackend.prototype.connectDragSource = function connectDragSource() {\n return _lodashNoop2['default'];\n };\n\n TestBackend.prototype.connectDragPreview = function connectDragPreview() {\n return _lodashNoop2['default'];\n };\n\n TestBackend.prototype.connectDropTarget = function connectDropTarget() {\n return _lodashNoop2['default'];\n };\n\n TestBackend.prototype.simulateBeginDrag = function simulateBeginDrag(sourceIds, options) {\n this.actions.beginDrag(sourceIds, options);\n };\n\n TestBackend.prototype.simulatePublishDragSource = function simulatePublishDragSource() {\n this.actions.publishDragSource();\n };\n\n TestBackend.prototype.simulateHover = function simulateHover(targetIds, options) {\n this.actions.hover(targetIds, options);\n };\n\n TestBackend.prototype.simulateDrop = function simulateDrop() {\n this.actions.drop();\n };\n\n TestBackend.prototype.simulateEndDrag = function simulateEndDrag() {\n this.actions.endDrag();\n };\n\n return TestBackend;\n})();\n\nfunction createBackend(manager) {\n return new TestBackend(manager);\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/backends/createTestBackend.js\n ** module id = 89\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequire(obj) { return obj && obj.__esModule ? obj['default'] : obj; }\n\nvar _DragDropManager = require('./DragDropManager');\n\nexports.DragDropManager = _interopRequire(_DragDropManager);\n\nvar _DragSource = require('./DragSource');\n\nexports.DragSource = _interopRequire(_DragSource);\n\nvar _DropTarget = require('./DropTarget');\n\nexports.DropTarget = _interopRequire(_DropTarget);\n\nvar _backendsCreateTestBackend = require('./backends/createTestBackend');\n\nexports.createTestBackend = _interopRequire(_backendsCreateTestBackend);\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/index.js\n ** module id = 90\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _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; };\n\nexports['default'] = dragOperation;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _actionsDragDrop = require('../actions/dragDrop');\n\nvar _actionsRegistry = require('../actions/registry');\n\nvar _lodashWithout = require('lodash/without');\n\nvar _lodashWithout2 = _interopRequireDefault(_lodashWithout);\n\nvar initialState = {\n itemType: null,\n item: null,\n sourceId: null,\n targetIds: [],\n dropResult: null,\n didDrop: false,\n isSourcePublic: null\n};\n\nfunction dragOperation(state, action) {\n if (state === undefined) state = initialState;\n\n switch (action.type) {\n case _actionsDragDrop.BEGIN_DRAG:\n return _extends({}, state, {\n itemType: action.itemType,\n item: action.item,\n sourceId: action.sourceId,\n isSourcePublic: action.isSourcePublic,\n dropResult: null,\n didDrop: false\n });\n case _actionsDragDrop.PUBLISH_DRAG_SOURCE:\n return _extends({}, state, {\n isSourcePublic: true\n });\n case _actionsDragDrop.HOVER:\n return _extends({}, state, {\n targetIds: action.targetIds\n });\n case _actionsRegistry.REMOVE_TARGET:\n if (state.targetIds.indexOf(action.targetId) === -1) {\n return state;\n }\n return _extends({}, state, {\n targetIds: _lodashWithout2['default'](state.targetIds, action.targetId)\n });\n case _actionsDragDrop.DROP:\n return _extends({}, state, {\n dropResult: action.dropResult,\n didDrop: true,\n targetIds: []\n });\n case _actionsDragDrop.END_DRAG:\n return _extends({}, state, {\n itemType: null,\n item: null,\n sourceId: null,\n dropResult: null,\n didDrop: false,\n isSourcePublic: null,\n targetIds: []\n });\n default:\n return state;\n }\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/reducers/dragOperation.js\n ** module id = 91\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _dragOffset = require('./dragOffset');\n\nvar _dragOffset2 = _interopRequireDefault(_dragOffset);\n\nvar _dragOperation = require('./dragOperation');\n\nvar _dragOperation2 = _interopRequireDefault(_dragOperation);\n\nvar _refCount = require('./refCount');\n\nvar _refCount2 = _interopRequireDefault(_refCount);\n\nvar _dirtyHandlerIds = require('./dirtyHandlerIds');\n\nvar _dirtyHandlerIds2 = _interopRequireDefault(_dirtyHandlerIds);\n\nvar _stateId = require('./stateId');\n\nvar _stateId2 = _interopRequireDefault(_stateId);\n\nexports['default'] = function (state, action) {\n if (state === undefined) state = {};\n\n return {\n dirtyHandlerIds: _dirtyHandlerIds2['default'](state.dirtyHandlerIds, action, state.dragOperation),\n dragOffset: _dragOffset2['default'](state.dragOffset, action),\n refCount: _refCount2['default'](state.refCount, action),\n dragOperation: _dragOperation2['default'](state.dragOperation, action),\n stateId: _stateId2['default'](state.stateId)\n };\n};\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/reducers/index.js\n ** module id = 92\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = refCount;\n\nvar _actionsRegistry = require('../actions/registry');\n\nfunction refCount(state, action) {\n if (state === undefined) state = 0;\n\n switch (action.type) {\n case _actionsRegistry.ADD_SOURCE:\n case _actionsRegistry.ADD_TARGET:\n return state + 1;\n case _actionsRegistry.REMOVE_SOURCE:\n case _actionsRegistry.REMOVE_TARGET:\n return state - 1;\n default:\n return state;\n }\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/reducers/refCount.js\n ** module id = 93\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = stateId;\n\nfunction stateId() {\n var state = arguments.length <= 0 || arguments[0] === undefined ? 0 : arguments[0];\n\n return state + 1;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/reducers/stateId.js\n ** module id = 94\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = getNextUniqueId;\nvar nextUniqueId = 0;\n\nfunction getNextUniqueId() {\n return nextUniqueId++;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/utils/getNextUniqueId.js\n ** module id = 95\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @returns {Object} Returns the new hash object.\n */\nfunction Hash() {}\n\n// Avoid inheriting from `Object.prototype` when possible.\nHash.prototype = nativeCreate ? nativeCreate(null) : objectProto;\n\nmodule.exports = Hash;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_Hash.js\n ** module id = 96\n ** module chunks = 0\n **/","var mapClear = require('./_mapClear'),\n mapDelete = require('./_mapDelete'),\n mapGet = require('./_mapGet'),\n mapHas = require('./_mapHas'),\n mapSet = require('./_mapSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction MapCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = values[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapClear;\nMapCache.prototype['delete'] = mapDelete;\nMapCache.prototype.get = mapGet;\nMapCache.prototype.has = mapHas;\nMapCache.prototype.set = mapSet;\n\nmodule.exports = MapCache;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_MapCache.js\n ** module id = 97\n ** module chunks = 0\n **/","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_Set.js\n ** module id = 98\n ** module chunks = 0\n **/","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n var length = args.length;\n switch (length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_apply.js\n ** module id = 99\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_arrayFilter.js\n ** module id = 100\n ** module chunks = 0\n **/","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_arrayPush.js\n ** module id = 101\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the associative array.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction assocDelete(array, key) {\n var index = assocIndexOf(array, key);\n if (index < 0) {\n return false;\n }\n var lastIndex = array.length - 1;\n if (index == lastIndex) {\n array.pop();\n } else {\n splice.call(array, index, 1);\n }\n return true;\n}\n\nmodule.exports = assocDelete;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_assocDelete.js\n ** module id = 102\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the associative array value for `key`.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction assocGet(array, key) {\n var index = assocIndexOf(array, key);\n return index < 0 ? undefined : array[index][1];\n}\n\nmodule.exports = assocGet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_assocGet.js\n ** module id = 103\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if an associative array value for `key` exists.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction assocHas(array, key) {\n return assocIndexOf(array, key) > -1;\n}\n\nmodule.exports = assocHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_assocHas.js\n ** module id = 104\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the associative array `key` to `value`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n */\nfunction assocSet(array, key, value) {\n var index = assocIndexOf(array, key);\n if (index < 0) {\n array.push([key, value]);\n } else {\n array[index][1] = value;\n }\n}\n\nmodule.exports = assocSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_assocSet.js\n ** module id = 105\n ** module chunks = 0\n **/","var indexOfNaN = require('./_indexOfNaN');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n if (value !== value) {\n return indexOfNaN(array, fromIndex);\n }\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseIndexOf;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_baseIndexOf.js\n ** module id = 106\n ** module chunks = 0\n **/","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n arrayMap = require('./_arrayMap'),\n baseUnary = require('./_baseUnary'),\n cacheHas = require('./_cacheHas');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\nfunction baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseIntersection;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_baseIntersection.js\n ** module id = 107\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_baseProperty.js\n ** module id = 108\n ** module chunks = 0\n **/","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_baseUniq.js\n ** module id = 109\n ** module chunks = 0\n **/","var arrayPush = require('./_arrayPush'),\n baseDifference = require('./_baseDifference'),\n baseUniq = require('./_baseUniq');\n\n/**\n * The base implementation of methods like `_.xor`, without support for\n * iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of values.\n */\nfunction baseXor(arrays, iteratee, comparator) {\n var index = -1,\n length = arrays.length;\n\n while (++index < length) {\n var result = result\n ? arrayPush(\n baseDifference(result, arrays[index], iteratee, comparator),\n baseDifference(arrays[index], result, iteratee, comparator)\n )\n : arrays[index];\n }\n return (result && result.length) ? baseUniq(result, iteratee, comparator) : [];\n}\n\nmodule.exports = baseXor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_baseXor.js\n ** module id = 110\n ** module chunks = 0\n **/","var isKeyable = require('./_isKeyable');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the set cache.\n *\n * @private\n * @name push\n * @memberOf SetCache\n * @param {*} value The value to cache.\n */\nfunction cachePush(value) {\n var map = this.__data__;\n if (isKeyable(value)) {\n var data = map.__data__,\n hash = typeof value == 'string' ? data.string : data.hash;\n\n hash[value] = HASH_UNDEFINED;\n }\n else {\n map.set(value, HASH_UNDEFINED);\n }\n}\n\nmodule.exports = cachePush;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_cachePush.js\n ** module id = 111\n ** module chunks = 0\n **/","var isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\nfunction castArrayLikeObject(value) {\n return isArrayLikeObject(value) ? value : [];\n}\n\nmodule.exports = castArrayLikeObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_castArrayLikeObject.js\n ** module id = 112\n ** module chunks = 0\n **/","/**\n * Checks if `value` is a global object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {null|Object} Returns `value` if it's a global object, else `null`.\n */\nfunction checkGlobal(value) {\n return (value && value.Object === Object) ? value : null;\n}\n\nmodule.exports = checkGlobal;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_checkGlobal.js\n ** module id = 113\n ** module chunks = 0\n **/","var Set = require('./_Set'),\n noop = require('./noop');\n\n/**\n * Creates a set of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && new Set([1, 2]).size === 2) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_createSet.js\n ** module id = 114\n ** module chunks = 0\n **/","var baseProperty = require('./_baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a\n * [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792) that affects\n * Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_getLength.js\n ** module id = 115\n ** module chunks = 0\n **/","var hashHas = require('./_hashHas');\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(hash, key) {\n return hashHas(hash, key) && delete hash[key];\n}\n\nmodule.exports = hashDelete;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_hashDelete.js\n ** module id = 116\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @param {Object} hash The hash to query.\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(hash, key) {\n if (nativeCreate) {\n var result = hash[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(hash, key) ? hash[key] : undefined;\n}\n\nmodule.exports = hashGet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_hashGet.js\n ** module id = 117\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n */\nfunction hashSet(hash, key, value) {\n hash[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n}\n\nmodule.exports = hashSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_hashSet.js\n ** module id = 118\n ** module chunks = 0\n **/","/**\n * Gets the index at which the first occurrence of `NaN` is found in `array`.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched `NaN`, else `-1`.\n */\nfunction indexOfNaN(array, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 0 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n var other = array[index];\n if (other !== other) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = indexOfNaN;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_indexOfNaN.js\n ** module id = 119\n ** module chunks = 0\n **/","/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\nmodule.exports = isHostObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_isHostObject.js\n ** module id = 120\n ** module chunks = 0\n **/","var Hash = require('./_Hash'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': Map ? new Map : [],\n 'string': new Hash\n };\n}\n\nmodule.exports = mapClear;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_mapClear.js\n ** module id = 121\n ** module chunks = 0\n **/","var Map = require('./_Map'),\n assocDelete = require('./_assocDelete'),\n hashDelete = require('./_hashDelete'),\n isKeyable = require('./_isKeyable');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapDelete(key) {\n var data = this.__data__;\n if (isKeyable(key)) {\n return hashDelete(typeof key == 'string' ? data.string : data.hash, key);\n }\n return Map ? data.map['delete'](key) : assocDelete(data.map, key);\n}\n\nmodule.exports = mapDelete;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_mapDelete.js\n ** module id = 122\n ** module chunks = 0\n **/","var Map = require('./_Map'),\n assocGet = require('./_assocGet'),\n hashGet = require('./_hashGet'),\n isKeyable = require('./_isKeyable');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapGet(key) {\n var data = this.__data__;\n if (isKeyable(key)) {\n return hashGet(typeof key == 'string' ? data.string : data.hash, key);\n }\n return Map ? data.map.get(key) : assocGet(data.map, key);\n}\n\nmodule.exports = mapGet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_mapGet.js\n ** module id = 123\n ** module chunks = 0\n **/","var Map = require('./_Map'),\n assocHas = require('./_assocHas'),\n hashHas = require('./_hashHas'),\n isKeyable = require('./_isKeyable');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapHas(key) {\n var data = this.__data__;\n if (isKeyable(key)) {\n return hashHas(typeof key == 'string' ? data.string : data.hash, key);\n }\n return Map ? data.map.has(key) : assocHas(data.map, key);\n}\n\nmodule.exports = mapHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_mapHas.js\n ** module id = 124\n ** module chunks = 0\n **/","var Map = require('./_Map'),\n assocSet = require('./_assocSet'),\n hashSet = require('./_hashSet'),\n isKeyable = require('./_isKeyable');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapSet(key, value) {\n var data = this.__data__;\n if (isKeyable(key)) {\n hashSet(typeof key == 'string' ? data.string : data.hash, key, value);\n } else if (Map) {\n data.map.set(key, value);\n } else {\n assocSet(data.map, key, value);\n }\n return this;\n}\n\nmodule.exports = mapSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_mapSet.js\n ** module id = 125\n ** module chunks = 0\n **/","/**\n * Converts `set` to an array.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_setToArray.js\n ** module id = 126\n ** module chunks = 0\n **/","/** Used to resolve the decompiled source of functions. */\nvar funcToString = Function.prototype.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_toSource.js\n ** module id = 127\n ** module chunks = 0\n **/","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/eq.js\n ** module id = 128\n ** module chunks = 0\n **/","var arrayMap = require('./_arrayMap'),\n baseIntersection = require('./_baseIntersection'),\n castArrayLikeObject = require('./_castArrayLikeObject'),\n rest = require('./rest');\n\n/**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n * for equality comparisons. The order of result values is determined by the\n * order they occur in the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [4, 2], [1, 2]);\n * // => [2]\n */\nvar intersection = rest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n});\n\nmodule.exports = intersection;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/intersection.js\n ** module id = 129\n ** module chunks = 0\n **/","var getLength = require('./_getLength'),\n isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value)) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isArrayLike.js\n ** module id = 130\n ** module chunks = 0\n **/","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length,\n * else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isLength.js\n ** module id = 131\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isHostObject = require('./_isHostObject'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/6.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (!isObject(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isNative.js\n ** module id = 132\n ** module chunks = 0\n **/","var isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isSymbol.js\n ** module id = 133\n ** module chunks = 0\n **/","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This function is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3');\n * // => 3\n */\nfunction toInteger(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n var remainder = value % 1;\n return value === value ? (remainder ? value - remainder : value) : 0;\n}\n\nmodule.exports = toInteger;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/toInteger.js\n ** module id = 134\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3);\n * // => 3\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3');\n * // => 3\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = isFunction(value.valueOf) ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/toNumber.js\n ** module id = 135\n ** module chunks = 0\n **/","var baseDifference = require('./_baseDifference'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n rest = require('./rest');\n\n/**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to filter.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.without([1, 2, 1, 3], 1, 2);\n * // => [3]\n */\nvar without = rest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n});\n\nmodule.exports = without;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/without.js\n ** module id = 136\n ** module chunks = 0\n **/","var arrayFilter = require('./_arrayFilter'),\n baseXor = require('./_baseXor'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n rest = require('./rest');\n\n/**\n * Creates an array of unique values that is the\n * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\n * of the given arrays. The order of result values is determined by the order\n * they occur in the arrays.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of values.\n * @example\n *\n * _.xor([2, 1], [4, 2]);\n * // => [1, 4]\n */\nvar xor = rest(function(arrays) {\n return baseXor(arrayFilter(arrays, isArrayLikeObject));\n});\n\nmodule.exports = xor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/xor.js\n ** module id = 137\n ** module chunks = 0\n **/","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/invariant.js\n ** module id = 138\n ** module chunks = 0\n **/","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n/**\n * Allows extraction of a minified key. Let's the build system minify keys\n * without losing the ability to dynamically use key strings as values\n * themselves. Pass in an object with a single key/val pair and it will return\n * you the string key of that single record. Suppose you want to grab the\n * value for a key 'className' inside of an object. Key/val minification may\n * have aliased that key to be 'xa12'. keyOf({className: null}) will return\n * 'xa12' in that case. Resolve keys you want to use once at startup time, then\n * reuse those resolutions.\n */\nvar keyOf = function (oneKeyObj) {\n var key;\n for (key in oneKeyObj) {\n if (!oneKeyObj.hasOwnProperty(key)) {\n continue;\n }\n return key;\n }\n return null;\n};\n\nmodule.exports = keyOf;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/keyOf.js\n ** module id = 139\n ** module chunks = 0\n **/","/* eslint-disable no-unused-vars */\n'use strict';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nmodule.exports = Object.assign || function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (Object.getOwnPropertySymbols) {\n\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/object-assign/index.js\n ** module id = 140\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _lodashUnion = require('lodash/union');\n\nvar _lodashUnion2 = _interopRequireDefault(_lodashUnion);\n\nvar _lodashWithout = require('lodash/without');\n\nvar _lodashWithout2 = _interopRequireDefault(_lodashWithout);\n\nvar EnterLeaveCounter = (function () {\n function EnterLeaveCounter() {\n _classCallCheck(this, EnterLeaveCounter);\n\n this.entered = [];\n }\n\n EnterLeaveCounter.prototype.enter = function enter(enteringNode) {\n var previousLength = this.entered.length;\n\n this.entered = _lodashUnion2['default'](this.entered.filter(function (node) {\n return document.documentElement.contains(node) && (!node.contains || node.contains(enteringNode));\n }), [enteringNode]);\n\n return previousLength === 0 && this.entered.length > 0;\n };\n\n EnterLeaveCounter.prototype.leave = function leave(leavingNode) {\n var previousLength = this.entered.length;\n\n this.entered = _lodashWithout2['default'](this.entered.filter(function (node) {\n return document.documentElement.contains(node);\n }), leavingNode);\n\n return previousLength > 0 && this.entered.length === 0;\n };\n\n EnterLeaveCounter.prototype.reset = function reset() {\n this.entered = [];\n };\n\n return EnterLeaveCounter;\n})();\n\nexports['default'] = EnterLeaveCounter;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/EnterLeaveCounter.js\n ** module id = 141\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _lodashDefaults = require('lodash/defaults');\n\nvar _lodashDefaults2 = _interopRequireDefault(_lodashDefaults);\n\nvar _shallowEqual = require('./shallowEqual');\n\nvar _shallowEqual2 = _interopRequireDefault(_shallowEqual);\n\nvar _EnterLeaveCounter = require('./EnterLeaveCounter');\n\nvar _EnterLeaveCounter2 = _interopRequireDefault(_EnterLeaveCounter);\n\nvar _BrowserDetector = require('./BrowserDetector');\n\nvar _OffsetUtils = require('./OffsetUtils');\n\nvar _NativeDragSources = require('./NativeDragSources');\n\nvar _NativeTypes = require('./NativeTypes');\n\nvar NativeTypes = _interopRequireWildcard(_NativeTypes);\n\nvar HTML5Backend = (function () {\n function HTML5Backend(manager) {\n _classCallCheck(this, HTML5Backend);\n\n this.actions = manager.getActions();\n this.monitor = manager.getMonitor();\n this.registry = manager.getRegistry();\n\n this.sourcePreviewNodes = {};\n this.sourcePreviewNodeOptions = {};\n this.sourceNodes = {};\n this.sourceNodeOptions = {};\n this.enterLeaveCounter = new _EnterLeaveCounter2['default']();\n\n this.getSourceClientOffset = this.getSourceClientOffset.bind(this);\n this.handleTopDragStart = this.handleTopDragStart.bind(this);\n this.handleTopDragStartCapture = this.handleTopDragStartCapture.bind(this);\n this.handleTopDragEndCapture = this.handleTopDragEndCapture.bind(this);\n this.handleTopDragEnter = this.handleTopDragEnter.bind(this);\n this.handleTopDragEnterCapture = this.handleTopDragEnterCapture.bind(this);\n this.handleTopDragLeaveCapture = this.handleTopDragLeaveCapture.bind(this);\n this.handleTopDragOver = this.handleTopDragOver.bind(this);\n this.handleTopDragOverCapture = this.handleTopDragOverCapture.bind(this);\n this.handleTopDrop = this.handleTopDrop.bind(this);\n this.handleTopDropCapture = this.handleTopDropCapture.bind(this);\n this.handleSelectStart = this.handleSelectStart.bind(this);\n this.endDragIfSourceWasRemovedFromDOM = this.endDragIfSourceWasRemovedFromDOM.bind(this);\n this.endDragNativeItem = this.endDragNativeItem.bind(this);\n }\n\n HTML5Backend.prototype.setup = function setup() {\n if (typeof window === 'undefined') {\n return;\n }\n\n if (this.constructor.isSetUp) {\n throw new Error('Cannot have two HTML5 backends at the same time.');\n }\n this.constructor.isSetUp = true;\n this.addEventListeners(window);\n };\n\n HTML5Backend.prototype.teardown = function teardown() {\n if (typeof window === 'undefined') {\n return;\n }\n\n this.constructor.isSetUp = false;\n this.removeEventListeners(window);\n this.clearCurrentDragSourceNode();\n };\n\n HTML5Backend.prototype.addEventListeners = function addEventListeners(target) {\n target.addEventListener('dragstart', this.handleTopDragStart);\n target.addEventListener('dragstart', this.handleTopDragStartCapture, true);\n target.addEventListener('dragend', this.handleTopDragEndCapture, true);\n target.addEventListener('dragenter', this.handleTopDragEnter);\n target.addEventListener('dragenter', this.handleTopDragEnterCapture, true);\n target.addEventListener('dragleave', this.handleTopDragLeaveCapture, true);\n target.addEventListener('dragover', this.handleTopDragOver);\n target.addEventListener('dragover', this.handleTopDragOverCapture, true);\n target.addEventListener('drop', this.handleTopDrop);\n target.addEventListener('drop', this.handleTopDropCapture, true);\n };\n\n HTML5Backend.prototype.removeEventListeners = function removeEventListeners(target) {\n target.removeEventListener('dragstart', this.handleTopDragStart);\n target.removeEventListener('dragstart', this.handleTopDragStartCapture, true);\n target.removeEventListener('dragend', this.handleTopDragEndCapture, true);\n target.removeEventListener('dragenter', this.handleTopDragEnter);\n target.removeEventListener('dragenter', this.handleTopDragEnterCapture, true);\n target.removeEventListener('dragleave', this.handleTopDragLeaveCapture, true);\n target.removeEventListener('dragover', this.handleTopDragOver);\n target.removeEventListener('dragover', this.handleTopDragOverCapture, true);\n target.removeEventListener('drop', this.handleTopDrop);\n target.removeEventListener('drop', this.handleTopDropCapture, true);\n };\n\n HTML5Backend.prototype.connectDragPreview = function connectDragPreview(sourceId, node, options) {\n var _this = this;\n\n this.sourcePreviewNodeOptions[sourceId] = options;\n this.sourcePreviewNodes[sourceId] = node;\n\n return function () {\n delete _this.sourcePreviewNodes[sourceId];\n delete _this.sourcePreviewNodeOptions[sourceId];\n };\n };\n\n HTML5Backend.prototype.connectDragSource = function connectDragSource(sourceId, node, options) {\n var _this2 = this;\n\n this.sourceNodes[sourceId] = node;\n this.sourceNodeOptions[sourceId] = options;\n\n var handleDragStart = function handleDragStart(e) {\n return _this2.handleDragStart(e, sourceId);\n };\n var handleSelectStart = function handleSelectStart(e) {\n return _this2.handleSelectStart(e, sourceId);\n };\n\n node.setAttribute('draggable', true);\n node.addEventListener('dragstart', handleDragStart);\n node.addEventListener('selectstart', handleSelectStart);\n\n return function () {\n delete _this2.sourceNodes[sourceId];\n delete _this2.sourceNodeOptions[sourceId];\n\n node.removeEventListener('dragstart', handleDragStart);\n node.removeEventListener('selectstart', handleSelectStart);\n node.setAttribute('draggable', false);\n };\n };\n\n HTML5Backend.prototype.connectDropTarget = function connectDropTarget(targetId, node) {\n var _this3 = this;\n\n var handleDragEnter = function handleDragEnter(e) {\n return _this3.handleDragEnter(e, targetId);\n };\n var handleDragOver = function handleDragOver(e) {\n return _this3.handleDragOver(e, targetId);\n };\n var handleDrop = function handleDrop(e) {\n return _this3.handleDrop(e, targetId);\n };\n\n node.addEventListener('dragenter', handleDragEnter);\n node.addEventListener('dragover', handleDragOver);\n node.addEventListener('drop', handleDrop);\n\n return function () {\n node.removeEventListener('dragenter', handleDragEnter);\n node.removeEventListener('dragover', handleDragOver);\n node.removeEventListener('drop', handleDrop);\n };\n };\n\n HTML5Backend.prototype.getCurrentSourceNodeOptions = function getCurrentSourceNodeOptions() {\n var sourceId = this.monitor.getSourceId();\n var sourceNodeOptions = this.sourceNodeOptions[sourceId];\n\n return _lodashDefaults2['default'](sourceNodeOptions || {}, {\n dropEffect: 'move'\n });\n };\n\n HTML5Backend.prototype.getCurrentDropEffect = function getCurrentDropEffect() {\n if (this.isDraggingNativeItem()) {\n // It makes more sense to default to 'copy' for native resources\n return 'copy';\n }\n\n return this.getCurrentSourceNodeOptions().dropEffect;\n };\n\n HTML5Backend.prototype.getCurrentSourcePreviewNodeOptions = function getCurrentSourcePreviewNodeOptions() {\n var sourceId = this.monitor.getSourceId();\n var sourcePreviewNodeOptions = this.sourcePreviewNodeOptions[sourceId];\n\n return _lodashDefaults2['default'](sourcePreviewNodeOptions || {}, {\n anchorX: 0.5,\n anchorY: 0.5,\n captureDraggingState: false\n });\n };\n\n HTML5Backend.prototype.getSourceClientOffset = function getSourceClientOffset(sourceId) {\n return _OffsetUtils.getNodeClientOffset(this.sourceNodes[sourceId]);\n };\n\n HTML5Backend.prototype.isDraggingNativeItem = function isDraggingNativeItem() {\n var itemType = this.monitor.getItemType();\n return Object.keys(NativeTypes).some(function (key) {\n return NativeTypes[key] === itemType;\n });\n };\n\n HTML5Backend.prototype.beginDragNativeItem = function beginDragNativeItem(type) {\n this.clearCurrentDragSourceNode();\n\n var SourceType = _NativeDragSources.createNativeDragSource(type);\n this.currentNativeSource = new SourceType();\n this.currentNativeHandle = this.registry.addSource(type, this.currentNativeSource);\n this.actions.beginDrag([this.currentNativeHandle]);\n\n // On Firefox, if mousemove fires, the drag is over but browser failed to tell us.\n // This is not true for other browsers.\n if (_BrowserDetector.isFirefox()) {\n window.addEventListener('mousemove', this.endDragNativeItem, true);\n }\n };\n\n HTML5Backend.prototype.endDragNativeItem = function endDragNativeItem() {\n if (!this.isDraggingNativeItem()) {\n return;\n }\n\n if (_BrowserDetector.isFirefox()) {\n window.removeEventListener('mousemove', this.endDragNativeItem, true);\n }\n\n this.actions.endDrag();\n this.registry.removeSource(this.currentNativeHandle);\n this.currentNativeHandle = null;\n this.currentNativeSource = null;\n };\n\n HTML5Backend.prototype.endDragIfSourceWasRemovedFromDOM = function endDragIfSourceWasRemovedFromDOM() {\n var node = this.currentDragSourceNode;\n if (document.body.contains(node)) {\n return;\n }\n\n if (this.clearCurrentDragSourceNode()) {\n this.actions.endDrag();\n }\n };\n\n HTML5Backend.prototype.setCurrentDragSourceNode = function setCurrentDragSourceNode(node) {\n this.clearCurrentDragSourceNode();\n this.currentDragSourceNode = node;\n this.currentDragSourceNodeOffset = _OffsetUtils.getNodeClientOffset(node);\n this.currentDragSourceNodeOffsetChanged = false;\n\n // Receiving a mouse event in the middle of a dragging operation\n // means it has ended and the drag source node disappeared from DOM,\n // so the browser didn't dispatch the dragend event.\n window.addEventListener('mousemove', this.endDragIfSourceWasRemovedFromDOM, true);\n };\n\n HTML5Backend.prototype.clearCurrentDragSourceNode = function clearCurrentDragSourceNode() {\n if (this.currentDragSourceNode) {\n this.currentDragSourceNode = null;\n this.currentDragSourceNodeOffset = null;\n this.currentDragSourceNodeOffsetChanged = false;\n window.removeEventListener('mousemove', this.endDragIfSourceWasRemovedFromDOM, true);\n return true;\n }\n\n return false;\n };\n\n HTML5Backend.prototype.checkIfCurrentDragSourceRectChanged = function checkIfCurrentDragSourceRectChanged() {\n var node = this.currentDragSourceNode;\n if (!node) {\n return false;\n }\n\n if (this.currentDragSourceNodeOffsetChanged) {\n return true;\n }\n\n this.currentDragSourceNodeOffsetChanged = !_shallowEqual2['default'](_OffsetUtils.getNodeClientOffset(node), this.currentDragSourceNodeOffset);\n\n return this.currentDragSourceNodeOffsetChanged;\n };\n\n HTML5Backend.prototype.handleTopDragStartCapture = function handleTopDragStartCapture() {\n this.clearCurrentDragSourceNode();\n this.dragStartSourceIds = [];\n };\n\n HTML5Backend.prototype.handleDragStart = function handleDragStart(e, sourceId) {\n this.dragStartSourceIds.unshift(sourceId);\n };\n\n HTML5Backend.prototype.handleTopDragStart = function handleTopDragStart(e) {\n var _this4 = this;\n\n var dragStartSourceIds = this.dragStartSourceIds;\n\n this.dragStartSourceIds = null;\n\n var clientOffset = _OffsetUtils.getEventClientOffset(e);\n\n // Don't publish the source just yet (see why below)\n this.actions.beginDrag(dragStartSourceIds, {\n publishSource: false,\n getSourceClientOffset: this.getSourceClientOffset,\n clientOffset: clientOffset\n });\n\n var dataTransfer = e.dataTransfer;\n\n var nativeType = _NativeDragSources.matchNativeItemType(dataTransfer);\n\n if (this.monitor.isDragging()) {\n if (typeof dataTransfer.setDragImage === 'function') {\n // Use custom drag image if user specifies it.\n // If child drag source refuses drag but parent agrees,\n // use parent's node as drag image. Neither works in IE though.\n var sourceId = this.monitor.getSourceId();\n var sourceNode = this.sourceNodes[sourceId];\n var dragPreview = this.sourcePreviewNodes[sourceId] || sourceNode;\n\n var _getCurrentSourcePreviewNodeOptions = this.getCurrentSourcePreviewNodeOptions();\n\n var anchorX = _getCurrentSourcePreviewNodeOptions.anchorX;\n var anchorY = _getCurrentSourcePreviewNodeOptions.anchorY;\n\n var anchorPoint = { anchorX: anchorX, anchorY: anchorY };\n var dragPreviewOffset = _OffsetUtils.getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint);\n dataTransfer.setDragImage(dragPreview, dragPreviewOffset.x, dragPreviewOffset.y);\n }\n\n try {\n // Firefox won't drag without setting data\n dataTransfer.setData('application/json', {});\n } catch (err) {}\n // IE doesn't support MIME types in setData\n\n // Store drag source node so we can check whether\n // it is removed from DOM and trigger endDrag manually.\n this.setCurrentDragSourceNode(e.target);\n\n // Now we are ready to publish the drag source.. or are we not?\n\n var _getCurrentSourcePreviewNodeOptions2 = this.getCurrentSourcePreviewNodeOptions();\n\n var captureDraggingState = _getCurrentSourcePreviewNodeOptions2.captureDraggingState;\n\n if (!captureDraggingState) {\n // Usually we want to publish it in the next tick so that browser\n // is able to screenshot the current (not yet dragging) state.\n //\n // It also neatly avoids a situation where render() returns null\n // in the same tick for the source element, and browser freaks out.\n setTimeout(function () {\n return _this4.actions.publishDragSource();\n });\n } else {\n // In some cases the user may want to override this behavior, e.g.\n // to work around IE not supporting custom drag previews.\n //\n // When using a custom drag layer, the only way to prevent\n // the default drag preview from drawing in IE is to screenshot\n // the dragging state in which the node itself has zero opacity\n // and height. In this case, though, returning null from render()\n // will abruptly end the dragging, which is not obvious.\n //\n // This is the reason such behavior is strictly opt-in.\n this.actions.publishDragSource();\n }\n } else if (nativeType) {\n // A native item (such as URL) dragged from inside the document\n this.beginDragNativeItem(nativeType);\n } else if (!dataTransfer.types && (!e.target.hasAttribute || !e.target.hasAttribute('draggable'))) {\n // Looks like a Safari bug: dataTransfer.types is null, but there was no draggable.\n // Just let it drag. It's a native type (URL or text) and will be picked up in dragenter handler.\n return;\n } else {\n // If by this time no drag source reacted, tell browser not to drag.\n e.preventDefault();\n }\n };\n\n HTML5Backend.prototype.handleTopDragEndCapture = function handleTopDragEndCapture() {\n if (this.clearCurrentDragSourceNode()) {\n // Firefox can dispatch this event in an infinite loop\n // if dragend handler does something like showing an alert.\n // Only proceed if we have not handled it already.\n this.actions.endDrag();\n }\n };\n\n HTML5Backend.prototype.handleTopDragEnterCapture = function handleTopDragEnterCapture(e) {\n this.dragEnterTargetIds = [];\n\n var isFirstEnter = this.enterLeaveCounter.enter(e.target);\n if (!isFirstEnter || this.monitor.isDragging()) {\n return;\n }\n\n var dataTransfer = e.dataTransfer;\n\n var nativeType = _NativeDragSources.matchNativeItemType(dataTransfer);\n\n if (nativeType) {\n // A native item (such as file or URL) dragged from outside the document\n this.beginDragNativeItem(nativeType);\n }\n };\n\n HTML5Backend.prototype.handleDragEnter = function handleDragEnter(e, targetId) {\n this.dragEnterTargetIds.unshift(targetId);\n };\n\n HTML5Backend.prototype.handleTopDragEnter = function handleTopDragEnter(e) {\n var _this5 = this;\n\n var dragEnterTargetIds = this.dragEnterTargetIds;\n\n this.dragEnterTargetIds = [];\n\n if (!this.monitor.isDragging()) {\n // This is probably a native item type we don't understand.\n return;\n }\n\n if (!_BrowserDetector.isFirefox()) {\n // Don't emit hover in `dragenter` on Firefox due to an edge case.\n // If the target changes position as the result of `dragenter`, Firefox\n // will still happily dispatch `dragover` despite target being no longer\n // there. The easy solution is to only fire `hover` in `dragover` on FF.\n this.actions.hover(dragEnterTargetIds, {\n clientOffset: _OffsetUtils.getEventClientOffset(e)\n });\n }\n\n var canDrop = dragEnterTargetIds.some(function (targetId) {\n return _this5.monitor.canDropOnTarget(targetId);\n });\n\n if (canDrop) {\n // IE requires this to fire dragover events\n e.preventDefault();\n e.dataTransfer.dropEffect = this.getCurrentDropEffect();\n }\n };\n\n HTML5Backend.prototype.handleTopDragOverCapture = function handleTopDragOverCapture() {\n this.dragOverTargetIds = [];\n };\n\n HTML5Backend.prototype.handleDragOver = function handleDragOver(e, targetId) {\n this.dragOverTargetIds.unshift(targetId);\n };\n\n HTML5Backend.prototype.handleTopDragOver = function handleTopDragOver(e) {\n var _this6 = this;\n\n var dragOverTargetIds = this.dragOverTargetIds;\n\n this.dragOverTargetIds = [];\n\n if (!this.monitor.isDragging()) {\n // This is probably a native item type we don't understand.\n // Prevent default \"drop and blow away the whole document\" action.\n e.preventDefault();\n e.dataTransfer.dropEffect = 'none';\n return;\n }\n\n this.actions.hover(dragOverTargetIds, {\n clientOffset: _OffsetUtils.getEventClientOffset(e)\n });\n\n var canDrop = dragOverTargetIds.some(function (targetId) {\n return _this6.monitor.canDropOnTarget(targetId);\n });\n\n if (canDrop) {\n // Show user-specified drop effect.\n e.preventDefault();\n e.dataTransfer.dropEffect = this.getCurrentDropEffect();\n } else if (this.isDraggingNativeItem()) {\n // Don't show a nice cursor but still prevent default\n // \"drop and blow away the whole document\" action.\n e.preventDefault();\n e.dataTransfer.dropEffect = 'none';\n } else if (this.checkIfCurrentDragSourceRectChanged()) {\n // Prevent animating to incorrect position.\n // Drop effect must be other than 'none' to prevent animation.\n e.preventDefault();\n e.dataTransfer.dropEffect = 'move';\n }\n };\n\n HTML5Backend.prototype.handleTopDragLeaveCapture = function handleTopDragLeaveCapture(e) {\n if (this.isDraggingNativeItem()) {\n e.preventDefault();\n }\n\n var isLastLeave = this.enterLeaveCounter.leave(e.target);\n if (!isLastLeave) {\n return;\n }\n\n if (this.isDraggingNativeItem()) {\n this.endDragNativeItem();\n }\n };\n\n HTML5Backend.prototype.handleTopDropCapture = function handleTopDropCapture(e) {\n this.dropTargetIds = [];\n e.preventDefault();\n\n if (this.isDraggingNativeItem()) {\n this.currentNativeSource.mutateItemByReadingDataTransfer(e.dataTransfer);\n }\n\n this.enterLeaveCounter.reset();\n };\n\n HTML5Backend.prototype.handleDrop = function handleDrop(e, targetId) {\n this.dropTargetIds.unshift(targetId);\n };\n\n HTML5Backend.prototype.handleTopDrop = function handleTopDrop(e) {\n var dropTargetIds = this.dropTargetIds;\n\n this.dropTargetIds = [];\n\n this.actions.hover(dropTargetIds, {\n clientOffset: _OffsetUtils.getEventClientOffset(e)\n });\n this.actions.drop();\n\n if (this.isDraggingNativeItem()) {\n this.endDragNativeItem();\n } else {\n this.endDragIfSourceWasRemovedFromDOM();\n }\n };\n\n HTML5Backend.prototype.handleSelectStart = function handleSelectStart(e) {\n var target = e.target;\n\n // Only IE requires us to explicitly say\n // we want drag drop operation to start\n if (typeof target.dragDrop !== 'function') {\n return;\n }\n\n // Inputs and textareas should be selectable\n if (target.tagName === 'INPUT' || target.tagName === 'SELECT' || target.tagName === 'TEXTAREA' || target.isContentEditable) {\n return;\n }\n\n // For other targets, ask IE\n // to enable drag and drop\n e.preventDefault();\n target.dragDrop();\n };\n\n return HTML5Backend;\n})();\n\nexports['default'] = HTML5Backend;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/HTML5Backend.js\n ** module id = 142\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar MonotonicInterpolant = (function () {\n function MonotonicInterpolant(xs, ys) {\n _classCallCheck(this, MonotonicInterpolant);\n\n var length = xs.length;\n\n // Rearrange xs and ys so that xs is sorted\n var indexes = [];\n for (var i = 0; i < length; i++) {\n indexes.push(i);\n }\n indexes.sort(function (a, b) {\n return xs[a] < xs[b] ? -1 : 1;\n });\n\n // Get consecutive differences and slopes\n var dys = [];\n var dxs = [];\n var ms = [];\n var dx = undefined;\n var dy = undefined;\n for (var i = 0; i < length - 1; i++) {\n dx = xs[i + 1] - xs[i];\n dy = ys[i + 1] - ys[i];\n dxs.push(dx);\n dys.push(dy);\n ms.push(dy / dx);\n }\n\n // Get degree-1 coefficients\n var c1s = [ms[0]];\n for (var i = 0; i < dxs.length - 1; i++) {\n var _m = ms[i];\n var mNext = ms[i + 1];\n if (_m * mNext <= 0) {\n c1s.push(0);\n } else {\n dx = dxs[i];\n var dxNext = dxs[i + 1];\n var common = dx + dxNext;\n c1s.push(3 * common / ((common + dxNext) / _m + (common + dx) / mNext));\n }\n }\n c1s.push(ms[ms.length - 1]);\n\n // Get degree-2 and degree-3 coefficients\n var c2s = [];\n var c3s = [];\n var m = undefined;\n for (var i = 0; i < c1s.length - 1; i++) {\n m = ms[i];\n var c1 = c1s[i];\n var invDx = 1 / dxs[i];\n var common = c1 + c1s[i + 1] - m - m;\n c2s.push((m - c1 - common) * invDx);\n c3s.push(common * invDx * invDx);\n }\n\n this.xs = xs;\n this.ys = ys;\n this.c1s = c1s;\n this.c2s = c2s;\n this.c3s = c3s;\n }\n\n MonotonicInterpolant.prototype.interpolate = function interpolate(x) {\n var xs = this.xs;\n var ys = this.ys;\n var c1s = this.c1s;\n var c2s = this.c2s;\n var c3s = this.c3s;\n\n // The rightmost point in the dataset should give an exact result\n var i = xs.length - 1;\n if (x === xs[i]) {\n return ys[i];\n }\n\n // Search for the interval x is in, returning the corresponding y if x is one of the original xs\n var low = 0;\n var high = c3s.length - 1;\n var mid = undefined;\n while (low <= high) {\n mid = Math.floor(0.5 * (low + high));\n var xHere = xs[mid];\n if (xHere < x) {\n low = mid + 1;\n } else if (xHere > x) {\n high = mid - 1;\n } else {\n return ys[mid];\n }\n }\n i = Math.max(0, high);\n\n // Interpolate\n var diff = x - xs[i];\n var diffSq = diff * diff;\n return ys[i] + c1s[i] * diff + c2s[i] * diffSq + c3s[i] * diff * diffSq;\n };\n\n return MonotonicInterpolant;\n})();\n\nexports[\"default\"] = MonotonicInterpolant;\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/MonotonicInterpolant.js\n ** module id = 143\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _nativeTypesConfig;\n\nexports.createNativeDragSource = createNativeDragSource;\nexports.matchNativeItemType = matchNativeItemType;\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _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; }\n\nvar _NativeTypes = require('./NativeTypes');\n\nvar NativeTypes = _interopRequireWildcard(_NativeTypes);\n\nfunction getDataFromDataTransfer(dataTransfer, typesToTry, defaultValue) {\n var result = typesToTry.reduce(function (resultSoFar, typeToTry) {\n return resultSoFar || dataTransfer.getData(typeToTry);\n }, null);\n\n return result != null ? // eslint-disable-line eqeqeq\n result : defaultValue;\n}\n\nvar nativeTypesConfig = (_nativeTypesConfig = {}, _defineProperty(_nativeTypesConfig, NativeTypes.FILE, {\n exposeProperty: 'files',\n matchesTypes: ['Files'],\n getData: function getData(dataTransfer) {\n return Array.prototype.slice.call(dataTransfer.files);\n }\n}), _defineProperty(_nativeTypesConfig, NativeTypes.URL, {\n exposeProperty: 'urls',\n matchesTypes: ['Url', 'text/uri-list'],\n getData: function getData(dataTransfer, matchesTypes) {\n return getDataFromDataTransfer(dataTransfer, matchesTypes, '').split('\\n');\n }\n}), _defineProperty(_nativeTypesConfig, NativeTypes.TEXT, {\n exposeProperty: 'text',\n matchesTypes: ['Text', 'text/plain'],\n getData: function getData(dataTransfer, matchesTypes) {\n return getDataFromDataTransfer(dataTransfer, matchesTypes, '');\n }\n}), _nativeTypesConfig);\n\nfunction createNativeDragSource(type) {\n var _nativeTypesConfig$type = nativeTypesConfig[type];\n var exposeProperty = _nativeTypesConfig$type.exposeProperty;\n var matchesTypes = _nativeTypesConfig$type.matchesTypes;\n var getData = _nativeTypesConfig$type.getData;\n\n return (function () {\n function NativeDragSource() {\n _classCallCheck(this, NativeDragSource);\n\n this.item = Object.defineProperties({}, _defineProperty({}, exposeProperty, {\n get: function get() {\n console.warn( // eslint-disable-line no-console\n 'Browser doesn\\'t allow reading \"' + exposeProperty + '\" until the drop event.');\n return null;\n },\n configurable: true,\n enumerable: true\n }));\n }\n\n NativeDragSource.prototype.mutateItemByReadingDataTransfer = function mutateItemByReadingDataTransfer(dataTransfer) {\n delete this.item[exposeProperty];\n this.item[exposeProperty] = getData(dataTransfer, matchesTypes);\n };\n\n NativeDragSource.prototype.canDrag = function canDrag() {\n return true;\n };\n\n NativeDragSource.prototype.beginDrag = function beginDrag() {\n return this.item;\n };\n\n NativeDragSource.prototype.isDragging = function isDragging(monitor, handle) {\n return handle === monitor.getSourceId();\n };\n\n NativeDragSource.prototype.endDrag = function endDrag() {};\n\n return NativeDragSource;\n })();\n}\n\nfunction matchNativeItemType(dataTransfer) {\n var dataTransferTypes = Array.prototype.slice.call(dataTransfer.types || []);\n\n return Object.keys(nativeTypesConfig).filter(function (nativeItemType) {\n var matchesTypes = nativeTypesConfig[nativeItemType].matchesTypes;\n\n return matchesTypes.some(function (t) {\n return dataTransferTypes.indexOf(t) > -1;\n });\n })[0] || null;\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/NativeDragSources.js\n ** module id = 144\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.getNodeClientOffset = getNodeClientOffset;\nexports.getEventClientOffset = getEventClientOffset;\nexports.getDragPreviewOffset = getDragPreviewOffset;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _BrowserDetector = require('./BrowserDetector');\n\nvar _MonotonicInterpolant = require('./MonotonicInterpolant');\n\nvar _MonotonicInterpolant2 = _interopRequireDefault(_MonotonicInterpolant);\n\nvar ELEMENT_NODE = 1;\n\nfunction getNodeClientOffset(node) {\n var el = node.nodeType === ELEMENT_NODE ? node : node.parentElement;\n\n if (!el) {\n return null;\n }\n\n var _el$getBoundingClientRect = el.getBoundingClientRect();\n\n var top = _el$getBoundingClientRect.top;\n var left = _el$getBoundingClientRect.left;\n\n return { x: left, y: top };\n}\n\nfunction getEventClientOffset(e) {\n return {\n x: e.clientX,\n y: e.clientY\n };\n}\n\nfunction getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint) {\n // The browsers will use the image intrinsic size under different conditions.\n // Firefox only cares if it's an image, but WebKit also wants it to be detached.\n var isImage = dragPreview.nodeName === 'IMG' && (_BrowserDetector.isFirefox() || !document.documentElement.contains(dragPreview));\n var dragPreviewNode = isImage ? sourceNode : dragPreview;\n\n var dragPreviewNodeOffsetFromClient = getNodeClientOffset(dragPreviewNode);\n var offsetFromDragPreview = {\n x: clientOffset.x - dragPreviewNodeOffsetFromClient.x,\n y: clientOffset.y - dragPreviewNodeOffsetFromClient.y\n };\n\n var sourceWidth = sourceNode.offsetWidth;\n var sourceHeight = sourceNode.offsetHeight;\n var anchorX = anchorPoint.anchorX;\n var anchorY = anchorPoint.anchorY;\n\n var dragPreviewWidth = isImage ? dragPreview.width : sourceWidth;\n var dragPreviewHeight = isImage ? dragPreview.height : sourceHeight;\n\n // Work around @2x coordinate discrepancies in browsers\n if (_BrowserDetector.isSafari() && isImage) {\n dragPreviewHeight /= window.devicePixelRatio;\n dragPreviewWidth /= window.devicePixelRatio;\n } else if (_BrowserDetector.isFirefox() && !isImage) {\n dragPreviewHeight *= window.devicePixelRatio;\n dragPreviewWidth *= window.devicePixelRatio;\n }\n\n // Interpolate coordinates depending on anchor point\n // If you know a simpler way to do this, let me know\n var interpolantX = new _MonotonicInterpolant2['default']([0, 0.5, 1], [\n // Dock to the left\n offsetFromDragPreview.x,\n // Align at the center\n offsetFromDragPreview.x / sourceWidth * dragPreviewWidth,\n // Dock to the right\n offsetFromDragPreview.x + dragPreviewWidth - sourceWidth]);\n var interpolantY = new _MonotonicInterpolant2['default']([0, 0.5, 1], [\n // Dock to the top\n offsetFromDragPreview.y,\n // Align at the center\n offsetFromDragPreview.y / sourceHeight * dragPreviewHeight,\n // Dock to the bottom\n offsetFromDragPreview.y + dragPreviewHeight - sourceHeight]);\n var x = interpolantX.interpolate(anchorX);\n var y = interpolantY.interpolate(anchorY);\n\n // Work around Safari 8 positioning bug\n if (_BrowserDetector.isSafari() && isImage) {\n // We'll have to wait for @3x to see if this is entirely correct\n y += (window.devicePixelRatio - 1) * dragPreviewHeight;\n }\n\n return { x: x, y: y };\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/OffsetUtils.js\n ** module id = 145\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = getEmptyImage;\nvar emptyImage = undefined;\n\nfunction getEmptyImage() {\n if (!emptyImage) {\n emptyImage = new Image();\n emptyImage.src = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';\n }\n\n return emptyImage;\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/getEmptyImage.js\n ** module id = 146\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createHTML5Backend;\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _HTML5Backend = require('./HTML5Backend');\n\nvar _HTML5Backend2 = _interopRequireDefault(_HTML5Backend);\n\nvar _getEmptyImage = require('./getEmptyImage');\n\nvar _getEmptyImage2 = _interopRequireDefault(_getEmptyImage);\n\nvar _NativeTypes = require('./NativeTypes');\n\nvar NativeTypes = _interopRequireWildcard(_NativeTypes);\n\nexports.NativeTypes = NativeTypes;\nexports.getEmptyImage = _getEmptyImage2['default'];\n\nfunction createHTML5Backend(manager) {\n return new _HTML5Backend2['default'](manager);\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/index.js\n ** module id = 147\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = shallowEqual;\n\nfunction shallowEqual(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n var hasOwn = Object.prototype.hasOwnProperty;\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n\n var valA = objA[keysA[i]];\n var valB = objB[keysA[i]];\n\n if (valA !== valB) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/shallowEqual.js\n ** module id = 148\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @returns {Object} Returns the new hash object.\n */\nfunction Hash() {}\n\n// Avoid inheriting from `Object.prototype` when possible.\nHash.prototype = nativeCreate ? nativeCreate(null) : objectProto;\n\nmodule.exports = Hash;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_Hash.js\n ** module id = 149\n ** module chunks = 0\n **/","var root = require('./_root');\n\n/** Built-in value references. */\nvar Reflect = root.Reflect;\n\nmodule.exports = Reflect;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_Reflect.js\n ** module id = 150\n ** module chunks = 0\n **/","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_Set.js\n ** module id = 151\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_arrayMap.js\n ** module id = 152\n ** module chunks = 0\n **/","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_arrayPush.js\n ** module id = 153\n ** module chunks = 0\n **/","var eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used by `_.defaults` to customize its `_.assignIn` use.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to assign.\n * @param {Object} object The parent object of `objValue`.\n * @returns {*} Returns the value to assign.\n */\nfunction assignInDefaults(objValue, srcValue, key, object) {\n if (objValue === undefined ||\n (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n return srcValue;\n }\n return objValue;\n}\n\nmodule.exports = assignInDefaults;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_assignInDefaults.js\n ** module id = 154\n ** module chunks = 0\n **/","var eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\nmodule.exports = assignValue;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_assignValue.js\n ** module id = 155\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the associative array.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction assocDelete(array, key) {\n var index = assocIndexOf(array, key);\n if (index < 0) {\n return false;\n }\n var lastIndex = array.length - 1;\n if (index == lastIndex) {\n array.pop();\n } else {\n splice.call(array, index, 1);\n }\n return true;\n}\n\nmodule.exports = assocDelete;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_assocDelete.js\n ** module id = 156\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the associative array value for `key`.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction assocGet(array, key) {\n var index = assocIndexOf(array, key);\n return index < 0 ? undefined : array[index][1];\n}\n\nmodule.exports = assocGet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_assocGet.js\n ** module id = 157\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if an associative array value for `key` exists.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction assocHas(array, key) {\n return assocIndexOf(array, key) > -1;\n}\n\nmodule.exports = assocHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_assocHas.js\n ** module id = 158\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the associative array `key` to `value`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n */\nfunction assocSet(array, key, value) {\n var index = assocIndexOf(array, key);\n if (index < 0) {\n array.push([key, value]);\n } else {\n array[index][1] = value;\n }\n}\n\nmodule.exports = assocSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_assocSet.js\n ** module id = 159\n ** module chunks = 0\n **/","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n arrayMap = require('./_arrayMap'),\n baseUnary = require('./_baseUnary'),\n cacheHas = require('./_cacheHas');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\nfunction baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseDifference;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_baseDifference.js\n ** module id = 160\n ** module chunks = 0\n **/","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_baseFlatten.js\n ** module id = 161\n ** module chunks = 0\n **/","var indexOfNaN = require('./_indexOfNaN');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n if (value !== value) {\n return indexOfNaN(array, fromIndex);\n }\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseIndexOf;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_baseIndexOf.js\n ** module id = 162\n ** module chunks = 0\n **/","var Reflect = require('./_Reflect'),\n iteratorToArray = require('./_iteratorToArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar enumerate = Reflect ? Reflect.enumerate : undefined,\n propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * The base implementation of `_.keysIn` which doesn't skip the constructor\n * property of prototypes or treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n object = object == null ? object : Object(object);\n\n var result = [];\n for (var key in object) {\n result.push(key);\n }\n return result;\n}\n\n// Fallback for IE < 9 with es6-shim.\nif (enumerate && !propertyIsEnumerable.call({ 'valueOf': 1 }, 'valueOf')) {\n baseKeysIn = function(object) {\n return iteratorToArray(enumerate(object));\n };\n}\n\nmodule.exports = baseKeysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_baseKeysIn.js\n ** module id = 163\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_baseProperty.js\n ** module id = 164\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_baseTimes.js\n ** module id = 165\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.unary` without support for storing wrapper metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_baseUnary.js\n ** module id = 166\n ** module chunks = 0\n **/","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_baseUniq.js\n ** module id = 167\n ** module chunks = 0\n **/","var isKeyable = require('./_isKeyable');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the set cache.\n *\n * @private\n * @name push\n * @memberOf SetCache\n * @param {*} value The value to cache.\n */\nfunction cachePush(value) {\n var map = this.__data__;\n if (isKeyable(value)) {\n var data = map.__data__,\n hash = typeof value == 'string' ? data.string : data.hash;\n\n hash[value] = HASH_UNDEFINED;\n }\n else {\n map.set(value, HASH_UNDEFINED);\n }\n}\n\nmodule.exports = cachePush;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_cachePush.js\n ** module id = 168\n ** module chunks = 0\n **/","/**\n * Checks if `value` is a global object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {null|Object} Returns `value` if it's a global object, else `null`.\n */\nfunction checkGlobal(value) {\n return (value && value.Object === Object) ? value : null;\n}\n\nmodule.exports = checkGlobal;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_checkGlobal.js\n ** module id = 169\n ** module chunks = 0\n **/","var assignValue = require('./_assignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : source[key];\n\n assignValue(object, key, newValue);\n }\n return object;\n}\n\nmodule.exports = copyObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_copyObject.js\n ** module id = 170\n ** module chunks = 0\n **/","var isIterateeCall = require('./_isIterateeCall'),\n rest = require('./rest');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return rest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = typeof customizer == 'function'\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_createAssigner.js\n ** module id = 171\n ** module chunks = 0\n **/","var Set = require('./_Set'),\n noop = require('./noop');\n\n/**\n * Creates a set of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && new Set([1, 2]).size === 2) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_createSet.js\n ** module id = 172\n ** module chunks = 0\n **/","var baseProperty = require('./_baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a\n * [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792) that affects\n * Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_getLength.js\n ** module id = 173\n ** module chunks = 0\n **/","var hashHas = require('./_hashHas');\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(hash, key) {\n return hashHas(hash, key) && delete hash[key];\n}\n\nmodule.exports = hashDelete;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_hashDelete.js\n ** module id = 174\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @param {Object} hash The hash to query.\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(hash, key) {\n if (nativeCreate) {\n var result = hash[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(hash, key) ? hash[key] : undefined;\n}\n\nmodule.exports = hashGet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_hashGet.js\n ** module id = 175\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n */\nfunction hashSet(hash, key, value) {\n hash[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n}\n\nmodule.exports = hashSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_hashSet.js\n ** module id = 176\n ** module chunks = 0\n **/","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isLength = require('./isLength'),\n isString = require('./isString');\n\n/**\n * Creates an array of index keys for `object` values of arrays,\n * `arguments` objects, and strings, otherwise `null` is returned.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array|null} Returns index keys, else `null`.\n */\nfunction indexKeys(object) {\n var length = object ? object.length : undefined;\n if (isLength(length) &&\n (isArray(object) || isString(object) || isArguments(object))) {\n return baseTimes(length, String);\n }\n return null;\n}\n\nmodule.exports = indexKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_indexKeys.js\n ** module id = 177\n ** module chunks = 0\n **/","/**\n * Gets the index at which the first occurrence of `NaN` is found in `array`.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched `NaN`, else `-1`.\n */\nfunction indexOfNaN(array, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 0 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n var other = array[index];\n if (other !== other) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = indexOfNaN;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_indexOfNaN.js\n ** module id = 178\n ** module chunks = 0\n **/","var isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArrayLikeObject(value) && (isArray(value) || isArguments(value));\n}\n\nmodule.exports = isFlattenable;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_isFlattenable.js\n ** module id = 179\n ** module chunks = 0\n **/","/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\nmodule.exports = isHostObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_isHostObject.js\n ** module id = 180\n ** module chunks = 0\n **/","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_isIterateeCall.js\n ** module id = 181\n ** module chunks = 0\n **/","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_isPrototype.js\n ** module id = 182\n ** module chunks = 0\n **/","/**\n * Converts `iterator` to an array.\n *\n * @private\n * @param {Object} iterator The iterator to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction iteratorToArray(iterator) {\n var data,\n result = [];\n\n while (!(data = iterator.next()).done) {\n result.push(data.value);\n }\n return result;\n}\n\nmodule.exports = iteratorToArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_iteratorToArray.js\n ** module id = 183\n ** module chunks = 0\n **/","var Hash = require('./_Hash'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': Map ? new Map : [],\n 'string': new Hash\n };\n}\n\nmodule.exports = mapClear;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_mapClear.js\n ** module id = 184\n ** module chunks = 0\n **/","var Map = require('./_Map'),\n assocDelete = require('./_assocDelete'),\n hashDelete = require('./_hashDelete'),\n isKeyable = require('./_isKeyable');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapDelete(key) {\n var data = this.__data__;\n if (isKeyable(key)) {\n return hashDelete(typeof key == 'string' ? data.string : data.hash, key);\n }\n return Map ? data.map['delete'](key) : assocDelete(data.map, key);\n}\n\nmodule.exports = mapDelete;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_mapDelete.js\n ** module id = 185\n ** module chunks = 0\n **/","var Map = require('./_Map'),\n assocGet = require('./_assocGet'),\n hashGet = require('./_hashGet'),\n isKeyable = require('./_isKeyable');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapGet(key) {\n var data = this.__data__;\n if (isKeyable(key)) {\n return hashGet(typeof key == 'string' ? data.string : data.hash, key);\n }\n return Map ? data.map.get(key) : assocGet(data.map, key);\n}\n\nmodule.exports = mapGet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_mapGet.js\n ** module id = 186\n ** module chunks = 0\n **/","var Map = require('./_Map'),\n assocHas = require('./_assocHas'),\n hashHas = require('./_hashHas'),\n isKeyable = require('./_isKeyable');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapHas(key) {\n var data = this.__data__;\n if (isKeyable(key)) {\n return hashHas(typeof key == 'string' ? data.string : data.hash, key);\n }\n return Map ? data.map.has(key) : assocHas(data.map, key);\n}\n\nmodule.exports = mapHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_mapHas.js\n ** module id = 187\n ** module chunks = 0\n **/","var Map = require('./_Map'),\n assocSet = require('./_assocSet'),\n hashSet = require('./_hashSet'),\n isKeyable = require('./_isKeyable');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapSet(key, value) {\n var data = this.__data__;\n if (isKeyable(key)) {\n hashSet(typeof key == 'string' ? data.string : data.hash, key, value);\n } else if (Map) {\n data.map.set(key, value);\n } else {\n assocSet(data.map, key, value);\n }\n return this;\n}\n\nmodule.exports = mapSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_mapSet.js\n ** module id = 188\n ** module chunks = 0\n **/","/**\n * Converts `set` to an array.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_setToArray.js\n ** module id = 189\n ** module chunks = 0\n **/","/** Used to resolve the decompiled source of functions. */\nvar funcToString = Function.prototype.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_toSource.js\n ** module id = 190\n ** module chunks = 0\n **/","var copyObject = require('./_copyObject'),\n createAssigner = require('./_createAssigner'),\n keysIn = require('./keysIn');\n\n/**\n * This method is like `_.assignIn` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extendWith\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignInWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\nvar assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keysIn(source), object, customizer);\n});\n\nmodule.exports = assignInWith;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/assignInWith.js\n ** module id = 191\n ** module chunks = 0\n **/","var apply = require('./_apply'),\n assignInDefaults = require('./_assignInDefaults'),\n assignInWith = require('./assignInWith'),\n rest = require('./rest');\n\n/**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * _.defaults({ 'user': 'barney' }, { 'age': 36 }, { 'user': 'fred' });\n * // => { 'user': 'barney', 'age': 36 }\n */\nvar defaults = rest(function(args) {\n args.push(undefined, assignInDefaults);\n return apply(assignInWith, undefined, args);\n});\n\nmodule.exports = defaults;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/defaults.js\n ** module id = 192\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isHostObject = require('./_isHostObject'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/6.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (!isObject(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isNative.js\n ** module id = 193\n ** module chunks = 0\n **/","var isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && objectToString.call(value) == stringTag);\n}\n\nmodule.exports = isString;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isString.js\n ** module id = 194\n ** module chunks = 0\n **/","var isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isSymbol.js\n ** module id = 195\n ** module chunks = 0\n **/","var baseKeysIn = require('./_baseKeysIn'),\n indexKeys = require('./_indexKeys'),\n isIndex = require('./_isIndex'),\n isPrototype = require('./_isPrototype');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n var index = -1,\n isProto = isPrototype(object),\n props = baseKeysIn(object),\n propsLength = props.length,\n indexes = indexKeys(object),\n skipIndexes = !!indexes,\n result = indexes || [],\n length = result.length;\n\n while (++index < propsLength) {\n var key = props[index];\n if (!(skipIndexes && (key == 'length' || isIndex(key, length))) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/keysIn.js\n ** module id = 196\n ** module chunks = 0\n **/","var MapCache = require('./_MapCache');\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoizing function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/memoize.js\n ** module id = 197\n ** module chunks = 0\n **/","/**\n * A no-operation function that returns `undefined` regardless of the\n * arguments it receives.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.noop(object) === undefined;\n * // => true\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/noop.js\n ** module id = 198\n ** module chunks = 0\n **/","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This function is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3');\n * // => 3\n */\nfunction toInteger(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n var remainder = value % 1;\n return value === value ? (remainder ? value - remainder : value) : 0;\n}\n\nmodule.exports = toInteger;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/toInteger.js\n ** module id = 199\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3);\n * // => 3\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3');\n * // => 3\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = isFunction(value.valueOf) ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/toNumber.js\n ** module id = 200\n ** module chunks = 0\n **/","var baseFlatten = require('./_baseFlatten'),\n baseUniq = require('./_baseUniq'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n rest = require('./rest');\n\n/**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2, 1], [4, 2], [1, 2]);\n * // => [2, 1, 4]\n */\nvar union = rest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n});\n\nmodule.exports = union;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/union.js\n ** module id = 201\n ** module chunks = 0\n **/","var baseDifference = require('./_baseDifference'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n rest = require('./rest');\n\n/**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to filter.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.without([1, 2, 1, 3], 1, 2);\n * // => [3]\n */\nvar without = rest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n});\n\nmodule.exports = without;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/without.js\n ** module id = 202\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _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; };\n\nvar _slice = Array.prototype.slice;\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nexports['default'] = DragDropContext;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _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; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _dndCore = require('dnd-core');\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _utilsCheckDecoratorArguments = require('./utils/checkDecoratorArguments');\n\nvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\nfunction DragDropContext(backendOrModule) {\n _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DragDropContext', 'backend'].concat(_slice.call(arguments)));\n\n // Auto-detect ES6 default export for people still using ES5\n var backend = undefined;\n if (typeof backendOrModule === 'object' && typeof backendOrModule['default'] === 'function') {\n backend = backendOrModule['default'];\n } else {\n backend = backendOrModule;\n }\n\n _invariant2['default'](typeof backend === 'function', 'Expected the backend to be a function or an ES6 module exporting a default function. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-drop-context.html');\n\n var childContext = {\n dragDropManager: new _dndCore.DragDropManager(backend)\n };\n\n return function decorateContext(DecoratedComponent) {\n var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\n return (function (_Component) {\n _inherits(DragDropContextContainer, _Component);\n\n function DragDropContextContainer() {\n _classCallCheck(this, DragDropContextContainer);\n\n _Component.apply(this, arguments);\n }\n\n DragDropContextContainer.prototype.getDecoratedComponentInstance = function getDecoratedComponentInstance() {\n return this.refs.child;\n };\n\n DragDropContextContainer.prototype.getManager = function getManager() {\n return childContext.dragDropManager;\n };\n\n DragDropContextContainer.prototype.getChildContext = function getChildContext() {\n return childContext;\n };\n\n DragDropContextContainer.prototype.render = function render() {\n return _react2['default'].createElement(DecoratedComponent, _extends({}, this.props, {\n ref: 'child' }));\n };\n\n _createClass(DragDropContextContainer, null, [{\n key: 'DecoratedComponent',\n value: DecoratedComponent,\n enumerable: true\n }, {\n key: 'displayName',\n value: 'DragDropContext(' + displayName + ')',\n enumerable: true\n }, {\n key: 'childContextTypes',\n value: {\n dragDropManager: _react.PropTypes.object.isRequired\n },\n enumerable: true\n }]);\n\n return DragDropContextContainer;\n })(_react.Component);\n };\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/DragDropContext.js\n ** module id = 203\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _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; };\n\nvar _slice = Array.prototype.slice;\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nexports['default'] = DragLayer;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _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; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _utilsShallowEqual = require('./utils/shallowEqual');\n\nvar _utilsShallowEqual2 = _interopRequireDefault(_utilsShallowEqual);\n\nvar _utilsShallowEqualScalar = require('./utils/shallowEqualScalar');\n\nvar _utilsShallowEqualScalar2 = _interopRequireDefault(_utilsShallowEqualScalar);\n\nvar _lodashIsPlainObject = require('lodash/isPlainObject');\n\nvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _utilsCheckDecoratorArguments = require('./utils/checkDecoratorArguments');\n\nvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\nfunction DragLayer(collect) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DragLayer', 'collect[, options]'].concat(_slice.call(arguments)));\n _invariant2['default'](typeof collect === 'function', 'Expected \"collect\" provided as the first argument to DragLayer ' + 'to be a function that collects props to inject into the component. ', 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-layer.html', collect);\n _invariant2['default'](_lodashIsPlainObject2['default'](options), 'Expected \"options\" provided as the second argument to DragLayer to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-layer.html', options);\n\n return function decorateLayer(DecoratedComponent) {\n var _options$arePropsEqual = options.arePropsEqual;\n var arePropsEqual = _options$arePropsEqual === undefined ? _utilsShallowEqualScalar2['default'] : _options$arePropsEqual;\n\n var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\n return (function (_Component) {\n _inherits(DragLayerContainer, _Component);\n\n DragLayerContainer.prototype.getDecoratedComponentInstance = function getDecoratedComponentInstance() {\n return this.refs.child;\n };\n\n DragLayerContainer.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n return !arePropsEqual(nextProps, this.props) || !_utilsShallowEqual2['default'](nextState, this.state);\n };\n\n _createClass(DragLayerContainer, null, [{\n key: 'DecoratedComponent',\n value: DecoratedComponent,\n enumerable: true\n }, {\n key: 'displayName',\n value: 'DragLayer(' + displayName + ')',\n enumerable: true\n }, {\n key: 'contextTypes',\n value: {\n dragDropManager: _react.PropTypes.object.isRequired\n },\n enumerable: true\n }]);\n\n function DragLayerContainer(props, context) {\n _classCallCheck(this, DragLayerContainer);\n\n _Component.call(this, props);\n this.handleChange = this.handleChange.bind(this);\n\n this.manager = context.dragDropManager;\n _invariant2['default'](typeof this.manager === 'object', 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to wrap the top-level component of your app with DragDropContext. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName);\n\n this.state = this.getCurrentState();\n }\n\n DragLayerContainer.prototype.componentDidMount = function componentDidMount() {\n this.isCurrentlyMounted = true;\n\n var monitor = this.manager.getMonitor();\n this.unsubscribeFromOffsetChange = monitor.subscribeToOffsetChange(this.handleChange);\n this.unsubscribeFromStateChange = monitor.subscribeToStateChange(this.handleChange);\n\n this.handleChange();\n };\n\n DragLayerContainer.prototype.componentWillUnmount = function componentWillUnmount() {\n this.isCurrentlyMounted = false;\n\n this.unsubscribeFromOffsetChange();\n this.unsubscribeFromStateChange();\n };\n\n DragLayerContainer.prototype.handleChange = function handleChange() {\n if (!this.isCurrentlyMounted) {\n return;\n }\n\n var nextState = this.getCurrentState();\n if (!_utilsShallowEqual2['default'](nextState, this.state)) {\n this.setState(nextState);\n }\n };\n\n DragLayerContainer.prototype.getCurrentState = function getCurrentState() {\n var monitor = this.manager.getMonitor();\n return collect(monitor);\n };\n\n DragLayerContainer.prototype.render = function render() {\n return _react2['default'].createElement(DecoratedComponent, _extends({}, this.props, this.state, {\n ref: 'child' }));\n };\n\n return DragLayerContainer;\n })(_react.Component);\n };\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/DragLayer.js\n ** module id = 204\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nvar _slice = Array.prototype.slice;\nexports['default'] = DragSource;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _lodashIsPlainObject = require('lodash/isPlainObject');\n\nvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\nvar _utilsCheckDecoratorArguments = require('./utils/checkDecoratorArguments');\n\nvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\nvar _decorateHandler = require('./decorateHandler');\n\nvar _decorateHandler2 = _interopRequireDefault(_decorateHandler);\n\nvar _registerSource = require('./registerSource');\n\nvar _registerSource2 = _interopRequireDefault(_registerSource);\n\nvar _createSourceFactory = require('./createSourceFactory');\n\nvar _createSourceFactory2 = _interopRequireDefault(_createSourceFactory);\n\nvar _createSourceMonitor = require('./createSourceMonitor');\n\nvar _createSourceMonitor2 = _interopRequireDefault(_createSourceMonitor);\n\nvar _createSourceConnector = require('./createSourceConnector');\n\nvar _createSourceConnector2 = _interopRequireDefault(_createSourceConnector);\n\nvar _utilsIsValidType = require('./utils/isValidType');\n\nvar _utilsIsValidType2 = _interopRequireDefault(_utilsIsValidType);\n\nfunction DragSource(type, spec, collect) {\n var options = arguments.length <= 3 || arguments[3] === undefined ? {} : arguments[3];\n\n _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DragSource', 'type, spec, collect[, options]'].concat(_slice.call(arguments)));\n var getType = type;\n if (typeof type !== 'function') {\n _invariant2['default'](_utilsIsValidType2['default'](type), 'Expected \"type\" provided as the first argument to DragSource to be ' + 'a string, or a function that returns a string given the current props. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', type);\n getType = function () {\n return type;\n };\n }\n _invariant2['default'](_lodashIsPlainObject2['default'](spec), 'Expected \"spec\" provided as the second argument to DragSource to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', spec);\n var createSource = _createSourceFactory2['default'](spec);\n _invariant2['default'](typeof collect === 'function', 'Expected \"collect\" provided as the third argument to DragSource to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', collect);\n _invariant2['default'](_lodashIsPlainObject2['default'](options), 'Expected \"options\" provided as the fourth argument to DragSource to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', collect);\n\n return function decorateSource(DecoratedComponent) {\n return _decorateHandler2['default']({\n connectBackend: function connectBackend(backend, sourceId) {\n return backend.connectDragSource(sourceId);\n },\n containerDisplayName: 'DragSource',\n createHandler: createSource,\n registerHandler: _registerSource2['default'],\n createMonitor: _createSourceMonitor2['default'],\n createConnector: _createSourceConnector2['default'],\n DecoratedComponent: DecoratedComponent,\n getType: getType,\n collect: collect,\n options: options\n });\n };\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/DragSource.js\n ** module id = 205\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nvar _slice = Array.prototype.slice;\nexports['default'] = DropTarget;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _lodashIsPlainObject = require('lodash/isPlainObject');\n\nvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\nvar _utilsCheckDecoratorArguments = require('./utils/checkDecoratorArguments');\n\nvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\nvar _decorateHandler = require('./decorateHandler');\n\nvar _decorateHandler2 = _interopRequireDefault(_decorateHandler);\n\nvar _registerTarget = require('./registerTarget');\n\nvar _registerTarget2 = _interopRequireDefault(_registerTarget);\n\nvar _createTargetFactory = require('./createTargetFactory');\n\nvar _createTargetFactory2 = _interopRequireDefault(_createTargetFactory);\n\nvar _createTargetMonitor = require('./createTargetMonitor');\n\nvar _createTargetMonitor2 = _interopRequireDefault(_createTargetMonitor);\n\nvar _createTargetConnector = require('./createTargetConnector');\n\nvar _createTargetConnector2 = _interopRequireDefault(_createTargetConnector);\n\nvar _utilsIsValidType = require('./utils/isValidType');\n\nvar _utilsIsValidType2 = _interopRequireDefault(_utilsIsValidType);\n\nfunction DropTarget(type, spec, collect) {\n var options = arguments.length <= 3 || arguments[3] === undefined ? {} : arguments[3];\n\n _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DropTarget', 'type, spec, collect[, options]'].concat(_slice.call(arguments)));\n var getType = type;\n if (typeof type !== 'function') {\n _invariant2['default'](_utilsIsValidType2['default'](type, true), 'Expected \"type\" provided as the first argument to DropTarget to be ' + 'a string, an array of strings, or a function that returns either given ' + 'the current props. Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', type);\n getType = function () {\n return type;\n };\n }\n _invariant2['default'](_lodashIsPlainObject2['default'](spec), 'Expected \"spec\" provided as the second argument to DropTarget to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', spec);\n var createTarget = _createTargetFactory2['default'](spec);\n _invariant2['default'](typeof collect === 'function', 'Expected \"collect\" provided as the third argument to DropTarget to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', collect);\n _invariant2['default'](_lodashIsPlainObject2['default'](options), 'Expected \"options\" provided as the fourth argument to DropTarget to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', collect);\n\n return function decorateTarget(DecoratedComponent) {\n return _decorateHandler2['default']({\n connectBackend: function connectBackend(backend, targetId) {\n return backend.connectDropTarget(targetId);\n },\n containerDisplayName: 'DropTarget',\n createHandler: createTarget,\n registerHandler: _registerTarget2['default'],\n createMonitor: _createTargetMonitor2['default'],\n createConnector: _createTargetConnector2['default'],\n DecoratedComponent: DecoratedComponent,\n getType: getType,\n collect: collect,\n options: options\n });\n };\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/DropTarget.js\n ** module id = 206\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createSourceConnector;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _wrapConnectorHooks = require('./wrapConnectorHooks');\n\nvar _wrapConnectorHooks2 = _interopRequireDefault(_wrapConnectorHooks);\n\nvar _areOptionsEqual = require('./areOptionsEqual');\n\nvar _areOptionsEqual2 = _interopRequireDefault(_areOptionsEqual);\n\nfunction createSourceConnector(backend) {\n var currentHandlerId = undefined;\n\n var currentDragSourceNode = undefined;\n var currentDragSourceOptions = undefined;\n var disconnectCurrentDragSource = undefined;\n\n var currentDragPreviewNode = undefined;\n var currentDragPreviewOptions = undefined;\n var disconnectCurrentDragPreview = undefined;\n\n function reconnectDragSource() {\n if (disconnectCurrentDragSource) {\n disconnectCurrentDragSource();\n disconnectCurrentDragSource = null;\n }\n\n if (currentHandlerId && currentDragSourceNode) {\n disconnectCurrentDragSource = backend.connectDragSource(currentHandlerId, currentDragSourceNode, currentDragSourceOptions);\n }\n }\n\n function reconnectDragPreview() {\n if (disconnectCurrentDragPreview) {\n disconnectCurrentDragPreview();\n disconnectCurrentDragPreview = null;\n }\n\n if (currentHandlerId && currentDragPreviewNode) {\n disconnectCurrentDragPreview = backend.connectDragPreview(currentHandlerId, currentDragPreviewNode, currentDragPreviewOptions);\n }\n }\n\n function receiveHandlerId(handlerId) {\n if (handlerId === currentHandlerId) {\n return;\n }\n\n currentHandlerId = handlerId;\n reconnectDragSource();\n reconnectDragPreview();\n }\n\n var hooks = _wrapConnectorHooks2['default']({\n dragSource: function connectDragSource(node, options) {\n if (node === currentDragSourceNode && _areOptionsEqual2['default'](options, currentDragSourceOptions)) {\n return;\n }\n\n currentDragSourceNode = node;\n currentDragSourceOptions = options;\n\n reconnectDragSource();\n },\n\n dragPreview: function connectDragPreview(node, options) {\n if (node === currentDragPreviewNode && _areOptionsEqual2['default'](options, currentDragPreviewOptions)) {\n return;\n }\n\n currentDragPreviewNode = node;\n currentDragPreviewOptions = options;\n\n reconnectDragPreview();\n }\n });\n\n return {\n receiveHandlerId: receiveHandlerId,\n hooks: hooks\n };\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/createSourceConnector.js\n ** module id = 207\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createSourceFactory;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _lodashIsPlainObject = require('lodash/isPlainObject');\n\nvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\nvar ALLOWED_SPEC_METHODS = ['canDrag', 'beginDrag', 'canDrag', 'isDragging', 'endDrag'];\nvar REQUIRED_SPEC_METHODS = ['beginDrag'];\n\nfunction createSourceFactory(spec) {\n Object.keys(spec).forEach(function (key) {\n _invariant2['default'](ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drag source specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected \"%s\" key. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', ALLOWED_SPEC_METHODS.join(', '), key);\n _invariant2['default'](typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', key, key, spec[key]);\n });\n REQUIRED_SPEC_METHODS.forEach(function (key) {\n _invariant2['default'](typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', key, key, spec[key]);\n });\n\n var Source = (function () {\n function Source(monitor) {\n _classCallCheck(this, Source);\n\n this.monitor = monitor;\n this.props = null;\n this.component = null;\n }\n\n Source.prototype.receiveProps = function receiveProps(props) {\n this.props = props;\n };\n\n Source.prototype.receiveComponent = function receiveComponent(component) {\n this.component = component;\n };\n\n Source.prototype.canDrag = function canDrag() {\n if (!spec.canDrag) {\n return true;\n }\n\n return spec.canDrag(this.props, this.monitor);\n };\n\n Source.prototype.isDragging = function isDragging(globalMonitor, sourceId) {\n if (!spec.isDragging) {\n return sourceId === globalMonitor.getSourceId();\n }\n\n return spec.isDragging(this.props, this.monitor);\n };\n\n Source.prototype.beginDrag = function beginDrag() {\n var item = spec.beginDrag(this.props, this.monitor, this.component);\n if (process.env.NODE_ENV !== 'production') {\n _invariant2['default'](_lodashIsPlainObject2['default'](item), 'beginDrag() must return a plain object that represents the dragged item. ' + 'Instead received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', item);\n }\n return item;\n };\n\n Source.prototype.endDrag = function endDrag() {\n if (!spec.endDrag) {\n return;\n }\n\n spec.endDrag(this.props, this.monitor, this.component);\n };\n\n return Source;\n })();\n\n return function createSource(monitor) {\n return new Source(monitor);\n };\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/createSourceFactory.js\n ** module id = 208\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createSourceMonitor;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar isCallingCanDrag = false;\nvar isCallingIsDragging = false;\n\nvar SourceMonitor = (function () {\n function SourceMonitor(manager) {\n _classCallCheck(this, SourceMonitor);\n\n this.internalMonitor = manager.getMonitor();\n }\n\n SourceMonitor.prototype.receiveHandlerId = function receiveHandlerId(sourceId) {\n this.sourceId = sourceId;\n };\n\n SourceMonitor.prototype.canDrag = function canDrag() {\n _invariant2['default'](!isCallingCanDrag, 'You may not call monitor.canDrag() inside your canDrag() implementation. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source-monitor.html');\n\n try {\n isCallingCanDrag = true;\n return this.internalMonitor.canDragSource(this.sourceId);\n } finally {\n isCallingCanDrag = false;\n }\n };\n\n SourceMonitor.prototype.isDragging = function isDragging() {\n _invariant2['default'](!isCallingIsDragging, 'You may not call monitor.isDragging() inside your isDragging() implementation. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source-monitor.html');\n\n try {\n isCallingIsDragging = true;\n return this.internalMonitor.isDraggingSource(this.sourceId);\n } finally {\n isCallingIsDragging = false;\n }\n };\n\n SourceMonitor.prototype.getItemType = function getItemType() {\n return this.internalMonitor.getItemType();\n };\n\n SourceMonitor.prototype.getItem = function getItem() {\n return this.internalMonitor.getItem();\n };\n\n SourceMonitor.prototype.getDropResult = function getDropResult() {\n return this.internalMonitor.getDropResult();\n };\n\n SourceMonitor.prototype.didDrop = function didDrop() {\n return this.internalMonitor.didDrop();\n };\n\n SourceMonitor.prototype.getInitialClientOffset = function getInitialClientOffset() {\n return this.internalMonitor.getInitialClientOffset();\n };\n\n SourceMonitor.prototype.getInitialSourceClientOffset = function getInitialSourceClientOffset() {\n return this.internalMonitor.getInitialSourceClientOffset();\n };\n\n SourceMonitor.prototype.getSourceClientOffset = function getSourceClientOffset() {\n return this.internalMonitor.getSourceClientOffset();\n };\n\n SourceMonitor.prototype.getClientOffset = function getClientOffset() {\n return this.internalMonitor.getClientOffset();\n };\n\n SourceMonitor.prototype.getDifferenceFromInitialOffset = function getDifferenceFromInitialOffset() {\n return this.internalMonitor.getDifferenceFromInitialOffset();\n };\n\n return SourceMonitor;\n})();\n\nfunction createSourceMonitor(manager) {\n return new SourceMonitor(manager);\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/createSourceMonitor.js\n ** module id = 209\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createTargetConnector;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _wrapConnectorHooks = require('./wrapConnectorHooks');\n\nvar _wrapConnectorHooks2 = _interopRequireDefault(_wrapConnectorHooks);\n\nvar _areOptionsEqual = require('./areOptionsEqual');\n\nvar _areOptionsEqual2 = _interopRequireDefault(_areOptionsEqual);\n\nfunction createTargetConnector(backend) {\n var currentHandlerId = undefined;\n\n var currentDropTargetNode = undefined;\n var currentDropTargetOptions = undefined;\n var disconnectCurrentDropTarget = undefined;\n\n function reconnectDropTarget() {\n if (disconnectCurrentDropTarget) {\n disconnectCurrentDropTarget();\n disconnectCurrentDropTarget = null;\n }\n\n if (currentHandlerId && currentDropTargetNode) {\n disconnectCurrentDropTarget = backend.connectDropTarget(currentHandlerId, currentDropTargetNode, currentDropTargetOptions);\n }\n }\n\n function receiveHandlerId(handlerId) {\n if (handlerId === currentHandlerId) {\n return;\n }\n\n currentHandlerId = handlerId;\n reconnectDropTarget();\n }\n\n var hooks = _wrapConnectorHooks2['default']({\n dropTarget: function connectDropTarget(node, options) {\n if (node === currentDropTargetNode && _areOptionsEqual2['default'](options, currentDropTargetOptions)) {\n return;\n }\n\n currentDropTargetNode = node;\n currentDropTargetOptions = options;\n\n reconnectDropTarget();\n }\n });\n\n return {\n receiveHandlerId: receiveHandlerId,\n hooks: hooks\n };\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/createTargetConnector.js\n ** module id = 210\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createTargetFactory;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _lodashIsPlainObject = require('lodash/isPlainObject');\n\nvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\nvar ALLOWED_SPEC_METHODS = ['canDrop', 'hover', 'drop'];\n\nfunction createTargetFactory(spec) {\n Object.keys(spec).forEach(function (key) {\n _invariant2['default'](ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drop target specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected \"%s\" key. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', ALLOWED_SPEC_METHODS.join(', '), key);\n _invariant2['default'](typeof spec[key] === 'function', 'Expected %s in the drop target specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', key, key, spec[key]);\n });\n\n var Target = (function () {\n function Target(monitor) {\n _classCallCheck(this, Target);\n\n this.monitor = monitor;\n this.props = null;\n this.component = null;\n }\n\n Target.prototype.receiveProps = function receiveProps(props) {\n this.props = props;\n };\n\n Target.prototype.receiveMonitor = function receiveMonitor(monitor) {\n this.monitor = monitor;\n };\n\n Target.prototype.receiveComponent = function receiveComponent(component) {\n this.component = component;\n };\n\n Target.prototype.canDrop = function canDrop() {\n if (!spec.canDrop) {\n return true;\n }\n\n return spec.canDrop(this.props, this.monitor);\n };\n\n Target.prototype.hover = function hover() {\n if (!spec.hover) {\n return;\n }\n\n spec.hover(this.props, this.monitor, this.component);\n };\n\n Target.prototype.drop = function drop() {\n if (!spec.drop) {\n return;\n }\n\n var dropResult = spec.drop(this.props, this.monitor, this.component);\n if (process.env.NODE_ENV !== 'production') {\n _invariant2['default'](typeof dropResult === 'undefined' || _lodashIsPlainObject2['default'](dropResult), 'drop() must either return undefined, or an object that represents the drop result. ' + 'Instead received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', dropResult);\n }\n return dropResult;\n };\n\n return Target;\n })();\n\n return function createTarget(monitor) {\n return new Target(monitor);\n };\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/createTargetFactory.js\n ** module id = 211\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createTargetMonitor;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar isCallingCanDrop = false;\n\nvar TargetMonitor = (function () {\n function TargetMonitor(manager) {\n _classCallCheck(this, TargetMonitor);\n\n this.internalMonitor = manager.getMonitor();\n }\n\n TargetMonitor.prototype.receiveHandlerId = function receiveHandlerId(targetId) {\n this.targetId = targetId;\n };\n\n TargetMonitor.prototype.canDrop = function canDrop() {\n _invariant2['default'](!isCallingCanDrop, 'You may not call monitor.canDrop() inside your canDrop() implementation. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target-monitor.html');\n\n try {\n isCallingCanDrop = true;\n return this.internalMonitor.canDropOnTarget(this.targetId);\n } finally {\n isCallingCanDrop = false;\n }\n };\n\n TargetMonitor.prototype.isOver = function isOver(options) {\n return this.internalMonitor.isOverTarget(this.targetId, options);\n };\n\n TargetMonitor.prototype.getItemType = function getItemType() {\n return this.internalMonitor.getItemType();\n };\n\n TargetMonitor.prototype.getItem = function getItem() {\n return this.internalMonitor.getItem();\n };\n\n TargetMonitor.prototype.getDropResult = function getDropResult() {\n return this.internalMonitor.getDropResult();\n };\n\n TargetMonitor.prototype.didDrop = function didDrop() {\n return this.internalMonitor.didDrop();\n };\n\n TargetMonitor.prototype.getInitialClientOffset = function getInitialClientOffset() {\n return this.internalMonitor.getInitialClientOffset();\n };\n\n TargetMonitor.prototype.getInitialSourceClientOffset = function getInitialSourceClientOffset() {\n return this.internalMonitor.getInitialSourceClientOffset();\n };\n\n TargetMonitor.prototype.getSourceClientOffset = function getSourceClientOffset() {\n return this.internalMonitor.getSourceClientOffset();\n };\n\n TargetMonitor.prototype.getClientOffset = function getClientOffset() {\n return this.internalMonitor.getClientOffset();\n };\n\n TargetMonitor.prototype.getDifferenceFromInitialOffset = function getDifferenceFromInitialOffset() {\n return this.internalMonitor.getDifferenceFromInitialOffset();\n };\n\n return TargetMonitor;\n})();\n\nfunction createTargetMonitor(manager) {\n return new TargetMonitor(manager);\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/createTargetMonitor.js\n ** module id = 212\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = registerSource;\n\nfunction registerSource(type, source, manager) {\n var registry = manager.getRegistry();\n var sourceId = registry.addSource(type, source);\n\n function unregisterSource() {\n registry.removeSource(sourceId);\n }\n\n return {\n handlerId: sourceId,\n unregister: unregisterSource\n };\n}\n\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/registerSource.js\n ** module id = 213\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = registerTarget;\n\nfunction registerTarget(type, target, manager) {\n var registry = manager.getRegistry();\n var targetId = registry.addTarget(type, target);\n\n function unregisterTarget() {\n registry.removeTarget(targetId);\n }\n\n return {\n handlerId: targetId,\n unregister: unregisterTarget\n };\n}\n\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/registerTarget.js\n ** module id = 214\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = cloneWithRef;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _react = require('react');\n\nfunction cloneWithRef(element, newRef) {\n var previousRef = element.ref;\n _invariant2['default'](typeof previousRef !== 'string', 'Cannot connect React DnD to an element with an existing string ref. ' + 'Please convert it to use a callback ref instead, or wrap it into a or
. ' + 'Read more: https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute');\n\n if (!previousRef) {\n // When there is no ref on the element, use the new ref directly\n return _react.cloneElement(element, {\n ref: newRef\n });\n }\n\n return _react.cloneElement(element, {\n ref: function ref(node) {\n newRef(node);\n\n if (previousRef) {\n previousRef(node);\n }\n }\n });\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/utils/cloneWithRef.js\n ** module id = 215\n ** module chunks = 0\n **/","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetPrototype = Object.getPrototypeOf;\n\n/**\n * Gets the `[[Prototype]]` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {null|Object} Returns the `[[Prototype]]`.\n */\nfunction getPrototype(value) {\n return nativeGetPrototype(Object(value));\n}\n\nmodule.exports = getPrototype;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/~/lodash/_getPrototype.js\n ** module id = 216\n ** module chunks = 0\n **/","/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\nmodule.exports = isHostObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/~/lodash/_isHostObject.js\n ** module id = 217\n ** module chunks = 0\n **/","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @type {Function}\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/~/lodash/isArray.js\n ** module id = 218\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/~/lodash/isObjectLike.js\n ** module id = 219\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule update\n */\n\n/* global hasOwnProperty:true */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar keyOf = require('fbjs/lib/keyOf');\nvar invariant = require('fbjs/lib/invariant');\nvar hasOwnProperty = {}.hasOwnProperty;\n\nfunction shallowCopy(x) {\n if (Array.isArray(x)) {\n return x.concat();\n } else if (x && typeof x === 'object') {\n return _assign(new x.constructor(), x);\n } else {\n return x;\n }\n}\n\nvar COMMAND_PUSH = keyOf({ $push: null });\nvar COMMAND_UNSHIFT = keyOf({ $unshift: null });\nvar COMMAND_SPLICE = keyOf({ $splice: null });\nvar COMMAND_SET = keyOf({ $set: null });\nvar COMMAND_MERGE = keyOf({ $merge: null });\nvar COMMAND_APPLY = keyOf({ $apply: null });\n\nvar ALL_COMMANDS_LIST = [COMMAND_PUSH, COMMAND_UNSHIFT, COMMAND_SPLICE, COMMAND_SET, COMMAND_MERGE, COMMAND_APPLY];\n\nvar ALL_COMMANDS_SET = {};\n\nALL_COMMANDS_LIST.forEach(function (command) {\n ALL_COMMANDS_SET[command] = true;\n});\n\nfunction invariantArrayCase(value, spec, command) {\n !Array.isArray(value) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'update(): expected target of %s to be an array; got %s.', command, value) : invariant(false) : void 0;\n var specValue = spec[command];\n !Array.isArray(specValue) ? process.env.NODE_ENV !== 'production' ? 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) : invariant(false) : void 0;\n}\n\nfunction update(value, spec) {\n !(typeof spec === 'object') ? process.env.NODE_ENV !== 'production' ? 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) : invariant(false) : void 0;\n\n if (hasOwnProperty.call(spec, COMMAND_SET)) {\n !(Object.keys(spec).length === 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Cannot have more than one key in an object with %s', COMMAND_SET) : invariant(false) : void 0;\n\n return spec[COMMAND_SET];\n }\n\n var nextValue = shallowCopy(value);\n\n if (hasOwnProperty.call(spec, COMMAND_MERGE)) {\n var mergeObj = spec[COMMAND_MERGE];\n !(mergeObj && typeof mergeObj === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'update(): %s expects a spec of type \\'object\\'; got %s', COMMAND_MERGE, mergeObj) : invariant(false) : void 0;\n !(nextValue && typeof nextValue === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'update(): %s expects a target of type \\'object\\'; got %s', COMMAND_MERGE, nextValue) : invariant(false) : void 0;\n _assign(nextValue, spec[COMMAND_MERGE]);\n }\n\n if (hasOwnProperty.call(spec, COMMAND_PUSH)) {\n invariantArrayCase(value, spec, COMMAND_PUSH);\n spec[COMMAND_PUSH].forEach(function (item) {\n nextValue.push(item);\n });\n }\n\n if (hasOwnProperty.call(spec, COMMAND_UNSHIFT)) {\n invariantArrayCase(value, spec, COMMAND_UNSHIFT);\n spec[COMMAND_UNSHIFT].forEach(function (item) {\n nextValue.unshift(item);\n });\n }\n\n if (hasOwnProperty.call(spec, COMMAND_SPLICE)) {\n !Array.isArray(value) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected %s target to be an array; got %s', COMMAND_SPLICE, value) : invariant(false) : void 0;\n !Array.isArray(spec[COMMAND_SPLICE]) ? process.env.NODE_ENV !== 'production' ? 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]) : invariant(false) : void 0;\n spec[COMMAND_SPLICE].forEach(function (args) {\n !Array.isArray(args) ? process.env.NODE_ENV !== 'production' ? 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]) : invariant(false) : void 0;\n nextValue.splice.apply(nextValue, args);\n });\n }\n\n if (hasOwnProperty.call(spec, COMMAND_APPLY)) {\n !(typeof spec[COMMAND_APPLY] === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'update(): expected spec of %s to be a function; got %s.', COMMAND_APPLY, spec[COMMAND_APPLY]) : invariant(false) : void 0;\n nextValue = spec[COMMAND_APPLY](nextValue);\n }\n\n for (var k in spec) {\n if (!(ALL_COMMANDS_SET.hasOwnProperty(k) && ALL_COMMANDS_SET[k])) {\n nextValue[k] = update(value[k], spec[k]);\n }\n }\n\n return nextValue;\n}\n\nmodule.exports = update;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/update.js\n ** module id = 220\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.ActionTypes = undefined;\nexports[\"default\"] = createStore;\n\nvar _isPlainObject = require('lodash/isPlainObject');\n\nvar _isPlainObject2 = _interopRequireDefault(_isPlainObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar ActionTypes = exports.ActionTypes = {\n INIT: '@@redux/INIT'\n};\n\n/**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [initialState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} enhancer The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\nfunction createStore(reducer, initialState, enhancer) {\n if (typeof initialState === 'function' && typeof enhancer === 'undefined') {\n enhancer = initialState;\n initialState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, initialState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = initialState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n function getState() {\n return currentState;\n }\n\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected listener to be a function.');\n }\n\n var isSubscribed = true;\n\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n };\n }\n\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n function dispatch(action) {\n if (!(0, _isPlainObject2[\"default\"])(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n for (var i = 0; i < listeners.length; i++) {\n listeners[i]();\n }\n\n return action;\n }\n\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer;\n dispatch({ type: ActionTypes.INIT });\n }\n\n // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n dispatch({ type: ActionTypes.INIT });\n\n return {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n };\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/redux/lib/createStore.js\n ** module id = 221\n ** module chunks = 0\n **/","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetPrototype = Object.getPrototypeOf;\n\n/**\n * Gets the `[[Prototype]]` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {null|Object} Returns the `[[Prototype]]`.\n */\nfunction getPrototype(value) {\n return nativeGetPrototype(Object(value));\n}\n\nmodule.exports = getPrototype;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/redux/~/lodash/_getPrototype.js\n ** module id = 222\n ** module chunks = 0\n **/","/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\nmodule.exports = isHostObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/redux/~/lodash/_isHostObject.js\n ** module id = 223\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/redux/~/lodash/isObjectLike.js\n ** module id = 224\n ** module chunks = 0\n **/","var getPrototype = require('./_getPrototype'),\n isHostObject = require('./_isHostObject'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object,\n * else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) ||\n objectToString.call(value) != objectTag || isHostObject(value)) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return (typeof Ctor == 'function' &&\n Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString);\n}\n\nmodule.exports = isPlainObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/redux/~/lodash/isPlainObject.js\n ** module id = 225\n ** module chunks = 0\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_226__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"react-dom\"\n ** module id = 226\n ** module chunks = 0\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///lib.js","webpack:///webpack/bootstrap cf4f63a4d8e05160a413","webpack:///./~/invariant/browser.js","webpack:///external \"react\"","webpack:///./~/dnd-core/~/lodash/_isKeyable.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_isKeyable.js","webpack:///./~/react-dnd/~/lodash/isPlainObject.js","webpack:///./~/dnd-core/~/lodash/_Map.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_Map.js","webpack:///./~/dnd-core/lib/actions/dragDrop.js","webpack:///./~/dnd-core/lib/actions/registry.js","webpack:///./~/dnd-core/~/lodash/_assocIndexOf.js","webpack:///./~/dnd-core/~/lodash/_nativeCreate.js","webpack:///./~/dnd-core/~/lodash/isArray.js","webpack:///./~/dnd-core/~/lodash/isObject.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_assocIndexOf.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_nativeCreate.js","webpack:///./~/react-dnd-html5-backend/~/lodash/eq.js","webpack:///./~/react-dnd-html5-backend/~/lodash/isArrayLikeObject.js","webpack:///./~/react-dnd-html5-backend/~/lodash/isObject.js","webpack:///./~/react-dnd-html5-backend/~/lodash/rest.js","webpack:///./~/react-dnd/lib/utils/checkDecoratorArguments.js","webpack:///./lib/util/index.js","webpack:///./~/disposables/modules/isDisposable.js","webpack:///./~/dnd-core/~/lodash/_SetCache.js","webpack:///./~/dnd-core/~/lodash/_arrayIncludes.js","webpack:///./~/dnd-core/~/lodash/_arrayIncludesWith.js","webpack:///./~/dnd-core/~/lodash/_arrayMap.js","webpack:///./~/dnd-core/~/lodash/_cacheHas.js","webpack:///./~/dnd-core/~/lodash/_getNative.js","webpack:///./~/dnd-core/~/lodash/isArrayLikeObject.js","webpack:///./~/dnd-core/~/lodash/isFunction.js","webpack:///./~/dnd-core/~/lodash/rest.js","webpack:///./~/react-dnd-html5-backend/lib/NativeTypes.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_getNative.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_root.js","webpack:///./~/react-dnd-html5-backend/~/lodash/isArray.js","webpack:///./~/react-dnd-html5-backend/~/lodash/isFunction.js","webpack:///./~/react-dnd-html5-backend/~/lodash/isObjectLike.js","webpack:///./~/react-dnd/lib/index.js","webpack:///./~/react-dnd/lib/utils/shallowEqual.js","webpack:///./lib/components/ItemTypes.js","webpack:///./~/dnd-core/lib/HandlerRegistry.js","webpack:///./~/dnd-core/lib/reducers/dirtyHandlerIds.js","webpack:///./~/dnd-core/lib/reducers/dragOffset.js","webpack:///./~/dnd-core/lib/utils/matchesType.js","webpack:///./~/dnd-core/~/lodash/_baseDifference.js","webpack:///./~/dnd-core/~/lodash/_baseUnary.js","webpack:///./~/dnd-core/~/lodash/_hashHas.js","webpack:///./~/dnd-core/~/lodash/_root.js","webpack:///./~/dnd-core/~/lodash/isObjectLike.js","webpack:///./~/dnd-core/~/lodash/noop.js","webpack:///./~/react-dnd-html5-backend/lib/BrowserDetector.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_MapCache.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_SetCache.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_apply.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_arrayIncludes.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_arrayIncludesWith.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_cacheHas.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_hashHas.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_isIndex.js","webpack:///./~/react-dnd-html5-backend/~/lodash/isArguments.js","webpack:///./~/react-dnd-html5-backend/~/lodash/isArrayLike.js","webpack:///./~/react-dnd-html5-backend/~/lodash/isLength.js","webpack:///./~/react-dnd/lib/areOptionsEqual.js","webpack:///./~/react-dnd/lib/decorateHandler.js","webpack:///./~/react-dnd/lib/utils/isValidType.js","webpack:///./~/react-dnd/lib/utils/shallowEqualScalar.js","webpack:///./~/react-dnd/lib/wrapConnectorHooks.js","webpack:///(webpack)/buildin/module.js","webpack:///./lib/components/AddWidget.js","webpack:///./lib/components/Column.js","webpack:///./lib/components/Dashboard.js","webpack:///./lib/components/DefaultFrame.js","webpack:///./lib/components/LayoutRenderer.js","webpack:///./lib/components/Row.js","webpack:///./lib/components/WidgetFrame.js","webpack:///./lib/components/Widgets.js","webpack:///./lib/index.js","webpack:///./~/asap/browser-asap.js","webpack:///./~/asap/browser-raw.js","webpack:///./~/disposables/modules/CompositeDisposable.js","webpack:///./~/disposables/modules/Disposable.js","webpack:///./~/disposables/modules/SerialDisposable.js","webpack:///./~/disposables/modules/index.js","webpack:///./~/dnd-core/lib/DragDropManager.js","webpack:///./~/dnd-core/lib/DragDropMonitor.js","webpack:///./~/dnd-core/lib/DragSource.js","webpack:///./~/dnd-core/lib/DropTarget.js","webpack:///./~/dnd-core/lib/backends/createTestBackend.js","webpack:///./~/dnd-core/lib/index.js","webpack:///./~/dnd-core/lib/reducers/dragOperation.js","webpack:///./~/dnd-core/lib/reducers/index.js","webpack:///./~/dnd-core/lib/reducers/refCount.js","webpack:///./~/dnd-core/lib/reducers/stateId.js","webpack:///./~/dnd-core/lib/utils/getNextUniqueId.js","webpack:///./~/dnd-core/~/lodash/_Hash.js","webpack:///./~/dnd-core/~/lodash/_MapCache.js","webpack:///./~/dnd-core/~/lodash/_Set.js","webpack:///./~/dnd-core/~/lodash/_apply.js","webpack:///./~/dnd-core/~/lodash/_arrayFilter.js","webpack:///./~/dnd-core/~/lodash/_arrayPush.js","webpack:///./~/dnd-core/~/lodash/_assocDelete.js","webpack:///./~/dnd-core/~/lodash/_assocGet.js","webpack:///./~/dnd-core/~/lodash/_assocHas.js","webpack:///./~/dnd-core/~/lodash/_assocSet.js","webpack:///./~/dnd-core/~/lodash/_baseIndexOf.js","webpack:///./~/dnd-core/~/lodash/_baseIntersection.js","webpack:///./~/dnd-core/~/lodash/_baseProperty.js","webpack:///./~/dnd-core/~/lodash/_baseUniq.js","webpack:///./~/dnd-core/~/lodash/_baseXor.js","webpack:///./~/dnd-core/~/lodash/_cachePush.js","webpack:///./~/dnd-core/~/lodash/_castArrayLikeObject.js","webpack:///./~/dnd-core/~/lodash/_checkGlobal.js","webpack:///./~/dnd-core/~/lodash/_createSet.js","webpack:///./~/dnd-core/~/lodash/_getLength.js","webpack:///./~/dnd-core/~/lodash/_hashDelete.js","webpack:///./~/dnd-core/~/lodash/_hashGet.js","webpack:///./~/dnd-core/~/lodash/_hashSet.js","webpack:///./~/dnd-core/~/lodash/_indexOfNaN.js","webpack:///./~/dnd-core/~/lodash/_isHostObject.js","webpack:///./~/dnd-core/~/lodash/_mapClear.js","webpack:///./~/dnd-core/~/lodash/_mapDelete.js","webpack:///./~/dnd-core/~/lodash/_mapGet.js","webpack:///./~/dnd-core/~/lodash/_mapHas.js","webpack:///./~/dnd-core/~/lodash/_mapSet.js","webpack:///./~/dnd-core/~/lodash/_setToArray.js","webpack:///./~/dnd-core/~/lodash/_toSource.js","webpack:///./~/dnd-core/~/lodash/eq.js","webpack:///./~/dnd-core/~/lodash/intersection.js","webpack:///./~/dnd-core/~/lodash/isArrayLike.js","webpack:///./~/dnd-core/~/lodash/isLength.js","webpack:///./~/dnd-core/~/lodash/isNative.js","webpack:///./~/dnd-core/~/lodash/isSymbol.js","webpack:///./~/dnd-core/~/lodash/toInteger.js","webpack:///./~/dnd-core/~/lodash/toNumber.js","webpack:///./~/dnd-core/~/lodash/without.js","webpack:///./~/dnd-core/~/lodash/xor.js","webpack:///./~/fbjs/lib/invariant.js","webpack:///./~/fbjs/lib/keyOf.js","webpack:///./~/object-assign/index.js","webpack:///./~/react-dnd-html5-backend/lib/EnterLeaveCounter.js","webpack:///./~/react-dnd-html5-backend/lib/HTML5Backend.js","webpack:///./~/react-dnd-html5-backend/lib/MonotonicInterpolant.js","webpack:///./~/react-dnd-html5-backend/lib/NativeDragSources.js","webpack:///./~/react-dnd-html5-backend/lib/OffsetUtils.js","webpack:///./~/react-dnd-html5-backend/lib/getEmptyImage.js","webpack:///./~/react-dnd-html5-backend/lib/index.js","webpack:///./~/react-dnd-html5-backend/lib/shallowEqual.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_Hash.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_Reflect.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_Set.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_arrayMap.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_arrayPush.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_assignInDefaults.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_assignValue.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_assocDelete.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_assocGet.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_assocHas.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_assocSet.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_baseDifference.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_baseFlatten.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_baseIndexOf.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_baseKeysIn.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_baseProperty.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_baseTimes.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_baseUnary.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_baseUniq.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_cachePush.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_checkGlobal.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_copyObject.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_createAssigner.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_createSet.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_getLength.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_hashDelete.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_hashGet.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_hashSet.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_indexKeys.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_indexOfNaN.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_isFlattenable.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_isHostObject.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_isIterateeCall.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_isPrototype.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_iteratorToArray.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_mapClear.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_mapDelete.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_mapGet.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_mapHas.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_mapSet.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_setToArray.js","webpack:///./~/react-dnd-html5-backend/~/lodash/_toSource.js","webpack:///./~/react-dnd-html5-backend/~/lodash/assignInWith.js","webpack:///./~/react-dnd-html5-backend/~/lodash/defaults.js","webpack:///./~/react-dnd-html5-backend/~/lodash/isNative.js","webpack:///./~/react-dnd-html5-backend/~/lodash/isString.js","webpack:///./~/react-dnd-html5-backend/~/lodash/isSymbol.js","webpack:///./~/react-dnd-html5-backend/~/lodash/keysIn.js","webpack:///./~/react-dnd-html5-backend/~/lodash/memoize.js","webpack:///./~/react-dnd-html5-backend/~/lodash/noop.js","webpack:///./~/react-dnd-html5-backend/~/lodash/toInteger.js","webpack:///./~/react-dnd-html5-backend/~/lodash/toNumber.js","webpack:///./~/react-dnd-html5-backend/~/lodash/union.js","webpack:///./~/react-dnd-html5-backend/~/lodash/without.js","webpack:///./~/react-dnd/lib/DragDropContext.js","webpack:///./~/react-dnd/lib/DragLayer.js","webpack:///./~/react-dnd/lib/DragSource.js","webpack:///./~/react-dnd/lib/DropTarget.js","webpack:///./~/react-dnd/lib/createSourceConnector.js","webpack:///./~/react-dnd/lib/createSourceFactory.js","webpack:///./~/react-dnd/lib/createSourceMonitor.js","webpack:///./~/react-dnd/lib/createTargetConnector.js","webpack:///./~/react-dnd/lib/createTargetFactory.js","webpack:///./~/react-dnd/lib/createTargetMonitor.js","webpack:///./~/react-dnd/lib/registerSource.js","webpack:///./~/react-dnd/lib/registerTarget.js","webpack:///./~/react-dnd/lib/utils/cloneWithRef.js","webpack:///./~/react-dnd/~/lodash/_getPrototype.js","webpack:///./~/react-dnd/~/lodash/_isHostObject.js","webpack:///./~/react-dnd/~/lodash/isArray.js","webpack:///./~/react-dnd/~/lodash/isObjectLike.js","webpack:///./~/react/lib/update.js","webpack:///./~/redux/lib/createStore.js","webpack:///./~/redux/~/lodash/_getPrototype.js","webpack:///./~/redux/~/lodash/_isHostObject.js","webpack:///./~/redux/~/lodash/isObjectLike.js","webpack:///./~/redux/~/lodash/isPlainObject.js","webpack:///external \"react-dom\""],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_2__","__WEBPACK_EXTERNAL_MODULE_225__","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","invariant","condition","format","a","b","d","e","f","error","undefined","Error","args","argIndex","replace","name","framesToPop","isKeyable","value","type","isPlainObject","isObjectLike","objectToString","objectTag","isHostObject","proto","getPrototype","Ctor","hasOwnProperty","constructor","funcToString","objectCtorString","objectProto","Object","prototype","Function","toString","getNative","Map","_interopRequireDefault","obj","__esModule","default","beginDrag","sourceIds","_ref","arguments","length","_ref$publishSource","publishSource","_ref$clientOffset","clientOffset","getSourceClientOffset","_invariant2","_lodashIsArray2","monitor","getMonitor","registry","getRegistry","isDragging","i","getSource","sourceId","canDragSource","sourceClientOffset","source","item","_lodashIsObject2","pinSource","itemType","getSourceType","BEGIN_DRAG","isSourcePublic","publishDragSource","manager","PUBLISH_DRAG_SOURCE","hover","targetIds","_ref2","_ref2$clientOffset","slice","didDrop","targetId","lastIndexOf","target","getTarget","draggedItemType","getItemType","targetType","getTargetType","_utilsMatchesType2","splice","HOVER","drop","_this","getTargetIds","filter","canDropOnTarget","reverse","forEach","index","dropResult","getDropResult","store","dispatch","DROP","endDrag","getSourceId","unpinSource","END_DRAG","_utilsMatchesType","_invariant","_lodashIsArray","_lodashIsObject","addSource","ADD_SOURCE","addTarget","ADD_TARGET","removeSource","REMOVE_SOURCE","removeTarget","REMOVE_TARGET","assocIndexOf","array","key","eq","nativeCreate","isArray","Array","isObject","other","isArrayLikeObject","isArrayLike","rest","func","start","TypeError","FUNC_ERROR_TEXT","nativeMax","toInteger","otherArgs","apply","Math","max","checkDecoratorArguments","functionName","signature","_defineProperty","defineProperty","enumerable","configurable","writable","addWidget","layout","rowIndex","columnIndex","widgetName","_update2","rows","columns","widgets","$push","removeWidget","widgetIndex","$splice","moveWidget","initialLocation","destination","removedLayout","movedLayout","sortWidget","_update","isDisposable","Boolean","dispose","SetCache","values","__data__","MapCache","push","cachePush","arrayIncludes","baseIndexOf","arrayIncludesWith","comparator","arrayMap","iteratee","result","cacheHas","cache","map","data","hash","string","HASH_UNDEFINED","has","object","isNative","isFunction","tag","funcTag","genTag","FILE","URL","TEXT","checkGlobal","objectTypes","function","freeExports","nodeType","freeModule","freeGlobal","global","freeSelf","self","freeWindow","window","thisGlobal","_interopRequire","_DragDropContext","DragDropContext","_DragLayer","DragLayer","_DragSource","DragSource","_DropTarget","DropTarget","shallowEqual","objA","objB","keysA","keys","keysB","hasOwn","valA","valB","WIDGET","_classCallCheck","instance","Constructor","_typeof","Symbol","validateSourceContract","canDrag","validateTargetContract","canDrop","validateType","allowArray","t","getNextHandlerId","role","_utilsGetNextUniqueId2","HandlerRoles","SOURCE","TARGET","parseRoleFromHandlerId","handlerId","_utilsGetNextUniqueId","_actionsRegistry","_asap","_asap2","HandlerRegistry","types","handlers","pinnedSourceId","pinnedSource","addHandler","handler","containsHandler","some","includePinned","isSourceId","isPinned","isTargetId","_this2","_this3","dirtyHandlerIds","state","action","dragOperation","NONE","_actionsDragDrop","ALL","prevTargetIds","_lodashXor2","didChange","prevInnermostTargetId","innermostTargetId","areDirty","handlerIds","_lodashIntersection2","_lodashXor","_lodashIntersection","areOffsetsEqual","offsetA","offsetB","x","y","dragOffset","initialState","initialSourceClientOffset","initialClientOffset","_extends","getDifferenceFromInitialOffset","assign","matchesType","baseDifference","includes","isCommon","valuesLength","baseUnary","LARGE_ARRAY_SIZE","outer","computed","valuesIndex","hashHas","noop","_lodashMemoize","_lodashMemoize2","isFirefox","test","navigator","userAgent","isSafari","safari","clear","entry","set","mapClear","mapDelete","mapGet","mapHas","mapSet","get","thisArg","isIndex","reIsUint","MAX_SAFE_INTEGER","isArguments","propertyIsEnumerable","argsTag","isLength","getLength","areOptionsEqual","nextOptions","currentOptions","_utilsShallowEqual2","_utilsShallowEqual","_inherits","subClass","superClass","create","setPrototypeOf","__proto__","decorateHandler","DecoratedComponent","createHandler","createMonitor","createConnector","registerHandler","containerDisplayName","getType","collect","options","_options$arePropsEqual","arePropsEqual","_utilsShallowEqualScalar2","displayName","_Component","DragDropContainer","props","context","handleChange","bind","handleChildRef","dragDropManager","handlerMonitor","handlerConnector","getBackend","disposable","_disposables","SerialDisposable","receiveProps","getCurrentState","getHandlerId","getDecoratedComponentInstance","decoratedComponentInstance","shouldComponentUpdate","nextProps","nextState","_createClass","_react","PropTypes","isRequired","componentDidMount","isCurrentlyMounted","currentType","componentWillReceiveProps","componentWillUnmount","receiveType","_registerHandler","unregister","receiveHandlerId","globalMonitor","unsubscribe","subscribeToStateChange","setDisposable","CompositeDisposable","Disposable","setState","component","receiveComponent","hooks","render","_react2","createElement","ref","Component","defineProperties","descriptor","protoProps","staticProps","_utilsShallowEqualScalar","_lodashIsPlainObject","isValidType","every","shallowEqualScalar","throwIfCompositeComponentElement","element","wrapHookToRecognizeElement","hook","elementOrNode","isValidElement","node","_utilsCloneWithRef2","wrapConnectorHooks","wrappedHooks","wrappedHook","_utilsCloneWithRef","webpackPolyfill","deprecate","paths","children","AddWidget","text","onClick","className","propTypes","defaultProps","_possibleConstructorReturn","ReferenceError","_dec","_class","_reactDnd","_ItemTypes","_AddWidget","_AddWidget2","_util","columnTarget","onMove","getItem","Column","connect","connectDropTarget","dropTarget","isOver","getPrototypeOf","_props","editable","onAdd","editableColumnClass","droppableColumnClass","addWidgetComponentText","addWidgetComponent","classes","isActive","addWidgetComponentToUse","number","bool","_reactDndHtml5Backend","_reactDndHtml5Backend2","_LayoutRenderer","_LayoutRenderer2","Dashboard","rowClass","frameComponent","onRemove","DefaultFrame","title","_Row","_Row2","LayoutRenderer","row","Row","items","column","_Column2","_Widgets2","widgetTypes","_Column","_Widgets","_dec2","_reactDom","_DefaultFrame","_DefaultFrame2","boxSource","cardTarget","dragIndex","hoverIndex","hoverBoundingRect","findDOMNode","getBoundingClientRect","hoverMiddleY","bottom","top","getClientOffset","hoverClientY","newLayout","WidgetFrame","connectDragSource","dragSource","_Object$getPrototypeO","_temp","_ret","_len","_key","concat","remove","_this$props","selected","opacity","style","_WidgetFrame","_WidgetFrame2","Widgets","createdWidgets","widget","_Dashboard","throwFirstError","pendingErrors","shift","asap","task","rawTask","freeTasks","pop","RawTask","rawAsap","requestErrorThrow","makeRequestCallFromTimer","onerror","queue","requestFlush","flushing","flush","currentIndex","capacity","scan","newLength","makeRequestCallFromMutationObserver","callback","toggle","observer","BrowserMutationObserver","document","createTextNode","observe","characterData","handleTimer","clearTimeout","timeoutHandle","clearInterval","intervalHandle","setTimeout","setInterval","MutationObserver","WebKitMutationObserver","_interopRequireWildcard","_isDisposable","_isDisposable2","disposables","isDisposed","add","indexOf","len","currentDisposables","current","getDisposable","previous","_isDisposable3","_Disposable2","_Disposable3","_CompositeDisposable2","_CompositeDisposable3","_SerialDisposable2","_SerialDisposable3","newObj","_reduxLibCreateStore","_reduxLibCreateStore2","_reducers","_reducers2","dragDropActions","_DragDropMonitor","_DragDropMonitor2","_HandlerRegistry","DragDropManager","createBackend","backend","subscribe","handleRefCountChange","shouldSetUp","getState","refCount","isSetUp","setup","teardown","getActions","bindActionCreator","actionCreator","reduce","boundActions","_HandlerRegistry2","_reducersDragOffset","_reducersDirtyHandlerIds","DragDropMonitor","listener","prevStateId","stateId","currentStateId","canSkipListener","subscribeToOffsetChange","previousState","isDraggingSource","sourceType","isOverTarget","_ref2$shallow","shallow","getInitialClientOffset","getInitialSourceClientOffset","handle","TestBackend","_lodashNoop","_lodashNoop2","actions","didCallSetup","didCallTeardown","connectDragPreview","simulateBeginDrag","simulatePublishDragSource","simulateHover","simulateDrop","simulateEndDrag","_DragDropManager","_backendsCreateTestBackend","createTestBackend","_lodashWithout2","_lodashWithout","_dragOffset","_dragOffset2","_dragOperation","_dragOperation2","_refCount","_refCount2","_dirtyHandlerIds","_dirtyHandlerIds2","_stateId","_stateId2","getNextUniqueId","nextUniqueId","Hash","Set","arrayFilter","predicate","resIndex","arrayPush","offset","assocDelete","lastIndex","arrayProto","assocGet","assocHas","assocSet","fromIndex","indexOfNaN","baseIntersection","arrays","othLength","othIndex","caches","maxLength","Infinity","nativeMin","seen","min","baseProperty","baseUniq","createSet","setToArray","seenIndex","baseXor","castArrayLikeObject","size","hashDelete","hashGet","hashSet","fromRight","toSource","intersection","mapped","pattern","reIsNative","reIsHostCtor","reRegExpChar","RegExp","isSymbol","symbolTag","toNumber","INFINITY","sign","MAX_INTEGER","remainder","NAN","valueOf","reTrim","isBinary","reIsBinary","reIsOctal","freeParseInt","reIsBadHex","parseInt","without","xor","keyOf","oneKeyObj","toObject","val","propIsEnumerable","from","symbols","to","s","getOwnPropertySymbols","_lodashUnion","_lodashUnion2","EnterLeaveCounter","entered","enter","enteringNode","previousLength","documentElement","contains","leave","leavingNode","reset","_lodashDefaults","_lodashDefaults2","_shallowEqual","_shallowEqual2","_EnterLeaveCounter","_EnterLeaveCounter2","_BrowserDetector","_OffsetUtils","_NativeDragSources","_NativeTypes","NativeTypes","HTML5Backend","sourcePreviewNodes","sourcePreviewNodeOptions","sourceNodes","sourceNodeOptions","enterLeaveCounter","handleTopDragStart","handleTopDragStartCapture","handleTopDragEndCapture","handleTopDragEnter","handleTopDragEnterCapture","handleTopDragLeaveCapture","handleTopDragOver","handleTopDragOverCapture","handleTopDrop","handleTopDropCapture","handleSelectStart","endDragIfSourceWasRemovedFromDOM","endDragNativeItem","addEventListeners","removeEventListeners","clearCurrentDragSourceNode","addEventListener","removeEventListener","handleDragStart","setAttribute","handleDragEnter","handleDragOver","handleDrop","getCurrentSourceNodeOptions","dropEffect","getCurrentDropEffect","isDraggingNativeItem","getCurrentSourcePreviewNodeOptions","anchorX","anchorY","captureDraggingState","getNodeClientOffset","beginDragNativeItem","SourceType","createNativeDragSource","currentNativeSource","currentNativeHandle","currentDragSourceNode","body","setCurrentDragSourceNode","currentDragSourceNodeOffset","currentDragSourceNodeOffsetChanged","checkIfCurrentDragSourceRectChanged","dragStartSourceIds","unshift","_this4","getEventClientOffset","dataTransfer","nativeType","matchNativeItemType","setDragImage","sourceNode","dragPreview","_getCurrentSourcePreviewNodeOptions","anchorPoint","dragPreviewOffset","getDragPreviewOffset","setData","err","_getCurrentSourcePreviewNodeOptions2","hasAttribute","preventDefault","dragEnterTargetIds","isFirstEnter","_this5","dragOverTargetIds","_this6","isLastLeave","dropTargetIds","mutateItemByReadingDataTransfer","dragDrop","tagName","isContentEditable","MonotonicInterpolant","xs","ys","indexes","sort","dys","dxs","ms","dx","dy","c1s","_m","mNext","dxNext","common","c2s","c3s","c1","invDx","interpolate","low","high","mid","floor","xHere","diff","diffSq","getDataFromDataTransfer","typesToTry","defaultValue","resultSoFar","typeToTry","getData","_nativeTypesConfig$type","nativeTypesConfig","exposeProperty","matchesTypes","NativeDragSource","console","warn","dataTransferTypes","nativeItemType","_nativeTypesConfig","files","split","el","ELEMENT_NODE","parentElement","_el$getBoundingClientRect","left","clientX","clientY","isImage","nodeName","dragPreviewNode","dragPreviewNodeOffsetFromClient","offsetFromDragPreview","sourceWidth","offsetWidth","sourceHeight","offsetHeight","dragPreviewWidth","width","dragPreviewHeight","height","devicePixelRatio","interpolantX","_MonotonicInterpolant2","interpolantY","_MonotonicInterpolant","getEmptyImage","emptyImage","Image","src","createHTML5Backend","_HTML5Backend2","_HTML5Backend","_getEmptyImage","_getEmptyImage2","Reflect","assignInDefaults","objValue","srcValue","assignValue","baseFlatten","depth","isStrict","isFlattenable","baseKeysIn","iteratorToArray","enumerate","baseTimes","n","copyObject","customizer","newValue","createAssigner","assigner","sources","guard","isIterateeCall","indexKeys","isString","String","isPrototype","iterator","next","done","keysIn","assignInWith","srcIndex","defaults","stringTag","isProto","propsLength","skipIndexes","memoize","resolver","memoized","Cache","union","backendOrModule","_utilsCheckDecoratorArguments2","_slice","childContext","_dndCore","DragDropContextContainer","refs","child","getManager","getChildContext","_utilsCheckDecoratorArguments","_lodashIsPlainObject2","DragLayerContainer","unsubscribeFromOffsetChange","unsubscribeFromStateChange","spec","_utilsIsValidType2","createSource","_createSourceFactory2","_decorateHandler2","connectBackend","_registerSource2","_createSourceMonitor2","_createSourceConnector2","_decorateHandler","_registerSource","_createSourceFactory","_createSourceMonitor","_createSourceConnector","_utilsIsValidType","createTarget","_createTargetFactory2","_registerTarget2","_createTargetMonitor2","_createTargetConnector2","_registerTarget","_createTargetFactory","_createTargetMonitor","_createTargetConnector","createSourceConnector","reconnectDragSource","disconnectCurrentDragSource","currentHandlerId","currentDragSourceOptions","reconnectDragPreview","disconnectCurrentDragPreview","currentDragPreviewNode","currentDragPreviewOptions","_wrapConnectorHooks2","_areOptionsEqual2","_wrapConnectorHooks","_areOptionsEqual","createSourceFactory","ALLOWED_SPEC_METHODS","join","REQUIRED_SPEC_METHODS","Source","createSourceMonitor","SourceMonitor","isCallingCanDrag","isCallingIsDragging","internalMonitor","createTargetConnector","reconnectDropTarget","disconnectCurrentDropTarget","currentDropTargetNode","currentDropTargetOptions","createTargetFactory","Target","receiveMonitor","createTargetMonitor","TargetMonitor","isCallingCanDrop","registerSource","unregisterSource","registerTarget","unregisterTarget","cloneWithRef","newRef","previousRef","cloneElement","nativeGetPrototype","shallowCopy","_assign","invariantArrayCase","command","specValue","update","COMMAND_SET","nextValue","COMMAND_MERGE","mergeObj","COMMAND_PUSH","COMMAND_UNSHIFT","COMMAND_SPLICE","COMMAND_APPLY","k","ALL_COMMANDS_SET","$unshift","$set","$merge","$apply","ALL_COMMANDS_LIST","createStore","reducer","enhancer","ensureCanMutateNextListeners","nextListeners","currentListeners","currentState","isSubscribed","_isPlainObject2","isDispatching","currentReducer","listeners","replaceReducer","nextReducer","ActionTypes","INIT","_isPlainObject"],"mappings":"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","file":"lib.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"dazzle\", [\"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"dazzle\"] = factory(require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"dazzle\"] = factory(root[\"react\"], root[\"react-dom\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_225__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"dazzle\", [\"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"dazzle\"] = factory(require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"dazzle\"] = factory(root[\"react\"], root[\"react-dom\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_225__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(77);\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-2015, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t */\n\t\n\t'use strict';\n\t\n\t/**\n\t * Use invariant() to assert state which your program assumes to be true.\n\t *\n\t * Provide sprintf-style format (only %s is supported) and arguments\n\t * to provide information about what broke and what you were\n\t * expecting.\n\t *\n\t * The invariant message will be stripped in production, but the invariant\n\t * will remain to ensure logic does not differ in production.\n\t */\n\t\n\tvar invariant = function(condition, format, a, b, c, d, e, f) {\n\t if (false) {\n\t if (format === undefined) {\n\t throw new Error('invariant requires an error message argument');\n\t }\n\t }\n\t\n\t if (!condition) {\n\t var error;\n\t if (format === undefined) {\n\t error = new Error(\n\t 'Minified exception occurred; use the non-minified dev environment ' +\n\t 'for the full error message and additional helpful warnings.'\n\t );\n\t } else {\n\t var args = [a, b, c, d, e, f];\n\t var argIndex = 0;\n\t error = new Error(\n\t format.replace(/%s/g, function() { return args[argIndex++]; })\n\t );\n\t error.name = 'Invariant Violation';\n\t }\n\t\n\t error.framesToPop = 1; // we don't care about invariant's own frame\n\t throw error;\n\t }\n\t};\n\t\n\tmodule.exports = invariant;\n\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ },\n/* 3 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is suitable for use as unique object key.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n\t */\n\tfunction isKeyable(value) {\n\t var type = typeof value;\n\t return type == 'number' || type == 'boolean' ||\n\t (type == 'string' && value != '__proto__') || value == null;\n\t}\n\t\n\tmodule.exports = isKeyable;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is suitable for use as unique object key.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n\t */\n\tfunction isKeyable(value) {\n\t var type = typeof value;\n\t return type == 'number' || type == 'boolean' ||\n\t (type == 'string' && value != '__proto__') || value == null;\n\t}\n\t\n\tmodule.exports = isKeyable;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getPrototype = __webpack_require__(215),\n\t isHostObject = __webpack_require__(216),\n\t isObjectLike = __webpack_require__(218);\n\t\n\t/** `Object#toString` result references. */\n\tvar objectTag = '[object Object]';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to infer the `Object` constructor. */\n\tvar objectCtorString = funcToString.call(Object);\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is a plain object, that is, an object created by the\n\t * `Object` constructor or one with a `[[Prototype]]` of `null`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.8.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a plain object,\n\t * else `false`.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * }\n\t *\n\t * _.isPlainObject(new Foo);\n\t * // => false\n\t *\n\t * _.isPlainObject([1, 2, 3]);\n\t * // => false\n\t *\n\t * _.isPlainObject({ 'x': 0, 'y': 0 });\n\t * // => true\n\t *\n\t * _.isPlainObject(Object.create(null));\n\t * // => true\n\t */\n\tfunction isPlainObject(value) {\n\t if (!isObjectLike(value) ||\n\t objectToString.call(value) != objectTag || isHostObject(value)) {\n\t return false;\n\t }\n\t var proto = getPrototype(value);\n\t if (proto === null) {\n\t return true;\n\t }\n\t var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n\t return (typeof Ctor == 'function' &&\n\t Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString);\n\t}\n\t\n\tmodule.exports = isPlainObject;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(28),\n\t root = __webpack_require__(48);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar Map = getNative(root, 'Map');\n\t\n\tmodule.exports = Map;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(33),\n\t root = __webpack_require__(34);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar Map = getNative(root, 'Map');\n\t\n\tmodule.exports = Map;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.beginDrag = beginDrag;\n\texports.publishDragSource = publishDragSource;\n\texports.hover = hover;\n\texports.drop = drop;\n\texports.endDrag = endDrag;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _utilsMatchesType = __webpack_require__(44);\n\t\n\tvar _utilsMatchesType2 = _interopRequireDefault(_utilsMatchesType);\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _lodashIsArray = __webpack_require__(12);\n\t\n\tvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\t\n\tvar _lodashIsObject = __webpack_require__(13);\n\t\n\tvar _lodashIsObject2 = _interopRequireDefault(_lodashIsObject);\n\t\n\tvar BEGIN_DRAG = 'dnd-core/BEGIN_DRAG';\n\texports.BEGIN_DRAG = BEGIN_DRAG;\n\tvar PUBLISH_DRAG_SOURCE = 'dnd-core/PUBLISH_DRAG_SOURCE';\n\texports.PUBLISH_DRAG_SOURCE = PUBLISH_DRAG_SOURCE;\n\tvar HOVER = 'dnd-core/HOVER';\n\texports.HOVER = HOVER;\n\tvar DROP = 'dnd-core/DROP';\n\texports.DROP = DROP;\n\tvar END_DRAG = 'dnd-core/END_DRAG';\n\t\n\texports.END_DRAG = END_DRAG;\n\t\n\tfunction beginDrag(sourceIds) {\n\t var _ref = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\n\t var _ref$publishSource = _ref.publishSource;\n\t var publishSource = _ref$publishSource === undefined ? true : _ref$publishSource;\n\t var _ref$clientOffset = _ref.clientOffset;\n\t var clientOffset = _ref$clientOffset === undefined ? null : _ref$clientOffset;\n\t var getSourceClientOffset = _ref.getSourceClientOffset;\n\t\n\t _invariant2['default'](_lodashIsArray2['default'](sourceIds), 'Expected sourceIds to be an array.');\n\t\n\t var monitor = this.getMonitor();\n\t var registry = this.getRegistry();\n\t _invariant2['default'](!monitor.isDragging(), 'Cannot call beginDrag while dragging.');\n\t\n\t for (var i = 0; i < sourceIds.length; i++) {\n\t _invariant2['default'](registry.getSource(sourceIds[i]), 'Expected sourceIds to be registered.');\n\t }\n\t\n\t var sourceId = null;\n\t for (var i = sourceIds.length - 1; i >= 0; i--) {\n\t if (monitor.canDragSource(sourceIds[i])) {\n\t sourceId = sourceIds[i];\n\t break;\n\t }\n\t }\n\t if (sourceId === null) {\n\t return;\n\t }\n\t\n\t var sourceClientOffset = null;\n\t if (clientOffset) {\n\t _invariant2['default'](typeof getSourceClientOffset === 'function', 'When clientOffset is provided, getSourceClientOffset must be a function.');\n\t sourceClientOffset = getSourceClientOffset(sourceId);\n\t }\n\t\n\t var source = registry.getSource(sourceId);\n\t var item = source.beginDrag(monitor, sourceId);\n\t _invariant2['default'](_lodashIsObject2['default'](item), 'Item must be an object.');\n\t\n\t registry.pinSource(sourceId);\n\t\n\t var itemType = registry.getSourceType(sourceId);\n\t return {\n\t type: BEGIN_DRAG,\n\t itemType: itemType,\n\t item: item,\n\t sourceId: sourceId,\n\t clientOffset: clientOffset,\n\t sourceClientOffset: sourceClientOffset,\n\t isSourcePublic: publishSource\n\t };\n\t}\n\t\n\tfunction publishDragSource(manager) {\n\t var monitor = this.getMonitor();\n\t if (!monitor.isDragging()) {\n\t return;\n\t }\n\t\n\t return {\n\t type: PUBLISH_DRAG_SOURCE\n\t };\n\t}\n\t\n\tfunction hover(targetIds) {\n\t var _ref2 = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\n\t var _ref2$clientOffset = _ref2.clientOffset;\n\t var clientOffset = _ref2$clientOffset === undefined ? null : _ref2$clientOffset;\n\t\n\t _invariant2['default'](_lodashIsArray2['default'](targetIds), 'Expected targetIds to be an array.');\n\t targetIds = targetIds.slice(0);\n\t\n\t var monitor = this.getMonitor();\n\t var registry = this.getRegistry();\n\t _invariant2['default'](monitor.isDragging(), 'Cannot call hover while not dragging.');\n\t _invariant2['default'](!monitor.didDrop(), 'Cannot call hover after drop.');\n\t\n\t // First check invariants.\n\t for (var i = 0; i < targetIds.length; i++) {\n\t var targetId = targetIds[i];\n\t _invariant2['default'](targetIds.lastIndexOf(targetId) === i, 'Expected targetIds to be unique in the passed array.');\n\t\n\t var target = registry.getTarget(targetId);\n\t _invariant2['default'](target, 'Expected targetIds to be registered.');\n\t }\n\t\n\t var draggedItemType = monitor.getItemType();\n\t\n\t // Remove those targetIds that don't match the targetType. This\n\t // fixes shallow isOver which would only be non-shallow because of\n\t // non-matching targets.\n\t for (var i = targetIds.length - 1; i >= 0; i--) {\n\t var targetId = targetIds[i];\n\t var targetType = registry.getTargetType(targetId);\n\t if (!_utilsMatchesType2['default'](targetType, draggedItemType)) {\n\t targetIds.splice(i, 1);\n\t }\n\t }\n\t\n\t // Finally call hover on all matching targets.\n\t for (var i = 0; i < targetIds.length; i++) {\n\t var targetId = targetIds[i];\n\t var target = registry.getTarget(targetId);\n\t target.hover(monitor, targetId);\n\t }\n\t\n\t return {\n\t type: HOVER,\n\t targetIds: targetIds,\n\t clientOffset: clientOffset\n\t };\n\t}\n\t\n\tfunction drop() {\n\t var _this = this;\n\t\n\t var monitor = this.getMonitor();\n\t var registry = this.getRegistry();\n\t _invariant2['default'](monitor.isDragging(), 'Cannot call drop while not dragging.');\n\t _invariant2['default'](!monitor.didDrop(), 'Cannot call drop twice during one drag operation.');\n\t\n\t var targetIds = monitor.getTargetIds().filter(monitor.canDropOnTarget, monitor);\n\t\n\t targetIds.reverse();\n\t targetIds.forEach(function (targetId, index) {\n\t var target = registry.getTarget(targetId);\n\t\n\t var dropResult = target.drop(monitor, targetId);\n\t _invariant2['default'](typeof dropResult === 'undefined' || _lodashIsObject2['default'](dropResult), 'Drop result must either be an object or undefined.');\n\t if (typeof dropResult === 'undefined') {\n\t dropResult = index === 0 ? {} : monitor.getDropResult();\n\t }\n\t\n\t _this.store.dispatch({\n\t type: DROP,\n\t dropResult: dropResult\n\t });\n\t });\n\t}\n\t\n\tfunction endDrag() {\n\t var monitor = this.getMonitor();\n\t var registry = this.getRegistry();\n\t _invariant2['default'](monitor.isDragging(), 'Cannot call endDrag while not dragging.');\n\t\n\t var sourceId = monitor.getSourceId();\n\t var source = registry.getSource(sourceId, true);\n\t source.endDrag(monitor, sourceId);\n\t\n\t registry.unpinSource();\n\t\n\t return {\n\t type: END_DRAG\n\t };\n\t}\n\n/***/ },\n/* 9 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.addSource = addSource;\n\texports.addTarget = addTarget;\n\texports.removeSource = removeSource;\n\texports.removeTarget = removeTarget;\n\tvar ADD_SOURCE = 'dnd-core/ADD_SOURCE';\n\texports.ADD_SOURCE = ADD_SOURCE;\n\tvar ADD_TARGET = 'dnd-core/ADD_TARGET';\n\texports.ADD_TARGET = ADD_TARGET;\n\tvar REMOVE_SOURCE = 'dnd-core/REMOVE_SOURCE';\n\texports.REMOVE_SOURCE = REMOVE_SOURCE;\n\tvar REMOVE_TARGET = 'dnd-core/REMOVE_TARGET';\n\t\n\texports.REMOVE_TARGET = REMOVE_TARGET;\n\t\n\tfunction addSource(sourceId) {\n\t return {\n\t type: ADD_SOURCE,\n\t sourceId: sourceId\n\t };\n\t}\n\t\n\tfunction addTarget(targetId) {\n\t return {\n\t type: ADD_TARGET,\n\t targetId: targetId\n\t };\n\t}\n\t\n\tfunction removeSource(sourceId) {\n\t return {\n\t type: REMOVE_SOURCE,\n\t sourceId: sourceId\n\t };\n\t}\n\t\n\tfunction removeTarget(targetId) {\n\t return {\n\t type: REMOVE_TARGET,\n\t targetId: targetId\n\t };\n\t}\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar eq = __webpack_require__(127);\n\t\n\t/**\n\t * Gets the index at which the `key` is found in `array` of key-value pairs.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {*} key The key to search for.\n\t * @returns {number} Returns the index of the matched value, else `-1`.\n\t */\n\tfunction assocIndexOf(array, key) {\n\t var length = array.length;\n\t while (length--) {\n\t if (eq(array[length][0], key)) {\n\t return length;\n\t }\n\t }\n\t return -1;\n\t}\n\t\n\tmodule.exports = assocIndexOf;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(28);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar nativeCreate = getNative(Object, 'create');\n\t\n\tmodule.exports = nativeCreate;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @type {Function}\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(document.body.children);\n\t * // => false\n\t *\n\t * _.isArray('abc');\n\t * // => false\n\t *\n\t * _.isArray(_.noop);\n\t * // => false\n\t */\n\tvar isArray = Array.isArray;\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the\n\t * [language type](http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types)\n\t * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(_.noop);\n\t * // => true\n\t *\n\t * _.isObject(null);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar eq = __webpack_require__(16);\n\t\n\t/**\n\t * Gets the index at which the `key` is found in `array` of key-value pairs.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {*} key The key to search for.\n\t * @returns {number} Returns the index of the matched value, else `-1`.\n\t */\n\tfunction assocIndexOf(array, key) {\n\t var length = array.length;\n\t while (length--) {\n\t if (eq(array[length][0], key)) {\n\t return length;\n\t }\n\t }\n\t return -1;\n\t}\n\t\n\tmodule.exports = assocIndexOf;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(33);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar nativeCreate = getNative(Object, 'create');\n\t\n\tmodule.exports = nativeCreate;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Performs a\n\t * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n\t * comparison between two values to determine if they are equivalent.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t * var other = { 'user': 'fred' };\n\t *\n\t * _.eq(object, object);\n\t * // => true\n\t *\n\t * _.eq(object, other);\n\t * // => false\n\t *\n\t * _.eq('a', 'a');\n\t * // => true\n\t *\n\t * _.eq('a', Object('a'));\n\t * // => false\n\t *\n\t * _.eq(NaN, NaN);\n\t * // => true\n\t */\n\tfunction eq(value, other) {\n\t return value === other || (value !== value && other !== other);\n\t}\n\t\n\tmodule.exports = eq;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(61),\n\t isObjectLike = __webpack_require__(37);\n\t\n\t/**\n\t * This method is like `_.isArrayLike` except that it also checks if `value`\n\t * is an object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an array-like object,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArrayLikeObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArrayLikeObject(document.body.children);\n\t * // => true\n\t *\n\t * _.isArrayLikeObject('abc');\n\t * // => false\n\t *\n\t * _.isArrayLikeObject(_.noop);\n\t * // => false\n\t */\n\tfunction isArrayLikeObject(value) {\n\t return isObjectLike(value) && isArrayLike(value);\n\t}\n\t\n\tmodule.exports = isArrayLikeObject;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the\n\t * [language type](http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types)\n\t * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(_.noop);\n\t * // => true\n\t *\n\t * _.isObject(null);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar apply = __webpack_require__(54),\n\t toInteger = __webpack_require__(198);\n\t\n\t/** Used as the `TypeError` message for \"Functions\" methods. */\n\tvar FUNC_ERROR_TEXT = 'Expected a function';\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeMax = Math.max;\n\t\n\t/**\n\t * Creates a function that invokes `func` with the `this` binding of the\n\t * created function and arguments from `start` and beyond provided as\n\t * an array.\n\t *\n\t * **Note:** This method is based on the\n\t * [rest parameter](https://mdn.io/rest_parameters).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Function\n\t * @param {Function} func The function to apply a rest parameter to.\n\t * @param {number} [start=func.length-1] The start position of the rest parameter.\n\t * @returns {Function} Returns the new function.\n\t * @example\n\t *\n\t * var say = _.rest(function(what, names) {\n\t * return what + ' ' + _.initial(names).join(', ') +\n\t * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n\t * });\n\t *\n\t * say('hello', 'fred', 'barney', 'pebbles');\n\t * // => 'hello fred, barney, & pebbles'\n\t */\n\tfunction rest(func, start) {\n\t if (typeof func != 'function') {\n\t throw new TypeError(FUNC_ERROR_TEXT);\n\t }\n\t start = nativeMax(start === undefined ? (func.length - 1) : toInteger(start), 0);\n\t return function() {\n\t var args = arguments,\n\t index = -1,\n\t length = nativeMax(args.length - start, 0),\n\t array = Array(length);\n\t\n\t while (++index < length) {\n\t array[index] = args[start + index];\n\t }\n\t switch (start) {\n\t case 0: return func.call(this, array);\n\t case 1: return func.call(this, args[0], array);\n\t case 2: return func.call(this, args[0], args[1], array);\n\t }\n\t var otherArgs = Array(start + 1);\n\t index = -1;\n\t while (++index < start) {\n\t otherArgs[index] = args[index];\n\t }\n\t otherArgs[start] = array;\n\t return apply(func, this, otherArgs);\n\t };\n\t}\n\t\n\tmodule.exports = rest;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = checkDecoratorArguments;\n\t\n\tfunction checkDecoratorArguments(functionName, signature) {\n\t if (false) {\n\t for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n\t args[_key - 2] = arguments[_key];\n\t }\n\t\n\t for (var i = 0; i < args.length; i++) {\n\t var arg = args[i];\n\t if (arg && arg.prototype && arg.prototype.render) {\n\t console.error( // eslint-disable-line no-console\n\t 'You seem to be applying the arguments in the wrong order. ' + ('It should be ' + functionName + '(' + signature + ')(Component), not the other way around. ') + 'Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#you-seem-to-be-applying-the-arguments-in-the-wrong-order');\n\t return;\n\t }\n\t }\n\t }\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.addWidget = addWidget;\n\texports.removeWidget = removeWidget;\n\texports.moveWidget = moveWidget;\n\texports.sortWidget = sortWidget;\n\t\n\tvar _update = __webpack_require__(219);\n\t\n\tvar _update2 = _interopRequireDefault(_update);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _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; }\n\t\n\t/**\r\n\t * Adds the specified widget to the specified position in the layout.\r\n\t */\n\tfunction addWidget(layout, rowIndex, columnIndex, widgetName) {\n\t return (0, _update2.default)(layout, {\n\t rows: _defineProperty({}, rowIndex, {\n\t columns: _defineProperty({}, columnIndex, {\n\t widgets: {\n\t $push: [{\n\t key: widgetName\n\t }]\n\t }\n\t })\n\t })\n\t });\n\t}\n\t\n\t/**\r\n\t * Removes the widget at a specified index.\r\n\t */\n\tfunction removeWidget(layout, rowIndex, columnIndex, widgetIndex) {\n\t return (0, _update2.default)(layout, {\n\t rows: _defineProperty({}, rowIndex, {\n\t columns: _defineProperty({}, columnIndex, {\n\t widgets: {\n\t $splice: [[widgetIndex, 1]]\n\t }\n\t })\n\t })\n\t });\n\t}\n\t\n\t/**\r\n\t * Moves a widget from column to column.\r\n\t */\n\tfunction moveWidget(layout, initialLocation, destination, widgetName) {\n\t var removedLayout = removeWidget(layout, initialLocation.rowIndex, initialLocation.columnIndex, initialLocation.widgetIndex);\n\t var movedLayout = addWidget(removedLayout, destination.rowIndex, destination.columnIndex, widgetName);\n\t return movedLayout;\n\t}\n\t\n\t/**\r\n\t * Sorts a widget in the same column.\r\n\t */\n\tfunction sortWidget(layout, initialLocation, destination, widgetName) {\n\t return (0, _update2.default)(layout, {\n\t rows: _defineProperty({}, initialLocation.rowIndex, {\n\t columns: _defineProperty({}, initialLocation.columnIndex, {\n\t widgets: {\n\t $splice: [[initialLocation.widgetIndex, 1], [destination.widgetIndex, 0, {\n\t key: widgetName\n\t }]]\n\t }\n\t })\n\t })\n\t });\n\t}\n\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"index.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 22 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = isDisposable;\n\t\n\tfunction isDisposable(obj) {\n\t return Boolean(obj && typeof obj.dispose === 'function');\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 23 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar MapCache = __webpack_require__(96),\n\t cachePush = __webpack_require__(110);\n\t\n\t/**\n\t *\n\t * Creates a set cache object to store unique values.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [values] The values to cache.\n\t */\n\tfunction SetCache(values) {\n\t var index = -1,\n\t length = values ? values.length : 0;\n\t\n\t this.__data__ = new MapCache;\n\t while (++index < length) {\n\t this.push(values[index]);\n\t }\n\t}\n\t\n\t// Add methods to `SetCache`.\n\tSetCache.prototype.push = cachePush;\n\t\n\tmodule.exports = SetCache;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIndexOf = __webpack_require__(105);\n\t\n\t/**\n\t * A specialized version of `_.includes` for arrays without support for\n\t * specifying an index to search from.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {*} target The value to search for.\n\t * @returns {boolean} Returns `true` if `target` is found, else `false`.\n\t */\n\tfunction arrayIncludes(array, value) {\n\t return !!array.length && baseIndexOf(array, value, 0) > -1;\n\t}\n\t\n\tmodule.exports = arrayIncludes;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This function is like `arrayIncludes` except that it accepts a comparator.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {*} target The value to search for.\n\t * @param {Function} comparator The comparator invoked per element.\n\t * @returns {boolean} Returns `true` if `target` is found, else `false`.\n\t */\n\tfunction arrayIncludesWith(array, value, comparator) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (comparator(value, array[index])) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arrayIncludesWith;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.map` for arrays without support for iteratee\n\t * shorthands.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns the new mapped array.\n\t */\n\tfunction arrayMap(array, iteratee) {\n\t var index = -1,\n\t length = array.length,\n\t result = Array(length);\n\t\n\t while (++index < length) {\n\t result[index] = iteratee(array[index], index, array);\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = arrayMap;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isKeyable = __webpack_require__(3);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/**\n\t * Checks if `value` is in `cache`.\n\t *\n\t * @private\n\t * @param {Object} cache The set cache to search.\n\t * @param {*} value The value to search for.\n\t * @returns {number} Returns `true` if `value` is found, else `false`.\n\t */\n\tfunction cacheHas(cache, value) {\n\t var map = cache.__data__;\n\t if (isKeyable(value)) {\n\t var data = map.__data__,\n\t hash = typeof value == 'string' ? data.string : data.hash;\n\t\n\t return hash[value] === HASH_UNDEFINED;\n\t }\n\t return map.has(value);\n\t}\n\t\n\tmodule.exports = cacheHas;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(131);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(129),\n\t isObjectLike = __webpack_require__(49);\n\t\n\t/**\n\t * This method is like `_.isArrayLike` except that it also checks if `value`\n\t * is an object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an array-like object,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArrayLikeObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArrayLikeObject(document.body.children);\n\t * // => true\n\t *\n\t * _.isArrayLikeObject('abc');\n\t * // => false\n\t *\n\t * _.isArrayLikeObject(_.noop);\n\t * // => false\n\t */\n\tfunction isArrayLikeObject(value) {\n\t return isObjectLike(value) && isArrayLike(value);\n\t}\n\t\n\tmodule.exports = isArrayLikeObject;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(13);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]',\n\t genTag = '[object GeneratorFunction]';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in Safari 8 which returns 'object' for typed array and weak map constructors,\n\t // and PhantomJS 1.9 which returns 'function' for `NodeList` instances.\n\t var tag = isObject(value) ? objectToString.call(value) : '';\n\t return tag == funcTag || tag == genTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar apply = __webpack_require__(98),\n\t toInteger = __webpack_require__(133);\n\t\n\t/** Used as the `TypeError` message for \"Functions\" methods. */\n\tvar FUNC_ERROR_TEXT = 'Expected a function';\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeMax = Math.max;\n\t\n\t/**\n\t * Creates a function that invokes `func` with the `this` binding of the\n\t * created function and arguments from `start` and beyond provided as\n\t * an array.\n\t *\n\t * **Note:** This method is based on the\n\t * [rest parameter](https://mdn.io/rest_parameters).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Function\n\t * @param {Function} func The function to apply a rest parameter to.\n\t * @param {number} [start=func.length-1] The start position of the rest parameter.\n\t * @returns {Function} Returns the new function.\n\t * @example\n\t *\n\t * var say = _.rest(function(what, names) {\n\t * return what + ' ' + _.initial(names).join(', ') +\n\t * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n\t * });\n\t *\n\t * say('hello', 'fred', 'barney', 'pebbles');\n\t * // => 'hello fred, barney, & pebbles'\n\t */\n\tfunction rest(func, start) {\n\t if (typeof func != 'function') {\n\t throw new TypeError(FUNC_ERROR_TEXT);\n\t }\n\t start = nativeMax(start === undefined ? (func.length - 1) : toInteger(start), 0);\n\t return function() {\n\t var args = arguments,\n\t index = -1,\n\t length = nativeMax(args.length - start, 0),\n\t array = Array(length);\n\t\n\t while (++index < length) {\n\t array[index] = args[start + index];\n\t }\n\t switch (start) {\n\t case 0: return func.call(this, array);\n\t case 1: return func.call(this, args[0], array);\n\t case 2: return func.call(this, args[0], args[1], array);\n\t }\n\t var otherArgs = Array(start + 1);\n\t index = -1;\n\t while (++index < start) {\n\t otherArgs[index] = args[index];\n\t }\n\t otherArgs[start] = array;\n\t return apply(func, this, otherArgs);\n\t };\n\t}\n\t\n\tmodule.exports = rest;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\tvar FILE = '__NATIVE_FILE__';\n\texports.FILE = FILE;\n\tvar URL = '__NATIVE_URL__';\n\texports.URL = URL;\n\tvar TEXT = '__NATIVE_TEXT__';\n\texports.TEXT = TEXT;\n\n/***/ },\n/* 33 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(192);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(module) {var checkGlobal = __webpack_require__(168);\n\t\n\t/** Used to determine if values are of the language type `Object`. */\n\tvar objectTypes = {\n\t 'function': true,\n\t 'object': true\n\t};\n\t\n\t/** Detect free variable `exports`. */\n\tvar freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType)\n\t ? exports\n\t : undefined;\n\t\n\t/** Detect free variable `module`. */\n\tvar freeModule = (objectTypes[typeof module] && module && !module.nodeType)\n\t ? module\n\t : undefined;\n\t\n\t/** Detect free variable `global` from Node.js. */\n\tvar freeGlobal = checkGlobal(freeExports && freeModule && typeof global == 'object' && global);\n\t\n\t/** Detect free variable `self`. */\n\tvar freeSelf = checkGlobal(objectTypes[typeof self] && self);\n\t\n\t/** Detect free variable `window`. */\n\tvar freeWindow = checkGlobal(objectTypes[typeof window] && window);\n\t\n\t/** Detect `this` as the global object. */\n\tvar thisGlobal = checkGlobal(objectTypes[typeof this] && this);\n\t\n\t/**\n\t * Used as a reference to the global object.\n\t *\n\t * The `this` value is used if it's the global object to avoid Greasemonkey's\n\t * restricted `window` object, otherwise the `window` object is used.\n\t */\n\tvar root = freeGlobal ||\n\t ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) ||\n\t freeSelf || thisGlobal || Function('return this')();\n\t\n\tmodule.exports = root;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(68)(module)))\n\n/***/ },\n/* 35 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @type {Function}\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(document.body.children);\n\t * // => false\n\t *\n\t * _.isArray('abc');\n\t * // => false\n\t *\n\t * _.isArray(_.noop);\n\t * // => false\n\t */\n\tvar isArray = Array.isArray;\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(18);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]',\n\t genTag = '[object GeneratorFunction]';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in Safari 8 which returns 'object' for typed array and weak map constructors,\n\t // and PhantomJS 1.9 which returns 'function' for `NodeList` instances.\n\t var tag = isObject(value) ? objectToString.call(value) : '';\n\t return tag == funcTag || tag == genTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like. A value is object-like if it's not `null`\n\t * and has a `typeof` result of \"object\".\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t * @example\n\t *\n\t * _.isObjectLike({});\n\t * // => true\n\t *\n\t * _.isObjectLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObjectLike(_.noop);\n\t * // => false\n\t *\n\t * _.isObjectLike(null);\n\t * // => false\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequire(obj) { return obj && obj.__esModule ? obj['default'] : obj; }\n\t\n\tvar _DragDropContext = __webpack_require__(202);\n\t\n\texports.DragDropContext = _interopRequire(_DragDropContext);\n\t\n\tvar _DragLayer = __webpack_require__(203);\n\t\n\texports.DragLayer = _interopRequire(_DragLayer);\n\t\n\tvar _DragSource = __webpack_require__(204);\n\t\n\texports.DragSource = _interopRequire(_DragSource);\n\t\n\tvar _DropTarget = __webpack_require__(205);\n\t\n\texports.DropTarget = _interopRequire(_DropTarget);\n\n/***/ },\n/* 39 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = shallowEqual;\n\t\n\tfunction shallowEqual(objA, objB) {\n\t if (objA === objB) {\n\t return true;\n\t }\n\t\n\t var keysA = Object.keys(objA);\n\t var keysB = Object.keys(objB);\n\t\n\t if (keysA.length !== keysB.length) {\n\t return false;\n\t }\n\t\n\t // Test for A's keys different from B.\n\t var hasOwn = Object.prototype.hasOwnProperty;\n\t for (var i = 0; i < keysA.length; i++) {\n\t if (!hasOwn.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n\t return false;\n\t }\n\t\n\t var valA = objA[keysA[i]];\n\t var valB = objB[keysA[i]];\n\t\n\t if (valA !== valB) {\n\t return false;\n\t }\n\t }\n\t\n\t return true;\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 40 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\tvar WIDGET = exports.WIDGET = 'WIDGET';\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"ItemTypes.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 41 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tfunction _typeof(obj) { return obj && obj.constructor === Symbol ? 'symbol' : typeof obj; }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _lodashIsArray = __webpack_require__(12);\n\t\n\tvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\t\n\tvar _utilsGetNextUniqueId = __webpack_require__(94);\n\t\n\tvar _utilsGetNextUniqueId2 = _interopRequireDefault(_utilsGetNextUniqueId);\n\t\n\tvar _actionsRegistry = __webpack_require__(9);\n\t\n\tvar _asap = __webpack_require__(78);\n\t\n\tvar _asap2 = _interopRequireDefault(_asap);\n\t\n\tvar HandlerRoles = {\n\t SOURCE: 'SOURCE',\n\t TARGET: 'TARGET'\n\t};\n\t\n\tfunction validateSourceContract(source) {\n\t _invariant2['default'](typeof source.canDrag === 'function', 'Expected canDrag to be a function.');\n\t _invariant2['default'](typeof source.beginDrag === 'function', 'Expected beginDrag to be a function.');\n\t _invariant2['default'](typeof source.endDrag === 'function', 'Expected endDrag to be a function.');\n\t}\n\t\n\tfunction validateTargetContract(target) {\n\t _invariant2['default'](typeof target.canDrop === 'function', 'Expected canDrop to be a function.');\n\t _invariant2['default'](typeof target.hover === 'function', 'Expected hover to be a function.');\n\t _invariant2['default'](typeof target.drop === 'function', 'Expected beginDrag to be a function.');\n\t}\n\t\n\tfunction validateType(type, allowArray) {\n\t if (allowArray && _lodashIsArray2['default'](type)) {\n\t type.forEach(function (t) {\n\t return validateType(t, false);\n\t });\n\t return;\n\t }\n\t\n\t _invariant2['default'](typeof type === 'string' || (typeof type === 'undefined' ? 'undefined' : _typeof(type)) === 'symbol', allowArray ? 'Type can only be a string, a symbol, or an array of either.' : 'Type can only be a string or a symbol.');\n\t}\n\t\n\tfunction getNextHandlerId(role) {\n\t var id = _utilsGetNextUniqueId2['default']().toString();\n\t switch (role) {\n\t case HandlerRoles.SOURCE:\n\t return 'S' + id;\n\t case HandlerRoles.TARGET:\n\t return 'T' + id;\n\t default:\n\t _invariant2['default'](false, 'Unknown role: ' + role);\n\t }\n\t}\n\t\n\tfunction parseRoleFromHandlerId(handlerId) {\n\t switch (handlerId[0]) {\n\t case 'S':\n\t return HandlerRoles.SOURCE;\n\t case 'T':\n\t return HandlerRoles.TARGET;\n\t default:\n\t _invariant2['default'](false, 'Cannot parse handler ID: ' + handlerId);\n\t }\n\t}\n\t\n\tvar HandlerRegistry = (function () {\n\t function HandlerRegistry(store) {\n\t _classCallCheck(this, HandlerRegistry);\n\t\n\t this.store = store;\n\t\n\t this.types = {};\n\t this.handlers = {};\n\t\n\t this.pinnedSourceId = null;\n\t this.pinnedSource = null;\n\t }\n\t\n\t HandlerRegistry.prototype.addSource = function addSource(type, source) {\n\t validateType(type);\n\t validateSourceContract(source);\n\t\n\t var sourceId = this.addHandler(HandlerRoles.SOURCE, type, source);\n\t this.store.dispatch(_actionsRegistry.addSource(sourceId));\n\t return sourceId;\n\t };\n\t\n\t HandlerRegistry.prototype.addTarget = function addTarget(type, target) {\n\t validateType(type, true);\n\t validateTargetContract(target);\n\t\n\t var targetId = this.addHandler(HandlerRoles.TARGET, type, target);\n\t this.store.dispatch(_actionsRegistry.addTarget(targetId));\n\t return targetId;\n\t };\n\t\n\t HandlerRegistry.prototype.addHandler = function addHandler(role, type, handler) {\n\t var id = getNextHandlerId(role);\n\t this.types[id] = type;\n\t this.handlers[id] = handler;\n\t\n\t return id;\n\t };\n\t\n\t HandlerRegistry.prototype.containsHandler = function containsHandler(handler) {\n\t var _this = this;\n\t\n\t return Object.keys(this.handlers).some(function (key) {\n\t return _this.handlers[key] === handler;\n\t });\n\t };\n\t\n\t HandlerRegistry.prototype.getSource = function getSource(sourceId, includePinned) {\n\t _invariant2['default'](this.isSourceId(sourceId), 'Expected a valid source ID.');\n\t\n\t var isPinned = includePinned && sourceId === this.pinnedSourceId;\n\t var source = isPinned ? this.pinnedSource : this.handlers[sourceId];\n\t\n\t return source;\n\t };\n\t\n\t HandlerRegistry.prototype.getTarget = function getTarget(targetId) {\n\t _invariant2['default'](this.isTargetId(targetId), 'Expected a valid target ID.');\n\t return this.handlers[targetId];\n\t };\n\t\n\t HandlerRegistry.prototype.getSourceType = function getSourceType(sourceId) {\n\t _invariant2['default'](this.isSourceId(sourceId), 'Expected a valid source ID.');\n\t return this.types[sourceId];\n\t };\n\t\n\t HandlerRegistry.prototype.getTargetType = function getTargetType(targetId) {\n\t _invariant2['default'](this.isTargetId(targetId), 'Expected a valid target ID.');\n\t return this.types[targetId];\n\t };\n\t\n\t HandlerRegistry.prototype.isSourceId = function isSourceId(handlerId) {\n\t var role = parseRoleFromHandlerId(handlerId);\n\t return role === HandlerRoles.SOURCE;\n\t };\n\t\n\t HandlerRegistry.prototype.isTargetId = function isTargetId(handlerId) {\n\t var role = parseRoleFromHandlerId(handlerId);\n\t return role === HandlerRoles.TARGET;\n\t };\n\t\n\t HandlerRegistry.prototype.removeSource = function removeSource(sourceId) {\n\t var _this2 = this;\n\t\n\t _invariant2['default'](this.getSource(sourceId), 'Expected an existing source.');\n\t this.store.dispatch(_actionsRegistry.removeSource(sourceId));\n\t\n\t _asap2['default'](function () {\n\t delete _this2.handlers[sourceId];\n\t delete _this2.types[sourceId];\n\t });\n\t };\n\t\n\t HandlerRegistry.prototype.removeTarget = function removeTarget(targetId) {\n\t var _this3 = this;\n\t\n\t _invariant2['default'](this.getTarget(targetId), 'Expected an existing target.');\n\t this.store.dispatch(_actionsRegistry.removeTarget(targetId));\n\t\n\t _asap2['default'](function () {\n\t delete _this3.handlers[targetId];\n\t delete _this3.types[targetId];\n\t });\n\t };\n\t\n\t HandlerRegistry.prototype.pinSource = function pinSource(sourceId) {\n\t var source = this.getSource(sourceId);\n\t _invariant2['default'](source, 'Expected an existing source.');\n\t\n\t this.pinnedSourceId = sourceId;\n\t this.pinnedSource = source;\n\t };\n\t\n\t HandlerRegistry.prototype.unpinSource = function unpinSource() {\n\t _invariant2['default'](this.pinnedSource, 'No source is pinned at the time.');\n\t\n\t this.pinnedSourceId = null;\n\t this.pinnedSource = null;\n\t };\n\t\n\t return HandlerRegistry;\n\t})();\n\t\n\texports['default'] = HandlerRegistry;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = dirtyHandlerIds;\n\texports.areDirty = areDirty;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _lodashXor = __webpack_require__(136);\n\t\n\tvar _lodashXor2 = _interopRequireDefault(_lodashXor);\n\t\n\tvar _lodashIntersection = __webpack_require__(128);\n\t\n\tvar _lodashIntersection2 = _interopRequireDefault(_lodashIntersection);\n\t\n\tvar _actionsDragDrop = __webpack_require__(8);\n\t\n\tvar _actionsRegistry = __webpack_require__(9);\n\t\n\tvar NONE = [];\n\tvar ALL = [];\n\t\n\tfunction dirtyHandlerIds(state, action, dragOperation) {\n\t if (state === undefined) state = NONE;\n\t\n\t switch (action.type) {\n\t case _actionsDragDrop.HOVER:\n\t break;\n\t case _actionsRegistry.ADD_SOURCE:\n\t case _actionsRegistry.ADD_TARGET:\n\t case _actionsRegistry.REMOVE_TARGET:\n\t case _actionsRegistry.REMOVE_SOURCE:\n\t return NONE;\n\t case _actionsDragDrop.BEGIN_DRAG:\n\t case _actionsDragDrop.PUBLISH_DRAG_SOURCE:\n\t case _actionsDragDrop.END_DRAG:\n\t case _actionsDragDrop.DROP:\n\t default:\n\t return ALL;\n\t }\n\t\n\t var targetIds = action.targetIds;\n\t var prevTargetIds = dragOperation.targetIds;\n\t\n\t var dirtyHandlerIds = _lodashXor2['default'](targetIds, prevTargetIds);\n\t\n\t var didChange = false;\n\t if (dirtyHandlerIds.length === 0) {\n\t for (var i = 0; i < targetIds.length; i++) {\n\t if (targetIds[i] !== prevTargetIds[i]) {\n\t didChange = true;\n\t break;\n\t }\n\t }\n\t } else {\n\t didChange = true;\n\t }\n\t\n\t if (!didChange) {\n\t return NONE;\n\t }\n\t\n\t var prevInnermostTargetId = prevTargetIds[prevTargetIds.length - 1];\n\t var innermostTargetId = targetIds[targetIds.length - 1];\n\t\n\t if (prevInnermostTargetId !== innermostTargetId) {\n\t if (prevInnermostTargetId) {\n\t dirtyHandlerIds.push(prevInnermostTargetId);\n\t }\n\t if (innermostTargetId) {\n\t dirtyHandlerIds.push(innermostTargetId);\n\t }\n\t }\n\t\n\t return dirtyHandlerIds;\n\t}\n\t\n\tfunction areDirty(state, handlerIds) {\n\t if (state === NONE) {\n\t return false;\n\t }\n\t\n\t if (state === ALL || typeof handlerIds === 'undefined') {\n\t return true;\n\t }\n\t\n\t return _lodashIntersection2['default'](handlerIds, state).length > 0;\n\t}\n\n/***/ },\n/* 43 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _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; };\n\t\n\texports['default'] = dragOffset;\n\texports.getSourceClientOffset = getSourceClientOffset;\n\texports.getDifferenceFromInitialOffset = getDifferenceFromInitialOffset;\n\t\n\tvar _actionsDragDrop = __webpack_require__(8);\n\t\n\tvar initialState = {\n\t initialSourceClientOffset: null,\n\t initialClientOffset: null,\n\t clientOffset: null\n\t};\n\t\n\tfunction areOffsetsEqual(offsetA, offsetB) {\n\t if (offsetA === offsetB) {\n\t return true;\n\t }\n\t return offsetA && offsetB && offsetA.x === offsetB.x && offsetA.y === offsetB.y;\n\t}\n\t\n\tfunction dragOffset(state, action) {\n\t if (state === undefined) state = initialState;\n\t\n\t switch (action.type) {\n\t case _actionsDragDrop.BEGIN_DRAG:\n\t return {\n\t initialSourceClientOffset: action.sourceClientOffset,\n\t initialClientOffset: action.clientOffset,\n\t clientOffset: action.clientOffset\n\t };\n\t case _actionsDragDrop.HOVER:\n\t if (areOffsetsEqual(state.clientOffset, action.clientOffset)) {\n\t return state;\n\t }\n\t return _extends({}, state, {\n\t clientOffset: action.clientOffset\n\t });\n\t case _actionsDragDrop.END_DRAG:\n\t case _actionsDragDrop.DROP:\n\t return initialState;\n\t default:\n\t return state;\n\t }\n\t}\n\t\n\tfunction getSourceClientOffset(state) {\n\t var clientOffset = state.clientOffset;\n\t var initialClientOffset = state.initialClientOffset;\n\t var initialSourceClientOffset = state.initialSourceClientOffset;\n\t\n\t if (!clientOffset || !initialClientOffset || !initialSourceClientOffset) {\n\t return null;\n\t }\n\t return {\n\t x: clientOffset.x + initialSourceClientOffset.x - initialClientOffset.x,\n\t y: clientOffset.y + initialSourceClientOffset.y - initialClientOffset.y\n\t };\n\t}\n\t\n\tfunction getDifferenceFromInitialOffset(state) {\n\t var clientOffset = state.clientOffset;\n\t var initialClientOffset = state.initialClientOffset;\n\t\n\t if (!clientOffset || !initialClientOffset) {\n\t return null;\n\t }\n\t return {\n\t x: clientOffset.x - initialClientOffset.x,\n\t y: clientOffset.y - initialClientOffset.y\n\t };\n\t}\n\n/***/ },\n/* 44 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = matchesType;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _lodashIsArray = __webpack_require__(12);\n\t\n\tvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\t\n\tfunction matchesType(targetType, draggedItemType) {\n\t if (_lodashIsArray2['default'](targetType)) {\n\t return targetType.some(function (t) {\n\t return t === draggedItemType;\n\t });\n\t } else {\n\t return targetType === draggedItemType;\n\t }\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 45 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar SetCache = __webpack_require__(23),\n\t arrayIncludes = __webpack_require__(24),\n\t arrayIncludesWith = __webpack_require__(25),\n\t arrayMap = __webpack_require__(26),\n\t baseUnary = __webpack_require__(46),\n\t cacheHas = __webpack_require__(27);\n\t\n\t/** Used as the size to enable large array optimizations. */\n\tvar LARGE_ARRAY_SIZE = 200;\n\t\n\t/**\n\t * The base implementation of methods like `_.difference` without support\n\t * for excluding multiple arrays or iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} array The array to inspect.\n\t * @param {Array} values The values to exclude.\n\t * @param {Function} [iteratee] The iteratee invoked per element.\n\t * @param {Function} [comparator] The comparator invoked per element.\n\t * @returns {Array} Returns the new array of filtered values.\n\t */\n\tfunction baseDifference(array, values, iteratee, comparator) {\n\t var index = -1,\n\t includes = arrayIncludes,\n\t isCommon = true,\n\t length = array.length,\n\t result = [],\n\t valuesLength = values.length;\n\t\n\t if (!length) {\n\t return result;\n\t }\n\t if (iteratee) {\n\t values = arrayMap(values, baseUnary(iteratee));\n\t }\n\t if (comparator) {\n\t includes = arrayIncludesWith;\n\t isCommon = false;\n\t }\n\t else if (values.length >= LARGE_ARRAY_SIZE) {\n\t includes = cacheHas;\n\t isCommon = false;\n\t values = new SetCache(values);\n\t }\n\t outer:\n\t while (++index < length) {\n\t var value = array[index],\n\t computed = iteratee ? iteratee(value) : value;\n\t\n\t if (isCommon && computed === computed) {\n\t var valuesIndex = valuesLength;\n\t while (valuesIndex--) {\n\t if (values[valuesIndex] === computed) {\n\t continue outer;\n\t }\n\t }\n\t result.push(value);\n\t }\n\t else if (!includes(values, computed, comparator)) {\n\t result.push(value);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseDifference;\n\n\n/***/ },\n/* 46 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.unary` without support for storing wrapper metadata.\n\t *\n\t * @private\n\t * @param {Function} func The function to cap arguments for.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseUnary(func) {\n\t return function(value) {\n\t return func(value);\n\t };\n\t}\n\t\n\tmodule.exports = baseUnary;\n\n\n/***/ },\n/* 47 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(11);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Checks if a hash value for `key` exists.\n\t *\n\t * @private\n\t * @param {Object} hash The hash to query.\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction hashHas(hash, key) {\n\t return nativeCreate ? hash[key] !== undefined : hasOwnProperty.call(hash, key);\n\t}\n\t\n\tmodule.exports = hashHas;\n\n\n/***/ },\n/* 48 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(module) {var checkGlobal = __webpack_require__(112);\n\t\n\t/** Used to determine if values are of the language type `Object`. */\n\tvar objectTypes = {\n\t 'function': true,\n\t 'object': true\n\t};\n\t\n\t/** Detect free variable `exports`. */\n\tvar freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType)\n\t ? exports\n\t : undefined;\n\t\n\t/** Detect free variable `module`. */\n\tvar freeModule = (objectTypes[typeof module] && module && !module.nodeType)\n\t ? module\n\t : undefined;\n\t\n\t/** Detect free variable `global` from Node.js. */\n\tvar freeGlobal = checkGlobal(freeExports && freeModule && typeof global == 'object' && global);\n\t\n\t/** Detect free variable `self`. */\n\tvar freeSelf = checkGlobal(objectTypes[typeof self] && self);\n\t\n\t/** Detect free variable `window`. */\n\tvar freeWindow = checkGlobal(objectTypes[typeof window] && window);\n\t\n\t/** Detect `this` as the global object. */\n\tvar thisGlobal = checkGlobal(objectTypes[typeof this] && this);\n\t\n\t/**\n\t * Used as a reference to the global object.\n\t *\n\t * The `this` value is used if it's the global object to avoid Greasemonkey's\n\t * restricted `window` object, otherwise the `window` object is used.\n\t */\n\tvar root = freeGlobal ||\n\t ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) ||\n\t freeSelf || thisGlobal || Function('return this')();\n\t\n\tmodule.exports = root;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(68)(module)))\n\n/***/ },\n/* 49 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like. A value is object-like if it's not `null`\n\t * and has a `typeof` result of \"object\".\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t * @example\n\t *\n\t * _.isObjectLike({});\n\t * // => true\n\t *\n\t * _.isObjectLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObjectLike(_.noop);\n\t * // => false\n\t *\n\t * _.isObjectLike(null);\n\t * // => false\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 50 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A no-operation function that returns `undefined` regardless of the\n\t * arguments it receives.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 2.3.0\n\t * @category Util\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.noop(object) === undefined;\n\t * // => true\n\t */\n\tfunction noop() {\n\t // No operation performed.\n\t}\n\t\n\tmodule.exports = noop;\n\n\n/***/ },\n/* 51 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _lodashMemoize = __webpack_require__(196);\n\t\n\tvar _lodashMemoize2 = _interopRequireDefault(_lodashMemoize);\n\t\n\tvar isFirefox = _lodashMemoize2['default'](function () {\n\t return (/firefox/i.test(navigator.userAgent)\n\t );\n\t});\n\t\n\texports.isFirefox = isFirefox;\n\tvar isSafari = _lodashMemoize2['default'](function () {\n\t return Boolean(window.safari);\n\t});\n\texports.isSafari = isSafari;\n\n/***/ },\n/* 52 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar mapClear = __webpack_require__(183),\n\t mapDelete = __webpack_require__(184),\n\t mapGet = __webpack_require__(185),\n\t mapHas = __webpack_require__(186),\n\t mapSet = __webpack_require__(187);\n\t\n\t/**\n\t * Creates a map cache object to store key-value pairs.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [values] The values to cache.\n\t */\n\tfunction MapCache(values) {\n\t var index = -1,\n\t length = values ? values.length : 0;\n\t\n\t this.clear();\n\t while (++index < length) {\n\t var entry = values[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\t\n\t// Add methods to `MapCache`.\n\tMapCache.prototype.clear = mapClear;\n\tMapCache.prototype['delete'] = mapDelete;\n\tMapCache.prototype.get = mapGet;\n\tMapCache.prototype.has = mapHas;\n\tMapCache.prototype.set = mapSet;\n\t\n\tmodule.exports = MapCache;\n\n\n/***/ },\n/* 53 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar MapCache = __webpack_require__(52),\n\t cachePush = __webpack_require__(167);\n\t\n\t/**\n\t *\n\t * Creates a set cache object to store unique values.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [values] The values to cache.\n\t */\n\tfunction SetCache(values) {\n\t var index = -1,\n\t length = values ? values.length : 0;\n\t\n\t this.__data__ = new MapCache;\n\t while (++index < length) {\n\t this.push(values[index]);\n\t }\n\t}\n\t\n\t// Add methods to `SetCache`.\n\tSetCache.prototype.push = cachePush;\n\t\n\tmodule.exports = SetCache;\n\n\n/***/ },\n/* 54 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A faster alternative to `Function#apply`, this function invokes `func`\n\t * with the `this` binding of `thisArg` and the arguments of `args`.\n\t *\n\t * @private\n\t * @param {Function} func The function to invoke.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {Array} args The arguments to invoke `func` with.\n\t * @returns {*} Returns the result of `func`.\n\t */\n\tfunction apply(func, thisArg, args) {\n\t var length = args.length;\n\t switch (length) {\n\t case 0: return func.call(thisArg);\n\t case 1: return func.call(thisArg, args[0]);\n\t case 2: return func.call(thisArg, args[0], args[1]);\n\t case 3: return func.call(thisArg, args[0], args[1], args[2]);\n\t }\n\t return func.apply(thisArg, args);\n\t}\n\t\n\tmodule.exports = apply;\n\n\n/***/ },\n/* 55 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIndexOf = __webpack_require__(161);\n\t\n\t/**\n\t * A specialized version of `_.includes` for arrays without support for\n\t * specifying an index to search from.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {*} target The value to search for.\n\t * @returns {boolean} Returns `true` if `target` is found, else `false`.\n\t */\n\tfunction arrayIncludes(array, value) {\n\t return !!array.length && baseIndexOf(array, value, 0) > -1;\n\t}\n\t\n\tmodule.exports = arrayIncludes;\n\n\n/***/ },\n/* 56 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This function is like `arrayIncludes` except that it accepts a comparator.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {*} target The value to search for.\n\t * @param {Function} comparator The comparator invoked per element.\n\t * @returns {boolean} Returns `true` if `target` is found, else `false`.\n\t */\n\tfunction arrayIncludesWith(array, value, comparator) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (comparator(value, array[index])) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arrayIncludesWith;\n\n\n/***/ },\n/* 57 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isKeyable = __webpack_require__(4);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/**\n\t * Checks if `value` is in `cache`.\n\t *\n\t * @private\n\t * @param {Object} cache The set cache to search.\n\t * @param {*} value The value to search for.\n\t * @returns {number} Returns `true` if `value` is found, else `false`.\n\t */\n\tfunction cacheHas(cache, value) {\n\t var map = cache.__data__;\n\t if (isKeyable(value)) {\n\t var data = map.__data__,\n\t hash = typeof value == 'string' ? data.string : data.hash;\n\t\n\t return hash[value] === HASH_UNDEFINED;\n\t }\n\t return map.has(value);\n\t}\n\t\n\tmodule.exports = cacheHas;\n\n\n/***/ },\n/* 58 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(15);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Checks if a hash value for `key` exists.\n\t *\n\t * @private\n\t * @param {Object} hash The hash to query.\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction hashHas(hash, key) {\n\t return nativeCreate ? hash[key] !== undefined : hasOwnProperty.call(hash, key);\n\t}\n\t\n\tmodule.exports = hashHas;\n\n\n/***/ },\n/* 59 */\n/***/ function(module, exports) {\n\n\t/** Used as references for various `Number` constants. */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 60 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLikeObject = __webpack_require__(17);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\t\n\t/** Built-in value references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is likely an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t // Safari 8.1 incorrectly makes `arguments.callee` enumerable in strict mode.\n\t return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n\t (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 61 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(172),\n\t isFunction = __webpack_require__(36),\n\t isLength = __webpack_require__(62);\n\t\n\t/**\n\t * Checks if `value` is array-like. A value is considered array-like if it's\n\t * not a function and has a `value.length` that's an integer greater than or\n\t * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t * @example\n\t *\n\t * _.isArrayLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArrayLike(document.body.children);\n\t * // => true\n\t *\n\t * _.isArrayLike('abc');\n\t * // => true\n\t *\n\t * _.isArrayLike(_.noop);\n\t * // => false\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value)) && !isFunction(value);\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 62 */\n/***/ function(module, exports) {\n\n\t/** Used as references for various `Number` constants. */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is loosely based on\n\t * [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isLength(3);\n\t * // => true\n\t *\n\t * _.isLength(Number.MIN_VALUE);\n\t * // => false\n\t *\n\t * _.isLength(Infinity);\n\t * // => false\n\t *\n\t * _.isLength('3');\n\t * // => false\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' &&\n\t value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 63 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = areOptionsEqual;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _utilsShallowEqual = __webpack_require__(39);\n\t\n\tvar _utilsShallowEqual2 = _interopRequireDefault(_utilsShallowEqual);\n\t\n\tfunction areOptionsEqual(nextOptions, currentOptions) {\n\t if (currentOptions === nextOptions) {\n\t return true;\n\t }\n\t\n\t return currentOptions !== null && nextOptions !== null && _utilsShallowEqual2['default'](currentOptions, nextOptions);\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 64 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _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; };\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\texports['default'] = decorateHandler;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tfunction _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; }\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _disposables = __webpack_require__(83);\n\t\n\tvar _utilsShallowEqual = __webpack_require__(39);\n\t\n\tvar _utilsShallowEqual2 = _interopRequireDefault(_utilsShallowEqual);\n\t\n\tvar _utilsShallowEqualScalar = __webpack_require__(66);\n\t\n\tvar _utilsShallowEqualScalar2 = _interopRequireDefault(_utilsShallowEqualScalar);\n\t\n\tvar _lodashIsPlainObject = __webpack_require__(5);\n\t\n\tvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tfunction decorateHandler(_ref) {\n\t var DecoratedComponent = _ref.DecoratedComponent;\n\t var createHandler = _ref.createHandler;\n\t var createMonitor = _ref.createMonitor;\n\t var createConnector = _ref.createConnector;\n\t var registerHandler = _ref.registerHandler;\n\t var containerDisplayName = _ref.containerDisplayName;\n\t var getType = _ref.getType;\n\t var collect = _ref.collect;\n\t var options = _ref.options;\n\t var _options$arePropsEqual = options.arePropsEqual;\n\t var arePropsEqual = _options$arePropsEqual === undefined ? _utilsShallowEqualScalar2['default'] : _options$arePropsEqual;\n\t\n\t var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\t\n\t return (function (_Component) {\n\t _inherits(DragDropContainer, _Component);\n\t\n\t DragDropContainer.prototype.getHandlerId = function getHandlerId() {\n\t return this.handlerId;\n\t };\n\t\n\t DragDropContainer.prototype.getDecoratedComponentInstance = function getDecoratedComponentInstance() {\n\t return this.decoratedComponentInstance;\n\t };\n\t\n\t DragDropContainer.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n\t return !arePropsEqual(nextProps, this.props) || !_utilsShallowEqual2['default'](nextState, this.state);\n\t };\n\t\n\t _createClass(DragDropContainer, null, [{\n\t key: 'DecoratedComponent',\n\t value: DecoratedComponent,\n\t enumerable: true\n\t }, {\n\t key: 'displayName',\n\t value: containerDisplayName + '(' + displayName + ')',\n\t enumerable: true\n\t }, {\n\t key: 'contextTypes',\n\t value: {\n\t dragDropManager: _react.PropTypes.object.isRequired\n\t },\n\t enumerable: true\n\t }]);\n\t\n\t function DragDropContainer(props, context) {\n\t _classCallCheck(this, DragDropContainer);\n\t\n\t _Component.call(this, props, context);\n\t this.handleChange = this.handleChange.bind(this);\n\t this.handleChildRef = this.handleChildRef.bind(this);\n\t\n\t _invariant2['default'](typeof this.context.dragDropManager === 'object', 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to wrap the top-level component of your app with DragDropContext. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName);\n\t\n\t this.manager = this.context.dragDropManager;\n\t this.handlerMonitor = createMonitor(this.manager);\n\t this.handlerConnector = createConnector(this.manager.getBackend());\n\t this.handler = createHandler(this.handlerMonitor);\n\t\n\t this.disposable = new _disposables.SerialDisposable();\n\t this.receiveProps(props);\n\t this.state = this.getCurrentState();\n\t this.dispose();\n\t }\n\t\n\t DragDropContainer.prototype.componentDidMount = function componentDidMount() {\n\t this.isCurrentlyMounted = true;\n\t this.disposable = new _disposables.SerialDisposable();\n\t this.currentType = null;\n\t this.receiveProps(this.props);\n\t this.handleChange();\n\t };\n\t\n\t DragDropContainer.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n\t if (!arePropsEqual(nextProps, this.props)) {\n\t this.receiveProps(nextProps);\n\t this.handleChange();\n\t }\n\t };\n\t\n\t DragDropContainer.prototype.componentWillUnmount = function componentWillUnmount() {\n\t this.dispose();\n\t this.isCurrentlyMounted = false;\n\t };\n\t\n\t DragDropContainer.prototype.receiveProps = function receiveProps(props) {\n\t this.handler.receiveProps(props);\n\t this.receiveType(getType(props));\n\t };\n\t\n\t DragDropContainer.prototype.receiveType = function receiveType(type) {\n\t if (type === this.currentType) {\n\t return;\n\t }\n\t\n\t this.currentType = type;\n\t\n\t var _registerHandler = registerHandler(type, this.handler, this.manager);\n\t\n\t var handlerId = _registerHandler.handlerId;\n\t var unregister = _registerHandler.unregister;\n\t\n\t this.handlerId = handlerId;\n\t this.handlerMonitor.receiveHandlerId(handlerId);\n\t this.handlerConnector.receiveHandlerId(handlerId);\n\t\n\t var globalMonitor = this.manager.getMonitor();\n\t var unsubscribe = globalMonitor.subscribeToStateChange(this.handleChange, { handlerIds: [handlerId] });\n\t\n\t this.disposable.setDisposable(new _disposables.CompositeDisposable(new _disposables.Disposable(unsubscribe), new _disposables.Disposable(unregister)));\n\t };\n\t\n\t DragDropContainer.prototype.handleChange = function handleChange() {\n\t if (!this.isCurrentlyMounted) {\n\t return;\n\t }\n\t\n\t var nextState = this.getCurrentState();\n\t if (!_utilsShallowEqual2['default'](nextState, this.state)) {\n\t this.setState(nextState);\n\t }\n\t };\n\t\n\t DragDropContainer.prototype.dispose = function dispose() {\n\t this.disposable.dispose();\n\t this.handlerConnector.receiveHandlerId(null);\n\t };\n\t\n\t DragDropContainer.prototype.handleChildRef = function handleChildRef(component) {\n\t this.decoratedComponentInstance = component;\n\t this.handler.receiveComponent(component);\n\t };\n\t\n\t DragDropContainer.prototype.getCurrentState = function getCurrentState() {\n\t var nextState = collect(this.handlerConnector.hooks, this.handlerMonitor);\n\t\n\t if (false) {\n\t _invariant2['default'](_lodashIsPlainObject2['default'](nextState), 'Expected `collect` specified as the second argument to ' + '%s for %s to return a plain object of props to inject. ' + 'Instead, received %s.', containerDisplayName, displayName, nextState);\n\t }\n\t\n\t return nextState;\n\t };\n\t\n\t DragDropContainer.prototype.render = function render() {\n\t return _react2['default'].createElement(DecoratedComponent, _extends({}, this.props, this.state, {\n\t ref: this.handleChildRef }));\n\t };\n\t\n\t return DragDropContainer;\n\t })(_react.Component);\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 65 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = isValidType;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _lodashIsArray = __webpack_require__(217);\n\t\n\tvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\t\n\tfunction isValidType(type, allowArray) {\n\t return typeof type === 'string' || typeof type === 'symbol' || allowArray && _lodashIsArray2['default'](type) && type.every(function (t) {\n\t return isValidType(t, false);\n\t });\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 66 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = shallowEqualScalar;\n\t\n\tfunction shallowEqualScalar(objA, objB) {\n\t if (objA === objB) {\n\t return true;\n\t }\n\t\n\t if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n\t return false;\n\t }\n\t\n\t var keysA = Object.keys(objA);\n\t var keysB = Object.keys(objB);\n\t\n\t if (keysA.length !== keysB.length) {\n\t return false;\n\t }\n\t\n\t // Test for A's keys different from B.\n\t var hasOwn = Object.prototype.hasOwnProperty;\n\t for (var i = 0; i < keysA.length; i++) {\n\t if (!hasOwn.call(objB, keysA[i])) {\n\t return false;\n\t }\n\t\n\t var valA = objA[keysA[i]];\n\t var valB = objB[keysA[i]];\n\t\n\t if (valA !== valB || typeof valA === 'object' || typeof valB === 'object') {\n\t return false;\n\t }\n\t }\n\t\n\t return true;\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 67 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = wrapConnectorHooks;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _utilsCloneWithRef = __webpack_require__(214);\n\t\n\tvar _utilsCloneWithRef2 = _interopRequireDefault(_utilsCloneWithRef);\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tfunction throwIfCompositeComponentElement(element) {\n\t // Custom components can no longer be wrapped directly in React DnD 2.0\n\t // so that we don't need to depend on findDOMNode() from react-dom.\n\t if (typeof element.type === 'string') {\n\t return;\n\t }\n\t\n\t var displayName = element.type.displayName || element.type.name || 'the component';\n\t\n\t throw new Error('Only native element nodes can now be passed to React DnD connectors. ' + ('You can either wrap ' + displayName + ' into a
, or turn it into a ') + 'drag source or a drop target itself.');\n\t}\n\t\n\tfunction wrapHookToRecognizeElement(hook) {\n\t return function () {\n\t var elementOrNode = arguments.length <= 0 || arguments[0] === undefined ? null : arguments[0];\n\t var options = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];\n\t\n\t // When passed a node, call the hook straight away.\n\t if (!_react.isValidElement(elementOrNode)) {\n\t var node = elementOrNode;\n\t hook(node, options);\n\t return;\n\t }\n\t\n\t // If passed a ReactElement, clone it and attach this function as a ref.\n\t // This helps us achieve a neat API where user doesn't even know that refs\n\t // are being used under the hood.\n\t var element = elementOrNode;\n\t throwIfCompositeComponentElement(element);\n\t\n\t // When no options are passed, use the hook directly\n\t var ref = options ? function (node) {\n\t return hook(node, options);\n\t } : hook;\n\t\n\t return _utilsCloneWithRef2['default'](element, ref);\n\t };\n\t}\n\t\n\tfunction wrapConnectorHooks(hooks) {\n\t var wrappedHooks = {};\n\t\n\t Object.keys(hooks).forEach(function (key) {\n\t var hook = hooks[key];\n\t var wrappedHook = wrapHookToRecognizeElement(hook);\n\t wrappedHooks[key] = function () {\n\t return wrappedHook;\n\t };\n\t });\n\t\n\t return wrappedHooks;\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 68 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(module) {\r\n\t\tif(!module.webpackPolyfill) {\r\n\t\t\tmodule.deprecate = function() {};\r\n\t\t\tmodule.paths = [];\r\n\t\t\t// module.parent = undefined by default\r\n\t\t\tmodule.children = [];\r\n\t\t\tmodule.webpackPolyfill = 1;\r\n\t\t}\r\n\t\treturn module;\r\n\t}\r\n\n\n/***/ },\n/* 69 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\r\n\t * Default AddWidget component.\r\n\t * @param {[type]} {text [description]\r\n\t * @param {[type]} onClick} [description]\r\n\t * @return {[type]} [description]\r\n\t */\n\tvar AddWidget = function AddWidget(_ref) {\n\t var text = _ref.text;\n\t var onClick = _ref.onClick;\n\t\n\t return _react2.default.createElement(\n\t \"div\",\n\t { className: \"add-widget-button\", onClick: onClick },\n\t _react2.default.createElement(\n\t \"a\",\n\t { className: \"add-widget-link\" },\n\t text\n\t )\n\t );\n\t};\n\t\n\tAddWidget.propTypes = {\n\t /**\r\n\t * Should be called when 'add' is clicked\r\n\t */\n\t onClick: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Text that should be displyed in the component\r\n\t */\n\t text: _react.PropTypes.string\n\t};\n\t\n\tAddWidget.defaultProps = {\n\t text: 'Add Widget'\n\t};\n\t\n\texports.default = AddWidget;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"AddWidget.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 70 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _dec, _class;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDnd = __webpack_require__(38);\n\t\n\tvar _ItemTypes = __webpack_require__(40);\n\t\n\tvar _AddWidget = __webpack_require__(69);\n\t\n\tvar _AddWidget2 = _interopRequireDefault(_AddWidget);\n\t\n\tvar _util = __webpack_require__(21);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _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; }\n\t\n\tfunction _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; }\n\t\n\tvar columnTarget = {\n\t drop: function drop(props, monitor) {\n\t var layout = props.layout;\n\t var rowIndex = props.rowIndex;\n\t var columnIndex = props.columnIndex;\n\t var onMove = props.onMove;\n\t\n\t var item = monitor.getItem();\n\t if (item.columnIndex !== columnIndex || item.rowIndex !== rowIndex) {\n\t var movedLayout = (0, _util.moveWidget)(layout, {\n\t rowIndex: item.rowIndex,\n\t columnIndex: item.columnIndex,\n\t widgetIndex: item.widgetIndex\n\t }, {\n\t rowIndex: rowIndex,\n\t columnIndex: columnIndex\n\t }, item.widgetName);\n\t onMove(movedLayout);\n\t }\n\t }\n\t};\n\t\n\t/**\r\n\t * Colum of the dashboard grid. A column holds multiple widgets.\r\n\t */\n\tvar Column = (_dec = (0, _reactDnd.DropTarget)(_ItemTypes.WIDGET, columnTarget, function (connect, monitor) {\n\t return {\n\t connectDropTarget: connect.dropTarget(),\n\t isOver: monitor.isOver(),\n\t canDrop: monitor.canDrop()\n\t };\n\t}), _dec(_class = function (_Component) {\n\t _inherits(Column, _Component);\n\t\n\t function Column() {\n\t _classCallCheck(this, Column);\n\t\n\t return _possibleConstructorReturn(this, Object.getPrototypeOf(Column).apply(this, arguments));\n\t }\n\t\n\t _createClass(Column, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props;\n\t var className = _props.className;\n\t var layout = _props.layout;\n\t var rowIndex = _props.rowIndex;\n\t var columnIndex = _props.columnIndex;\n\t var editable = _props.editable;\n\t var children = _props.children;\n\t var connectDropTarget = _props.connectDropTarget;\n\t var onAdd = _props.onAdd;\n\t var isOver = _props.isOver;\n\t var canDrop = _props.canDrop;\n\t var editableColumnClass = _props.editableColumnClass;\n\t var droppableColumnClass = _props.droppableColumnClass;\n\t var addWidgetComponentText = _props.addWidgetComponentText;\n\t var addWidgetComponent = _props.addWidgetComponent;\n\t\n\t\n\t var classes = className;\n\t classes = editable ? className + ' ' + editableColumnClass : classes;\n\t var isActive = isOver && canDrop;\n\t classes = isActive ? classes + ' ' + droppableColumnClass : classes;\n\t\n\t var addWidgetComponentToUse = null;\n\t if (addWidgetComponent) {\n\t addWidgetComponentToUse = (0, _react.createElement)(addWidgetComponent, { text: addWidgetComponentText, onClick: function onClick() {\n\t onAdd(layout, rowIndex, columnIndex);\n\t } });\n\t } else {\n\t addWidgetComponentToUse = _react2.default.createElement(_AddWidget2.default, { text: addWidgetComponentText, onClick: function onClick() {\n\t onAdd(layout, rowIndex, columnIndex);\n\t } });\n\t }\n\t\n\t return connectDropTarget(_react2.default.createElement(\n\t 'div',\n\t { className: classes },\n\t editable && addWidgetComponentToUse,\n\t children\n\t ));\n\t }\n\t }]);\n\t\n\t return Column;\n\t}(_react.Component)) || _class);\n\t\n\t\n\tColumn.propTypes = {\n\t /**\r\n\t * Children of the column\r\n\t */\n\t children: _react.PropTypes.node,\n\t\n\t /**\r\n\t * CSS class that should be used with the column.\r\n\t */\n\t className: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Function that should be called when user tries to add a widget\r\n\t * to the column.\r\n\t */\n\t onAdd: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Layout of the dashboard.\r\n\t */\n\t layout: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Index of the row that this column resides.\r\n\t */\n\t rowIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Index of this column.\r\n\t */\n\t columnIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Indicates weather dashboard is in editable state\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * Indicates weather a widget is being draged over.\r\n\t */\n\t isOver: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * Indicated a widget can be dropped.\r\n\t */\n\t canDrop: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * Class to be used for columns in editable mode.\r\n\t */\n\t editableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * CSS class to be used for columns when a widget is droppable.\r\n\t */\n\t droppableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Text that should be given to the AddWidget component.\r\n\t */\n\t addWidgetComponentText: _react.PropTypes.string,\n\t\n\t /**\r\n\t * ReactDnd's connectDropTarget.\r\n\t */\n\t connectDropTarget: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Customized AddWidget component.\r\n\t */\n\t addWidgetComponent: _react.PropTypes.func\n\t};\n\t\n\tColumn.defaultProps = {\n\t editableColumnClass: 'editable-column',\n\t droppableColumnClass: 'droppable-column'\n\t};\n\t\n\texports.default = Column;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"Column.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 71 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _dec, _class;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDnd = __webpack_require__(38);\n\t\n\tvar _reactDndHtml5Backend = __webpack_require__(146);\n\t\n\tvar _reactDndHtml5Backend2 = _interopRequireDefault(_reactDndHtml5Backend);\n\t\n\tvar _LayoutRenderer = __webpack_require__(73);\n\t\n\tvar _LayoutRenderer2 = _interopRequireDefault(_LayoutRenderer);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _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; }\n\t\n\tfunction _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; }\n\t\n\t/**\r\n\t * Main dashboard component. This is where all of this starts.\r\n\t */\n\tvar Dashboard = (_dec = (0, _reactDnd.DragDropContext)(_reactDndHtml5Backend2.default), _dec(_class = function (_Component) {\n\t _inherits(Dashboard, _Component);\n\t\n\t function Dashboard() {\n\t _classCallCheck(this, Dashboard);\n\t\n\t return _possibleConstructorReturn(this, Object.getPrototypeOf(Dashboard).apply(this, arguments));\n\t }\n\t\n\t _createClass(Dashboard, [{\n\t key: 'render',\n\t value: function render() {\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement(_LayoutRenderer2.default, this.props)\n\t );\n\t }\n\t }]);\n\t\n\t return Dashboard;\n\t}(_react.Component)) || _class);\n\t\n\t\n\tDashboard.PropTypes = {\n\t /**\r\n\t * The layout of the dashboard.\r\n\t */\n\t layout: _react.PropTypes.object,\n\t\n\t /**\r\n\t * List of widgets that are avilable in the dashboard.\r\n\t */\n\t widgets: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Indicates weather the dashoard is in editable state or not.\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * CSS class name that should be provided to the row. Default is 'row'.\r\n\t */\n\t rowClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Customized widget frame. The dashboard supports a default frame. But if\r\n\t * it doesn't suit your needs or the look and feel is not what you wanted, you\r\n\t * could create your own widget frame and pass it through here. Ever widget Will\r\n\t * use this as the outer container which displays controls like 'remove' button\r\n\t * on edit mode.\r\n\t */\n\t frameComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * A custom component for the `add widget` button.\r\n\t */\n\t addWidgetComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Class to be used for columns in editable mode.\r\n\t */\n\t editableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * CSS class to be used for columns when a widget is droppable.\r\n\t */\n\t droppableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Text that should be displayed in the `AddWidget` component.\r\n\t */\n\t addWidgetComponentText: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Will be called when a widget removed by the user from the dashboard.\r\n\t * Should be handled if the dashbord supports edit functionality.\r\n\t * provides the updated layout object. This layout object with the removed widget\r\n\t * should be given back to the dashboard through the layout prop to re-render the dashboard.\r\n\t */\n\t onRemove: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Will be called when user tries to add a widget into a column.\r\n\t */\n\t onAdd: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Function to be called when a widget is moved by the user.\r\n\t */\n\t onMove: _react.PropTypes.func\n\t};\n\t\n\texports.default = Dashboard;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"Dashboard.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 72 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\r\n\t * Default frame that will be used with the widgets.\r\n\t */\n\tvar DefaultFrame = function DefaultFrame(_ref) {\n\t var children = _ref.children;\n\t var onRemove = _ref.onRemove;\n\t var editable = _ref.editable;\n\t var title = _ref.title;\n\t\n\t return _react2.default.createElement(\n\t \"div\",\n\t { className: \"defaultWidgetFrame\" },\n\t _react2.default.createElement(\n\t \"div\",\n\t { className: \"defaultWidgetFrameHeader\" },\n\t _react2.default.createElement(\n\t \"span\",\n\t { className: \"title\" },\n\t title\n\t ),\n\t editable && _react2.default.createElement(\n\t \"a\",\n\t { className: \"remove\", onClick: function onClick() {\n\t onRemove();\n\t } },\n\t \"Remove\"\n\t )\n\t ),\n\t children\n\t );\n\t};\n\t\n\tDefaultFrame.propTypes = {\n\t /**\r\n\t * Indicates weather the dashboard is in editable mode.\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * Children of the frame.\r\n\t */\n\t children: _react.PropTypes.node,\n\t\n\t /**\r\n\t * Function to call when the widget is removed.\r\n\t */\n\t onRemove: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Title of the widget\r\n\t */\n\t title: _react.PropTypes.string\n\t};\n\t\n\texports.default = DefaultFrame;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"DefaultFrame.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 73 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _Row = __webpack_require__(74);\n\t\n\tvar _Row2 = _interopRequireDefault(_Row);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\r\n\t * Renders the row, column layout based on the layout provided to the dashboard.\r\n\t */\n\tvar LayoutRenderer = function LayoutRenderer(props) {\n\t var layout = props.layout;\n\t var widgets = props.widgets;\n\t var onRemove = props.onRemove;\n\t var editable = props.editable;\n\t var onAdd = props.onAdd;\n\t var frameComponent = props.frameComponent;\n\t var rowClass = props.rowClass;\n\t var onMove = props.onMove;\n\t var editableColumnClass = props.editableColumnClass;\n\t var droppableColumnClass = props.droppableColumnClass;\n\t var addWidgetComponentText = props.addWidgetComponentText;\n\t var addWidgetComponent = props.addWidgetComponent;\n\t\n\t\n\t var rows = layout.rows.map(function (row, rowIndex) {\n\t return _react2.default.createElement(_Row2.default, {\n\t key: rowIndex,\n\t rowClass: rowClass,\n\t columns: row.columns,\n\t widgets: widgets,\n\t onRemove: onRemove,\n\t layout: layout,\n\t rowIndex: rowIndex,\n\t editable: editable,\n\t onAdd: onAdd,\n\t onMove: onMove,\n\t frameComponent: frameComponent,\n\t editableColumnClass: editableColumnClass,\n\t droppableColumnClass: droppableColumnClass,\n\t addWidgetComponentText: addWidgetComponentText,\n\t addWidgetComponent: addWidgetComponent\n\t });\n\t });\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t rows\n\t );\n\t};\n\t\n\tLayoutRenderer.propTypes = {\n\t /**\r\n\t * Layout of the dashboard.\r\n\t */\n\t layout: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Widgets that the dashboard supports.\r\n\t */\n\t widgets: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Indicates weather this dashboard is in editable mode.\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * Function that will be called when user removed a widget.\r\n\t */\n\t onRemove: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Function that will be called user tries to add a widget.\r\n\t */\n\t onAdd: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Frame that should be used as the outer cotnainer of the widget.\r\n\t */\n\t frameComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Class name that should be provided to the row component.\r\n\t */\n\t rowClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Function to be called when a widget is moved by the user.\r\n\t */\n\t onMove: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Class to be used for columns in editable mode.\r\n\t */\n\t editableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * CSS class to be used for columns when a widget is droppable.\r\n\t */\n\t droppableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Customized AddWidget component.\r\n\t */\n\t addWidgetComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Text that should be displayed in the `AddWidget` component.\r\n\t */\n\t addWidgetComponentText: _react.PropTypes.string\n\t};\n\t\n\tLayoutRenderer.defaultProps = {\n\t /**\r\n\t * Default layout.\r\n\t */\n\t layout: {\n\t rows: []\n\t }\n\t};\n\t\n\texports.default = LayoutRenderer;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"LayoutRenderer.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 74 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _Column = __webpack_require__(70);\n\t\n\tvar _Column2 = _interopRequireDefault(_Column);\n\t\n\tvar _Widgets = __webpack_require__(76);\n\t\n\tvar _Widgets2 = _interopRequireDefault(_Widgets);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\r\n\t * Returns a set of columns that belongs to a row.\r\n\t */\n\tfunction Row(props) {\n\t var rowClass = props.rowClass;\n\t var columns = props.columns;\n\t var widgets = props.widgets;\n\t var onRemove = props.onRemove;\n\t var layout = props.layout;\n\t var rowIndex = props.rowIndex;\n\t var editable = props.editable;\n\t var frameComponent = props.frameComponent;\n\t var editableColumnClass = props.editableColumnClass;\n\t var droppableColumnClass = props.droppableColumnClass;\n\t var addWidgetComponentText = props.addWidgetComponentText;\n\t var addWidgetComponent = props.addWidgetComponent;\n\t var onAdd = props.onAdd;\n\t var onMove = props.onMove;\n\t\n\t\n\t var items = columns.map(function (column, index) {\n\t return _react2.default.createElement(\n\t _Column2.default,\n\t {\n\t key: index,\n\t className: column.className,\n\t onAdd: onAdd,\n\t layout: layout,\n\t rowIndex: rowIndex,\n\t columnIndex: index,\n\t editable: editable,\n\t onMove: onMove,\n\t editableColumnClass: editableColumnClass,\n\t droppableColumnClass: droppableColumnClass,\n\t addWidgetComponent: addWidgetComponent,\n\t addWidgetComponentText: addWidgetComponentText\n\t },\n\t _react2.default.createElement(_Widgets2.default, {\n\t key: index,\n\t widgets: column.widgets,\n\t widgetTypes: widgets,\n\t onRemove: onRemove,\n\t layout: layout,\n\t rowIndex: rowIndex,\n\t columnIndex: index,\n\t editable: editable,\n\t frameComponent: frameComponent,\n\t onMove: onMove\n\t })\n\t );\n\t });\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: rowClass },\n\t items\n\t );\n\t}\n\t\n\tRow.propTypes = {\n\t /**\r\n\t * CSS class that should be used to represent a row.\r\n\t */\n\t rowClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Columns of the layout.\r\n\t */\n\t columns: _react.PropTypes.array,\n\t\n\t /**\r\n\t * Widgets that should be used in the dashboard.\r\n\t */\n\t widgets: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Layout of the dashboard.\r\n\t */\n\t layout: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Index of the row where this column is in.\r\n\t */\n\t rowIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Indicates weather the dashboard is in editable mode or not.\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * Custom frame that should be used with the widget.\r\n\t */\n\t frameComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Class to be used for columns in editable mode.\r\n\t */\n\t editableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * CSS class to be used for columns when a widget is droppable.\r\n\t */\n\t droppableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Custom AddWidget component.\r\n\t */\n\t addWidgetComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Text that should be displyed in the AddWidget component.\r\n\t */\n\t addWidgetComponentText: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Method that should be called when a component is added.\r\n\t */\n\t onAdd: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Method that should be called when a component is removed.\r\n\t */\n\t onRemove: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Method that should be called when a widget is moved.\r\n\t */\n\t onMove: _react.PropTypes.func\n\t};\n\t\n\tRow.defaultProps = {\n\t /**\r\n\t * Most CSS grid systems uses 'row' as the class name. Or not ?\r\n\t */\n\t rowClass: 'row'\n\t};\n\t\n\texports.default = Row;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"Row.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 75 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _dec, _dec2, _class;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDom = __webpack_require__(225);\n\t\n\tvar _reactDnd = __webpack_require__(38);\n\t\n\tvar _ItemTypes = __webpack_require__(40);\n\t\n\tvar _util = __webpack_require__(21);\n\t\n\tvar _DefaultFrame = __webpack_require__(72);\n\t\n\tvar _DefaultFrame2 = _interopRequireDefault(_DefaultFrame);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _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; }\n\t\n\tfunction _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; }\n\t\n\tvar boxSource = {\n\t beginDrag: function beginDrag(props) {\n\t return {\n\t widgetName: props.widgetName,\n\t rowIndex: props.rowIndex,\n\t columnIndex: props.columnIndex,\n\t widgetIndex: props.widgetIndex\n\t };\n\t },\n\t canDrag: function canDrag(props) {\n\t return props.editable;\n\t }\n\t};\n\t\n\tvar cardTarget = {\n\t hover: function hover(props, monitor, component) {\n\t var dragIndex = monitor.getItem().widgetIndex;\n\t var hoverIndex = props.widgetIndex;\n\t\n\t // Don't replace items with themselves\n\t if (dragIndex === hoverIndex) {\n\t return;\n\t }\n\t\n\t // Determine rectangle on screen\n\t var hoverBoundingRect = (0, _reactDom.findDOMNode)(component).getBoundingClientRect();\n\t\n\t // Get vertical middle\n\t var hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;\n\t\n\t // Determine mouse position\n\t var clientOffset = monitor.getClientOffset();\n\t\n\t // Get pixels to the top\n\t var hoverClientY = clientOffset.y - hoverBoundingRect.top;\n\t\n\t // Only perform the move when the mouse has crossed half of the items height\n\t // When dragging downwards, only move when the cursor is below 50%\n\t // When dragging upwards, only move when the cursor is above 50%\n\t\n\t // Dragging downwards\n\t if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) {\n\t return;\n\t }\n\t\n\t // Dragging upwards\n\t if (dragIndex > hoverIndex && hoverClientY > hoverMiddleY) {\n\t return;\n\t }\n\t\n\t // Time to actually perform the action\n\t var layout = props.layout;\n\t var columnIndex = props.columnIndex;\n\t var rowIndex = props.rowIndex;\n\t\n\t\n\t if (monitor.getItem().columnIndex === columnIndex) {\n\t var newLayout = (0, _util.sortWidget)(layout, {\n\t rowIndex: rowIndex,\n\t columnIndex: columnIndex,\n\t widgetIndex: dragIndex\n\t }, {\n\t rowIndex: rowIndex,\n\t columnIndex: columnIndex,\n\t widgetIndex: hoverIndex\n\t }, monitor.getItem().widgetName);\n\t\n\t props.onMove(newLayout);\n\t }\n\t\n\t // Note: we're mutating the monitor item here!\n\t // Generally it's better to avoid mutations,\n\t // but it's good here for the sake of performance\n\t // to avoid expensive index searches.\n\t monitor.getItem().widgetIndex = hoverIndex;\n\t }\n\t};\n\t\n\t/**\r\n\t * Frame component which surrounds each widget.\r\n\t */\n\tvar WidgetFrame = (_dec = (0, _reactDnd.DropTarget)(_ItemTypes.WIDGET, cardTarget, function (connect) {\n\t return {\n\t connectDropTarget: connect.dropTarget()\n\t };\n\t}), _dec2 = (0, _reactDnd.DragSource)(_ItemTypes.WIDGET, boxSource, function (connect, monitor) {\n\t return {\n\t connectDragSource: connect.dragSource(),\n\t isDragging: monitor.isDragging()\n\t };\n\t}), _dec(_class = _dec2(_class = function (_Component) {\n\t _inherits(WidgetFrame, _Component);\n\t\n\t function WidgetFrame() {\n\t var _Object$getPrototypeO;\n\t\n\t var _temp, _this, _ret;\n\t\n\t _classCallCheck(this, WidgetFrame);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_Object$getPrototypeO = Object.getPrototypeOf(WidgetFrame)).call.apply(_Object$getPrototypeO, [this].concat(args))), _this), _this.remove = function () {\n\t var _this$props = _this.props;\n\t var layout = _this$props.layout;\n\t var rowIndex = _this$props.rowIndex;\n\t var columnIndex = _this$props.columnIndex;\n\t var widgetIndex = _this$props.widgetIndex;\n\t\n\t var newLayout = (0, _util.removeWidget)(layout, rowIndex, columnIndex, widgetIndex);\n\t _this.props.onRemove(newLayout);\n\t }, _temp), _possibleConstructorReturn(_this, _ret);\n\t }\n\t\n\t _createClass(WidgetFrame, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props;\n\t var frameComponent = _props.frameComponent;\n\t var children = _props.children;\n\t var editable = _props.editable;\n\t var title = _props.title;\n\t var connectDragSource = _props.connectDragSource;\n\t var connectDropTarget = _props.connectDropTarget;\n\t var isDragging = _props.isDragging;\n\t\n\t\n\t var selected = null;\n\t\n\t if (frameComponent) {\n\t // if user provided a custom frame, use it\n\t selected = (0, _react.createElement)(frameComponent, { children: children, editable: editable, title: title, onRemove: this.remove });\n\t } else {\n\t // else use the default frame\n\t selected = _react2.default.createElement(_DefaultFrame2.default, {\n\t title: title,\n\t editable: editable,\n\t children: children,\n\t onRemove: this.remove\n\t });\n\t }\n\t var opacity = isDragging ? 0 : 1;\n\t return connectDragSource(connectDropTarget(_react2.default.createElement(\n\t 'div',\n\t { style: { opacity: opacity } },\n\t selected\n\t )));\n\t }\n\t }]);\n\t\n\t return WidgetFrame;\n\t}(_react.Component)) || _class) || _class);\n\t\n\t\n\tWidgetFrame.propTypes = {\n\t /**\r\n\t * Childrens of the widget frame.\r\n\t */\n\t children: _react.PropTypes.element,\n\t\n\t /**\r\n\t * Layout of the dahsboard.\r\n\t */\n\t layout: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Index of the column these widgets should be placed.\r\n\t */\n\t columnIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Index of the row these widgets should be placed.\r\n\t */\n\t rowIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Index of the widget.\r\n\t */\n\t widgetIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Indicates weatehr dashboard is in ediable mode or not.\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * User provided widget frame that should be used instead of the default one.\r\n\t */\n\t frameComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Name of the widget.\r\n\t */\n\t widgetName: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Title of the widget.\r\n\t */\n\t title: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Weather the component is being dragged.\r\n\t */\n\t isDragging: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * ReactDnd's connectDragSource().\r\n\t */\n\t connectDragSource: _react.PropTypes.func,\n\t\n\t /**\r\n\t * ReactDnd's connectDropTarget().\r\n\t */\n\t connectDropTarget: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Function that should be called when a widget is about to be removed.\r\n\t */\n\t onRemove: _react.PropTypes.func\n\t};\n\t\n\texports.default = WidgetFrame;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"WidgetFrame.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 76 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _WidgetFrame = __webpack_require__(75);\n\t\n\tvar _WidgetFrame2 = _interopRequireDefault(_WidgetFrame);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\r\n\t * Component that renders the widget which belongs to a column.\r\n\t */\n\tvar Widgets = function Widgets(_ref) {\n\t var widgets = _ref.widgets;\n\t var widgetTypes = _ref.widgetTypes;\n\t var onRemove = _ref.onRemove;\n\t var layout = _ref.layout;\n\t var columnIndex = _ref.columnIndex;\n\t var rowIndex = _ref.rowIndex;\n\t var editable = _ref.editable;\n\t var frameComponent = _ref.frameComponent;\n\t var onMove = _ref.onMove;\n\t\n\t var createdWidgets = widgets.map(function (widget, index) {\n\t return _react2.default.createElement(\n\t _WidgetFrame2.default,\n\t {\n\t key: index,\n\t widgetName: widget.key,\n\t title: widgetTypes[widget.key].title,\n\t onRemove: onRemove,\n\t layout: layout,\n\t columnIndex: columnIndex,\n\t rowIndex: rowIndex,\n\t widgetIndex: index,\n\t editable: editable,\n\t frameComponent: frameComponent,\n\t onMove: onMove\n\t },\n\t (0, _react.createElement)(widgetTypes[widget.key].type, widgetTypes[widget.key].props)\n\t );\n\t });\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t createdWidgets\n\t );\n\t};\n\t\n\tWidgets.propTypes = {\n\t /**\r\n\t * Widgets that should be rendered.\r\n\t */\n\t widgets: _react.PropTypes.array,\n\t\n\t /**\r\n\t * Widgets that are available in the dashboard.\r\n\t */\n\t widgetTypes: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Function that should be called when a widget is about to be removed.\r\n\t */\n\t onRemove: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Layout of the dahsboard.\r\n\t */\n\t layout: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Index of the column these widgets should be placed.\r\n\t */\n\t columnIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Index of the row these widgets should be placed.\r\n\t */\n\t rowIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Indicates weatehr dashboard is in ediable mode or not.\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * User provided widget frame that should be used instead of the default one.\r\n\t */\n\t frameComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Method to call when a widget is moved.\r\n\t */\n\t onMove: _react.PropTypes.func\n\t};\n\t\n\texports.default = Widgets;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"Widgets.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 77 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _Dashboard = __webpack_require__(71);\n\t\n\tObject.defineProperty(exports, 'default', {\n\t enumerable: true,\n\t get: function get() {\n\t return _interopRequireDefault(_Dashboard).default;\n\t }\n\t});\n\t\n\tvar _util = __webpack_require__(21);\n\t\n\tObject.defineProperty(exports, 'addWidget', {\n\t enumerable: true,\n\t get: function get() {\n\t return _util.addWidget;\n\t }\n\t});\n\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"index.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 78 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\t// rawAsap provides everything we need except exception management.\n\tvar rawAsap = __webpack_require__(79);\n\t// RawTasks are recycled to reduce GC churn.\n\tvar freeTasks = [];\n\t// We queue errors to ensure they are thrown in right order (FIFO).\n\t// Array-as-queue is good enough here, since we are just dealing with exceptions.\n\tvar pendingErrors = [];\n\tvar requestErrorThrow = rawAsap.makeRequestCallFromTimer(throwFirstError);\n\t\n\tfunction throwFirstError() {\n\t if (pendingErrors.length) {\n\t throw pendingErrors.shift();\n\t }\n\t}\n\t\n\t/**\n\t * Calls a task as soon as possible after returning, in its own event, with priority\n\t * over other events like animation, reflow, and repaint. An error thrown from an\n\t * event will not interrupt, nor even substantially slow down the processing of\n\t * other events, but will be rather postponed to a lower priority event.\n\t * @param {{call}} task A callable object, typically a function that takes no\n\t * arguments.\n\t */\n\tmodule.exports = asap;\n\tfunction asap(task) {\n\t var rawTask;\n\t if (freeTasks.length) {\n\t rawTask = freeTasks.pop();\n\t } else {\n\t rawTask = new RawTask();\n\t }\n\t rawTask.task = task;\n\t rawAsap(rawTask);\n\t}\n\t\n\t// We wrap tasks with recyclable task objects. A task object implements\n\t// `call`, just like a function.\n\tfunction RawTask() {\n\t this.task = null;\n\t}\n\t\n\t// The sole purpose of wrapping the task is to catch the exception and recycle\n\t// the task object after its single use.\n\tRawTask.prototype.call = function () {\n\t try {\n\t this.task.call();\n\t } catch (error) {\n\t if (asap.onerror) {\n\t // This hook exists purely for testing purposes.\n\t // Its name will be periodically randomized to break any code that\n\t // depends on its existence.\n\t asap.onerror(error);\n\t } else {\n\t // In a web browser, exceptions are not fatal. However, to avoid\n\t // slowing down the queue of pending tasks, we rethrow the error in a\n\t // lower priority turn.\n\t pendingErrors.push(error);\n\t requestErrorThrow();\n\t }\n\t } finally {\n\t this.task = null;\n\t freeTasks[freeTasks.length] = this;\n\t }\n\t};\n\n\n/***/ },\n/* 79 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\t// Use the fastest means possible to execute a task in its own turn, with\n\t// priority over other events including IO, animation, reflow, and redraw\n\t// events in browsers.\n\t//\n\t// An exception thrown by a task will permanently interrupt the processing of\n\t// subsequent tasks. The higher level `asap` function ensures that if an\n\t// exception is thrown by a task, that the task queue will continue flushing as\n\t// soon as possible, but if you use `rawAsap` directly, you are responsible to\n\t// either ensure that no exceptions are thrown from your task, or to manually\n\t// call `rawAsap.requestFlush` if an exception is thrown.\n\tmodule.exports = rawAsap;\n\tfunction rawAsap(task) {\n\t if (!queue.length) {\n\t requestFlush();\n\t flushing = true;\n\t }\n\t // Equivalent to push, but avoids a function call.\n\t queue[queue.length] = task;\n\t}\n\t\n\tvar queue = [];\n\t// Once a flush has been requested, no further calls to `requestFlush` are\n\t// necessary until the next `flush` completes.\n\tvar flushing = false;\n\t// `requestFlush` is an implementation-specific method that attempts to kick\n\t// off a `flush` event as quickly as possible. `flush` will attempt to exhaust\n\t// the event queue before yielding to the browser's own event loop.\n\tvar requestFlush;\n\t// The position of the next task to execute in the task queue. This is\n\t// preserved between calls to `flush` so that it can be resumed if\n\t// a task throws an exception.\n\tvar index = 0;\n\t// If a task schedules additional tasks recursively, the task queue can grow\n\t// unbounded. To prevent memory exhaustion, the task queue will periodically\n\t// truncate already-completed tasks.\n\tvar capacity = 1024;\n\t\n\t// The flush function processes all tasks that have been scheduled with\n\t// `rawAsap` unless and until one of those tasks throws an exception.\n\t// If a task throws an exception, `flush` ensures that its state will remain\n\t// consistent and will resume where it left off when called again.\n\t// However, `flush` does not make any arrangements to be called again if an\n\t// exception is thrown.\n\tfunction flush() {\n\t while (index < queue.length) {\n\t var currentIndex = index;\n\t // Advance the index before calling the task. This ensures that we will\n\t // begin flushing on the next task the task throws an error.\n\t index = index + 1;\n\t queue[currentIndex].call();\n\t // Prevent leaking memory for long chains of recursive calls to `asap`.\n\t // If we call `asap` within tasks scheduled by `asap`, the queue will\n\t // grow, but to avoid an O(n) walk for every task we execute, we don't\n\t // shift tasks off the queue after they have been executed.\n\t // Instead, we periodically shift 1024 tasks off the queue.\n\t if (index > capacity) {\n\t // Manually shift all values starting at the index back to the\n\t // beginning of the queue.\n\t for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n\t queue[scan] = queue[scan + index];\n\t }\n\t queue.length -= index;\n\t index = 0;\n\t }\n\t }\n\t queue.length = 0;\n\t index = 0;\n\t flushing = false;\n\t}\n\t\n\t// `requestFlush` is implemented using a strategy based on data collected from\n\t// every available SauceLabs Selenium web driver worker at time of writing.\n\t// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n\t\n\t// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n\t// have WebKitMutationObserver but not un-prefixed MutationObserver.\n\t// Must use `global` instead of `window` to work in both frames and web\n\t// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\n\tvar BrowserMutationObserver = global.MutationObserver || global.WebKitMutationObserver;\n\t\n\t// MutationObservers are desirable because they have high priority and work\n\t// reliably everywhere they are implemented.\n\t// They are implemented in all modern browsers.\n\t//\n\t// - Android 4-4.3\n\t// - Chrome 26-34\n\t// - Firefox 14-29\n\t// - Internet Explorer 11\n\t// - iPad Safari 6-7.1\n\t// - iPhone Safari 7-7.1\n\t// - Safari 6-7\n\tif (typeof BrowserMutationObserver === \"function\") {\n\t requestFlush = makeRequestCallFromMutationObserver(flush);\n\t\n\t// MessageChannels are desirable because they give direct access to the HTML\n\t// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n\t// 11-12, and in web workers in many engines.\n\t// Although message channels yield to any queued rendering and IO tasks, they\n\t// would be better than imposing the 4ms delay of timers.\n\t// However, they do not work reliably in Internet Explorer or Safari.\n\t\n\t// Internet Explorer 10 is the only browser that has setImmediate but does\n\t// not have MutationObservers.\n\t// Although setImmediate yields to the browser's renderer, it would be\n\t// preferrable to falling back to setTimeout since it does not have\n\t// the minimum 4ms penalty.\n\t// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n\t// Desktop to a lesser extent) that renders both setImmediate and\n\t// MessageChannel useless for the purposes of ASAP.\n\t// https://github.com/kriskowal/q/issues/396\n\t\n\t// Timers are implemented universally.\n\t// We fall back to timers in workers in most engines, and in foreground\n\t// contexts in the following browsers.\n\t// However, note that even this simple case requires nuances to operate in a\n\t// broad spectrum of browsers.\n\t//\n\t// - Firefox 3-13\n\t// - Internet Explorer 6-9\n\t// - iPad Safari 4.3\n\t// - Lynx 2.8.7\n\t} else {\n\t requestFlush = makeRequestCallFromTimer(flush);\n\t}\n\t\n\t// `requestFlush` requests that the high priority event queue be flushed as\n\t// soon as possible.\n\t// This is useful to prevent an error thrown in a task from stalling the event\n\t// queue if the exception handled by Node.js’s\n\t// `process.on(\"uncaughtException\")` or by a domain.\n\trawAsap.requestFlush = requestFlush;\n\t\n\t// To request a high priority event, we induce a mutation observer by toggling\n\t// the text of a text node between \"1\" and \"-1\".\n\tfunction makeRequestCallFromMutationObserver(callback) {\n\t var toggle = 1;\n\t var observer = new BrowserMutationObserver(callback);\n\t var node = document.createTextNode(\"\");\n\t observer.observe(node, {characterData: true});\n\t return function requestCall() {\n\t toggle = -toggle;\n\t node.data = toggle;\n\t };\n\t}\n\t\n\t// The message channel technique was discovered by Malte Ubl and was the\n\t// original foundation for this library.\n\t// http://www.nonblocking.io/2011/06/windownexttick.html\n\t\n\t// Safari 6.0.5 (at least) intermittently fails to create message ports on a\n\t// page's first load. Thankfully, this version of Safari supports\n\t// MutationObservers, so we don't need to fall back in that case.\n\t\n\t// function makeRequestCallFromMessageChannel(callback) {\n\t// var channel = new MessageChannel();\n\t// channel.port1.onmessage = callback;\n\t// return function requestCall() {\n\t// channel.port2.postMessage(0);\n\t// };\n\t// }\n\t\n\t// For reasons explained above, we are also unable to use `setImmediate`\n\t// under any circumstances.\n\t// Even if we were, there is another bug in Internet Explorer 10.\n\t// It is not sufficient to assign `setImmediate` to `requestFlush` because\n\t// `setImmediate` must be called *by name* and therefore must be wrapped in a\n\t// closure.\n\t// Never forget.\n\t\n\t// function makeRequestCallFromSetImmediate(callback) {\n\t// return function requestCall() {\n\t// setImmediate(callback);\n\t// };\n\t// }\n\t\n\t// Safari 6.0 has a problem where timers will get lost while the user is\n\t// scrolling. This problem does not impact ASAP because Safari 6.0 supports\n\t// mutation observers, so that implementation is used instead.\n\t// However, if we ever elect to use timers in Safari, the prevalent work-around\n\t// is to add a scroll event listener that calls for a flush.\n\t\n\t// `setTimeout` does not call the passed callback if the delay is less than\n\t// approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n\t// even then.\n\t\n\tfunction makeRequestCallFromTimer(callback) {\n\t return function requestCall() {\n\t // We dispatch a timeout with a specified delay of 0 for engines that\n\t // can reliably accommodate that request. This will usually be snapped\n\t // to a 4 milisecond delay, but once we're flushing, there's no delay\n\t // between events.\n\t var timeoutHandle = setTimeout(handleTimer, 0);\n\t // However, since this timer gets frequently dropped in Firefox\n\t // workers, we enlist an interval handle that will try to fire\n\t // an event 20 times per second until it succeeds.\n\t var intervalHandle = setInterval(handleTimer, 50);\n\t\n\t function handleTimer() {\n\t // Whichever timer succeeds will cancel both timers and\n\t // execute the callback.\n\t clearTimeout(timeoutHandle);\n\t clearInterval(intervalHandle);\n\t callback();\n\t }\n\t };\n\t}\n\t\n\t// This is for `asap.js` only.\n\t// Its name will be periodically randomized to break any code that depends on\n\t// its existence.\n\trawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;\n\t\n\t// ASAP was originally a nextTick shim included in Q. This was factored out\n\t// into this ASAP package. It was later adapted to RSVP which made further\n\t// amendments. These decisions, particularly to marginalize MessageChannel and\n\t// to capture the MutationObserver implementation in a closure, were integrated\n\t// back into ASAP proper.\n\t// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n\n/***/ },\n/* 80 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };\n\t\n\tvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } };\n\t\n\texports.__esModule = true;\n\t\n\tvar _isDisposable = __webpack_require__(22);\n\t\n\tvar _isDisposable2 = _interopRequireWildcard(_isDisposable);\n\t\n\t/**\n\t * Represents a group of disposable resources that are disposed together.\n\t */\n\t\n\tvar CompositeDisposable = (function () {\n\t function CompositeDisposable() {\n\t for (var _len = arguments.length, disposables = Array(_len), _key = 0; _key < _len; _key++) {\n\t disposables[_key] = arguments[_key];\n\t }\n\t\n\t _classCallCheck(this, CompositeDisposable);\n\t\n\t if (Array.isArray(disposables[0]) && disposables.length === 1) {\n\t disposables = disposables[0];\n\t }\n\t\n\t for (var i = 0; i < disposables.length; i++) {\n\t if (!_isDisposable2['default'](disposables[i])) {\n\t throw new Error('Expected a disposable');\n\t }\n\t }\n\t\n\t this.disposables = disposables;\n\t this.isDisposed = false;\n\t }\n\t\n\t /**\n\t * Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed.\n\t * @param {Disposable} item Disposable to add.\n\t */\n\t\n\t CompositeDisposable.prototype.add = function add(item) {\n\t if (this.isDisposed) {\n\t item.dispose();\n\t } else {\n\t this.disposables.push(item);\n\t }\n\t };\n\t\n\t /**\n\t * Removes and disposes the first occurrence of a disposable from the CompositeDisposable.\n\t * @param {Disposable} item Disposable to remove.\n\t * @returns {Boolean} true if found; false otherwise.\n\t */\n\t\n\t CompositeDisposable.prototype.remove = function remove(item) {\n\t if (this.isDisposed) {\n\t return false;\n\t }\n\t\n\t var index = this.disposables.indexOf(item);\n\t if (index === -1) {\n\t return false;\n\t }\n\t\n\t this.disposables.splice(index, 1);\n\t item.dispose();\n\t return true;\n\t };\n\t\n\t /**\n\t * Disposes all disposables in the group and removes them from the group.\n\t */\n\t\n\t CompositeDisposable.prototype.dispose = function dispose() {\n\t if (this.isDisposed) {\n\t return;\n\t }\n\t\n\t var len = this.disposables.length;\n\t var currentDisposables = new Array(len);\n\t for (var i = 0; i < len; i++) {\n\t currentDisposables[i] = this.disposables[i];\n\t }\n\t\n\t this.isDisposed = true;\n\t this.disposables = [];\n\t this.length = 0;\n\t\n\t for (var i = 0; i < len; i++) {\n\t currentDisposables[i].dispose();\n\t }\n\t };\n\t\n\t return CompositeDisposable;\n\t})();\n\t\n\texports['default'] = CompositeDisposable;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 81 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } };\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\texports.__esModule = true;\n\tvar noop = function noop() {};\n\t\n\t/**\n\t * The basic disposable.\n\t */\n\t\n\tvar Disposable = (function () {\n\t function Disposable(action) {\n\t _classCallCheck(this, Disposable);\n\t\n\t this.isDisposed = false;\n\t this.action = action || noop;\n\t }\n\t\n\t Disposable.prototype.dispose = function dispose() {\n\t if (!this.isDisposed) {\n\t this.action.call(null);\n\t this.isDisposed = true;\n\t }\n\t };\n\t\n\t _createClass(Disposable, null, [{\n\t key: \"empty\",\n\t enumerable: true,\n\t value: { dispose: noop }\n\t }]);\n\t\n\t return Disposable;\n\t})();\n\t\n\texports[\"default\"] = Disposable;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 82 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };\n\t\n\tvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } };\n\t\n\texports.__esModule = true;\n\t\n\tvar _isDisposable = __webpack_require__(22);\n\t\n\tvar _isDisposable2 = _interopRequireWildcard(_isDisposable);\n\t\n\tvar SerialDisposable = (function () {\n\t function SerialDisposable() {\n\t _classCallCheck(this, SerialDisposable);\n\t\n\t this.isDisposed = false;\n\t this.current = null;\n\t }\n\t\n\t /**\n\t * Gets the underlying disposable.\n\t * @return The underlying disposable.\n\t */\n\t\n\t SerialDisposable.prototype.getDisposable = function getDisposable() {\n\t return this.current;\n\t };\n\t\n\t /**\n\t * Sets the underlying disposable.\n\t * @param {Disposable} value The new underlying disposable.\n\t */\n\t\n\t SerialDisposable.prototype.setDisposable = function setDisposable() {\n\t var value = arguments[0] === undefined ? null : arguments[0];\n\t\n\t if (value != null && !_isDisposable2['default'](value)) {\n\t throw new Error('Expected either an empty value or a valid disposable');\n\t }\n\t\n\t var isDisposed = this.isDisposed;\n\t var previous = undefined;\n\t\n\t if (!isDisposed) {\n\t previous = this.current;\n\t this.current = value;\n\t }\n\t\n\t if (previous) {\n\t previous.dispose();\n\t }\n\t\n\t if (isDisposed && value) {\n\t value.dispose();\n\t }\n\t };\n\t\n\t /**\n\t * Disposes the underlying disposable as well as all future replacements.\n\t */\n\t\n\t SerialDisposable.prototype.dispose = function dispose() {\n\t if (this.isDisposed) {\n\t return;\n\t }\n\t\n\t this.isDisposed = true;\n\t var previous = this.current;\n\t this.current = null;\n\t\n\t if (previous) {\n\t previous.dispose();\n\t }\n\t };\n\t\n\t return SerialDisposable;\n\t})();\n\t\n\texports['default'] = SerialDisposable;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 83 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };\n\t\n\texports.__esModule = true;\n\t\n\tvar _isDisposable2 = __webpack_require__(22);\n\t\n\tvar _isDisposable3 = _interopRequireWildcard(_isDisposable2);\n\t\n\texports.isDisposable = _isDisposable3['default'];\n\t\n\tvar _Disposable2 = __webpack_require__(81);\n\t\n\tvar _Disposable3 = _interopRequireWildcard(_Disposable2);\n\t\n\texports.Disposable = _Disposable3['default'];\n\t\n\tvar _CompositeDisposable2 = __webpack_require__(80);\n\t\n\tvar _CompositeDisposable3 = _interopRequireWildcard(_CompositeDisposable2);\n\t\n\texports.CompositeDisposable = _CompositeDisposable3['default'];\n\t\n\tvar _SerialDisposable2 = __webpack_require__(82);\n\t\n\tvar _SerialDisposable3 = _interopRequireWildcard(_SerialDisposable2);\n\t\n\texports.SerialDisposable = _SerialDisposable3['default'];\n\n/***/ },\n/* 84 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _reduxLibCreateStore = __webpack_require__(220);\n\t\n\tvar _reduxLibCreateStore2 = _interopRequireDefault(_reduxLibCreateStore);\n\t\n\tvar _reducers = __webpack_require__(91);\n\t\n\tvar _reducers2 = _interopRequireDefault(_reducers);\n\t\n\tvar _actionsDragDrop = __webpack_require__(8);\n\t\n\tvar dragDropActions = _interopRequireWildcard(_actionsDragDrop);\n\t\n\tvar _DragDropMonitor = __webpack_require__(85);\n\t\n\tvar _DragDropMonitor2 = _interopRequireDefault(_DragDropMonitor);\n\t\n\tvar _HandlerRegistry = __webpack_require__(41);\n\t\n\tvar _HandlerRegistry2 = _interopRequireDefault(_HandlerRegistry);\n\t\n\tvar DragDropManager = (function () {\n\t function DragDropManager(createBackend) {\n\t _classCallCheck(this, DragDropManager);\n\t\n\t var store = _reduxLibCreateStore2['default'](_reducers2['default']);\n\t\n\t this.store = store;\n\t this.monitor = new _DragDropMonitor2['default'](store);\n\t this.registry = this.monitor.registry;\n\t this.backend = createBackend(this);\n\t\n\t store.subscribe(this.handleRefCountChange.bind(this));\n\t }\n\t\n\t DragDropManager.prototype.handleRefCountChange = function handleRefCountChange() {\n\t var shouldSetUp = this.store.getState().refCount > 0;\n\t if (shouldSetUp && !this.isSetUp) {\n\t this.backend.setup();\n\t this.isSetUp = true;\n\t } else if (!shouldSetUp && this.isSetUp) {\n\t this.backend.teardown();\n\t this.isSetUp = false;\n\t }\n\t };\n\t\n\t DragDropManager.prototype.getMonitor = function getMonitor() {\n\t return this.monitor;\n\t };\n\t\n\t DragDropManager.prototype.getBackend = function getBackend() {\n\t return this.backend;\n\t };\n\t\n\t DragDropManager.prototype.getRegistry = function getRegistry() {\n\t return this.registry;\n\t };\n\t\n\t DragDropManager.prototype.getActions = function getActions() {\n\t var manager = this;\n\t var dispatch = this.store.dispatch;\n\t\n\t function bindActionCreator(actionCreator) {\n\t return function () {\n\t var action = actionCreator.apply(manager, arguments);\n\t if (typeof action !== 'undefined') {\n\t dispatch(action);\n\t }\n\t };\n\t }\n\t\n\t return Object.keys(dragDropActions).filter(function (key) {\n\t return typeof dragDropActions[key] === 'function';\n\t }).reduce(function (boundActions, key) {\n\t boundActions[key] = bindActionCreator(dragDropActions[key]);\n\t return boundActions;\n\t }, {});\n\t };\n\t\n\t return DragDropManager;\n\t})();\n\t\n\texports['default'] = DragDropManager;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 85 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _utilsMatchesType = __webpack_require__(44);\n\t\n\tvar _utilsMatchesType2 = _interopRequireDefault(_utilsMatchesType);\n\t\n\tvar _lodashIsArray = __webpack_require__(12);\n\t\n\tvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\t\n\tvar _HandlerRegistry = __webpack_require__(41);\n\t\n\tvar _HandlerRegistry2 = _interopRequireDefault(_HandlerRegistry);\n\t\n\tvar _reducersDragOffset = __webpack_require__(43);\n\t\n\tvar _reducersDirtyHandlerIds = __webpack_require__(42);\n\t\n\tvar DragDropMonitor = (function () {\n\t function DragDropMonitor(store) {\n\t _classCallCheck(this, DragDropMonitor);\n\t\n\t this.store = store;\n\t this.registry = new _HandlerRegistry2['default'](store);\n\t }\n\t\n\t DragDropMonitor.prototype.subscribeToStateChange = function subscribeToStateChange(listener) {\n\t var _this = this;\n\t\n\t var _ref = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\n\t var handlerIds = _ref.handlerIds;\n\t\n\t _invariant2['default'](typeof listener === 'function', 'listener must be a function.');\n\t _invariant2['default'](typeof handlerIds === 'undefined' || _lodashIsArray2['default'](handlerIds), 'handlerIds, when specified, must be an array of strings.');\n\t\n\t var prevStateId = this.store.getState().stateId;\n\t var handleChange = function handleChange() {\n\t var state = _this.store.getState();\n\t var currentStateId = state.stateId;\n\t try {\n\t var canSkipListener = currentStateId === prevStateId || currentStateId === prevStateId + 1 && !_reducersDirtyHandlerIds.areDirty(state.dirtyHandlerIds, handlerIds);\n\t\n\t if (!canSkipListener) {\n\t listener();\n\t }\n\t } finally {\n\t prevStateId = currentStateId;\n\t }\n\t };\n\t\n\t return this.store.subscribe(handleChange);\n\t };\n\t\n\t DragDropMonitor.prototype.subscribeToOffsetChange = function subscribeToOffsetChange(listener) {\n\t var _this2 = this;\n\t\n\t _invariant2['default'](typeof listener === 'function', 'listener must be a function.');\n\t\n\t var previousState = this.store.getState().dragOffset;\n\t var handleChange = function handleChange() {\n\t var nextState = _this2.store.getState().dragOffset;\n\t if (nextState === previousState) {\n\t return;\n\t }\n\t\n\t previousState = nextState;\n\t listener();\n\t };\n\t\n\t return this.store.subscribe(handleChange);\n\t };\n\t\n\t DragDropMonitor.prototype.canDragSource = function canDragSource(sourceId) {\n\t var source = this.registry.getSource(sourceId);\n\t _invariant2['default'](source, 'Expected to find a valid source.');\n\t\n\t if (this.isDragging()) {\n\t return false;\n\t }\n\t\n\t return source.canDrag(this, sourceId);\n\t };\n\t\n\t DragDropMonitor.prototype.canDropOnTarget = function canDropOnTarget(targetId) {\n\t var target = this.registry.getTarget(targetId);\n\t _invariant2['default'](target, 'Expected to find a valid target.');\n\t\n\t if (!this.isDragging() || this.didDrop()) {\n\t return false;\n\t }\n\t\n\t var targetType = this.registry.getTargetType(targetId);\n\t var draggedItemType = this.getItemType();\n\t return _utilsMatchesType2['default'](targetType, draggedItemType) && target.canDrop(this, targetId);\n\t };\n\t\n\t DragDropMonitor.prototype.isDragging = function isDragging() {\n\t return Boolean(this.getItemType());\n\t };\n\t\n\t DragDropMonitor.prototype.isDraggingSource = function isDraggingSource(sourceId) {\n\t var source = this.registry.getSource(sourceId, true);\n\t _invariant2['default'](source, 'Expected to find a valid source.');\n\t\n\t if (!this.isDragging() || !this.isSourcePublic()) {\n\t return false;\n\t }\n\t\n\t var sourceType = this.registry.getSourceType(sourceId);\n\t var draggedItemType = this.getItemType();\n\t if (sourceType !== draggedItemType) {\n\t return false;\n\t }\n\t\n\t return source.isDragging(this, sourceId);\n\t };\n\t\n\t DragDropMonitor.prototype.isOverTarget = function isOverTarget(targetId) {\n\t var _ref2 = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\n\t var _ref2$shallow = _ref2.shallow;\n\t var shallow = _ref2$shallow === undefined ? false : _ref2$shallow;\n\t\n\t if (!this.isDragging()) {\n\t return false;\n\t }\n\t\n\t var targetType = this.registry.getTargetType(targetId);\n\t var draggedItemType = this.getItemType();\n\t if (!_utilsMatchesType2['default'](targetType, draggedItemType)) {\n\t return false;\n\t }\n\t\n\t var targetIds = this.getTargetIds();\n\t if (!targetIds.length) {\n\t return false;\n\t }\n\t\n\t var index = targetIds.indexOf(targetId);\n\t if (shallow) {\n\t return index === targetIds.length - 1;\n\t } else {\n\t return index > -1;\n\t }\n\t };\n\t\n\t DragDropMonitor.prototype.getItemType = function getItemType() {\n\t return this.store.getState().dragOperation.itemType;\n\t };\n\t\n\t DragDropMonitor.prototype.getItem = function getItem() {\n\t return this.store.getState().dragOperation.item;\n\t };\n\t\n\t DragDropMonitor.prototype.getSourceId = function getSourceId() {\n\t return this.store.getState().dragOperation.sourceId;\n\t };\n\t\n\t DragDropMonitor.prototype.getTargetIds = function getTargetIds() {\n\t return this.store.getState().dragOperation.targetIds;\n\t };\n\t\n\t DragDropMonitor.prototype.getDropResult = function getDropResult() {\n\t return this.store.getState().dragOperation.dropResult;\n\t };\n\t\n\t DragDropMonitor.prototype.didDrop = function didDrop() {\n\t return this.store.getState().dragOperation.didDrop;\n\t };\n\t\n\t DragDropMonitor.prototype.isSourcePublic = function isSourcePublic() {\n\t return this.store.getState().dragOperation.isSourcePublic;\n\t };\n\t\n\t DragDropMonitor.prototype.getInitialClientOffset = function getInitialClientOffset() {\n\t return this.store.getState().dragOffset.initialClientOffset;\n\t };\n\t\n\t DragDropMonitor.prototype.getInitialSourceClientOffset = function getInitialSourceClientOffset() {\n\t return this.store.getState().dragOffset.initialSourceClientOffset;\n\t };\n\t\n\t DragDropMonitor.prototype.getClientOffset = function getClientOffset() {\n\t return this.store.getState().dragOffset.clientOffset;\n\t };\n\t\n\t DragDropMonitor.prototype.getSourceClientOffset = function getSourceClientOffset() {\n\t return _reducersDragOffset.getSourceClientOffset(this.store.getState().dragOffset);\n\t };\n\t\n\t DragDropMonitor.prototype.getDifferenceFromInitialOffset = function getDifferenceFromInitialOffset() {\n\t return _reducersDragOffset.getDifferenceFromInitialOffset(this.store.getState().dragOffset);\n\t };\n\t\n\t return DragDropMonitor;\n\t})();\n\t\n\texports['default'] = DragDropMonitor;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 86 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar DragSource = (function () {\n\t function DragSource() {\n\t _classCallCheck(this, DragSource);\n\t }\n\t\n\t DragSource.prototype.canDrag = function canDrag() {\n\t return true;\n\t };\n\t\n\t DragSource.prototype.isDragging = function isDragging(monitor, handle) {\n\t return handle === monitor.getSourceId();\n\t };\n\t\n\t DragSource.prototype.endDrag = function endDrag() {};\n\t\n\t return DragSource;\n\t})();\n\t\n\texports[\"default\"] = DragSource;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 87 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar DropTarget = (function () {\n\t function DropTarget() {\n\t _classCallCheck(this, DropTarget);\n\t }\n\t\n\t DropTarget.prototype.canDrop = function canDrop() {\n\t return true;\n\t };\n\t\n\t DropTarget.prototype.hover = function hover() {};\n\t\n\t DropTarget.prototype.drop = function drop() {};\n\t\n\t return DropTarget;\n\t})();\n\t\n\texports[\"default\"] = DropTarget;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 88 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createBackend;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _lodashNoop = __webpack_require__(50);\n\t\n\tvar _lodashNoop2 = _interopRequireDefault(_lodashNoop);\n\t\n\tvar TestBackend = (function () {\n\t function TestBackend(manager) {\n\t _classCallCheck(this, TestBackend);\n\t\n\t this.actions = manager.getActions();\n\t }\n\t\n\t TestBackend.prototype.setup = function setup() {\n\t this.didCallSetup = true;\n\t };\n\t\n\t TestBackend.prototype.teardown = function teardown() {\n\t this.didCallTeardown = true;\n\t };\n\t\n\t TestBackend.prototype.connectDragSource = function connectDragSource() {\n\t return _lodashNoop2['default'];\n\t };\n\t\n\t TestBackend.prototype.connectDragPreview = function connectDragPreview() {\n\t return _lodashNoop2['default'];\n\t };\n\t\n\t TestBackend.prototype.connectDropTarget = function connectDropTarget() {\n\t return _lodashNoop2['default'];\n\t };\n\t\n\t TestBackend.prototype.simulateBeginDrag = function simulateBeginDrag(sourceIds, options) {\n\t this.actions.beginDrag(sourceIds, options);\n\t };\n\t\n\t TestBackend.prototype.simulatePublishDragSource = function simulatePublishDragSource() {\n\t this.actions.publishDragSource();\n\t };\n\t\n\t TestBackend.prototype.simulateHover = function simulateHover(targetIds, options) {\n\t this.actions.hover(targetIds, options);\n\t };\n\t\n\t TestBackend.prototype.simulateDrop = function simulateDrop() {\n\t this.actions.drop();\n\t };\n\t\n\t TestBackend.prototype.simulateEndDrag = function simulateEndDrag() {\n\t this.actions.endDrag();\n\t };\n\t\n\t return TestBackend;\n\t})();\n\t\n\tfunction createBackend(manager) {\n\t return new TestBackend(manager);\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 89 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequire(obj) { return obj && obj.__esModule ? obj['default'] : obj; }\n\t\n\tvar _DragDropManager = __webpack_require__(84);\n\t\n\texports.DragDropManager = _interopRequire(_DragDropManager);\n\t\n\tvar _DragSource = __webpack_require__(86);\n\t\n\texports.DragSource = _interopRequire(_DragSource);\n\t\n\tvar _DropTarget = __webpack_require__(87);\n\t\n\texports.DropTarget = _interopRequire(_DropTarget);\n\t\n\tvar _backendsCreateTestBackend = __webpack_require__(88);\n\t\n\texports.createTestBackend = _interopRequire(_backendsCreateTestBackend);\n\n/***/ },\n/* 90 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _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; };\n\t\n\texports['default'] = dragOperation;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _actionsDragDrop = __webpack_require__(8);\n\t\n\tvar _actionsRegistry = __webpack_require__(9);\n\t\n\tvar _lodashWithout = __webpack_require__(135);\n\t\n\tvar _lodashWithout2 = _interopRequireDefault(_lodashWithout);\n\t\n\tvar initialState = {\n\t itemType: null,\n\t item: null,\n\t sourceId: null,\n\t targetIds: [],\n\t dropResult: null,\n\t didDrop: false,\n\t isSourcePublic: null\n\t};\n\t\n\tfunction dragOperation(state, action) {\n\t if (state === undefined) state = initialState;\n\t\n\t switch (action.type) {\n\t case _actionsDragDrop.BEGIN_DRAG:\n\t return _extends({}, state, {\n\t itemType: action.itemType,\n\t item: action.item,\n\t sourceId: action.sourceId,\n\t isSourcePublic: action.isSourcePublic,\n\t dropResult: null,\n\t didDrop: false\n\t });\n\t case _actionsDragDrop.PUBLISH_DRAG_SOURCE:\n\t return _extends({}, state, {\n\t isSourcePublic: true\n\t });\n\t case _actionsDragDrop.HOVER:\n\t return _extends({}, state, {\n\t targetIds: action.targetIds\n\t });\n\t case _actionsRegistry.REMOVE_TARGET:\n\t if (state.targetIds.indexOf(action.targetId) === -1) {\n\t return state;\n\t }\n\t return _extends({}, state, {\n\t targetIds: _lodashWithout2['default'](state.targetIds, action.targetId)\n\t });\n\t case _actionsDragDrop.DROP:\n\t return _extends({}, state, {\n\t dropResult: action.dropResult,\n\t didDrop: true,\n\t targetIds: []\n\t });\n\t case _actionsDragDrop.END_DRAG:\n\t return _extends({}, state, {\n\t itemType: null,\n\t item: null,\n\t sourceId: null,\n\t dropResult: null,\n\t didDrop: false,\n\t isSourcePublic: null,\n\t targetIds: []\n\t });\n\t default:\n\t return state;\n\t }\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 91 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _dragOffset = __webpack_require__(43);\n\t\n\tvar _dragOffset2 = _interopRequireDefault(_dragOffset);\n\t\n\tvar _dragOperation = __webpack_require__(90);\n\t\n\tvar _dragOperation2 = _interopRequireDefault(_dragOperation);\n\t\n\tvar _refCount = __webpack_require__(92);\n\t\n\tvar _refCount2 = _interopRequireDefault(_refCount);\n\t\n\tvar _dirtyHandlerIds = __webpack_require__(42);\n\t\n\tvar _dirtyHandlerIds2 = _interopRequireDefault(_dirtyHandlerIds);\n\t\n\tvar _stateId = __webpack_require__(93);\n\t\n\tvar _stateId2 = _interopRequireDefault(_stateId);\n\t\n\texports['default'] = function (state, action) {\n\t if (state === undefined) state = {};\n\t\n\t return {\n\t dirtyHandlerIds: _dirtyHandlerIds2['default'](state.dirtyHandlerIds, action, state.dragOperation),\n\t dragOffset: _dragOffset2['default'](state.dragOffset, action),\n\t refCount: _refCount2['default'](state.refCount, action),\n\t dragOperation: _dragOperation2['default'](state.dragOperation, action),\n\t stateId: _stateId2['default'](state.stateId)\n\t };\n\t};\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 92 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = refCount;\n\t\n\tvar _actionsRegistry = __webpack_require__(9);\n\t\n\tfunction refCount(state, action) {\n\t if (state === undefined) state = 0;\n\t\n\t switch (action.type) {\n\t case _actionsRegistry.ADD_SOURCE:\n\t case _actionsRegistry.ADD_TARGET:\n\t return state + 1;\n\t case _actionsRegistry.REMOVE_SOURCE:\n\t case _actionsRegistry.REMOVE_TARGET:\n\t return state - 1;\n\t default:\n\t return state;\n\t }\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 93 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = stateId;\n\t\n\tfunction stateId() {\n\t var state = arguments.length <= 0 || arguments[0] === undefined ? 0 : arguments[0];\n\t\n\t return state + 1;\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 94 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = getNextUniqueId;\n\tvar nextUniqueId = 0;\n\t\n\tfunction getNextUniqueId() {\n\t return nextUniqueId++;\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 95 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(11);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Creates a hash object.\n\t *\n\t * @private\n\t * @constructor\n\t * @returns {Object} Returns the new hash object.\n\t */\n\tfunction Hash() {}\n\t\n\t// Avoid inheriting from `Object.prototype` when possible.\n\tHash.prototype = nativeCreate ? nativeCreate(null) : objectProto;\n\t\n\tmodule.exports = Hash;\n\n\n/***/ },\n/* 96 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar mapClear = __webpack_require__(120),\n\t mapDelete = __webpack_require__(121),\n\t mapGet = __webpack_require__(122),\n\t mapHas = __webpack_require__(123),\n\t mapSet = __webpack_require__(124);\n\t\n\t/**\n\t * Creates a map cache object to store key-value pairs.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [values] The values to cache.\n\t */\n\tfunction MapCache(values) {\n\t var index = -1,\n\t length = values ? values.length : 0;\n\t\n\t this.clear();\n\t while (++index < length) {\n\t var entry = values[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\t\n\t// Add methods to `MapCache`.\n\tMapCache.prototype.clear = mapClear;\n\tMapCache.prototype['delete'] = mapDelete;\n\tMapCache.prototype.get = mapGet;\n\tMapCache.prototype.has = mapHas;\n\tMapCache.prototype.set = mapSet;\n\t\n\tmodule.exports = MapCache;\n\n\n/***/ },\n/* 97 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(28),\n\t root = __webpack_require__(48);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar Set = getNative(root, 'Set');\n\t\n\tmodule.exports = Set;\n\n\n/***/ },\n/* 98 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A faster alternative to `Function#apply`, this function invokes `func`\n\t * with the `this` binding of `thisArg` and the arguments of `args`.\n\t *\n\t * @private\n\t * @param {Function} func The function to invoke.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {Array} args The arguments to invoke `func` with.\n\t * @returns {*} Returns the result of `func`.\n\t */\n\tfunction apply(func, thisArg, args) {\n\t var length = args.length;\n\t switch (length) {\n\t case 0: return func.call(thisArg);\n\t case 1: return func.call(thisArg, args[0]);\n\t case 2: return func.call(thisArg, args[0], args[1]);\n\t case 3: return func.call(thisArg, args[0], args[1], args[2]);\n\t }\n\t return func.apply(thisArg, args);\n\t}\n\t\n\tmodule.exports = apply;\n\n\n/***/ },\n/* 99 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.filter` for arrays without support for\n\t * iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {Array} Returns the new filtered array.\n\t */\n\tfunction arrayFilter(array, predicate) {\n\t var index = -1,\n\t length = array.length,\n\t resIndex = 0,\n\t result = [];\n\t\n\t while (++index < length) {\n\t var value = array[index];\n\t if (predicate(value, index, array)) {\n\t result[resIndex++] = value;\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = arrayFilter;\n\n\n/***/ },\n/* 100 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Appends the elements of `values` to `array`.\n\t *\n\t * @private\n\t * @param {Array} array The array to modify.\n\t * @param {Array} values The values to append.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayPush(array, values) {\n\t var index = -1,\n\t length = values.length,\n\t offset = array.length;\n\t\n\t while (++index < length) {\n\t array[offset + index] = values[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayPush;\n\n\n/***/ },\n/* 101 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(10);\n\t\n\t/** Used for built-in method references. */\n\tvar arrayProto = Array.prototype;\n\t\n\t/** Built-in value references. */\n\tvar splice = arrayProto.splice;\n\t\n\t/**\n\t * Removes `key` and its value from the associative array.\n\t *\n\t * @private\n\t * @param {Array} array The array to modify.\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction assocDelete(array, key) {\n\t var index = assocIndexOf(array, key);\n\t if (index < 0) {\n\t return false;\n\t }\n\t var lastIndex = array.length - 1;\n\t if (index == lastIndex) {\n\t array.pop();\n\t } else {\n\t splice.call(array, index, 1);\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = assocDelete;\n\n\n/***/ },\n/* 102 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(10);\n\t\n\t/**\n\t * Gets the associative array value for `key`.\n\t *\n\t * @private\n\t * @param {Array} array The array to query.\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction assocGet(array, key) {\n\t var index = assocIndexOf(array, key);\n\t return index < 0 ? undefined : array[index][1];\n\t}\n\t\n\tmodule.exports = assocGet;\n\n\n/***/ },\n/* 103 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(10);\n\t\n\t/**\n\t * Checks if an associative array value for `key` exists.\n\t *\n\t * @private\n\t * @param {Array} array The array to query.\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction assocHas(array, key) {\n\t return assocIndexOf(array, key) > -1;\n\t}\n\t\n\tmodule.exports = assocHas;\n\n\n/***/ },\n/* 104 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(10);\n\t\n\t/**\n\t * Sets the associative array `key` to `value`.\n\t *\n\t * @private\n\t * @param {Array} array The array to modify.\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t */\n\tfunction assocSet(array, key, value) {\n\t var index = assocIndexOf(array, key);\n\t if (index < 0) {\n\t array.push([key, value]);\n\t } else {\n\t array[index][1] = value;\n\t }\n\t}\n\t\n\tmodule.exports = assocSet;\n\n\n/***/ },\n/* 105 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar indexOfNaN = __webpack_require__(118);\n\t\n\t/**\n\t * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {*} value The value to search for.\n\t * @param {number} fromIndex The index to search from.\n\t * @returns {number} Returns the index of the matched value, else `-1`.\n\t */\n\tfunction baseIndexOf(array, value, fromIndex) {\n\t if (value !== value) {\n\t return indexOfNaN(array, fromIndex);\n\t }\n\t var index = fromIndex - 1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (array[index] === value) {\n\t return index;\n\t }\n\t }\n\t return -1;\n\t}\n\t\n\tmodule.exports = baseIndexOf;\n\n\n/***/ },\n/* 106 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar SetCache = __webpack_require__(23),\n\t arrayIncludes = __webpack_require__(24),\n\t arrayIncludesWith = __webpack_require__(25),\n\t arrayMap = __webpack_require__(26),\n\t baseUnary = __webpack_require__(46),\n\t cacheHas = __webpack_require__(27);\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeMin = Math.min;\n\t\n\t/**\n\t * The base implementation of methods like `_.intersection`, without support\n\t * for iteratee shorthands, that accepts an array of arrays to inspect.\n\t *\n\t * @private\n\t * @param {Array} arrays The arrays to inspect.\n\t * @param {Function} [iteratee] The iteratee invoked per element.\n\t * @param {Function} [comparator] The comparator invoked per element.\n\t * @returns {Array} Returns the new array of shared values.\n\t */\n\tfunction baseIntersection(arrays, iteratee, comparator) {\n\t var includes = comparator ? arrayIncludesWith : arrayIncludes,\n\t length = arrays[0].length,\n\t othLength = arrays.length,\n\t othIndex = othLength,\n\t caches = Array(othLength),\n\t maxLength = Infinity,\n\t result = [];\n\t\n\t while (othIndex--) {\n\t var array = arrays[othIndex];\n\t if (othIndex && iteratee) {\n\t array = arrayMap(array, baseUnary(iteratee));\n\t }\n\t maxLength = nativeMin(array.length, maxLength);\n\t caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n\t ? new SetCache(othIndex && array)\n\t : undefined;\n\t }\n\t array = arrays[0];\n\t\n\t var index = -1,\n\t seen = caches[0];\n\t\n\t outer:\n\t while (++index < length && result.length < maxLength) {\n\t var value = array[index],\n\t computed = iteratee ? iteratee(value) : value;\n\t\n\t if (!(seen\n\t ? cacheHas(seen, computed)\n\t : includes(result, computed, comparator)\n\t )) {\n\t othIndex = othLength;\n\t while (--othIndex) {\n\t var cache = caches[othIndex];\n\t if (!(cache\n\t ? cacheHas(cache, computed)\n\t : includes(arrays[othIndex], computed, comparator))\n\t ) {\n\t continue outer;\n\t }\n\t }\n\t if (seen) {\n\t seen.push(computed);\n\t }\n\t result.push(value);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIntersection;\n\n\n/***/ },\n/* 107 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 108 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar SetCache = __webpack_require__(23),\n\t arrayIncludes = __webpack_require__(24),\n\t arrayIncludesWith = __webpack_require__(25),\n\t cacheHas = __webpack_require__(27),\n\t createSet = __webpack_require__(113),\n\t setToArray = __webpack_require__(125);\n\t\n\t/** Used as the size to enable large array optimizations. */\n\tvar LARGE_ARRAY_SIZE = 200;\n\t\n\t/**\n\t * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} array The array to inspect.\n\t * @param {Function} [iteratee] The iteratee invoked per element.\n\t * @param {Function} [comparator] The comparator invoked per element.\n\t * @returns {Array} Returns the new duplicate free array.\n\t */\n\tfunction baseUniq(array, iteratee, comparator) {\n\t var index = -1,\n\t includes = arrayIncludes,\n\t length = array.length,\n\t isCommon = true,\n\t result = [],\n\t seen = result;\n\t\n\t if (comparator) {\n\t isCommon = false;\n\t includes = arrayIncludesWith;\n\t }\n\t else if (length >= LARGE_ARRAY_SIZE) {\n\t var set = iteratee ? null : createSet(array);\n\t if (set) {\n\t return setToArray(set);\n\t }\n\t isCommon = false;\n\t includes = cacheHas;\n\t seen = new SetCache;\n\t }\n\t else {\n\t seen = iteratee ? [] : result;\n\t }\n\t outer:\n\t while (++index < length) {\n\t var value = array[index],\n\t computed = iteratee ? iteratee(value) : value;\n\t\n\t if (isCommon && computed === computed) {\n\t var seenIndex = seen.length;\n\t while (seenIndex--) {\n\t if (seen[seenIndex] === computed) {\n\t continue outer;\n\t }\n\t }\n\t if (iteratee) {\n\t seen.push(computed);\n\t }\n\t result.push(value);\n\t }\n\t else if (!includes(seen, computed, comparator)) {\n\t if (seen !== result) {\n\t seen.push(computed);\n\t }\n\t result.push(value);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseUniq;\n\n\n/***/ },\n/* 109 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayPush = __webpack_require__(100),\n\t baseDifference = __webpack_require__(45),\n\t baseUniq = __webpack_require__(108);\n\t\n\t/**\n\t * The base implementation of methods like `_.xor`, without support for\n\t * iteratee shorthands, that accepts an array of arrays to inspect.\n\t *\n\t * @private\n\t * @param {Array} arrays The arrays to inspect.\n\t * @param {Function} [iteratee] The iteratee invoked per element.\n\t * @param {Function} [comparator] The comparator invoked per element.\n\t * @returns {Array} Returns the new array of values.\n\t */\n\tfunction baseXor(arrays, iteratee, comparator) {\n\t var index = -1,\n\t length = arrays.length;\n\t\n\t while (++index < length) {\n\t var result = result\n\t ? arrayPush(\n\t baseDifference(result, arrays[index], iteratee, comparator),\n\t baseDifference(arrays[index], result, iteratee, comparator)\n\t )\n\t : arrays[index];\n\t }\n\t return (result && result.length) ? baseUniq(result, iteratee, comparator) : [];\n\t}\n\t\n\tmodule.exports = baseXor;\n\n\n/***/ },\n/* 110 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isKeyable = __webpack_require__(3);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/**\n\t * Adds `value` to the set cache.\n\t *\n\t * @private\n\t * @name push\n\t * @memberOf SetCache\n\t * @param {*} value The value to cache.\n\t */\n\tfunction cachePush(value) {\n\t var map = this.__data__;\n\t if (isKeyable(value)) {\n\t var data = map.__data__,\n\t hash = typeof value == 'string' ? data.string : data.hash;\n\t\n\t hash[value] = HASH_UNDEFINED;\n\t }\n\t else {\n\t map.set(value, HASH_UNDEFINED);\n\t }\n\t}\n\t\n\tmodule.exports = cachePush;\n\n\n/***/ },\n/* 111 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLikeObject = __webpack_require__(29);\n\t\n\t/**\n\t * Casts `value` to an empty array if it's not an array like object.\n\t *\n\t * @private\n\t * @param {*} value The value to inspect.\n\t * @returns {Array|Object} Returns the cast array-like object.\n\t */\n\tfunction castArrayLikeObject(value) {\n\t return isArrayLikeObject(value) ? value : [];\n\t}\n\t\n\tmodule.exports = castArrayLikeObject;\n\n\n/***/ },\n/* 112 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is a global object.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {null|Object} Returns `value` if it's a global object, else `null`.\n\t */\n\tfunction checkGlobal(value) {\n\t return (value && value.Object === Object) ? value : null;\n\t}\n\t\n\tmodule.exports = checkGlobal;\n\n\n/***/ },\n/* 113 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Set = __webpack_require__(97),\n\t noop = __webpack_require__(50);\n\t\n\t/**\n\t * Creates a set of `values`.\n\t *\n\t * @private\n\t * @param {Array} values The values to add to the set.\n\t * @returns {Object} Returns the new set.\n\t */\n\tvar createSet = !(Set && new Set([1, 2]).size === 2) ? noop : function(values) {\n\t return new Set(values);\n\t};\n\t\n\tmodule.exports = createSet;\n\n\n/***/ },\n/* 114 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(107);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a\n\t * [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792) that affects\n\t * Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 115 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar hashHas = __webpack_require__(47);\n\t\n\t/**\n\t * Removes `key` and its value from the hash.\n\t *\n\t * @private\n\t * @param {Object} hash The hash to modify.\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction hashDelete(hash, key) {\n\t return hashHas(hash, key) && delete hash[key];\n\t}\n\t\n\tmodule.exports = hashDelete;\n\n\n/***/ },\n/* 116 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(11);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Gets the hash value for `key`.\n\t *\n\t * @private\n\t * @param {Object} hash The hash to query.\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction hashGet(hash, key) {\n\t if (nativeCreate) {\n\t var result = hash[key];\n\t return result === HASH_UNDEFINED ? undefined : result;\n\t }\n\t return hasOwnProperty.call(hash, key) ? hash[key] : undefined;\n\t}\n\t\n\tmodule.exports = hashGet;\n\n\n/***/ },\n/* 117 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(11);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/**\n\t * Sets the hash `key` to `value`.\n\t *\n\t * @private\n\t * @param {Object} hash The hash to modify.\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t */\n\tfunction hashSet(hash, key, value) {\n\t hash[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n\t}\n\t\n\tmodule.exports = hashSet;\n\n\n/***/ },\n/* 118 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Gets the index at which the first occurrence of `NaN` is found in `array`.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {number} fromIndex The index to search from.\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {number} Returns the index of the matched `NaN`, else `-1`.\n\t */\n\tfunction indexOfNaN(array, fromIndex, fromRight) {\n\t var length = array.length,\n\t index = fromIndex + (fromRight ? 0 : -1);\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var other = array[index];\n\t if (other !== other) {\n\t return index;\n\t }\n\t }\n\t return -1;\n\t}\n\t\n\tmodule.exports = indexOfNaN;\n\n\n/***/ },\n/* 119 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is a host object in IE < 9.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n\t */\n\tfunction isHostObject(value) {\n\t // Many host objects are `Object` objects that can coerce to strings\n\t // despite having improperly defined `toString` methods.\n\t var result = false;\n\t if (value != null && typeof value.toString != 'function') {\n\t try {\n\t result = !!(value + '');\n\t } catch (e) {}\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = isHostObject;\n\n\n/***/ },\n/* 120 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Hash = __webpack_require__(95),\n\t Map = __webpack_require__(6);\n\t\n\t/**\n\t * Removes all key-value entries from the map.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf MapCache\n\t */\n\tfunction mapClear() {\n\t this.__data__ = {\n\t 'hash': new Hash,\n\t 'map': Map ? new Map : [],\n\t 'string': new Hash\n\t };\n\t}\n\t\n\tmodule.exports = mapClear;\n\n\n/***/ },\n/* 121 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Map = __webpack_require__(6),\n\t assocDelete = __webpack_require__(101),\n\t hashDelete = __webpack_require__(115),\n\t isKeyable = __webpack_require__(3);\n\t\n\t/**\n\t * Removes `key` and its value from the map.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction mapDelete(key) {\n\t var data = this.__data__;\n\t if (isKeyable(key)) {\n\t return hashDelete(typeof key == 'string' ? data.string : data.hash, key);\n\t }\n\t return Map ? data.map['delete'](key) : assocDelete(data.map, key);\n\t}\n\t\n\tmodule.exports = mapDelete;\n\n\n/***/ },\n/* 122 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Map = __webpack_require__(6),\n\t assocGet = __webpack_require__(102),\n\t hashGet = __webpack_require__(116),\n\t isKeyable = __webpack_require__(3);\n\t\n\t/**\n\t * Gets the map value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction mapGet(key) {\n\t var data = this.__data__;\n\t if (isKeyable(key)) {\n\t return hashGet(typeof key == 'string' ? data.string : data.hash, key);\n\t }\n\t return Map ? data.map.get(key) : assocGet(data.map, key);\n\t}\n\t\n\tmodule.exports = mapGet;\n\n\n/***/ },\n/* 123 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Map = __webpack_require__(6),\n\t assocHas = __webpack_require__(103),\n\t hashHas = __webpack_require__(47),\n\t isKeyable = __webpack_require__(3);\n\t\n\t/**\n\t * Checks if a map value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf MapCache\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction mapHas(key) {\n\t var data = this.__data__;\n\t if (isKeyable(key)) {\n\t return hashHas(typeof key == 'string' ? data.string : data.hash, key);\n\t }\n\t return Map ? data.map.has(key) : assocHas(data.map, key);\n\t}\n\t\n\tmodule.exports = mapHas;\n\n\n/***/ },\n/* 124 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Map = __webpack_require__(6),\n\t assocSet = __webpack_require__(104),\n\t hashSet = __webpack_require__(117),\n\t isKeyable = __webpack_require__(3);\n\t\n\t/**\n\t * Sets the map `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the map cache instance.\n\t */\n\tfunction mapSet(key, value) {\n\t var data = this.__data__;\n\t if (isKeyable(key)) {\n\t hashSet(typeof key == 'string' ? data.string : data.hash, key, value);\n\t } else if (Map) {\n\t data.map.set(key, value);\n\t } else {\n\t assocSet(data.map, key, value);\n\t }\n\t return this;\n\t}\n\t\n\tmodule.exports = mapSet;\n\n\n/***/ },\n/* 125 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Converts `set` to an array.\n\t *\n\t * @private\n\t * @param {Object} set The set to convert.\n\t * @returns {Array} Returns the converted array.\n\t */\n\tfunction setToArray(set) {\n\t var index = -1,\n\t result = Array(set.size);\n\t\n\t set.forEach(function(value) {\n\t result[++index] = value;\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = setToArray;\n\n\n/***/ },\n/* 126 */\n/***/ function(module, exports) {\n\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = Function.prototype.toString;\n\t\n\t/**\n\t * Converts `func` to its source code.\n\t *\n\t * @private\n\t * @param {Function} func The function to process.\n\t * @returns {string} Returns the source code.\n\t */\n\tfunction toSource(func) {\n\t if (func != null) {\n\t try {\n\t return funcToString.call(func);\n\t } catch (e) {}\n\t try {\n\t return (func + '');\n\t } catch (e) {}\n\t }\n\t return '';\n\t}\n\t\n\tmodule.exports = toSource;\n\n\n/***/ },\n/* 127 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Performs a\n\t * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n\t * comparison between two values to determine if they are equivalent.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t * var other = { 'user': 'fred' };\n\t *\n\t * _.eq(object, object);\n\t * // => true\n\t *\n\t * _.eq(object, other);\n\t * // => false\n\t *\n\t * _.eq('a', 'a');\n\t * // => true\n\t *\n\t * _.eq('a', Object('a'));\n\t * // => false\n\t *\n\t * _.eq(NaN, NaN);\n\t * // => true\n\t */\n\tfunction eq(value, other) {\n\t return value === other || (value !== value && other !== other);\n\t}\n\t\n\tmodule.exports = eq;\n\n\n/***/ },\n/* 128 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayMap = __webpack_require__(26),\n\t baseIntersection = __webpack_require__(106),\n\t castArrayLikeObject = __webpack_require__(111),\n\t rest = __webpack_require__(31);\n\t\n\t/**\n\t * Creates an array of unique values that are included in all given arrays\n\t * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n\t * for equality comparisons. The order of result values is determined by the\n\t * order they occur in the first array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Array\n\t * @param {...Array} [arrays] The arrays to inspect.\n\t * @returns {Array} Returns the new array of intersecting values.\n\t * @example\n\t *\n\t * _.intersection([2, 1], [4, 2], [1, 2]);\n\t * // => [2]\n\t */\n\tvar intersection = rest(function(arrays) {\n\t var mapped = arrayMap(arrays, castArrayLikeObject);\n\t return (mapped.length && mapped[0] === arrays[0])\n\t ? baseIntersection(mapped)\n\t : [];\n\t});\n\t\n\tmodule.exports = intersection;\n\n\n/***/ },\n/* 129 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(114),\n\t isFunction = __webpack_require__(30),\n\t isLength = __webpack_require__(130);\n\t\n\t/**\n\t * Checks if `value` is array-like. A value is considered array-like if it's\n\t * not a function and has a `value.length` that's an integer greater than or\n\t * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t * @example\n\t *\n\t * _.isArrayLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArrayLike(document.body.children);\n\t * // => true\n\t *\n\t * _.isArrayLike('abc');\n\t * // => true\n\t *\n\t * _.isArrayLike(_.noop);\n\t * // => false\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value)) && !isFunction(value);\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 130 */\n/***/ function(module, exports) {\n\n\t/** Used as references for various `Number` constants. */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is loosely based on\n\t * [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isLength(3);\n\t * // => true\n\t *\n\t * _.isLength(Number.MIN_VALUE);\n\t * // => false\n\t *\n\t * _.isLength(Infinity);\n\t * // => false\n\t *\n\t * _.isLength('3');\n\t * // => false\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' &&\n\t value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 131 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(30),\n\t isHostObject = __webpack_require__(119),\n\t isObject = __webpack_require__(13),\n\t toSource = __webpack_require__(126);\n\t\n\t/**\n\t * Used to match `RegExp`\n\t * [syntax characters](http://ecma-international.org/ecma-262/6.0/#sec-patterns).\n\t */\n\tvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\t\n\t/** Used to detect host constructors (Safari). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 3.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (!isObject(value)) {\n\t return false;\n\t }\n\t var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n\t return pattern.test(toSource(value));\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 132 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObjectLike = __webpack_require__(49);\n\t\n\t/** `Object#toString` result references. */\n\tvar symbolTag = '[object Symbol]';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Symbol` primitive or object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isSymbol(Symbol.iterator);\n\t * // => true\n\t *\n\t * _.isSymbol('abc');\n\t * // => false\n\t */\n\tfunction isSymbol(value) {\n\t return typeof value == 'symbol' ||\n\t (isObjectLike(value) && objectToString.call(value) == symbolTag);\n\t}\n\t\n\tmodule.exports = isSymbol;\n\n\n/***/ },\n/* 133 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toNumber = __webpack_require__(134);\n\t\n\t/** Used as references for various `Number` constants. */\n\tvar INFINITY = 1 / 0,\n\t MAX_INTEGER = 1.7976931348623157e+308;\n\t\n\t/**\n\t * Converts `value` to an integer.\n\t *\n\t * **Note:** This function is loosely based on\n\t * [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to convert.\n\t * @returns {number} Returns the converted integer.\n\t * @example\n\t *\n\t * _.toInteger(3);\n\t * // => 3\n\t *\n\t * _.toInteger(Number.MIN_VALUE);\n\t * // => 0\n\t *\n\t * _.toInteger(Infinity);\n\t * // => 1.7976931348623157e+308\n\t *\n\t * _.toInteger('3');\n\t * // => 3\n\t */\n\tfunction toInteger(value) {\n\t if (!value) {\n\t return value === 0 ? value : 0;\n\t }\n\t value = toNumber(value);\n\t if (value === INFINITY || value === -INFINITY) {\n\t var sign = (value < 0 ? -1 : 1);\n\t return sign * MAX_INTEGER;\n\t }\n\t var remainder = value % 1;\n\t return value === value ? (remainder ? value - remainder : value) : 0;\n\t}\n\t\n\tmodule.exports = toInteger;\n\n\n/***/ },\n/* 134 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(30),\n\t isObject = __webpack_require__(13),\n\t isSymbol = __webpack_require__(132);\n\t\n\t/** Used as references for various `Number` constants. */\n\tvar NAN = 0 / 0;\n\t\n\t/** Used to match leading and trailing whitespace. */\n\tvar reTrim = /^\\s+|\\s+$/g;\n\t\n\t/** Used to detect bad signed hexadecimal string values. */\n\tvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\t\n\t/** Used to detect binary string values. */\n\tvar reIsBinary = /^0b[01]+$/i;\n\t\n\t/** Used to detect octal string values. */\n\tvar reIsOctal = /^0o[0-7]+$/i;\n\t\n\t/** Built-in method references without a dependency on `root`. */\n\tvar freeParseInt = parseInt;\n\t\n\t/**\n\t * Converts `value` to a number.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to process.\n\t * @returns {number} Returns the number.\n\t * @example\n\t *\n\t * _.toNumber(3);\n\t * // => 3\n\t *\n\t * _.toNumber(Number.MIN_VALUE);\n\t * // => 5e-324\n\t *\n\t * _.toNumber(Infinity);\n\t * // => Infinity\n\t *\n\t * _.toNumber('3');\n\t * // => 3\n\t */\n\tfunction toNumber(value) {\n\t if (typeof value == 'number') {\n\t return value;\n\t }\n\t if (isSymbol(value)) {\n\t return NAN;\n\t }\n\t if (isObject(value)) {\n\t var other = isFunction(value.valueOf) ? value.valueOf() : value;\n\t value = isObject(other) ? (other + '') : other;\n\t }\n\t if (typeof value != 'string') {\n\t return value === 0 ? value : +value;\n\t }\n\t value = value.replace(reTrim, '');\n\t var isBinary = reIsBinary.test(value);\n\t return (isBinary || reIsOctal.test(value))\n\t ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n\t : (reIsBadHex.test(value) ? NAN : +value);\n\t}\n\t\n\tmodule.exports = toNumber;\n\n\n/***/ },\n/* 135 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseDifference = __webpack_require__(45),\n\t isArrayLikeObject = __webpack_require__(29),\n\t rest = __webpack_require__(31);\n\t\n\t/**\n\t * Creates an array excluding all given values using\n\t * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n\t * for equality comparisons.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Array\n\t * @param {Array} array The array to filter.\n\t * @param {...*} [values] The values to exclude.\n\t * @returns {Array} Returns the new array of filtered values.\n\t * @example\n\t *\n\t * _.without([1, 2, 1, 3], 1, 2);\n\t * // => [3]\n\t */\n\tvar without = rest(function(array, values) {\n\t return isArrayLikeObject(array)\n\t ? baseDifference(array, values)\n\t : [];\n\t});\n\t\n\tmodule.exports = without;\n\n\n/***/ },\n/* 136 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayFilter = __webpack_require__(99),\n\t baseXor = __webpack_require__(109),\n\t isArrayLikeObject = __webpack_require__(29),\n\t rest = __webpack_require__(31);\n\t\n\t/**\n\t * Creates an array of unique values that is the\n\t * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\n\t * of the given arrays. The order of result values is determined by the order\n\t * they occur in the arrays.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 2.4.0\n\t * @category Array\n\t * @param {...Array} [arrays] The arrays to inspect.\n\t * @returns {Array} Returns the new array of values.\n\t * @example\n\t *\n\t * _.xor([2, 1], [4, 2]);\n\t * // => [1, 4]\n\t */\n\tvar xor = rest(function(arrays) {\n\t return baseXor(arrayFilter(arrays, isArrayLikeObject));\n\t});\n\t\n\tmodule.exports = xor;\n\n\n/***/ },\n/* 137 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t */\n\t\n\t'use strict';\n\t\n\t/**\n\t * Use invariant() to assert state which your program assumes to be true.\n\t *\n\t * Provide sprintf-style format (only %s is supported) and arguments\n\t * to provide information about what broke and what you were\n\t * expecting.\n\t *\n\t * The invariant message will be stripped in production, but the invariant\n\t * will remain to ensure logic does not differ in production.\n\t */\n\t\n\tfunction invariant(condition, format, a, b, c, d, e, f) {\n\t if (false) {\n\t if (format === undefined) {\n\t throw new Error('invariant requires an error message argument');\n\t }\n\t }\n\t\n\t if (!condition) {\n\t var error;\n\t if (format === undefined) {\n\t error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n\t } else {\n\t var args = [a, b, c, d, e, f];\n\t var argIndex = 0;\n\t error = new Error(format.replace(/%s/g, function () {\n\t return args[argIndex++];\n\t }));\n\t error.name = 'Invariant Violation';\n\t }\n\t\n\t error.framesToPop = 1; // we don't care about invariant's own frame\n\t throw error;\n\t }\n\t}\n\t\n\tmodule.exports = invariant;\n\n/***/ },\n/* 138 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t */\n\t\n\t/**\n\t * Allows extraction of a minified key. Let's the build system minify keys\n\t * without losing the ability to dynamically use key strings as values\n\t * themselves. Pass in an object with a single key/val pair and it will return\n\t * you the string key of that single record. Suppose you want to grab the\n\t * value for a key 'className' inside of an object. Key/val minification may\n\t * have aliased that key to be 'xa12'. keyOf({className: null}) will return\n\t * 'xa12' in that case. Resolve keys you want to use once at startup time, then\n\t * reuse those resolutions.\n\t */\n\tvar keyOf = function (oneKeyObj) {\n\t var key;\n\t for (key in oneKeyObj) {\n\t if (!oneKeyObj.hasOwnProperty(key)) {\n\t continue;\n\t }\n\t return key;\n\t }\n\t return null;\n\t};\n\t\n\tmodule.exports = keyOf;\n\n/***/ },\n/* 139 */\n/***/ function(module, exports) {\n\n\t/* eslint-disable no-unused-vars */\n\t'use strict';\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\t\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\t\n\t\treturn Object(val);\n\t}\n\t\n\tmodule.exports = Object.assign || function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\t\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\t\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\tif (Object.getOwnPropertySymbols) {\n\t\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\treturn to;\n\t};\n\n\n/***/ },\n/* 140 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _lodashUnion = __webpack_require__(200);\n\t\n\tvar _lodashUnion2 = _interopRequireDefault(_lodashUnion);\n\t\n\tvar _lodashWithout = __webpack_require__(201);\n\t\n\tvar _lodashWithout2 = _interopRequireDefault(_lodashWithout);\n\t\n\tvar EnterLeaveCounter = (function () {\n\t function EnterLeaveCounter() {\n\t _classCallCheck(this, EnterLeaveCounter);\n\t\n\t this.entered = [];\n\t }\n\t\n\t EnterLeaveCounter.prototype.enter = function enter(enteringNode) {\n\t var previousLength = this.entered.length;\n\t\n\t this.entered = _lodashUnion2['default'](this.entered.filter(function (node) {\n\t return document.documentElement.contains(node) && (!node.contains || node.contains(enteringNode));\n\t }), [enteringNode]);\n\t\n\t return previousLength === 0 && this.entered.length > 0;\n\t };\n\t\n\t EnterLeaveCounter.prototype.leave = function leave(leavingNode) {\n\t var previousLength = this.entered.length;\n\t\n\t this.entered = _lodashWithout2['default'](this.entered.filter(function (node) {\n\t return document.documentElement.contains(node);\n\t }), leavingNode);\n\t\n\t return previousLength > 0 && this.entered.length === 0;\n\t };\n\t\n\t EnterLeaveCounter.prototype.reset = function reset() {\n\t this.entered = [];\n\t };\n\t\n\t return EnterLeaveCounter;\n\t})();\n\t\n\texports['default'] = EnterLeaveCounter;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 141 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _lodashDefaults = __webpack_require__(191);\n\t\n\tvar _lodashDefaults2 = _interopRequireDefault(_lodashDefaults);\n\t\n\tvar _shallowEqual = __webpack_require__(147);\n\t\n\tvar _shallowEqual2 = _interopRequireDefault(_shallowEqual);\n\t\n\tvar _EnterLeaveCounter = __webpack_require__(140);\n\t\n\tvar _EnterLeaveCounter2 = _interopRequireDefault(_EnterLeaveCounter);\n\t\n\tvar _BrowserDetector = __webpack_require__(51);\n\t\n\tvar _OffsetUtils = __webpack_require__(144);\n\t\n\tvar _NativeDragSources = __webpack_require__(143);\n\t\n\tvar _NativeTypes = __webpack_require__(32);\n\t\n\tvar NativeTypes = _interopRequireWildcard(_NativeTypes);\n\t\n\tvar HTML5Backend = (function () {\n\t function HTML5Backend(manager) {\n\t _classCallCheck(this, HTML5Backend);\n\t\n\t this.actions = manager.getActions();\n\t this.monitor = manager.getMonitor();\n\t this.registry = manager.getRegistry();\n\t\n\t this.sourcePreviewNodes = {};\n\t this.sourcePreviewNodeOptions = {};\n\t this.sourceNodes = {};\n\t this.sourceNodeOptions = {};\n\t this.enterLeaveCounter = new _EnterLeaveCounter2['default']();\n\t\n\t this.getSourceClientOffset = this.getSourceClientOffset.bind(this);\n\t this.handleTopDragStart = this.handleTopDragStart.bind(this);\n\t this.handleTopDragStartCapture = this.handleTopDragStartCapture.bind(this);\n\t this.handleTopDragEndCapture = this.handleTopDragEndCapture.bind(this);\n\t this.handleTopDragEnter = this.handleTopDragEnter.bind(this);\n\t this.handleTopDragEnterCapture = this.handleTopDragEnterCapture.bind(this);\n\t this.handleTopDragLeaveCapture = this.handleTopDragLeaveCapture.bind(this);\n\t this.handleTopDragOver = this.handleTopDragOver.bind(this);\n\t this.handleTopDragOverCapture = this.handleTopDragOverCapture.bind(this);\n\t this.handleTopDrop = this.handleTopDrop.bind(this);\n\t this.handleTopDropCapture = this.handleTopDropCapture.bind(this);\n\t this.handleSelectStart = this.handleSelectStart.bind(this);\n\t this.endDragIfSourceWasRemovedFromDOM = this.endDragIfSourceWasRemovedFromDOM.bind(this);\n\t this.endDragNativeItem = this.endDragNativeItem.bind(this);\n\t }\n\t\n\t HTML5Backend.prototype.setup = function setup() {\n\t if (typeof window === 'undefined') {\n\t return;\n\t }\n\t\n\t if (this.constructor.isSetUp) {\n\t throw new Error('Cannot have two HTML5 backends at the same time.');\n\t }\n\t this.constructor.isSetUp = true;\n\t this.addEventListeners(window);\n\t };\n\t\n\t HTML5Backend.prototype.teardown = function teardown() {\n\t if (typeof window === 'undefined') {\n\t return;\n\t }\n\t\n\t this.constructor.isSetUp = false;\n\t this.removeEventListeners(window);\n\t this.clearCurrentDragSourceNode();\n\t };\n\t\n\t HTML5Backend.prototype.addEventListeners = function addEventListeners(target) {\n\t target.addEventListener('dragstart', this.handleTopDragStart);\n\t target.addEventListener('dragstart', this.handleTopDragStartCapture, true);\n\t target.addEventListener('dragend', this.handleTopDragEndCapture, true);\n\t target.addEventListener('dragenter', this.handleTopDragEnter);\n\t target.addEventListener('dragenter', this.handleTopDragEnterCapture, true);\n\t target.addEventListener('dragleave', this.handleTopDragLeaveCapture, true);\n\t target.addEventListener('dragover', this.handleTopDragOver);\n\t target.addEventListener('dragover', this.handleTopDragOverCapture, true);\n\t target.addEventListener('drop', this.handleTopDrop);\n\t target.addEventListener('drop', this.handleTopDropCapture, true);\n\t };\n\t\n\t HTML5Backend.prototype.removeEventListeners = function removeEventListeners(target) {\n\t target.removeEventListener('dragstart', this.handleTopDragStart);\n\t target.removeEventListener('dragstart', this.handleTopDragStartCapture, true);\n\t target.removeEventListener('dragend', this.handleTopDragEndCapture, true);\n\t target.removeEventListener('dragenter', this.handleTopDragEnter);\n\t target.removeEventListener('dragenter', this.handleTopDragEnterCapture, true);\n\t target.removeEventListener('dragleave', this.handleTopDragLeaveCapture, true);\n\t target.removeEventListener('dragover', this.handleTopDragOver);\n\t target.removeEventListener('dragover', this.handleTopDragOverCapture, true);\n\t target.removeEventListener('drop', this.handleTopDrop);\n\t target.removeEventListener('drop', this.handleTopDropCapture, true);\n\t };\n\t\n\t HTML5Backend.prototype.connectDragPreview = function connectDragPreview(sourceId, node, options) {\n\t var _this = this;\n\t\n\t this.sourcePreviewNodeOptions[sourceId] = options;\n\t this.sourcePreviewNodes[sourceId] = node;\n\t\n\t return function () {\n\t delete _this.sourcePreviewNodes[sourceId];\n\t delete _this.sourcePreviewNodeOptions[sourceId];\n\t };\n\t };\n\t\n\t HTML5Backend.prototype.connectDragSource = function connectDragSource(sourceId, node, options) {\n\t var _this2 = this;\n\t\n\t this.sourceNodes[sourceId] = node;\n\t this.sourceNodeOptions[sourceId] = options;\n\t\n\t var handleDragStart = function handleDragStart(e) {\n\t return _this2.handleDragStart(e, sourceId);\n\t };\n\t var handleSelectStart = function handleSelectStart(e) {\n\t return _this2.handleSelectStart(e, sourceId);\n\t };\n\t\n\t node.setAttribute('draggable', true);\n\t node.addEventListener('dragstart', handleDragStart);\n\t node.addEventListener('selectstart', handleSelectStart);\n\t\n\t return function () {\n\t delete _this2.sourceNodes[sourceId];\n\t delete _this2.sourceNodeOptions[sourceId];\n\t\n\t node.removeEventListener('dragstart', handleDragStart);\n\t node.removeEventListener('selectstart', handleSelectStart);\n\t node.setAttribute('draggable', false);\n\t };\n\t };\n\t\n\t HTML5Backend.prototype.connectDropTarget = function connectDropTarget(targetId, node) {\n\t var _this3 = this;\n\t\n\t var handleDragEnter = function handleDragEnter(e) {\n\t return _this3.handleDragEnter(e, targetId);\n\t };\n\t var handleDragOver = function handleDragOver(e) {\n\t return _this3.handleDragOver(e, targetId);\n\t };\n\t var handleDrop = function handleDrop(e) {\n\t return _this3.handleDrop(e, targetId);\n\t };\n\t\n\t node.addEventListener('dragenter', handleDragEnter);\n\t node.addEventListener('dragover', handleDragOver);\n\t node.addEventListener('drop', handleDrop);\n\t\n\t return function () {\n\t node.removeEventListener('dragenter', handleDragEnter);\n\t node.removeEventListener('dragover', handleDragOver);\n\t node.removeEventListener('drop', handleDrop);\n\t };\n\t };\n\t\n\t HTML5Backend.prototype.getCurrentSourceNodeOptions = function getCurrentSourceNodeOptions() {\n\t var sourceId = this.monitor.getSourceId();\n\t var sourceNodeOptions = this.sourceNodeOptions[sourceId];\n\t\n\t return _lodashDefaults2['default'](sourceNodeOptions || {}, {\n\t dropEffect: 'move'\n\t });\n\t };\n\t\n\t HTML5Backend.prototype.getCurrentDropEffect = function getCurrentDropEffect() {\n\t if (this.isDraggingNativeItem()) {\n\t // It makes more sense to default to 'copy' for native resources\n\t return 'copy';\n\t }\n\t\n\t return this.getCurrentSourceNodeOptions().dropEffect;\n\t };\n\t\n\t HTML5Backend.prototype.getCurrentSourcePreviewNodeOptions = function getCurrentSourcePreviewNodeOptions() {\n\t var sourceId = this.monitor.getSourceId();\n\t var sourcePreviewNodeOptions = this.sourcePreviewNodeOptions[sourceId];\n\t\n\t return _lodashDefaults2['default'](sourcePreviewNodeOptions || {}, {\n\t anchorX: 0.5,\n\t anchorY: 0.5,\n\t captureDraggingState: false\n\t });\n\t };\n\t\n\t HTML5Backend.prototype.getSourceClientOffset = function getSourceClientOffset(sourceId) {\n\t return _OffsetUtils.getNodeClientOffset(this.sourceNodes[sourceId]);\n\t };\n\t\n\t HTML5Backend.prototype.isDraggingNativeItem = function isDraggingNativeItem() {\n\t var itemType = this.monitor.getItemType();\n\t return Object.keys(NativeTypes).some(function (key) {\n\t return NativeTypes[key] === itemType;\n\t });\n\t };\n\t\n\t HTML5Backend.prototype.beginDragNativeItem = function beginDragNativeItem(type) {\n\t this.clearCurrentDragSourceNode();\n\t\n\t var SourceType = _NativeDragSources.createNativeDragSource(type);\n\t this.currentNativeSource = new SourceType();\n\t this.currentNativeHandle = this.registry.addSource(type, this.currentNativeSource);\n\t this.actions.beginDrag([this.currentNativeHandle]);\n\t\n\t // On Firefox, if mousemove fires, the drag is over but browser failed to tell us.\n\t // This is not true for other browsers.\n\t if (_BrowserDetector.isFirefox()) {\n\t window.addEventListener('mousemove', this.endDragNativeItem, true);\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.endDragNativeItem = function endDragNativeItem() {\n\t if (!this.isDraggingNativeItem()) {\n\t return;\n\t }\n\t\n\t if (_BrowserDetector.isFirefox()) {\n\t window.removeEventListener('mousemove', this.endDragNativeItem, true);\n\t }\n\t\n\t this.actions.endDrag();\n\t this.registry.removeSource(this.currentNativeHandle);\n\t this.currentNativeHandle = null;\n\t this.currentNativeSource = null;\n\t };\n\t\n\t HTML5Backend.prototype.endDragIfSourceWasRemovedFromDOM = function endDragIfSourceWasRemovedFromDOM() {\n\t var node = this.currentDragSourceNode;\n\t if (document.body.contains(node)) {\n\t return;\n\t }\n\t\n\t if (this.clearCurrentDragSourceNode()) {\n\t this.actions.endDrag();\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.setCurrentDragSourceNode = function setCurrentDragSourceNode(node) {\n\t this.clearCurrentDragSourceNode();\n\t this.currentDragSourceNode = node;\n\t this.currentDragSourceNodeOffset = _OffsetUtils.getNodeClientOffset(node);\n\t this.currentDragSourceNodeOffsetChanged = false;\n\t\n\t // Receiving a mouse event in the middle of a dragging operation\n\t // means it has ended and the drag source node disappeared from DOM,\n\t // so the browser didn't dispatch the dragend event.\n\t window.addEventListener('mousemove', this.endDragIfSourceWasRemovedFromDOM, true);\n\t };\n\t\n\t HTML5Backend.prototype.clearCurrentDragSourceNode = function clearCurrentDragSourceNode() {\n\t if (this.currentDragSourceNode) {\n\t this.currentDragSourceNode = null;\n\t this.currentDragSourceNodeOffset = null;\n\t this.currentDragSourceNodeOffsetChanged = false;\n\t window.removeEventListener('mousemove', this.endDragIfSourceWasRemovedFromDOM, true);\n\t return true;\n\t }\n\t\n\t return false;\n\t };\n\t\n\t HTML5Backend.prototype.checkIfCurrentDragSourceRectChanged = function checkIfCurrentDragSourceRectChanged() {\n\t var node = this.currentDragSourceNode;\n\t if (!node) {\n\t return false;\n\t }\n\t\n\t if (this.currentDragSourceNodeOffsetChanged) {\n\t return true;\n\t }\n\t\n\t this.currentDragSourceNodeOffsetChanged = !_shallowEqual2['default'](_OffsetUtils.getNodeClientOffset(node), this.currentDragSourceNodeOffset);\n\t\n\t return this.currentDragSourceNodeOffsetChanged;\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragStartCapture = function handleTopDragStartCapture() {\n\t this.clearCurrentDragSourceNode();\n\t this.dragStartSourceIds = [];\n\t };\n\t\n\t HTML5Backend.prototype.handleDragStart = function handleDragStart(e, sourceId) {\n\t this.dragStartSourceIds.unshift(sourceId);\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragStart = function handleTopDragStart(e) {\n\t var _this4 = this;\n\t\n\t var dragStartSourceIds = this.dragStartSourceIds;\n\t\n\t this.dragStartSourceIds = null;\n\t\n\t var clientOffset = _OffsetUtils.getEventClientOffset(e);\n\t\n\t // Don't publish the source just yet (see why below)\n\t this.actions.beginDrag(dragStartSourceIds, {\n\t publishSource: false,\n\t getSourceClientOffset: this.getSourceClientOffset,\n\t clientOffset: clientOffset\n\t });\n\t\n\t var dataTransfer = e.dataTransfer;\n\t\n\t var nativeType = _NativeDragSources.matchNativeItemType(dataTransfer);\n\t\n\t if (this.monitor.isDragging()) {\n\t if (typeof dataTransfer.setDragImage === 'function') {\n\t // Use custom drag image if user specifies it.\n\t // If child drag source refuses drag but parent agrees,\n\t // use parent's node as drag image. Neither works in IE though.\n\t var sourceId = this.monitor.getSourceId();\n\t var sourceNode = this.sourceNodes[sourceId];\n\t var dragPreview = this.sourcePreviewNodes[sourceId] || sourceNode;\n\t\n\t var _getCurrentSourcePreviewNodeOptions = this.getCurrentSourcePreviewNodeOptions();\n\t\n\t var anchorX = _getCurrentSourcePreviewNodeOptions.anchorX;\n\t var anchorY = _getCurrentSourcePreviewNodeOptions.anchorY;\n\t\n\t var anchorPoint = { anchorX: anchorX, anchorY: anchorY };\n\t var dragPreviewOffset = _OffsetUtils.getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint);\n\t dataTransfer.setDragImage(dragPreview, dragPreviewOffset.x, dragPreviewOffset.y);\n\t }\n\t\n\t try {\n\t // Firefox won't drag without setting data\n\t dataTransfer.setData('application/json', {});\n\t } catch (err) {}\n\t // IE doesn't support MIME types in setData\n\t\n\t // Store drag source node so we can check whether\n\t // it is removed from DOM and trigger endDrag manually.\n\t this.setCurrentDragSourceNode(e.target);\n\t\n\t // Now we are ready to publish the drag source.. or are we not?\n\t\n\t var _getCurrentSourcePreviewNodeOptions2 = this.getCurrentSourcePreviewNodeOptions();\n\t\n\t var captureDraggingState = _getCurrentSourcePreviewNodeOptions2.captureDraggingState;\n\t\n\t if (!captureDraggingState) {\n\t // Usually we want to publish it in the next tick so that browser\n\t // is able to screenshot the current (not yet dragging) state.\n\t //\n\t // It also neatly avoids a situation where render() returns null\n\t // in the same tick for the source element, and browser freaks out.\n\t setTimeout(function () {\n\t return _this4.actions.publishDragSource();\n\t });\n\t } else {\n\t // In some cases the user may want to override this behavior, e.g.\n\t // to work around IE not supporting custom drag previews.\n\t //\n\t // When using a custom drag layer, the only way to prevent\n\t // the default drag preview from drawing in IE is to screenshot\n\t // the dragging state in which the node itself has zero opacity\n\t // and height. In this case, though, returning null from render()\n\t // will abruptly end the dragging, which is not obvious.\n\t //\n\t // This is the reason such behavior is strictly opt-in.\n\t this.actions.publishDragSource();\n\t }\n\t } else if (nativeType) {\n\t // A native item (such as URL) dragged from inside the document\n\t this.beginDragNativeItem(nativeType);\n\t } else if (!dataTransfer.types && (!e.target.hasAttribute || !e.target.hasAttribute('draggable'))) {\n\t // Looks like a Safari bug: dataTransfer.types is null, but there was no draggable.\n\t // Just let it drag. It's a native type (URL or text) and will be picked up in dragenter handler.\n\t return;\n\t } else {\n\t // If by this time no drag source reacted, tell browser not to drag.\n\t e.preventDefault();\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragEndCapture = function handleTopDragEndCapture() {\n\t if (this.clearCurrentDragSourceNode()) {\n\t // Firefox can dispatch this event in an infinite loop\n\t // if dragend handler does something like showing an alert.\n\t // Only proceed if we have not handled it already.\n\t this.actions.endDrag();\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragEnterCapture = function handleTopDragEnterCapture(e) {\n\t this.dragEnterTargetIds = [];\n\t\n\t var isFirstEnter = this.enterLeaveCounter.enter(e.target);\n\t if (!isFirstEnter || this.monitor.isDragging()) {\n\t return;\n\t }\n\t\n\t var dataTransfer = e.dataTransfer;\n\t\n\t var nativeType = _NativeDragSources.matchNativeItemType(dataTransfer);\n\t\n\t if (nativeType) {\n\t // A native item (such as file or URL) dragged from outside the document\n\t this.beginDragNativeItem(nativeType);\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleDragEnter = function handleDragEnter(e, targetId) {\n\t this.dragEnterTargetIds.unshift(targetId);\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragEnter = function handleTopDragEnter(e) {\n\t var _this5 = this;\n\t\n\t var dragEnterTargetIds = this.dragEnterTargetIds;\n\t\n\t this.dragEnterTargetIds = [];\n\t\n\t if (!this.monitor.isDragging()) {\n\t // This is probably a native item type we don't understand.\n\t return;\n\t }\n\t\n\t if (!_BrowserDetector.isFirefox()) {\n\t // Don't emit hover in `dragenter` on Firefox due to an edge case.\n\t // If the target changes position as the result of `dragenter`, Firefox\n\t // will still happily dispatch `dragover` despite target being no longer\n\t // there. The easy solution is to only fire `hover` in `dragover` on FF.\n\t this.actions.hover(dragEnterTargetIds, {\n\t clientOffset: _OffsetUtils.getEventClientOffset(e)\n\t });\n\t }\n\t\n\t var canDrop = dragEnterTargetIds.some(function (targetId) {\n\t return _this5.monitor.canDropOnTarget(targetId);\n\t });\n\t\n\t if (canDrop) {\n\t // IE requires this to fire dragover events\n\t e.preventDefault();\n\t e.dataTransfer.dropEffect = this.getCurrentDropEffect();\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragOverCapture = function handleTopDragOverCapture() {\n\t this.dragOverTargetIds = [];\n\t };\n\t\n\t HTML5Backend.prototype.handleDragOver = function handleDragOver(e, targetId) {\n\t this.dragOverTargetIds.unshift(targetId);\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragOver = function handleTopDragOver(e) {\n\t var _this6 = this;\n\t\n\t var dragOverTargetIds = this.dragOverTargetIds;\n\t\n\t this.dragOverTargetIds = [];\n\t\n\t if (!this.monitor.isDragging()) {\n\t // This is probably a native item type we don't understand.\n\t // Prevent default \"drop and blow away the whole document\" action.\n\t e.preventDefault();\n\t e.dataTransfer.dropEffect = 'none';\n\t return;\n\t }\n\t\n\t this.actions.hover(dragOverTargetIds, {\n\t clientOffset: _OffsetUtils.getEventClientOffset(e)\n\t });\n\t\n\t var canDrop = dragOverTargetIds.some(function (targetId) {\n\t return _this6.monitor.canDropOnTarget(targetId);\n\t });\n\t\n\t if (canDrop) {\n\t // Show user-specified drop effect.\n\t e.preventDefault();\n\t e.dataTransfer.dropEffect = this.getCurrentDropEffect();\n\t } else if (this.isDraggingNativeItem()) {\n\t // Don't show a nice cursor but still prevent default\n\t // \"drop and blow away the whole document\" action.\n\t e.preventDefault();\n\t e.dataTransfer.dropEffect = 'none';\n\t } else if (this.checkIfCurrentDragSourceRectChanged()) {\n\t // Prevent animating to incorrect position.\n\t // Drop effect must be other than 'none' to prevent animation.\n\t e.preventDefault();\n\t e.dataTransfer.dropEffect = 'move';\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragLeaveCapture = function handleTopDragLeaveCapture(e) {\n\t if (this.isDraggingNativeItem()) {\n\t e.preventDefault();\n\t }\n\t\n\t var isLastLeave = this.enterLeaveCounter.leave(e.target);\n\t if (!isLastLeave) {\n\t return;\n\t }\n\t\n\t if (this.isDraggingNativeItem()) {\n\t this.endDragNativeItem();\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDropCapture = function handleTopDropCapture(e) {\n\t this.dropTargetIds = [];\n\t e.preventDefault();\n\t\n\t if (this.isDraggingNativeItem()) {\n\t this.currentNativeSource.mutateItemByReadingDataTransfer(e.dataTransfer);\n\t }\n\t\n\t this.enterLeaveCounter.reset();\n\t };\n\t\n\t HTML5Backend.prototype.handleDrop = function handleDrop(e, targetId) {\n\t this.dropTargetIds.unshift(targetId);\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDrop = function handleTopDrop(e) {\n\t var dropTargetIds = this.dropTargetIds;\n\t\n\t this.dropTargetIds = [];\n\t\n\t this.actions.hover(dropTargetIds, {\n\t clientOffset: _OffsetUtils.getEventClientOffset(e)\n\t });\n\t this.actions.drop();\n\t\n\t if (this.isDraggingNativeItem()) {\n\t this.endDragNativeItem();\n\t } else {\n\t this.endDragIfSourceWasRemovedFromDOM();\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleSelectStart = function handleSelectStart(e) {\n\t var target = e.target;\n\t\n\t // Only IE requires us to explicitly say\n\t // we want drag drop operation to start\n\t if (typeof target.dragDrop !== 'function') {\n\t return;\n\t }\n\t\n\t // Inputs and textareas should be selectable\n\t if (target.tagName === 'INPUT' || target.tagName === 'SELECT' || target.tagName === 'TEXTAREA' || target.isContentEditable) {\n\t return;\n\t }\n\t\n\t // For other targets, ask IE\n\t // to enable drag and drop\n\t e.preventDefault();\n\t target.dragDrop();\n\t };\n\t\n\t return HTML5Backend;\n\t})();\n\t\n\texports['default'] = HTML5Backend;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 142 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar MonotonicInterpolant = (function () {\n\t function MonotonicInterpolant(xs, ys) {\n\t _classCallCheck(this, MonotonicInterpolant);\n\t\n\t var length = xs.length;\n\t\n\t // Rearrange xs and ys so that xs is sorted\n\t var indexes = [];\n\t for (var i = 0; i < length; i++) {\n\t indexes.push(i);\n\t }\n\t indexes.sort(function (a, b) {\n\t return xs[a] < xs[b] ? -1 : 1;\n\t });\n\t\n\t // Get consecutive differences and slopes\n\t var dys = [];\n\t var dxs = [];\n\t var ms = [];\n\t var dx = undefined;\n\t var dy = undefined;\n\t for (var i = 0; i < length - 1; i++) {\n\t dx = xs[i + 1] - xs[i];\n\t dy = ys[i + 1] - ys[i];\n\t dxs.push(dx);\n\t dys.push(dy);\n\t ms.push(dy / dx);\n\t }\n\t\n\t // Get degree-1 coefficients\n\t var c1s = [ms[0]];\n\t for (var i = 0; i < dxs.length - 1; i++) {\n\t var _m = ms[i];\n\t var mNext = ms[i + 1];\n\t if (_m * mNext <= 0) {\n\t c1s.push(0);\n\t } else {\n\t dx = dxs[i];\n\t var dxNext = dxs[i + 1];\n\t var common = dx + dxNext;\n\t c1s.push(3 * common / ((common + dxNext) / _m + (common + dx) / mNext));\n\t }\n\t }\n\t c1s.push(ms[ms.length - 1]);\n\t\n\t // Get degree-2 and degree-3 coefficients\n\t var c2s = [];\n\t var c3s = [];\n\t var m = undefined;\n\t for (var i = 0; i < c1s.length - 1; i++) {\n\t m = ms[i];\n\t var c1 = c1s[i];\n\t var invDx = 1 / dxs[i];\n\t var common = c1 + c1s[i + 1] - m - m;\n\t c2s.push((m - c1 - common) * invDx);\n\t c3s.push(common * invDx * invDx);\n\t }\n\t\n\t this.xs = xs;\n\t this.ys = ys;\n\t this.c1s = c1s;\n\t this.c2s = c2s;\n\t this.c3s = c3s;\n\t }\n\t\n\t MonotonicInterpolant.prototype.interpolate = function interpolate(x) {\n\t var xs = this.xs;\n\t var ys = this.ys;\n\t var c1s = this.c1s;\n\t var c2s = this.c2s;\n\t var c3s = this.c3s;\n\t\n\t // The rightmost point in the dataset should give an exact result\n\t var i = xs.length - 1;\n\t if (x === xs[i]) {\n\t return ys[i];\n\t }\n\t\n\t // Search for the interval x is in, returning the corresponding y if x is one of the original xs\n\t var low = 0;\n\t var high = c3s.length - 1;\n\t var mid = undefined;\n\t while (low <= high) {\n\t mid = Math.floor(0.5 * (low + high));\n\t var xHere = xs[mid];\n\t if (xHere < x) {\n\t low = mid + 1;\n\t } else if (xHere > x) {\n\t high = mid - 1;\n\t } else {\n\t return ys[mid];\n\t }\n\t }\n\t i = Math.max(0, high);\n\t\n\t // Interpolate\n\t var diff = x - xs[i];\n\t var diffSq = diff * diff;\n\t return ys[i] + c1s[i] * diff + c2s[i] * diffSq + c3s[i] * diff * diffSq;\n\t };\n\t\n\t return MonotonicInterpolant;\n\t})();\n\t\n\texports[\"default\"] = MonotonicInterpolant;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 143 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _nativeTypesConfig;\n\t\n\texports.createNativeDragSource = createNativeDragSource;\n\texports.matchNativeItemType = matchNativeItemType;\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tfunction _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; }\n\t\n\tvar _NativeTypes = __webpack_require__(32);\n\t\n\tvar NativeTypes = _interopRequireWildcard(_NativeTypes);\n\t\n\tfunction getDataFromDataTransfer(dataTransfer, typesToTry, defaultValue) {\n\t var result = typesToTry.reduce(function (resultSoFar, typeToTry) {\n\t return resultSoFar || dataTransfer.getData(typeToTry);\n\t }, null);\n\t\n\t return result != null ? // eslint-disable-line eqeqeq\n\t result : defaultValue;\n\t}\n\t\n\tvar nativeTypesConfig = (_nativeTypesConfig = {}, _defineProperty(_nativeTypesConfig, NativeTypes.FILE, {\n\t exposeProperty: 'files',\n\t matchesTypes: ['Files'],\n\t getData: function getData(dataTransfer) {\n\t return Array.prototype.slice.call(dataTransfer.files);\n\t }\n\t}), _defineProperty(_nativeTypesConfig, NativeTypes.URL, {\n\t exposeProperty: 'urls',\n\t matchesTypes: ['Url', 'text/uri-list'],\n\t getData: function getData(dataTransfer, matchesTypes) {\n\t return getDataFromDataTransfer(dataTransfer, matchesTypes, '').split('\\n');\n\t }\n\t}), _defineProperty(_nativeTypesConfig, NativeTypes.TEXT, {\n\t exposeProperty: 'text',\n\t matchesTypes: ['Text', 'text/plain'],\n\t getData: function getData(dataTransfer, matchesTypes) {\n\t return getDataFromDataTransfer(dataTransfer, matchesTypes, '');\n\t }\n\t}), _nativeTypesConfig);\n\t\n\tfunction createNativeDragSource(type) {\n\t var _nativeTypesConfig$type = nativeTypesConfig[type];\n\t var exposeProperty = _nativeTypesConfig$type.exposeProperty;\n\t var matchesTypes = _nativeTypesConfig$type.matchesTypes;\n\t var getData = _nativeTypesConfig$type.getData;\n\t\n\t return (function () {\n\t function NativeDragSource() {\n\t _classCallCheck(this, NativeDragSource);\n\t\n\t this.item = Object.defineProperties({}, _defineProperty({}, exposeProperty, {\n\t get: function get() {\n\t console.warn( // eslint-disable-line no-console\n\t 'Browser doesn\\'t allow reading \"' + exposeProperty + '\" until the drop event.');\n\t return null;\n\t },\n\t configurable: true,\n\t enumerable: true\n\t }));\n\t }\n\t\n\t NativeDragSource.prototype.mutateItemByReadingDataTransfer = function mutateItemByReadingDataTransfer(dataTransfer) {\n\t delete this.item[exposeProperty];\n\t this.item[exposeProperty] = getData(dataTransfer, matchesTypes);\n\t };\n\t\n\t NativeDragSource.prototype.canDrag = function canDrag() {\n\t return true;\n\t };\n\t\n\t NativeDragSource.prototype.beginDrag = function beginDrag() {\n\t return this.item;\n\t };\n\t\n\t NativeDragSource.prototype.isDragging = function isDragging(monitor, handle) {\n\t return handle === monitor.getSourceId();\n\t };\n\t\n\t NativeDragSource.prototype.endDrag = function endDrag() {};\n\t\n\t return NativeDragSource;\n\t })();\n\t}\n\t\n\tfunction matchNativeItemType(dataTransfer) {\n\t var dataTransferTypes = Array.prototype.slice.call(dataTransfer.types || []);\n\t\n\t return Object.keys(nativeTypesConfig).filter(function (nativeItemType) {\n\t var matchesTypes = nativeTypesConfig[nativeItemType].matchesTypes;\n\t\n\t return matchesTypes.some(function (t) {\n\t return dataTransferTypes.indexOf(t) > -1;\n\t });\n\t })[0] || null;\n\t}\n\n/***/ },\n/* 144 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.getNodeClientOffset = getNodeClientOffset;\n\texports.getEventClientOffset = getEventClientOffset;\n\texports.getDragPreviewOffset = getDragPreviewOffset;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _BrowserDetector = __webpack_require__(51);\n\t\n\tvar _MonotonicInterpolant = __webpack_require__(142);\n\t\n\tvar _MonotonicInterpolant2 = _interopRequireDefault(_MonotonicInterpolant);\n\t\n\tvar ELEMENT_NODE = 1;\n\t\n\tfunction getNodeClientOffset(node) {\n\t var el = node.nodeType === ELEMENT_NODE ? node : node.parentElement;\n\t\n\t if (!el) {\n\t return null;\n\t }\n\t\n\t var _el$getBoundingClientRect = el.getBoundingClientRect();\n\t\n\t var top = _el$getBoundingClientRect.top;\n\t var left = _el$getBoundingClientRect.left;\n\t\n\t return { x: left, y: top };\n\t}\n\t\n\tfunction getEventClientOffset(e) {\n\t return {\n\t x: e.clientX,\n\t y: e.clientY\n\t };\n\t}\n\t\n\tfunction getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint) {\n\t // The browsers will use the image intrinsic size under different conditions.\n\t // Firefox only cares if it's an image, but WebKit also wants it to be detached.\n\t var isImage = dragPreview.nodeName === 'IMG' && (_BrowserDetector.isFirefox() || !document.documentElement.contains(dragPreview));\n\t var dragPreviewNode = isImage ? sourceNode : dragPreview;\n\t\n\t var dragPreviewNodeOffsetFromClient = getNodeClientOffset(dragPreviewNode);\n\t var offsetFromDragPreview = {\n\t x: clientOffset.x - dragPreviewNodeOffsetFromClient.x,\n\t y: clientOffset.y - dragPreviewNodeOffsetFromClient.y\n\t };\n\t\n\t var sourceWidth = sourceNode.offsetWidth;\n\t var sourceHeight = sourceNode.offsetHeight;\n\t var anchorX = anchorPoint.anchorX;\n\t var anchorY = anchorPoint.anchorY;\n\t\n\t var dragPreviewWidth = isImage ? dragPreview.width : sourceWidth;\n\t var dragPreviewHeight = isImage ? dragPreview.height : sourceHeight;\n\t\n\t // Work around @2x coordinate discrepancies in browsers\n\t if (_BrowserDetector.isSafari() && isImage) {\n\t dragPreviewHeight /= window.devicePixelRatio;\n\t dragPreviewWidth /= window.devicePixelRatio;\n\t } else if (_BrowserDetector.isFirefox() && !isImage) {\n\t dragPreviewHeight *= window.devicePixelRatio;\n\t dragPreviewWidth *= window.devicePixelRatio;\n\t }\n\t\n\t // Interpolate coordinates depending on anchor point\n\t // If you know a simpler way to do this, let me know\n\t var interpolantX = new _MonotonicInterpolant2['default']([0, 0.5, 1], [\n\t // Dock to the left\n\t offsetFromDragPreview.x,\n\t // Align at the center\n\t offsetFromDragPreview.x / sourceWidth * dragPreviewWidth,\n\t // Dock to the right\n\t offsetFromDragPreview.x + dragPreviewWidth - sourceWidth]);\n\t var interpolantY = new _MonotonicInterpolant2['default']([0, 0.5, 1], [\n\t // Dock to the top\n\t offsetFromDragPreview.y,\n\t // Align at the center\n\t offsetFromDragPreview.y / sourceHeight * dragPreviewHeight,\n\t // Dock to the bottom\n\t offsetFromDragPreview.y + dragPreviewHeight - sourceHeight]);\n\t var x = interpolantX.interpolate(anchorX);\n\t var y = interpolantY.interpolate(anchorY);\n\t\n\t // Work around Safari 8 positioning bug\n\t if (_BrowserDetector.isSafari() && isImage) {\n\t // We'll have to wait for @3x to see if this is entirely correct\n\t y += (window.devicePixelRatio - 1) * dragPreviewHeight;\n\t }\n\t\n\t return { x: x, y: y };\n\t}\n\n/***/ },\n/* 145 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = getEmptyImage;\n\tvar emptyImage = undefined;\n\t\n\tfunction getEmptyImage() {\n\t if (!emptyImage) {\n\t emptyImage = new Image();\n\t emptyImage.src = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';\n\t }\n\t\n\t return emptyImage;\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 146 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createHTML5Backend;\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _HTML5Backend = __webpack_require__(141);\n\t\n\tvar _HTML5Backend2 = _interopRequireDefault(_HTML5Backend);\n\t\n\tvar _getEmptyImage = __webpack_require__(145);\n\t\n\tvar _getEmptyImage2 = _interopRequireDefault(_getEmptyImage);\n\t\n\tvar _NativeTypes = __webpack_require__(32);\n\t\n\tvar NativeTypes = _interopRequireWildcard(_NativeTypes);\n\t\n\texports.NativeTypes = NativeTypes;\n\texports.getEmptyImage = _getEmptyImage2['default'];\n\t\n\tfunction createHTML5Backend(manager) {\n\t return new _HTML5Backend2['default'](manager);\n\t}\n\n/***/ },\n/* 147 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = shallowEqual;\n\t\n\tfunction shallowEqual(objA, objB) {\n\t if (objA === objB) {\n\t return true;\n\t }\n\t\n\t var keysA = Object.keys(objA);\n\t var keysB = Object.keys(objB);\n\t\n\t if (keysA.length !== keysB.length) {\n\t return false;\n\t }\n\t\n\t // Test for A's keys different from B.\n\t var hasOwn = Object.prototype.hasOwnProperty;\n\t for (var i = 0; i < keysA.length; i++) {\n\t if (!hasOwn.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n\t return false;\n\t }\n\t\n\t var valA = objA[keysA[i]];\n\t var valB = objB[keysA[i]];\n\t\n\t if (valA !== valB) {\n\t return false;\n\t }\n\t }\n\t\n\t return true;\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 148 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(15);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Creates a hash object.\n\t *\n\t * @private\n\t * @constructor\n\t * @returns {Object} Returns the new hash object.\n\t */\n\tfunction Hash() {}\n\t\n\t// Avoid inheriting from `Object.prototype` when possible.\n\tHash.prototype = nativeCreate ? nativeCreate(null) : objectProto;\n\t\n\tmodule.exports = Hash;\n\n\n/***/ },\n/* 149 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar root = __webpack_require__(34);\n\t\n\t/** Built-in value references. */\n\tvar Reflect = root.Reflect;\n\t\n\tmodule.exports = Reflect;\n\n\n/***/ },\n/* 150 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(33),\n\t root = __webpack_require__(34);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar Set = getNative(root, 'Set');\n\t\n\tmodule.exports = Set;\n\n\n/***/ },\n/* 151 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.map` for arrays without support for iteratee\n\t * shorthands.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns the new mapped array.\n\t */\n\tfunction arrayMap(array, iteratee) {\n\t var index = -1,\n\t length = array.length,\n\t result = Array(length);\n\t\n\t while (++index < length) {\n\t result[index] = iteratee(array[index], index, array);\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = arrayMap;\n\n\n/***/ },\n/* 152 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Appends the elements of `values` to `array`.\n\t *\n\t * @private\n\t * @param {Array} array The array to modify.\n\t * @param {Array} values The values to append.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayPush(array, values) {\n\t var index = -1,\n\t length = values.length,\n\t offset = array.length;\n\t\n\t while (++index < length) {\n\t array[offset + index] = values[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayPush;\n\n\n/***/ },\n/* 153 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar eq = __webpack_require__(16);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used by `_.defaults` to customize its `_.assignIn` use.\n\t *\n\t * @private\n\t * @param {*} objValue The destination value.\n\t * @param {*} srcValue The source value.\n\t * @param {string} key The key of the property to assign.\n\t * @param {Object} object The parent object of `objValue`.\n\t * @returns {*} Returns the value to assign.\n\t */\n\tfunction assignInDefaults(objValue, srcValue, key, object) {\n\t if (objValue === undefined ||\n\t (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n\t return srcValue;\n\t }\n\t return objValue;\n\t}\n\t\n\tmodule.exports = assignInDefaults;\n\n\n/***/ },\n/* 154 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar eq = __webpack_require__(16);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Assigns `value` to `key` of `object` if the existing value is not equivalent\n\t * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n\t * for equality comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to modify.\n\t * @param {string} key The key of the property to assign.\n\t * @param {*} value The value to assign.\n\t */\n\tfunction assignValue(object, key, value) {\n\t var objValue = object[key];\n\t if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n\t (value === undefined && !(key in object))) {\n\t object[key] = value;\n\t }\n\t}\n\t\n\tmodule.exports = assignValue;\n\n\n/***/ },\n/* 155 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(14);\n\t\n\t/** Used for built-in method references. */\n\tvar arrayProto = Array.prototype;\n\t\n\t/** Built-in value references. */\n\tvar splice = arrayProto.splice;\n\t\n\t/**\n\t * Removes `key` and its value from the associative array.\n\t *\n\t * @private\n\t * @param {Array} array The array to modify.\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction assocDelete(array, key) {\n\t var index = assocIndexOf(array, key);\n\t if (index < 0) {\n\t return false;\n\t }\n\t var lastIndex = array.length - 1;\n\t if (index == lastIndex) {\n\t array.pop();\n\t } else {\n\t splice.call(array, index, 1);\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = assocDelete;\n\n\n/***/ },\n/* 156 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(14);\n\t\n\t/**\n\t * Gets the associative array value for `key`.\n\t *\n\t * @private\n\t * @param {Array} array The array to query.\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction assocGet(array, key) {\n\t var index = assocIndexOf(array, key);\n\t return index < 0 ? undefined : array[index][1];\n\t}\n\t\n\tmodule.exports = assocGet;\n\n\n/***/ },\n/* 157 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(14);\n\t\n\t/**\n\t * Checks if an associative array value for `key` exists.\n\t *\n\t * @private\n\t * @param {Array} array The array to query.\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction assocHas(array, key) {\n\t return assocIndexOf(array, key) > -1;\n\t}\n\t\n\tmodule.exports = assocHas;\n\n\n/***/ },\n/* 158 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(14);\n\t\n\t/**\n\t * Sets the associative array `key` to `value`.\n\t *\n\t * @private\n\t * @param {Array} array The array to modify.\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t */\n\tfunction assocSet(array, key, value) {\n\t var index = assocIndexOf(array, key);\n\t if (index < 0) {\n\t array.push([key, value]);\n\t } else {\n\t array[index][1] = value;\n\t }\n\t}\n\t\n\tmodule.exports = assocSet;\n\n\n/***/ },\n/* 159 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar SetCache = __webpack_require__(53),\n\t arrayIncludes = __webpack_require__(55),\n\t arrayIncludesWith = __webpack_require__(56),\n\t arrayMap = __webpack_require__(151),\n\t baseUnary = __webpack_require__(165),\n\t cacheHas = __webpack_require__(57);\n\t\n\t/** Used as the size to enable large array optimizations. */\n\tvar LARGE_ARRAY_SIZE = 200;\n\t\n\t/**\n\t * The base implementation of methods like `_.difference` without support\n\t * for excluding multiple arrays or iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} array The array to inspect.\n\t * @param {Array} values The values to exclude.\n\t * @param {Function} [iteratee] The iteratee invoked per element.\n\t * @param {Function} [comparator] The comparator invoked per element.\n\t * @returns {Array} Returns the new array of filtered values.\n\t */\n\tfunction baseDifference(array, values, iteratee, comparator) {\n\t var index = -1,\n\t includes = arrayIncludes,\n\t isCommon = true,\n\t length = array.length,\n\t result = [],\n\t valuesLength = values.length;\n\t\n\t if (!length) {\n\t return result;\n\t }\n\t if (iteratee) {\n\t values = arrayMap(values, baseUnary(iteratee));\n\t }\n\t if (comparator) {\n\t includes = arrayIncludesWith;\n\t isCommon = false;\n\t }\n\t else if (values.length >= LARGE_ARRAY_SIZE) {\n\t includes = cacheHas;\n\t isCommon = false;\n\t values = new SetCache(values);\n\t }\n\t outer:\n\t while (++index < length) {\n\t var value = array[index],\n\t computed = iteratee ? iteratee(value) : value;\n\t\n\t if (isCommon && computed === computed) {\n\t var valuesIndex = valuesLength;\n\t while (valuesIndex--) {\n\t if (values[valuesIndex] === computed) {\n\t continue outer;\n\t }\n\t }\n\t result.push(value);\n\t }\n\t else if (!includes(values, computed, comparator)) {\n\t result.push(value);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseDifference;\n\n\n/***/ },\n/* 160 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayPush = __webpack_require__(152),\n\t isFlattenable = __webpack_require__(178);\n\t\n\t/**\n\t * The base implementation of `_.flatten` with support for restricting flattening.\n\t *\n\t * @private\n\t * @param {Array} array The array to flatten.\n\t * @param {number} depth The maximum recursion depth.\n\t * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n\t * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n\t * @param {Array} [result=[]] The initial result value.\n\t * @returns {Array} Returns the new flattened array.\n\t */\n\tfunction baseFlatten(array, depth, predicate, isStrict, result) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t predicate || (predicate = isFlattenable);\n\t result || (result = []);\n\t\n\t while (++index < length) {\n\t var value = array[index];\n\t if (depth > 0 && predicate(value)) {\n\t if (depth > 1) {\n\t // Recursively flatten arrays (susceptible to call stack limits).\n\t baseFlatten(value, depth - 1, predicate, isStrict, result);\n\t } else {\n\t arrayPush(result, value);\n\t }\n\t } else if (!isStrict) {\n\t result[result.length] = value;\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseFlatten;\n\n\n/***/ },\n/* 161 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar indexOfNaN = __webpack_require__(177);\n\t\n\t/**\n\t * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {*} value The value to search for.\n\t * @param {number} fromIndex The index to search from.\n\t * @returns {number} Returns the index of the matched value, else `-1`.\n\t */\n\tfunction baseIndexOf(array, value, fromIndex) {\n\t if (value !== value) {\n\t return indexOfNaN(array, fromIndex);\n\t }\n\t var index = fromIndex - 1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (array[index] === value) {\n\t return index;\n\t }\n\t }\n\t return -1;\n\t}\n\t\n\tmodule.exports = baseIndexOf;\n\n\n/***/ },\n/* 162 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Reflect = __webpack_require__(149),\n\t iteratorToArray = __webpack_require__(182);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Built-in value references. */\n\tvar enumerate = Reflect ? Reflect.enumerate : undefined,\n\t propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * The base implementation of `_.keysIn` which doesn't skip the constructor\n\t * property of prototypes or treat sparse arrays as dense.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction baseKeysIn(object) {\n\t object = object == null ? object : Object(object);\n\t\n\t var result = [];\n\t for (var key in object) {\n\t result.push(key);\n\t }\n\t return result;\n\t}\n\t\n\t// Fallback for IE < 9 with es6-shim.\n\tif (enumerate && !propertyIsEnumerable.call({ 'valueOf': 1 }, 'valueOf')) {\n\t baseKeysIn = function(object) {\n\t return iteratorToArray(enumerate(object));\n\t };\n\t}\n\t\n\tmodule.exports = baseKeysIn;\n\n\n/***/ },\n/* 163 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 164 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.times` without support for iteratee shorthands\n\t * or max array length checks.\n\t *\n\t * @private\n\t * @param {number} n The number of times to invoke `iteratee`.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns the array of results.\n\t */\n\tfunction baseTimes(n, iteratee) {\n\t var index = -1,\n\t result = Array(n);\n\t\n\t while (++index < n) {\n\t result[index] = iteratee(index);\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseTimes;\n\n\n/***/ },\n/* 165 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.unary` without support for storing wrapper metadata.\n\t *\n\t * @private\n\t * @param {Function} func The function to cap arguments for.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseUnary(func) {\n\t return function(value) {\n\t return func(value);\n\t };\n\t}\n\t\n\tmodule.exports = baseUnary;\n\n\n/***/ },\n/* 166 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar SetCache = __webpack_require__(53),\n\t arrayIncludes = __webpack_require__(55),\n\t arrayIncludesWith = __webpack_require__(56),\n\t cacheHas = __webpack_require__(57),\n\t createSet = __webpack_require__(171),\n\t setToArray = __webpack_require__(188);\n\t\n\t/** Used as the size to enable large array optimizations. */\n\tvar LARGE_ARRAY_SIZE = 200;\n\t\n\t/**\n\t * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} array The array to inspect.\n\t * @param {Function} [iteratee] The iteratee invoked per element.\n\t * @param {Function} [comparator] The comparator invoked per element.\n\t * @returns {Array} Returns the new duplicate free array.\n\t */\n\tfunction baseUniq(array, iteratee, comparator) {\n\t var index = -1,\n\t includes = arrayIncludes,\n\t length = array.length,\n\t isCommon = true,\n\t result = [],\n\t seen = result;\n\t\n\t if (comparator) {\n\t isCommon = false;\n\t includes = arrayIncludesWith;\n\t }\n\t else if (length >= LARGE_ARRAY_SIZE) {\n\t var set = iteratee ? null : createSet(array);\n\t if (set) {\n\t return setToArray(set);\n\t }\n\t isCommon = false;\n\t includes = cacheHas;\n\t seen = new SetCache;\n\t }\n\t else {\n\t seen = iteratee ? [] : result;\n\t }\n\t outer:\n\t while (++index < length) {\n\t var value = array[index],\n\t computed = iteratee ? iteratee(value) : value;\n\t\n\t if (isCommon && computed === computed) {\n\t var seenIndex = seen.length;\n\t while (seenIndex--) {\n\t if (seen[seenIndex] === computed) {\n\t continue outer;\n\t }\n\t }\n\t if (iteratee) {\n\t seen.push(computed);\n\t }\n\t result.push(value);\n\t }\n\t else if (!includes(seen, computed, comparator)) {\n\t if (seen !== result) {\n\t seen.push(computed);\n\t }\n\t result.push(value);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseUniq;\n\n\n/***/ },\n/* 167 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isKeyable = __webpack_require__(4);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/**\n\t * Adds `value` to the set cache.\n\t *\n\t * @private\n\t * @name push\n\t * @memberOf SetCache\n\t * @param {*} value The value to cache.\n\t */\n\tfunction cachePush(value) {\n\t var map = this.__data__;\n\t if (isKeyable(value)) {\n\t var data = map.__data__,\n\t hash = typeof value == 'string' ? data.string : data.hash;\n\t\n\t hash[value] = HASH_UNDEFINED;\n\t }\n\t else {\n\t map.set(value, HASH_UNDEFINED);\n\t }\n\t}\n\t\n\tmodule.exports = cachePush;\n\n\n/***/ },\n/* 168 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is a global object.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {null|Object} Returns `value` if it's a global object, else `null`.\n\t */\n\tfunction checkGlobal(value) {\n\t return (value && value.Object === Object) ? value : null;\n\t}\n\t\n\tmodule.exports = checkGlobal;\n\n\n/***/ },\n/* 169 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assignValue = __webpack_require__(154);\n\t\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property identifiers to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @param {Function} [customizer] The function to customize copied values.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction copyObject(source, props, object, customizer) {\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t\n\t var newValue = customizer\n\t ? customizer(object[key], source[key], key, object, source)\n\t : source[key];\n\t\n\t assignValue(object, key, newValue);\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = copyObject;\n\n\n/***/ },\n/* 170 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isIterateeCall = __webpack_require__(180),\n\t rest = __webpack_require__(19);\n\t\n\t/**\n\t * Creates a function like `_.assign`.\n\t *\n\t * @private\n\t * @param {Function} assigner The function to assign values.\n\t * @returns {Function} Returns the new assigner function.\n\t */\n\tfunction createAssigner(assigner) {\n\t return rest(function(object, sources) {\n\t var index = -1,\n\t length = sources.length,\n\t customizer = length > 1 ? sources[length - 1] : undefined,\n\t guard = length > 2 ? sources[2] : undefined;\n\t\n\t customizer = typeof customizer == 'function'\n\t ? (length--, customizer)\n\t : undefined;\n\t\n\t if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n\t customizer = length < 3 ? undefined : customizer;\n\t length = 1;\n\t }\n\t object = Object(object);\n\t while (++index < length) {\n\t var source = sources[index];\n\t if (source) {\n\t assigner(object, source, index, customizer);\n\t }\n\t }\n\t return object;\n\t });\n\t}\n\t\n\tmodule.exports = createAssigner;\n\n\n/***/ },\n/* 171 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Set = __webpack_require__(150),\n\t noop = __webpack_require__(197);\n\t\n\t/**\n\t * Creates a set of `values`.\n\t *\n\t * @private\n\t * @param {Array} values The values to add to the set.\n\t * @returns {Object} Returns the new set.\n\t */\n\tvar createSet = !(Set && new Set([1, 2]).size === 2) ? noop : function(values) {\n\t return new Set(values);\n\t};\n\t\n\tmodule.exports = createSet;\n\n\n/***/ },\n/* 172 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(163);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a\n\t * [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792) that affects\n\t * Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 173 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar hashHas = __webpack_require__(58);\n\t\n\t/**\n\t * Removes `key` and its value from the hash.\n\t *\n\t * @private\n\t * @param {Object} hash The hash to modify.\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction hashDelete(hash, key) {\n\t return hashHas(hash, key) && delete hash[key];\n\t}\n\t\n\tmodule.exports = hashDelete;\n\n\n/***/ },\n/* 174 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(15);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Gets the hash value for `key`.\n\t *\n\t * @private\n\t * @param {Object} hash The hash to query.\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction hashGet(hash, key) {\n\t if (nativeCreate) {\n\t var result = hash[key];\n\t return result === HASH_UNDEFINED ? undefined : result;\n\t }\n\t return hasOwnProperty.call(hash, key) ? hash[key] : undefined;\n\t}\n\t\n\tmodule.exports = hashGet;\n\n\n/***/ },\n/* 175 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(15);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/**\n\t * Sets the hash `key` to `value`.\n\t *\n\t * @private\n\t * @param {Object} hash The hash to modify.\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t */\n\tfunction hashSet(hash, key, value) {\n\t hash[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n\t}\n\t\n\tmodule.exports = hashSet;\n\n\n/***/ },\n/* 176 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseTimes = __webpack_require__(164),\n\t isArguments = __webpack_require__(60),\n\t isArray = __webpack_require__(35),\n\t isLength = __webpack_require__(62),\n\t isString = __webpack_require__(193);\n\t\n\t/**\n\t * Creates an array of index keys for `object` values of arrays,\n\t * `arguments` objects, and strings, otherwise `null` is returned.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array|null} Returns index keys, else `null`.\n\t */\n\tfunction indexKeys(object) {\n\t var length = object ? object.length : undefined;\n\t if (isLength(length) &&\n\t (isArray(object) || isString(object) || isArguments(object))) {\n\t return baseTimes(length, String);\n\t }\n\t return null;\n\t}\n\t\n\tmodule.exports = indexKeys;\n\n\n/***/ },\n/* 177 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Gets the index at which the first occurrence of `NaN` is found in `array`.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {number} fromIndex The index to search from.\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {number} Returns the index of the matched `NaN`, else `-1`.\n\t */\n\tfunction indexOfNaN(array, fromIndex, fromRight) {\n\t var length = array.length,\n\t index = fromIndex + (fromRight ? 0 : -1);\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var other = array[index];\n\t if (other !== other) {\n\t return index;\n\t }\n\t }\n\t return -1;\n\t}\n\t\n\tmodule.exports = indexOfNaN;\n\n\n/***/ },\n/* 178 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(60),\n\t isArray = __webpack_require__(35),\n\t isArrayLikeObject = __webpack_require__(17);\n\t\n\t/**\n\t * Checks if `value` is a flattenable `arguments` object or array.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n\t */\n\tfunction isFlattenable(value) {\n\t return isArrayLikeObject(value) && (isArray(value) || isArguments(value));\n\t}\n\t\n\tmodule.exports = isFlattenable;\n\n\n/***/ },\n/* 179 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is a host object in IE < 9.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n\t */\n\tfunction isHostObject(value) {\n\t // Many host objects are `Object` objects that can coerce to strings\n\t // despite having improperly defined `toString` methods.\n\t var result = false;\n\t if (value != null && typeof value.toString != 'function') {\n\t try {\n\t result = !!(value + '');\n\t } catch (e) {}\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = isHostObject;\n\n\n/***/ },\n/* 180 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar eq = __webpack_require__(16),\n\t isArrayLike = __webpack_require__(61),\n\t isIndex = __webpack_require__(59),\n\t isObject = __webpack_require__(18);\n\t\n\t/**\n\t * Checks if the given arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n\t * else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)\n\t ) {\n\t return eq(object[index], value);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 181 */\n/***/ function(module, exports) {\n\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Checks if `value` is likely a prototype object.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n\t */\n\tfunction isPrototype(value) {\n\t var Ctor = value && value.constructor,\n\t proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\t\n\t return value === proto;\n\t}\n\t\n\tmodule.exports = isPrototype;\n\n\n/***/ },\n/* 182 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Converts `iterator` to an array.\n\t *\n\t * @private\n\t * @param {Object} iterator The iterator to convert.\n\t * @returns {Array} Returns the converted array.\n\t */\n\tfunction iteratorToArray(iterator) {\n\t var data,\n\t result = [];\n\t\n\t while (!(data = iterator.next()).done) {\n\t result.push(data.value);\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = iteratorToArray;\n\n\n/***/ },\n/* 183 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Hash = __webpack_require__(148),\n\t Map = __webpack_require__(7);\n\t\n\t/**\n\t * Removes all key-value entries from the map.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf MapCache\n\t */\n\tfunction mapClear() {\n\t this.__data__ = {\n\t 'hash': new Hash,\n\t 'map': Map ? new Map : [],\n\t 'string': new Hash\n\t };\n\t}\n\t\n\tmodule.exports = mapClear;\n\n\n/***/ },\n/* 184 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Map = __webpack_require__(7),\n\t assocDelete = __webpack_require__(155),\n\t hashDelete = __webpack_require__(173),\n\t isKeyable = __webpack_require__(4);\n\t\n\t/**\n\t * Removes `key` and its value from the map.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction mapDelete(key) {\n\t var data = this.__data__;\n\t if (isKeyable(key)) {\n\t return hashDelete(typeof key == 'string' ? data.string : data.hash, key);\n\t }\n\t return Map ? data.map['delete'](key) : assocDelete(data.map, key);\n\t}\n\t\n\tmodule.exports = mapDelete;\n\n\n/***/ },\n/* 185 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Map = __webpack_require__(7),\n\t assocGet = __webpack_require__(156),\n\t hashGet = __webpack_require__(174),\n\t isKeyable = __webpack_require__(4);\n\t\n\t/**\n\t * Gets the map value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction mapGet(key) {\n\t var data = this.__data__;\n\t if (isKeyable(key)) {\n\t return hashGet(typeof key == 'string' ? data.string : data.hash, key);\n\t }\n\t return Map ? data.map.get(key) : assocGet(data.map, key);\n\t}\n\t\n\tmodule.exports = mapGet;\n\n\n/***/ },\n/* 186 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Map = __webpack_require__(7),\n\t assocHas = __webpack_require__(157),\n\t hashHas = __webpack_require__(58),\n\t isKeyable = __webpack_require__(4);\n\t\n\t/**\n\t * Checks if a map value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf MapCache\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction mapHas(key) {\n\t var data = this.__data__;\n\t if (isKeyable(key)) {\n\t return hashHas(typeof key == 'string' ? data.string : data.hash, key);\n\t }\n\t return Map ? data.map.has(key) : assocHas(data.map, key);\n\t}\n\t\n\tmodule.exports = mapHas;\n\n\n/***/ },\n/* 187 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Map = __webpack_require__(7),\n\t assocSet = __webpack_require__(158),\n\t hashSet = __webpack_require__(175),\n\t isKeyable = __webpack_require__(4);\n\t\n\t/**\n\t * Sets the map `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the map cache instance.\n\t */\n\tfunction mapSet(key, value) {\n\t var data = this.__data__;\n\t if (isKeyable(key)) {\n\t hashSet(typeof key == 'string' ? data.string : data.hash, key, value);\n\t } else if (Map) {\n\t data.map.set(key, value);\n\t } else {\n\t assocSet(data.map, key, value);\n\t }\n\t return this;\n\t}\n\t\n\tmodule.exports = mapSet;\n\n\n/***/ },\n/* 188 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Converts `set` to an array.\n\t *\n\t * @private\n\t * @param {Object} set The set to convert.\n\t * @returns {Array} Returns the converted array.\n\t */\n\tfunction setToArray(set) {\n\t var index = -1,\n\t result = Array(set.size);\n\t\n\t set.forEach(function(value) {\n\t result[++index] = value;\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = setToArray;\n\n\n/***/ },\n/* 189 */\n/***/ function(module, exports) {\n\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = Function.prototype.toString;\n\t\n\t/**\n\t * Converts `func` to its source code.\n\t *\n\t * @private\n\t * @param {Function} func The function to process.\n\t * @returns {string} Returns the source code.\n\t */\n\tfunction toSource(func) {\n\t if (func != null) {\n\t try {\n\t return funcToString.call(func);\n\t } catch (e) {}\n\t try {\n\t return (func + '');\n\t } catch (e) {}\n\t }\n\t return '';\n\t}\n\t\n\tmodule.exports = toSource;\n\n\n/***/ },\n/* 190 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar copyObject = __webpack_require__(169),\n\t createAssigner = __webpack_require__(170),\n\t keysIn = __webpack_require__(195);\n\t\n\t/**\n\t * This method is like `_.assignIn` except that it accepts `customizer`\n\t * which is invoked to produce the assigned values. If `customizer` returns\n\t * `undefined`, assignment is handled by the method instead. The `customizer`\n\t * is invoked with five arguments: (objValue, srcValue, key, object, source).\n\t *\n\t * **Note:** This method mutates `object`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @alias extendWith\n\t * @category Object\n\t * @param {Object} object The destination object.\n\t * @param {...Object} sources The source objects.\n\t * @param {Function} [customizer] The function to customize assigned values.\n\t * @returns {Object} Returns `object`.\n\t * @example\n\t *\n\t * function customizer(objValue, srcValue) {\n\t * return _.isUndefined(objValue) ? srcValue : objValue;\n\t * }\n\t *\n\t * var defaults = _.partialRight(_.assignInWith, customizer);\n\t *\n\t * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n\t * // => { 'a': 1, 'b': 2 }\n\t */\n\tvar assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n\t copyObject(source, keysIn(source), object, customizer);\n\t});\n\t\n\tmodule.exports = assignInWith;\n\n\n/***/ },\n/* 191 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar apply = __webpack_require__(54),\n\t assignInDefaults = __webpack_require__(153),\n\t assignInWith = __webpack_require__(190),\n\t rest = __webpack_require__(19);\n\t\n\t/**\n\t * Assigns own and inherited enumerable string keyed properties of source\n\t * objects to the destination object for all destination properties that\n\t * resolve to `undefined`. Source objects are applied from left to right.\n\t * Once a property is set, additional values of the same property are ignored.\n\t *\n\t * **Note:** This method mutates `object`.\n\t *\n\t * @static\n\t * @since 0.1.0\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The destination object.\n\t * @param {...Object} [sources] The source objects.\n\t * @returns {Object} Returns `object`.\n\t * @example\n\t *\n\t * _.defaults({ 'user': 'barney' }, { 'age': 36 }, { 'user': 'fred' });\n\t * // => { 'user': 'barney', 'age': 36 }\n\t */\n\tvar defaults = rest(function(args) {\n\t args.push(undefined, assignInDefaults);\n\t return apply(assignInWith, undefined, args);\n\t});\n\t\n\tmodule.exports = defaults;\n\n\n/***/ },\n/* 192 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(36),\n\t isHostObject = __webpack_require__(179),\n\t isObject = __webpack_require__(18),\n\t toSource = __webpack_require__(189);\n\t\n\t/**\n\t * Used to match `RegExp`\n\t * [syntax characters](http://ecma-international.org/ecma-262/6.0/#sec-patterns).\n\t */\n\tvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\t\n\t/** Used to detect host constructors (Safari). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 3.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (!isObject(value)) {\n\t return false;\n\t }\n\t var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n\t return pattern.test(toSource(value));\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 193 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArray = __webpack_require__(35),\n\t isObjectLike = __webpack_require__(37);\n\t\n\t/** `Object#toString` result references. */\n\tvar stringTag = '[object String]';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `String` primitive or object.\n\t *\n\t * @static\n\t * @since 0.1.0\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isString('abc');\n\t * // => true\n\t *\n\t * _.isString(1);\n\t * // => false\n\t */\n\tfunction isString(value) {\n\t return typeof value == 'string' ||\n\t (!isArray(value) && isObjectLike(value) && objectToString.call(value) == stringTag);\n\t}\n\t\n\tmodule.exports = isString;\n\n\n/***/ },\n/* 194 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObjectLike = __webpack_require__(37);\n\t\n\t/** `Object#toString` result references. */\n\tvar symbolTag = '[object Symbol]';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Symbol` primitive or object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isSymbol(Symbol.iterator);\n\t * // => true\n\t *\n\t * _.isSymbol('abc');\n\t * // => false\n\t */\n\tfunction isSymbol(value) {\n\t return typeof value == 'symbol' ||\n\t (isObjectLike(value) && objectToString.call(value) == symbolTag);\n\t}\n\t\n\tmodule.exports = isSymbol;\n\n\n/***/ },\n/* 195 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseKeysIn = __webpack_require__(162),\n\t indexKeys = __webpack_require__(176),\n\t isIndex = __webpack_require__(59),\n\t isPrototype = __webpack_require__(181);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 3.0.0\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t var index = -1,\n\t isProto = isPrototype(object),\n\t props = baseKeysIn(object),\n\t propsLength = props.length,\n\t indexes = indexKeys(object),\n\t skipIndexes = !!indexes,\n\t result = indexes || [],\n\t length = result.length;\n\t\n\t while (++index < propsLength) {\n\t var key = props[index];\n\t if (!(skipIndexes && (key == 'length' || isIndex(key, length))) &&\n\t !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 196 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar MapCache = __webpack_require__(52);\n\t\n\t/** Used as the `TypeError` message for \"Functions\" methods. */\n\tvar FUNC_ERROR_TEXT = 'Expected a function';\n\t\n\t/**\n\t * Creates a function that memoizes the result of `func`. If `resolver` is\n\t * provided, it determines the cache key for storing the result based on the\n\t * arguments provided to the memoized function. By default, the first argument\n\t * provided to the memoized function is used as the map cache key. The `func`\n\t * is invoked with the `this` binding of the memoized function.\n\t *\n\t * **Note:** The cache is exposed as the `cache` property on the memoized\n\t * function. Its creation may be customized by replacing the `_.memoize.Cache`\n\t * constructor with one whose instances implement the\n\t * [`Map`](http://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-map-prototype-object)\n\t * method interface of `delete`, `get`, `has`, and `set`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Function\n\t * @param {Function} func The function to have its output memoized.\n\t * @param {Function} [resolver] The function to resolve the cache key.\n\t * @returns {Function} Returns the new memoizing function.\n\t * @example\n\t *\n\t * var object = { 'a': 1, 'b': 2 };\n\t * var other = { 'c': 3, 'd': 4 };\n\t *\n\t * var values = _.memoize(_.values);\n\t * values(object);\n\t * // => [1, 2]\n\t *\n\t * values(other);\n\t * // => [3, 4]\n\t *\n\t * object.a = 2;\n\t * values(object);\n\t * // => [1, 2]\n\t *\n\t * // Modify the result cache.\n\t * values.cache.set(object, ['a', 'b']);\n\t * values(object);\n\t * // => ['a', 'b']\n\t *\n\t * // Replace `_.memoize.Cache`.\n\t * _.memoize.Cache = WeakMap;\n\t */\n\tfunction memoize(func, resolver) {\n\t if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n\t throw new TypeError(FUNC_ERROR_TEXT);\n\t }\n\t var memoized = function() {\n\t var args = arguments,\n\t key = resolver ? resolver.apply(this, args) : args[0],\n\t cache = memoized.cache;\n\t\n\t if (cache.has(key)) {\n\t return cache.get(key);\n\t }\n\t var result = func.apply(this, args);\n\t memoized.cache = cache.set(key, result);\n\t return result;\n\t };\n\t memoized.cache = new (memoize.Cache || MapCache);\n\t return memoized;\n\t}\n\t\n\t// Assign cache to `_.memoize`.\n\tmemoize.Cache = MapCache;\n\t\n\tmodule.exports = memoize;\n\n\n/***/ },\n/* 197 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A no-operation function that returns `undefined` regardless of the\n\t * arguments it receives.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 2.3.0\n\t * @category Util\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.noop(object) === undefined;\n\t * // => true\n\t */\n\tfunction noop() {\n\t // No operation performed.\n\t}\n\t\n\tmodule.exports = noop;\n\n\n/***/ },\n/* 198 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toNumber = __webpack_require__(199);\n\t\n\t/** Used as references for various `Number` constants. */\n\tvar INFINITY = 1 / 0,\n\t MAX_INTEGER = 1.7976931348623157e+308;\n\t\n\t/**\n\t * Converts `value` to an integer.\n\t *\n\t * **Note:** This function is loosely based on\n\t * [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to convert.\n\t * @returns {number} Returns the converted integer.\n\t * @example\n\t *\n\t * _.toInteger(3);\n\t * // => 3\n\t *\n\t * _.toInteger(Number.MIN_VALUE);\n\t * // => 0\n\t *\n\t * _.toInteger(Infinity);\n\t * // => 1.7976931348623157e+308\n\t *\n\t * _.toInteger('3');\n\t * // => 3\n\t */\n\tfunction toInteger(value) {\n\t if (!value) {\n\t return value === 0 ? value : 0;\n\t }\n\t value = toNumber(value);\n\t if (value === INFINITY || value === -INFINITY) {\n\t var sign = (value < 0 ? -1 : 1);\n\t return sign * MAX_INTEGER;\n\t }\n\t var remainder = value % 1;\n\t return value === value ? (remainder ? value - remainder : value) : 0;\n\t}\n\t\n\tmodule.exports = toInteger;\n\n\n/***/ },\n/* 199 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(36),\n\t isObject = __webpack_require__(18),\n\t isSymbol = __webpack_require__(194);\n\t\n\t/** Used as references for various `Number` constants. */\n\tvar NAN = 0 / 0;\n\t\n\t/** Used to match leading and trailing whitespace. */\n\tvar reTrim = /^\\s+|\\s+$/g;\n\t\n\t/** Used to detect bad signed hexadecimal string values. */\n\tvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\t\n\t/** Used to detect binary string values. */\n\tvar reIsBinary = /^0b[01]+$/i;\n\t\n\t/** Used to detect octal string values. */\n\tvar reIsOctal = /^0o[0-7]+$/i;\n\t\n\t/** Built-in method references without a dependency on `root`. */\n\tvar freeParseInt = parseInt;\n\t\n\t/**\n\t * Converts `value` to a number.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to process.\n\t * @returns {number} Returns the number.\n\t * @example\n\t *\n\t * _.toNumber(3);\n\t * // => 3\n\t *\n\t * _.toNumber(Number.MIN_VALUE);\n\t * // => 5e-324\n\t *\n\t * _.toNumber(Infinity);\n\t * // => Infinity\n\t *\n\t * _.toNumber('3');\n\t * // => 3\n\t */\n\tfunction toNumber(value) {\n\t if (typeof value == 'number') {\n\t return value;\n\t }\n\t if (isSymbol(value)) {\n\t return NAN;\n\t }\n\t if (isObject(value)) {\n\t var other = isFunction(value.valueOf) ? value.valueOf() : value;\n\t value = isObject(other) ? (other + '') : other;\n\t }\n\t if (typeof value != 'string') {\n\t return value === 0 ? value : +value;\n\t }\n\t value = value.replace(reTrim, '');\n\t var isBinary = reIsBinary.test(value);\n\t return (isBinary || reIsOctal.test(value))\n\t ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n\t : (reIsBadHex.test(value) ? NAN : +value);\n\t}\n\t\n\tmodule.exports = toNumber;\n\n\n/***/ },\n/* 200 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFlatten = __webpack_require__(160),\n\t baseUniq = __webpack_require__(166),\n\t isArrayLikeObject = __webpack_require__(17),\n\t rest = __webpack_require__(19);\n\t\n\t/**\n\t * Creates an array of unique values, in order, from all given arrays using\n\t * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n\t * for equality comparisons.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Array\n\t * @param {...Array} [arrays] The arrays to inspect.\n\t * @returns {Array} Returns the new array of combined values.\n\t * @example\n\t *\n\t * _.union([2, 1], [4, 2], [1, 2]);\n\t * // => [2, 1, 4]\n\t */\n\tvar union = rest(function(arrays) {\n\t return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n\t});\n\t\n\tmodule.exports = union;\n\n\n/***/ },\n/* 201 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseDifference = __webpack_require__(159),\n\t isArrayLikeObject = __webpack_require__(17),\n\t rest = __webpack_require__(19);\n\t\n\t/**\n\t * Creates an array excluding all given values using\n\t * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n\t * for equality comparisons.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Array\n\t * @param {Array} array The array to filter.\n\t * @param {...*} [values] The values to exclude.\n\t * @returns {Array} Returns the new array of filtered values.\n\t * @example\n\t *\n\t * _.without([1, 2, 1, 3], 1, 2);\n\t * // => [3]\n\t */\n\tvar without = rest(function(array, values) {\n\t return isArrayLikeObject(array)\n\t ? baseDifference(array, values)\n\t : [];\n\t});\n\t\n\tmodule.exports = without;\n\n\n/***/ },\n/* 202 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _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; };\n\t\n\tvar _slice = Array.prototype.slice;\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\texports['default'] = DragDropContext;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tfunction _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; }\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _dndCore = __webpack_require__(89);\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _utilsCheckDecoratorArguments = __webpack_require__(20);\n\t\n\tvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\t\n\tfunction DragDropContext(backendOrModule) {\n\t _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DragDropContext', 'backend'].concat(_slice.call(arguments)));\n\t\n\t // Auto-detect ES6 default export for people still using ES5\n\t var backend = undefined;\n\t if (typeof backendOrModule === 'object' && typeof backendOrModule['default'] === 'function') {\n\t backend = backendOrModule['default'];\n\t } else {\n\t backend = backendOrModule;\n\t }\n\t\n\t _invariant2['default'](typeof backend === 'function', 'Expected the backend to be a function or an ES6 module exporting a default function. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-drop-context.html');\n\t\n\t var childContext = {\n\t dragDropManager: new _dndCore.DragDropManager(backend)\n\t };\n\t\n\t return function decorateContext(DecoratedComponent) {\n\t var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\t\n\t return (function (_Component) {\n\t _inherits(DragDropContextContainer, _Component);\n\t\n\t function DragDropContextContainer() {\n\t _classCallCheck(this, DragDropContextContainer);\n\t\n\t _Component.apply(this, arguments);\n\t }\n\t\n\t DragDropContextContainer.prototype.getDecoratedComponentInstance = function getDecoratedComponentInstance() {\n\t return this.refs.child;\n\t };\n\t\n\t DragDropContextContainer.prototype.getManager = function getManager() {\n\t return childContext.dragDropManager;\n\t };\n\t\n\t DragDropContextContainer.prototype.getChildContext = function getChildContext() {\n\t return childContext;\n\t };\n\t\n\t DragDropContextContainer.prototype.render = function render() {\n\t return _react2['default'].createElement(DecoratedComponent, _extends({}, this.props, {\n\t ref: 'child' }));\n\t };\n\t\n\t _createClass(DragDropContextContainer, null, [{\n\t key: 'DecoratedComponent',\n\t value: DecoratedComponent,\n\t enumerable: true\n\t }, {\n\t key: 'displayName',\n\t value: 'DragDropContext(' + displayName + ')',\n\t enumerable: true\n\t }, {\n\t key: 'childContextTypes',\n\t value: {\n\t dragDropManager: _react.PropTypes.object.isRequired\n\t },\n\t enumerable: true\n\t }]);\n\t\n\t return DragDropContextContainer;\n\t })(_react.Component);\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 203 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _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; };\n\t\n\tvar _slice = Array.prototype.slice;\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\texports['default'] = DragLayer;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tfunction _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; }\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _utilsShallowEqual = __webpack_require__(39);\n\t\n\tvar _utilsShallowEqual2 = _interopRequireDefault(_utilsShallowEqual);\n\t\n\tvar _utilsShallowEqualScalar = __webpack_require__(66);\n\t\n\tvar _utilsShallowEqualScalar2 = _interopRequireDefault(_utilsShallowEqualScalar);\n\t\n\tvar _lodashIsPlainObject = __webpack_require__(5);\n\t\n\tvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _utilsCheckDecoratorArguments = __webpack_require__(20);\n\t\n\tvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\t\n\tfunction DragLayer(collect) {\n\t var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\n\t _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DragLayer', 'collect[, options]'].concat(_slice.call(arguments)));\n\t _invariant2['default'](typeof collect === 'function', 'Expected \"collect\" provided as the first argument to DragLayer ' + 'to be a function that collects props to inject into the component. ', 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-layer.html', collect);\n\t _invariant2['default'](_lodashIsPlainObject2['default'](options), 'Expected \"options\" provided as the second argument to DragLayer to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-layer.html', options);\n\t\n\t return function decorateLayer(DecoratedComponent) {\n\t var _options$arePropsEqual = options.arePropsEqual;\n\t var arePropsEqual = _options$arePropsEqual === undefined ? _utilsShallowEqualScalar2['default'] : _options$arePropsEqual;\n\t\n\t var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\t\n\t return (function (_Component) {\n\t _inherits(DragLayerContainer, _Component);\n\t\n\t DragLayerContainer.prototype.getDecoratedComponentInstance = function getDecoratedComponentInstance() {\n\t return this.refs.child;\n\t };\n\t\n\t DragLayerContainer.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n\t return !arePropsEqual(nextProps, this.props) || !_utilsShallowEqual2['default'](nextState, this.state);\n\t };\n\t\n\t _createClass(DragLayerContainer, null, [{\n\t key: 'DecoratedComponent',\n\t value: DecoratedComponent,\n\t enumerable: true\n\t }, {\n\t key: 'displayName',\n\t value: 'DragLayer(' + displayName + ')',\n\t enumerable: true\n\t }, {\n\t key: 'contextTypes',\n\t value: {\n\t dragDropManager: _react.PropTypes.object.isRequired\n\t },\n\t enumerable: true\n\t }]);\n\t\n\t function DragLayerContainer(props, context) {\n\t _classCallCheck(this, DragLayerContainer);\n\t\n\t _Component.call(this, props);\n\t this.handleChange = this.handleChange.bind(this);\n\t\n\t this.manager = context.dragDropManager;\n\t _invariant2['default'](typeof this.manager === 'object', 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to wrap the top-level component of your app with DragDropContext. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName);\n\t\n\t this.state = this.getCurrentState();\n\t }\n\t\n\t DragLayerContainer.prototype.componentDidMount = function componentDidMount() {\n\t this.isCurrentlyMounted = true;\n\t\n\t var monitor = this.manager.getMonitor();\n\t this.unsubscribeFromOffsetChange = monitor.subscribeToOffsetChange(this.handleChange);\n\t this.unsubscribeFromStateChange = monitor.subscribeToStateChange(this.handleChange);\n\t\n\t this.handleChange();\n\t };\n\t\n\t DragLayerContainer.prototype.componentWillUnmount = function componentWillUnmount() {\n\t this.isCurrentlyMounted = false;\n\t\n\t this.unsubscribeFromOffsetChange();\n\t this.unsubscribeFromStateChange();\n\t };\n\t\n\t DragLayerContainer.prototype.handleChange = function handleChange() {\n\t if (!this.isCurrentlyMounted) {\n\t return;\n\t }\n\t\n\t var nextState = this.getCurrentState();\n\t if (!_utilsShallowEqual2['default'](nextState, this.state)) {\n\t this.setState(nextState);\n\t }\n\t };\n\t\n\t DragLayerContainer.prototype.getCurrentState = function getCurrentState() {\n\t var monitor = this.manager.getMonitor();\n\t return collect(monitor);\n\t };\n\t\n\t DragLayerContainer.prototype.render = function render() {\n\t return _react2['default'].createElement(DecoratedComponent, _extends({}, this.props, this.state, {\n\t ref: 'child' }));\n\t };\n\t\n\t return DragLayerContainer;\n\t })(_react.Component);\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 204 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\tvar _slice = Array.prototype.slice;\n\texports['default'] = DragSource;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _lodashIsPlainObject = __webpack_require__(5);\n\t\n\tvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\t\n\tvar _utilsCheckDecoratorArguments = __webpack_require__(20);\n\t\n\tvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\t\n\tvar _decorateHandler = __webpack_require__(64);\n\t\n\tvar _decorateHandler2 = _interopRequireDefault(_decorateHandler);\n\t\n\tvar _registerSource = __webpack_require__(212);\n\t\n\tvar _registerSource2 = _interopRequireDefault(_registerSource);\n\t\n\tvar _createSourceFactory = __webpack_require__(207);\n\t\n\tvar _createSourceFactory2 = _interopRequireDefault(_createSourceFactory);\n\t\n\tvar _createSourceMonitor = __webpack_require__(208);\n\t\n\tvar _createSourceMonitor2 = _interopRequireDefault(_createSourceMonitor);\n\t\n\tvar _createSourceConnector = __webpack_require__(206);\n\t\n\tvar _createSourceConnector2 = _interopRequireDefault(_createSourceConnector);\n\t\n\tvar _utilsIsValidType = __webpack_require__(65);\n\t\n\tvar _utilsIsValidType2 = _interopRequireDefault(_utilsIsValidType);\n\t\n\tfunction DragSource(type, spec, collect) {\n\t var options = arguments.length <= 3 || arguments[3] === undefined ? {} : arguments[3];\n\t\n\t _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DragSource', 'type, spec, collect[, options]'].concat(_slice.call(arguments)));\n\t var getType = type;\n\t if (typeof type !== 'function') {\n\t _invariant2['default'](_utilsIsValidType2['default'](type), 'Expected \"type\" provided as the first argument to DragSource to be ' + 'a string, or a function that returns a string given the current props. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', type);\n\t getType = function () {\n\t return type;\n\t };\n\t }\n\t _invariant2['default'](_lodashIsPlainObject2['default'](spec), 'Expected \"spec\" provided as the second argument to DragSource to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', spec);\n\t var createSource = _createSourceFactory2['default'](spec);\n\t _invariant2['default'](typeof collect === 'function', 'Expected \"collect\" provided as the third argument to DragSource to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', collect);\n\t _invariant2['default'](_lodashIsPlainObject2['default'](options), 'Expected \"options\" provided as the fourth argument to DragSource to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', collect);\n\t\n\t return function decorateSource(DecoratedComponent) {\n\t return _decorateHandler2['default']({\n\t connectBackend: function connectBackend(backend, sourceId) {\n\t return backend.connectDragSource(sourceId);\n\t },\n\t containerDisplayName: 'DragSource',\n\t createHandler: createSource,\n\t registerHandler: _registerSource2['default'],\n\t createMonitor: _createSourceMonitor2['default'],\n\t createConnector: _createSourceConnector2['default'],\n\t DecoratedComponent: DecoratedComponent,\n\t getType: getType,\n\t collect: collect,\n\t options: options\n\t });\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 205 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\tvar _slice = Array.prototype.slice;\n\texports['default'] = DropTarget;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _lodashIsPlainObject = __webpack_require__(5);\n\t\n\tvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\t\n\tvar _utilsCheckDecoratorArguments = __webpack_require__(20);\n\t\n\tvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\t\n\tvar _decorateHandler = __webpack_require__(64);\n\t\n\tvar _decorateHandler2 = _interopRequireDefault(_decorateHandler);\n\t\n\tvar _registerTarget = __webpack_require__(213);\n\t\n\tvar _registerTarget2 = _interopRequireDefault(_registerTarget);\n\t\n\tvar _createTargetFactory = __webpack_require__(210);\n\t\n\tvar _createTargetFactory2 = _interopRequireDefault(_createTargetFactory);\n\t\n\tvar _createTargetMonitor = __webpack_require__(211);\n\t\n\tvar _createTargetMonitor2 = _interopRequireDefault(_createTargetMonitor);\n\t\n\tvar _createTargetConnector = __webpack_require__(209);\n\t\n\tvar _createTargetConnector2 = _interopRequireDefault(_createTargetConnector);\n\t\n\tvar _utilsIsValidType = __webpack_require__(65);\n\t\n\tvar _utilsIsValidType2 = _interopRequireDefault(_utilsIsValidType);\n\t\n\tfunction DropTarget(type, spec, collect) {\n\t var options = arguments.length <= 3 || arguments[3] === undefined ? {} : arguments[3];\n\t\n\t _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DropTarget', 'type, spec, collect[, options]'].concat(_slice.call(arguments)));\n\t var getType = type;\n\t if (typeof type !== 'function') {\n\t _invariant2['default'](_utilsIsValidType2['default'](type, true), 'Expected \"type\" provided as the first argument to DropTarget to be ' + 'a string, an array of strings, or a function that returns either given ' + 'the current props. Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', type);\n\t getType = function () {\n\t return type;\n\t };\n\t }\n\t _invariant2['default'](_lodashIsPlainObject2['default'](spec), 'Expected \"spec\" provided as the second argument to DropTarget to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', spec);\n\t var createTarget = _createTargetFactory2['default'](spec);\n\t _invariant2['default'](typeof collect === 'function', 'Expected \"collect\" provided as the third argument to DropTarget to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', collect);\n\t _invariant2['default'](_lodashIsPlainObject2['default'](options), 'Expected \"options\" provided as the fourth argument to DropTarget to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', collect);\n\t\n\t return function decorateTarget(DecoratedComponent) {\n\t return _decorateHandler2['default']({\n\t connectBackend: function connectBackend(backend, targetId) {\n\t return backend.connectDropTarget(targetId);\n\t },\n\t containerDisplayName: 'DropTarget',\n\t createHandler: createTarget,\n\t registerHandler: _registerTarget2['default'],\n\t createMonitor: _createTargetMonitor2['default'],\n\t createConnector: _createTargetConnector2['default'],\n\t DecoratedComponent: DecoratedComponent,\n\t getType: getType,\n\t collect: collect,\n\t options: options\n\t });\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 206 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createSourceConnector;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _wrapConnectorHooks = __webpack_require__(67);\n\t\n\tvar _wrapConnectorHooks2 = _interopRequireDefault(_wrapConnectorHooks);\n\t\n\tvar _areOptionsEqual = __webpack_require__(63);\n\t\n\tvar _areOptionsEqual2 = _interopRequireDefault(_areOptionsEqual);\n\t\n\tfunction createSourceConnector(backend) {\n\t var currentHandlerId = undefined;\n\t\n\t var currentDragSourceNode = undefined;\n\t var currentDragSourceOptions = undefined;\n\t var disconnectCurrentDragSource = undefined;\n\t\n\t var currentDragPreviewNode = undefined;\n\t var currentDragPreviewOptions = undefined;\n\t var disconnectCurrentDragPreview = undefined;\n\t\n\t function reconnectDragSource() {\n\t if (disconnectCurrentDragSource) {\n\t disconnectCurrentDragSource();\n\t disconnectCurrentDragSource = null;\n\t }\n\t\n\t if (currentHandlerId && currentDragSourceNode) {\n\t disconnectCurrentDragSource = backend.connectDragSource(currentHandlerId, currentDragSourceNode, currentDragSourceOptions);\n\t }\n\t }\n\t\n\t function reconnectDragPreview() {\n\t if (disconnectCurrentDragPreview) {\n\t disconnectCurrentDragPreview();\n\t disconnectCurrentDragPreview = null;\n\t }\n\t\n\t if (currentHandlerId && currentDragPreviewNode) {\n\t disconnectCurrentDragPreview = backend.connectDragPreview(currentHandlerId, currentDragPreviewNode, currentDragPreviewOptions);\n\t }\n\t }\n\t\n\t function receiveHandlerId(handlerId) {\n\t if (handlerId === currentHandlerId) {\n\t return;\n\t }\n\t\n\t currentHandlerId = handlerId;\n\t reconnectDragSource();\n\t reconnectDragPreview();\n\t }\n\t\n\t var hooks = _wrapConnectorHooks2['default']({\n\t dragSource: function connectDragSource(node, options) {\n\t if (node === currentDragSourceNode && _areOptionsEqual2['default'](options, currentDragSourceOptions)) {\n\t return;\n\t }\n\t\n\t currentDragSourceNode = node;\n\t currentDragSourceOptions = options;\n\t\n\t reconnectDragSource();\n\t },\n\t\n\t dragPreview: function connectDragPreview(node, options) {\n\t if (node === currentDragPreviewNode && _areOptionsEqual2['default'](options, currentDragPreviewOptions)) {\n\t return;\n\t }\n\t\n\t currentDragPreviewNode = node;\n\t currentDragPreviewOptions = options;\n\t\n\t reconnectDragPreview();\n\t }\n\t });\n\t\n\t return {\n\t receiveHandlerId: receiveHandlerId,\n\t hooks: hooks\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 207 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createSourceFactory;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _lodashIsPlainObject = __webpack_require__(5);\n\t\n\tvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\t\n\tvar ALLOWED_SPEC_METHODS = ['canDrag', 'beginDrag', 'canDrag', 'isDragging', 'endDrag'];\n\tvar REQUIRED_SPEC_METHODS = ['beginDrag'];\n\t\n\tfunction createSourceFactory(spec) {\n\t Object.keys(spec).forEach(function (key) {\n\t _invariant2['default'](ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drag source specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected \"%s\" key. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', ALLOWED_SPEC_METHODS.join(', '), key);\n\t _invariant2['default'](typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', key, key, spec[key]);\n\t });\n\t REQUIRED_SPEC_METHODS.forEach(function (key) {\n\t _invariant2['default'](typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', key, key, spec[key]);\n\t });\n\t\n\t var Source = (function () {\n\t function Source(monitor) {\n\t _classCallCheck(this, Source);\n\t\n\t this.monitor = monitor;\n\t this.props = null;\n\t this.component = null;\n\t }\n\t\n\t Source.prototype.receiveProps = function receiveProps(props) {\n\t this.props = props;\n\t };\n\t\n\t Source.prototype.receiveComponent = function receiveComponent(component) {\n\t this.component = component;\n\t };\n\t\n\t Source.prototype.canDrag = function canDrag() {\n\t if (!spec.canDrag) {\n\t return true;\n\t }\n\t\n\t return spec.canDrag(this.props, this.monitor);\n\t };\n\t\n\t Source.prototype.isDragging = function isDragging(globalMonitor, sourceId) {\n\t if (!spec.isDragging) {\n\t return sourceId === globalMonitor.getSourceId();\n\t }\n\t\n\t return spec.isDragging(this.props, this.monitor);\n\t };\n\t\n\t Source.prototype.beginDrag = function beginDrag() {\n\t var item = spec.beginDrag(this.props, this.monitor, this.component);\n\t if (false) {\n\t _invariant2['default'](_lodashIsPlainObject2['default'](item), 'beginDrag() must return a plain object that represents the dragged item. ' + 'Instead received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', item);\n\t }\n\t return item;\n\t };\n\t\n\t Source.prototype.endDrag = function endDrag() {\n\t if (!spec.endDrag) {\n\t return;\n\t }\n\t\n\t spec.endDrag(this.props, this.monitor, this.component);\n\t };\n\t\n\t return Source;\n\t })();\n\t\n\t return function createSource(monitor) {\n\t return new Source(monitor);\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 208 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createSourceMonitor;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar isCallingCanDrag = false;\n\tvar isCallingIsDragging = false;\n\t\n\tvar SourceMonitor = (function () {\n\t function SourceMonitor(manager) {\n\t _classCallCheck(this, SourceMonitor);\n\t\n\t this.internalMonitor = manager.getMonitor();\n\t }\n\t\n\t SourceMonitor.prototype.receiveHandlerId = function receiveHandlerId(sourceId) {\n\t this.sourceId = sourceId;\n\t };\n\t\n\t SourceMonitor.prototype.canDrag = function canDrag() {\n\t _invariant2['default'](!isCallingCanDrag, 'You may not call monitor.canDrag() inside your canDrag() implementation. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source-monitor.html');\n\t\n\t try {\n\t isCallingCanDrag = true;\n\t return this.internalMonitor.canDragSource(this.sourceId);\n\t } finally {\n\t isCallingCanDrag = false;\n\t }\n\t };\n\t\n\t SourceMonitor.prototype.isDragging = function isDragging() {\n\t _invariant2['default'](!isCallingIsDragging, 'You may not call monitor.isDragging() inside your isDragging() implementation. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source-monitor.html');\n\t\n\t try {\n\t isCallingIsDragging = true;\n\t return this.internalMonitor.isDraggingSource(this.sourceId);\n\t } finally {\n\t isCallingIsDragging = false;\n\t }\n\t };\n\t\n\t SourceMonitor.prototype.getItemType = function getItemType() {\n\t return this.internalMonitor.getItemType();\n\t };\n\t\n\t SourceMonitor.prototype.getItem = function getItem() {\n\t return this.internalMonitor.getItem();\n\t };\n\t\n\t SourceMonitor.prototype.getDropResult = function getDropResult() {\n\t return this.internalMonitor.getDropResult();\n\t };\n\t\n\t SourceMonitor.prototype.didDrop = function didDrop() {\n\t return this.internalMonitor.didDrop();\n\t };\n\t\n\t SourceMonitor.prototype.getInitialClientOffset = function getInitialClientOffset() {\n\t return this.internalMonitor.getInitialClientOffset();\n\t };\n\t\n\t SourceMonitor.prototype.getInitialSourceClientOffset = function getInitialSourceClientOffset() {\n\t return this.internalMonitor.getInitialSourceClientOffset();\n\t };\n\t\n\t SourceMonitor.prototype.getSourceClientOffset = function getSourceClientOffset() {\n\t return this.internalMonitor.getSourceClientOffset();\n\t };\n\t\n\t SourceMonitor.prototype.getClientOffset = function getClientOffset() {\n\t return this.internalMonitor.getClientOffset();\n\t };\n\t\n\t SourceMonitor.prototype.getDifferenceFromInitialOffset = function getDifferenceFromInitialOffset() {\n\t return this.internalMonitor.getDifferenceFromInitialOffset();\n\t };\n\t\n\t return SourceMonitor;\n\t})();\n\t\n\tfunction createSourceMonitor(manager) {\n\t return new SourceMonitor(manager);\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 209 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createTargetConnector;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _wrapConnectorHooks = __webpack_require__(67);\n\t\n\tvar _wrapConnectorHooks2 = _interopRequireDefault(_wrapConnectorHooks);\n\t\n\tvar _areOptionsEqual = __webpack_require__(63);\n\t\n\tvar _areOptionsEqual2 = _interopRequireDefault(_areOptionsEqual);\n\t\n\tfunction createTargetConnector(backend) {\n\t var currentHandlerId = undefined;\n\t\n\t var currentDropTargetNode = undefined;\n\t var currentDropTargetOptions = undefined;\n\t var disconnectCurrentDropTarget = undefined;\n\t\n\t function reconnectDropTarget() {\n\t if (disconnectCurrentDropTarget) {\n\t disconnectCurrentDropTarget();\n\t disconnectCurrentDropTarget = null;\n\t }\n\t\n\t if (currentHandlerId && currentDropTargetNode) {\n\t disconnectCurrentDropTarget = backend.connectDropTarget(currentHandlerId, currentDropTargetNode, currentDropTargetOptions);\n\t }\n\t }\n\t\n\t function receiveHandlerId(handlerId) {\n\t if (handlerId === currentHandlerId) {\n\t return;\n\t }\n\t\n\t currentHandlerId = handlerId;\n\t reconnectDropTarget();\n\t }\n\t\n\t var hooks = _wrapConnectorHooks2['default']({\n\t dropTarget: function connectDropTarget(node, options) {\n\t if (node === currentDropTargetNode && _areOptionsEqual2['default'](options, currentDropTargetOptions)) {\n\t return;\n\t }\n\t\n\t currentDropTargetNode = node;\n\t currentDropTargetOptions = options;\n\t\n\t reconnectDropTarget();\n\t }\n\t });\n\t\n\t return {\n\t receiveHandlerId: receiveHandlerId,\n\t hooks: hooks\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 210 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createTargetFactory;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _lodashIsPlainObject = __webpack_require__(5);\n\t\n\tvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\t\n\tvar ALLOWED_SPEC_METHODS = ['canDrop', 'hover', 'drop'];\n\t\n\tfunction createTargetFactory(spec) {\n\t Object.keys(spec).forEach(function (key) {\n\t _invariant2['default'](ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drop target specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected \"%s\" key. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', ALLOWED_SPEC_METHODS.join(', '), key);\n\t _invariant2['default'](typeof spec[key] === 'function', 'Expected %s in the drop target specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', key, key, spec[key]);\n\t });\n\t\n\t var Target = (function () {\n\t function Target(monitor) {\n\t _classCallCheck(this, Target);\n\t\n\t this.monitor = monitor;\n\t this.props = null;\n\t this.component = null;\n\t }\n\t\n\t Target.prototype.receiveProps = function receiveProps(props) {\n\t this.props = props;\n\t };\n\t\n\t Target.prototype.receiveMonitor = function receiveMonitor(monitor) {\n\t this.monitor = monitor;\n\t };\n\t\n\t Target.prototype.receiveComponent = function receiveComponent(component) {\n\t this.component = component;\n\t };\n\t\n\t Target.prototype.canDrop = function canDrop() {\n\t if (!spec.canDrop) {\n\t return true;\n\t }\n\t\n\t return spec.canDrop(this.props, this.monitor);\n\t };\n\t\n\t Target.prototype.hover = function hover() {\n\t if (!spec.hover) {\n\t return;\n\t }\n\t\n\t spec.hover(this.props, this.monitor, this.component);\n\t };\n\t\n\t Target.prototype.drop = function drop() {\n\t if (!spec.drop) {\n\t return;\n\t }\n\t\n\t var dropResult = spec.drop(this.props, this.monitor, this.component);\n\t if (false) {\n\t _invariant2['default'](typeof dropResult === 'undefined' || _lodashIsPlainObject2['default'](dropResult), 'drop() must either return undefined, or an object that represents the drop result. ' + 'Instead received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', dropResult);\n\t }\n\t return dropResult;\n\t };\n\t\n\t return Target;\n\t })();\n\t\n\t return function createTarget(monitor) {\n\t return new Target(monitor);\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 211 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createTargetMonitor;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar isCallingCanDrop = false;\n\t\n\tvar TargetMonitor = (function () {\n\t function TargetMonitor(manager) {\n\t _classCallCheck(this, TargetMonitor);\n\t\n\t this.internalMonitor = manager.getMonitor();\n\t }\n\t\n\t TargetMonitor.prototype.receiveHandlerId = function receiveHandlerId(targetId) {\n\t this.targetId = targetId;\n\t };\n\t\n\t TargetMonitor.prototype.canDrop = function canDrop() {\n\t _invariant2['default'](!isCallingCanDrop, 'You may not call monitor.canDrop() inside your canDrop() implementation. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target-monitor.html');\n\t\n\t try {\n\t isCallingCanDrop = true;\n\t return this.internalMonitor.canDropOnTarget(this.targetId);\n\t } finally {\n\t isCallingCanDrop = false;\n\t }\n\t };\n\t\n\t TargetMonitor.prototype.isOver = function isOver(options) {\n\t return this.internalMonitor.isOverTarget(this.targetId, options);\n\t };\n\t\n\t TargetMonitor.prototype.getItemType = function getItemType() {\n\t return this.internalMonitor.getItemType();\n\t };\n\t\n\t TargetMonitor.prototype.getItem = function getItem() {\n\t return this.internalMonitor.getItem();\n\t };\n\t\n\t TargetMonitor.prototype.getDropResult = function getDropResult() {\n\t return this.internalMonitor.getDropResult();\n\t };\n\t\n\t TargetMonitor.prototype.didDrop = function didDrop() {\n\t return this.internalMonitor.didDrop();\n\t };\n\t\n\t TargetMonitor.prototype.getInitialClientOffset = function getInitialClientOffset() {\n\t return this.internalMonitor.getInitialClientOffset();\n\t };\n\t\n\t TargetMonitor.prototype.getInitialSourceClientOffset = function getInitialSourceClientOffset() {\n\t return this.internalMonitor.getInitialSourceClientOffset();\n\t };\n\t\n\t TargetMonitor.prototype.getSourceClientOffset = function getSourceClientOffset() {\n\t return this.internalMonitor.getSourceClientOffset();\n\t };\n\t\n\t TargetMonitor.prototype.getClientOffset = function getClientOffset() {\n\t return this.internalMonitor.getClientOffset();\n\t };\n\t\n\t TargetMonitor.prototype.getDifferenceFromInitialOffset = function getDifferenceFromInitialOffset() {\n\t return this.internalMonitor.getDifferenceFromInitialOffset();\n\t };\n\t\n\t return TargetMonitor;\n\t})();\n\t\n\tfunction createTargetMonitor(manager) {\n\t return new TargetMonitor(manager);\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 212 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = registerSource;\n\t\n\tfunction registerSource(type, source, manager) {\n\t var registry = manager.getRegistry();\n\t var sourceId = registry.addSource(type, source);\n\t\n\t function unregisterSource() {\n\t registry.removeSource(sourceId);\n\t }\n\t\n\t return {\n\t handlerId: sourceId,\n\t unregister: unregisterSource\n\t };\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 213 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = registerTarget;\n\t\n\tfunction registerTarget(type, target, manager) {\n\t var registry = manager.getRegistry();\n\t var targetId = registry.addTarget(type, target);\n\t\n\t function unregisterTarget() {\n\t registry.removeTarget(targetId);\n\t }\n\t\n\t return {\n\t handlerId: targetId,\n\t unregister: unregisterTarget\n\t };\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 214 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = cloneWithRef;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tfunction cloneWithRef(element, newRef) {\n\t var previousRef = element.ref;\n\t _invariant2['default'](typeof previousRef !== 'string', 'Cannot connect React DnD to an element with an existing string ref. ' + 'Please convert it to use a callback ref instead, or wrap it into a or
. ' + 'Read more: https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute');\n\t\n\t if (!previousRef) {\n\t // When there is no ref on the element, use the new ref directly\n\t return _react.cloneElement(element, {\n\t ref: newRef\n\t });\n\t }\n\t\n\t return _react.cloneElement(element, {\n\t ref: function ref(node) {\n\t newRef(node);\n\t\n\t if (previousRef) {\n\t previousRef(node);\n\t }\n\t }\n\t });\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 215 */\n/***/ function(module, exports) {\n\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeGetPrototype = Object.getPrototypeOf;\n\t\n\t/**\n\t * Gets the `[[Prototype]]` of `value`.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {null|Object} Returns the `[[Prototype]]`.\n\t */\n\tfunction getPrototype(value) {\n\t return nativeGetPrototype(Object(value));\n\t}\n\t\n\tmodule.exports = getPrototype;\n\n\n/***/ },\n/* 216 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is a host object in IE < 9.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n\t */\n\tfunction isHostObject(value) {\n\t // Many host objects are `Object` objects that can coerce to strings\n\t // despite having improperly defined `toString` methods.\n\t var result = false;\n\t if (value != null && typeof value.toString != 'function') {\n\t try {\n\t result = !!(value + '');\n\t } catch (e) {}\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = isHostObject;\n\n\n/***/ },\n/* 217 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @type {Function}\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(document.body.children);\n\t * // => false\n\t *\n\t * _.isArray('abc');\n\t * // => false\n\t *\n\t * _.isArray(_.noop);\n\t * // => false\n\t */\n\tvar isArray = Array.isArray;\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 218 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like. A value is object-like if it's not `null`\n\t * and has a `typeof` result of \"object\".\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t * @example\n\t *\n\t * _.isObjectLike({});\n\t * // => true\n\t *\n\t * _.isObjectLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObjectLike(_.noop);\n\t * // => false\n\t *\n\t * _.isObjectLike(null);\n\t * // => false\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 219 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule update\n\t */\n\t\n\t/* global hasOwnProperty:true */\n\t\n\t'use strict';\n\t\n\tvar _assign = __webpack_require__(139);\n\t\n\tvar keyOf = __webpack_require__(138);\n\tvar invariant = __webpack_require__(137);\n\tvar hasOwnProperty = {}.hasOwnProperty;\n\t\n\tfunction shallowCopy(x) {\n\t if (Array.isArray(x)) {\n\t return x.concat();\n\t } else if (x && typeof x === 'object') {\n\t return _assign(new x.constructor(), x);\n\t } else {\n\t return x;\n\t }\n\t}\n\t\n\tvar COMMAND_PUSH = keyOf({ $push: null });\n\tvar COMMAND_UNSHIFT = keyOf({ $unshift: null });\n\tvar COMMAND_SPLICE = keyOf({ $splice: null });\n\tvar COMMAND_SET = keyOf({ $set: null });\n\tvar COMMAND_MERGE = keyOf({ $merge: null });\n\tvar COMMAND_APPLY = keyOf({ $apply: null });\n\t\n\tvar ALL_COMMANDS_LIST = [COMMAND_PUSH, COMMAND_UNSHIFT, COMMAND_SPLICE, COMMAND_SET, COMMAND_MERGE, COMMAND_APPLY];\n\t\n\tvar ALL_COMMANDS_SET = {};\n\t\n\tALL_COMMANDS_LIST.forEach(function (command) {\n\t ALL_COMMANDS_SET[command] = true;\n\t});\n\t\n\tfunction invariantArrayCase(value, spec, command) {\n\t !Array.isArray(value) ? false ? invariant(false, 'update(): expected target of %s to be an array; got %s.', command, value) : invariant(false) : void 0;\n\t var specValue = spec[command];\n\t !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) : invariant(false) : void 0;\n\t}\n\t\n\tfunction update(value, spec) {\n\t !(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) : invariant(false) : void 0;\n\t\n\t if (hasOwnProperty.call(spec, COMMAND_SET)) {\n\t !(Object.keys(spec).length === 1) ? false ? invariant(false, 'Cannot have more than one key in an object with %s', COMMAND_SET) : invariant(false) : void 0;\n\t\n\t return spec[COMMAND_SET];\n\t }\n\t\n\t var nextValue = shallowCopy(value);\n\t\n\t if (hasOwnProperty.call(spec, COMMAND_MERGE)) {\n\t var mergeObj = spec[COMMAND_MERGE];\n\t !(mergeObj && typeof mergeObj === 'object') ? false ? invariant(false, 'update(): %s expects a spec of type \\'object\\'; got %s', COMMAND_MERGE, mergeObj) : invariant(false) : void 0;\n\t !(nextValue && typeof nextValue === 'object') ? false ? invariant(false, 'update(): %s expects a target of type \\'object\\'; got %s', COMMAND_MERGE, nextValue) : invariant(false) : void 0;\n\t _assign(nextValue, spec[COMMAND_MERGE]);\n\t }\n\t\n\t if (hasOwnProperty.call(spec, COMMAND_PUSH)) {\n\t invariantArrayCase(value, spec, COMMAND_PUSH);\n\t spec[COMMAND_PUSH].forEach(function (item) {\n\t nextValue.push(item);\n\t });\n\t }\n\t\n\t if (hasOwnProperty.call(spec, COMMAND_UNSHIFT)) {\n\t invariantArrayCase(value, spec, COMMAND_UNSHIFT);\n\t spec[COMMAND_UNSHIFT].forEach(function (item) {\n\t nextValue.unshift(item);\n\t });\n\t }\n\t\n\t if (hasOwnProperty.call(spec, COMMAND_SPLICE)) {\n\t !Array.isArray(value) ? false ? invariant(false, 'Expected %s target to be an array; got %s', COMMAND_SPLICE, value) : invariant(false) : void 0;\n\t !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]) : invariant(false) : void 0;\n\t spec[COMMAND_SPLICE].forEach(function (args) {\n\t !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]) : invariant(false) : void 0;\n\t nextValue.splice.apply(nextValue, args);\n\t });\n\t }\n\t\n\t if (hasOwnProperty.call(spec, COMMAND_APPLY)) {\n\t !(typeof spec[COMMAND_APPLY] === 'function') ? false ? invariant(false, 'update(): expected spec of %s to be a function; got %s.', COMMAND_APPLY, spec[COMMAND_APPLY]) : invariant(false) : void 0;\n\t nextValue = spec[COMMAND_APPLY](nextValue);\n\t }\n\t\n\t for (var k in spec) {\n\t if (!(ALL_COMMANDS_SET.hasOwnProperty(k) && ALL_COMMANDS_SET[k])) {\n\t nextValue[k] = update(value[k], spec[k]);\n\t }\n\t }\n\t\n\t return nextValue;\n\t}\n\t\n\tmodule.exports = update;\n\n/***/ },\n/* 220 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.ActionTypes = undefined;\n\texports[\"default\"] = createStore;\n\t\n\tvar _isPlainObject = __webpack_require__(224);\n\t\n\tvar _isPlainObject2 = _interopRequireDefault(_isPlainObject);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\t\n\t/**\n\t * These are private action types reserved by Redux.\n\t * For any unknown actions, you must return the current state.\n\t * If the current state is undefined, you must return the initial state.\n\t * Do not reference these action types directly in your code.\n\t */\n\tvar ActionTypes = exports.ActionTypes = {\n\t INIT: '@@redux/INIT'\n\t};\n\t\n\t/**\n\t * Creates a Redux store that holds the state tree.\n\t * The only way to change the data in the store is to call `dispatch()` on it.\n\t *\n\t * There should only be a single store in your app. To specify how different\n\t * parts of the state tree respond to actions, you may combine several reducers\n\t * into a single reducer function by using `combineReducers`.\n\t *\n\t * @param {Function} reducer A function that returns the next state tree, given\n\t * the current state tree and the action to handle.\n\t *\n\t * @param {any} [initialState] The initial state. You may optionally specify it\n\t * to hydrate the state from the server in universal apps, or to restore a\n\t * previously serialized user session.\n\t * If you use `combineReducers` to produce the root reducer function, this must be\n\t * an object with the same shape as `combineReducers` keys.\n\t *\n\t * @param {Function} enhancer The store enhancer. You may optionally specify it\n\t * to enhance the store with third-party capabilities such as middleware,\n\t * time travel, persistence, etc. The only store enhancer that ships with Redux\n\t * is `applyMiddleware()`.\n\t *\n\t * @returns {Store} A Redux store that lets you read the state, dispatch actions\n\t * and subscribe to changes.\n\t */\n\tfunction createStore(reducer, initialState, enhancer) {\n\t if (typeof initialState === 'function' && typeof enhancer === 'undefined') {\n\t enhancer = initialState;\n\t initialState = undefined;\n\t }\n\t\n\t if (typeof enhancer !== 'undefined') {\n\t if (typeof enhancer !== 'function') {\n\t throw new Error('Expected the enhancer to be a function.');\n\t }\n\t\n\t return enhancer(createStore)(reducer, initialState);\n\t }\n\t\n\t if (typeof reducer !== 'function') {\n\t throw new Error('Expected the reducer to be a function.');\n\t }\n\t\n\t var currentReducer = reducer;\n\t var currentState = initialState;\n\t var currentListeners = [];\n\t var nextListeners = currentListeners;\n\t var isDispatching = false;\n\t\n\t function ensureCanMutateNextListeners() {\n\t if (nextListeners === currentListeners) {\n\t nextListeners = currentListeners.slice();\n\t }\n\t }\n\t\n\t /**\n\t * Reads the state tree managed by the store.\n\t *\n\t * @returns {any} The current state tree of your application.\n\t */\n\t function getState() {\n\t return currentState;\n\t }\n\t\n\t /**\n\t * Adds a change listener. It will be called any time an action is dispatched,\n\t * and some part of the state tree may potentially have changed. You may then\n\t * call `getState()` to read the current state tree inside the callback.\n\t *\n\t * You may call `dispatch()` from a change listener, with the following\n\t * caveats:\n\t *\n\t * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n\t * If you subscribe or unsubscribe while the listeners are being invoked, this\n\t * will not have any effect on the `dispatch()` that is currently in progress.\n\t * However, the next `dispatch()` call, whether nested or not, will use a more\n\t * recent snapshot of the subscription list.\n\t *\n\t * 2. The listener should not expect to see all state changes, as the state\n\t * might have been updated multiple times during a nested `dispatch()` before\n\t * the listener is called. It is, however, guaranteed that all subscribers\n\t * registered before the `dispatch()` started will be called with the latest\n\t * state by the time it exits.\n\t *\n\t * @param {Function} listener A callback to be invoked on every dispatch.\n\t * @returns {Function} A function to remove this change listener.\n\t */\n\t function subscribe(listener) {\n\t if (typeof listener !== 'function') {\n\t throw new Error('Expected listener to be a function.');\n\t }\n\t\n\t var isSubscribed = true;\n\t\n\t ensureCanMutateNextListeners();\n\t nextListeners.push(listener);\n\t\n\t return function unsubscribe() {\n\t if (!isSubscribed) {\n\t return;\n\t }\n\t\n\t isSubscribed = false;\n\t\n\t ensureCanMutateNextListeners();\n\t var index = nextListeners.indexOf(listener);\n\t nextListeners.splice(index, 1);\n\t };\n\t }\n\t\n\t /**\n\t * Dispatches an action. It is the only way to trigger a state change.\n\t *\n\t * The `reducer` function, used to create the store, will be called with the\n\t * current state tree and the given `action`. Its return value will\n\t * be considered the **next** state of the tree, and the change listeners\n\t * will be notified.\n\t *\n\t * The base implementation only supports plain object actions. If you want to\n\t * dispatch a Promise, an Observable, a thunk, or something else, you need to\n\t * wrap your store creating function into the corresponding middleware. For\n\t * example, see the documentation for the `redux-thunk` package. Even the\n\t * middleware will eventually dispatch plain object actions using this method.\n\t *\n\t * @param {Object} action A plain object representing “what changed”. It is\n\t * a good idea to keep actions serializable so you can record and replay user\n\t * sessions, or use the time travelling `redux-devtools`. An action must have\n\t * a `type` property which may not be `undefined`. It is a good idea to use\n\t * string constants for action types.\n\t *\n\t * @returns {Object} For convenience, the same action object you dispatched.\n\t *\n\t * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n\t * return something else (for example, a Promise you can await).\n\t */\n\t function dispatch(action) {\n\t if (!(0, _isPlainObject2[\"default\"])(action)) {\n\t throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n\t }\n\t\n\t if (typeof action.type === 'undefined') {\n\t throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n\t }\n\t\n\t if (isDispatching) {\n\t throw new Error('Reducers may not dispatch actions.');\n\t }\n\t\n\t try {\n\t isDispatching = true;\n\t currentState = currentReducer(currentState, action);\n\t } finally {\n\t isDispatching = false;\n\t }\n\t\n\t var listeners = currentListeners = nextListeners;\n\t for (var i = 0; i < listeners.length; i++) {\n\t listeners[i]();\n\t }\n\t\n\t return action;\n\t }\n\t\n\t /**\n\t * Replaces the reducer currently used by the store to calculate the state.\n\t *\n\t * You might need this if your app implements code splitting and you want to\n\t * load some of the reducers dynamically. You might also need this if you\n\t * implement a hot reloading mechanism for Redux.\n\t *\n\t * @param {Function} nextReducer The reducer for the store to use instead.\n\t * @returns {void}\n\t */\n\t function replaceReducer(nextReducer) {\n\t if (typeof nextReducer !== 'function') {\n\t throw new Error('Expected the nextReducer to be a function.');\n\t }\n\t\n\t currentReducer = nextReducer;\n\t dispatch({ type: ActionTypes.INIT });\n\t }\n\t\n\t // When a store is created, an \"INIT\" action is dispatched so that every\n\t // reducer returns their initial state. This effectively populates\n\t // the initial state tree.\n\t dispatch({ type: ActionTypes.INIT });\n\t\n\t return {\n\t dispatch: dispatch,\n\t subscribe: subscribe,\n\t getState: getState,\n\t replaceReducer: replaceReducer\n\t };\n\t}\n\n/***/ },\n/* 221 */\n/***/ function(module, exports) {\n\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeGetPrototype = Object.getPrototypeOf;\n\t\n\t/**\n\t * Gets the `[[Prototype]]` of `value`.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {null|Object} Returns the `[[Prototype]]`.\n\t */\n\tfunction getPrototype(value) {\n\t return nativeGetPrototype(Object(value));\n\t}\n\t\n\tmodule.exports = getPrototype;\n\n\n/***/ },\n/* 222 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is a host object in IE < 9.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n\t */\n\tfunction isHostObject(value) {\n\t // Many host objects are `Object` objects that can coerce to strings\n\t // despite having improperly defined `toString` methods.\n\t var result = false;\n\t if (value != null && typeof value.toString != 'function') {\n\t try {\n\t result = !!(value + '');\n\t } catch (e) {}\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = isHostObject;\n\n\n/***/ },\n/* 223 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like. A value is object-like if it's not `null`\n\t * and has a `typeof` result of \"object\".\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t * @example\n\t *\n\t * _.isObjectLike({});\n\t * // => true\n\t *\n\t * _.isObjectLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObjectLike(_.noop);\n\t * // => false\n\t *\n\t * _.isObjectLike(null);\n\t * // => false\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 224 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getPrototype = __webpack_require__(221),\n\t isHostObject = __webpack_require__(222),\n\t isObjectLike = __webpack_require__(223);\n\t\n\t/** `Object#toString` result references. */\n\tvar objectTag = '[object Object]';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to infer the `Object` constructor. */\n\tvar objectCtorString = funcToString.call(Object);\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is a plain object, that is, an object created by the\n\t * `Object` constructor or one with a `[[Prototype]]` of `null`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.8.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a plain object,\n\t * else `false`.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * }\n\t *\n\t * _.isPlainObject(new Foo);\n\t * // => false\n\t *\n\t * _.isPlainObject([1, 2, 3]);\n\t * // => false\n\t *\n\t * _.isPlainObject({ 'x': 0, 'y': 0 });\n\t * // => true\n\t *\n\t * _.isPlainObject(Object.create(null));\n\t * // => true\n\t */\n\tfunction isPlainObject(value) {\n\t if (!isObjectLike(value) ||\n\t objectToString.call(value) != objectTag || isHostObject(value)) {\n\t return false;\n\t }\n\t var proto = getPrototype(value);\n\t if (proto === null) {\n\t return true;\n\t }\n\t var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n\t return (typeof Ctor == 'function' &&\n\t Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString);\n\t}\n\t\n\tmodule.exports = isPlainObject;\n\n\n/***/ },\n/* 225 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_225__;\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** lib.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap cf4f63a4d8e05160a413\n **/","/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/invariant/browser.js\n ** module id = 1\n ** module chunks = 0\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"react\"\n ** module id = 2\n ** module chunks = 0\n **/","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return type == 'number' || type == 'boolean' ||\n (type == 'string' && value != '__proto__') || value == null;\n}\n\nmodule.exports = isKeyable;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_isKeyable.js\n ** module id = 3\n ** module chunks = 0\n **/","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return type == 'number' || type == 'boolean' ||\n (type == 'string' && value != '__proto__') || value == null;\n}\n\nmodule.exports = isKeyable;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_isKeyable.js\n ** module id = 4\n ** module chunks = 0\n **/","var getPrototype = require('./_getPrototype'),\n isHostObject = require('./_isHostObject'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object,\n * else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) ||\n objectToString.call(value) != objectTag || isHostObject(value)) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return (typeof Ctor == 'function' &&\n Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString);\n}\n\nmodule.exports = isPlainObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/~/lodash/isPlainObject.js\n ** module id = 5\n ** module chunks = 0\n **/","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_Map.js\n ** module id = 6\n ** module chunks = 0\n **/","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_Map.js\n ** module id = 7\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.beginDrag = beginDrag;\nexports.publishDragSource = publishDragSource;\nexports.hover = hover;\nexports.drop = drop;\nexports.endDrag = endDrag;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utilsMatchesType = require('../utils/matchesType');\n\nvar _utilsMatchesType2 = _interopRequireDefault(_utilsMatchesType);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _lodashIsArray = require('lodash/isArray');\n\nvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\nvar _lodashIsObject = require('lodash/isObject');\n\nvar _lodashIsObject2 = _interopRequireDefault(_lodashIsObject);\n\nvar BEGIN_DRAG = 'dnd-core/BEGIN_DRAG';\nexports.BEGIN_DRAG = BEGIN_DRAG;\nvar PUBLISH_DRAG_SOURCE = 'dnd-core/PUBLISH_DRAG_SOURCE';\nexports.PUBLISH_DRAG_SOURCE = PUBLISH_DRAG_SOURCE;\nvar HOVER = 'dnd-core/HOVER';\nexports.HOVER = HOVER;\nvar DROP = 'dnd-core/DROP';\nexports.DROP = DROP;\nvar END_DRAG = 'dnd-core/END_DRAG';\n\nexports.END_DRAG = END_DRAG;\n\nfunction beginDrag(sourceIds) {\n var _ref = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var _ref$publishSource = _ref.publishSource;\n var publishSource = _ref$publishSource === undefined ? true : _ref$publishSource;\n var _ref$clientOffset = _ref.clientOffset;\n var clientOffset = _ref$clientOffset === undefined ? null : _ref$clientOffset;\n var getSourceClientOffset = _ref.getSourceClientOffset;\n\n _invariant2['default'](_lodashIsArray2['default'](sourceIds), 'Expected sourceIds to be an array.');\n\n var monitor = this.getMonitor();\n var registry = this.getRegistry();\n _invariant2['default'](!monitor.isDragging(), 'Cannot call beginDrag while dragging.');\n\n for (var i = 0; i < sourceIds.length; i++) {\n _invariant2['default'](registry.getSource(sourceIds[i]), 'Expected sourceIds to be registered.');\n }\n\n var sourceId = null;\n for (var i = sourceIds.length - 1; i >= 0; i--) {\n if (monitor.canDragSource(sourceIds[i])) {\n sourceId = sourceIds[i];\n break;\n }\n }\n if (sourceId === null) {\n return;\n }\n\n var sourceClientOffset = null;\n if (clientOffset) {\n _invariant2['default'](typeof getSourceClientOffset === 'function', 'When clientOffset is provided, getSourceClientOffset must be a function.');\n sourceClientOffset = getSourceClientOffset(sourceId);\n }\n\n var source = registry.getSource(sourceId);\n var item = source.beginDrag(monitor, sourceId);\n _invariant2['default'](_lodashIsObject2['default'](item), 'Item must be an object.');\n\n registry.pinSource(sourceId);\n\n var itemType = registry.getSourceType(sourceId);\n return {\n type: BEGIN_DRAG,\n itemType: itemType,\n item: item,\n sourceId: sourceId,\n clientOffset: clientOffset,\n sourceClientOffset: sourceClientOffset,\n isSourcePublic: publishSource\n };\n}\n\nfunction publishDragSource(manager) {\n var monitor = this.getMonitor();\n if (!monitor.isDragging()) {\n return;\n }\n\n return {\n type: PUBLISH_DRAG_SOURCE\n };\n}\n\nfunction hover(targetIds) {\n var _ref2 = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var _ref2$clientOffset = _ref2.clientOffset;\n var clientOffset = _ref2$clientOffset === undefined ? null : _ref2$clientOffset;\n\n _invariant2['default'](_lodashIsArray2['default'](targetIds), 'Expected targetIds to be an array.');\n targetIds = targetIds.slice(0);\n\n var monitor = this.getMonitor();\n var registry = this.getRegistry();\n _invariant2['default'](monitor.isDragging(), 'Cannot call hover while not dragging.');\n _invariant2['default'](!monitor.didDrop(), 'Cannot call hover after drop.');\n\n // First check invariants.\n for (var i = 0; i < targetIds.length; i++) {\n var targetId = targetIds[i];\n _invariant2['default'](targetIds.lastIndexOf(targetId) === i, 'Expected targetIds to be unique in the passed array.');\n\n var target = registry.getTarget(targetId);\n _invariant2['default'](target, 'Expected targetIds to be registered.');\n }\n\n var draggedItemType = monitor.getItemType();\n\n // Remove those targetIds that don't match the targetType. This\n // fixes shallow isOver which would only be non-shallow because of\n // non-matching targets.\n for (var i = targetIds.length - 1; i >= 0; i--) {\n var targetId = targetIds[i];\n var targetType = registry.getTargetType(targetId);\n if (!_utilsMatchesType2['default'](targetType, draggedItemType)) {\n targetIds.splice(i, 1);\n }\n }\n\n // Finally call hover on all matching targets.\n for (var i = 0; i < targetIds.length; i++) {\n var targetId = targetIds[i];\n var target = registry.getTarget(targetId);\n target.hover(monitor, targetId);\n }\n\n return {\n type: HOVER,\n targetIds: targetIds,\n clientOffset: clientOffset\n };\n}\n\nfunction drop() {\n var _this = this;\n\n var monitor = this.getMonitor();\n var registry = this.getRegistry();\n _invariant2['default'](monitor.isDragging(), 'Cannot call drop while not dragging.');\n _invariant2['default'](!monitor.didDrop(), 'Cannot call drop twice during one drag operation.');\n\n var targetIds = monitor.getTargetIds().filter(monitor.canDropOnTarget, monitor);\n\n targetIds.reverse();\n targetIds.forEach(function (targetId, index) {\n var target = registry.getTarget(targetId);\n\n var dropResult = target.drop(monitor, targetId);\n _invariant2['default'](typeof dropResult === 'undefined' || _lodashIsObject2['default'](dropResult), 'Drop result must either be an object or undefined.');\n if (typeof dropResult === 'undefined') {\n dropResult = index === 0 ? {} : monitor.getDropResult();\n }\n\n _this.store.dispatch({\n type: DROP,\n dropResult: dropResult\n });\n });\n}\n\nfunction endDrag() {\n var monitor = this.getMonitor();\n var registry = this.getRegistry();\n _invariant2['default'](monitor.isDragging(), 'Cannot call endDrag while not dragging.');\n\n var sourceId = monitor.getSourceId();\n var source = registry.getSource(sourceId, true);\n source.endDrag(monitor, sourceId);\n\n registry.unpinSource();\n\n return {\n type: END_DRAG\n };\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/actions/dragDrop.js\n ** module id = 8\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.addSource = addSource;\nexports.addTarget = addTarget;\nexports.removeSource = removeSource;\nexports.removeTarget = removeTarget;\nvar ADD_SOURCE = 'dnd-core/ADD_SOURCE';\nexports.ADD_SOURCE = ADD_SOURCE;\nvar ADD_TARGET = 'dnd-core/ADD_TARGET';\nexports.ADD_TARGET = ADD_TARGET;\nvar REMOVE_SOURCE = 'dnd-core/REMOVE_SOURCE';\nexports.REMOVE_SOURCE = REMOVE_SOURCE;\nvar REMOVE_TARGET = 'dnd-core/REMOVE_TARGET';\n\nexports.REMOVE_TARGET = REMOVE_TARGET;\n\nfunction addSource(sourceId) {\n return {\n type: ADD_SOURCE,\n sourceId: sourceId\n };\n}\n\nfunction addTarget(targetId) {\n return {\n type: ADD_TARGET,\n targetId: targetId\n };\n}\n\nfunction removeSource(sourceId) {\n return {\n type: REMOVE_SOURCE,\n sourceId: sourceId\n };\n}\n\nfunction removeTarget(targetId) {\n return {\n type: REMOVE_TARGET,\n targetId: targetId\n };\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/actions/registry.js\n ** module id = 9\n ** module chunks = 0\n **/","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_assocIndexOf.js\n ** module id = 10\n ** module chunks = 0\n **/","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_nativeCreate.js\n ** module id = 11\n ** module chunks = 0\n **/","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @type {Function}\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isArray.js\n ** module id = 12\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isObject.js\n ** module id = 13\n ** module chunks = 0\n **/","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_assocIndexOf.js\n ** module id = 14\n ** module chunks = 0\n **/","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_nativeCreate.js\n ** module id = 15\n ** module chunks = 0\n **/","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/eq.js\n ** module id = 16\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isArrayLikeObject.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isObject.js\n ** module id = 18\n ** module chunks = 0\n **/","var apply = require('./_apply'),\n toInteger = require('./toInteger');\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Creates a function that invokes `func` with the `this` binding of the\n * created function and arguments from `start` and beyond provided as\n * an array.\n *\n * **Note:** This method is based on the\n * [rest parameter](https://mdn.io/rest_parameters).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.rest(function(what, names) {\n * return what + ' ' + _.initial(names).join(', ') +\n * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n * });\n *\n * say('hello', 'fred', 'barney', 'pebbles');\n * // => 'hello fred, barney, & pebbles'\n */\nfunction rest(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = nativeMax(start === undefined ? (func.length - 1) : toInteger(start), 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n switch (start) {\n case 0: return func.call(this, array);\n case 1: return func.call(this, args[0], array);\n case 2: return func.call(this, args[0], args[1], array);\n }\n var otherArgs = Array(start + 1);\n index = -1;\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = rest;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/rest.js\n ** module id = 19\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = checkDecoratorArguments;\n\nfunction checkDecoratorArguments(functionName, signature) {\n if (process.env.NODE_ENV !== 'production') {\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n for (var i = 0; i < args.length; i++) {\n var arg = args[i];\n if (arg && arg.prototype && arg.prototype.render) {\n console.error( // eslint-disable-line no-console\n 'You seem to be applying the arguments in the wrong order. ' + ('It should be ' + functionName + '(' + signature + ')(Component), not the other way around. ') + 'Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#you-seem-to-be-applying-the-arguments-in-the-wrong-order');\n return;\n }\n }\n }\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/utils/checkDecoratorArguments.js\n ** module id = 20\n ** module chunks = 0\n **/","import update from 'react/lib/update';\r\n\r\n/**\r\n * Adds the specified widget to the specified position in the layout.\r\n */\r\nexport function addWidget(layout, rowIndex, columnIndex, widgetName) {\r\n return update(layout, {\r\n rows: {\r\n [rowIndex]: {\r\n columns: {\r\n [columnIndex]: {\r\n widgets: {\r\n $push: [{\r\n key: widgetName,\r\n }],\r\n },\r\n },\r\n },\r\n },\r\n },\r\n });\r\n}\r\n\r\n/**\r\n * Removes the widget at a specified index.\r\n */\r\nexport function removeWidget(layout, rowIndex, columnIndex, widgetIndex) {\r\n return update(layout, {\r\n rows: {\r\n [rowIndex]: {\r\n columns: {\r\n [columnIndex]: {\r\n widgets: {\r\n $splice: [\r\n [widgetIndex, 1],\r\n ],\r\n },\r\n },\r\n },\r\n },\r\n },\r\n });\r\n}\r\n\r\n/**\r\n * Moves a widget from column to column.\r\n */\r\nexport function moveWidget(layout, initialLocation, destination, widgetName) {\r\n const removedLayout = removeWidget(layout, initialLocation.rowIndex, initialLocation.columnIndex, initialLocation.widgetIndex);\r\n const movedLayout = addWidget(removedLayout, destination.rowIndex, destination.columnIndex, widgetName);\r\n return movedLayout;\r\n}\r\n\r\n/**\r\n * Sorts a widget in the same column.\r\n */\r\nexport function sortWidget(layout, initialLocation, destination, widgetName) {\r\n return update(layout, {\r\n rows: {\r\n [initialLocation.rowIndex]: {\r\n columns: {\r\n [initialLocation.columnIndex]: {\r\n widgets: {\r\n $splice: [\r\n [initialLocation.widgetIndex, 1],\r\n [destination.widgetIndex, 0, {\r\n key: widgetName,\r\n }],\r\n ],\r\n },\r\n },\r\n },\r\n },\r\n },\r\n });\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/util/index.js\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = isDisposable;\n\nfunction isDisposable(obj) {\n return Boolean(obj && typeof obj.dispose === 'function');\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/disposables/modules/isDisposable.js\n ** module id = 22\n ** module chunks = 0\n **/","var MapCache = require('./_MapCache'),\n cachePush = require('./_cachePush');\n\n/**\n *\n * Creates a set cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.push(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.push = cachePush;\n\nmodule.exports = SetCache;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_SetCache.js\n ** module id = 23\n ** module chunks = 0\n **/","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n return !!array.length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_arrayIncludes.js\n ** module id = 24\n ** module chunks = 0\n **/","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_arrayIncludesWith.js\n ** module id = 25\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_arrayMap.js\n ** module id = 26\n ** module chunks = 0\n **/","var isKeyable = require('./_isKeyable');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Checks if `value` is in `cache`.\n *\n * @private\n * @param {Object} cache The set cache to search.\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction cacheHas(cache, value) {\n var map = cache.__data__;\n if (isKeyable(value)) {\n var data = map.__data__,\n hash = typeof value == 'string' ? data.string : data.hash;\n\n return hash[value] === HASH_UNDEFINED;\n }\n return map.has(value);\n}\n\nmodule.exports = cacheHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_cacheHas.js\n ** module id = 27\n ** module chunks = 0\n **/","var isNative = require('./isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_getNative.js\n ** module id = 28\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isArrayLikeObject.js\n ** module id = 29\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8 which returns 'object' for typed array and weak map constructors,\n // and PhantomJS 1.9 which returns 'function' for `NodeList` instances.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isFunction.js\n ** module id = 30\n ** module chunks = 0\n **/","var apply = require('./_apply'),\n toInteger = require('./toInteger');\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Creates a function that invokes `func` with the `this` binding of the\n * created function and arguments from `start` and beyond provided as\n * an array.\n *\n * **Note:** This method is based on the\n * [rest parameter](https://mdn.io/rest_parameters).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.rest(function(what, names) {\n * return what + ' ' + _.initial(names).join(', ') +\n * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n * });\n *\n * say('hello', 'fred', 'barney', 'pebbles');\n * // => 'hello fred, barney, & pebbles'\n */\nfunction rest(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = nativeMax(start === undefined ? (func.length - 1) : toInteger(start), 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n switch (start) {\n case 0: return func.call(this, array);\n case 1: return func.call(this, args[0], array);\n case 2: return func.call(this, args[0], args[1], array);\n }\n var otherArgs = Array(start + 1);\n index = -1;\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = rest;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/rest.js\n ** module id = 31\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nvar FILE = '__NATIVE_FILE__';\nexports.FILE = FILE;\nvar URL = '__NATIVE_URL__';\nexports.URL = URL;\nvar TEXT = '__NATIVE_TEXT__';\nexports.TEXT = TEXT;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/NativeTypes.js\n ** module id = 32\n ** module chunks = 0\n **/","var isNative = require('./isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_getNative.js\n ** module id = 33\n ** module chunks = 0\n **/","var checkGlobal = require('./_checkGlobal');\n\n/** Used to determine if values are of the language type `Object`. */\nvar objectTypes = {\n 'function': true,\n 'object': true\n};\n\n/** Detect free variable `exports`. */\nvar freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType)\n ? exports\n : undefined;\n\n/** Detect free variable `module`. */\nvar freeModule = (objectTypes[typeof module] && module && !module.nodeType)\n ? module\n : undefined;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = checkGlobal(freeExports && freeModule && typeof global == 'object' && global);\n\n/** Detect free variable `self`. */\nvar freeSelf = checkGlobal(objectTypes[typeof self] && self);\n\n/** Detect free variable `window`. */\nvar freeWindow = checkGlobal(objectTypes[typeof window] && window);\n\n/** Detect `this` as the global object. */\nvar thisGlobal = checkGlobal(objectTypes[typeof this] && this);\n\n/**\n * Used as a reference to the global object.\n *\n * The `this` value is used if it's the global object to avoid Greasemonkey's\n * restricted `window` object, otherwise the `window` object is used.\n */\nvar root = freeGlobal ||\n ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) ||\n freeSelf || thisGlobal || Function('return this')();\n\nmodule.exports = root;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_root.js\n ** module id = 34\n ** module chunks = 0\n **/","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @type {Function}\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isArray.js\n ** module id = 35\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8 which returns 'object' for typed array and weak map constructors,\n // and PhantomJS 1.9 which returns 'function' for `NodeList` instances.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isFunction.js\n ** module id = 36\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isObjectLike.js\n ** module id = 37\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequire(obj) { return obj && obj.__esModule ? obj['default'] : obj; }\n\nvar _DragDropContext = require('./DragDropContext');\n\nexports.DragDropContext = _interopRequire(_DragDropContext);\n\nvar _DragLayer = require('./DragLayer');\n\nexports.DragLayer = _interopRequire(_DragLayer);\n\nvar _DragSource = require('./DragSource');\n\nexports.DragSource = _interopRequire(_DragSource);\n\nvar _DropTarget = require('./DropTarget');\n\nexports.DropTarget = _interopRequire(_DropTarget);\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/index.js\n ** module id = 38\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = shallowEqual;\n\nfunction shallowEqual(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n var hasOwn = Object.prototype.hasOwnProperty;\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n\n var valA = objA[keysA[i]];\n var valB = objB[keysA[i]];\n\n if (valA !== valB) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/utils/shallowEqual.js\n ** module id = 39\n ** module chunks = 0\n **/","export const WIDGET = 'WIDGET';\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/ItemTypes.js\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _typeof(obj) { return obj && obj.constructor === Symbol ? 'symbol' : typeof obj; }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _lodashIsArray = require('lodash/isArray');\n\nvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\nvar _utilsGetNextUniqueId = require('./utils/getNextUniqueId');\n\nvar _utilsGetNextUniqueId2 = _interopRequireDefault(_utilsGetNextUniqueId);\n\nvar _actionsRegistry = require('./actions/registry');\n\nvar _asap = require('asap');\n\nvar _asap2 = _interopRequireDefault(_asap);\n\nvar HandlerRoles = {\n SOURCE: 'SOURCE',\n TARGET: 'TARGET'\n};\n\nfunction validateSourceContract(source) {\n _invariant2['default'](typeof source.canDrag === 'function', 'Expected canDrag to be a function.');\n _invariant2['default'](typeof source.beginDrag === 'function', 'Expected beginDrag to be a function.');\n _invariant2['default'](typeof source.endDrag === 'function', 'Expected endDrag to be a function.');\n}\n\nfunction validateTargetContract(target) {\n _invariant2['default'](typeof target.canDrop === 'function', 'Expected canDrop to be a function.');\n _invariant2['default'](typeof target.hover === 'function', 'Expected hover to be a function.');\n _invariant2['default'](typeof target.drop === 'function', 'Expected beginDrag to be a function.');\n}\n\nfunction validateType(type, allowArray) {\n if (allowArray && _lodashIsArray2['default'](type)) {\n type.forEach(function (t) {\n return validateType(t, false);\n });\n return;\n }\n\n _invariant2['default'](typeof type === 'string' || (typeof type === 'undefined' ? 'undefined' : _typeof(type)) === 'symbol', allowArray ? 'Type can only be a string, a symbol, or an array of either.' : 'Type can only be a string or a symbol.');\n}\n\nfunction getNextHandlerId(role) {\n var id = _utilsGetNextUniqueId2['default']().toString();\n switch (role) {\n case HandlerRoles.SOURCE:\n return 'S' + id;\n case HandlerRoles.TARGET:\n return 'T' + id;\n default:\n _invariant2['default'](false, 'Unknown role: ' + role);\n }\n}\n\nfunction parseRoleFromHandlerId(handlerId) {\n switch (handlerId[0]) {\n case 'S':\n return HandlerRoles.SOURCE;\n case 'T':\n return HandlerRoles.TARGET;\n default:\n _invariant2['default'](false, 'Cannot parse handler ID: ' + handlerId);\n }\n}\n\nvar HandlerRegistry = (function () {\n function HandlerRegistry(store) {\n _classCallCheck(this, HandlerRegistry);\n\n this.store = store;\n\n this.types = {};\n this.handlers = {};\n\n this.pinnedSourceId = null;\n this.pinnedSource = null;\n }\n\n HandlerRegistry.prototype.addSource = function addSource(type, source) {\n validateType(type);\n validateSourceContract(source);\n\n var sourceId = this.addHandler(HandlerRoles.SOURCE, type, source);\n this.store.dispatch(_actionsRegistry.addSource(sourceId));\n return sourceId;\n };\n\n HandlerRegistry.prototype.addTarget = function addTarget(type, target) {\n validateType(type, true);\n validateTargetContract(target);\n\n var targetId = this.addHandler(HandlerRoles.TARGET, type, target);\n this.store.dispatch(_actionsRegistry.addTarget(targetId));\n return targetId;\n };\n\n HandlerRegistry.prototype.addHandler = function addHandler(role, type, handler) {\n var id = getNextHandlerId(role);\n this.types[id] = type;\n this.handlers[id] = handler;\n\n return id;\n };\n\n HandlerRegistry.prototype.containsHandler = function containsHandler(handler) {\n var _this = this;\n\n return Object.keys(this.handlers).some(function (key) {\n return _this.handlers[key] === handler;\n });\n };\n\n HandlerRegistry.prototype.getSource = function getSource(sourceId, includePinned) {\n _invariant2['default'](this.isSourceId(sourceId), 'Expected a valid source ID.');\n\n var isPinned = includePinned && sourceId === this.pinnedSourceId;\n var source = isPinned ? this.pinnedSource : this.handlers[sourceId];\n\n return source;\n };\n\n HandlerRegistry.prototype.getTarget = function getTarget(targetId) {\n _invariant2['default'](this.isTargetId(targetId), 'Expected a valid target ID.');\n return this.handlers[targetId];\n };\n\n HandlerRegistry.prototype.getSourceType = function getSourceType(sourceId) {\n _invariant2['default'](this.isSourceId(sourceId), 'Expected a valid source ID.');\n return this.types[sourceId];\n };\n\n HandlerRegistry.prototype.getTargetType = function getTargetType(targetId) {\n _invariant2['default'](this.isTargetId(targetId), 'Expected a valid target ID.');\n return this.types[targetId];\n };\n\n HandlerRegistry.prototype.isSourceId = function isSourceId(handlerId) {\n var role = parseRoleFromHandlerId(handlerId);\n return role === HandlerRoles.SOURCE;\n };\n\n HandlerRegistry.prototype.isTargetId = function isTargetId(handlerId) {\n var role = parseRoleFromHandlerId(handlerId);\n return role === HandlerRoles.TARGET;\n };\n\n HandlerRegistry.prototype.removeSource = function removeSource(sourceId) {\n var _this2 = this;\n\n _invariant2['default'](this.getSource(sourceId), 'Expected an existing source.');\n this.store.dispatch(_actionsRegistry.removeSource(sourceId));\n\n _asap2['default'](function () {\n delete _this2.handlers[sourceId];\n delete _this2.types[sourceId];\n });\n };\n\n HandlerRegistry.prototype.removeTarget = function removeTarget(targetId) {\n var _this3 = this;\n\n _invariant2['default'](this.getTarget(targetId), 'Expected an existing target.');\n this.store.dispatch(_actionsRegistry.removeTarget(targetId));\n\n _asap2['default'](function () {\n delete _this3.handlers[targetId];\n delete _this3.types[targetId];\n });\n };\n\n HandlerRegistry.prototype.pinSource = function pinSource(sourceId) {\n var source = this.getSource(sourceId);\n _invariant2['default'](source, 'Expected an existing source.');\n\n this.pinnedSourceId = sourceId;\n this.pinnedSource = source;\n };\n\n HandlerRegistry.prototype.unpinSource = function unpinSource() {\n _invariant2['default'](this.pinnedSource, 'No source is pinned at the time.');\n\n this.pinnedSourceId = null;\n this.pinnedSource = null;\n };\n\n return HandlerRegistry;\n})();\n\nexports['default'] = HandlerRegistry;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/HandlerRegistry.js\n ** module id = 41\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = dirtyHandlerIds;\nexports.areDirty = areDirty;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _lodashXor = require('lodash/xor');\n\nvar _lodashXor2 = _interopRequireDefault(_lodashXor);\n\nvar _lodashIntersection = require('lodash/intersection');\n\nvar _lodashIntersection2 = _interopRequireDefault(_lodashIntersection);\n\nvar _actionsDragDrop = require('../actions/dragDrop');\n\nvar _actionsRegistry = require('../actions/registry');\n\nvar NONE = [];\nvar ALL = [];\n\nfunction dirtyHandlerIds(state, action, dragOperation) {\n if (state === undefined) state = NONE;\n\n switch (action.type) {\n case _actionsDragDrop.HOVER:\n break;\n case _actionsRegistry.ADD_SOURCE:\n case _actionsRegistry.ADD_TARGET:\n case _actionsRegistry.REMOVE_TARGET:\n case _actionsRegistry.REMOVE_SOURCE:\n return NONE;\n case _actionsDragDrop.BEGIN_DRAG:\n case _actionsDragDrop.PUBLISH_DRAG_SOURCE:\n case _actionsDragDrop.END_DRAG:\n case _actionsDragDrop.DROP:\n default:\n return ALL;\n }\n\n var targetIds = action.targetIds;\n var prevTargetIds = dragOperation.targetIds;\n\n var dirtyHandlerIds = _lodashXor2['default'](targetIds, prevTargetIds);\n\n var didChange = false;\n if (dirtyHandlerIds.length === 0) {\n for (var i = 0; i < targetIds.length; i++) {\n if (targetIds[i] !== prevTargetIds[i]) {\n didChange = true;\n break;\n }\n }\n } else {\n didChange = true;\n }\n\n if (!didChange) {\n return NONE;\n }\n\n var prevInnermostTargetId = prevTargetIds[prevTargetIds.length - 1];\n var innermostTargetId = targetIds[targetIds.length - 1];\n\n if (prevInnermostTargetId !== innermostTargetId) {\n if (prevInnermostTargetId) {\n dirtyHandlerIds.push(prevInnermostTargetId);\n }\n if (innermostTargetId) {\n dirtyHandlerIds.push(innermostTargetId);\n }\n }\n\n return dirtyHandlerIds;\n}\n\nfunction areDirty(state, handlerIds) {\n if (state === NONE) {\n return false;\n }\n\n if (state === ALL || typeof handlerIds === 'undefined') {\n return true;\n }\n\n return _lodashIntersection2['default'](handlerIds, state).length > 0;\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/reducers/dirtyHandlerIds.js\n ** module id = 42\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _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; };\n\nexports['default'] = dragOffset;\nexports.getSourceClientOffset = getSourceClientOffset;\nexports.getDifferenceFromInitialOffset = getDifferenceFromInitialOffset;\n\nvar _actionsDragDrop = require('../actions/dragDrop');\n\nvar initialState = {\n initialSourceClientOffset: null,\n initialClientOffset: null,\n clientOffset: null\n};\n\nfunction areOffsetsEqual(offsetA, offsetB) {\n if (offsetA === offsetB) {\n return true;\n }\n return offsetA && offsetB && offsetA.x === offsetB.x && offsetA.y === offsetB.y;\n}\n\nfunction dragOffset(state, action) {\n if (state === undefined) state = initialState;\n\n switch (action.type) {\n case _actionsDragDrop.BEGIN_DRAG:\n return {\n initialSourceClientOffset: action.sourceClientOffset,\n initialClientOffset: action.clientOffset,\n clientOffset: action.clientOffset\n };\n case _actionsDragDrop.HOVER:\n if (areOffsetsEqual(state.clientOffset, action.clientOffset)) {\n return state;\n }\n return _extends({}, state, {\n clientOffset: action.clientOffset\n });\n case _actionsDragDrop.END_DRAG:\n case _actionsDragDrop.DROP:\n return initialState;\n default:\n return state;\n }\n}\n\nfunction getSourceClientOffset(state) {\n var clientOffset = state.clientOffset;\n var initialClientOffset = state.initialClientOffset;\n var initialSourceClientOffset = state.initialSourceClientOffset;\n\n if (!clientOffset || !initialClientOffset || !initialSourceClientOffset) {\n return null;\n }\n return {\n x: clientOffset.x + initialSourceClientOffset.x - initialClientOffset.x,\n y: clientOffset.y + initialSourceClientOffset.y - initialClientOffset.y\n };\n}\n\nfunction getDifferenceFromInitialOffset(state) {\n var clientOffset = state.clientOffset;\n var initialClientOffset = state.initialClientOffset;\n\n if (!clientOffset || !initialClientOffset) {\n return null;\n }\n return {\n x: clientOffset.x - initialClientOffset.x,\n y: clientOffset.y - initialClientOffset.y\n };\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/reducers/dragOffset.js\n ** module id = 43\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = matchesType;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _lodashIsArray = require('lodash/isArray');\n\nvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\nfunction matchesType(targetType, draggedItemType) {\n if (_lodashIsArray2['default'](targetType)) {\n return targetType.some(function (t) {\n return t === draggedItemType;\n });\n } else {\n return targetType === draggedItemType;\n }\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/utils/matchesType.js\n ** module id = 44\n ** module chunks = 0\n **/","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n arrayMap = require('./_arrayMap'),\n baseUnary = require('./_baseUnary'),\n cacheHas = require('./_cacheHas');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\nfunction baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseDifference;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_baseDifference.js\n ** module id = 45\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.unary` without support for storing wrapper metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_baseUnary.js\n ** module id = 46\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @param {Object} hash The hash to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(hash, key) {\n return nativeCreate ? hash[key] !== undefined : hasOwnProperty.call(hash, key);\n}\n\nmodule.exports = hashHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_hashHas.js\n ** module id = 47\n ** module chunks = 0\n **/","var checkGlobal = require('./_checkGlobal');\n\n/** Used to determine if values are of the language type `Object`. */\nvar objectTypes = {\n 'function': true,\n 'object': true\n};\n\n/** Detect free variable `exports`. */\nvar freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType)\n ? exports\n : undefined;\n\n/** Detect free variable `module`. */\nvar freeModule = (objectTypes[typeof module] && module && !module.nodeType)\n ? module\n : undefined;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = checkGlobal(freeExports && freeModule && typeof global == 'object' && global);\n\n/** Detect free variable `self`. */\nvar freeSelf = checkGlobal(objectTypes[typeof self] && self);\n\n/** Detect free variable `window`. */\nvar freeWindow = checkGlobal(objectTypes[typeof window] && window);\n\n/** Detect `this` as the global object. */\nvar thisGlobal = checkGlobal(objectTypes[typeof this] && this);\n\n/**\n * Used as a reference to the global object.\n *\n * The `this` value is used if it's the global object to avoid Greasemonkey's\n * restricted `window` object, otherwise the `window` object is used.\n */\nvar root = freeGlobal ||\n ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) ||\n freeSelf || thisGlobal || Function('return this')();\n\nmodule.exports = root;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_root.js\n ** module id = 48\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isObjectLike.js\n ** module id = 49\n ** module chunks = 0\n **/","/**\n * A no-operation function that returns `undefined` regardless of the\n * arguments it receives.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.noop(object) === undefined;\n * // => true\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/noop.js\n ** module id = 50\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _lodashMemoize = require('lodash/memoize');\n\nvar _lodashMemoize2 = _interopRequireDefault(_lodashMemoize);\n\nvar isFirefox = _lodashMemoize2['default'](function () {\n return (/firefox/i.test(navigator.userAgent)\n );\n});\n\nexports.isFirefox = isFirefox;\nvar isSafari = _lodashMemoize2['default'](function () {\n return Boolean(window.safari);\n});\nexports.isSafari = isSafari;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/BrowserDetector.js\n ** module id = 51\n ** module chunks = 0\n **/","var mapClear = require('./_mapClear'),\n mapDelete = require('./_mapDelete'),\n mapGet = require('./_mapGet'),\n mapHas = require('./_mapHas'),\n mapSet = require('./_mapSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction MapCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = values[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapClear;\nMapCache.prototype['delete'] = mapDelete;\nMapCache.prototype.get = mapGet;\nMapCache.prototype.has = mapHas;\nMapCache.prototype.set = mapSet;\n\nmodule.exports = MapCache;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_MapCache.js\n ** module id = 52\n ** module chunks = 0\n **/","var MapCache = require('./_MapCache'),\n cachePush = require('./_cachePush');\n\n/**\n *\n * Creates a set cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.push(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.push = cachePush;\n\nmodule.exports = SetCache;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_SetCache.js\n ** module id = 53\n ** module chunks = 0\n **/","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n var length = args.length;\n switch (length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_apply.js\n ** module id = 54\n ** module chunks = 0\n **/","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n return !!array.length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_arrayIncludes.js\n ** module id = 55\n ** module chunks = 0\n **/","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_arrayIncludesWith.js\n ** module id = 56\n ** module chunks = 0\n **/","var isKeyable = require('./_isKeyable');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Checks if `value` is in `cache`.\n *\n * @private\n * @param {Object} cache The set cache to search.\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction cacheHas(cache, value) {\n var map = cache.__data__;\n if (isKeyable(value)) {\n var data = map.__data__,\n hash = typeof value == 'string' ? data.string : data.hash;\n\n return hash[value] === HASH_UNDEFINED;\n }\n return map.has(value);\n}\n\nmodule.exports = cacheHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_cacheHas.js\n ** module id = 57\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @param {Object} hash The hash to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(hash, key) {\n return nativeCreate ? hash[key] !== undefined : hasOwnProperty.call(hash, key);\n}\n\nmodule.exports = hashHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_hashHas.js\n ** module id = 58\n ** module chunks = 0\n **/","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_isIndex.js\n ** module id = 59\n ** module chunks = 0\n **/","var isArrayLikeObject = require('./isArrayLikeObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 incorrectly makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isArguments.js\n ** module id = 60\n ** module chunks = 0\n **/","var getLength = require('./_getLength'),\n isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value)) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isArrayLike.js\n ** module id = 61\n ** module chunks = 0\n **/","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length,\n * else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isLength.js\n ** module id = 62\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = areOptionsEqual;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utilsShallowEqual = require('./utils/shallowEqual');\n\nvar _utilsShallowEqual2 = _interopRequireDefault(_utilsShallowEqual);\n\nfunction areOptionsEqual(nextOptions, currentOptions) {\n if (currentOptions === nextOptions) {\n return true;\n }\n\n return currentOptions !== null && nextOptions !== null && _utilsShallowEqual2['default'](currentOptions, nextOptions);\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/areOptionsEqual.js\n ** module id = 63\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _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; };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nexports['default'] = decorateHandler;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _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; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _disposables = require('disposables');\n\nvar _utilsShallowEqual = require('./utils/shallowEqual');\n\nvar _utilsShallowEqual2 = _interopRequireDefault(_utilsShallowEqual);\n\nvar _utilsShallowEqualScalar = require('./utils/shallowEqualScalar');\n\nvar _utilsShallowEqualScalar2 = _interopRequireDefault(_utilsShallowEqualScalar);\n\nvar _lodashIsPlainObject = require('lodash/isPlainObject');\n\nvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nfunction decorateHandler(_ref) {\n var DecoratedComponent = _ref.DecoratedComponent;\n var createHandler = _ref.createHandler;\n var createMonitor = _ref.createMonitor;\n var createConnector = _ref.createConnector;\n var registerHandler = _ref.registerHandler;\n var containerDisplayName = _ref.containerDisplayName;\n var getType = _ref.getType;\n var collect = _ref.collect;\n var options = _ref.options;\n var _options$arePropsEqual = options.arePropsEqual;\n var arePropsEqual = _options$arePropsEqual === undefined ? _utilsShallowEqualScalar2['default'] : _options$arePropsEqual;\n\n var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\n return (function (_Component) {\n _inherits(DragDropContainer, _Component);\n\n DragDropContainer.prototype.getHandlerId = function getHandlerId() {\n return this.handlerId;\n };\n\n DragDropContainer.prototype.getDecoratedComponentInstance = function getDecoratedComponentInstance() {\n return this.decoratedComponentInstance;\n };\n\n DragDropContainer.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n return !arePropsEqual(nextProps, this.props) || !_utilsShallowEqual2['default'](nextState, this.state);\n };\n\n _createClass(DragDropContainer, null, [{\n key: 'DecoratedComponent',\n value: DecoratedComponent,\n enumerable: true\n }, {\n key: 'displayName',\n value: containerDisplayName + '(' + displayName + ')',\n enumerable: true\n }, {\n key: 'contextTypes',\n value: {\n dragDropManager: _react.PropTypes.object.isRequired\n },\n enumerable: true\n }]);\n\n function DragDropContainer(props, context) {\n _classCallCheck(this, DragDropContainer);\n\n _Component.call(this, props, context);\n this.handleChange = this.handleChange.bind(this);\n this.handleChildRef = this.handleChildRef.bind(this);\n\n _invariant2['default'](typeof this.context.dragDropManager === 'object', 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to wrap the top-level component of your app with DragDropContext. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName);\n\n this.manager = this.context.dragDropManager;\n this.handlerMonitor = createMonitor(this.manager);\n this.handlerConnector = createConnector(this.manager.getBackend());\n this.handler = createHandler(this.handlerMonitor);\n\n this.disposable = new _disposables.SerialDisposable();\n this.receiveProps(props);\n this.state = this.getCurrentState();\n this.dispose();\n }\n\n DragDropContainer.prototype.componentDidMount = function componentDidMount() {\n this.isCurrentlyMounted = true;\n this.disposable = new _disposables.SerialDisposable();\n this.currentType = null;\n this.receiveProps(this.props);\n this.handleChange();\n };\n\n DragDropContainer.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (!arePropsEqual(nextProps, this.props)) {\n this.receiveProps(nextProps);\n this.handleChange();\n }\n };\n\n DragDropContainer.prototype.componentWillUnmount = function componentWillUnmount() {\n this.dispose();\n this.isCurrentlyMounted = false;\n };\n\n DragDropContainer.prototype.receiveProps = function receiveProps(props) {\n this.handler.receiveProps(props);\n this.receiveType(getType(props));\n };\n\n DragDropContainer.prototype.receiveType = function receiveType(type) {\n if (type === this.currentType) {\n return;\n }\n\n this.currentType = type;\n\n var _registerHandler = registerHandler(type, this.handler, this.manager);\n\n var handlerId = _registerHandler.handlerId;\n var unregister = _registerHandler.unregister;\n\n this.handlerId = handlerId;\n this.handlerMonitor.receiveHandlerId(handlerId);\n this.handlerConnector.receiveHandlerId(handlerId);\n\n var globalMonitor = this.manager.getMonitor();\n var unsubscribe = globalMonitor.subscribeToStateChange(this.handleChange, { handlerIds: [handlerId] });\n\n this.disposable.setDisposable(new _disposables.CompositeDisposable(new _disposables.Disposable(unsubscribe), new _disposables.Disposable(unregister)));\n };\n\n DragDropContainer.prototype.handleChange = function handleChange() {\n if (!this.isCurrentlyMounted) {\n return;\n }\n\n var nextState = this.getCurrentState();\n if (!_utilsShallowEqual2['default'](nextState, this.state)) {\n this.setState(nextState);\n }\n };\n\n DragDropContainer.prototype.dispose = function dispose() {\n this.disposable.dispose();\n this.handlerConnector.receiveHandlerId(null);\n };\n\n DragDropContainer.prototype.handleChildRef = function handleChildRef(component) {\n this.decoratedComponentInstance = component;\n this.handler.receiveComponent(component);\n };\n\n DragDropContainer.prototype.getCurrentState = function getCurrentState() {\n var nextState = collect(this.handlerConnector.hooks, this.handlerMonitor);\n\n if (process.env.NODE_ENV !== 'production') {\n _invariant2['default'](_lodashIsPlainObject2['default'](nextState), 'Expected `collect` specified as the second argument to ' + '%s for %s to return a plain object of props to inject. ' + 'Instead, received %s.', containerDisplayName, displayName, nextState);\n }\n\n return nextState;\n };\n\n DragDropContainer.prototype.render = function render() {\n return _react2['default'].createElement(DecoratedComponent, _extends({}, this.props, this.state, {\n ref: this.handleChildRef }));\n };\n\n return DragDropContainer;\n })(_react.Component);\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/decorateHandler.js\n ** module id = 64\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = isValidType;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _lodashIsArray = require('lodash/isArray');\n\nvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\nfunction isValidType(type, allowArray) {\n return typeof type === 'string' || typeof type === 'symbol' || allowArray && _lodashIsArray2['default'](type) && type.every(function (t) {\n return isValidType(t, false);\n });\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/utils/isValidType.js\n ** module id = 65\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = shallowEqualScalar;\n\nfunction shallowEqualScalar(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n var hasOwn = Object.prototype.hasOwnProperty;\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i])) {\n return false;\n }\n\n var valA = objA[keysA[i]];\n var valB = objB[keysA[i]];\n\n if (valA !== valB || typeof valA === 'object' || typeof valB === 'object') {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/utils/shallowEqualScalar.js\n ** module id = 66\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = wrapConnectorHooks;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utilsCloneWithRef = require('./utils/cloneWithRef');\n\nvar _utilsCloneWithRef2 = _interopRequireDefault(_utilsCloneWithRef);\n\nvar _react = require('react');\n\nfunction throwIfCompositeComponentElement(element) {\n // Custom components can no longer be wrapped directly in React DnD 2.0\n // so that we don't need to depend on findDOMNode() from react-dom.\n if (typeof element.type === 'string') {\n return;\n }\n\n var displayName = element.type.displayName || element.type.name || 'the component';\n\n throw new Error('Only native element nodes can now be passed to React DnD connectors. ' + ('You can either wrap ' + displayName + ' into a
, or turn it into a ') + 'drag source or a drop target itself.');\n}\n\nfunction wrapHookToRecognizeElement(hook) {\n return function () {\n var elementOrNode = arguments.length <= 0 || arguments[0] === undefined ? null : arguments[0];\n var options = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];\n\n // When passed a node, call the hook straight away.\n if (!_react.isValidElement(elementOrNode)) {\n var node = elementOrNode;\n hook(node, options);\n return;\n }\n\n // If passed a ReactElement, clone it and attach this function as a ref.\n // This helps us achieve a neat API where user doesn't even know that refs\n // are being used under the hood.\n var element = elementOrNode;\n throwIfCompositeComponentElement(element);\n\n // When no options are passed, use the hook directly\n var ref = options ? function (node) {\n return hook(node, options);\n } : hook;\n\n return _utilsCloneWithRef2['default'](element, ref);\n };\n}\n\nfunction wrapConnectorHooks(hooks) {\n var wrappedHooks = {};\n\n Object.keys(hooks).forEach(function (key) {\n var hook = hooks[key];\n var wrappedHook = wrapHookToRecognizeElement(hook);\n wrappedHooks[key] = function () {\n return wrappedHook;\n };\n });\n\n return wrappedHooks;\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/wrapConnectorHooks.js\n ** module id = 67\n ** module chunks = 0\n **/","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tmodule.children = [];\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n}\r\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** (webpack)/buildin/module.js\n ** module id = 68\n ** module chunks = 0\n **/","import React, { PropTypes } from 'react';\r\n\r\n/**\r\n * Default AddWidget component.\r\n * @param {[type]} {text [description]\r\n * @param {[type]} onClick} [description]\r\n * @return {[type]} [description]\r\n */\r\nconst AddWidget = ({text, onClick}) => {\r\n return (\r\n
\r\n {text}\r\n
\r\n );\r\n};\r\n\r\nAddWidget.propTypes = {\r\n /**\r\n * Should be called when 'add' is clicked\r\n */\r\n onClick: PropTypes.func,\r\n\r\n /**\r\n * Text that should be displyed in the component\r\n */\r\n text: PropTypes.string,\r\n};\r\n\r\nAddWidget.defaultProps = {\r\n text: 'Add Widget',\r\n};\r\n\r\nexport default AddWidget;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/AddWidget.js\n **/","import React, { Component, PropTypes, createElement } from 'react';\r\nimport { DropTarget } from 'react-dnd';\r\nimport { WIDGET } from './ItemTypes';\r\nimport AddWidget from './AddWidget';\r\nimport { moveWidget } from '../util';\r\n\r\nconst columnTarget = {\r\n drop(props, monitor) {\r\n const { layout, rowIndex, columnIndex, onMove} = props;\r\n const item = monitor.getItem();\r\n if (item.columnIndex !== columnIndex || item.rowIndex !== rowIndex) {\r\n const movedLayout = moveWidget(layout, {\r\n rowIndex: item.rowIndex,\r\n columnIndex: item.columnIndex,\r\n widgetIndex: item.widgetIndex,\r\n }, {\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex,\r\n }, item.widgetName);\r\n onMove(movedLayout);\r\n }\r\n },\r\n};\r\n\r\n/**\r\n * Colum of the dashboard grid. A column holds multiple widgets.\r\n */\r\n@DropTarget(WIDGET, columnTarget, (connect, monitor) => ({\r\n connectDropTarget: connect.dropTarget(),\r\n isOver: monitor.isOver(),\r\n canDrop: monitor.canDrop(),\r\n}))\r\nclass Column extends Component {\r\n render() {\r\n const {\r\n className,\r\n layout,\r\n rowIndex,\r\n columnIndex,\r\n editable,\r\n children,\r\n connectDropTarget,\r\n onAdd,\r\n isOver,\r\n canDrop,\r\n editableColumnClass,\r\n droppableColumnClass,\r\n addWidgetComponentText,\r\n addWidgetComponent,\r\n } = this.props;\r\n\r\n let classes = className;\r\n classes = editable ? `${className} ${editableColumnClass}` : classes;\r\n const isActive = isOver && canDrop;\r\n classes = isActive ? `${classes} ${droppableColumnClass}` : classes;\r\n\r\n let addWidgetComponentToUse = null;\r\n if (addWidgetComponent) {\r\n addWidgetComponentToUse = createElement(addWidgetComponent, {\ttext: addWidgetComponentText, onClick:\t() => {onAdd(layout, rowIndex, columnIndex);} });\r\n } else {\r\n addWidgetComponentToUse = {onAdd(layout, rowIndex, columnIndex);}}/>;\r\n }\r\n\r\n return (\r\n connectDropTarget(\r\n
\r\n {editable && addWidgetComponentToUse}\r\n { children }\r\n
\r\n )\r\n );\r\n }\r\n}\r\n\r\nColumn.propTypes = {\r\n /**\r\n * Children of the column\r\n */\r\n children: PropTypes.node,\r\n\r\n /**\r\n * CSS class that should be used with the column.\r\n */\r\n className: PropTypes.string,\r\n\r\n /**\r\n * Function that should be called when user tries to add a widget\r\n * to the column.\r\n */\r\n onAdd: PropTypes.func,\r\n\r\n /**\r\n * Layout of the dashboard.\r\n */\r\n layout: PropTypes.object,\r\n\r\n /**\r\n * Index of the row that this column resides.\r\n */\r\n rowIndex: PropTypes.number,\r\n\r\n /**\r\n * Index of this column.\r\n */\r\n columnIndex: PropTypes.number,\r\n\r\n /**\r\n * Indicates weather dashboard is in editable state\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * Indicates weather a widget is being draged over.\r\n */\r\n isOver: PropTypes.bool,\r\n\r\n /**\r\n * Indicated a widget can be dropped.\r\n */\r\n canDrop: PropTypes.bool,\r\n\r\n /**\r\n * Class to be used for columns in editable mode.\r\n */\r\n editableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * CSS class to be used for columns when a widget is droppable.\r\n */\r\n droppableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * Text that should be given to the AddWidget component.\r\n */\r\n addWidgetComponentText: PropTypes.string,\r\n\r\n /**\r\n * ReactDnd's connectDropTarget.\r\n */\r\n connectDropTarget: PropTypes.func,\r\n\r\n /**\r\n * Customized AddWidget component.\r\n */\r\n addWidgetComponent: PropTypes.func,\r\n};\r\n\r\nColumn.defaultProps = {\r\n editableColumnClass: 'editable-column',\r\n droppableColumnClass: 'droppable-column',\r\n};\r\n\r\nexport default Column;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/Column.js\n **/","import React, { Component, PropTypes } from 'react';\r\nimport { DragDropContext } from 'react-dnd';\r\nimport HTML5Backend from 'react-dnd-html5-backend';\r\nimport LayoutRenderer from './LayoutRenderer';\r\n\r\n/**\r\n * Main dashboard component. This is where all of this starts.\r\n */\r\n @DragDropContext(HTML5Backend)\r\nclass Dashboard extends Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nDashboard.PropTypes = {\r\n /**\r\n * The layout of the dashboard.\r\n */\r\n layout: PropTypes.object,\r\n\r\n /**\r\n * List of widgets that are avilable in the dashboard.\r\n */\r\n widgets: PropTypes.object,\r\n\r\n /**\r\n * Indicates weather the dashoard is in editable state or not.\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * CSS class name that should be provided to the row. Default is 'row'.\r\n */\r\n rowClass: PropTypes.string,\r\n\r\n /**\r\n * Customized widget frame. The dashboard supports a default frame. But if\r\n * it doesn't suit your needs or the look and feel is not what you wanted, you\r\n * could create your own widget frame and pass it through here. Ever widget Will\r\n * use this as the outer container which displays controls like 'remove' button\r\n * on edit mode.\r\n */\r\n frameComponent: PropTypes.func,\r\n\r\n /**\r\n * A custom component for the `add widget` button.\r\n */\r\n addWidgetComponent: PropTypes.func,\r\n\r\n /**\r\n * Class to be used for columns in editable mode.\r\n */\r\n editableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * CSS class to be used for columns when a widget is droppable.\r\n */\r\n droppableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * Text that should be displayed in the `AddWidget` component.\r\n */\r\n addWidgetComponentText: PropTypes.string,\r\n\r\n /**\r\n * Will be called when a widget removed by the user from the dashboard.\r\n * Should be handled if the dashbord supports edit functionality.\r\n * provides the updated layout object. This layout object with the removed widget\r\n * should be given back to the dashboard through the layout prop to re-render the dashboard.\r\n */\r\n onRemove: PropTypes.func,\r\n\r\n /**\r\n * Will be called when user tries to add a widget into a column.\r\n */\r\n onAdd: PropTypes.func,\r\n\r\n /**\r\n * Function to be called when a widget is moved by the user.\r\n */\r\n onMove: PropTypes.func,\r\n};\r\n\r\nexport default Dashboard;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/Dashboard.js\n **/","import React, { PropTypes } from 'react';\r\n\r\n/**\r\n * Default frame that will be used with the widgets.\r\n */\r\nconst DefaultFrame = ({children, onRemove, editable, title}) => {\r\n return (\r\n
\r\n
\r\n {title}\r\n {editable && {onRemove();}}>Remove}\r\n
\r\n {children}\r\n
\r\n );\r\n};\r\n\r\nDefaultFrame.propTypes = {\r\n /**\r\n * Indicates weather the dashboard is in editable mode.\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * Children of the frame.\r\n */\r\n children: PropTypes.node,\r\n\r\n /**\r\n * Function to call when the widget is removed.\r\n */\r\n onRemove: PropTypes.func,\r\n\r\n /**\r\n * Title of the widget\r\n */\r\n title: PropTypes.string,\r\n};\r\n\r\nexport default DefaultFrame;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/DefaultFrame.js\n **/","import React, { PropTypes } from 'react';\r\nimport Row from './Row';\r\n\r\n/**\r\n * Renders the row, column layout based on the layout provided to the dashboard.\r\n */\r\nconst LayoutRenderer = (props) => {\r\n const {\r\n layout,\r\n widgets,\r\n onRemove,\r\n editable,\r\n onAdd,\r\n frameComponent,\r\n rowClass,\r\n onMove,\r\n editableColumnClass,\r\n droppableColumnClass,\r\n addWidgetComponentText,\r\n addWidgetComponent,\r\n } = props;\r\n\r\n let rows = layout.rows.map((row, rowIndex) => {\r\n return (\r\n \r\n );\r\n });\r\n\r\n return (\r\n
\r\n {rows}\r\n
\r\n );\r\n};\r\n\r\nLayoutRenderer.propTypes = {\r\n /**\r\n * Layout of the dashboard.\r\n */\r\n layout: PropTypes.object,\r\n\r\n /**\r\n * Widgets that the dashboard supports.\r\n */\r\n widgets: PropTypes.object,\r\n\r\n /**\r\n * Indicates weather this dashboard is in editable mode.\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * Function that will be called when user removed a widget.\r\n */\r\n onRemove: PropTypes.func,\r\n\r\n /**\r\n * Function that will be called user tries to add a widget.\r\n */\r\n onAdd: PropTypes.func,\r\n\r\n /**\r\n * Frame that should be used as the outer cotnainer of the widget.\r\n */\r\n frameComponent: PropTypes.func,\r\n\r\n /**\r\n * Class name that should be provided to the row component.\r\n */\r\n rowClass: PropTypes.string,\r\n\r\n /**\r\n * Function to be called when a widget is moved by the user.\r\n */\r\n onMove: PropTypes.func,\r\n\r\n /**\r\n * Class to be used for columns in editable mode.\r\n */\r\n editableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * CSS class to be used for columns when a widget is droppable.\r\n */\r\n droppableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * Customized AddWidget component.\r\n */\r\n addWidgetComponent: PropTypes.func,\r\n\r\n /**\r\n * Text that should be displayed in the `AddWidget` component.\r\n */\r\n addWidgetComponentText: PropTypes.string,\r\n};\r\n\r\nLayoutRenderer.defaultProps = {\r\n /**\r\n * Default layout.\r\n */\r\n layout: {\r\n rows: [],\r\n },\r\n};\r\n\r\nexport default LayoutRenderer;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/LayoutRenderer.js\n **/","import React, { PropTypes } from 'react';\r\nimport Column from './Column';\r\nimport Widgets from './Widgets';\r\n\r\n/**\r\n * Returns a set of columns that belongs to a row.\r\n */\r\nfunction Row(props) {\r\n const {\r\n rowClass,\r\n columns,\r\n widgets,\r\n onRemove,\r\n layout,\r\n rowIndex,\r\n editable,\r\n frameComponent,\r\n editableColumnClass,\r\n droppableColumnClass,\r\n addWidgetComponentText,\r\n addWidgetComponent,\r\n onAdd,\r\n onMove,\r\n } = props;\r\n\r\n const items = columns.map((column, index) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n });\r\n\r\n return (\r\n
\r\n {items}\r\n
\r\n );\r\n}\r\n\r\nRow.propTypes = {\r\n /**\r\n * CSS class that should be used to represent a row.\r\n */\r\n rowClass: PropTypes.string,\r\n\r\n /**\r\n * Columns of the layout.\r\n */\r\n columns: PropTypes.array,\r\n\r\n /**\r\n * Widgets that should be used in the dashboard.\r\n */\r\n widgets: PropTypes.object,\r\n\r\n /**\r\n * Layout of the dashboard.\r\n */\r\n layout: PropTypes.object,\r\n\r\n /**\r\n * Index of the row where this column is in.\r\n */\r\n rowIndex: PropTypes.number,\r\n\r\n /**\r\n * Indicates weather the dashboard is in editable mode or not.\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * Custom frame that should be used with the widget.\r\n */\r\n frameComponent: PropTypes.func,\r\n\r\n /**\r\n * Class to be used for columns in editable mode.\r\n */\r\n editableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * CSS class to be used for columns when a widget is droppable.\r\n */\r\n droppableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * Custom AddWidget component.\r\n */\r\n addWidgetComponent: PropTypes.func,\r\n\r\n /**\r\n * Text that should be displyed in the AddWidget component.\r\n */\r\n addWidgetComponentText: PropTypes.string,\r\n\r\n /**\r\n * Method that should be called when a component is added.\r\n */\r\n onAdd: PropTypes.func,\r\n\r\n /**\r\n * Method that should be called when a component is removed.\r\n */\r\n onRemove: PropTypes.func,\r\n\r\n /**\r\n * Method that should be called when a widget is moved.\r\n */\r\n onMove: PropTypes.func,\r\n};\r\n\r\nRow.defaultProps = {\r\n /**\r\n * Most CSS grid systems uses 'row' as the class name. Or not ?\r\n */\r\n rowClass: 'row',\r\n};\r\n\r\nexport default Row;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/Row.js\n **/","import React, { Component, PropTypes, createElement } from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\nimport { DragSource, DropTarget } from 'react-dnd';\r\nimport { WIDGET } from './ItemTypes';\r\nimport { removeWidget, sortWidget } from '../util';\r\nimport DefaultFrame from './DefaultFrame';\r\n\r\nconst boxSource = {\r\n beginDrag(props) {\r\n return {\r\n widgetName: props.widgetName,\r\n rowIndex: props.rowIndex,\r\n columnIndex: props.columnIndex,\r\n widgetIndex: props.widgetIndex,\r\n };\r\n },\r\n\r\n canDrag(props) {\r\n return props.editable;\r\n },\r\n};\r\n\r\nconst cardTarget = {\r\n hover(props, monitor, component) {\r\n const dragIndex = monitor.getItem().widgetIndex;\r\n const hoverIndex = props.widgetIndex;\r\n\r\n // Don't replace items with themselves\r\n if (dragIndex === hoverIndex) {\r\n return;\r\n }\r\n\r\n // Determine rectangle on screen\r\n const hoverBoundingRect = findDOMNode(component).getBoundingClientRect();\r\n\r\n // Get vertical middle\r\n const hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;\r\n\r\n // Determine mouse position\r\n const clientOffset = monitor.getClientOffset();\r\n\r\n // Get pixels to the top\r\n const hoverClientY = clientOffset.y - hoverBoundingRect.top;\r\n\r\n // Only perform the move when the mouse has crossed half of the items height\r\n // When dragging downwards, only move when the cursor is below 50%\r\n // When dragging upwards, only move when the cursor is above 50%\r\n\r\n // Dragging downwards\r\n if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) {\r\n return;\r\n }\r\n\r\n // Dragging upwards\r\n if (dragIndex > hoverIndex && hoverClientY > hoverMiddleY) {\r\n return;\r\n }\r\n\r\n // Time to actually perform the action\r\n const { layout, columnIndex, rowIndex } = props;\r\n\r\n if (monitor.getItem().columnIndex === columnIndex) {\r\n const newLayout = sortWidget(layout, {\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex,\r\n widgetIndex: dragIndex,\r\n }, {\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex,\r\n widgetIndex: hoverIndex,\r\n }, monitor.getItem().widgetName);\r\n\r\n props.onMove(newLayout);\r\n }\r\n\r\n // Note: we're mutating the monitor item here!\r\n // Generally it's better to avoid mutations,\r\n // but it's good here for the sake of performance\r\n // to avoid expensive index searches.\r\n monitor.getItem().widgetIndex = hoverIndex;\r\n },\r\n};\r\n\r\n/**\r\n * Frame component which surrounds each widget.\r\n */\r\n @DropTarget(WIDGET, cardTarget, connect => ({\r\n connectDropTarget: connect.dropTarget(),\r\n }))\r\n @DragSource(WIDGET, boxSource, (connect, monitor) => ({\r\n connectDragSource: connect.dragSource(),\r\n isDragging: monitor.isDragging(),\r\n }))\r\nclass WidgetFrame extends Component {\r\n render() {\r\n const {\r\n frameComponent,\r\n children,\r\n editable,\r\n title,\r\n connectDragSource,\r\n connectDropTarget,\r\n isDragging,\r\n } = this.props;\r\n\r\n let selected = null;\r\n\r\n if (frameComponent) {\r\n // if user provided a custom frame, use it\r\n selected = createElement(frameComponent, {\tchildren,\teditable, title, onRemove: this.remove });\r\n } else {\r\n // else use the default frame\r\n selected = (\r\n \r\n );\r\n }\r\n const opacity = isDragging ? 0 : 1;\r\n return connectDragSource(connectDropTarget(\r\n
\r\n {selected}\r\n
\r\n ));\r\n }\r\n\r\n remove = () => {\r\n const { layout, rowIndex, columnIndex, widgetIndex } = this.props;\r\n const newLayout = removeWidget(layout, rowIndex, columnIndex, widgetIndex);\r\n this.props.onRemove(newLayout);\r\n }\r\n}\r\n\r\nWidgetFrame.propTypes = {\r\n /**\r\n * Childrens of the widget frame.\r\n */\r\n children: PropTypes.element,\r\n\r\n\r\n /**\r\n * Layout of the dahsboard.\r\n */\r\n layout: PropTypes.object,\r\n\r\n /**\r\n * Index of the column these widgets should be placed.\r\n */\r\n columnIndex: PropTypes.number,\r\n\r\n /**\r\n * Index of the row these widgets should be placed.\r\n */\r\n rowIndex: PropTypes.number,\r\n\r\n /**\r\n * Index of the widget.\r\n */\r\n widgetIndex: PropTypes.number,\r\n\r\n /**\r\n * Indicates weatehr dashboard is in ediable mode or not.\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * User provided widget frame that should be used instead of the default one.\r\n */\r\n frameComponent: PropTypes.func,\r\n\r\n /**\r\n * Name of the widget.\r\n */\r\n widgetName: PropTypes.string,\r\n\r\n /**\r\n * Title of the widget.\r\n */\r\n title: PropTypes.string,\r\n\r\n /**\r\n * Weather the component is being dragged.\r\n */\r\n isDragging: PropTypes.bool,\r\n\r\n /**\r\n * ReactDnd's connectDragSource().\r\n */\r\n connectDragSource: PropTypes.func,\r\n\r\n/**\r\n * ReactDnd's connectDropTarget().\r\n */\r\n connectDropTarget: PropTypes.func,\r\n\r\n /**\r\n * Function that should be called when a widget is about to be removed.\r\n */\r\n onRemove: PropTypes.func,\r\n};\r\n\r\nexport default WidgetFrame;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/WidgetFrame.js\n **/","import React, { PropTypes, createElement } from 'react';\r\nimport WidgetFrame from './WidgetFrame';\r\n\r\n/**\r\n * Component that renders the widget which belongs to a column.\r\n */\r\nconst Widgets = ({widgets, widgetTypes, onRemove, layout, columnIndex, rowIndex, editable, frameComponent, onMove}) => {\r\n let createdWidgets = widgets.map((widget, index)=> {\r\n return (\r\n \r\n {\r\n createElement(widgetTypes[widget.key].type, widgetTypes[widget.key].props)\r\n }\r\n \r\n );\r\n });\r\n return
{createdWidgets}
;\r\n};\r\n\r\nWidgets.propTypes = {\r\n /**\r\n * Widgets that should be rendered.\r\n */\r\n widgets: PropTypes.array,\r\n\r\n /**\r\n * Widgets that are available in the dashboard.\r\n */\r\n widgetTypes: PropTypes.object,\r\n\r\n /**\r\n * Function that should be called when a widget is about to be removed.\r\n */\r\n onRemove: PropTypes.func,\r\n\r\n /**\r\n * Layout of the dahsboard.\r\n */\r\n layout: PropTypes.object,\r\n\r\n /**\r\n * Index of the column these widgets should be placed.\r\n */\r\n columnIndex: PropTypes.number,\r\n\r\n /**\r\n * Index of the row these widgets should be placed.\r\n */\r\n rowIndex: PropTypes.number,\r\n\r\n /**\r\n * Indicates weatehr dashboard is in ediable mode or not.\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * User provided widget frame that should be used instead of the default one.\r\n */\r\n frameComponent: PropTypes.func,\r\n\r\n /**\r\n * Method to call when a widget is moved.\r\n */\r\n onMove: PropTypes.func,\r\n};\r\n\r\nexport default Widgets;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/Widgets.js\n **/","export { default as default } from './components/Dashboard';\r\nexport { addWidget } from './util';\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/index.js\n **/","\"use strict\";\n\n// rawAsap provides everything we need except exception management.\nvar rawAsap = require(\"./raw\");\n// RawTasks are recycled to reduce GC churn.\nvar freeTasks = [];\n// We queue errors to ensure they are thrown in right order (FIFO).\n// Array-as-queue is good enough here, since we are just dealing with exceptions.\nvar pendingErrors = [];\nvar requestErrorThrow = rawAsap.makeRequestCallFromTimer(throwFirstError);\n\nfunction throwFirstError() {\n if (pendingErrors.length) {\n throw pendingErrors.shift();\n }\n}\n\n/**\n * Calls a task as soon as possible after returning, in its own event, with priority\n * over other events like animation, reflow, and repaint. An error thrown from an\n * event will not interrupt, nor even substantially slow down the processing of\n * other events, but will be rather postponed to a lower priority event.\n * @param {{call}} task A callable object, typically a function that takes no\n * arguments.\n */\nmodule.exports = asap;\nfunction asap(task) {\n var rawTask;\n if (freeTasks.length) {\n rawTask = freeTasks.pop();\n } else {\n rawTask = new RawTask();\n }\n rawTask.task = task;\n rawAsap(rawTask);\n}\n\n// We wrap tasks with recyclable task objects. A task object implements\n// `call`, just like a function.\nfunction RawTask() {\n this.task = null;\n}\n\n// The sole purpose of wrapping the task is to catch the exception and recycle\n// the task object after its single use.\nRawTask.prototype.call = function () {\n try {\n this.task.call();\n } catch (error) {\n if (asap.onerror) {\n // This hook exists purely for testing purposes.\n // Its name will be periodically randomized to break any code that\n // depends on its existence.\n asap.onerror(error);\n } else {\n // In a web browser, exceptions are not fatal. However, to avoid\n // slowing down the queue of pending tasks, we rethrow the error in a\n // lower priority turn.\n pendingErrors.push(error);\n requestErrorThrow();\n }\n } finally {\n this.task = null;\n freeTasks[freeTasks.length] = this;\n }\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/asap/browser-asap.js\n ** module id = 78\n ** module chunks = 0\n **/","\"use strict\";\n\n// Use the fastest means possible to execute a task in its own turn, with\n// priority over other events including IO, animation, reflow, and redraw\n// events in browsers.\n//\n// An exception thrown by a task will permanently interrupt the processing of\n// subsequent tasks. The higher level `asap` function ensures that if an\n// exception is thrown by a task, that the task queue will continue flushing as\n// soon as possible, but if you use `rawAsap` directly, you are responsible to\n// either ensure that no exceptions are thrown from your task, or to manually\n// call `rawAsap.requestFlush` if an exception is thrown.\nmodule.exports = rawAsap;\nfunction rawAsap(task) {\n if (!queue.length) {\n requestFlush();\n flushing = true;\n }\n // Equivalent to push, but avoids a function call.\n queue[queue.length] = task;\n}\n\nvar queue = [];\n// Once a flush has been requested, no further calls to `requestFlush` are\n// necessary until the next `flush` completes.\nvar flushing = false;\n// `requestFlush` is an implementation-specific method that attempts to kick\n// off a `flush` event as quickly as possible. `flush` will attempt to exhaust\n// the event queue before yielding to the browser's own event loop.\nvar requestFlush;\n// The position of the next task to execute in the task queue. This is\n// preserved between calls to `flush` so that it can be resumed if\n// a task throws an exception.\nvar index = 0;\n// If a task schedules additional tasks recursively, the task queue can grow\n// unbounded. To prevent memory exhaustion, the task queue will periodically\n// truncate already-completed tasks.\nvar capacity = 1024;\n\n// The flush function processes all tasks that have been scheduled with\n// `rawAsap` unless and until one of those tasks throws an exception.\n// If a task throws an exception, `flush` ensures that its state will remain\n// consistent and will resume where it left off when called again.\n// However, `flush` does not make any arrangements to be called again if an\n// exception is thrown.\nfunction flush() {\n while (index < queue.length) {\n var currentIndex = index;\n // Advance the index before calling the task. This ensures that we will\n // begin flushing on the next task the task throws an error.\n index = index + 1;\n queue[currentIndex].call();\n // Prevent leaking memory for long chains of recursive calls to `asap`.\n // If we call `asap` within tasks scheduled by `asap`, the queue will\n // grow, but to avoid an O(n) walk for every task we execute, we don't\n // shift tasks off the queue after they have been executed.\n // Instead, we periodically shift 1024 tasks off the queue.\n if (index > capacity) {\n // Manually shift all values starting at the index back to the\n // beginning of the queue.\n for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n queue[scan] = queue[scan + index];\n }\n queue.length -= index;\n index = 0;\n }\n }\n queue.length = 0;\n index = 0;\n flushing = false;\n}\n\n// `requestFlush` is implemented using a strategy based on data collected from\n// every available SauceLabs Selenium web driver worker at time of writing.\n// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n\n// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n// have WebKitMutationObserver but not un-prefixed MutationObserver.\n// Must use `global` instead of `window` to work in both frames and web\n// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\nvar BrowserMutationObserver = global.MutationObserver || global.WebKitMutationObserver;\n\n// MutationObservers are desirable because they have high priority and work\n// reliably everywhere they are implemented.\n// They are implemented in all modern browsers.\n//\n// - Android 4-4.3\n// - Chrome 26-34\n// - Firefox 14-29\n// - Internet Explorer 11\n// - iPad Safari 6-7.1\n// - iPhone Safari 7-7.1\n// - Safari 6-7\nif (typeof BrowserMutationObserver === \"function\") {\n requestFlush = makeRequestCallFromMutationObserver(flush);\n\n// MessageChannels are desirable because they give direct access to the HTML\n// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n// 11-12, and in web workers in many engines.\n// Although message channels yield to any queued rendering and IO tasks, they\n// would be better than imposing the 4ms delay of timers.\n// However, they do not work reliably in Internet Explorer or Safari.\n\n// Internet Explorer 10 is the only browser that has setImmediate but does\n// not have MutationObservers.\n// Although setImmediate yields to the browser's renderer, it would be\n// preferrable to falling back to setTimeout since it does not have\n// the minimum 4ms penalty.\n// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n// Desktop to a lesser extent) that renders both setImmediate and\n// MessageChannel useless for the purposes of ASAP.\n// https://github.com/kriskowal/q/issues/396\n\n// Timers are implemented universally.\n// We fall back to timers in workers in most engines, and in foreground\n// contexts in the following browsers.\n// However, note that even this simple case requires nuances to operate in a\n// broad spectrum of browsers.\n//\n// - Firefox 3-13\n// - Internet Explorer 6-9\n// - iPad Safari 4.3\n// - Lynx 2.8.7\n} else {\n requestFlush = makeRequestCallFromTimer(flush);\n}\n\n// `requestFlush` requests that the high priority event queue be flushed as\n// soon as possible.\n// This is useful to prevent an error thrown in a task from stalling the event\n// queue if the exception handled by Node.js’s\n// `process.on(\"uncaughtException\")` or by a domain.\nrawAsap.requestFlush = requestFlush;\n\n// To request a high priority event, we induce a mutation observer by toggling\n// the text of a text node between \"1\" and \"-1\".\nfunction makeRequestCallFromMutationObserver(callback) {\n var toggle = 1;\n var observer = new BrowserMutationObserver(callback);\n var node = document.createTextNode(\"\");\n observer.observe(node, {characterData: true});\n return function requestCall() {\n toggle = -toggle;\n node.data = toggle;\n };\n}\n\n// The message channel technique was discovered by Malte Ubl and was the\n// original foundation for this library.\n// http://www.nonblocking.io/2011/06/windownexttick.html\n\n// Safari 6.0.5 (at least) intermittently fails to create message ports on a\n// page's first load. Thankfully, this version of Safari supports\n// MutationObservers, so we don't need to fall back in that case.\n\n// function makeRequestCallFromMessageChannel(callback) {\n// var channel = new MessageChannel();\n// channel.port1.onmessage = callback;\n// return function requestCall() {\n// channel.port2.postMessage(0);\n// };\n// }\n\n// For reasons explained above, we are also unable to use `setImmediate`\n// under any circumstances.\n// Even if we were, there is another bug in Internet Explorer 10.\n// It is not sufficient to assign `setImmediate` to `requestFlush` because\n// `setImmediate` must be called *by name* and therefore must be wrapped in a\n// closure.\n// Never forget.\n\n// function makeRequestCallFromSetImmediate(callback) {\n// return function requestCall() {\n// setImmediate(callback);\n// };\n// }\n\n// Safari 6.0 has a problem where timers will get lost while the user is\n// scrolling. This problem does not impact ASAP because Safari 6.0 supports\n// mutation observers, so that implementation is used instead.\n// However, if we ever elect to use timers in Safari, the prevalent work-around\n// is to add a scroll event listener that calls for a flush.\n\n// `setTimeout` does not call the passed callback if the delay is less than\n// approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n// even then.\n\nfunction makeRequestCallFromTimer(callback) {\n return function requestCall() {\n // We dispatch a timeout with a specified delay of 0 for engines that\n // can reliably accommodate that request. This will usually be snapped\n // to a 4 milisecond delay, but once we're flushing, there's no delay\n // between events.\n var timeoutHandle = setTimeout(handleTimer, 0);\n // However, since this timer gets frequently dropped in Firefox\n // workers, we enlist an interval handle that will try to fire\n // an event 20 times per second until it succeeds.\n var intervalHandle = setInterval(handleTimer, 50);\n\n function handleTimer() {\n // Whichever timer succeeds will cancel both timers and\n // execute the callback.\n clearTimeout(timeoutHandle);\n clearInterval(intervalHandle);\n callback();\n }\n };\n}\n\n// This is for `asap.js` only.\n// Its name will be periodically randomized to break any code that depends on\n// its existence.\nrawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;\n\n// ASAP was originally a nextTick shim included in Q. This was factored out\n// into this ASAP package. It was later adapted to RSVP which made further\n// amendments. These decisions, particularly to marginalize MessageChannel and\n// to capture the MutationObserver implementation in a closure, were integrated\n// back into ASAP proper.\n// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/asap/browser-raw.js\n ** module id = 79\n ** module chunks = 0\n **/","'use strict';\n\nvar _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };\n\nvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } };\n\nexports.__esModule = true;\n\nvar _isDisposable = require('./isDisposable');\n\nvar _isDisposable2 = _interopRequireWildcard(_isDisposable);\n\n/**\n * Represents a group of disposable resources that are disposed together.\n */\n\nvar CompositeDisposable = (function () {\n function CompositeDisposable() {\n for (var _len = arguments.length, disposables = Array(_len), _key = 0; _key < _len; _key++) {\n disposables[_key] = arguments[_key];\n }\n\n _classCallCheck(this, CompositeDisposable);\n\n if (Array.isArray(disposables[0]) && disposables.length === 1) {\n disposables = disposables[0];\n }\n\n for (var i = 0; i < disposables.length; i++) {\n if (!_isDisposable2['default'](disposables[i])) {\n throw new Error('Expected a disposable');\n }\n }\n\n this.disposables = disposables;\n this.isDisposed = false;\n }\n\n /**\n * Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed.\n * @param {Disposable} item Disposable to add.\n */\n\n CompositeDisposable.prototype.add = function add(item) {\n if (this.isDisposed) {\n item.dispose();\n } else {\n this.disposables.push(item);\n }\n };\n\n /**\n * Removes and disposes the first occurrence of a disposable from the CompositeDisposable.\n * @param {Disposable} item Disposable to remove.\n * @returns {Boolean} true if found; false otherwise.\n */\n\n CompositeDisposable.prototype.remove = function remove(item) {\n if (this.isDisposed) {\n return false;\n }\n\n var index = this.disposables.indexOf(item);\n if (index === -1) {\n return false;\n }\n\n this.disposables.splice(index, 1);\n item.dispose();\n return true;\n };\n\n /**\n * Disposes all disposables in the group and removes them from the group.\n */\n\n CompositeDisposable.prototype.dispose = function dispose() {\n if (this.isDisposed) {\n return;\n }\n\n var len = this.disposables.length;\n var currentDisposables = new Array(len);\n for (var i = 0; i < len; i++) {\n currentDisposables[i] = this.disposables[i];\n }\n\n this.isDisposed = true;\n this.disposables = [];\n this.length = 0;\n\n for (var i = 0; i < len; i++) {\n currentDisposables[i].dispose();\n }\n };\n\n return CompositeDisposable;\n})();\n\nexports['default'] = CompositeDisposable;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/disposables/modules/CompositeDisposable.js\n ** module id = 80\n ** module chunks = 0\n **/","\"use strict\";\n\nvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nexports.__esModule = true;\nvar noop = function noop() {};\n\n/**\n * The basic disposable.\n */\n\nvar Disposable = (function () {\n function Disposable(action) {\n _classCallCheck(this, Disposable);\n\n this.isDisposed = false;\n this.action = action || noop;\n }\n\n Disposable.prototype.dispose = function dispose() {\n if (!this.isDisposed) {\n this.action.call(null);\n this.isDisposed = true;\n }\n };\n\n _createClass(Disposable, null, [{\n key: \"empty\",\n enumerable: true,\n value: { dispose: noop }\n }]);\n\n return Disposable;\n})();\n\nexports[\"default\"] = Disposable;\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/disposables/modules/Disposable.js\n ** module id = 81\n ** module chunks = 0\n **/","'use strict';\n\nvar _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };\n\nvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } };\n\nexports.__esModule = true;\n\nvar _isDisposable = require('./isDisposable');\n\nvar _isDisposable2 = _interopRequireWildcard(_isDisposable);\n\nvar SerialDisposable = (function () {\n function SerialDisposable() {\n _classCallCheck(this, SerialDisposable);\n\n this.isDisposed = false;\n this.current = null;\n }\n\n /**\n * Gets the underlying disposable.\n * @return The underlying disposable.\n */\n\n SerialDisposable.prototype.getDisposable = function getDisposable() {\n return this.current;\n };\n\n /**\n * Sets the underlying disposable.\n * @param {Disposable} value The new underlying disposable.\n */\n\n SerialDisposable.prototype.setDisposable = function setDisposable() {\n var value = arguments[0] === undefined ? null : arguments[0];\n\n if (value != null && !_isDisposable2['default'](value)) {\n throw new Error('Expected either an empty value or a valid disposable');\n }\n\n var isDisposed = this.isDisposed;\n var previous = undefined;\n\n if (!isDisposed) {\n previous = this.current;\n this.current = value;\n }\n\n if (previous) {\n previous.dispose();\n }\n\n if (isDisposed && value) {\n value.dispose();\n }\n };\n\n /**\n * Disposes the underlying disposable as well as all future replacements.\n */\n\n SerialDisposable.prototype.dispose = function dispose() {\n if (this.isDisposed) {\n return;\n }\n\n this.isDisposed = true;\n var previous = this.current;\n this.current = null;\n\n if (previous) {\n previous.dispose();\n }\n };\n\n return SerialDisposable;\n})();\n\nexports['default'] = SerialDisposable;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/disposables/modules/SerialDisposable.js\n ** module id = 82\n ** module chunks = 0\n **/","'use strict';\n\nvar _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };\n\nexports.__esModule = true;\n\nvar _isDisposable2 = require('./isDisposable');\n\nvar _isDisposable3 = _interopRequireWildcard(_isDisposable2);\n\nexports.isDisposable = _isDisposable3['default'];\n\nvar _Disposable2 = require('./Disposable');\n\nvar _Disposable3 = _interopRequireWildcard(_Disposable2);\n\nexports.Disposable = _Disposable3['default'];\n\nvar _CompositeDisposable2 = require('./CompositeDisposable');\n\nvar _CompositeDisposable3 = _interopRequireWildcard(_CompositeDisposable2);\n\nexports.CompositeDisposable = _CompositeDisposable3['default'];\n\nvar _SerialDisposable2 = require('./SerialDisposable');\n\nvar _SerialDisposable3 = _interopRequireWildcard(_SerialDisposable2);\n\nexports.SerialDisposable = _SerialDisposable3['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/disposables/modules/index.js\n ** module id = 83\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _reduxLibCreateStore = require('redux/lib/createStore');\n\nvar _reduxLibCreateStore2 = _interopRequireDefault(_reduxLibCreateStore);\n\nvar _reducers = require('./reducers');\n\nvar _reducers2 = _interopRequireDefault(_reducers);\n\nvar _actionsDragDrop = require('./actions/dragDrop');\n\nvar dragDropActions = _interopRequireWildcard(_actionsDragDrop);\n\nvar _DragDropMonitor = require('./DragDropMonitor');\n\nvar _DragDropMonitor2 = _interopRequireDefault(_DragDropMonitor);\n\nvar _HandlerRegistry = require('./HandlerRegistry');\n\nvar _HandlerRegistry2 = _interopRequireDefault(_HandlerRegistry);\n\nvar DragDropManager = (function () {\n function DragDropManager(createBackend) {\n _classCallCheck(this, DragDropManager);\n\n var store = _reduxLibCreateStore2['default'](_reducers2['default']);\n\n this.store = store;\n this.monitor = new _DragDropMonitor2['default'](store);\n this.registry = this.monitor.registry;\n this.backend = createBackend(this);\n\n store.subscribe(this.handleRefCountChange.bind(this));\n }\n\n DragDropManager.prototype.handleRefCountChange = function handleRefCountChange() {\n var shouldSetUp = this.store.getState().refCount > 0;\n if (shouldSetUp && !this.isSetUp) {\n this.backend.setup();\n this.isSetUp = true;\n } else if (!shouldSetUp && this.isSetUp) {\n this.backend.teardown();\n this.isSetUp = false;\n }\n };\n\n DragDropManager.prototype.getMonitor = function getMonitor() {\n return this.monitor;\n };\n\n DragDropManager.prototype.getBackend = function getBackend() {\n return this.backend;\n };\n\n DragDropManager.prototype.getRegistry = function getRegistry() {\n return this.registry;\n };\n\n DragDropManager.prototype.getActions = function getActions() {\n var manager = this;\n var dispatch = this.store.dispatch;\n\n function bindActionCreator(actionCreator) {\n return function () {\n var action = actionCreator.apply(manager, arguments);\n if (typeof action !== 'undefined') {\n dispatch(action);\n }\n };\n }\n\n return Object.keys(dragDropActions).filter(function (key) {\n return typeof dragDropActions[key] === 'function';\n }).reduce(function (boundActions, key) {\n boundActions[key] = bindActionCreator(dragDropActions[key]);\n return boundActions;\n }, {});\n };\n\n return DragDropManager;\n})();\n\nexports['default'] = DragDropManager;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/DragDropManager.js\n ** module id = 84\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _utilsMatchesType = require('./utils/matchesType');\n\nvar _utilsMatchesType2 = _interopRequireDefault(_utilsMatchesType);\n\nvar _lodashIsArray = require('lodash/isArray');\n\nvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\nvar _HandlerRegistry = require('./HandlerRegistry');\n\nvar _HandlerRegistry2 = _interopRequireDefault(_HandlerRegistry);\n\nvar _reducersDragOffset = require('./reducers/dragOffset');\n\nvar _reducersDirtyHandlerIds = require('./reducers/dirtyHandlerIds');\n\nvar DragDropMonitor = (function () {\n function DragDropMonitor(store) {\n _classCallCheck(this, DragDropMonitor);\n\n this.store = store;\n this.registry = new _HandlerRegistry2['default'](store);\n }\n\n DragDropMonitor.prototype.subscribeToStateChange = function subscribeToStateChange(listener) {\n var _this = this;\n\n var _ref = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var handlerIds = _ref.handlerIds;\n\n _invariant2['default'](typeof listener === 'function', 'listener must be a function.');\n _invariant2['default'](typeof handlerIds === 'undefined' || _lodashIsArray2['default'](handlerIds), 'handlerIds, when specified, must be an array of strings.');\n\n var prevStateId = this.store.getState().stateId;\n var handleChange = function handleChange() {\n var state = _this.store.getState();\n var currentStateId = state.stateId;\n try {\n var canSkipListener = currentStateId === prevStateId || currentStateId === prevStateId + 1 && !_reducersDirtyHandlerIds.areDirty(state.dirtyHandlerIds, handlerIds);\n\n if (!canSkipListener) {\n listener();\n }\n } finally {\n prevStateId = currentStateId;\n }\n };\n\n return this.store.subscribe(handleChange);\n };\n\n DragDropMonitor.prototype.subscribeToOffsetChange = function subscribeToOffsetChange(listener) {\n var _this2 = this;\n\n _invariant2['default'](typeof listener === 'function', 'listener must be a function.');\n\n var previousState = this.store.getState().dragOffset;\n var handleChange = function handleChange() {\n var nextState = _this2.store.getState().dragOffset;\n if (nextState === previousState) {\n return;\n }\n\n previousState = nextState;\n listener();\n };\n\n return this.store.subscribe(handleChange);\n };\n\n DragDropMonitor.prototype.canDragSource = function canDragSource(sourceId) {\n var source = this.registry.getSource(sourceId);\n _invariant2['default'](source, 'Expected to find a valid source.');\n\n if (this.isDragging()) {\n return false;\n }\n\n return source.canDrag(this, sourceId);\n };\n\n DragDropMonitor.prototype.canDropOnTarget = function canDropOnTarget(targetId) {\n var target = this.registry.getTarget(targetId);\n _invariant2['default'](target, 'Expected to find a valid target.');\n\n if (!this.isDragging() || this.didDrop()) {\n return false;\n }\n\n var targetType = this.registry.getTargetType(targetId);\n var draggedItemType = this.getItemType();\n return _utilsMatchesType2['default'](targetType, draggedItemType) && target.canDrop(this, targetId);\n };\n\n DragDropMonitor.prototype.isDragging = function isDragging() {\n return Boolean(this.getItemType());\n };\n\n DragDropMonitor.prototype.isDraggingSource = function isDraggingSource(sourceId) {\n var source = this.registry.getSource(sourceId, true);\n _invariant2['default'](source, 'Expected to find a valid source.');\n\n if (!this.isDragging() || !this.isSourcePublic()) {\n return false;\n }\n\n var sourceType = this.registry.getSourceType(sourceId);\n var draggedItemType = this.getItemType();\n if (sourceType !== draggedItemType) {\n return false;\n }\n\n return source.isDragging(this, sourceId);\n };\n\n DragDropMonitor.prototype.isOverTarget = function isOverTarget(targetId) {\n var _ref2 = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var _ref2$shallow = _ref2.shallow;\n var shallow = _ref2$shallow === undefined ? false : _ref2$shallow;\n\n if (!this.isDragging()) {\n return false;\n }\n\n var targetType = this.registry.getTargetType(targetId);\n var draggedItemType = this.getItemType();\n if (!_utilsMatchesType2['default'](targetType, draggedItemType)) {\n return false;\n }\n\n var targetIds = this.getTargetIds();\n if (!targetIds.length) {\n return false;\n }\n\n var index = targetIds.indexOf(targetId);\n if (shallow) {\n return index === targetIds.length - 1;\n } else {\n return index > -1;\n }\n };\n\n DragDropMonitor.prototype.getItemType = function getItemType() {\n return this.store.getState().dragOperation.itemType;\n };\n\n DragDropMonitor.prototype.getItem = function getItem() {\n return this.store.getState().dragOperation.item;\n };\n\n DragDropMonitor.prototype.getSourceId = function getSourceId() {\n return this.store.getState().dragOperation.sourceId;\n };\n\n DragDropMonitor.prototype.getTargetIds = function getTargetIds() {\n return this.store.getState().dragOperation.targetIds;\n };\n\n DragDropMonitor.prototype.getDropResult = function getDropResult() {\n return this.store.getState().dragOperation.dropResult;\n };\n\n DragDropMonitor.prototype.didDrop = function didDrop() {\n return this.store.getState().dragOperation.didDrop;\n };\n\n DragDropMonitor.prototype.isSourcePublic = function isSourcePublic() {\n return this.store.getState().dragOperation.isSourcePublic;\n };\n\n DragDropMonitor.prototype.getInitialClientOffset = function getInitialClientOffset() {\n return this.store.getState().dragOffset.initialClientOffset;\n };\n\n DragDropMonitor.prototype.getInitialSourceClientOffset = function getInitialSourceClientOffset() {\n return this.store.getState().dragOffset.initialSourceClientOffset;\n };\n\n DragDropMonitor.prototype.getClientOffset = function getClientOffset() {\n return this.store.getState().dragOffset.clientOffset;\n };\n\n DragDropMonitor.prototype.getSourceClientOffset = function getSourceClientOffset() {\n return _reducersDragOffset.getSourceClientOffset(this.store.getState().dragOffset);\n };\n\n DragDropMonitor.prototype.getDifferenceFromInitialOffset = function getDifferenceFromInitialOffset() {\n return _reducersDragOffset.getDifferenceFromInitialOffset(this.store.getState().dragOffset);\n };\n\n return DragDropMonitor;\n})();\n\nexports['default'] = DragDropMonitor;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/DragDropMonitor.js\n ** module id = 85\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar DragSource = (function () {\n function DragSource() {\n _classCallCheck(this, DragSource);\n }\n\n DragSource.prototype.canDrag = function canDrag() {\n return true;\n };\n\n DragSource.prototype.isDragging = function isDragging(monitor, handle) {\n return handle === monitor.getSourceId();\n };\n\n DragSource.prototype.endDrag = function endDrag() {};\n\n return DragSource;\n})();\n\nexports[\"default\"] = DragSource;\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/DragSource.js\n ** module id = 86\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar DropTarget = (function () {\n function DropTarget() {\n _classCallCheck(this, DropTarget);\n }\n\n DropTarget.prototype.canDrop = function canDrop() {\n return true;\n };\n\n DropTarget.prototype.hover = function hover() {};\n\n DropTarget.prototype.drop = function drop() {};\n\n return DropTarget;\n})();\n\nexports[\"default\"] = DropTarget;\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/DropTarget.js\n ** module id = 87\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createBackend;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _lodashNoop = require('lodash/noop');\n\nvar _lodashNoop2 = _interopRequireDefault(_lodashNoop);\n\nvar TestBackend = (function () {\n function TestBackend(manager) {\n _classCallCheck(this, TestBackend);\n\n this.actions = manager.getActions();\n }\n\n TestBackend.prototype.setup = function setup() {\n this.didCallSetup = true;\n };\n\n TestBackend.prototype.teardown = function teardown() {\n this.didCallTeardown = true;\n };\n\n TestBackend.prototype.connectDragSource = function connectDragSource() {\n return _lodashNoop2['default'];\n };\n\n TestBackend.prototype.connectDragPreview = function connectDragPreview() {\n return _lodashNoop2['default'];\n };\n\n TestBackend.prototype.connectDropTarget = function connectDropTarget() {\n return _lodashNoop2['default'];\n };\n\n TestBackend.prototype.simulateBeginDrag = function simulateBeginDrag(sourceIds, options) {\n this.actions.beginDrag(sourceIds, options);\n };\n\n TestBackend.prototype.simulatePublishDragSource = function simulatePublishDragSource() {\n this.actions.publishDragSource();\n };\n\n TestBackend.prototype.simulateHover = function simulateHover(targetIds, options) {\n this.actions.hover(targetIds, options);\n };\n\n TestBackend.prototype.simulateDrop = function simulateDrop() {\n this.actions.drop();\n };\n\n TestBackend.prototype.simulateEndDrag = function simulateEndDrag() {\n this.actions.endDrag();\n };\n\n return TestBackend;\n})();\n\nfunction createBackend(manager) {\n return new TestBackend(manager);\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/backends/createTestBackend.js\n ** module id = 88\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequire(obj) { return obj && obj.__esModule ? obj['default'] : obj; }\n\nvar _DragDropManager = require('./DragDropManager');\n\nexports.DragDropManager = _interopRequire(_DragDropManager);\n\nvar _DragSource = require('./DragSource');\n\nexports.DragSource = _interopRequire(_DragSource);\n\nvar _DropTarget = require('./DropTarget');\n\nexports.DropTarget = _interopRequire(_DropTarget);\n\nvar _backendsCreateTestBackend = require('./backends/createTestBackend');\n\nexports.createTestBackend = _interopRequire(_backendsCreateTestBackend);\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/index.js\n ** module id = 89\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _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; };\n\nexports['default'] = dragOperation;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _actionsDragDrop = require('../actions/dragDrop');\n\nvar _actionsRegistry = require('../actions/registry');\n\nvar _lodashWithout = require('lodash/without');\n\nvar _lodashWithout2 = _interopRequireDefault(_lodashWithout);\n\nvar initialState = {\n itemType: null,\n item: null,\n sourceId: null,\n targetIds: [],\n dropResult: null,\n didDrop: false,\n isSourcePublic: null\n};\n\nfunction dragOperation(state, action) {\n if (state === undefined) state = initialState;\n\n switch (action.type) {\n case _actionsDragDrop.BEGIN_DRAG:\n return _extends({}, state, {\n itemType: action.itemType,\n item: action.item,\n sourceId: action.sourceId,\n isSourcePublic: action.isSourcePublic,\n dropResult: null,\n didDrop: false\n });\n case _actionsDragDrop.PUBLISH_DRAG_SOURCE:\n return _extends({}, state, {\n isSourcePublic: true\n });\n case _actionsDragDrop.HOVER:\n return _extends({}, state, {\n targetIds: action.targetIds\n });\n case _actionsRegistry.REMOVE_TARGET:\n if (state.targetIds.indexOf(action.targetId) === -1) {\n return state;\n }\n return _extends({}, state, {\n targetIds: _lodashWithout2['default'](state.targetIds, action.targetId)\n });\n case _actionsDragDrop.DROP:\n return _extends({}, state, {\n dropResult: action.dropResult,\n didDrop: true,\n targetIds: []\n });\n case _actionsDragDrop.END_DRAG:\n return _extends({}, state, {\n itemType: null,\n item: null,\n sourceId: null,\n dropResult: null,\n didDrop: false,\n isSourcePublic: null,\n targetIds: []\n });\n default:\n return state;\n }\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/reducers/dragOperation.js\n ** module id = 90\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _dragOffset = require('./dragOffset');\n\nvar _dragOffset2 = _interopRequireDefault(_dragOffset);\n\nvar _dragOperation = require('./dragOperation');\n\nvar _dragOperation2 = _interopRequireDefault(_dragOperation);\n\nvar _refCount = require('./refCount');\n\nvar _refCount2 = _interopRequireDefault(_refCount);\n\nvar _dirtyHandlerIds = require('./dirtyHandlerIds');\n\nvar _dirtyHandlerIds2 = _interopRequireDefault(_dirtyHandlerIds);\n\nvar _stateId = require('./stateId');\n\nvar _stateId2 = _interopRequireDefault(_stateId);\n\nexports['default'] = function (state, action) {\n if (state === undefined) state = {};\n\n return {\n dirtyHandlerIds: _dirtyHandlerIds2['default'](state.dirtyHandlerIds, action, state.dragOperation),\n dragOffset: _dragOffset2['default'](state.dragOffset, action),\n refCount: _refCount2['default'](state.refCount, action),\n dragOperation: _dragOperation2['default'](state.dragOperation, action),\n stateId: _stateId2['default'](state.stateId)\n };\n};\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/reducers/index.js\n ** module id = 91\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = refCount;\n\nvar _actionsRegistry = require('../actions/registry');\n\nfunction refCount(state, action) {\n if (state === undefined) state = 0;\n\n switch (action.type) {\n case _actionsRegistry.ADD_SOURCE:\n case _actionsRegistry.ADD_TARGET:\n return state + 1;\n case _actionsRegistry.REMOVE_SOURCE:\n case _actionsRegistry.REMOVE_TARGET:\n return state - 1;\n default:\n return state;\n }\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/reducers/refCount.js\n ** module id = 92\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = stateId;\n\nfunction stateId() {\n var state = arguments.length <= 0 || arguments[0] === undefined ? 0 : arguments[0];\n\n return state + 1;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/reducers/stateId.js\n ** module id = 93\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = getNextUniqueId;\nvar nextUniqueId = 0;\n\nfunction getNextUniqueId() {\n return nextUniqueId++;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/utils/getNextUniqueId.js\n ** module id = 94\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @returns {Object} Returns the new hash object.\n */\nfunction Hash() {}\n\n// Avoid inheriting from `Object.prototype` when possible.\nHash.prototype = nativeCreate ? nativeCreate(null) : objectProto;\n\nmodule.exports = Hash;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_Hash.js\n ** module id = 95\n ** module chunks = 0\n **/","var mapClear = require('./_mapClear'),\n mapDelete = require('./_mapDelete'),\n mapGet = require('./_mapGet'),\n mapHas = require('./_mapHas'),\n mapSet = require('./_mapSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction MapCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = values[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapClear;\nMapCache.prototype['delete'] = mapDelete;\nMapCache.prototype.get = mapGet;\nMapCache.prototype.has = mapHas;\nMapCache.prototype.set = mapSet;\n\nmodule.exports = MapCache;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_MapCache.js\n ** module id = 96\n ** module chunks = 0\n **/","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_Set.js\n ** module id = 97\n ** module chunks = 0\n **/","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n var length = args.length;\n switch (length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_apply.js\n ** module id = 98\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_arrayFilter.js\n ** module id = 99\n ** module chunks = 0\n **/","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_arrayPush.js\n ** module id = 100\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the associative array.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction assocDelete(array, key) {\n var index = assocIndexOf(array, key);\n if (index < 0) {\n return false;\n }\n var lastIndex = array.length - 1;\n if (index == lastIndex) {\n array.pop();\n } else {\n splice.call(array, index, 1);\n }\n return true;\n}\n\nmodule.exports = assocDelete;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_assocDelete.js\n ** module id = 101\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the associative array value for `key`.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction assocGet(array, key) {\n var index = assocIndexOf(array, key);\n return index < 0 ? undefined : array[index][1];\n}\n\nmodule.exports = assocGet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_assocGet.js\n ** module id = 102\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if an associative array value for `key` exists.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction assocHas(array, key) {\n return assocIndexOf(array, key) > -1;\n}\n\nmodule.exports = assocHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_assocHas.js\n ** module id = 103\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the associative array `key` to `value`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n */\nfunction assocSet(array, key, value) {\n var index = assocIndexOf(array, key);\n if (index < 0) {\n array.push([key, value]);\n } else {\n array[index][1] = value;\n }\n}\n\nmodule.exports = assocSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_assocSet.js\n ** module id = 104\n ** module chunks = 0\n **/","var indexOfNaN = require('./_indexOfNaN');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n if (value !== value) {\n return indexOfNaN(array, fromIndex);\n }\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseIndexOf;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_baseIndexOf.js\n ** module id = 105\n ** module chunks = 0\n **/","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n arrayMap = require('./_arrayMap'),\n baseUnary = require('./_baseUnary'),\n cacheHas = require('./_cacheHas');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\nfunction baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseIntersection;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_baseIntersection.js\n ** module id = 106\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_baseProperty.js\n ** module id = 107\n ** module chunks = 0\n **/","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_baseUniq.js\n ** module id = 108\n ** module chunks = 0\n **/","var arrayPush = require('./_arrayPush'),\n baseDifference = require('./_baseDifference'),\n baseUniq = require('./_baseUniq');\n\n/**\n * The base implementation of methods like `_.xor`, without support for\n * iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of values.\n */\nfunction baseXor(arrays, iteratee, comparator) {\n var index = -1,\n length = arrays.length;\n\n while (++index < length) {\n var result = result\n ? arrayPush(\n baseDifference(result, arrays[index], iteratee, comparator),\n baseDifference(arrays[index], result, iteratee, comparator)\n )\n : arrays[index];\n }\n return (result && result.length) ? baseUniq(result, iteratee, comparator) : [];\n}\n\nmodule.exports = baseXor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_baseXor.js\n ** module id = 109\n ** module chunks = 0\n **/","var isKeyable = require('./_isKeyable');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the set cache.\n *\n * @private\n * @name push\n * @memberOf SetCache\n * @param {*} value The value to cache.\n */\nfunction cachePush(value) {\n var map = this.__data__;\n if (isKeyable(value)) {\n var data = map.__data__,\n hash = typeof value == 'string' ? data.string : data.hash;\n\n hash[value] = HASH_UNDEFINED;\n }\n else {\n map.set(value, HASH_UNDEFINED);\n }\n}\n\nmodule.exports = cachePush;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_cachePush.js\n ** module id = 110\n ** module chunks = 0\n **/","var isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\nfunction castArrayLikeObject(value) {\n return isArrayLikeObject(value) ? value : [];\n}\n\nmodule.exports = castArrayLikeObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_castArrayLikeObject.js\n ** module id = 111\n ** module chunks = 0\n **/","/**\n * Checks if `value` is a global object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {null|Object} Returns `value` if it's a global object, else `null`.\n */\nfunction checkGlobal(value) {\n return (value && value.Object === Object) ? value : null;\n}\n\nmodule.exports = checkGlobal;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_checkGlobal.js\n ** module id = 112\n ** module chunks = 0\n **/","var Set = require('./_Set'),\n noop = require('./noop');\n\n/**\n * Creates a set of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && new Set([1, 2]).size === 2) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_createSet.js\n ** module id = 113\n ** module chunks = 0\n **/","var baseProperty = require('./_baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a\n * [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792) that affects\n * Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_getLength.js\n ** module id = 114\n ** module chunks = 0\n **/","var hashHas = require('./_hashHas');\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(hash, key) {\n return hashHas(hash, key) && delete hash[key];\n}\n\nmodule.exports = hashDelete;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_hashDelete.js\n ** module id = 115\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @param {Object} hash The hash to query.\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(hash, key) {\n if (nativeCreate) {\n var result = hash[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(hash, key) ? hash[key] : undefined;\n}\n\nmodule.exports = hashGet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_hashGet.js\n ** module id = 116\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n */\nfunction hashSet(hash, key, value) {\n hash[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n}\n\nmodule.exports = hashSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_hashSet.js\n ** module id = 117\n ** module chunks = 0\n **/","/**\n * Gets the index at which the first occurrence of `NaN` is found in `array`.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched `NaN`, else `-1`.\n */\nfunction indexOfNaN(array, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 0 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n var other = array[index];\n if (other !== other) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = indexOfNaN;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_indexOfNaN.js\n ** module id = 118\n ** module chunks = 0\n **/","/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\nmodule.exports = isHostObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_isHostObject.js\n ** module id = 119\n ** module chunks = 0\n **/","var Hash = require('./_Hash'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': Map ? new Map : [],\n 'string': new Hash\n };\n}\n\nmodule.exports = mapClear;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_mapClear.js\n ** module id = 120\n ** module chunks = 0\n **/","var Map = require('./_Map'),\n assocDelete = require('./_assocDelete'),\n hashDelete = require('./_hashDelete'),\n isKeyable = require('./_isKeyable');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapDelete(key) {\n var data = this.__data__;\n if (isKeyable(key)) {\n return hashDelete(typeof key == 'string' ? data.string : data.hash, key);\n }\n return Map ? data.map['delete'](key) : assocDelete(data.map, key);\n}\n\nmodule.exports = mapDelete;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_mapDelete.js\n ** module id = 121\n ** module chunks = 0\n **/","var Map = require('./_Map'),\n assocGet = require('./_assocGet'),\n hashGet = require('./_hashGet'),\n isKeyable = require('./_isKeyable');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapGet(key) {\n var data = this.__data__;\n if (isKeyable(key)) {\n return hashGet(typeof key == 'string' ? data.string : data.hash, key);\n }\n return Map ? data.map.get(key) : assocGet(data.map, key);\n}\n\nmodule.exports = mapGet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_mapGet.js\n ** module id = 122\n ** module chunks = 0\n **/","var Map = require('./_Map'),\n assocHas = require('./_assocHas'),\n hashHas = require('./_hashHas'),\n isKeyable = require('./_isKeyable');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapHas(key) {\n var data = this.__data__;\n if (isKeyable(key)) {\n return hashHas(typeof key == 'string' ? data.string : data.hash, key);\n }\n return Map ? data.map.has(key) : assocHas(data.map, key);\n}\n\nmodule.exports = mapHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_mapHas.js\n ** module id = 123\n ** module chunks = 0\n **/","var Map = require('./_Map'),\n assocSet = require('./_assocSet'),\n hashSet = require('./_hashSet'),\n isKeyable = require('./_isKeyable');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapSet(key, value) {\n var data = this.__data__;\n if (isKeyable(key)) {\n hashSet(typeof key == 'string' ? data.string : data.hash, key, value);\n } else if (Map) {\n data.map.set(key, value);\n } else {\n assocSet(data.map, key, value);\n }\n return this;\n}\n\nmodule.exports = mapSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_mapSet.js\n ** module id = 124\n ** module chunks = 0\n **/","/**\n * Converts `set` to an array.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_setToArray.js\n ** module id = 125\n ** module chunks = 0\n **/","/** Used to resolve the decompiled source of functions. */\nvar funcToString = Function.prototype.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_toSource.js\n ** module id = 126\n ** module chunks = 0\n **/","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/eq.js\n ** module id = 127\n ** module chunks = 0\n **/","var arrayMap = require('./_arrayMap'),\n baseIntersection = require('./_baseIntersection'),\n castArrayLikeObject = require('./_castArrayLikeObject'),\n rest = require('./rest');\n\n/**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n * for equality comparisons. The order of result values is determined by the\n * order they occur in the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [4, 2], [1, 2]);\n * // => [2]\n */\nvar intersection = rest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n});\n\nmodule.exports = intersection;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/intersection.js\n ** module id = 128\n ** module chunks = 0\n **/","var getLength = require('./_getLength'),\n isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value)) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isArrayLike.js\n ** module id = 129\n ** module chunks = 0\n **/","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length,\n * else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isLength.js\n ** module id = 130\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isHostObject = require('./_isHostObject'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/6.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (!isObject(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isNative.js\n ** module id = 131\n ** module chunks = 0\n **/","var isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isSymbol.js\n ** module id = 132\n ** module chunks = 0\n **/","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This function is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3');\n * // => 3\n */\nfunction toInteger(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n var remainder = value % 1;\n return value === value ? (remainder ? value - remainder : value) : 0;\n}\n\nmodule.exports = toInteger;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/toInteger.js\n ** module id = 133\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3);\n * // => 3\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3');\n * // => 3\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = isFunction(value.valueOf) ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/toNumber.js\n ** module id = 134\n ** module chunks = 0\n **/","var baseDifference = require('./_baseDifference'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n rest = require('./rest');\n\n/**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to filter.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.without([1, 2, 1, 3], 1, 2);\n * // => [3]\n */\nvar without = rest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n});\n\nmodule.exports = without;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/without.js\n ** module id = 135\n ** module chunks = 0\n **/","var arrayFilter = require('./_arrayFilter'),\n baseXor = require('./_baseXor'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n rest = require('./rest');\n\n/**\n * Creates an array of unique values that is the\n * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\n * of the given arrays. The order of result values is determined by the order\n * they occur in the arrays.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of values.\n * @example\n *\n * _.xor([2, 1], [4, 2]);\n * // => [1, 4]\n */\nvar xor = rest(function(arrays) {\n return baseXor(arrayFilter(arrays, isArrayLikeObject));\n});\n\nmodule.exports = xor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/xor.js\n ** module id = 136\n ** module chunks = 0\n **/","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/invariant.js\n ** module id = 137\n ** module chunks = 0\n **/","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n/**\n * Allows extraction of a minified key. Let's the build system minify keys\n * without losing the ability to dynamically use key strings as values\n * themselves. Pass in an object with a single key/val pair and it will return\n * you the string key of that single record. Suppose you want to grab the\n * value for a key 'className' inside of an object. Key/val minification may\n * have aliased that key to be 'xa12'. keyOf({className: null}) will return\n * 'xa12' in that case. Resolve keys you want to use once at startup time, then\n * reuse those resolutions.\n */\nvar keyOf = function (oneKeyObj) {\n var key;\n for (key in oneKeyObj) {\n if (!oneKeyObj.hasOwnProperty(key)) {\n continue;\n }\n return key;\n }\n return null;\n};\n\nmodule.exports = keyOf;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/keyOf.js\n ** module id = 138\n ** module chunks = 0\n **/","/* eslint-disable no-unused-vars */\n'use strict';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nmodule.exports = Object.assign || function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (Object.getOwnPropertySymbols) {\n\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/object-assign/index.js\n ** module id = 139\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _lodashUnion = require('lodash/union');\n\nvar _lodashUnion2 = _interopRequireDefault(_lodashUnion);\n\nvar _lodashWithout = require('lodash/without');\n\nvar _lodashWithout2 = _interopRequireDefault(_lodashWithout);\n\nvar EnterLeaveCounter = (function () {\n function EnterLeaveCounter() {\n _classCallCheck(this, EnterLeaveCounter);\n\n this.entered = [];\n }\n\n EnterLeaveCounter.prototype.enter = function enter(enteringNode) {\n var previousLength = this.entered.length;\n\n this.entered = _lodashUnion2['default'](this.entered.filter(function (node) {\n return document.documentElement.contains(node) && (!node.contains || node.contains(enteringNode));\n }), [enteringNode]);\n\n return previousLength === 0 && this.entered.length > 0;\n };\n\n EnterLeaveCounter.prototype.leave = function leave(leavingNode) {\n var previousLength = this.entered.length;\n\n this.entered = _lodashWithout2['default'](this.entered.filter(function (node) {\n return document.documentElement.contains(node);\n }), leavingNode);\n\n return previousLength > 0 && this.entered.length === 0;\n };\n\n EnterLeaveCounter.prototype.reset = function reset() {\n this.entered = [];\n };\n\n return EnterLeaveCounter;\n})();\n\nexports['default'] = EnterLeaveCounter;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/EnterLeaveCounter.js\n ** module id = 140\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _lodashDefaults = require('lodash/defaults');\n\nvar _lodashDefaults2 = _interopRequireDefault(_lodashDefaults);\n\nvar _shallowEqual = require('./shallowEqual');\n\nvar _shallowEqual2 = _interopRequireDefault(_shallowEqual);\n\nvar _EnterLeaveCounter = require('./EnterLeaveCounter');\n\nvar _EnterLeaveCounter2 = _interopRequireDefault(_EnterLeaveCounter);\n\nvar _BrowserDetector = require('./BrowserDetector');\n\nvar _OffsetUtils = require('./OffsetUtils');\n\nvar _NativeDragSources = require('./NativeDragSources');\n\nvar _NativeTypes = require('./NativeTypes');\n\nvar NativeTypes = _interopRequireWildcard(_NativeTypes);\n\nvar HTML5Backend = (function () {\n function HTML5Backend(manager) {\n _classCallCheck(this, HTML5Backend);\n\n this.actions = manager.getActions();\n this.monitor = manager.getMonitor();\n this.registry = manager.getRegistry();\n\n this.sourcePreviewNodes = {};\n this.sourcePreviewNodeOptions = {};\n this.sourceNodes = {};\n this.sourceNodeOptions = {};\n this.enterLeaveCounter = new _EnterLeaveCounter2['default']();\n\n this.getSourceClientOffset = this.getSourceClientOffset.bind(this);\n this.handleTopDragStart = this.handleTopDragStart.bind(this);\n this.handleTopDragStartCapture = this.handleTopDragStartCapture.bind(this);\n this.handleTopDragEndCapture = this.handleTopDragEndCapture.bind(this);\n this.handleTopDragEnter = this.handleTopDragEnter.bind(this);\n this.handleTopDragEnterCapture = this.handleTopDragEnterCapture.bind(this);\n this.handleTopDragLeaveCapture = this.handleTopDragLeaveCapture.bind(this);\n this.handleTopDragOver = this.handleTopDragOver.bind(this);\n this.handleTopDragOverCapture = this.handleTopDragOverCapture.bind(this);\n this.handleTopDrop = this.handleTopDrop.bind(this);\n this.handleTopDropCapture = this.handleTopDropCapture.bind(this);\n this.handleSelectStart = this.handleSelectStart.bind(this);\n this.endDragIfSourceWasRemovedFromDOM = this.endDragIfSourceWasRemovedFromDOM.bind(this);\n this.endDragNativeItem = this.endDragNativeItem.bind(this);\n }\n\n HTML5Backend.prototype.setup = function setup() {\n if (typeof window === 'undefined') {\n return;\n }\n\n if (this.constructor.isSetUp) {\n throw new Error('Cannot have two HTML5 backends at the same time.');\n }\n this.constructor.isSetUp = true;\n this.addEventListeners(window);\n };\n\n HTML5Backend.prototype.teardown = function teardown() {\n if (typeof window === 'undefined') {\n return;\n }\n\n this.constructor.isSetUp = false;\n this.removeEventListeners(window);\n this.clearCurrentDragSourceNode();\n };\n\n HTML5Backend.prototype.addEventListeners = function addEventListeners(target) {\n target.addEventListener('dragstart', this.handleTopDragStart);\n target.addEventListener('dragstart', this.handleTopDragStartCapture, true);\n target.addEventListener('dragend', this.handleTopDragEndCapture, true);\n target.addEventListener('dragenter', this.handleTopDragEnter);\n target.addEventListener('dragenter', this.handleTopDragEnterCapture, true);\n target.addEventListener('dragleave', this.handleTopDragLeaveCapture, true);\n target.addEventListener('dragover', this.handleTopDragOver);\n target.addEventListener('dragover', this.handleTopDragOverCapture, true);\n target.addEventListener('drop', this.handleTopDrop);\n target.addEventListener('drop', this.handleTopDropCapture, true);\n };\n\n HTML5Backend.prototype.removeEventListeners = function removeEventListeners(target) {\n target.removeEventListener('dragstart', this.handleTopDragStart);\n target.removeEventListener('dragstart', this.handleTopDragStartCapture, true);\n target.removeEventListener('dragend', this.handleTopDragEndCapture, true);\n target.removeEventListener('dragenter', this.handleTopDragEnter);\n target.removeEventListener('dragenter', this.handleTopDragEnterCapture, true);\n target.removeEventListener('dragleave', this.handleTopDragLeaveCapture, true);\n target.removeEventListener('dragover', this.handleTopDragOver);\n target.removeEventListener('dragover', this.handleTopDragOverCapture, true);\n target.removeEventListener('drop', this.handleTopDrop);\n target.removeEventListener('drop', this.handleTopDropCapture, true);\n };\n\n HTML5Backend.prototype.connectDragPreview = function connectDragPreview(sourceId, node, options) {\n var _this = this;\n\n this.sourcePreviewNodeOptions[sourceId] = options;\n this.sourcePreviewNodes[sourceId] = node;\n\n return function () {\n delete _this.sourcePreviewNodes[sourceId];\n delete _this.sourcePreviewNodeOptions[sourceId];\n };\n };\n\n HTML5Backend.prototype.connectDragSource = function connectDragSource(sourceId, node, options) {\n var _this2 = this;\n\n this.sourceNodes[sourceId] = node;\n this.sourceNodeOptions[sourceId] = options;\n\n var handleDragStart = function handleDragStart(e) {\n return _this2.handleDragStart(e, sourceId);\n };\n var handleSelectStart = function handleSelectStart(e) {\n return _this2.handleSelectStart(e, sourceId);\n };\n\n node.setAttribute('draggable', true);\n node.addEventListener('dragstart', handleDragStart);\n node.addEventListener('selectstart', handleSelectStart);\n\n return function () {\n delete _this2.sourceNodes[sourceId];\n delete _this2.sourceNodeOptions[sourceId];\n\n node.removeEventListener('dragstart', handleDragStart);\n node.removeEventListener('selectstart', handleSelectStart);\n node.setAttribute('draggable', false);\n };\n };\n\n HTML5Backend.prototype.connectDropTarget = function connectDropTarget(targetId, node) {\n var _this3 = this;\n\n var handleDragEnter = function handleDragEnter(e) {\n return _this3.handleDragEnter(e, targetId);\n };\n var handleDragOver = function handleDragOver(e) {\n return _this3.handleDragOver(e, targetId);\n };\n var handleDrop = function handleDrop(e) {\n return _this3.handleDrop(e, targetId);\n };\n\n node.addEventListener('dragenter', handleDragEnter);\n node.addEventListener('dragover', handleDragOver);\n node.addEventListener('drop', handleDrop);\n\n return function () {\n node.removeEventListener('dragenter', handleDragEnter);\n node.removeEventListener('dragover', handleDragOver);\n node.removeEventListener('drop', handleDrop);\n };\n };\n\n HTML5Backend.prototype.getCurrentSourceNodeOptions = function getCurrentSourceNodeOptions() {\n var sourceId = this.monitor.getSourceId();\n var sourceNodeOptions = this.sourceNodeOptions[sourceId];\n\n return _lodashDefaults2['default'](sourceNodeOptions || {}, {\n dropEffect: 'move'\n });\n };\n\n HTML5Backend.prototype.getCurrentDropEffect = function getCurrentDropEffect() {\n if (this.isDraggingNativeItem()) {\n // It makes more sense to default to 'copy' for native resources\n return 'copy';\n }\n\n return this.getCurrentSourceNodeOptions().dropEffect;\n };\n\n HTML5Backend.prototype.getCurrentSourcePreviewNodeOptions = function getCurrentSourcePreviewNodeOptions() {\n var sourceId = this.monitor.getSourceId();\n var sourcePreviewNodeOptions = this.sourcePreviewNodeOptions[sourceId];\n\n return _lodashDefaults2['default'](sourcePreviewNodeOptions || {}, {\n anchorX: 0.5,\n anchorY: 0.5,\n captureDraggingState: false\n });\n };\n\n HTML5Backend.prototype.getSourceClientOffset = function getSourceClientOffset(sourceId) {\n return _OffsetUtils.getNodeClientOffset(this.sourceNodes[sourceId]);\n };\n\n HTML5Backend.prototype.isDraggingNativeItem = function isDraggingNativeItem() {\n var itemType = this.monitor.getItemType();\n return Object.keys(NativeTypes).some(function (key) {\n return NativeTypes[key] === itemType;\n });\n };\n\n HTML5Backend.prototype.beginDragNativeItem = function beginDragNativeItem(type) {\n this.clearCurrentDragSourceNode();\n\n var SourceType = _NativeDragSources.createNativeDragSource(type);\n this.currentNativeSource = new SourceType();\n this.currentNativeHandle = this.registry.addSource(type, this.currentNativeSource);\n this.actions.beginDrag([this.currentNativeHandle]);\n\n // On Firefox, if mousemove fires, the drag is over but browser failed to tell us.\n // This is not true for other browsers.\n if (_BrowserDetector.isFirefox()) {\n window.addEventListener('mousemove', this.endDragNativeItem, true);\n }\n };\n\n HTML5Backend.prototype.endDragNativeItem = function endDragNativeItem() {\n if (!this.isDraggingNativeItem()) {\n return;\n }\n\n if (_BrowserDetector.isFirefox()) {\n window.removeEventListener('mousemove', this.endDragNativeItem, true);\n }\n\n this.actions.endDrag();\n this.registry.removeSource(this.currentNativeHandle);\n this.currentNativeHandle = null;\n this.currentNativeSource = null;\n };\n\n HTML5Backend.prototype.endDragIfSourceWasRemovedFromDOM = function endDragIfSourceWasRemovedFromDOM() {\n var node = this.currentDragSourceNode;\n if (document.body.contains(node)) {\n return;\n }\n\n if (this.clearCurrentDragSourceNode()) {\n this.actions.endDrag();\n }\n };\n\n HTML5Backend.prototype.setCurrentDragSourceNode = function setCurrentDragSourceNode(node) {\n this.clearCurrentDragSourceNode();\n this.currentDragSourceNode = node;\n this.currentDragSourceNodeOffset = _OffsetUtils.getNodeClientOffset(node);\n this.currentDragSourceNodeOffsetChanged = false;\n\n // Receiving a mouse event in the middle of a dragging operation\n // means it has ended and the drag source node disappeared from DOM,\n // so the browser didn't dispatch the dragend event.\n window.addEventListener('mousemove', this.endDragIfSourceWasRemovedFromDOM, true);\n };\n\n HTML5Backend.prototype.clearCurrentDragSourceNode = function clearCurrentDragSourceNode() {\n if (this.currentDragSourceNode) {\n this.currentDragSourceNode = null;\n this.currentDragSourceNodeOffset = null;\n this.currentDragSourceNodeOffsetChanged = false;\n window.removeEventListener('mousemove', this.endDragIfSourceWasRemovedFromDOM, true);\n return true;\n }\n\n return false;\n };\n\n HTML5Backend.prototype.checkIfCurrentDragSourceRectChanged = function checkIfCurrentDragSourceRectChanged() {\n var node = this.currentDragSourceNode;\n if (!node) {\n return false;\n }\n\n if (this.currentDragSourceNodeOffsetChanged) {\n return true;\n }\n\n this.currentDragSourceNodeOffsetChanged = !_shallowEqual2['default'](_OffsetUtils.getNodeClientOffset(node), this.currentDragSourceNodeOffset);\n\n return this.currentDragSourceNodeOffsetChanged;\n };\n\n HTML5Backend.prototype.handleTopDragStartCapture = function handleTopDragStartCapture() {\n this.clearCurrentDragSourceNode();\n this.dragStartSourceIds = [];\n };\n\n HTML5Backend.prototype.handleDragStart = function handleDragStart(e, sourceId) {\n this.dragStartSourceIds.unshift(sourceId);\n };\n\n HTML5Backend.prototype.handleTopDragStart = function handleTopDragStart(e) {\n var _this4 = this;\n\n var dragStartSourceIds = this.dragStartSourceIds;\n\n this.dragStartSourceIds = null;\n\n var clientOffset = _OffsetUtils.getEventClientOffset(e);\n\n // Don't publish the source just yet (see why below)\n this.actions.beginDrag(dragStartSourceIds, {\n publishSource: false,\n getSourceClientOffset: this.getSourceClientOffset,\n clientOffset: clientOffset\n });\n\n var dataTransfer = e.dataTransfer;\n\n var nativeType = _NativeDragSources.matchNativeItemType(dataTransfer);\n\n if (this.monitor.isDragging()) {\n if (typeof dataTransfer.setDragImage === 'function') {\n // Use custom drag image if user specifies it.\n // If child drag source refuses drag but parent agrees,\n // use parent's node as drag image. Neither works in IE though.\n var sourceId = this.monitor.getSourceId();\n var sourceNode = this.sourceNodes[sourceId];\n var dragPreview = this.sourcePreviewNodes[sourceId] || sourceNode;\n\n var _getCurrentSourcePreviewNodeOptions = this.getCurrentSourcePreviewNodeOptions();\n\n var anchorX = _getCurrentSourcePreviewNodeOptions.anchorX;\n var anchorY = _getCurrentSourcePreviewNodeOptions.anchorY;\n\n var anchorPoint = { anchorX: anchorX, anchorY: anchorY };\n var dragPreviewOffset = _OffsetUtils.getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint);\n dataTransfer.setDragImage(dragPreview, dragPreviewOffset.x, dragPreviewOffset.y);\n }\n\n try {\n // Firefox won't drag without setting data\n dataTransfer.setData('application/json', {});\n } catch (err) {}\n // IE doesn't support MIME types in setData\n\n // Store drag source node so we can check whether\n // it is removed from DOM and trigger endDrag manually.\n this.setCurrentDragSourceNode(e.target);\n\n // Now we are ready to publish the drag source.. or are we not?\n\n var _getCurrentSourcePreviewNodeOptions2 = this.getCurrentSourcePreviewNodeOptions();\n\n var captureDraggingState = _getCurrentSourcePreviewNodeOptions2.captureDraggingState;\n\n if (!captureDraggingState) {\n // Usually we want to publish it in the next tick so that browser\n // is able to screenshot the current (not yet dragging) state.\n //\n // It also neatly avoids a situation where render() returns null\n // in the same tick for the source element, and browser freaks out.\n setTimeout(function () {\n return _this4.actions.publishDragSource();\n });\n } else {\n // In some cases the user may want to override this behavior, e.g.\n // to work around IE not supporting custom drag previews.\n //\n // When using a custom drag layer, the only way to prevent\n // the default drag preview from drawing in IE is to screenshot\n // the dragging state in which the node itself has zero opacity\n // and height. In this case, though, returning null from render()\n // will abruptly end the dragging, which is not obvious.\n //\n // This is the reason such behavior is strictly opt-in.\n this.actions.publishDragSource();\n }\n } else if (nativeType) {\n // A native item (such as URL) dragged from inside the document\n this.beginDragNativeItem(nativeType);\n } else if (!dataTransfer.types && (!e.target.hasAttribute || !e.target.hasAttribute('draggable'))) {\n // Looks like a Safari bug: dataTransfer.types is null, but there was no draggable.\n // Just let it drag. It's a native type (URL or text) and will be picked up in dragenter handler.\n return;\n } else {\n // If by this time no drag source reacted, tell browser not to drag.\n e.preventDefault();\n }\n };\n\n HTML5Backend.prototype.handleTopDragEndCapture = function handleTopDragEndCapture() {\n if (this.clearCurrentDragSourceNode()) {\n // Firefox can dispatch this event in an infinite loop\n // if dragend handler does something like showing an alert.\n // Only proceed if we have not handled it already.\n this.actions.endDrag();\n }\n };\n\n HTML5Backend.prototype.handleTopDragEnterCapture = function handleTopDragEnterCapture(e) {\n this.dragEnterTargetIds = [];\n\n var isFirstEnter = this.enterLeaveCounter.enter(e.target);\n if (!isFirstEnter || this.monitor.isDragging()) {\n return;\n }\n\n var dataTransfer = e.dataTransfer;\n\n var nativeType = _NativeDragSources.matchNativeItemType(dataTransfer);\n\n if (nativeType) {\n // A native item (such as file or URL) dragged from outside the document\n this.beginDragNativeItem(nativeType);\n }\n };\n\n HTML5Backend.prototype.handleDragEnter = function handleDragEnter(e, targetId) {\n this.dragEnterTargetIds.unshift(targetId);\n };\n\n HTML5Backend.prototype.handleTopDragEnter = function handleTopDragEnter(e) {\n var _this5 = this;\n\n var dragEnterTargetIds = this.dragEnterTargetIds;\n\n this.dragEnterTargetIds = [];\n\n if (!this.monitor.isDragging()) {\n // This is probably a native item type we don't understand.\n return;\n }\n\n if (!_BrowserDetector.isFirefox()) {\n // Don't emit hover in `dragenter` on Firefox due to an edge case.\n // If the target changes position as the result of `dragenter`, Firefox\n // will still happily dispatch `dragover` despite target being no longer\n // there. The easy solution is to only fire `hover` in `dragover` on FF.\n this.actions.hover(dragEnterTargetIds, {\n clientOffset: _OffsetUtils.getEventClientOffset(e)\n });\n }\n\n var canDrop = dragEnterTargetIds.some(function (targetId) {\n return _this5.monitor.canDropOnTarget(targetId);\n });\n\n if (canDrop) {\n // IE requires this to fire dragover events\n e.preventDefault();\n e.dataTransfer.dropEffect = this.getCurrentDropEffect();\n }\n };\n\n HTML5Backend.prototype.handleTopDragOverCapture = function handleTopDragOverCapture() {\n this.dragOverTargetIds = [];\n };\n\n HTML5Backend.prototype.handleDragOver = function handleDragOver(e, targetId) {\n this.dragOverTargetIds.unshift(targetId);\n };\n\n HTML5Backend.prototype.handleTopDragOver = function handleTopDragOver(e) {\n var _this6 = this;\n\n var dragOverTargetIds = this.dragOverTargetIds;\n\n this.dragOverTargetIds = [];\n\n if (!this.monitor.isDragging()) {\n // This is probably a native item type we don't understand.\n // Prevent default \"drop and blow away the whole document\" action.\n e.preventDefault();\n e.dataTransfer.dropEffect = 'none';\n return;\n }\n\n this.actions.hover(dragOverTargetIds, {\n clientOffset: _OffsetUtils.getEventClientOffset(e)\n });\n\n var canDrop = dragOverTargetIds.some(function (targetId) {\n return _this6.monitor.canDropOnTarget(targetId);\n });\n\n if (canDrop) {\n // Show user-specified drop effect.\n e.preventDefault();\n e.dataTransfer.dropEffect = this.getCurrentDropEffect();\n } else if (this.isDraggingNativeItem()) {\n // Don't show a nice cursor but still prevent default\n // \"drop and blow away the whole document\" action.\n e.preventDefault();\n e.dataTransfer.dropEffect = 'none';\n } else if (this.checkIfCurrentDragSourceRectChanged()) {\n // Prevent animating to incorrect position.\n // Drop effect must be other than 'none' to prevent animation.\n e.preventDefault();\n e.dataTransfer.dropEffect = 'move';\n }\n };\n\n HTML5Backend.prototype.handleTopDragLeaveCapture = function handleTopDragLeaveCapture(e) {\n if (this.isDraggingNativeItem()) {\n e.preventDefault();\n }\n\n var isLastLeave = this.enterLeaveCounter.leave(e.target);\n if (!isLastLeave) {\n return;\n }\n\n if (this.isDraggingNativeItem()) {\n this.endDragNativeItem();\n }\n };\n\n HTML5Backend.prototype.handleTopDropCapture = function handleTopDropCapture(e) {\n this.dropTargetIds = [];\n e.preventDefault();\n\n if (this.isDraggingNativeItem()) {\n this.currentNativeSource.mutateItemByReadingDataTransfer(e.dataTransfer);\n }\n\n this.enterLeaveCounter.reset();\n };\n\n HTML5Backend.prototype.handleDrop = function handleDrop(e, targetId) {\n this.dropTargetIds.unshift(targetId);\n };\n\n HTML5Backend.prototype.handleTopDrop = function handleTopDrop(e) {\n var dropTargetIds = this.dropTargetIds;\n\n this.dropTargetIds = [];\n\n this.actions.hover(dropTargetIds, {\n clientOffset: _OffsetUtils.getEventClientOffset(e)\n });\n this.actions.drop();\n\n if (this.isDraggingNativeItem()) {\n this.endDragNativeItem();\n } else {\n this.endDragIfSourceWasRemovedFromDOM();\n }\n };\n\n HTML5Backend.prototype.handleSelectStart = function handleSelectStart(e) {\n var target = e.target;\n\n // Only IE requires us to explicitly say\n // we want drag drop operation to start\n if (typeof target.dragDrop !== 'function') {\n return;\n }\n\n // Inputs and textareas should be selectable\n if (target.tagName === 'INPUT' || target.tagName === 'SELECT' || target.tagName === 'TEXTAREA' || target.isContentEditable) {\n return;\n }\n\n // For other targets, ask IE\n // to enable drag and drop\n e.preventDefault();\n target.dragDrop();\n };\n\n return HTML5Backend;\n})();\n\nexports['default'] = HTML5Backend;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/HTML5Backend.js\n ** module id = 141\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar MonotonicInterpolant = (function () {\n function MonotonicInterpolant(xs, ys) {\n _classCallCheck(this, MonotonicInterpolant);\n\n var length = xs.length;\n\n // Rearrange xs and ys so that xs is sorted\n var indexes = [];\n for (var i = 0; i < length; i++) {\n indexes.push(i);\n }\n indexes.sort(function (a, b) {\n return xs[a] < xs[b] ? -1 : 1;\n });\n\n // Get consecutive differences and slopes\n var dys = [];\n var dxs = [];\n var ms = [];\n var dx = undefined;\n var dy = undefined;\n for (var i = 0; i < length - 1; i++) {\n dx = xs[i + 1] - xs[i];\n dy = ys[i + 1] - ys[i];\n dxs.push(dx);\n dys.push(dy);\n ms.push(dy / dx);\n }\n\n // Get degree-1 coefficients\n var c1s = [ms[0]];\n for (var i = 0; i < dxs.length - 1; i++) {\n var _m = ms[i];\n var mNext = ms[i + 1];\n if (_m * mNext <= 0) {\n c1s.push(0);\n } else {\n dx = dxs[i];\n var dxNext = dxs[i + 1];\n var common = dx + dxNext;\n c1s.push(3 * common / ((common + dxNext) / _m + (common + dx) / mNext));\n }\n }\n c1s.push(ms[ms.length - 1]);\n\n // Get degree-2 and degree-3 coefficients\n var c2s = [];\n var c3s = [];\n var m = undefined;\n for (var i = 0; i < c1s.length - 1; i++) {\n m = ms[i];\n var c1 = c1s[i];\n var invDx = 1 / dxs[i];\n var common = c1 + c1s[i + 1] - m - m;\n c2s.push((m - c1 - common) * invDx);\n c3s.push(common * invDx * invDx);\n }\n\n this.xs = xs;\n this.ys = ys;\n this.c1s = c1s;\n this.c2s = c2s;\n this.c3s = c3s;\n }\n\n MonotonicInterpolant.prototype.interpolate = function interpolate(x) {\n var xs = this.xs;\n var ys = this.ys;\n var c1s = this.c1s;\n var c2s = this.c2s;\n var c3s = this.c3s;\n\n // The rightmost point in the dataset should give an exact result\n var i = xs.length - 1;\n if (x === xs[i]) {\n return ys[i];\n }\n\n // Search for the interval x is in, returning the corresponding y if x is one of the original xs\n var low = 0;\n var high = c3s.length - 1;\n var mid = undefined;\n while (low <= high) {\n mid = Math.floor(0.5 * (low + high));\n var xHere = xs[mid];\n if (xHere < x) {\n low = mid + 1;\n } else if (xHere > x) {\n high = mid - 1;\n } else {\n return ys[mid];\n }\n }\n i = Math.max(0, high);\n\n // Interpolate\n var diff = x - xs[i];\n var diffSq = diff * diff;\n return ys[i] + c1s[i] * diff + c2s[i] * diffSq + c3s[i] * diff * diffSq;\n };\n\n return MonotonicInterpolant;\n})();\n\nexports[\"default\"] = MonotonicInterpolant;\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/MonotonicInterpolant.js\n ** module id = 142\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _nativeTypesConfig;\n\nexports.createNativeDragSource = createNativeDragSource;\nexports.matchNativeItemType = matchNativeItemType;\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _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; }\n\nvar _NativeTypes = require('./NativeTypes');\n\nvar NativeTypes = _interopRequireWildcard(_NativeTypes);\n\nfunction getDataFromDataTransfer(dataTransfer, typesToTry, defaultValue) {\n var result = typesToTry.reduce(function (resultSoFar, typeToTry) {\n return resultSoFar || dataTransfer.getData(typeToTry);\n }, null);\n\n return result != null ? // eslint-disable-line eqeqeq\n result : defaultValue;\n}\n\nvar nativeTypesConfig = (_nativeTypesConfig = {}, _defineProperty(_nativeTypesConfig, NativeTypes.FILE, {\n exposeProperty: 'files',\n matchesTypes: ['Files'],\n getData: function getData(dataTransfer) {\n return Array.prototype.slice.call(dataTransfer.files);\n }\n}), _defineProperty(_nativeTypesConfig, NativeTypes.URL, {\n exposeProperty: 'urls',\n matchesTypes: ['Url', 'text/uri-list'],\n getData: function getData(dataTransfer, matchesTypes) {\n return getDataFromDataTransfer(dataTransfer, matchesTypes, '').split('\\n');\n }\n}), _defineProperty(_nativeTypesConfig, NativeTypes.TEXT, {\n exposeProperty: 'text',\n matchesTypes: ['Text', 'text/plain'],\n getData: function getData(dataTransfer, matchesTypes) {\n return getDataFromDataTransfer(dataTransfer, matchesTypes, '');\n }\n}), _nativeTypesConfig);\n\nfunction createNativeDragSource(type) {\n var _nativeTypesConfig$type = nativeTypesConfig[type];\n var exposeProperty = _nativeTypesConfig$type.exposeProperty;\n var matchesTypes = _nativeTypesConfig$type.matchesTypes;\n var getData = _nativeTypesConfig$type.getData;\n\n return (function () {\n function NativeDragSource() {\n _classCallCheck(this, NativeDragSource);\n\n this.item = Object.defineProperties({}, _defineProperty({}, exposeProperty, {\n get: function get() {\n console.warn( // eslint-disable-line no-console\n 'Browser doesn\\'t allow reading \"' + exposeProperty + '\" until the drop event.');\n return null;\n },\n configurable: true,\n enumerable: true\n }));\n }\n\n NativeDragSource.prototype.mutateItemByReadingDataTransfer = function mutateItemByReadingDataTransfer(dataTransfer) {\n delete this.item[exposeProperty];\n this.item[exposeProperty] = getData(dataTransfer, matchesTypes);\n };\n\n NativeDragSource.prototype.canDrag = function canDrag() {\n return true;\n };\n\n NativeDragSource.prototype.beginDrag = function beginDrag() {\n return this.item;\n };\n\n NativeDragSource.prototype.isDragging = function isDragging(monitor, handle) {\n return handle === monitor.getSourceId();\n };\n\n NativeDragSource.prototype.endDrag = function endDrag() {};\n\n return NativeDragSource;\n })();\n}\n\nfunction matchNativeItemType(dataTransfer) {\n var dataTransferTypes = Array.prototype.slice.call(dataTransfer.types || []);\n\n return Object.keys(nativeTypesConfig).filter(function (nativeItemType) {\n var matchesTypes = nativeTypesConfig[nativeItemType].matchesTypes;\n\n return matchesTypes.some(function (t) {\n return dataTransferTypes.indexOf(t) > -1;\n });\n })[0] || null;\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/NativeDragSources.js\n ** module id = 143\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.getNodeClientOffset = getNodeClientOffset;\nexports.getEventClientOffset = getEventClientOffset;\nexports.getDragPreviewOffset = getDragPreviewOffset;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _BrowserDetector = require('./BrowserDetector');\n\nvar _MonotonicInterpolant = require('./MonotonicInterpolant');\n\nvar _MonotonicInterpolant2 = _interopRequireDefault(_MonotonicInterpolant);\n\nvar ELEMENT_NODE = 1;\n\nfunction getNodeClientOffset(node) {\n var el = node.nodeType === ELEMENT_NODE ? node : node.parentElement;\n\n if (!el) {\n return null;\n }\n\n var _el$getBoundingClientRect = el.getBoundingClientRect();\n\n var top = _el$getBoundingClientRect.top;\n var left = _el$getBoundingClientRect.left;\n\n return { x: left, y: top };\n}\n\nfunction getEventClientOffset(e) {\n return {\n x: e.clientX,\n y: e.clientY\n };\n}\n\nfunction getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint) {\n // The browsers will use the image intrinsic size under different conditions.\n // Firefox only cares if it's an image, but WebKit also wants it to be detached.\n var isImage = dragPreview.nodeName === 'IMG' && (_BrowserDetector.isFirefox() || !document.documentElement.contains(dragPreview));\n var dragPreviewNode = isImage ? sourceNode : dragPreview;\n\n var dragPreviewNodeOffsetFromClient = getNodeClientOffset(dragPreviewNode);\n var offsetFromDragPreview = {\n x: clientOffset.x - dragPreviewNodeOffsetFromClient.x,\n y: clientOffset.y - dragPreviewNodeOffsetFromClient.y\n };\n\n var sourceWidth = sourceNode.offsetWidth;\n var sourceHeight = sourceNode.offsetHeight;\n var anchorX = anchorPoint.anchorX;\n var anchorY = anchorPoint.anchorY;\n\n var dragPreviewWidth = isImage ? dragPreview.width : sourceWidth;\n var dragPreviewHeight = isImage ? dragPreview.height : sourceHeight;\n\n // Work around @2x coordinate discrepancies in browsers\n if (_BrowserDetector.isSafari() && isImage) {\n dragPreviewHeight /= window.devicePixelRatio;\n dragPreviewWidth /= window.devicePixelRatio;\n } else if (_BrowserDetector.isFirefox() && !isImage) {\n dragPreviewHeight *= window.devicePixelRatio;\n dragPreviewWidth *= window.devicePixelRatio;\n }\n\n // Interpolate coordinates depending on anchor point\n // If you know a simpler way to do this, let me know\n var interpolantX = new _MonotonicInterpolant2['default']([0, 0.5, 1], [\n // Dock to the left\n offsetFromDragPreview.x,\n // Align at the center\n offsetFromDragPreview.x / sourceWidth * dragPreviewWidth,\n // Dock to the right\n offsetFromDragPreview.x + dragPreviewWidth - sourceWidth]);\n var interpolantY = new _MonotonicInterpolant2['default']([0, 0.5, 1], [\n // Dock to the top\n offsetFromDragPreview.y,\n // Align at the center\n offsetFromDragPreview.y / sourceHeight * dragPreviewHeight,\n // Dock to the bottom\n offsetFromDragPreview.y + dragPreviewHeight - sourceHeight]);\n var x = interpolantX.interpolate(anchorX);\n var y = interpolantY.interpolate(anchorY);\n\n // Work around Safari 8 positioning bug\n if (_BrowserDetector.isSafari() && isImage) {\n // We'll have to wait for @3x to see if this is entirely correct\n y += (window.devicePixelRatio - 1) * dragPreviewHeight;\n }\n\n return { x: x, y: y };\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/OffsetUtils.js\n ** module id = 144\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = getEmptyImage;\nvar emptyImage = undefined;\n\nfunction getEmptyImage() {\n if (!emptyImage) {\n emptyImage = new Image();\n emptyImage.src = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';\n }\n\n return emptyImage;\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/getEmptyImage.js\n ** module id = 145\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createHTML5Backend;\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _HTML5Backend = require('./HTML5Backend');\n\nvar _HTML5Backend2 = _interopRequireDefault(_HTML5Backend);\n\nvar _getEmptyImage = require('./getEmptyImage');\n\nvar _getEmptyImage2 = _interopRequireDefault(_getEmptyImage);\n\nvar _NativeTypes = require('./NativeTypes');\n\nvar NativeTypes = _interopRequireWildcard(_NativeTypes);\n\nexports.NativeTypes = NativeTypes;\nexports.getEmptyImage = _getEmptyImage2['default'];\n\nfunction createHTML5Backend(manager) {\n return new _HTML5Backend2['default'](manager);\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/index.js\n ** module id = 146\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = shallowEqual;\n\nfunction shallowEqual(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n var hasOwn = Object.prototype.hasOwnProperty;\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n\n var valA = objA[keysA[i]];\n var valB = objB[keysA[i]];\n\n if (valA !== valB) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/shallowEqual.js\n ** module id = 147\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @returns {Object} Returns the new hash object.\n */\nfunction Hash() {}\n\n// Avoid inheriting from `Object.prototype` when possible.\nHash.prototype = nativeCreate ? nativeCreate(null) : objectProto;\n\nmodule.exports = Hash;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_Hash.js\n ** module id = 148\n ** module chunks = 0\n **/","var root = require('./_root');\n\n/** Built-in value references. */\nvar Reflect = root.Reflect;\n\nmodule.exports = Reflect;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_Reflect.js\n ** module id = 149\n ** module chunks = 0\n **/","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_Set.js\n ** module id = 150\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_arrayMap.js\n ** module id = 151\n ** module chunks = 0\n **/","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_arrayPush.js\n ** module id = 152\n ** module chunks = 0\n **/","var eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used by `_.defaults` to customize its `_.assignIn` use.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to assign.\n * @param {Object} object The parent object of `objValue`.\n * @returns {*} Returns the value to assign.\n */\nfunction assignInDefaults(objValue, srcValue, key, object) {\n if (objValue === undefined ||\n (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n return srcValue;\n }\n return objValue;\n}\n\nmodule.exports = assignInDefaults;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_assignInDefaults.js\n ** module id = 153\n ** module chunks = 0\n **/","var eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\nmodule.exports = assignValue;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_assignValue.js\n ** module id = 154\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the associative array.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction assocDelete(array, key) {\n var index = assocIndexOf(array, key);\n if (index < 0) {\n return false;\n }\n var lastIndex = array.length - 1;\n if (index == lastIndex) {\n array.pop();\n } else {\n splice.call(array, index, 1);\n }\n return true;\n}\n\nmodule.exports = assocDelete;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_assocDelete.js\n ** module id = 155\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the associative array value for `key`.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction assocGet(array, key) {\n var index = assocIndexOf(array, key);\n return index < 0 ? undefined : array[index][1];\n}\n\nmodule.exports = assocGet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_assocGet.js\n ** module id = 156\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if an associative array value for `key` exists.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction assocHas(array, key) {\n return assocIndexOf(array, key) > -1;\n}\n\nmodule.exports = assocHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_assocHas.js\n ** module id = 157\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the associative array `key` to `value`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n */\nfunction assocSet(array, key, value) {\n var index = assocIndexOf(array, key);\n if (index < 0) {\n array.push([key, value]);\n } else {\n array[index][1] = value;\n }\n}\n\nmodule.exports = assocSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_assocSet.js\n ** module id = 158\n ** module chunks = 0\n **/","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n arrayMap = require('./_arrayMap'),\n baseUnary = require('./_baseUnary'),\n cacheHas = require('./_cacheHas');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\nfunction baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseDifference;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_baseDifference.js\n ** module id = 159\n ** module chunks = 0\n **/","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_baseFlatten.js\n ** module id = 160\n ** module chunks = 0\n **/","var indexOfNaN = require('./_indexOfNaN');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n if (value !== value) {\n return indexOfNaN(array, fromIndex);\n }\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseIndexOf;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_baseIndexOf.js\n ** module id = 161\n ** module chunks = 0\n **/","var Reflect = require('./_Reflect'),\n iteratorToArray = require('./_iteratorToArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar enumerate = Reflect ? Reflect.enumerate : undefined,\n propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * The base implementation of `_.keysIn` which doesn't skip the constructor\n * property of prototypes or treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n object = object == null ? object : Object(object);\n\n var result = [];\n for (var key in object) {\n result.push(key);\n }\n return result;\n}\n\n// Fallback for IE < 9 with es6-shim.\nif (enumerate && !propertyIsEnumerable.call({ 'valueOf': 1 }, 'valueOf')) {\n baseKeysIn = function(object) {\n return iteratorToArray(enumerate(object));\n };\n}\n\nmodule.exports = baseKeysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_baseKeysIn.js\n ** module id = 162\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_baseProperty.js\n ** module id = 163\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_baseTimes.js\n ** module id = 164\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.unary` without support for storing wrapper metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_baseUnary.js\n ** module id = 165\n ** module chunks = 0\n **/","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_baseUniq.js\n ** module id = 166\n ** module chunks = 0\n **/","var isKeyable = require('./_isKeyable');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the set cache.\n *\n * @private\n * @name push\n * @memberOf SetCache\n * @param {*} value The value to cache.\n */\nfunction cachePush(value) {\n var map = this.__data__;\n if (isKeyable(value)) {\n var data = map.__data__,\n hash = typeof value == 'string' ? data.string : data.hash;\n\n hash[value] = HASH_UNDEFINED;\n }\n else {\n map.set(value, HASH_UNDEFINED);\n }\n}\n\nmodule.exports = cachePush;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_cachePush.js\n ** module id = 167\n ** module chunks = 0\n **/","/**\n * Checks if `value` is a global object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {null|Object} Returns `value` if it's a global object, else `null`.\n */\nfunction checkGlobal(value) {\n return (value && value.Object === Object) ? value : null;\n}\n\nmodule.exports = checkGlobal;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_checkGlobal.js\n ** module id = 168\n ** module chunks = 0\n **/","var assignValue = require('./_assignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : source[key];\n\n assignValue(object, key, newValue);\n }\n return object;\n}\n\nmodule.exports = copyObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_copyObject.js\n ** module id = 169\n ** module chunks = 0\n **/","var isIterateeCall = require('./_isIterateeCall'),\n rest = require('./rest');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return rest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = typeof customizer == 'function'\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_createAssigner.js\n ** module id = 170\n ** module chunks = 0\n **/","var Set = require('./_Set'),\n noop = require('./noop');\n\n/**\n * Creates a set of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && new Set([1, 2]).size === 2) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_createSet.js\n ** module id = 171\n ** module chunks = 0\n **/","var baseProperty = require('./_baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a\n * [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792) that affects\n * Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_getLength.js\n ** module id = 172\n ** module chunks = 0\n **/","var hashHas = require('./_hashHas');\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(hash, key) {\n return hashHas(hash, key) && delete hash[key];\n}\n\nmodule.exports = hashDelete;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_hashDelete.js\n ** module id = 173\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @param {Object} hash The hash to query.\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(hash, key) {\n if (nativeCreate) {\n var result = hash[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(hash, key) ? hash[key] : undefined;\n}\n\nmodule.exports = hashGet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_hashGet.js\n ** module id = 174\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n */\nfunction hashSet(hash, key, value) {\n hash[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n}\n\nmodule.exports = hashSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_hashSet.js\n ** module id = 175\n ** module chunks = 0\n **/","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isLength = require('./isLength'),\n isString = require('./isString');\n\n/**\n * Creates an array of index keys for `object` values of arrays,\n * `arguments` objects, and strings, otherwise `null` is returned.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array|null} Returns index keys, else `null`.\n */\nfunction indexKeys(object) {\n var length = object ? object.length : undefined;\n if (isLength(length) &&\n (isArray(object) || isString(object) || isArguments(object))) {\n return baseTimes(length, String);\n }\n return null;\n}\n\nmodule.exports = indexKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_indexKeys.js\n ** module id = 176\n ** module chunks = 0\n **/","/**\n * Gets the index at which the first occurrence of `NaN` is found in `array`.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched `NaN`, else `-1`.\n */\nfunction indexOfNaN(array, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 0 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n var other = array[index];\n if (other !== other) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = indexOfNaN;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_indexOfNaN.js\n ** module id = 177\n ** module chunks = 0\n **/","var isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArrayLikeObject(value) && (isArray(value) || isArguments(value));\n}\n\nmodule.exports = isFlattenable;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_isFlattenable.js\n ** module id = 178\n ** module chunks = 0\n **/","/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\nmodule.exports = isHostObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_isHostObject.js\n ** module id = 179\n ** module chunks = 0\n **/","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_isIterateeCall.js\n ** module id = 180\n ** module chunks = 0\n **/","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_isPrototype.js\n ** module id = 181\n ** module chunks = 0\n **/","/**\n * Converts `iterator` to an array.\n *\n * @private\n * @param {Object} iterator The iterator to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction iteratorToArray(iterator) {\n var data,\n result = [];\n\n while (!(data = iterator.next()).done) {\n result.push(data.value);\n }\n return result;\n}\n\nmodule.exports = iteratorToArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_iteratorToArray.js\n ** module id = 182\n ** module chunks = 0\n **/","var Hash = require('./_Hash'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': Map ? new Map : [],\n 'string': new Hash\n };\n}\n\nmodule.exports = mapClear;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_mapClear.js\n ** module id = 183\n ** module chunks = 0\n **/","var Map = require('./_Map'),\n assocDelete = require('./_assocDelete'),\n hashDelete = require('./_hashDelete'),\n isKeyable = require('./_isKeyable');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapDelete(key) {\n var data = this.__data__;\n if (isKeyable(key)) {\n return hashDelete(typeof key == 'string' ? data.string : data.hash, key);\n }\n return Map ? data.map['delete'](key) : assocDelete(data.map, key);\n}\n\nmodule.exports = mapDelete;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_mapDelete.js\n ** module id = 184\n ** module chunks = 0\n **/","var Map = require('./_Map'),\n assocGet = require('./_assocGet'),\n hashGet = require('./_hashGet'),\n isKeyable = require('./_isKeyable');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapGet(key) {\n var data = this.__data__;\n if (isKeyable(key)) {\n return hashGet(typeof key == 'string' ? data.string : data.hash, key);\n }\n return Map ? data.map.get(key) : assocGet(data.map, key);\n}\n\nmodule.exports = mapGet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_mapGet.js\n ** module id = 185\n ** module chunks = 0\n **/","var Map = require('./_Map'),\n assocHas = require('./_assocHas'),\n hashHas = require('./_hashHas'),\n isKeyable = require('./_isKeyable');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapHas(key) {\n var data = this.__data__;\n if (isKeyable(key)) {\n return hashHas(typeof key == 'string' ? data.string : data.hash, key);\n }\n return Map ? data.map.has(key) : assocHas(data.map, key);\n}\n\nmodule.exports = mapHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_mapHas.js\n ** module id = 186\n ** module chunks = 0\n **/","var Map = require('./_Map'),\n assocSet = require('./_assocSet'),\n hashSet = require('./_hashSet'),\n isKeyable = require('./_isKeyable');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapSet(key, value) {\n var data = this.__data__;\n if (isKeyable(key)) {\n hashSet(typeof key == 'string' ? data.string : data.hash, key, value);\n } else if (Map) {\n data.map.set(key, value);\n } else {\n assocSet(data.map, key, value);\n }\n return this;\n}\n\nmodule.exports = mapSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_mapSet.js\n ** module id = 187\n ** module chunks = 0\n **/","/**\n * Converts `set` to an array.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_setToArray.js\n ** module id = 188\n ** module chunks = 0\n **/","/** Used to resolve the decompiled source of functions. */\nvar funcToString = Function.prototype.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_toSource.js\n ** module id = 189\n ** module chunks = 0\n **/","var copyObject = require('./_copyObject'),\n createAssigner = require('./_createAssigner'),\n keysIn = require('./keysIn');\n\n/**\n * This method is like `_.assignIn` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extendWith\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignInWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\nvar assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keysIn(source), object, customizer);\n});\n\nmodule.exports = assignInWith;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/assignInWith.js\n ** module id = 190\n ** module chunks = 0\n **/","var apply = require('./_apply'),\n assignInDefaults = require('./_assignInDefaults'),\n assignInWith = require('./assignInWith'),\n rest = require('./rest');\n\n/**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * _.defaults({ 'user': 'barney' }, { 'age': 36 }, { 'user': 'fred' });\n * // => { 'user': 'barney', 'age': 36 }\n */\nvar defaults = rest(function(args) {\n args.push(undefined, assignInDefaults);\n return apply(assignInWith, undefined, args);\n});\n\nmodule.exports = defaults;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/defaults.js\n ** module id = 191\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isHostObject = require('./_isHostObject'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/6.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (!isObject(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isNative.js\n ** module id = 192\n ** module chunks = 0\n **/","var isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && objectToString.call(value) == stringTag);\n}\n\nmodule.exports = isString;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isString.js\n ** module id = 193\n ** module chunks = 0\n **/","var isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isSymbol.js\n ** module id = 194\n ** module chunks = 0\n **/","var baseKeysIn = require('./_baseKeysIn'),\n indexKeys = require('./_indexKeys'),\n isIndex = require('./_isIndex'),\n isPrototype = require('./_isPrototype');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n var index = -1,\n isProto = isPrototype(object),\n props = baseKeysIn(object),\n propsLength = props.length,\n indexes = indexKeys(object),\n skipIndexes = !!indexes,\n result = indexes || [],\n length = result.length;\n\n while (++index < propsLength) {\n var key = props[index];\n if (!(skipIndexes && (key == 'length' || isIndex(key, length))) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/keysIn.js\n ** module id = 195\n ** module chunks = 0\n **/","var MapCache = require('./_MapCache');\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoizing function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/memoize.js\n ** module id = 196\n ** module chunks = 0\n **/","/**\n * A no-operation function that returns `undefined` regardless of the\n * arguments it receives.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.noop(object) === undefined;\n * // => true\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/noop.js\n ** module id = 197\n ** module chunks = 0\n **/","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This function is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3');\n * // => 3\n */\nfunction toInteger(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n var remainder = value % 1;\n return value === value ? (remainder ? value - remainder : value) : 0;\n}\n\nmodule.exports = toInteger;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/toInteger.js\n ** module id = 198\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3);\n * // => 3\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3');\n * // => 3\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = isFunction(value.valueOf) ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/toNumber.js\n ** module id = 199\n ** module chunks = 0\n **/","var baseFlatten = require('./_baseFlatten'),\n baseUniq = require('./_baseUniq'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n rest = require('./rest');\n\n/**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2, 1], [4, 2], [1, 2]);\n * // => [2, 1, 4]\n */\nvar union = rest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n});\n\nmodule.exports = union;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/union.js\n ** module id = 200\n ** module chunks = 0\n **/","var baseDifference = require('./_baseDifference'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n rest = require('./rest');\n\n/**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to filter.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.without([1, 2, 1, 3], 1, 2);\n * // => [3]\n */\nvar without = rest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n});\n\nmodule.exports = without;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/without.js\n ** module id = 201\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _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; };\n\nvar _slice = Array.prototype.slice;\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nexports['default'] = DragDropContext;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _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; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _dndCore = require('dnd-core');\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _utilsCheckDecoratorArguments = require('./utils/checkDecoratorArguments');\n\nvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\nfunction DragDropContext(backendOrModule) {\n _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DragDropContext', 'backend'].concat(_slice.call(arguments)));\n\n // Auto-detect ES6 default export for people still using ES5\n var backend = undefined;\n if (typeof backendOrModule === 'object' && typeof backendOrModule['default'] === 'function') {\n backend = backendOrModule['default'];\n } else {\n backend = backendOrModule;\n }\n\n _invariant2['default'](typeof backend === 'function', 'Expected the backend to be a function or an ES6 module exporting a default function. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-drop-context.html');\n\n var childContext = {\n dragDropManager: new _dndCore.DragDropManager(backend)\n };\n\n return function decorateContext(DecoratedComponent) {\n var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\n return (function (_Component) {\n _inherits(DragDropContextContainer, _Component);\n\n function DragDropContextContainer() {\n _classCallCheck(this, DragDropContextContainer);\n\n _Component.apply(this, arguments);\n }\n\n DragDropContextContainer.prototype.getDecoratedComponentInstance = function getDecoratedComponentInstance() {\n return this.refs.child;\n };\n\n DragDropContextContainer.prototype.getManager = function getManager() {\n return childContext.dragDropManager;\n };\n\n DragDropContextContainer.prototype.getChildContext = function getChildContext() {\n return childContext;\n };\n\n DragDropContextContainer.prototype.render = function render() {\n return _react2['default'].createElement(DecoratedComponent, _extends({}, this.props, {\n ref: 'child' }));\n };\n\n _createClass(DragDropContextContainer, null, [{\n key: 'DecoratedComponent',\n value: DecoratedComponent,\n enumerable: true\n }, {\n key: 'displayName',\n value: 'DragDropContext(' + displayName + ')',\n enumerable: true\n }, {\n key: 'childContextTypes',\n value: {\n dragDropManager: _react.PropTypes.object.isRequired\n },\n enumerable: true\n }]);\n\n return DragDropContextContainer;\n })(_react.Component);\n };\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/DragDropContext.js\n ** module id = 202\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _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; };\n\nvar _slice = Array.prototype.slice;\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nexports['default'] = DragLayer;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _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; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _utilsShallowEqual = require('./utils/shallowEqual');\n\nvar _utilsShallowEqual2 = _interopRequireDefault(_utilsShallowEqual);\n\nvar _utilsShallowEqualScalar = require('./utils/shallowEqualScalar');\n\nvar _utilsShallowEqualScalar2 = _interopRequireDefault(_utilsShallowEqualScalar);\n\nvar _lodashIsPlainObject = require('lodash/isPlainObject');\n\nvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _utilsCheckDecoratorArguments = require('./utils/checkDecoratorArguments');\n\nvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\nfunction DragLayer(collect) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DragLayer', 'collect[, options]'].concat(_slice.call(arguments)));\n _invariant2['default'](typeof collect === 'function', 'Expected \"collect\" provided as the first argument to DragLayer ' + 'to be a function that collects props to inject into the component. ', 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-layer.html', collect);\n _invariant2['default'](_lodashIsPlainObject2['default'](options), 'Expected \"options\" provided as the second argument to DragLayer to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-layer.html', options);\n\n return function decorateLayer(DecoratedComponent) {\n var _options$arePropsEqual = options.arePropsEqual;\n var arePropsEqual = _options$arePropsEqual === undefined ? _utilsShallowEqualScalar2['default'] : _options$arePropsEqual;\n\n var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\n return (function (_Component) {\n _inherits(DragLayerContainer, _Component);\n\n DragLayerContainer.prototype.getDecoratedComponentInstance = function getDecoratedComponentInstance() {\n return this.refs.child;\n };\n\n DragLayerContainer.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n return !arePropsEqual(nextProps, this.props) || !_utilsShallowEqual2['default'](nextState, this.state);\n };\n\n _createClass(DragLayerContainer, null, [{\n key: 'DecoratedComponent',\n value: DecoratedComponent,\n enumerable: true\n }, {\n key: 'displayName',\n value: 'DragLayer(' + displayName + ')',\n enumerable: true\n }, {\n key: 'contextTypes',\n value: {\n dragDropManager: _react.PropTypes.object.isRequired\n },\n enumerable: true\n }]);\n\n function DragLayerContainer(props, context) {\n _classCallCheck(this, DragLayerContainer);\n\n _Component.call(this, props);\n this.handleChange = this.handleChange.bind(this);\n\n this.manager = context.dragDropManager;\n _invariant2['default'](typeof this.manager === 'object', 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to wrap the top-level component of your app with DragDropContext. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName);\n\n this.state = this.getCurrentState();\n }\n\n DragLayerContainer.prototype.componentDidMount = function componentDidMount() {\n this.isCurrentlyMounted = true;\n\n var monitor = this.manager.getMonitor();\n this.unsubscribeFromOffsetChange = monitor.subscribeToOffsetChange(this.handleChange);\n this.unsubscribeFromStateChange = monitor.subscribeToStateChange(this.handleChange);\n\n this.handleChange();\n };\n\n DragLayerContainer.prototype.componentWillUnmount = function componentWillUnmount() {\n this.isCurrentlyMounted = false;\n\n this.unsubscribeFromOffsetChange();\n this.unsubscribeFromStateChange();\n };\n\n DragLayerContainer.prototype.handleChange = function handleChange() {\n if (!this.isCurrentlyMounted) {\n return;\n }\n\n var nextState = this.getCurrentState();\n if (!_utilsShallowEqual2['default'](nextState, this.state)) {\n this.setState(nextState);\n }\n };\n\n DragLayerContainer.prototype.getCurrentState = function getCurrentState() {\n var monitor = this.manager.getMonitor();\n return collect(monitor);\n };\n\n DragLayerContainer.prototype.render = function render() {\n return _react2['default'].createElement(DecoratedComponent, _extends({}, this.props, this.state, {\n ref: 'child' }));\n };\n\n return DragLayerContainer;\n })(_react.Component);\n };\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/DragLayer.js\n ** module id = 203\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nvar _slice = Array.prototype.slice;\nexports['default'] = DragSource;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _lodashIsPlainObject = require('lodash/isPlainObject');\n\nvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\nvar _utilsCheckDecoratorArguments = require('./utils/checkDecoratorArguments');\n\nvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\nvar _decorateHandler = require('./decorateHandler');\n\nvar _decorateHandler2 = _interopRequireDefault(_decorateHandler);\n\nvar _registerSource = require('./registerSource');\n\nvar _registerSource2 = _interopRequireDefault(_registerSource);\n\nvar _createSourceFactory = require('./createSourceFactory');\n\nvar _createSourceFactory2 = _interopRequireDefault(_createSourceFactory);\n\nvar _createSourceMonitor = require('./createSourceMonitor');\n\nvar _createSourceMonitor2 = _interopRequireDefault(_createSourceMonitor);\n\nvar _createSourceConnector = require('./createSourceConnector');\n\nvar _createSourceConnector2 = _interopRequireDefault(_createSourceConnector);\n\nvar _utilsIsValidType = require('./utils/isValidType');\n\nvar _utilsIsValidType2 = _interopRequireDefault(_utilsIsValidType);\n\nfunction DragSource(type, spec, collect) {\n var options = arguments.length <= 3 || arguments[3] === undefined ? {} : arguments[3];\n\n _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DragSource', 'type, spec, collect[, options]'].concat(_slice.call(arguments)));\n var getType = type;\n if (typeof type !== 'function') {\n _invariant2['default'](_utilsIsValidType2['default'](type), 'Expected \"type\" provided as the first argument to DragSource to be ' + 'a string, or a function that returns a string given the current props. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', type);\n getType = function () {\n return type;\n };\n }\n _invariant2['default'](_lodashIsPlainObject2['default'](spec), 'Expected \"spec\" provided as the second argument to DragSource to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', spec);\n var createSource = _createSourceFactory2['default'](spec);\n _invariant2['default'](typeof collect === 'function', 'Expected \"collect\" provided as the third argument to DragSource to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', collect);\n _invariant2['default'](_lodashIsPlainObject2['default'](options), 'Expected \"options\" provided as the fourth argument to DragSource to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', collect);\n\n return function decorateSource(DecoratedComponent) {\n return _decorateHandler2['default']({\n connectBackend: function connectBackend(backend, sourceId) {\n return backend.connectDragSource(sourceId);\n },\n containerDisplayName: 'DragSource',\n createHandler: createSource,\n registerHandler: _registerSource2['default'],\n createMonitor: _createSourceMonitor2['default'],\n createConnector: _createSourceConnector2['default'],\n DecoratedComponent: DecoratedComponent,\n getType: getType,\n collect: collect,\n options: options\n });\n };\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/DragSource.js\n ** module id = 204\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nvar _slice = Array.prototype.slice;\nexports['default'] = DropTarget;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _lodashIsPlainObject = require('lodash/isPlainObject');\n\nvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\nvar _utilsCheckDecoratorArguments = require('./utils/checkDecoratorArguments');\n\nvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\nvar _decorateHandler = require('./decorateHandler');\n\nvar _decorateHandler2 = _interopRequireDefault(_decorateHandler);\n\nvar _registerTarget = require('./registerTarget');\n\nvar _registerTarget2 = _interopRequireDefault(_registerTarget);\n\nvar _createTargetFactory = require('./createTargetFactory');\n\nvar _createTargetFactory2 = _interopRequireDefault(_createTargetFactory);\n\nvar _createTargetMonitor = require('./createTargetMonitor');\n\nvar _createTargetMonitor2 = _interopRequireDefault(_createTargetMonitor);\n\nvar _createTargetConnector = require('./createTargetConnector');\n\nvar _createTargetConnector2 = _interopRequireDefault(_createTargetConnector);\n\nvar _utilsIsValidType = require('./utils/isValidType');\n\nvar _utilsIsValidType2 = _interopRequireDefault(_utilsIsValidType);\n\nfunction DropTarget(type, spec, collect) {\n var options = arguments.length <= 3 || arguments[3] === undefined ? {} : arguments[3];\n\n _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DropTarget', 'type, spec, collect[, options]'].concat(_slice.call(arguments)));\n var getType = type;\n if (typeof type !== 'function') {\n _invariant2['default'](_utilsIsValidType2['default'](type, true), 'Expected \"type\" provided as the first argument to DropTarget to be ' + 'a string, an array of strings, or a function that returns either given ' + 'the current props. Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', type);\n getType = function () {\n return type;\n };\n }\n _invariant2['default'](_lodashIsPlainObject2['default'](spec), 'Expected \"spec\" provided as the second argument to DropTarget to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', spec);\n var createTarget = _createTargetFactory2['default'](spec);\n _invariant2['default'](typeof collect === 'function', 'Expected \"collect\" provided as the third argument to DropTarget to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', collect);\n _invariant2['default'](_lodashIsPlainObject2['default'](options), 'Expected \"options\" provided as the fourth argument to DropTarget to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', collect);\n\n return function decorateTarget(DecoratedComponent) {\n return _decorateHandler2['default']({\n connectBackend: function connectBackend(backend, targetId) {\n return backend.connectDropTarget(targetId);\n },\n containerDisplayName: 'DropTarget',\n createHandler: createTarget,\n registerHandler: _registerTarget2['default'],\n createMonitor: _createTargetMonitor2['default'],\n createConnector: _createTargetConnector2['default'],\n DecoratedComponent: DecoratedComponent,\n getType: getType,\n collect: collect,\n options: options\n });\n };\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/DropTarget.js\n ** module id = 205\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createSourceConnector;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _wrapConnectorHooks = require('./wrapConnectorHooks');\n\nvar _wrapConnectorHooks2 = _interopRequireDefault(_wrapConnectorHooks);\n\nvar _areOptionsEqual = require('./areOptionsEqual');\n\nvar _areOptionsEqual2 = _interopRequireDefault(_areOptionsEqual);\n\nfunction createSourceConnector(backend) {\n var currentHandlerId = undefined;\n\n var currentDragSourceNode = undefined;\n var currentDragSourceOptions = undefined;\n var disconnectCurrentDragSource = undefined;\n\n var currentDragPreviewNode = undefined;\n var currentDragPreviewOptions = undefined;\n var disconnectCurrentDragPreview = undefined;\n\n function reconnectDragSource() {\n if (disconnectCurrentDragSource) {\n disconnectCurrentDragSource();\n disconnectCurrentDragSource = null;\n }\n\n if (currentHandlerId && currentDragSourceNode) {\n disconnectCurrentDragSource = backend.connectDragSource(currentHandlerId, currentDragSourceNode, currentDragSourceOptions);\n }\n }\n\n function reconnectDragPreview() {\n if (disconnectCurrentDragPreview) {\n disconnectCurrentDragPreview();\n disconnectCurrentDragPreview = null;\n }\n\n if (currentHandlerId && currentDragPreviewNode) {\n disconnectCurrentDragPreview = backend.connectDragPreview(currentHandlerId, currentDragPreviewNode, currentDragPreviewOptions);\n }\n }\n\n function receiveHandlerId(handlerId) {\n if (handlerId === currentHandlerId) {\n return;\n }\n\n currentHandlerId = handlerId;\n reconnectDragSource();\n reconnectDragPreview();\n }\n\n var hooks = _wrapConnectorHooks2['default']({\n dragSource: function connectDragSource(node, options) {\n if (node === currentDragSourceNode && _areOptionsEqual2['default'](options, currentDragSourceOptions)) {\n return;\n }\n\n currentDragSourceNode = node;\n currentDragSourceOptions = options;\n\n reconnectDragSource();\n },\n\n dragPreview: function connectDragPreview(node, options) {\n if (node === currentDragPreviewNode && _areOptionsEqual2['default'](options, currentDragPreviewOptions)) {\n return;\n }\n\n currentDragPreviewNode = node;\n currentDragPreviewOptions = options;\n\n reconnectDragPreview();\n }\n });\n\n return {\n receiveHandlerId: receiveHandlerId,\n hooks: hooks\n };\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/createSourceConnector.js\n ** module id = 206\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createSourceFactory;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _lodashIsPlainObject = require('lodash/isPlainObject');\n\nvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\nvar ALLOWED_SPEC_METHODS = ['canDrag', 'beginDrag', 'canDrag', 'isDragging', 'endDrag'];\nvar REQUIRED_SPEC_METHODS = ['beginDrag'];\n\nfunction createSourceFactory(spec) {\n Object.keys(spec).forEach(function (key) {\n _invariant2['default'](ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drag source specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected \"%s\" key. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', ALLOWED_SPEC_METHODS.join(', '), key);\n _invariant2['default'](typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', key, key, spec[key]);\n });\n REQUIRED_SPEC_METHODS.forEach(function (key) {\n _invariant2['default'](typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', key, key, spec[key]);\n });\n\n var Source = (function () {\n function Source(monitor) {\n _classCallCheck(this, Source);\n\n this.monitor = monitor;\n this.props = null;\n this.component = null;\n }\n\n Source.prototype.receiveProps = function receiveProps(props) {\n this.props = props;\n };\n\n Source.prototype.receiveComponent = function receiveComponent(component) {\n this.component = component;\n };\n\n Source.prototype.canDrag = function canDrag() {\n if (!spec.canDrag) {\n return true;\n }\n\n return spec.canDrag(this.props, this.monitor);\n };\n\n Source.prototype.isDragging = function isDragging(globalMonitor, sourceId) {\n if (!spec.isDragging) {\n return sourceId === globalMonitor.getSourceId();\n }\n\n return spec.isDragging(this.props, this.monitor);\n };\n\n Source.prototype.beginDrag = function beginDrag() {\n var item = spec.beginDrag(this.props, this.monitor, this.component);\n if (process.env.NODE_ENV !== 'production') {\n _invariant2['default'](_lodashIsPlainObject2['default'](item), 'beginDrag() must return a plain object that represents the dragged item. ' + 'Instead received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', item);\n }\n return item;\n };\n\n Source.prototype.endDrag = function endDrag() {\n if (!spec.endDrag) {\n return;\n }\n\n spec.endDrag(this.props, this.monitor, this.component);\n };\n\n return Source;\n })();\n\n return function createSource(monitor) {\n return new Source(monitor);\n };\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/createSourceFactory.js\n ** module id = 207\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createSourceMonitor;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar isCallingCanDrag = false;\nvar isCallingIsDragging = false;\n\nvar SourceMonitor = (function () {\n function SourceMonitor(manager) {\n _classCallCheck(this, SourceMonitor);\n\n this.internalMonitor = manager.getMonitor();\n }\n\n SourceMonitor.prototype.receiveHandlerId = function receiveHandlerId(sourceId) {\n this.sourceId = sourceId;\n };\n\n SourceMonitor.prototype.canDrag = function canDrag() {\n _invariant2['default'](!isCallingCanDrag, 'You may not call monitor.canDrag() inside your canDrag() implementation. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source-monitor.html');\n\n try {\n isCallingCanDrag = true;\n return this.internalMonitor.canDragSource(this.sourceId);\n } finally {\n isCallingCanDrag = false;\n }\n };\n\n SourceMonitor.prototype.isDragging = function isDragging() {\n _invariant2['default'](!isCallingIsDragging, 'You may not call monitor.isDragging() inside your isDragging() implementation. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source-monitor.html');\n\n try {\n isCallingIsDragging = true;\n return this.internalMonitor.isDraggingSource(this.sourceId);\n } finally {\n isCallingIsDragging = false;\n }\n };\n\n SourceMonitor.prototype.getItemType = function getItemType() {\n return this.internalMonitor.getItemType();\n };\n\n SourceMonitor.prototype.getItem = function getItem() {\n return this.internalMonitor.getItem();\n };\n\n SourceMonitor.prototype.getDropResult = function getDropResult() {\n return this.internalMonitor.getDropResult();\n };\n\n SourceMonitor.prototype.didDrop = function didDrop() {\n return this.internalMonitor.didDrop();\n };\n\n SourceMonitor.prototype.getInitialClientOffset = function getInitialClientOffset() {\n return this.internalMonitor.getInitialClientOffset();\n };\n\n SourceMonitor.prototype.getInitialSourceClientOffset = function getInitialSourceClientOffset() {\n return this.internalMonitor.getInitialSourceClientOffset();\n };\n\n SourceMonitor.prototype.getSourceClientOffset = function getSourceClientOffset() {\n return this.internalMonitor.getSourceClientOffset();\n };\n\n SourceMonitor.prototype.getClientOffset = function getClientOffset() {\n return this.internalMonitor.getClientOffset();\n };\n\n SourceMonitor.prototype.getDifferenceFromInitialOffset = function getDifferenceFromInitialOffset() {\n return this.internalMonitor.getDifferenceFromInitialOffset();\n };\n\n return SourceMonitor;\n})();\n\nfunction createSourceMonitor(manager) {\n return new SourceMonitor(manager);\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/createSourceMonitor.js\n ** module id = 208\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createTargetConnector;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _wrapConnectorHooks = require('./wrapConnectorHooks');\n\nvar _wrapConnectorHooks2 = _interopRequireDefault(_wrapConnectorHooks);\n\nvar _areOptionsEqual = require('./areOptionsEqual');\n\nvar _areOptionsEqual2 = _interopRequireDefault(_areOptionsEqual);\n\nfunction createTargetConnector(backend) {\n var currentHandlerId = undefined;\n\n var currentDropTargetNode = undefined;\n var currentDropTargetOptions = undefined;\n var disconnectCurrentDropTarget = undefined;\n\n function reconnectDropTarget() {\n if (disconnectCurrentDropTarget) {\n disconnectCurrentDropTarget();\n disconnectCurrentDropTarget = null;\n }\n\n if (currentHandlerId && currentDropTargetNode) {\n disconnectCurrentDropTarget = backend.connectDropTarget(currentHandlerId, currentDropTargetNode, currentDropTargetOptions);\n }\n }\n\n function receiveHandlerId(handlerId) {\n if (handlerId === currentHandlerId) {\n return;\n }\n\n currentHandlerId = handlerId;\n reconnectDropTarget();\n }\n\n var hooks = _wrapConnectorHooks2['default']({\n dropTarget: function connectDropTarget(node, options) {\n if (node === currentDropTargetNode && _areOptionsEqual2['default'](options, currentDropTargetOptions)) {\n return;\n }\n\n currentDropTargetNode = node;\n currentDropTargetOptions = options;\n\n reconnectDropTarget();\n }\n });\n\n return {\n receiveHandlerId: receiveHandlerId,\n hooks: hooks\n };\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/createTargetConnector.js\n ** module id = 209\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createTargetFactory;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _lodashIsPlainObject = require('lodash/isPlainObject');\n\nvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\nvar ALLOWED_SPEC_METHODS = ['canDrop', 'hover', 'drop'];\n\nfunction createTargetFactory(spec) {\n Object.keys(spec).forEach(function (key) {\n _invariant2['default'](ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drop target specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected \"%s\" key. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', ALLOWED_SPEC_METHODS.join(', '), key);\n _invariant2['default'](typeof spec[key] === 'function', 'Expected %s in the drop target specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', key, key, spec[key]);\n });\n\n var Target = (function () {\n function Target(monitor) {\n _classCallCheck(this, Target);\n\n this.monitor = monitor;\n this.props = null;\n this.component = null;\n }\n\n Target.prototype.receiveProps = function receiveProps(props) {\n this.props = props;\n };\n\n Target.prototype.receiveMonitor = function receiveMonitor(monitor) {\n this.monitor = monitor;\n };\n\n Target.prototype.receiveComponent = function receiveComponent(component) {\n this.component = component;\n };\n\n Target.prototype.canDrop = function canDrop() {\n if (!spec.canDrop) {\n return true;\n }\n\n return spec.canDrop(this.props, this.monitor);\n };\n\n Target.prototype.hover = function hover() {\n if (!spec.hover) {\n return;\n }\n\n spec.hover(this.props, this.monitor, this.component);\n };\n\n Target.prototype.drop = function drop() {\n if (!spec.drop) {\n return;\n }\n\n var dropResult = spec.drop(this.props, this.monitor, this.component);\n if (process.env.NODE_ENV !== 'production') {\n _invariant2['default'](typeof dropResult === 'undefined' || _lodashIsPlainObject2['default'](dropResult), 'drop() must either return undefined, or an object that represents the drop result. ' + 'Instead received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', dropResult);\n }\n return dropResult;\n };\n\n return Target;\n })();\n\n return function createTarget(monitor) {\n return new Target(monitor);\n };\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/createTargetFactory.js\n ** module id = 210\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createTargetMonitor;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar isCallingCanDrop = false;\n\nvar TargetMonitor = (function () {\n function TargetMonitor(manager) {\n _classCallCheck(this, TargetMonitor);\n\n this.internalMonitor = manager.getMonitor();\n }\n\n TargetMonitor.prototype.receiveHandlerId = function receiveHandlerId(targetId) {\n this.targetId = targetId;\n };\n\n TargetMonitor.prototype.canDrop = function canDrop() {\n _invariant2['default'](!isCallingCanDrop, 'You may not call monitor.canDrop() inside your canDrop() implementation. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target-monitor.html');\n\n try {\n isCallingCanDrop = true;\n return this.internalMonitor.canDropOnTarget(this.targetId);\n } finally {\n isCallingCanDrop = false;\n }\n };\n\n TargetMonitor.prototype.isOver = function isOver(options) {\n return this.internalMonitor.isOverTarget(this.targetId, options);\n };\n\n TargetMonitor.prototype.getItemType = function getItemType() {\n return this.internalMonitor.getItemType();\n };\n\n TargetMonitor.prototype.getItem = function getItem() {\n return this.internalMonitor.getItem();\n };\n\n TargetMonitor.prototype.getDropResult = function getDropResult() {\n return this.internalMonitor.getDropResult();\n };\n\n TargetMonitor.prototype.didDrop = function didDrop() {\n return this.internalMonitor.didDrop();\n };\n\n TargetMonitor.prototype.getInitialClientOffset = function getInitialClientOffset() {\n return this.internalMonitor.getInitialClientOffset();\n };\n\n TargetMonitor.prototype.getInitialSourceClientOffset = function getInitialSourceClientOffset() {\n return this.internalMonitor.getInitialSourceClientOffset();\n };\n\n TargetMonitor.prototype.getSourceClientOffset = function getSourceClientOffset() {\n return this.internalMonitor.getSourceClientOffset();\n };\n\n TargetMonitor.prototype.getClientOffset = function getClientOffset() {\n return this.internalMonitor.getClientOffset();\n };\n\n TargetMonitor.prototype.getDifferenceFromInitialOffset = function getDifferenceFromInitialOffset() {\n return this.internalMonitor.getDifferenceFromInitialOffset();\n };\n\n return TargetMonitor;\n})();\n\nfunction createTargetMonitor(manager) {\n return new TargetMonitor(manager);\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/createTargetMonitor.js\n ** module id = 211\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = registerSource;\n\nfunction registerSource(type, source, manager) {\n var registry = manager.getRegistry();\n var sourceId = registry.addSource(type, source);\n\n function unregisterSource() {\n registry.removeSource(sourceId);\n }\n\n return {\n handlerId: sourceId,\n unregister: unregisterSource\n };\n}\n\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/registerSource.js\n ** module id = 212\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = registerTarget;\n\nfunction registerTarget(type, target, manager) {\n var registry = manager.getRegistry();\n var targetId = registry.addTarget(type, target);\n\n function unregisterTarget() {\n registry.removeTarget(targetId);\n }\n\n return {\n handlerId: targetId,\n unregister: unregisterTarget\n };\n}\n\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/registerTarget.js\n ** module id = 213\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = cloneWithRef;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _react = require('react');\n\nfunction cloneWithRef(element, newRef) {\n var previousRef = element.ref;\n _invariant2['default'](typeof previousRef !== 'string', 'Cannot connect React DnD to an element with an existing string ref. ' + 'Please convert it to use a callback ref instead, or wrap it into a or
. ' + 'Read more: https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute');\n\n if (!previousRef) {\n // When there is no ref on the element, use the new ref directly\n return _react.cloneElement(element, {\n ref: newRef\n });\n }\n\n return _react.cloneElement(element, {\n ref: function ref(node) {\n newRef(node);\n\n if (previousRef) {\n previousRef(node);\n }\n }\n });\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/utils/cloneWithRef.js\n ** module id = 214\n ** module chunks = 0\n **/","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetPrototype = Object.getPrototypeOf;\n\n/**\n * Gets the `[[Prototype]]` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {null|Object} Returns the `[[Prototype]]`.\n */\nfunction getPrototype(value) {\n return nativeGetPrototype(Object(value));\n}\n\nmodule.exports = getPrototype;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/~/lodash/_getPrototype.js\n ** module id = 215\n ** module chunks = 0\n **/","/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\nmodule.exports = isHostObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/~/lodash/_isHostObject.js\n ** module id = 216\n ** module chunks = 0\n **/","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @type {Function}\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/~/lodash/isArray.js\n ** module id = 217\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/~/lodash/isObjectLike.js\n ** module id = 218\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule update\n */\n\n/* global hasOwnProperty:true */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar keyOf = require('fbjs/lib/keyOf');\nvar invariant = require('fbjs/lib/invariant');\nvar hasOwnProperty = {}.hasOwnProperty;\n\nfunction shallowCopy(x) {\n if (Array.isArray(x)) {\n return x.concat();\n } else if (x && typeof x === 'object') {\n return _assign(new x.constructor(), x);\n } else {\n return x;\n }\n}\n\nvar COMMAND_PUSH = keyOf({ $push: null });\nvar COMMAND_UNSHIFT = keyOf({ $unshift: null });\nvar COMMAND_SPLICE = keyOf({ $splice: null });\nvar COMMAND_SET = keyOf({ $set: null });\nvar COMMAND_MERGE = keyOf({ $merge: null });\nvar COMMAND_APPLY = keyOf({ $apply: null });\n\nvar ALL_COMMANDS_LIST = [COMMAND_PUSH, COMMAND_UNSHIFT, COMMAND_SPLICE, COMMAND_SET, COMMAND_MERGE, COMMAND_APPLY];\n\nvar ALL_COMMANDS_SET = {};\n\nALL_COMMANDS_LIST.forEach(function (command) {\n ALL_COMMANDS_SET[command] = true;\n});\n\nfunction invariantArrayCase(value, spec, command) {\n !Array.isArray(value) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'update(): expected target of %s to be an array; got %s.', command, value) : invariant(false) : void 0;\n var specValue = spec[command];\n !Array.isArray(specValue) ? process.env.NODE_ENV !== 'production' ? 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) : invariant(false) : void 0;\n}\n\nfunction update(value, spec) {\n !(typeof spec === 'object') ? process.env.NODE_ENV !== 'production' ? 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) : invariant(false) : void 0;\n\n if (hasOwnProperty.call(spec, COMMAND_SET)) {\n !(Object.keys(spec).length === 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Cannot have more than one key in an object with %s', COMMAND_SET) : invariant(false) : void 0;\n\n return spec[COMMAND_SET];\n }\n\n var nextValue = shallowCopy(value);\n\n if (hasOwnProperty.call(spec, COMMAND_MERGE)) {\n var mergeObj = spec[COMMAND_MERGE];\n !(mergeObj && typeof mergeObj === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'update(): %s expects a spec of type \\'object\\'; got %s', COMMAND_MERGE, mergeObj) : invariant(false) : void 0;\n !(nextValue && typeof nextValue === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'update(): %s expects a target of type \\'object\\'; got %s', COMMAND_MERGE, nextValue) : invariant(false) : void 0;\n _assign(nextValue, spec[COMMAND_MERGE]);\n }\n\n if (hasOwnProperty.call(spec, COMMAND_PUSH)) {\n invariantArrayCase(value, spec, COMMAND_PUSH);\n spec[COMMAND_PUSH].forEach(function (item) {\n nextValue.push(item);\n });\n }\n\n if (hasOwnProperty.call(spec, COMMAND_UNSHIFT)) {\n invariantArrayCase(value, spec, COMMAND_UNSHIFT);\n spec[COMMAND_UNSHIFT].forEach(function (item) {\n nextValue.unshift(item);\n });\n }\n\n if (hasOwnProperty.call(spec, COMMAND_SPLICE)) {\n !Array.isArray(value) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected %s target to be an array; got %s', COMMAND_SPLICE, value) : invariant(false) : void 0;\n !Array.isArray(spec[COMMAND_SPLICE]) ? process.env.NODE_ENV !== 'production' ? 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]) : invariant(false) : void 0;\n spec[COMMAND_SPLICE].forEach(function (args) {\n !Array.isArray(args) ? process.env.NODE_ENV !== 'production' ? 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]) : invariant(false) : void 0;\n nextValue.splice.apply(nextValue, args);\n });\n }\n\n if (hasOwnProperty.call(spec, COMMAND_APPLY)) {\n !(typeof spec[COMMAND_APPLY] === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'update(): expected spec of %s to be a function; got %s.', COMMAND_APPLY, spec[COMMAND_APPLY]) : invariant(false) : void 0;\n nextValue = spec[COMMAND_APPLY](nextValue);\n }\n\n for (var k in spec) {\n if (!(ALL_COMMANDS_SET.hasOwnProperty(k) && ALL_COMMANDS_SET[k])) {\n nextValue[k] = update(value[k], spec[k]);\n }\n }\n\n return nextValue;\n}\n\nmodule.exports = update;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/update.js\n ** module id = 219\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.ActionTypes = undefined;\nexports[\"default\"] = createStore;\n\nvar _isPlainObject = require('lodash/isPlainObject');\n\nvar _isPlainObject2 = _interopRequireDefault(_isPlainObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar ActionTypes = exports.ActionTypes = {\n INIT: '@@redux/INIT'\n};\n\n/**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [initialState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} enhancer The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\nfunction createStore(reducer, initialState, enhancer) {\n if (typeof initialState === 'function' && typeof enhancer === 'undefined') {\n enhancer = initialState;\n initialState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, initialState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = initialState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n function getState() {\n return currentState;\n }\n\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected listener to be a function.');\n }\n\n var isSubscribed = true;\n\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n };\n }\n\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n function dispatch(action) {\n if (!(0, _isPlainObject2[\"default\"])(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n for (var i = 0; i < listeners.length; i++) {\n listeners[i]();\n }\n\n return action;\n }\n\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer;\n dispatch({ type: ActionTypes.INIT });\n }\n\n // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n dispatch({ type: ActionTypes.INIT });\n\n return {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n };\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/redux/lib/createStore.js\n ** module id = 220\n ** module chunks = 0\n **/","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetPrototype = Object.getPrototypeOf;\n\n/**\n * Gets the `[[Prototype]]` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {null|Object} Returns the `[[Prototype]]`.\n */\nfunction getPrototype(value) {\n return nativeGetPrototype(Object(value));\n}\n\nmodule.exports = getPrototype;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/redux/~/lodash/_getPrototype.js\n ** module id = 221\n ** module chunks = 0\n **/","/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\nmodule.exports = isHostObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/redux/~/lodash/_isHostObject.js\n ** module id = 222\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/redux/~/lodash/isObjectLike.js\n ** module id = 223\n ** module chunks = 0\n **/","var getPrototype = require('./_getPrototype'),\n isHostObject = require('./_isHostObject'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object,\n * else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) ||\n objectToString.call(value) != objectTag || isHostObject(value)) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return (typeof Ctor == 'function' &&\n Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString);\n}\n\nmodule.exports = isPlainObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/redux/~/lodash/isPlainObject.js\n ** module id = 224\n ** module chunks = 0\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_225__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"react-dom\"\n ** module id = 225\n ** module chunks = 0\n **/"],"sourceRoot":""} \ No newline at end of file