Skip to content

Instantly share code, notes, and snippets.

@dhritzkiv
Created June 29, 2015 20:01
Show Gist options
  • Save dhritzkiv/ca2ea2e8a19a78230ad9 to your computer and use it in GitHub Desktop.
Save dhritzkiv/ca2ea2e8a19a78230ad9 to your computer and use it in GitHub Desktop.
requirebin sketch
// require() some stuff from npm (like you were using browserify)
// and then hit Run Code to run it on the right
var AmpersandFormView = require("ampersand-form-view");
var AmpersandInputView = require("ampersand-input-view");
var FormView = AmpersandFormView.extend({
fields: function() {
return [
new AmpersandInputView({
name: "text",
type: "text",
readonly: true,
value: "I am readonly"
})
];
}
});
var form = new FormView({
el: document.querySelector("form")
});
form.render();
require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){if(typeof window!=="undefined"){window.ampersand=window.ampersand||{};window.ampersand["ampersand-dom"]=window.ampersand["ampersand-dom"]||[];window.ampersand["ampersand-dom"].push("1.4.0")}var dom=module.exports={text:function(el,val){el.textContent=getString(val)},addClass:function(el,cls){cls=getString(cls);if(!cls)return;if(Array.isArray(cls)){cls.forEach(function(c){dom.addClass(el,c)})}else if(el.classList){el.classList.add(cls)}else{if(!hasClass(el,cls)){if(el.classList){el.classList.add(cls)}else{el.className+=" "+cls}}}},removeClass:function(el,cls){if(Array.isArray(cls)){cls.forEach(function(c){dom.removeClass(el,c)})}else if(el.classList){cls=getString(cls);if(cls)el.classList.remove(cls)}else{el.className=el.className.replace(new RegExp("(^|\\b)"+cls.split(" ").join("|")+"(\\b|$)","gi")," ")}},hasClass:hasClass,switchClass:function(el,prevCls,newCls){if(prevCls)this.removeClass(el,prevCls);this.addClass(el,newCls)},addAttribute:function(el,attr){el.setAttribute(attr,"");if(hasBooleanProperty(el,attr))el[attr]=true},removeAttribute:function(el,attr){el.removeAttribute(attr);if(hasBooleanProperty(el,attr))el[attr]=false},setAttribute:function(el,attr,value){el.setAttribute(attr,getString(value))},getAttribute:function(el,attr){return el.getAttribute(attr)},hasAttribute:function(el,attr){return el.hasAttribute(attr)},hide:function(el,mode){if(!mode)mode="display";if(!isHidden(el)){storeDisplayStyle(el,mode);hide(el,mode)}},show:function(el,mode){if(!mode)mode="display";show(el,mode)},html:function(el,content){el.innerHTML=content}};function getString(val){if(!val&&val!==0){return""}else{return val}}function hasClass(el,cls){if(el.classList){return el.classList.contains(cls)}else{return new RegExp("(^| )"+cls+"( |$)","gi").test(el.className)}}function hasBooleanProperty(el,prop){var val=el[prop];return prop in el&&(val===true||val===false)}function isHidden(el){return dom.getAttribute(el,"data-anddom-hidden")==="true"}function storeDisplayStyle(el,mode){dom.setAttribute(el,"data-anddom-"+mode,el.style[mode])}function show(el,mode){el.style[mode]=dom.getAttribute(el,"data-anddom-"+mode)||"";dom.removeAttribute(el,"data-anddom-hidden")}function hide(el,mode){dom.setAttribute(el,"data-anddom-hidden","true");el.style[mode]=mode==="visibility"?"hidden":"none"}},{}],2:[function(require,module,exports){if(typeof window!=="undefined"){window.ampersand=window.ampersand||{};window.ampersand["ampersand-view"]=window.ampersand["ampersand-view"]||[];window.ampersand["ampersand-view"].push("8.0.0")}var State=require("ampersand-state");var CollectionView=require("ampersand-collection-view");var domify=require("domify");var uniqueId=require("lodash.uniqueid");var pick=require("lodash.pick");var assign=require("lodash.assign");var forEach=require("lodash.foreach");var result=require("lodash.result");var last=require("lodash.last");var isString=require("lodash.isstring");var bind=require("lodash.bind");var flatten=require("lodash.flatten");var invoke=require("lodash.invoke");var events=require("events-mixin");var matches=require("matches-selector");var bindings=require("ampersand-dom-bindings");var getPath=require("get-object-path");function View(attrs){this.cid=uniqueId("view");attrs||(attrs={});var parent=attrs.parent;delete attrs.parent;BaseState.call(this,attrs,{init:false,parent:parent});this.on("change:el",this._handleElementChange,this);this._parsedBindings=bindings(this.bindings,this);this._initializeBindings();if(attrs.el&&!this.autoRender){this._handleElementChange()}this._initializeSubviews();this.template=attrs.template||this.template;this.initialize.apply(this,arguments);this._rendered=this.rendered;if(this.autoRender&&this.template){this.render()}}var BaseState=State.extend({dataTypes:{element:{set:function(newVal){return{val:newVal,type:newVal instanceof Element?"element":typeof newVal}},compare:function(el1,el2){return el1===el2}},collection:{set:function(newVal){return{val:newVal,type:newVal&&newVal.isCollection?"collection":typeof newVal}},compare:function(currentVal,newVal){return currentVal===newVal}}},props:{model:"state",el:"element",collection:"collection"},session:{_rendered:["boolean",true,false]},derived:{hasData:{deps:["model"],fn:function(){return!!this.model}},rendered:{deps:["_rendered"],fn:function(){if(this._rendered){this.trigger("render",this);return true}this.trigger("remove",this);return false}}}});var delegateEventSplitter=/^(\S+)\s*(.*)$/;View.prototype=Object.create(BaseState.prototype);var queryNoElMsg="Query cannot be performed as this.el is not defined. Ensure that the view has been rendered.";assign(View.prototype,{query:function(selector){if(!this.el){throw new Error(queryNoElMsg)}if(!selector)return this.el;if(typeof selector==="string"){if(matches(this.el,selector))return this.el;return this.el.querySelector(selector)||undefined}return selector},queryAll:function(selector){if(!this.el){throw new Error(queryNoElMsg)}if(!selector)return[this.el];var res=[];if(matches(this.el,selector))res.push(this.el);return res.concat(Array.prototype.slice.call(this.el.querySelectorAll(selector)))},queryByHook:function(hook){return this.query('[data-hook~="'+hook+'"]')},queryAllByHook:function(hook){return this.queryAll('[data-hook~="'+hook+'"]')},initialize:function(){},_render:function(){this.renderWithTemplate(this);this._rendered=true;return this},_remove:function(){var parsedBindings=this._parsedBindings;if(this.el&&this.el.parentNode)this.el.parentNode.removeChild(this.el);this._rendered=false;if(this._subviews)invoke(flatten(this._subviews),"remove");this.stopListening();forEach(parsedBindings,function(properties,modelName){forEach(properties,function(value,key){delete parsedBindings[modelName][key]});delete parsedBindings[modelName]});return this},_handleElementChange:function(element,delegate){if(this.eventManager)this.eventManager.unbind();this.eventManager=events(this.el,this);this.delegateEvents();this._applyBindingsForKey();return this},delegateEvents:function(events){if(!(events||(events=result(this,"events"))))return this;this.undelegateEvents();for(var key in events){this.eventManager.bind(key,events[key])}return this},undelegateEvents:function(){this.eventManager.unbind();return this},registerSubview:function(view){this._subviews||(this._subviews=[]);this._subviews.push(view);if(!view.parent)view.parent=this;return view},renderSubview:function(view,container){if(typeof container==="string"){container=this.query(container)}this.registerSubview(view);view.render();(container||this.el).appendChild(view.el);return view},_applyBindingsForKey:function(name){if(!this.el)return;var fns=this._parsedBindings.getGrouped(name);var item;for(item in fns){fns[item].forEach(function(fn){fn(this.el,getPath(this,item),last(item.split(".")))},this)}},_initializeBindings:function(){if(!this.bindings)return;this.on("all",function(eventName){if(eventName.slice(0,7)==="change:"){this._applyBindingsForKey(eventName.split(":")[1])}},this)},_initializeSubviews:function(){if(!this.subviews)return;for(var item in this.subviews){this._parseSubview(this.subviews[item],item)}},_parseSubview:function(subview,name){var self=this;if(subview.container){subview.selector=subview.container}var opts={selector:subview.selector||'[data-hook="'+subview.hook+'"]',waitFor:subview.waitFor||"",prepareView:subview.prepareView||function(el){return new subview.constructor({el:el,parent:self})}};function action(){var el,subview;if(!this.el||!(el=this.query(opts.selector)))return;if(!opts.waitFor||getPath(this,opts.waitFor)){subview=this[name]=opts.prepareView.call(this,el);subview.render();this.registerSubview(subview);this.off("change",action)}}this.on("change",action,this)},renderWithTemplate:function(context,templateArg){var template=templateArg||this.template;if(!template)throw new Error("Template string or function needed.");var newDom=isString(template)?template:template.call(this,context||this);if(isString(newDom))newDom=domify(newDom);var parent=this.el&&this.el.parentNode;if(parent)parent.replaceChild(newDom,this.el);if(newDom.nodeName==="#document-fragment")throw new Error("Views can only have one root element, including comment nodes.");this.el=newDom;return this},cacheElements:function(hash){for(var item in hash){this[item]=this.query(hash[item])}return this},listenToAndRun:function(object,events,handler){var bound=bind(handler,this);this.listenTo(object,events,bound);bound()},animateRemove:function(){this.remove()},renderCollection:function(collection,ViewClass,container,opts){var containerEl=typeof container==="string"?this.query(container):container;var config=assign({collection:collection,el:containerEl||this.el,view:ViewClass,parent:this,viewOptions:{parent:this}},opts);var collectionView=new CollectionView(config);collectionView.render();return this.registerSubview(collectionView)},_setRender:function(obj){Object.defineProperty(obj,"render",{get:function(){return this._render},set:function(fn){this._render=function(){fn.apply(this,arguments);this._rendered=true;return this}}})},_setRemove:function(obj){Object.defineProperty(obj,"remove",{get:function(){return this._remove},set:function(fn){this._remove=function(){fn.apply(this,arguments);this._rendered=false;return this}}})}});View.prototype._setRender(View.prototype);View.prototype._setRemove(View.prototype);View.extend=BaseState.extend;module.exports=View},{"ampersand-collection-view":3,"ampersand-dom-bindings":39,"ampersand-state":41,domify:110,"events-mixin":111,"get-object-path":116,"lodash.assign":117,"lodash.bind":128,"lodash.flatten":134,"lodash.foreach":139,"lodash.invoke":147,"lodash.isstring":158,"lodash.last":159,"lodash.pick":160,"lodash.result":172,"lodash.uniqueid":178,"matches-selector":180}],3:[function(require,module,exports){if(typeof window!=="undefined"){window.ampersand=window.ampersand||{};window.ampersand["ampersand-collection-view"]=window.ampersand["ampersand-collection-view"]||[];window.ampersand["ampersand-collection-view"].push("1.4.0")}var assign=require("lodash.assign");var invoke=require("lodash.invoke");var pick=require("lodash.pick");var find=require("lodash.find");var difference=require("lodash.difference");var Events=require("ampersand-events");var ampExtend=require("ampersand-class-extend");var options=["collection","el","viewOptions","view","emptyView","filter","reverse","parent"];function CollectionView(spec){if(!spec){throw new ReferenceError("Collection view missing required parameters: collection, el")}if(!spec.collection){throw new ReferenceError("Collection view requires a collection")}if(!spec.el&&!this.insertSelf){throw new ReferenceError("Collection view requires an el")}assign(this,pick(spec,options));this.views=[];this.listenTo(this.collection,"add",this._addViewForModel);this.listenTo(this.collection,"remove",this._removeViewForModel);this.listenTo(this.collection,"sort",this._rerenderAll);this.listenTo(this.collection,"refresh reset",this._reset)}assign(CollectionView.prototype,Events,{render:function(){this._renderAll();return this},remove:function(){invoke(this.views,"remove");this.stopListening()},_getViewByModel:function(model){return find(this.views,function(view){return model===view.model})},_createViewForModel:function(model,renderOpts){var defaultViewOptions={model:model,collection:this.collection,parent:this};var view=new this.view(assign(defaultViewOptions,this.viewOptions));this.views.push(view);view.renderedByParentView=true;view.render(renderOpts);return view},_getOrCreateByModel:function(model,renderOpts){return this._getViewByModel(model)||this._createViewForModel(model,renderOpts)},_addViewForModel:function(model,collection,options){var matches=this.filter?this.filter(model):true;if(!matches){return}if(this.renderedEmptyView){this.renderedEmptyView.remove();delete this.renderedEmptyView}var view=this._getOrCreateByModel(model,{containerEl:this.el});if(options&&options.rerender){this._insertView(view)}else{this._insertViewAtIndex(view)}},_insertViewAtIndex:function(view){if(!view.insertSelf){var pos=this.collection.indexOf(view.model);var modelToInsertBefore,viewToInsertBefore;if(this.reverse){modelToInsertBefore=this.collection.at(pos-1)}else{modelToInsertBefore=this.collection.at(pos+1)}viewToInsertBefore=this._getViewByModel(modelToInsertBefore);if(viewToInsertBefore){this.el.insertBefore(view.el,viewToInsertBefore&&viewToInsertBefore.el)}else{this.el.appendChild(view.el)}}},_insertView:function(view){if(!view.insertSelf){if(this.reverse&&this.el.firstChild){this.el.insertBefore(view.el,this.el.firstChild)}else{this.el.appendChild(view.el)}}},_removeViewForModel:function(model){var view=this._getViewByModel(model);if(!view){return}var index=this.views.indexOf(view);if(index!==-1){view=this.views.splice(index,1)[0];this._removeView(view);if(this.views.length===0){this._renderEmptyView()}}},_removeView:function(view){if(view.animateRemove){view.animateRemove()}else{view.remove()}},_renderAll:function(){this.collection.each(this._addViewForModel,this);if(this.views.length===0){this._renderEmptyView()}},_rerenderAll:function(collection,options){options=options||{};this.collection.each(function(model){this._addViewForModel(model,this,assign(options,{rerender:true}))},this)},_renderEmptyView:function(){if(this.emptyView&&!this.renderedEmptyView){var view=this.renderedEmptyView=new this.emptyView({parent:this});this.el.appendChild(view.render().el)}},_reset:function(){var newViews=this.collection.map(this._getOrCreateByModel,this);var toRemove=difference(this.views,newViews);toRemove.forEach(this._removeView,this);this.views=newViews;this._rerenderAll();if(this.views.length===0){this._renderEmptyView()}}});CollectionView.extend=ampExtend;module.exports=CollectionView},{"ampersand-class-extend":4,"ampersand-events":5,"lodash.assign":117,"lodash.difference":16,"lodash.find":26,"lodash.invoke":147,"lodash.pick":160}],4:[function(require,module,exports){var assign=require("lodash.assign");var extend=function(protoProps){var parent=this;var child;var args=[].slice.call(arguments);if(protoProps&&protoProps.hasOwnProperty("constructor")){child=protoProps.constructor}else{child=function(){return parent.apply(this,arguments)}}assign(child,parent);var Surrogate=function(){this.constructor=child};Surrogate.prototype=parent.prototype;child.prototype=new Surrogate;if(protoProps){args.unshift(child.prototype);assign.apply(null,args)}child.__super__=parent.prototype;return child};module.exports=extend},{"lodash.assign":117}],5:[function(require,module,exports){if(typeof window!=="undefined"){window.ampersand=window.ampersand||{};window.ampersand["ampersand-events"]=window.ampersand["ampersand-events"]||[];window.ampersand["ampersand-events"].push("1.1.1")}var runOnce=require("lodash.once");var uniqueId=require("lodash.uniqueid");var keys=require("lodash.keys");var isEmpty=require("lodash.isempty");var each=require("lodash.foreach");var bind=require("lodash.bind");var assign=require("lodash.assign");var slice=Array.prototype.slice;var eventSplitter=/\s+/;var Events={on:function(name,callback,context){if(!eventsApi(this,"on",name,[callback,context])||!callback)return this;this._events||(this._events={});var events=this._events[name]||(this._events[name]=[]);events.push({callback:callback,context:context,ctx:context||this});return this},once:function(name,callback,context){if(!eventsApi(this,"once",name,[callback,context])||!callback)return this;var self=this;var once=runOnce(function(){self.off(name,once);callback.apply(this,arguments)});once._callback=callback;return this.on(name,once,context)},off:function(name,callback,context){var retain,ev,events,names,i,l,j,k;if(!this._events||!eventsApi(this,"off",name,[callback,context]))return this;if(!name&&!callback&&!context){this._events=void 0;return this}names=name?[name]:keys(this._events);for(i=0,l=names.length;i<l;i++){name=names[i];if(events=this._events[name]){this._events[name]=retain=[];if(callback||context){for(j=0,k=events.length;j<k;j++){ev=events[j];if(callback&&callback!==ev.callback&&callback!==ev.callback._callback||context&&context!==ev.context){retain.push(ev)}}}if(!retain.length)delete this._events[name]}}return this},trigger:function(name){if(!this._events)return this;var args=slice.call(arguments,1);if(!eventsApi(this,"trigger",name,args))return this;var events=this._events[name];var allEvents=this._events.all;if(events)triggerEvents(events,args);if(allEvents)triggerEvents(allEvents,arguments);return this},stopListening:function(obj,name,callback){var listeningTo=this._listeningTo;if(!listeningTo)return this;var remove=!name&&!callback;if(!callback&&typeof name==="object")callback=this;if(obj)(listeningTo={})[obj._listenId]=obj;for(var id in listeningTo){obj=listeningTo[id];obj.off(name,callback,this);if(remove||isEmpty(obj._events))delete this._listeningTo[id]}return this},createEmitter:function(obj){return assign(obj||{},Events)}};Events.bind=Events.on;Events.unbind=Events.off;var eventsApi=function(obj,action,name,rest){if(!name)return true;if(typeof name==="object"){for(var key in name){obj[action].apply(obj,[key,name[key]].concat(rest))}return false}if(eventSplitter.test(name)){var names=name.split(eventSplitter);for(var i=0,l=names.length;i<l;i++){obj[action].apply(obj,[names[i]].concat(rest))}return false}return true};var triggerEvents=function(events,args){var ev;var i=-1;var l=events.length;var a1=args[0];var a2=args[1];var a3=args[2];switch(args.length){case 0:while(++i<l)(ev=events[i]).callback.call(ev.ctx);return;case 1:while(++i<l)(ev=events[i]).callback.call(ev.ctx,a1);return;case 2:while(++i<l)(ev=events[i]).callback.call(ev.ctx,a1,a2);return;case 3:while(++i<l)(ev=events[i]).callback.call(ev.ctx,a1,a2,a3);return;default:while(++i<l)(ev=events[i]).callback.apply(ev.ctx,args);return}};var listenMethods={listenTo:"on",listenToOnce:"once"};each(listenMethods,function(implementation,method){Events[method]=function(obj,name,callback,run){var listeningTo=this._listeningTo||(this._listeningTo={});var id=obj._listenId||(obj._listenId=uniqueId("l"));listeningTo[id]=obj;if(!callback&&typeof name==="object")callback=this;obj[implementation](name,callback,this);return this}});Events.listenToAndRun=function(obj,name,callback){Events.listenTo.apply(this,arguments);if(!callback&&typeof name==="object")callback=this;callback.apply(this);return this};module.exports=Events},{"lodash.assign":117,"lodash.bind":128,"lodash.foreach":139,"lodash.isempty":6,"lodash.keys":10,"lodash.once":14,"lodash.uniqueid":178}],6:[function(require,module,exports){var isArguments=require("lodash.isarguments"),isArray=require("lodash.isarray"),isFunction=require("lodash.isfunction"),isString=require("lodash.isstring"),keys=require("lodash.keys");function isObjectLike(value){return!!value&&typeof value=="object"}var MAX_SAFE_INTEGER=9007199254740991;function baseProperty(key){return function(object){return object==null?undefined:object[key]}}var getLength=baseProperty("length");function isArrayLike(value){return value!=null&&isLength(getLength(value))}function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isEmpty(value){if(value==null){return true}if(isArrayLike(value)&&(isArray(value)||isString(value)||isArguments(value)||isObjectLike(value)&&isFunction(value.splice))){return!value.length}return!keys(value).length}module.exports=isEmpty},{"lodash.isarguments":7,"lodash.isarray":8,"lodash.isfunction":9,"lodash.isstring":158,"lodash.keys":10}],7:[function(require,module,exports){var argsTag="[object Arguments]";function isObjectLike(value){return!!value&&typeof value=="object"}var objectProto=Object.prototype;var objToString=objectProto.toString;var MAX_SAFE_INTEGER=9007199254740991;function baseProperty(key){return function(object){return object==null?undefined:object[key]}}var getLength=baseProperty("length");function isArrayLike(value){return value!=null&&isLength(getLength(value))}function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isArguments(value){return isObjectLike(value)&&isArrayLike(value)&&objToString.call(value)==argsTag}module.exports=isArguments},{}],8:[function(require,module,exports){var arrayTag="[object Array]",funcTag="[object Function]";var reRegExpChars=/[.*+?^${}()|[\]\/\\]/g,reHasRegExpChars=RegExp(reRegExpChars.source);var reIsHostCtor=/^\[object .+?Constructor\]$/;function baseToString(value){if(typeof value=="string"){return value}return value==null?"":value+""}function isObjectLike(value){return!!value&&typeof value=="object"}var objectProto=Object.prototype;var fnToString=Function.prototype.toString;var hasOwnProperty=objectProto.hasOwnProperty;var objToString=objectProto.toString;var reIsNative=RegExp("^"+escapeRegExp(fnToString.call(hasOwnProperty)).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var nativeIsArray=getNative(Array,"isArray");var MAX_SAFE_INTEGER=9007199254740991;function getNative(object,key){var value=object==null?undefined:object[key];return isNative(value)?value:undefined}function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}var isArray=nativeIsArray||function(value){return isObjectLike(value)&&isLength(value.length)&&objToString.call(value)==arrayTag};function isNative(value){if(value==null){return false}if(objToString.call(value)==funcTag){return reIsNative.test(fnToString.call(value))}return isObjectLike(value)&&reIsHostCtor.test(value)}function escapeRegExp(string){string=baseToString(string);return string&&reHasRegExpChars.test(string)?string.replace(reRegExpChars,"\\$&"):string}module.exports=isArray},{}],9:[function(require,module,exports){(function(global){var funcTag="[object Function]";var reRegExpChars=/[.*+?^${}()|[\]\/\\]/g,reHasRegExpChars=RegExp(reRegExpChars.source);var reIsHostCtor=/^\[object .+?Constructor\]$/;function baseIsFunction(value){return typeof value=="function"||false}function baseToString(value){if(typeof value=="string"){return value}return value==null?"":value+""}function isObjectLike(value){return!!value&&typeof value=="object"}var objectProto=Object.prototype;var fnToString=Function.prototype.toString;var hasOwnProperty=objectProto.hasOwnProperty;var objToString=objectProto.toString;var reIsNative=RegExp("^"+escapeRegExp(fnToString.call(hasOwnProperty)).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var Uint8Array=getNative(global,"Uint8Array");function getNative(object,key){var value=object==null?undefined:object[key];return isNative(value)?value:undefined}var isFunction=!(baseIsFunction(/x/)||Uint8Array&&!baseIsFunction(Uint8Array))?baseIsFunction:function(value){return objToString.call(value)==funcTag};function isNative(value){if(value==null){return false}if(objToString.call(value)==funcTag){return reIsNative.test(fnToString.call(value))}return isObjectLike(value)&&reIsHostCtor.test(value)}function escapeRegExp(string){string=baseToString(string);return string&&reHasRegExpChars.test(string)?string.replace(reRegExpChars,"\\$&"):string}module.exports=isFunction}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],10:[function(require,module,exports){var getNative=require("lodash._getnative"),isArguments=require("lodash.isarguments"),isArray=require("lodash.isarray");var reIsUint=/^\d+$/;var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;var nativeKeys=getNative(Object,"keys");var MAX_SAFE_INTEGER=9007199254740991;function baseProperty(key){return function(object){return object==null?undefined:object[key]}}var getLength=baseProperty("length");function isArrayLike(value){return value!=null&&isLength(getLength(value))}function isIndex(value,length){value=typeof value=="number"||reIsUint.test(value)?+value:-1;length=length==null?MAX_SAFE_INTEGER:length;return value>-1&&value%1==0&&value<length}function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function shimKeys(object){var props=keysIn(object),propsLength=props.length,length=propsLength&&object.length;var allowIndexes=!!length&&isLength(length)&&(isArray(object)||isArguments(object));var index=-1,result=[];while(++index<propsLength){var key=props[index];if(allowIndexes&&isIndex(key,length)||hasOwnProperty.call(object,key)){result.push(key)}}return result}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}var keys=!nativeKeys?shimKeys:function(object){var Ctor=object==null?null:object.constructor;if(typeof Ctor=="function"&&Ctor.prototype===object||typeof object!="function"&&isArrayLike(object)){return shimKeys(object)}return isObject(object)?nativeKeys(object):[]};function keysIn(object){if(object==null){return[]}if(!isObject(object)){object=Object(object)}var length=object.length;length=length&&isLength(length)&&(isArray(object)||isArguments(object))&&length||0;var Ctor=object.constructor,index=-1,isProto=typeof Ctor=="function"&&Ctor.prototype===object,result=Array(length),skipIndexes=length>0;while(++index<length){result[index]=index+""}for(var key in object){if(!(skipIndexes&&isIndex(key,length))&&!(key=="constructor"&&(isProto||!hasOwnProperty.call(object,key)))){result.push(key)}}return result}module.exports=keys},{"lodash._getnative":11,"lodash.isarguments":12,"lodash.isarray":13}],11:[function(require,module,exports){var funcTag="[object Function]";var reRegExpChars=/[.*+?^${}()|[\]\/\\]/g,reHasRegExpChars=RegExp(reRegExpChars.source);var reIsHostCtor=/^\[object .+?Constructor\]$/;function baseToString(value){if(typeof value=="string"){return value}return value==null?"":value+""}function isObjectLike(value){return!!value&&typeof value=="object"}var objectProto=Object.prototype;var fnToString=Function.prototype.toString;var hasOwnProperty=objectProto.hasOwnProperty;var objToString=objectProto.toString;var reIsNative=RegExp("^"+escapeRegExp(fnToString.call(hasOwnProperty)).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function getNative(object,key){var value=object==null?undefined:object[key];return isNative(value)?value:undefined}function isNative(value){if(value==null){return false}if(objToString.call(value)==funcTag){return reIsNative.test(fnToString.call(value))}return isObjectLike(value)&&reIsHostCtor.test(value)}function escapeRegExp(string){string=baseToString(string);return string&&reHasRegExpChars.test(string)?string.replace(reRegExpChars,"\\$&"):string}module.exports=getNative},{}],12:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],13:[function(require,module,exports){arguments[4][8][0].apply(exports,arguments)},{dup:8}],14:[function(require,module,exports){var before=require("lodash.before");function once(func){return before(2,func)}module.exports=once},{"lodash.before":15}],15:[function(require,module,exports){var FUNC_ERROR_TEXT="Expected a function";function before(n,func){var result;if(typeof func!="function"){if(typeof n=="function"){var temp=n;n=func;func=temp}else{throw new TypeError(FUNC_ERROR_TEXT)}}return function(){if(--n>0){result=func.apply(this,arguments)}if(n<=1){func=null}return result}}module.exports=before},{}],16:[function(require,module,exports){var baseDifference=require("lodash._basedifference"),baseFlatten=require("lodash._baseflatten"),restParam=require("lodash.restparam");var MAX_SAFE_INTEGER=9007199254740991;function baseProperty(key){return function(object){return object==null?undefined:object[key]}}var getLength=baseProperty("length");function isArrayLike(value){return value!=null&&isLength(getLength(value))}function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}var difference=restParam(function(array,values){return isArrayLike(array)?baseDifference(array,baseFlatten(values,false,true)):[]});module.exports=difference},{"lodash._basedifference":17,"lodash._baseflatten":22,"lodash.restparam":25}],17:[function(require,module,exports){var baseIndexOf=require("lodash._baseindexof"),cacheIndexOf=require("lodash._cacheindexof"),createCache=require("lodash._createcache");function baseDifference(array,values){var length=array?array.length:0,result=[];if(!length){return result}var index=-1,indexOf=baseIndexOf,isCommon=true,cache=isCommon&&values.length>=200?createCache(values):null,valuesLength=values.length;if(cache){indexOf=cacheIndexOf;isCommon=false;values=cache}outer:while(++index<length){var value=array[index];if(isCommon&&value===value){var valuesIndex=valuesLength;while(valuesIndex--){if(values[valuesIndex]===value){continue outer}}result.push(value)}else if(indexOf(values,value,0)<0){result.push(value)}}return result}module.exports=baseDifference},{"lodash._baseindexof":18,"lodash._cacheindexof":19,"lodash._createcache":20}],18:[function(require,module,exports){function baseIndexOf(array,value,fromIndex){if(value!==value){return indexOfNaN(array,fromIndex)}var index=fromIndex-1,length=array.length;while(++index<length){if(array[index]===value){return index}}return-1}function indexOfNaN(array,fromIndex,fromRight){var length=array.length,index=fromIndex+(fromRight?0:-1);while(fromRight?index--:++index<length){var other=array[index];if(other!==other){return index}}return-1}module.exports=baseIndexOf},{}],19:[function(require,module,exports){function cacheIndexOf(cache,value){var data=cache.data,result=typeof value=="string"||isObject(value)?data.set.has(value):data.hash[value];return result?0:-1}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}module.exports=cacheIndexOf},{}],20:[function(require,module,exports){(function(global){var getNative=require("lodash._getnative");var Set=getNative(global,"Set");var nativeCreate=getNative(Object,"create");function SetCache(values){var length=values?values.length:0;this.data={hash:nativeCreate(null),set:new Set};while(length--){this.push(values[length])}}function cachePush(value){var data=this.data;if(typeof value=="string"||isObject(value)){data.set.add(value)}else{data.hash[value]=true}}var createCache=!(nativeCreate&&Set)?constant(null):function(values){return new SetCache(values)};function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function constant(value){return function(){return value}}SetCache.prototype.push=cachePush;module.exports=createCache}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"lodash._getnative":21}],21:[function(require,module,exports){arguments[4][11][0].apply(exports,arguments)},{dup:11}],22:[function(require,module,exports){var isArguments=require("lodash.isarguments"),isArray=require("lodash.isarray");function isObjectLike(value){return!!value&&typeof value=="object"}var MAX_SAFE_INTEGER=9007199254740991;function baseFlatten(array,isDeep,isStrict){var index=-1,length=array.length,resIndex=-1,result=[];while(++index<length){var value=array[index];if(isObjectLike(value)&&isArrayLike(value)&&(isStrict||isArray(value)||isArguments(value))){if(isDeep){value=baseFlatten(value,isDeep,isStrict)}var valIndex=-1,valLength=value.length;while(++valIndex<valLength){result[++resIndex]=value[valIndex]}}else if(!isStrict){result[++resIndex]=value}}return result}function baseProperty(key){return function(object){return object==null?undefined:object[key];
}}var getLength=baseProperty("length");function isArrayLike(value){return value!=null&&isLength(getLength(value))}function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}module.exports=baseFlatten},{"lodash.isarguments":23,"lodash.isarray":24}],23:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],24:[function(require,module,exports){arguments[4][8][0].apply(exports,arguments)},{dup:8}],25:[function(require,module,exports){var FUNC_ERROR_TEXT="Expected a function";var nativeMax=Math.max;function restParam(func,start){if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}start=nativeMax(start===undefined?func.length-1:+start||0,0);return function(){var args=arguments,index=-1,length=nativeMax(args.length-start,0),rest=Array(length);while(++index<length){rest[index]=args[start+index]}switch(start){case 0:return func.call(this,rest);case 1:return func.call(this,args[0],rest);case 2:return func.call(this,args[0],args[1],rest)}var otherArgs=Array(start+1);index=-1;while(++index<start){otherArgs[index]=args[index]}otherArgs[start]=rest;return func.apply(this,otherArgs)}}module.exports=restParam},{}],26:[function(require,module,exports){var baseCallback=require("lodash._basecallback"),baseEach=require("lodash._baseeach"),baseFind=require("lodash._basefind"),baseFindIndex=require("lodash._basefindindex"),isArray=require("lodash.isarray");function createFind(eachFunc,fromRight){return function(collection,predicate,thisArg){predicate=baseCallback(predicate,thisArg,3);if(isArray(collection)){var index=baseFindIndex(collection,predicate,fromRight);return index>-1?collection[index]:undefined}return baseFind(collection,predicate,eachFunc)}}var find=createFind(baseEach);module.exports=find},{"lodash._basecallback":27,"lodash._baseeach":32,"lodash._basefind":33,"lodash._basefindindex":34,"lodash.isarray":35}],27:[function(require,module,exports){var baseIsEqual=require("lodash._baseisequal"),bindCallback=require("lodash._bindcallback"),isArray=require("lodash.isarray"),pairs=require("lodash.pairs");var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/,rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g;var reEscapeChar=/\\(\\)?/g;function baseToString(value){if(typeof value=="string"){return value}return value==null?"":value+""}function baseCallback(func,thisArg,argCount){var type=typeof func;if(type=="function"){return thisArg===undefined?func:bindCallback(func,thisArg,argCount)}if(func==null){return identity}if(type=="object"){return baseMatches(func)}return thisArg===undefined?property(func):baseMatchesProperty(func,thisArg)}function baseGet(object,path,pathKey){if(object==null){return}if(pathKey!==undefined&&pathKey in toObject(object)){path=[pathKey]}var index=0,length=path.length;while(object!=null&&index<length){object=object[path[index++]]}return index&&index==length?object:undefined}function baseIsMatch(object,matchData,customizer){var index=matchData.length,length=index,noCustomizer=!customizer;if(object==null){return!length}object=toObject(object);while(index--){var data=matchData[index];if(noCustomizer&&data[2]?data[1]!==object[data[0]]:!(data[0]in object)){return false}}while(++index<length){data=matchData[index];var key=data[0],objValue=object[key],srcValue=data[1];if(noCustomizer&&data[2]){if(objValue===undefined&&!(key in object)){return false}}else{var result=customizer?customizer(objValue,srcValue,key):undefined;if(!(result===undefined?baseIsEqual(srcValue,objValue,customizer,true):result)){return false}}}return true}function baseMatches(source){var matchData=getMatchData(source);if(matchData.length==1&&matchData[0][2]){var key=matchData[0][0],value=matchData[0][1];return function(object){if(object==null){return false}return object[key]===value&&(value!==undefined||key in toObject(object))}}return function(object){return baseIsMatch(object,matchData)}}function baseMatchesProperty(path,srcValue){var isArr=isArray(path),isCommon=isKey(path)&&isStrictComparable(srcValue),pathKey=path+"";path=toPath(path);return function(object){if(object==null){return false}var key=pathKey;object=toObject(object);if((isArr||!isCommon)&&!(key in object)){object=path.length==1?object:baseGet(object,baseSlice(path,0,-1));if(object==null){return false}key=last(path);object=toObject(object)}return object[key]===srcValue?srcValue!==undefined||key in object:baseIsEqual(srcValue,object[key],undefined,true)}}function baseProperty(key){return function(object){return object==null?undefined:object[key]}}function basePropertyDeep(path){var pathKey=path+"";path=toPath(path);return function(object){return baseGet(object,path,pathKey)}}function baseSlice(array,start,end){var index=-1,length=array.length;start=start==null?0:+start||0;if(start<0){start=-start>length?0:length+start}end=end===undefined||end>length?length:+end||0;if(end<0){end+=length}length=start>end?0:end-start>>>0;start>>>=0;var result=Array(length);while(++index<length){result[index]=array[index+start]}return result}function getMatchData(object){var result=pairs(object),length=result.length;while(length--){result[length][2]=isStrictComparable(result[length][1])}return result}function isKey(value,object){var type=typeof value;if(type=="string"&&reIsPlainProp.test(value)||type=="number"){return true}if(isArray(value)){return false}var result=!reIsDeepProp.test(value);return result||object!=null&&value in toObject(object)}function isStrictComparable(value){return value===value&&!isObject(value)}function toObject(value){return isObject(value)?value:Object(value)}function toPath(value){if(isArray(value)){return value}var result=[];baseToString(value).replace(rePropName,function(match,number,quote,string){result.push(quote?string.replace(reEscapeChar,"$1"):number||match)});return result}function last(array){var length=array?array.length:0;return length?array[length-1]:undefined}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function identity(value){return value}function property(path){return isKey(path)?baseProperty(path):basePropertyDeep(path)}module.exports=baseCallback},{"lodash._baseisequal":28,"lodash._bindcallback":30,"lodash.isarray":35,"lodash.pairs":31}],28:[function(require,module,exports){var isArray=require("lodash.isarray"),isTypedArray=require("lodash.istypedarray"),keys=require("lodash.keys");var argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",stringTag="[object String]";function isObjectLike(value){return!!value&&typeof value=="object"}var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;var objToString=objectProto.toString;function arraySome(array,predicate){var index=-1,length=array.length;while(++index<length){if(predicate(array[index],index,array)){return true}}return false}function baseIsEqual(value,other,customizer,isLoose,stackA,stackB){if(value===other){return true}if(value==null||other==null||!isObject(value)&&!isObjectLike(other)){return value!==value&&other!==other}return baseIsEqualDeep(value,other,baseIsEqual,customizer,isLoose,stackA,stackB)}function baseIsEqualDeep(object,other,equalFunc,customizer,isLoose,stackA,stackB){var objIsArr=isArray(object),othIsArr=isArray(other),objTag=arrayTag,othTag=arrayTag;if(!objIsArr){objTag=objToString.call(object);if(objTag==argsTag){objTag=objectTag}else if(objTag!=objectTag){objIsArr=isTypedArray(object)}}if(!othIsArr){othTag=objToString.call(other);if(othTag==argsTag){othTag=objectTag}else if(othTag!=objectTag){othIsArr=isTypedArray(other)}}var objIsObj=objTag==objectTag,othIsObj=othTag==objectTag,isSameTag=objTag==othTag;if(isSameTag&&!(objIsArr||objIsObj)){return equalByTag(object,other,objTag)}if(!isLoose){var objIsWrapped=objIsObj&&hasOwnProperty.call(object,"__wrapped__"),othIsWrapped=othIsObj&&hasOwnProperty.call(other,"__wrapped__");if(objIsWrapped||othIsWrapped){return equalFunc(objIsWrapped?object.value():object,othIsWrapped?other.value():other,customizer,isLoose,stackA,stackB)}}if(!isSameTag){return false}stackA||(stackA=[]);stackB||(stackB=[]);var length=stackA.length;while(length--){if(stackA[length]==object){return stackB[length]==other}}stackA.push(object);stackB.push(other);var result=(objIsArr?equalArrays:equalObjects)(object,other,equalFunc,customizer,isLoose,stackA,stackB);stackA.pop();stackB.pop();return result}function equalArrays(array,other,equalFunc,customizer,isLoose,stackA,stackB){var index=-1,arrLength=array.length,othLength=other.length;if(arrLength!=othLength&&!(isLoose&&othLength>arrLength)){return false}while(++index<arrLength){var arrValue=array[index],othValue=other[index],result=customizer?customizer(isLoose?othValue:arrValue,isLoose?arrValue:othValue,index):undefined;if(result!==undefined){if(result){continue}return false}if(isLoose){if(!arraySome(other,function(othValue){return arrValue===othValue||equalFunc(arrValue,othValue,customizer,isLoose,stackA,stackB)})){return false}}else if(!(arrValue===othValue||equalFunc(arrValue,othValue,customizer,isLoose,stackA,stackB))){return false}}return true}function equalByTag(object,other,tag){switch(tag){case boolTag:case dateTag:return+object==+other;case errorTag:return object.name==other.name&&object.message==other.message;case numberTag:return object!=+object?other!=+other:object==+other;case regexpTag:case stringTag:return object==other+""}return false}function equalObjects(object,other,equalFunc,customizer,isLoose,stackA,stackB){var objProps=keys(object),objLength=objProps.length,othProps=keys(other),othLength=othProps.length;if(objLength!=othLength&&!isLoose){return false}var index=objLength;while(index--){var key=objProps[index];if(!(isLoose?key in other:hasOwnProperty.call(other,key))){return false}}var skipCtor=isLoose;while(++index<objLength){key=objProps[index];var objValue=object[key],othValue=other[key],result=customizer?customizer(isLoose?othValue:objValue,isLoose?objValue:othValue,key):undefined;if(!(result===undefined?equalFunc(objValue,othValue,customizer,isLoose,stackA,stackB):result)){return false}skipCtor||(skipCtor=key=="constructor")}if(!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;if(objCtor!=othCtor&&("constructor"in object&&"constructor"in other)&&!(typeof objCtor=="function"&&objCtor instanceof objCtor&&typeof othCtor=="function"&&othCtor instanceof othCtor)){return false}}return true}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}module.exports=baseIsEqual},{"lodash.isarray":35,"lodash.istypedarray":29,"lodash.keys":36}],29:[function(require,module,exports){var argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",weakMapTag="[object WeakMap]";var arrayBufferTag="[object ArrayBuffer]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]";var typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=true;typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=false;function isObjectLike(value){return!!value&&typeof value=="object"}var objectProto=Object.prototype;var objToString=objectProto.toString;var MAX_SAFE_INTEGER=9007199254740991;function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isTypedArray(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[objToString.call(value)]}module.exports=isTypedArray},{}],30:[function(require,module,exports){function bindCallback(func,thisArg,argCount){if(typeof func!="function"){return identity}if(thisArg===undefined){return func}switch(argCount){case 1:return function(value){return func.call(thisArg,value)};case 3:return function(value,index,collection){return func.call(thisArg,value,index,collection)};case 4:return function(accumulator,value,index,collection){return func.call(thisArg,accumulator,value,index,collection)};case 5:return function(value,other,key,object,source){return func.call(thisArg,value,other,key,object,source)}}return function(){return func.apply(thisArg,arguments)}}function identity(value){return value}module.exports=bindCallback},{}],31:[function(require,module,exports){var keys=require("lodash.keys");function toObject(value){return isObject(value)?value:Object(value)}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function pairs(object){object=toObject(object);var index=-1,props=keys(object),length=props.length,result=Array(length);while(++index<length){var key=props[index];result[index]=[key,object[key]]}return result}module.exports=pairs},{"lodash.keys":36}],32:[function(require,module,exports){var keys=require("lodash.keys");var MAX_SAFE_INTEGER=9007199254740991;var baseEach=createBaseEach(baseForOwn);var baseFor=createBaseFor();function baseForOwn(object,iteratee){return baseFor(object,iteratee,keys)}function baseProperty(key){return function(object){return object==null?undefined:object[key]}}function createBaseEach(eachFunc,fromRight){return function(collection,iteratee){var length=collection?getLength(collection):0;if(!isLength(length)){return eachFunc(collection,iteratee)}var index=fromRight?length:-1,iterable=toObject(collection);while(fromRight?index--:++index<length){if(iteratee(iterable[index],index,iterable)===false){break}}return collection}}function createBaseFor(fromRight){return function(object,iteratee,keysFunc){var iterable=toObject(object),props=keysFunc(object),length=props.length,index=fromRight?length:-1;while(fromRight?index--:++index<length){var key=props[index];if(iteratee(iterable[key],key,iterable)===false){break}}return object}}var getLength=baseProperty("length");function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function toObject(value){return isObject(value)?value:Object(value)}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}module.exports=baseEach},{"lodash.keys":36}],33:[function(require,module,exports){function baseFind(collection,predicate,eachFunc,retKey){var result;eachFunc(collection,function(value,key,collection){if(predicate(value,key,collection)){result=retKey?key:value;return false}});return result}module.exports=baseFind},{}],34:[function(require,module,exports){function baseFindIndex(array,predicate,fromRight){var length=array.length,index=fromRight?length:-1;while(fromRight?index--:++index<length){if(predicate(array[index],index,array)){return index}}return-1}module.exports=baseFindIndex},{}],35:[function(require,module,exports){arguments[4][8][0].apply(exports,arguments)},{dup:8}],36:[function(require,module,exports){arguments[4][10][0].apply(exports,arguments)},{dup:10,"lodash._getnative":37,"lodash.isarguments":38,"lodash.isarray":35}],37:[function(require,module,exports){arguments[4][11][0].apply(exports,arguments)},{dup:11}],38:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],39:[function(require,module,exports){if(typeof window!=="undefined"){window.ampersand=window.ampersand||{};window.ampersand["ampersand-dom-bindings"]=window.ampersand["ampersand-dom-bindings"]||[];window.ampersand["ampersand-dom-bindings"].push("3.5.0")}var Store=require("key-tree-store");var dom=require("ampersand-dom");var matchesSelector=require("matches-selector");module.exports=function(bindings,context){var store=new Store;var key,current;for(key in bindings){current=bindings[key];if(typeof current==="string"){store.add(key,getBindingFunc({type:"text",selector:current}))}else if(current.forEach){current.forEach(function(binding){store.add(key,getBindingFunc(binding,context))})}else{store.add(key,getBindingFunc(current,context))}}return store};var slice=Array.prototype.slice;function getMatches(el,selector){if(selector==="")return[el];var matches=[];if(matchesSelector(el,selector))matches.push(el);return matches.concat(slice.call(el.querySelectorAll(selector)))}function setAttributes(el,attrs){for(var name in attrs){dom.setAttribute(el,name,attrs[name])}}function removeAttributes(el,attrs){for(var name in attrs){dom.removeAttribute(el,name)}}function makeArray(val){return Array.isArray(val)?val:[val]}function getBindingFunc(binding,context){var type=binding.type||"text";var isCustomBinding=typeof type==="function";var selector=function(){if(typeof binding.selector==="string"){return binding.selector}else if(binding.hook){return'[data-hook~="'+binding.hook+'"]'}else{return""}}();var yes=binding.yes;var no=binding.no;var hasYesNo=!!(yes||no);var previousValue;if(isCustomBinding){return function(el,value){getMatches(el,selector).forEach(function(match){type.call(context,match,value,previousValue)});previousValue=value}}else if(type==="text"){return function(el,value){getMatches(el,selector).forEach(function(match){dom.text(match,value)})}}else if(type==="class"){return function(el,value){getMatches(el,selector).forEach(function(match){dom.switchClass(match,previousValue,value)});previousValue=value}}else if(type==="attribute"){if(!binding.name)throw Error('attribute bindings must have a "name"');return function(el,value){var names=makeArray(binding.name);getMatches(el,selector).forEach(function(match){names.forEach(function(name){dom.setAttribute(match,name,value)})});previousValue=value}}else if(type==="value"){return function(el,value){getMatches(el,selector).forEach(function(match){if(!value&&value!==0)value="";if(document.activeElement!==match)match.value=value});previousValue=value}}else if(type==="booleanClass"){if(hasYesNo){yes=makeArray(yes||"");no=makeArray(no||"");return function(el,value){var prevClass=value?no:yes;var newClass=value?yes:no;getMatches(el,selector).forEach(function(match){prevClass.forEach(function(pc){dom.removeClass(match,pc)});newClass.forEach(function(nc){dom.addClass(match,nc)})})}}else{return function(el,value,keyName){var name=makeArray(binding.name||keyName);getMatches(el,selector).forEach(function(match){name.forEach(function(className){dom[value?"addClass":"removeClass"](match,className)})})}}}else if(type==="booleanAttribute"){if(hasYesNo){yes=makeArray(yes||"");no=makeArray(no||"");return function(el,value){var prevAttribute=value?no:yes;var newAttribute=value?yes:no;getMatches(el,selector).forEach(function(match){prevAttribute.forEach(function(pa){if(pa){dom.removeAttribute(match,pa)}});newAttribute.forEach(function(na){if(na){dom.addAttribute(match,na)}})})}}else{return function(el,value,keyName){var name=makeArray(binding.name||keyName);getMatches(el,selector).forEach(function(match){name.forEach(function(attr){dom[value?"addAttribute":"removeAttribute"](match,attr)})})}}}else if(type==="toggle"){var mode=binding.mode||"display";if(hasYesNo){return function(el,value){getMatches(el,yes).forEach(function(match){dom[value?"show":"hide"](match,mode)});getMatches(el,no).forEach(function(match){dom[value?"hide":"show"](match,mode)})}}else{return function(el,value){getMatches(el,selector).forEach(function(match){dom[value?"show":"hide"](match,mode)})}}}else if(type==="switch"){if(!binding.cases)throw Error('switch bindings must have "cases"');return function(el,value){for(var item in binding.cases){getMatches(el,binding.cases[item]).forEach(function(match){dom[value===item?"show":"hide"](match)})}}}else if(type==="innerHTML"){return function(el,value){getMatches(el,selector).forEach(function(match){dom.html(match,value)})}}else if(type==="switchClass"){if(!binding.cases)throw Error('switchClass bindings must have "cases"');return function(el,value,keyName){var name=makeArray(binding.name||keyName);for(var item in binding.cases){getMatches(el,binding.cases[item]).forEach(function(match){name.forEach(function(className){dom[value===item?"addClass":"removeClass"](match,className)})})}}}else if(type==="switchAttribute"){if(!binding.cases)throw Error('switchAttribute bindings must have "cases"');return function(el,value,keyName){getMatches(el,selector).forEach(function(match){if(previousValue){removeAttributes(match,previousValue)}if(value in binding.cases){var attrs=binding.cases[value];if(typeof attrs==="string"){attrs={};attrs[binding.name||keyName]=binding.cases[value]}setAttributes(match,attrs);previousValue=attrs}})}}else{throw new Error("no such binding type: "+type)}}},{"ampersand-dom":1,"key-tree-store":40,"matches-selector":180}],40:[function(require,module,exports){var slice=Array.prototype.slice;function KeyTreeStore(){this.storage={}}KeyTreeStore.prototype.add=function(keypath,obj){var arr=this.storage[keypath]||(this.storage[keypath]=[]);arr.push(obj)};KeyTreeStore.prototype.remove=function(obj){var path,arr;for(path in this.storage){arr=this.storage[path];arr.some(function(item,index){if(item===obj){arr.splice(index,1);return true}})}};KeyTreeStore.prototype.get=function(keypath){var res=[];var key;for(key in this.storage){if(!keypath||keypath===key||key.indexOf(keypath+".")===0){res=res.concat(this.storage[key])}}return res};KeyTreeStore.prototype.getGrouped=function(keypath){var res={};var key;for(key in this.storage){if(!keypath||keypath===key||key.indexOf(keypath+".")===0){res[key]=slice.call(this.storage[key])}}return res};KeyTreeStore.prototype.getAll=function(keypath){var res={};var key;for(key in this.storage){if(keypath===key||key.indexOf(keypath+".")===0){res[key]=slice.call(this.storage[key])}}return res};KeyTreeStore.prototype.run=function(keypath,context){var args=slice.call(arguments,2);this.get(keypath).forEach(function(fn){fn.apply(context||this,args)})};module.exports=KeyTreeStore},{}],41:[function(require,module,exports){if(typeof window!=="undefined"){window.ampersand=window.ampersand||{};window.ampersand["ampersand-state"]=window.ampersand["ampersand-state"]||[];window.ampersand["ampersand-state"].push("4.5.6")}var uniqueId=require("lodash.uniqueid");var assign=require("lodash.assign");var omit=require("lodash.omit");var escape=require("lodash.escape");var forEach=require("lodash.foreach");var includes=require("lodash.includes");var isString=require("lodash.isstring");var isObject=require("lodash.isobject");var isArray=require("lodash.isarray");var isDate=require("lodash.isdate");var isUndefined=require("lodash.isundefined");var isFunction=require("lodash.isfunction");var isNull=require("lodash.isnull");var isEmpty=require("lodash.isempty");var isEqual=require("lodash.isequal");var clone=require("lodash.clone");var has=require("lodash.has");var result=require("lodash.result");var keys=require("lodash.keys");var bind=require("lodash.bind");var defaults=require("lodash.defaults");var union=require("lodash.union");var Events=require("ampersand-events");var KeyTree=require("key-tree-store");var arrayNext=require("array-next");var changeRE=/^change:/;function Base(attrs,options){options||(options={});this.cid||(this.cid=uniqueId("state"));this._events={};this._values={};this._definition=Object.create(this._definition);if(options.parse)attrs=this.parse(attrs,options);this.parent=options.parent;this.collection=options.collection;this._keyTree=new KeyTree;this._initCollections();this._initChildren();this._cache={};this._previousAttributes={};if(attrs)this.set(attrs,assign({silent:true,initial:true},options));this._changed={};if(this._derived)this._initDerived();if(options.init!==false)this.initialize.apply(this,arguments)}assign(Base.prototype,Events,{extraProperties:"ignore",idAttribute:"id",namespaceAttribute:"namespace",typeAttribute:"modelType",initialize:function(){return this},getId:function(){return this[this.idAttribute]},getNamespace:function(){return this[this.namespaceAttribute]},getType:function(){return this[this.typeAttribute]},isNew:function(){return this.getId()==null},escape:function(attr){return escape(this.get(attr))},isValid:function(options){return this._validate({},assign(options||{},{validate:true}))},parse:function(resp,options){return resp},serialize:function(){var res=this.getAttributes({props:true},true);forEach(this._children,function(value,key){res[key]=this[key].serialize()},this);forEach(this._collections,function(value,key){res[key]=this[key].serialize()},this);return res},set:function(key,value,options){var self=this;var extraProperties=this.extraProperties;var changing,changes,newType,newVal,def,cast,err,attr,attrs,dataType,silent,unset,currentVal,initial,hasChanged,isEqual;if(isObject(key)||key===null){attrs=key;options=value}else{attrs={};attrs[key]=value}options=options||{};if(!this._validate(attrs,options))return false;unset=options.unset;silent=options.silent;initial=options.initial;changes=[];changing=this._changing;this._changing=true;if(!changing){this._previousAttributes=this.attributes;this._changed={}}for(attr in attrs){newVal=attrs[attr];newType=typeof newVal;currentVal=this._values[attr];def=this._definition[attr];if(!def){if(this._children[attr]||this._collections[attr]){this[attr].set(newVal,options);continue}else if(extraProperties==="ignore"){continue}else if(extraProperties==="reject"){throw new TypeError('No "'+attr+'" property defined on '+(this.type||"this")+' model and extraProperties not set to "ignore" or "allow"')}else if(extraProperties==="allow"){def=this._createPropertyDefinition(attr,"any")}else if(extraProperties){throw new TypeError('Invalid value for extraProperties: "'+extraProperties+'"')}}isEqual=this._getCompareForType(def.type);dataType=this._dataTypes[def.type];if(dataType&&dataType.set){cast=dataType.set(newVal);newVal=cast.val;newType=cast.type}if(def.test){err=def.test.call(this,newVal,newType);if(err){throw new TypeError("Property '"+attr+"' failed validation with error: "+err)}}if(isUndefined(newVal)&&def.required){throw new TypeError("Required property '"+attr+"' must be of type "+def.type+". Tried to set "+newVal)}if(isNull(newVal)&&def.required&&!def.allowNull){throw new TypeError("Property '"+attr+"' must be of type "+def.type+" (cannot be null). Tried to set "+newVal)}if(def.type&&def.type!=="any"&&def.type!==newType&&!isNull(newVal)&&!isUndefined(newVal)){throw new TypeError("Property '"+attr+"' must be of type "+def.type+". Tried to set "+newVal)}if(def.values&&!includes(def.values,newVal)){throw new TypeError("Property '"+attr+"' must be one of values: "+def.values.join(", ")+". Tried to set "+newVal)}hasChanged=!isEqual(currentVal,newVal,attr);if(def.setOnce&&currentVal!==undefined&&hasChanged&&!initial){throw new TypeError("Property '"+attr+"' can only be set once.")}if(hasChanged){changes.push({prev:currentVal,val:newVal,key:attr});self._changed[attr]=newVal}else{delete self._changed[attr]}}forEach(changes,function(change){self._previousAttributes[change.key]=change.prev;if(unset){delete self._values[change.key]}else{self._values[change.key]=change.val}});if(!silent&&changes.length)self._pending=true;if(!silent){forEach(changes,function(change){self.trigger("change:"+change.key,self,change.val,options)})}if(changing)return this;if(!silent){while(this._pending){this._pending=false;this.trigger("change",this,options)}}this._pending=false;this._changing=false;return this},get:function(attr){return this[attr]},toggle:function(property){var def=this._definition[property];if(def.type==="boolean"){this[property]=!this[property]}else if(def&&def.values){this[property]=arrayNext(def.values,this[property])}else{throw new TypeError("Can only toggle properties that are type `boolean` or have `values` array.")}return this},previousAttributes:function(){return clone(this._previousAttributes)},hasChanged:function(attr){if(attr==null)return!isEmpty(this._changed);return has(this._changed,attr)},changedAttributes:function(diff){if(!diff)return this.hasChanged()?clone(this._changed):false;var val,changed=false;var old=this._changing?this._previousAttributes:this.attributes;var def,isEqual;for(var attr in diff){def=this._definition[attr];if(!def)continue;isEqual=this._getCompareForType(def.type);if(isEqual(old[attr],val=diff[attr]))continue;(changed||(changed={}))[attr]=val}return changed},toJSON:function(){return this.serialize()},unset:function(attrs,options){attrs=Array.isArray(attrs)?attrs:[attrs];forEach(attrs,function(key){var def=this._definition[key];var val;if(def.required){val=result(def,"default");return this.set(key,val,options)}else{return this.set(key,val,assign({},options,{unset:true}))}},this)},clear:function(options){var self=this;forEach(keys(this.attributes),function(key){self.unset(key,options)});return this},previous:function(attr){if(attr==null||!Object.keys(this._previousAttributes).length)return null;return this._previousAttributes[attr]},_getDefaultForType:function(type){var dataType=this._dataTypes[type];return dataType&&dataType["default"]},_getCompareForType:function(type){var dataType=this._dataTypes[type];if(dataType&&dataType.compare)return bind(dataType.compare,this);return isEqual},_validate:function(attrs,options){if(!options.validate||!this.validate)return true;attrs=assign({},this.attributes,attrs);var error=this.validationError=this.validate(attrs,options)||null;if(!error)return true;this.trigger("invalid",this,error,assign(options||{},{validationError:error}));return false},_createPropertyDefinition:function(name,desc,isSession){return createPropertyDefinition(this,name,desc,isSession)},_ensureValidType:function(type){return includes(["string","number","boolean","array","object","date","any"].concat(keys(this._dataTypes)),type)?type:undefined},getAttributes:function(options,raw){options||(options={});defaults(options,{session:false,props:false,derived:false});var res={};var val,item,def;for(item in this._definition){def=this._definition[item];if(options.session&&def.session||options.props&&!def.session){val=raw?this._values[item]:this[item];if(typeof val==="undefined")val=result(def,"default");if(typeof val!=="undefined")res[item]=val}}if(options.derived){for(item in this._derived)res[item]=this[item]}return res},_initDerived:function(){var self=this;forEach(this._derived,function(value,name){var def=self._derived[name];def.deps=def.depList;var update=function(options){options=options||{};var newVal=def.fn.call(self);if(self._cache[name]!==newVal||!def.cache){if(def.cache){self._previousAttributes[name]=self._cache[name]}self._cache[name]=newVal;self.trigger("change:"+name,self,self._cache[name])}};def.deps.forEach(function(propString){self._keyTree.add(propString,update)})});this.on("all",function(eventName){if(changeRE.test(eventName)){self._keyTree.get(eventName.split(":")[1]).forEach(function(fn){fn()})}},this)},_getDerivedProperty:function(name,flushCache){if(this._derived[name].cache){if(flushCache||!this._cache.hasOwnProperty(name)){this._cache[name]=this._derived[name].fn.apply(this)}return this._cache[name]}else{return this._derived[name].fn.apply(this)}},_initCollections:function(){var coll;if(!this._collections)return;for(coll in this._collections){this[coll]=new this._collections[coll](null,{parent:this})}},
_initChildren:function(){var child;if(!this._children)return;for(child in this._children){this[child]=new this._children[child]({},{parent:this});this.listenTo(this[child],"all",this._getEventBubblingHandler(child))}},_getEventBubblingHandler:function(propertyName){return bind(function(name,model,newValue){if(changeRE.test(name)){this.trigger("change:"+propertyName+"."+name.split(":")[1],model,newValue)}else if(name==="change"){this.trigger("change",this)}},this)},_verifyRequired:function(){var attrs=this.attributes;for(var def in this._definition){if(this._definition[def].required&&typeof attrs[def]==="undefined"){return false}}return true}});Object.defineProperties(Base.prototype,{attributes:{get:function(){return this.getAttributes({props:true,session:true})}},all:{get:function(){return this.getAttributes({session:true,props:true,derived:true})}},isState:{get:function(){return true},set:function(){}}});function createPropertyDefinition(object,name,desc,isSession){var def=object._definition[name]={};var type,descArray;if(isString(desc)){type=object._ensureValidType(desc);if(type)def.type=type}else{if(isArray(desc)){descArray=desc;desc={type:descArray[0],required:descArray[1],"default":descArray[2]}}type=object._ensureValidType(desc.type);if(type)def.type=type;if(desc.required)def.required=true;if(desc["default"]&&typeof desc["default"]==="object"){throw new TypeError("The default value for "+name+" cannot be an object/array, must be a value or a function which returns a value/object/array")}def["default"]=desc["default"];def.allowNull=desc.allowNull?desc.allowNull:false;if(desc.setOnce)def.setOnce=true;if(def.required&&isUndefined(def["default"])&&!def.setOnce)def["default"]=object._getDefaultForType(type);def.test=desc.test;def.values=desc.values}if(isSession)def.session=true;Object.defineProperty(object,name,{set:function(val){this.set(name,val)},get:function(){if(!this._values){throw Error('You may be trying to `extend` a state object with "'+name+'" which has been defined in `props` on the object being extended')}var value=this._values[name];var typeDef=this._dataTypes[def.type];if(typeof value!=="undefined"){if(typeDef&&typeDef.get){value=typeDef.get(value)}return value}value=result(def,"default");this._values[name]=value;return value}});return def}function createDerivedProperty(modelProto,name,definition){var def=modelProto._derived[name]={fn:isFunction(definition)?definition:definition.fn,cache:definition.cache!==false,depList:definition.deps||[]};forEach(def.depList,function(dep){modelProto._deps[dep]=union(modelProto._deps[dep]||[],[name])});Object.defineProperty(modelProto,name,{get:function(){return this._getDerivedProperty(name)},set:function(){throw new TypeError('"'+name+"\" is a derived property, it can't be set directly.")}})}var dataTypes={string:{"default":function(){return""}},date:{set:function(newVal){var newType;if(newVal==null){newType=typeof null}else if(!isDate(newVal)){try{var dateVal=new Date(newVal).valueOf();if(isNaN(dateVal)){dateVal=new Date(parseInt(newVal,10)).valueOf();if(isNaN(dateVal))throw TypeError}newVal=dateVal;newType="date"}catch(e){newType=typeof newVal}}else{newType="date";newVal=newVal.valueOf()}return{val:newVal,type:newType}},get:function(val){if(val==null){return val}return new Date(val)},"default":function(){return new Date}},array:{set:function(newVal){return{val:newVal,type:isArray(newVal)?"array":typeof newVal}},"default":function(){return[]}},object:{set:function(newVal){var newType=typeof newVal;if(newType!=="object"&&isUndefined(newVal)){newVal=null;newType="object"}return{val:newVal,type:newType}},"default":function(){return{}}},state:{set:function(newVal){var isInstance=newVal instanceof Base||newVal&&newVal.isState;if(isInstance){return{val:newVal,type:"state"}}else{return{val:newVal,type:typeof newVal}}},compare:function(currentVal,newVal,attributeName){var isSame=currentVal===newVal;if(!isSame){if(currentVal){this.stopListening(currentVal)}if(newVal!=null){this.listenTo(newVal,"all",this._getEventBubblingHandler(attributeName))}}return isSame}}};function extend(protoProps){var parent=this;var child;var args=[].slice.call(arguments);if(protoProps&&protoProps.hasOwnProperty("constructor")){child=protoProps.constructor}else{child=function(){return parent.apply(this,arguments)}}assign(child,parent);var Surrogate=function(){this.constructor=child};Surrogate.prototype=parent.prototype;child.prototype=new Surrogate;child.prototype._derived=assign({},parent.prototype._derived);child.prototype._deps=assign({},parent.prototype._deps);child.prototype._definition=assign({},parent.prototype._definition);child.prototype._collections=assign({},parent.prototype._collections);child.prototype._children=assign({},parent.prototype._children);child.prototype._dataTypes=assign({},parent.prototype._dataTypes||dataTypes);if(protoProps){var omitFromExtend=["dataTypes","props","session","derived","collections","children"];args.forEach(function processArg(def){if(def.dataTypes){forEach(def.dataTypes,function(def,name){child.prototype._dataTypes[name]=def})}if(def.props){forEach(def.props,function(def,name){createPropertyDefinition(child.prototype,name,def)})}if(def.session){forEach(def.session,function(def,name){createPropertyDefinition(child.prototype,name,def,true)})}if(def.derived){forEach(def.derived,function(def,name){createDerivedProperty(child.prototype,name,def)})}if(def.collections){forEach(def.collections,function(constructor,name){child.prototype._collections[name]=constructor})}if(def.children){forEach(def.children,function(constructor,name){child.prototype._children[name]=constructor})}assign(child.prototype,omit(def,omitFromExtend))})}child.__super__=parent.prototype;return child}Base.extend=extend;module.exports=Base},{"ampersand-events":42,"array-next":45,"key-tree-store":46,"lodash.assign":117,"lodash.bind":128,"lodash.clone":47,"lodash.defaults":57,"lodash.escape":59,"lodash.foreach":139,"lodash.has":61,"lodash.includes":66,"lodash.isarray":70,"lodash.isdate":71,"lodash.isempty":72,"lodash.isequal":74,"lodash.isfunction":78,"lodash.isnull":79,"lodash.isobject":80,"lodash.isstring":158,"lodash.isundefined":81,"lodash.keys":82,"lodash.omit":85,"lodash.result":172,"lodash.union":101,"lodash.uniqueid":178}],42:[function(require,module,exports){arguments[4][5][0].apply(exports,arguments)},{dup:5,"lodash.assign":117,"lodash.bind":128,"lodash.foreach":139,"lodash.isempty":72,"lodash.keys":82,"lodash.once":43,"lodash.uniqueid":178}],43:[function(require,module,exports){arguments[4][14][0].apply(exports,arguments)},{dup:14,"lodash.before":44}],44:[function(require,module,exports){arguments[4][15][0].apply(exports,arguments)},{dup:15}],45:[function(require,module,exports){module.exports=function arrayNext(array,currentItem){var len=array.length;var newIndex=array.indexOf(currentItem)+1;if(newIndex>len-1)newIndex=0;return array[newIndex]}},{}],46:[function(require,module,exports){arguments[4][40][0].apply(exports,arguments)},{dup:40}],47:[function(require,module,exports){var baseClone=require("lodash._baseclone"),bindCallback=require("lodash._bindcallback"),isIterateeCall=require("lodash._isiterateecall");function clone(value,isDeep,customizer,thisArg){if(isDeep&&typeof isDeep!="boolean"&&isIterateeCall(value,isDeep,customizer)){isDeep=false}else if(typeof isDeep=="function"){thisArg=customizer;customizer=isDeep;isDeep=false}return typeof customizer=="function"?baseClone(value,isDeep,bindCallback(customizer,thisArg,1)):baseClone(value,isDeep)}module.exports=clone},{"lodash._baseclone":48,"lodash._bindcallback":55,"lodash._isiterateecall":56}],48:[function(require,module,exports){(function(global){var arrayCopy=require("lodash._arraycopy"),arrayEach=require("lodash._arrayeach"),baseAssign=require("lodash._baseassign"),baseFor=require("lodash._basefor"),getNative=require("lodash._getnative"),isArray=require("lodash.isarray"),keys=require("lodash.keys");var argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",weakMapTag="[object WeakMap]";var arrayBufferTag="[object ArrayBuffer]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]";var reFlags=/\w*$/;var cloneableTags={};cloneableTags[argsTag]=cloneableTags[arrayTag]=cloneableTags[arrayBufferTag]=cloneableTags[boolTag]=cloneableTags[dateTag]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[numberTag]=cloneableTags[objectTag]=cloneableTags[regexpTag]=cloneableTags[stringTag]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=true;cloneableTags[errorTag]=cloneableTags[funcTag]=cloneableTags[mapTag]=cloneableTags[setTag]=cloneableTags[weakMapTag]=false;var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;var objToString=objectProto.toString;var ArrayBuffer=getNative(global,"ArrayBuffer"),bufferSlice=getNative(ArrayBuffer&&new ArrayBuffer(0),"slice"),floor=Math.floor,Uint8Array=getNative(global,"Uint8Array");var Float64Array=function(){try{var func=getNative(global,"Float64Array"),result=new func(new ArrayBuffer(10),0,1)&&func}catch(e){}return result||null}();var FLOAT64_BYTES_PER_ELEMENT=Float64Array?Float64Array.BYTES_PER_ELEMENT:0;function baseClone(value,isDeep,customizer,key,object,stackA,stackB){var result;if(customizer){result=object?customizer(value,key,object):customizer(value)}if(result!==undefined){return result}if(!isObject(value)){return value}var isArr=isArray(value);if(isArr){result=initCloneArray(value);if(!isDeep){return arrayCopy(value,result)}}else{var tag=objToString.call(value),isFunc=tag==funcTag;if(tag==objectTag||tag==argsTag||isFunc&&!object){result=initCloneObject(isFunc?{}:value);if(!isDeep){return baseAssign(result,value)}}else{return cloneableTags[tag]?initCloneByTag(value,tag,isDeep):object?value:{}}}stackA||(stackA=[]);stackB||(stackB=[]);var length=stackA.length;while(length--){if(stackA[length]==value){return stackB[length]}}stackA.push(value);stackB.push(result);(isArr?arrayEach:baseForOwn)(value,function(subValue,key){result[key]=baseClone(subValue,isDeep,customizer,key,value,stackA,stackB)});return result}function baseForOwn(object,iteratee){return baseFor(object,iteratee,keys)}function bufferClone(buffer){return bufferSlice.call(buffer,0)}if(!bufferSlice){bufferClone=!(ArrayBuffer&&Uint8Array)?constant(null):function(buffer){var byteLength=buffer.byteLength,floatLength=Float64Array?floor(byteLength/FLOAT64_BYTES_PER_ELEMENT):0,offset=floatLength*FLOAT64_BYTES_PER_ELEMENT,result=new ArrayBuffer(byteLength);if(floatLength){var view=new Float64Array(result,0,floatLength);view.set(new Float64Array(buffer,0,floatLength))}if(byteLength!=offset){view=new Uint8Array(result,offset);view.set(new Uint8Array(buffer,offset))}return result}}function initCloneArray(array){var length=array.length,result=new array.constructor(length);if(length&&typeof array[0]=="string"&&hasOwnProperty.call(array,"index")){result.index=array.index;result.input=array.input}return result}function initCloneObject(object){var Ctor=object.constructor;if(!(typeof Ctor=="function"&&Ctor instanceof Ctor)){Ctor=Object}return new Ctor}function initCloneByTag(object,tag,isDeep){var Ctor=object.constructor;switch(tag){case arrayBufferTag:return bufferClone(object);case boolTag:case dateTag:return new Ctor(+object);case float32Tag:case float64Tag:case int8Tag:case int16Tag:case int32Tag:case uint8Tag:case uint8ClampedTag:case uint16Tag:case uint32Tag:var buffer=object.buffer;return new Ctor(isDeep?bufferClone(buffer):buffer,object.byteOffset,object.length);case numberTag:case stringTag:return new Ctor(object);case regexpTag:var result=new Ctor(object.source,reFlags.exec(object));result.lastIndex=object.lastIndex}return result}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function constant(value){return function(){return value}}module.exports=baseClone}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"lodash._arraycopy":49,"lodash._arrayeach":50,"lodash._baseassign":51,"lodash._basefor":53,"lodash._getnative":54,"lodash.isarray":70,"lodash.keys":82}],49:[function(require,module,exports){function arrayCopy(source,array){var index=-1,length=source.length;array||(array=Array(length));while(++index<length){array[index]=source[index]}return array}module.exports=arrayCopy},{}],50:[function(require,module,exports){function arrayEach(array,iteratee){var index=-1,length=array.length;while(++index<length){if(iteratee(array[index],index,array)===false){break}}return array}module.exports=arrayEach},{}],51:[function(require,module,exports){var baseCopy=require("lodash._basecopy"),keys=require("lodash.keys");function baseAssign(object,source){return source==null?object:baseCopy(source,keys(source),object)}module.exports=baseAssign},{"lodash._basecopy":52,"lodash.keys":82}],52:[function(require,module,exports){function baseCopy(source,props,object){object||(object={});var index=-1,length=props.length;while(++index<length){var key=props[index];object[key]=source[key]}return object}module.exports=baseCopy},{}],53:[function(require,module,exports){var baseFor=createBaseFor();function createBaseFor(fromRight){return function(object,iteratee,keysFunc){var iterable=toObject(object),props=keysFunc(object),length=props.length,index=fromRight?length:-1;while(fromRight?index--:++index<length){var key=props[index];if(iteratee(iterable[key],key,iterable)===false){break}}return object}}function toObject(value){return isObject(value)?value:Object(value)}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}module.exports=baseFor},{}],54:[function(require,module,exports){arguments[4][11][0].apply(exports,arguments)},{dup:11}],55:[function(require,module,exports){arguments[4][30][0].apply(exports,arguments)},{dup:30}],56:[function(require,module,exports){var reIsUint=/^\d+$/;var MAX_SAFE_INTEGER=9007199254740991;function baseProperty(key){return function(object){return object==null?undefined:object[key]}}var getLength=baseProperty("length");function isArrayLike(value){return value!=null&&isLength(getLength(value))}function isIndex(value,length){value=typeof value=="number"||reIsUint.test(value)?+value:-1;length=length==null?MAX_SAFE_INTEGER:length;return value>-1&&value%1==0&&value<length}function isIterateeCall(value,index,object){if(!isObject(object)){return false}var type=typeof index;if(type=="number"?isArrayLike(object)&&isIndex(index,object.length):type=="string"&&index in object){var other=object[index];return value===value?value===other:other!==other}return false}function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}module.exports=isIterateeCall},{}],57:[function(require,module,exports){var assign=require("lodash.assign"),restParam=require("lodash.restparam");function assignDefaults(objectValue,sourceValue){return objectValue===undefined?sourceValue:objectValue}var defaults=restParam(function(args){var object=args[0];if(object==null){return object}args.push(assignDefaults);return assign.apply(undefined,args)});module.exports=defaults},{"lodash.assign":117,"lodash.restparam":58}],58:[function(require,module,exports){arguments[4][25][0].apply(exports,arguments)},{dup:25}],59:[function(require,module,exports){var baseToString=require("lodash._basetostring");var reUnescapedHtml=/[&<>"'`]/g,reHasUnescapedHtml=RegExp(reUnescapedHtml.source);var htmlEscapes={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"};function escapeHtmlChar(chr){return htmlEscapes[chr]}function escape(string){string=baseToString(string);return string&&reHasUnescapedHtml.test(string)?string.replace(reUnescapedHtml,escapeHtmlChar):string}module.exports=escape},{"lodash._basetostring":60}],60:[function(require,module,exports){function baseToString(value){if(typeof value=="string"){return value}return value==null?"":value+""}module.exports=baseToString},{}],61:[function(require,module,exports){var baseGet=require("lodash._baseget"),baseSlice=require("lodash._baseslice"),toPath=require("lodash._topath"),isArguments=require("lodash.isarguments"),isArray=require("lodash.isarray");var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;var reIsUint=/^\d+$/;var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;var MAX_SAFE_INTEGER=9007199254740991;function isIndex(value,length){value=typeof value=="number"||reIsUint.test(value)?+value:-1;length=length==null?MAX_SAFE_INTEGER:length;return value>-1&&value%1==0&&value<length}function isKey(value,object){var type=typeof value;if(type=="string"&&reIsPlainProp.test(value)||type=="number"){return true}if(isArray(value)){return false}var result=!reIsDeepProp.test(value);return result||object!=null&&value in toObject(object)}function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function toObject(value){return isObject(value)?value:Object(value)}function last(array){var length=array?array.length:0;return length?array[length-1]:undefined}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function has(object,path){if(object==null){return false}var result=hasOwnProperty.call(object,path);if(!result&&!isKey(path)){path=toPath(path);object=path.length==1?object:baseGet(object,baseSlice(path,0,-1));if(object==null){return false}path=last(path);result=hasOwnProperty.call(object,path)}return result||isLength(object.length)&&isIndex(path,object.length)&&(isArray(object)||isArguments(object))}module.exports=has},{"lodash._baseget":62,"lodash._baseslice":63,"lodash._topath":64,"lodash.isarguments":65,"lodash.isarray":70}],62:[function(require,module,exports){function baseGet(object,path,pathKey){if(object==null){return}if(pathKey!==undefined&&pathKey in toObject(object)){path=[pathKey]}var index=0,length=path.length;while(object!=null&&index<length){object=object[path[index++]]}return index&&index==length?object:undefined}function toObject(value){return isObject(value)?value:Object(value)}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}module.exports=baseGet},{}],63:[function(require,module,exports){function baseSlice(array,start,end){var index=-1,length=array.length;start=start==null?0:+start||0;if(start<0){start=-start>length?0:length+start}end=end===undefined||end>length?length:+end||0;if(end<0){end+=length}length=start>end?0:end-start>>>0;start>>>=0;var result=Array(length);while(++index<length){result[index]=array[index+start]}return result}module.exports=baseSlice},{}],64:[function(require,module,exports){var isArray=require("lodash.isarray");var rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g;var reEscapeChar=/\\(\\)?/g;function baseToString(value){if(typeof value=="string"){return value}return value==null?"":value+""}function toPath(value){if(isArray(value)){return value}var result=[];baseToString(value).replace(rePropName,function(match,number,quote,string){result.push(quote?string.replace(reEscapeChar,"$1"):number||match)});return result}module.exports=toPath},{"lodash.isarray":70}],65:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],66:[function(require,module,exports){var baseIndexOf=require("lodash._baseindexof"),baseValues=require("lodash._basevalues"),isIterateeCall=require("lodash._isiterateecall"),isArray=require("lodash.isarray"),isString=require("lodash.isstring"),keys=require("lodash.keys");var nativeMax=Math.max;var MAX_SAFE_INTEGER=9007199254740991;function baseProperty(key){return function(object){return object==null?undefined:object[key]}}var getLength=baseProperty("length");function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function includes(collection,target,fromIndex,guard){var length=collection?getLength(collection):0;if(!isLength(length)){collection=values(collection);length=collection.length}if(!length){return false}if(typeof fromIndex!="number"||guard&&isIterateeCall(target,fromIndex,guard)){fromIndex=0}else{fromIndex=fromIndex<0?nativeMax(length+fromIndex,0):fromIndex||0}return typeof collection=="string"||!isArray(collection)&&isString(collection)?fromIndex<length&&collection.indexOf(target,fromIndex)>-1:baseIndexOf(collection,target,fromIndex)>-1}function values(object){return baseValues(object,keys(object))}module.exports=includes},{"lodash._baseindexof":67,"lodash._basevalues":68,"lodash._isiterateecall":69,"lodash.isarray":70,"lodash.isstring":158,"lodash.keys":82}],67:[function(require,module,exports){arguments[4][18][0].apply(exports,arguments)},{dup:18}],68:[function(require,module,exports){function baseValues(object,props){var index=-1,length=props.length,result=Array(length);while(++index<length){result[index]=object[props[index]]}return result}module.exports=baseValues},{}],69:[function(require,module,exports){arguments[4][56][0].apply(exports,arguments)},{dup:56}],70:[function(require,module,exports){arguments[4][8][0].apply(exports,arguments)},{dup:8}],71:[function(require,module,exports){var dateTag="[object Date]";function isObjectLike(value){return!!value&&typeof value=="object"}var objectProto=Object.prototype;var objToString=objectProto.toString;function isDate(value){return isObjectLike(value)&&objToString.call(value)==dateTag}module.exports=isDate},{}],72:[function(require,module,exports){arguments[4][6][0].apply(exports,arguments)},{dup:6,"lodash.isarguments":73,"lodash.isarray":70,"lodash.isfunction":78,"lodash.isstring":158,"lodash.keys":82}],73:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],74:[function(require,module,exports){var baseIsEqual=require("lodash._baseisequal"),bindCallback=require("lodash._bindcallback");function isEqual(value,other,customizer,thisArg){customizer=typeof customizer=="function"?bindCallback(customizer,thisArg,3):undefined;var result=customizer?customizer(value,other):undefined;return result===undefined?baseIsEqual(value,other,customizer):!!result}module.exports=isEqual},{"lodash._baseisequal":75,"lodash._bindcallback":77}],75:[function(require,module,exports){arguments[4][28][0].apply(exports,arguments)},{dup:28,"lodash.isarray":70,"lodash.istypedarray":76,"lodash.keys":82}],76:[function(require,module,exports){arguments[4][29][0].apply(exports,arguments)},{dup:29}],77:[function(require,module,exports){arguments[4][30][0].apply(exports,arguments)},{dup:30}],78:[function(require,module,exports){(function(global){var funcTag="[object Function]";var reRegExpChars=/[.*+?^${}()|[\]\/\\]/g,reHasRegExpChars=RegExp(reRegExpChars.source);var reIsHostCtor=/^\[object .+?Constructor\]$/;function baseIsFunction(value){return typeof value=="function"||false}function baseToString(value){if(typeof value=="string"){return value}return value==null?"":value+""}function isObjectLike(value){return!!value&&typeof value=="object"}var objectProto=Object.prototype;var fnToString=Function.prototype.toString;var hasOwnProperty=objectProto.hasOwnProperty;var objToString=objectProto.toString;var reIsNative=RegExp("^"+escapeRegExp(fnToString.call(hasOwnProperty)).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var Uint8Array=getNative(global,"Uint8Array");function getNative(object,key){var value=object==null?undefined:object[key];return isNative(value)?value:undefined}var isFunction=!(baseIsFunction(/x/)||Uint8Array&&!baseIsFunction(Uint8Array))?baseIsFunction:function(value){return objToString.call(value)==funcTag};function isNative(value){if(value==null){return false}if(objToString.call(value)==funcTag){return reIsNative.test(fnToString.call(value))}return isObjectLike(value)&&reIsHostCtor.test(value)}function escapeRegExp(string){string=baseToString(string);return string&&reHasRegExpChars.test(string)?string.replace(reRegExpChars,"\\$&"):string}module.exports=isFunction}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],79:[function(require,module,exports){function isNull(value){return value===null}module.exports=isNull},{}],80:[function(require,module,exports){function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}module.exports=isObject},{}],81:[function(require,module,exports){function isUndefined(value){return value===undefined}module.exports=isUndefined},{}],82:[function(require,module,exports){arguments[4][10][0].apply(exports,arguments)},{dup:10,"lodash._getnative":83,"lodash.isarguments":84,"lodash.isarray":70}],83:[function(require,module,exports){arguments[4][11][0].apply(exports,arguments)},{dup:11}],84:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],85:[function(require,module,exports){var arrayMap=require("lodash._arraymap"),baseDifference=require("lodash._basedifference"),baseFlatten=require("lodash._baseflatten"),bindCallback=require("lodash._bindcallback"),pickByArray=require("lodash._pickbyarray"),pickByCallback=require("lodash._pickbycallback"),keysIn=require("lodash.keysin"),restParam=require("lodash.restparam");var omit=restParam(function(object,props){if(object==null){return{}}if(typeof props[0]!="function"){var props=arrayMap(baseFlatten(props),String);return pickByArray(object,baseDifference(keysIn(object),props))}var predicate=bindCallback(props[0],props[1],3);return pickByCallback(object,function(value,key,object){return!predicate(value,key,object)})});module.exports=omit},{"lodash._arraymap":86,"lodash._basedifference":87,"lodash._baseflatten":92,"lodash._bindcallback":94,"lodash._pickbyarray":95,"lodash._pickbycallback":96,"lodash.keysin":98,"lodash.restparam":100}],86:[function(require,module,exports){function arrayMap(array,iteratee){var index=-1,length=array.length,result=Array(length);while(++index<length){result[index]=iteratee(array[index],index,array)}return result}module.exports=arrayMap},{}],87:[function(require,module,exports){arguments[4][17][0].apply(exports,arguments)},{dup:17,"lodash._baseindexof":88,"lodash._cacheindexof":89,"lodash._createcache":90}],88:[function(require,module,exports){arguments[4][18][0].apply(exports,arguments)},{dup:18}],89:[function(require,module,exports){arguments[4][19][0].apply(exports,arguments)},{dup:19}],90:[function(require,module,exports){(function(global){var getNative=require("lodash._getnative");var Set=getNative(global,"Set");var nativeCreate=getNative(Object,"create");function SetCache(values){var length=values?values.length:0;this.data={hash:nativeCreate(null),set:new Set};while(length--){this.push(values[length])}}function cachePush(value){var data=this.data;if(typeof value=="string"||isObject(value)){data.set.add(value)}else{data.hash[value]=true}}var createCache=!(nativeCreate&&Set)?constant(null):function(values){return new SetCache(values)};function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function constant(value){return function(){return value}}SetCache.prototype.push=cachePush;module.exports=createCache}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"lodash._getnative":91}],91:[function(require,module,exports){arguments[4][11][0].apply(exports,arguments)},{dup:11}],92:[function(require,module,exports){arguments[4][22][0].apply(exports,arguments)},{dup:22,"lodash.isarguments":93,"lodash.isarray":70}],93:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],94:[function(require,module,exports){arguments[4][30][0].apply(exports,arguments)},{dup:30}],95:[function(require,module,exports){function pickByArray(object,props){object=toObject(object);var index=-1,length=props.length,result={};while(++index<length){var key=props[index];if(key in object){result[key]=object[key]}}return result}function toObject(value){return isObject(value)?value:Object(value)}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}module.exports=pickByArray},{}],96:[function(require,module,exports){var baseFor=require("lodash._basefor"),keysIn=require("lodash.keysin");function baseForIn(object,iteratee){return baseFor(object,iteratee,keysIn)}function pickByCallback(object,predicate){var result={};baseForIn(object,function(value,key,object){if(predicate(value,key,object)){result[key]=value}});return result}module.exports=pickByCallback},{"lodash._basefor":97,"lodash.keysin":98}],97:[function(require,module,exports){arguments[4][53][0].apply(exports,arguments)},{dup:53}],98:[function(require,module,exports){var isArguments=require("lodash.isarguments"),isArray=require("lodash.isarray");var reIsUint=/^\d+$/;var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;var MAX_SAFE_INTEGER=9007199254740991;function isIndex(value,length){value=typeof value=="number"||reIsUint.test(value)?+value:-1;length=length==null?MAX_SAFE_INTEGER:length;return value>-1&&value%1==0&&value<length}function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function keysIn(object){if(object==null){return[]}if(!isObject(object)){object=Object(object)}var length=object.length;length=length&&isLength(length)&&(isArray(object)||isArguments(object))&&length||0;var Ctor=object.constructor,index=-1,isProto=typeof Ctor=="function"&&Ctor.prototype===object,result=Array(length),skipIndexes=length>0;while(++index<length){result[index]=index+""}for(var key in object){if(!(skipIndexes&&isIndex(key,length))&&!(key=="constructor"&&(isProto||!hasOwnProperty.call(object,key)))){result.push(key)}}return result}module.exports=keysIn},{"lodash.isarguments":99,"lodash.isarray":70}],99:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],100:[function(require,module,exports){arguments[4][25][0].apply(exports,arguments)},{dup:25}],101:[function(require,module,exports){var baseFlatten=require("lodash._baseflatten"),baseUniq=require("lodash._baseuniq"),restParam=require("lodash.restparam");var union=restParam(function(arrays){return baseUniq(baseFlatten(arrays,false,true))});module.exports=union},{"lodash._baseflatten":102,"lodash._baseuniq":104,"lodash.restparam":109}],102:[function(require,module,exports){arguments[4][22][0].apply(exports,arguments)},{dup:22,"lodash.isarguments":103,"lodash.isarray":70}],103:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],104:[function(require,module,exports){var baseIndexOf=require("lodash._baseindexof"),cacheIndexOf=require("lodash._cacheindexof"),createCache=require("lodash._createcache");function baseUniq(array,iteratee){var index=-1,indexOf=baseIndexOf,length=array.length,isCommon=true,isLarge=isCommon&&length>=200,seen=isLarge?createCache():null,result=[];if(seen){indexOf=cacheIndexOf;isCommon=false}else{isLarge=false;seen=iteratee?[]:result}outer:while(++index<length){var value=array[index],computed=iteratee?iteratee(value,index,array):value;if(isCommon&&value===value){var seenIndex=seen.length;
while(seenIndex--){if(seen[seenIndex]===computed){continue outer}}if(iteratee){seen.push(computed)}result.push(value)}else if(indexOf(seen,computed,0)<0){if(iteratee||isLarge){seen.push(computed)}result.push(value)}}return result}module.exports=baseUniq},{"lodash._baseindexof":105,"lodash._cacheindexof":106,"lodash._createcache":107}],105:[function(require,module,exports){arguments[4][18][0].apply(exports,arguments)},{dup:18}],106:[function(require,module,exports){arguments[4][19][0].apply(exports,arguments)},{dup:19}],107:[function(require,module,exports){(function(global){var getNative=require("lodash._getnative");var Set=getNative(global,"Set");var nativeCreate=getNative(Object,"create");function SetCache(values){var length=values?values.length:0;this.data={hash:nativeCreate(null),set:new Set};while(length--){this.push(values[length])}}function cachePush(value){var data=this.data;if(typeof value=="string"||isObject(value)){data.set.add(value)}else{data.hash[value]=true}}var createCache=!(nativeCreate&&Set)?constant(null):function(values){return new SetCache(values)};function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function constant(value){return function(){return value}}SetCache.prototype.push=cachePush;module.exports=createCache}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"lodash._getnative":108}],108:[function(require,module,exports){arguments[4][11][0].apply(exports,arguments)},{dup:11}],109:[function(require,module,exports){arguments[4][25][0].apply(exports,arguments)},{dup:25}],110:[function(require,module,exports){module.exports=parse;var div=document.createElement("div");div.innerHTML=' <link/><table></table><a href="/a">a</a><input type="checkbox"/>';var innerHTMLBug=!div.getElementsByTagName("link").length;div=undefined;var map={legend:[1,"<fieldset>","</fieldset>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],_default:innerHTMLBug?[1,"X<div>","</div>"]:[0,"",""]};map.td=map.th=[3,"<table><tbody><tr>","</tr></tbody></table>"];map.option=map.optgroup=[1,'<select multiple="multiple">',"</select>"];map.thead=map.tbody=map.colgroup=map.caption=map.tfoot=[1,"<table>","</table>"];map.polyline=map.ellipse=map.polygon=map.circle=map.text=map.line=map.path=map.rect=map.g=[1,'<svg xmlns="http://www.w3.org/2000/svg" version="1.1">',"</svg>"];function parse(html,doc){if("string"!=typeof html)throw new TypeError("String expected");if(!doc)doc=document;var m=/<([\w:]+)/.exec(html);if(!m)return doc.createTextNode(html);html=html.replace(/^\s+|\s+$/g,"");var tag=m[1];if(tag=="body"){var el=doc.createElement("html");el.innerHTML=html;return el.removeChild(el.lastChild)}var wrap=map[tag]||map._default;var depth=wrap[0];var prefix=wrap[1];var suffix=wrap[2];var el=doc.createElement("div");el.innerHTML=prefix+html+suffix;while(depth--)el=el.lastChild;if(el.firstChild==el.lastChild){return el.removeChild(el.firstChild)}var fragment=doc.createDocumentFragment();while(el.firstChild){fragment.appendChild(el.removeChild(el.firstChild))}return fragment}},{}],111:[function(require,module,exports){var events=require("component-event");var delegate=require("delegate-events");var forceCaptureEvents=["focus","blur"];module.exports=Events;function Events(el,obj){if(!(this instanceof Events))return new Events(el,obj);if(!el)throw new Error("element required");if(!obj)throw new Error("object required");this.el=el;this.obj=obj;this._events={}}Events.prototype.sub=function(event,method,cb){this._events[event]=this._events[event]||{};this._events[event][method]=cb};Events.prototype.bind=function(event,method){var e=parse(event);var el=this.el;var obj=this.obj;var name=e.name;var method=method||"on"+name;var args=[].slice.call(arguments,2);function cb(){var a=[].slice.call(arguments).concat(args);if(typeof method==="function"){method.apply(obj,a);return}if(!obj[method]){throw new Error(method+" method is not defined")}else{obj[method].apply(obj,a)}}if(e.selector){cb=delegate.bind(el,e.selector,name,cb)}else{events.bind(el,name,cb)}this.sub(name,method,cb);return cb};Events.prototype.unbind=function(event,method){if(0==arguments.length)return this.unbindAll();if(1==arguments.length)return this.unbindAllOf(event);var bindings=this._events[event];var capture=forceCaptureEvents.indexOf(event)!==-1;if(!bindings)return;var cb=bindings[method];if(!cb)return;events.unbind(this.el,event,cb,capture)};Events.prototype.unbindAll=function(){for(var event in this._events){this.unbindAllOf(event)}};Events.prototype.unbindAllOf=function(event){var bindings=this._events[event];if(!bindings)return;for(var method in bindings){this.unbind(event,method)}};function parse(event){var parts=event.split(/ +/);return{name:parts.shift(),selector:parts.join(" ")}}},{"component-event":112,"delegate-events":113}],112:[function(require,module,exports){var bind=window.addEventListener?"addEventListener":"attachEvent",unbind=window.removeEventListener?"removeEventListener":"detachEvent",prefix=bind!=="addEventListener"?"on":"";exports.bind=function(el,type,fn,capture){el[bind](prefix+type,fn,capture||false);return fn};exports.unbind=function(el,type,fn,capture){el[unbind](prefix+type,fn,capture||false);return fn}},{}],113:[function(require,module,exports){var closest=require("closest"),event=require("component-event");var forceCaptureEvents=["focus","blur"];exports.bind=function(el,selector,type,fn,capture){if(forceCaptureEvents.indexOf(type)!==-1)capture=true;return event.bind(el,type,function(e){var target=e.target||e.srcElement;e.delegateTarget=closest(target,selector,true,el);if(e.delegateTarget)fn.call(el,e)},capture)};exports.unbind=function(el,type,fn,capture){if(forceCaptureEvents.indexOf(type)!==-1)capture=true;event.unbind(el,type,fn,capture)}},{closest:114,"component-event":112}],114:[function(require,module,exports){var matches=require("matches-selector");module.exports=function(element,selector,checkYoSelf){var parent=checkYoSelf?element:element.parentNode;while(parent&&parent!==document){if(matches(parent,selector))return parent;parent=parent.parentNode}}},{"matches-selector":115}],115:[function(require,module,exports){var proto=Element.prototype;var vendor=proto.matchesSelector||proto.webkitMatchesSelector||proto.mozMatchesSelector||proto.msMatchesSelector||proto.oMatchesSelector;module.exports=match;function match(el,selector){if(vendor)return vendor.call(el,selector);var nodes=el.parentNode.querySelectorAll(selector);for(var i=0;i<nodes.length;++i){if(nodes[i]==el)return true}return false}},{}],116:[function(require,module,exports){module.exports=get;function get(context,path){if(path.indexOf(".")==-1&&path.indexOf("[")==-1){return context[path]}var crumbs=path.split(/\.|\[|\]/g);var i=-1;var len=crumbs.length;var result;while(++i<len){if(i==0)result=context;if(!crumbs[i])continue;if(result==undefined)break;result=result[crumbs[i]]}return result}},{}],117:[function(require,module,exports){var baseAssign=require("lodash._baseassign"),createAssigner=require("lodash._createassigner"),keys=require("lodash.keys");function assignWith(object,source,customizer){var index=-1,props=keys(source),length=props.length;while(++index<length){var key=props[index],value=object[key],result=customizer(value,source[key],key,object,source);if((result===result?result!==value:value===value)||value===undefined&&!(key in object)){object[key]=result}}return object}var assign=createAssigner(function(object,source,customizer){return customizer?assignWith(object,source,customizer):baseAssign(object,source)});module.exports=assign},{"lodash._baseassign":118,"lodash._createassigner":120,"lodash.keys":124}],118:[function(require,module,exports){arguments[4][51][0].apply(exports,arguments)},{dup:51,"lodash._basecopy":119,"lodash.keys":124}],119:[function(require,module,exports){arguments[4][52][0].apply(exports,arguments)},{dup:52}],120:[function(require,module,exports){var bindCallback=require("lodash._bindcallback"),isIterateeCall=require("lodash._isiterateecall"),restParam=require("lodash.restparam");function createAssigner(assigner){return restParam(function(object,sources){var index=-1,length=object==null?0:sources.length,customizer=length>2?sources[length-2]:undefined,guard=length>2?sources[2]:undefined,thisArg=length>1?sources[length-1]:undefined;if(typeof customizer=="function"){customizer=bindCallback(customizer,thisArg,5);length-=2}else{customizer=typeof thisArg=="function"?thisArg:undefined;length-=customizer?1:0}if(guard&&isIterateeCall(sources[0],sources[1],guard)){customizer=length<3?undefined:customizer;length=1}while(++index<length){var source=sources[index];if(source){assigner(object,source,customizer)}}return object})}module.exports=createAssigner},{"lodash._bindcallback":121,"lodash._isiterateecall":122,"lodash.restparam":123}],121:[function(require,module,exports){arguments[4][30][0].apply(exports,arguments)},{dup:30}],122:[function(require,module,exports){arguments[4][56][0].apply(exports,arguments)},{dup:56}],123:[function(require,module,exports){arguments[4][25][0].apply(exports,arguments)},{dup:25}],124:[function(require,module,exports){arguments[4][10][0].apply(exports,arguments)},{dup:10,"lodash._getnative":125,"lodash.isarguments":126,"lodash.isarray":127}],125:[function(require,module,exports){arguments[4][11][0].apply(exports,arguments)},{dup:11}],126:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],127:[function(require,module,exports){arguments[4][8][0].apply(exports,arguments)},{dup:8}],128:[function(require,module,exports){var createWrapper=require("lodash._createwrapper"),replaceHolders=require("lodash._replaceholders"),restParam=require("lodash.restparam");var BIND_FLAG=1,PARTIAL_FLAG=32;var bind=restParam(function(func,thisArg,partials){var bitmask=BIND_FLAG;if(partials.length){var holders=replaceHolders(partials,bind.placeholder);bitmask|=PARTIAL_FLAG}return createWrapper(func,bitmask,thisArg,partials,holders)});bind.placeholder={};module.exports=bind},{"lodash._createwrapper":129,"lodash._replaceholders":132,"lodash.restparam":133}],129:[function(require,module,exports){(function(global){var arrayCopy=require("lodash._arraycopy"),baseCreate=require("lodash._basecreate"),replaceHolders=require("lodash._replaceholders");var BIND_FLAG=1,BIND_KEY_FLAG=2,CURRY_BOUND_FLAG=4,CURRY_FLAG=8,CURRY_RIGHT_FLAG=16,PARTIAL_FLAG=32,PARTIAL_RIGHT_FLAG=64,ARY_FLAG=128;var FUNC_ERROR_TEXT="Expected a function";var reIsUint=/^\d+$/;var nativeMax=Math.max,nativeMin=Math.min;var MAX_SAFE_INTEGER=9007199254740991;function composeArgs(args,partials,holders){var holdersLength=holders.length,argsIndex=-1,argsLength=nativeMax(args.length-holdersLength,0),leftIndex=-1,leftLength=partials.length,result=Array(argsLength+leftLength);while(++leftIndex<leftLength){result[leftIndex]=partials[leftIndex]}while(++argsIndex<holdersLength){result[holders[argsIndex]]=args[argsIndex]}while(argsLength--){result[leftIndex++]=args[argsIndex++]}return result}function composeArgsRight(args,partials,holders){var holdersIndex=-1,holdersLength=holders.length,argsIndex=-1,argsLength=nativeMax(args.length-holdersLength,0),rightIndex=-1,rightLength=partials.length,result=Array(argsLength+rightLength);while(++argsIndex<argsLength){result[argsIndex]=args[argsIndex]}var offset=argsIndex;while(++rightIndex<rightLength){result[offset+rightIndex]=partials[rightIndex]}while(++holdersIndex<holdersLength){result[offset+holders[holdersIndex]]=args[argsIndex++]}return result}function createBindWrapper(func,thisArg){var Ctor=createCtorWrapper(func);function wrapper(){var fn=this&&this!==global&&this instanceof wrapper?Ctor:func;return fn.apply(thisArg,arguments)}return wrapper}function createCtorWrapper(Ctor){return function(){var args=arguments;switch(args.length){case 0:return new Ctor;case 1:return new Ctor(args[0]);case 2:return new Ctor(args[0],args[1]);case 3:return new Ctor(args[0],args[1],args[2]);case 4:return new Ctor(args[0],args[1],args[2],args[3]);case 5:return new Ctor(args[0],args[1],args[2],args[3],args[4])}var thisBinding=baseCreate(Ctor.prototype),result=Ctor.apply(thisBinding,args);return isObject(result)?result:thisBinding}}function createHybridWrapper(func,bitmask,thisArg,partials,holders,partialsRight,holdersRight,argPos,ary,arity){var isAry=bitmask&ARY_FLAG,isBind=bitmask&BIND_FLAG,isBindKey=bitmask&BIND_KEY_FLAG,isCurry=bitmask&CURRY_FLAG,isCurryBound=bitmask&CURRY_BOUND_FLAG,isCurryRight=bitmask&CURRY_RIGHT_FLAG,Ctor=isBindKey?null:createCtorWrapper(func);function wrapper(){var length=arguments.length,index=length,args=Array(length);while(index--){args[index]=arguments[index]}if(partials){args=composeArgs(args,partials,holders)}if(partialsRight){args=composeArgsRight(args,partialsRight,holdersRight)}if(isCurry||isCurryRight){var placeholder=wrapper.placeholder,argsHolders=replaceHolders(args,placeholder);length-=argsHolders.length;if(length<arity){var newArgPos=argPos?arrayCopy(argPos):null,newArity=nativeMax(arity-length,0),newsHolders=isCurry?argsHolders:null,newHoldersRight=isCurry?null:argsHolders,newPartials=isCurry?args:null,newPartialsRight=isCurry?null:args;bitmask|=isCurry?PARTIAL_FLAG:PARTIAL_RIGHT_FLAG;bitmask&=~(isCurry?PARTIAL_RIGHT_FLAG:PARTIAL_FLAG);if(!isCurryBound){bitmask&=~(BIND_FLAG|BIND_KEY_FLAG)}var result=createHybridWrapper(func,bitmask,thisArg,newPartials,newsHolders,newPartialsRight,newHoldersRight,newArgPos,ary,newArity);result.placeholder=placeholder;return result}}var thisBinding=isBind?thisArg:this,fn=isBindKey?thisBinding[func]:func;if(argPos){args=reorder(args,argPos)}if(isAry&&ary<args.length){args.length=ary}if(this&&this!==global&&this instanceof wrapper){fn=Ctor||createCtorWrapper(func)}return fn.apply(thisBinding,args)}return wrapper}function createPartialWrapper(func,bitmask,thisArg,partials){var isBind=bitmask&BIND_FLAG,Ctor=createCtorWrapper(func);function wrapper(){var argsIndex=-1,argsLength=arguments.length,leftIndex=-1,leftLength=partials.length,args=Array(argsLength+leftLength);while(++leftIndex<leftLength){args[leftIndex]=partials[leftIndex]}while(argsLength--){args[leftIndex++]=arguments[++argsIndex]}var fn=this&&this!==global&&this instanceof wrapper?Ctor:func;return fn.apply(isBind?thisArg:this,args)}return wrapper}function createWrapper(func,bitmask,thisArg,partials,holders,argPos,ary,arity){var isBindKey=bitmask&BIND_KEY_FLAG;if(!isBindKey&&typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}var length=partials?partials.length:0;if(!length){bitmask&=~(PARTIAL_FLAG|PARTIAL_RIGHT_FLAG);partials=holders=null}length-=holders?holders.length:0;if(bitmask&PARTIAL_RIGHT_FLAG){var partialsRight=partials,holdersRight=holders;partials=holders=null}var newData=[func,bitmask,thisArg,partials,holders,partialsRight,holdersRight,argPos,ary,arity];newData[9]=arity==null?isBindKey?0:func.length:nativeMax(arity-length,0)||0;if(bitmask==BIND_FLAG){var result=createBindWrapper(newData[0],newData[2])}else if((bitmask==PARTIAL_FLAG||bitmask==(BIND_FLAG|PARTIAL_FLAG))&&!newData[4].length){result=createPartialWrapper.apply(undefined,newData)}else{result=createHybridWrapper.apply(undefined,newData)}return result}function isIndex(value,length){value=typeof value=="number"||reIsUint.test(value)?+value:-1;length=length==null?MAX_SAFE_INTEGER:length;return value>-1&&value%1==0&&value<length}function reorder(array,indexes){var arrLength=array.length,length=nativeMin(indexes.length,arrLength),oldArray=arrayCopy(array);while(length--){var index=indexes[length];array[length]=isIndex(index,arrLength)?oldArray[index]:undefined}return array}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}module.exports=createWrapper}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"lodash._arraycopy":130,"lodash._basecreate":131,"lodash._replaceholders":132}],130:[function(require,module,exports){arguments[4][49][0].apply(exports,arguments)},{dup:49}],131:[function(require,module,exports){var baseCreate=function(){function object(){}return function(prototype){if(isObject(prototype)){object.prototype=prototype;var result=new object;object.prototype=null}return result||{}}}();function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}module.exports=baseCreate},{}],132:[function(require,module,exports){var PLACEHOLDER="__lodash_placeholder__";function replaceHolders(array,placeholder){var index=-1,length=array.length,resIndex=-1,result=[];while(++index<length){if(array[index]===placeholder){array[index]=PLACEHOLDER;result[++resIndex]=index}}return result}module.exports=replaceHolders},{}],133:[function(require,module,exports){arguments[4][25][0].apply(exports,arguments)},{dup:25}],134:[function(require,module,exports){var baseFlatten=require("lodash._baseflatten"),isIterateeCall=require("lodash._isiterateecall");function flatten(array,isDeep,guard){var length=array?array.length:0;if(guard&&isIterateeCall(array,isDeep,guard)){isDeep=false}return length?baseFlatten(array,isDeep):[]}module.exports=flatten},{"lodash._baseflatten":135,"lodash._isiterateecall":138}],135:[function(require,module,exports){arguments[4][22][0].apply(exports,arguments)},{dup:22,"lodash.isarguments":136,"lodash.isarray":137}],136:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],137:[function(require,module,exports){arguments[4][8][0].apply(exports,arguments)},{dup:8}],138:[function(require,module,exports){arguments[4][56][0].apply(exports,arguments)},{dup:56}],139:[function(require,module,exports){var arrayEach=require("lodash._arrayeach"),baseEach=require("lodash._baseeach"),bindCallback=require("lodash._bindcallback"),isArray=require("lodash.isarray");function createForEach(arrayFunc,eachFunc){return function(collection,iteratee,thisArg){return typeof iteratee=="function"&&thisArg===undefined&&isArray(collection)?arrayFunc(collection,iteratee):eachFunc(collection,bindCallback(iteratee,thisArg,3))}}var forEach=createForEach(arrayEach,baseEach);module.exports=forEach},{"lodash._arrayeach":140,"lodash._baseeach":141,"lodash._bindcallback":145,"lodash.isarray":146}],140:[function(require,module,exports){arguments[4][50][0].apply(exports,arguments)},{dup:50}],141:[function(require,module,exports){arguments[4][32][0].apply(exports,arguments)},{dup:32,"lodash.keys":142}],142:[function(require,module,exports){arguments[4][10][0].apply(exports,arguments)},{dup:10,"lodash._getnative":143,"lodash.isarguments":144,"lodash.isarray":146}],143:[function(require,module,exports){arguments[4][11][0].apply(exports,arguments)},{dup:11}],144:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],145:[function(require,module,exports){arguments[4][30][0].apply(exports,arguments)},{dup:30}],146:[function(require,module,exports){arguments[4][8][0].apply(exports,arguments)},{dup:8}],147:[function(require,module,exports){var baseEach=require("lodash._baseeach"),invokePath=require("lodash._invokepath"),isArray=require("lodash.isarray"),restParam=require("lodash.restparam");var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;var MAX_SAFE_INTEGER=9007199254740991;function baseProperty(key){return function(object){return object==null?undefined:object[key]}}var getLength=baseProperty("length");function isArrayLike(value){return value!=null&&isLength(getLength(value))}function isKey(value,object){var type=typeof value;if(type=="string"&&reIsPlainProp.test(value)||type=="number"){return true}if(isArray(value)){return false}var result=!reIsDeepProp.test(value);return result||object!=null&&value in toObject(object)}function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function toObject(value){return isObject(value)?value:Object(value)}var invoke=restParam(function(collection,path,args){var index=-1,isFunc=typeof path=="function",isProp=isKey(path),result=isArrayLike(collection)?Array(collection.length):[];baseEach(collection,function(value){var func=isFunc?path:isProp&&value!=null?value[path]:null;result[++index]=func?func.apply(value,args):invokePath(value,path,args)});return result});function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}module.exports=invoke},{"lodash._baseeach":148,"lodash._invokepath":152,"lodash.isarray":156,"lodash.restparam":157}],148:[function(require,module,exports){arguments[4][32][0].apply(exports,arguments)},{dup:32,"lodash.keys":149}],149:[function(require,module,exports){arguments[4][10][0].apply(exports,arguments)},{dup:10,"lodash._getnative":150,"lodash.isarguments":151,"lodash.isarray":156}],150:[function(require,module,exports){arguments[4][11][0].apply(exports,arguments)},{dup:11}],151:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],152:[function(require,module,exports){var baseGet=require("lodash._baseget"),baseSlice=require("lodash._baseslice"),toPath=require("lodash._topath"),isArray=require("lodash.isarray");var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;function invokePath(object,path,args){if(object!=null&&!isKey(path,object)){path=toPath(path);object=path.length==1?object:baseGet(object,baseSlice(path,0,-1));path=last(path)}var func=object==null?object:object[path];return func==null?undefined:func.apply(object,args)}function isKey(value,object){var type=typeof value;if(type=="string"&&reIsPlainProp.test(value)||type=="number"){return true}if(isArray(value)){return false}var result=!reIsDeepProp.test(value);return result||object!=null&&value in toObject(object)}function toObject(value){return isObject(value)?value:Object(value)}function last(array){var length=array?array.length:0;return length?array[length-1]:undefined}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}module.exports=invokePath},{"lodash._baseget":153,"lodash._baseslice":154,"lodash._topath":155,"lodash.isarray":156}],153:[function(require,module,exports){arguments[4][62][0].apply(exports,arguments)},{dup:62}],154:[function(require,module,exports){arguments[4][63][0].apply(exports,arguments)},{dup:63}],155:[function(require,module,exports){arguments[4][64][0].apply(exports,arguments)},{dup:64,"lodash.isarray":156}],156:[function(require,module,exports){arguments[4][8][0].apply(exports,arguments)},{dup:8}],157:[function(require,module,exports){arguments[4][25][0].apply(exports,arguments)},{dup:25}],158:[function(require,module,exports){var stringTag="[object String]";function isObjectLike(value){return!!value&&typeof value=="object"}var objectProto=Object.prototype;var objToString=objectProto.toString;function isString(value){return typeof value=="string"||isObjectLike(value)&&objToString.call(value)==stringTag}module.exports=isString},{}],159:[function(require,module,exports){function last(array){var length=array?array.length:0;return length?array[length-1]:undefined}module.exports=last},{}],160:[function(require,module,exports){var baseFlatten=require("lodash._baseflatten"),bindCallback=require("lodash._bindcallback"),pickByArray=require("lodash._pickbyarray"),pickByCallback=require("lodash._pickbycallback"),restParam=require("lodash.restparam");var pick=restParam(function(object,props){if(object==null){return{}}return typeof props[0]=="function"?pickByCallback(object,bindCallback(props[0],props[1],3)):pickByArray(object,baseFlatten(props))});module.exports=pick},{"lodash._baseflatten":161,"lodash._bindcallback":164,"lodash._pickbyarray":165,"lodash._pickbycallback":166,"lodash.restparam":171}],161:[function(require,module,exports){arguments[4][22][0].apply(exports,arguments)},{dup:22,"lodash.isarguments":162,"lodash.isarray":163}],162:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],163:[function(require,module,exports){arguments[4][8][0].apply(exports,arguments)},{dup:8}],164:[function(require,module,exports){arguments[4][30][0].apply(exports,arguments)},{dup:30}],165:[function(require,module,exports){arguments[4][95][0].apply(exports,arguments)},{dup:95}],166:[function(require,module,exports){arguments[4][96][0].apply(exports,arguments)},{dup:96,"lodash._basefor":167,"lodash.keysin":168}],167:[function(require,module,exports){arguments[4][53][0].apply(exports,arguments)},{dup:53}],168:[function(require,module,exports){arguments[4][98][0].apply(exports,arguments)},{dup:98,"lodash.isarguments":169,"lodash.isarray":170}],169:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],170:[function(require,module,exports){arguments[4][8][0].apply(exports,arguments)},{dup:8}],171:[function(require,module,exports){arguments[4][25][0].apply(exports,arguments)},{dup:25}],172:[function(require,module,exports){var baseGet=require("lodash._baseget"),baseSlice=require("lodash._baseslice"),toPath=require("lodash._topath"),isArray=require("lodash.isarray"),isFunction=require("lodash.isfunction");var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;function isKey(value,object){var type=typeof value;if(type=="string"&&reIsPlainProp.test(value)||type=="number"){return true}if(isArray(value)){return false}var result=!reIsDeepProp.test(value);return result||object!=null&&value in toObject(object)}function toObject(value){return isObject(value)?value:Object(value)}function last(array){var length=array?array.length:0;return length?array[length-1]:undefined}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function result(object,path,defaultValue){var result=object==null?undefined:object[path];if(result===undefined){if(object!=null&&!isKey(path,object)){path=toPath(path);object=path.length==1?object:baseGet(object,baseSlice(path,0,-1));result=object==null?undefined:object[last(path)]}result=result===undefined?defaultValue:result}return isFunction(result)?result.call(object):result}module.exports=result},{"lodash._baseget":173,"lodash._baseslice":174,"lodash._topath":175,"lodash.isarray":176,"lodash.isfunction":177}],173:[function(require,module,exports){arguments[4][62][0].apply(exports,arguments)},{dup:62}],174:[function(require,module,exports){arguments[4][63][0].apply(exports,arguments)},{dup:63}],175:[function(require,module,exports){arguments[4][64][0].apply(exports,arguments)},{dup:64,"lodash.isarray":176}],176:[function(require,module,exports){arguments[4][8][0].apply(exports,arguments)},{dup:8}],177:[function(require,module,exports){(function(global){var funcTag="[object Function]";var reRegExpChars=/[.*+?^${}()|[\]\/\\]/g,reHasRegExpChars=RegExp(reRegExpChars.source);var reIsHostCtor=/^\[object .+?Constructor\]$/;function baseIsFunction(value){return typeof value=="function"||false}function baseToString(value){if(typeof value=="string"){return value}return value==null?"":value+""}function isObjectLike(value){return!!value&&typeof value=="object"}var objectProto=Object.prototype;var fnToString=Function.prototype.toString;var hasOwnProperty=objectProto.hasOwnProperty;var objToString=objectProto.toString;var reIsNative=RegExp("^"+escapeRegExp(fnToString.call(hasOwnProperty)).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var Uint8Array=getNative(global,"Uint8Array");function getNative(object,key){var value=object==null?undefined:object[key];return isNative(value)?value:undefined}var isFunction=!(baseIsFunction(/x/)||Uint8Array&&!baseIsFunction(Uint8Array))?baseIsFunction:function(value){return objToString.call(value)==funcTag};function isNative(value){if(value==null){return false}if(objToString.call(value)==funcTag){return reIsNative.test(fnToString.call(value))}return isObjectLike(value)&&reIsHostCtor.test(value)}function escapeRegExp(string){string=baseToString(string);return string&&reHasRegExpChars.test(string)?string.replace(reRegExpChars,"\\$&"):string}module.exports=isFunction}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],178:[function(require,module,exports){var baseToString=require("lodash._basetostring");var idCounter=0;function uniqueId(prefix){var id=++idCounter;return baseToString(prefix)+id}module.exports=uniqueId},{"lodash._basetostring":179}],179:[function(require,module,exports){arguments[4][60][0].apply(exports,arguments)},{dup:60}],180:[function(require,module,exports){"use strict";var proto=Element.prototype;var vendor=proto.matches||proto.matchesSelector||proto.webkitMatchesSelector||proto.mozMatchesSelector||proto.msMatchesSelector||proto.oMatchesSelector;module.exports=match;function match(el,selector){if(vendor)return vendor.call(el,selector);var nodes=el.parentNode.querySelectorAll(selector);for(var i=0;i<nodes.length;i++){if(nodes[i]==el)return true}return false}},{}],"ampersand-input-view":[function(require,module,exports){if(typeof window!=="undefined"){window.ampersand=window.ampersand||{};window.ampersand["ampersand-input-view"]=window.ampersand["ampersand-input-view"]||[];window.ampersand["ampersand-input-view"].push("5.0.0")}var View=require("ampersand-view");var dom=require("ampersand-dom");var matchesSelector=require("matches-selector");var slice=Array.prototype.slice;function getMatches(el,selector){if(selector==="")return[el];var matches=[];if(matchesSelector(el,selector))matches.push(el);return matches.concat(slice.call(el.querySelectorAll(selector)))}module.exports=View.extend({template:["<label>",'<span data-hook="label"></span>','<input class="form-input">','<div data-hook="message-container" class="message message-below message-error">','<p data-hook="message-text"></p>',"</div>","</label>"].join(""),bindings:{name:{type:"attribute",selector:"input, textarea",name:"name"},label:[{hook:"label"},{type:"toggle",hook:"label"}],message:{type:"text",hook:"message-text"},showMessage:{type:"toggle",hook:"message-container"},placeholder:{type:"attribute",selector:"input, textarea",name:"placeholder"},readonly:{type:"booleanAttribute",name:"readonly",selector:"input, textarea"}},initialize:function(spec){spec||(spec={});this.tests=this.tests||spec.tests||[];this.on("change:type",this.handleTypeChange,this);this.handleChange=this.handleChange.bind(this);this.handleInputChanged=this.handleInputChanged.bind(this);var value=!spec.value&&spec.value!==0?"":spec.value;this.startingValue=value;this.inputValue=value;this.on("change:valid change:value",this.reportToParent,this);this.on("change:validityClass",this.validityClassChanged,this);if(spec.autoRender)this.autoRender=spec.autoRender;if(spec.template)this.template=spec.template;if(spec.beforeSubmit)this.beforeSubmit=spec.beforeSubmit},render:function(){this.renderWithTemplate();this.input=this.query("input")||this.query("textarea");this.handleTypeChange();this.initInputBindings();this.setValue(this.inputValue,!this.required);return this},props:{inputValue:"any",startingValue:"any",name:"string",type:["string",true,"text"],placeholder:["string",true,""],label:["string",true,""],required:["boolean",true,true],directlyEdited:["boolean",true,false],readonly:["boolean",true,false],shouldValidate:["boolean",true,false],message:["string",true,""],requiredMessage:["string",true,"This field is required."],validClass:["string",true,"input-valid"],invalidClass:["string",true,"input-invalid"],validityClassSelector:["string",true,"input, textarea"]},derived:{value:{deps:["inputValue"],fn:function(){return this.inputValue}},valid:{cache:false,deps:["inputValue"],fn:function(){return!this.runTests()}},showMessage:{deps:["message","shouldValidate"],fn:function(){return this.shouldValidate&&this.message}},changed:{deps:["inputValue","startingValue"],fn:function(){return this.inputValue!==this.startingValue;
}},validityClass:{deps:["valid","validClass","invalidClass","shouldValidate"],fn:function(){if(!this.shouldValidate){return""}else{return this.valid?this.validClass:this.invalidClass}}}},setValue:function(value,skipValidation){if(!this.input){this.inputValue=value;return}if(!value&&value!==0){this.input.value=""}else{this.input.value=value.toString()}this.inputValue=this.clean(this.input.value);if(!skipValidation&&!this.getErrorMessage()){this.shouldValidate=true}else if(skipValidation){this.shouldValidate=false}},getErrorMessage:function(){var message="";if(this.required&&this.value===""){return this.requiredMessage}else{(this.tests||[]).some(function(test){message=test.call(this,this.value)||"";return message},this);return message}},handleTypeChange:function(){if(this.type==="textarea"&&this.input.tagName.toLowerCase()!=="textarea"){var parent=this.input.parentNode;var textarea=document.createElement("textarea");parent.replaceChild(textarea,this.input);this.input=textarea;this._applyBindingsForKey("")}else{this.input.type=this.type}},clean:function(val){return this.type==="number"?Number(val):val.trim()},handleInputChanged:function(){if(document.activeElement===this.input){this.directlyEdited=true}this.inputValue=this.clean(this.input.value)},handleChange:function(){if(this.inputValue&&this.changed){this.shouldValidate=true}this.runTests()},beforeSubmit:function(){this.inputValue=this.clean(this.input.value);this.shouldValidate=true;this.runTests()},runTests:function(){var message=this.getErrorMessage();if(!message&&this.inputValue&&this.changed){this.shouldValidate=true}this.message=message;return message},initInputBindings:function(){this.input.addEventListener("input",this.handleInputChanged,false);this.input.addEventListener("change",this.handleChange,false)},remove:function(){this.input.removeEventListener("input",this.handleInputChanged,false);this.input.removeEventListener("change",this.handleChange,false);View.prototype.remove.apply(this,arguments)},reset:function(){this.setValue(this.startingValue,true)},clear:function(){this.setValue("",true)},validityClassChanged:function(view,newClass){var oldClass=view.previousAttributes().validityClass;getMatches(this.el,this.validityClassSelector).forEach(function(match){dom.switchClass(match,oldClass,newClass)})},reportToParent:function(){if(this.parent)this.parent.update(this)}})},{"ampersand-dom":1,"ampersand-view":2,"matches-selector":180}]},{},[]);require=function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){if(typeof window!=="undefined"){window.ampersand=window.ampersand||{};window.ampersand["ampersand-view"]=window.ampersand["ampersand-view"]||[];window.ampersand["ampersand-view"].push("8.0.0")}var State=require("ampersand-state");var CollectionView=require("ampersand-collection-view");var domify=require("domify");var uniqueId=require("lodash.uniqueid");var pick=require("lodash.pick");var assign=require("lodash.assign");var forEach=require("lodash.foreach");var result=require("lodash.result");var last=require("lodash.last");var isString=require("lodash.isstring");var bind=require("lodash.bind");var flatten=require("lodash.flatten");var invoke=require("lodash.invoke");var events=require("events-mixin");var matches=require("matches-selector");var bindings=require("ampersand-dom-bindings");var getPath=require("get-object-path");function View(attrs){this.cid=uniqueId("view");attrs||(attrs={});var parent=attrs.parent;delete attrs.parent;BaseState.call(this,attrs,{init:false,parent:parent});this.on("change:el",this._handleElementChange,this);this._parsedBindings=bindings(this.bindings,this);this._initializeBindings();if(attrs.el&&!this.autoRender){this._handleElementChange()}this._initializeSubviews();this.template=attrs.template||this.template;this.initialize.apply(this,arguments);this._rendered=this.rendered;if(this.autoRender&&this.template){this.render()}}var BaseState=State.extend({dataTypes:{element:{set:function(newVal){return{val:newVal,type:newVal instanceof Element?"element":typeof newVal}},compare:function(el1,el2){return el1===el2}},collection:{set:function(newVal){return{val:newVal,type:newVal&&newVal.isCollection?"collection":typeof newVal}},compare:function(currentVal,newVal){return currentVal===newVal}}},props:{model:"state",el:"element",collection:"collection"},session:{_rendered:["boolean",true,false]},derived:{hasData:{deps:["model"],fn:function(){return!!this.model}},rendered:{deps:["_rendered"],fn:function(){if(this._rendered){this.trigger("render",this);return true}this.trigger("remove",this);return false}}}});var delegateEventSplitter=/^(\S+)\s*(.*)$/;View.prototype=Object.create(BaseState.prototype);var queryNoElMsg="Query cannot be performed as this.el is not defined. Ensure that the view has been rendered.";assign(View.prototype,{query:function(selector){if(!this.el){throw new Error(queryNoElMsg)}if(!selector)return this.el;if(typeof selector==="string"){if(matches(this.el,selector))return this.el;return this.el.querySelector(selector)||undefined}return selector},queryAll:function(selector){if(!this.el){throw new Error(queryNoElMsg)}if(!selector)return[this.el];var res=[];if(matches(this.el,selector))res.push(this.el);return res.concat(Array.prototype.slice.call(this.el.querySelectorAll(selector)))},queryByHook:function(hook){return this.query('[data-hook~="'+hook+'"]')},queryAllByHook:function(hook){return this.queryAll('[data-hook~="'+hook+'"]')},initialize:function(){},_render:function(){this.renderWithTemplate(this);this._rendered=true;return this},_remove:function(){var parsedBindings=this._parsedBindings;if(this.el&&this.el.parentNode)this.el.parentNode.removeChild(this.el);this._rendered=false;if(this._subviews)invoke(flatten(this._subviews),"remove");this.stopListening();forEach(parsedBindings,function(properties,modelName){forEach(properties,function(value,key){delete parsedBindings[modelName][key]});delete parsedBindings[modelName]});return this},_handleElementChange:function(element,delegate){if(this.eventManager)this.eventManager.unbind();this.eventManager=events(this.el,this);this.delegateEvents();this._applyBindingsForKey();return this},delegateEvents:function(events){if(!(events||(events=result(this,"events"))))return this;this.undelegateEvents();for(var key in events){this.eventManager.bind(key,events[key])}return this},undelegateEvents:function(){this.eventManager.unbind();return this},registerSubview:function(view){this._subviews||(this._subviews=[]);this._subviews.push(view);if(!view.parent)view.parent=this;return view},renderSubview:function(view,container){if(typeof container==="string"){container=this.query(container)}this.registerSubview(view);view.render();(container||this.el).appendChild(view.el);return view},_applyBindingsForKey:function(name){if(!this.el)return;var fns=this._parsedBindings.getGrouped(name);var item;for(item in fns){fns[item].forEach(function(fn){fn(this.el,getPath(this,item),last(item.split(".")))},this)}},_initializeBindings:function(){if(!this.bindings)return;this.on("all",function(eventName){if(eventName.slice(0,7)==="change:"){this._applyBindingsForKey(eventName.split(":")[1])}},this)},_initializeSubviews:function(){if(!this.subviews)return;for(var item in this.subviews){this._parseSubview(this.subviews[item],item)}},_parseSubview:function(subview,name){var self=this;if(subview.container){subview.selector=subview.container}var opts={selector:subview.selector||'[data-hook="'+subview.hook+'"]',waitFor:subview.waitFor||"",prepareView:subview.prepareView||function(el){return new subview.constructor({el:el,parent:self})}};function action(){var el,subview;if(!this.el||!(el=this.query(opts.selector)))return;if(!opts.waitFor||getPath(this,opts.waitFor)){subview=this[name]=opts.prepareView.call(this,el);subview.render();this.registerSubview(subview);this.off("change",action)}}this.on("change",action,this)},renderWithTemplate:function(context,templateArg){var template=templateArg||this.template;if(!template)throw new Error("Template string or function needed.");var newDom=isString(template)?template:template.call(this,context||this);if(isString(newDom))newDom=domify(newDom);var parent=this.el&&this.el.parentNode;if(parent)parent.replaceChild(newDom,this.el);if(newDom.nodeName==="#document-fragment")throw new Error("Views can only have one root element, including comment nodes.");this.el=newDom;return this},cacheElements:function(hash){for(var item in hash){this[item]=this.query(hash[item])}return this},listenToAndRun:function(object,events,handler){var bound=bind(handler,this);this.listenTo(object,events,bound);bound()},animateRemove:function(){this.remove()},renderCollection:function(collection,ViewClass,container,opts){var containerEl=typeof container==="string"?this.query(container):container;var config=assign({collection:collection,el:containerEl||this.el,view:ViewClass,parent:this,viewOptions:{parent:this}},opts);var collectionView=new CollectionView(config);collectionView.render();return this.registerSubview(collectionView)},_setRender:function(obj){Object.defineProperty(obj,"render",{get:function(){return this._render},set:function(fn){this._render=function(){fn.apply(this,arguments);this._rendered=true;return this}}})},_setRemove:function(obj){Object.defineProperty(obj,"remove",{get:function(){return this._remove},set:function(fn){this._remove=function(){fn.apply(this,arguments);this._rendered=false;return this}}})}});View.prototype._setRender(View.prototype);View.prototype._setRemove(View.prototype);View.extend=BaseState.extend;module.exports=View},{"ampersand-collection-view":2,"ampersand-dom-bindings":37,"ampersand-state":40,domify:108,"events-mixin":109,"get-object-path":114,"lodash.assign":115,"lodash.bind":126,"lodash.flatten":132,"lodash.foreach":137,"lodash.invoke":145,"lodash.isstring":156,"lodash.last":157,"lodash.pick":158,"lodash.result":174,"lodash.uniqueid":170,"matches-selector":172}],2:[function(require,module,exports){if(typeof window!=="undefined"){window.ampersand=window.ampersand||{};window.ampersand["ampersand-collection-view"]=window.ampersand["ampersand-collection-view"]||[];window.ampersand["ampersand-collection-view"].push("1.4.0")}var assign=require("lodash.assign");var invoke=require("lodash.invoke");var pick=require("lodash.pick");var find=require("lodash.find");var difference=require("lodash.difference");var Events=require("ampersand-events");var ampExtend=require("ampersand-class-extend");var options=["collection","el","viewOptions","view","emptyView","filter","reverse","parent"];function CollectionView(spec){if(!spec){throw new ReferenceError("Collection view missing required parameters: collection, el")}if(!spec.collection){throw new ReferenceError("Collection view requires a collection")}if(!spec.el&&!this.insertSelf){throw new ReferenceError("Collection view requires an el")}assign(this,pick(spec,options));this.views=[];this.listenTo(this.collection,"add",this._addViewForModel);this.listenTo(this.collection,"remove",this._removeViewForModel);this.listenTo(this.collection,"sort",this._rerenderAll);this.listenTo(this.collection,"refresh reset",this._reset)}assign(CollectionView.prototype,Events,{render:function(){this._renderAll();return this},remove:function(){invoke(this.views,"remove");this.stopListening()},_getViewByModel:function(model){return find(this.views,function(view){return model===view.model})},_createViewForModel:function(model,renderOpts){var defaultViewOptions={model:model,collection:this.collection,parent:this};var view=new this.view(assign(defaultViewOptions,this.viewOptions));this.views.push(view);view.renderedByParentView=true;view.render(renderOpts);return view},_getOrCreateByModel:function(model,renderOpts){return this._getViewByModel(model)||this._createViewForModel(model,renderOpts)},_addViewForModel:function(model,collection,options){var matches=this.filter?this.filter(model):true;if(!matches){return}if(this.renderedEmptyView){this.renderedEmptyView.remove();delete this.renderedEmptyView}var view=this._getOrCreateByModel(model,{containerEl:this.el});if(options&&options.rerender){this._insertView(view)}else{this._insertViewAtIndex(view)}},_insertViewAtIndex:function(view){if(!view.insertSelf){var pos=this.collection.indexOf(view.model);var modelToInsertBefore,viewToInsertBefore;if(this.reverse){modelToInsertBefore=this.collection.at(pos-1)}else{modelToInsertBefore=this.collection.at(pos+1)}viewToInsertBefore=this._getViewByModel(modelToInsertBefore);if(viewToInsertBefore){this.el.insertBefore(view.el,viewToInsertBefore&&viewToInsertBefore.el)}else{this.el.appendChild(view.el)}}},_insertView:function(view){if(!view.insertSelf){if(this.reverse&&this.el.firstChild){this.el.insertBefore(view.el,this.el.firstChild)}else{this.el.appendChild(view.el)}}},_removeViewForModel:function(model){var view=this._getViewByModel(model);if(!view){return}var index=this.views.indexOf(view);if(index!==-1){view=this.views.splice(index,1)[0];this._removeView(view);if(this.views.length===0){this._renderEmptyView()}}},_removeView:function(view){if(view.animateRemove){view.animateRemove()}else{view.remove()}},_renderAll:function(){this.collection.each(this._addViewForModel,this);if(this.views.length===0){this._renderEmptyView()}},_rerenderAll:function(collection,options){options=options||{};this.collection.each(function(model){this._addViewForModel(model,this,assign(options,{rerender:true}))},this)},_renderEmptyView:function(){if(this.emptyView&&!this.renderedEmptyView){var view=this.renderedEmptyView=new this.emptyView({parent:this});this.el.appendChild(view.render().el)}},_reset:function(){var newViews=this.collection.map(this._getOrCreateByModel,this);var toRemove=difference(this.views,newViews);toRemove.forEach(this._removeView,this);this.views=newViews;this._rerenderAll();if(this.views.length===0){this._renderEmptyView()}}});CollectionView.extend=ampExtend;module.exports=CollectionView},{"ampersand-class-extend":3,"ampersand-events":4,"lodash.assign":115,"lodash.difference":14,"lodash.find":24,"lodash.invoke":145,"lodash.pick":158}],3:[function(require,module,exports){var assign=require("lodash.assign");var extend=function(protoProps){var parent=this;var child;var args=[].slice.call(arguments);if(protoProps&&protoProps.hasOwnProperty("constructor")){child=protoProps.constructor}else{child=function(){return parent.apply(this,arguments)}}assign(child,parent);var Surrogate=function(){this.constructor=child};Surrogate.prototype=parent.prototype;child.prototype=new Surrogate;if(protoProps){args.unshift(child.prototype);assign.apply(null,args)}child.__super__=parent.prototype;return child};module.exports=extend},{"lodash.assign":115}],4:[function(require,module,exports){if(typeof window!=="undefined"){window.ampersand=window.ampersand||{};window.ampersand["ampersand-events"]=window.ampersand["ampersand-events"]||[];window.ampersand["ampersand-events"].push("1.1.1")}var runOnce=require("lodash.once");var uniqueId=require("lodash.uniqueid");var keys=require("lodash.keys");var isEmpty=require("lodash.isempty");var each=require("lodash.foreach");var bind=require("lodash.bind");var assign=require("lodash.assign");var slice=Array.prototype.slice;var eventSplitter=/\s+/;var Events={on:function(name,callback,context){if(!eventsApi(this,"on",name,[callback,context])||!callback)return this;this._events||(this._events={});var events=this._events[name]||(this._events[name]=[]);events.push({callback:callback,context:context,ctx:context||this});return this},once:function(name,callback,context){if(!eventsApi(this,"once",name,[callback,context])||!callback)return this;var self=this;var once=runOnce(function(){self.off(name,once);callback.apply(this,arguments)});once._callback=callback;return this.on(name,once,context)},off:function(name,callback,context){var retain,ev,events,names,i,l,j,k;if(!this._events||!eventsApi(this,"off",name,[callback,context]))return this;if(!name&&!callback&&!context){this._events=void 0;return this}names=name?[name]:keys(this._events);for(i=0,l=names.length;i<l;i++){name=names[i];if(events=this._events[name]){this._events[name]=retain=[];if(callback||context){for(j=0,k=events.length;j<k;j++){ev=events[j];if(callback&&callback!==ev.callback&&callback!==ev.callback._callback||context&&context!==ev.context){retain.push(ev)}}}if(!retain.length)delete this._events[name]}}return this},trigger:function(name){if(!this._events)return this;var args=slice.call(arguments,1);if(!eventsApi(this,"trigger",name,args))return this;var events=this._events[name];var allEvents=this._events.all;if(events)triggerEvents(events,args);if(allEvents)triggerEvents(allEvents,arguments);return this},stopListening:function(obj,name,callback){var listeningTo=this._listeningTo;if(!listeningTo)return this;var remove=!name&&!callback;if(!callback&&typeof name==="object")callback=this;if(obj)(listeningTo={})[obj._listenId]=obj;for(var id in listeningTo){obj=listeningTo[id];obj.off(name,callback,this);if(remove||isEmpty(obj._events))delete this._listeningTo[id]}return this},createEmitter:function(obj){return assign(obj||{},Events)}};Events.bind=Events.on;Events.unbind=Events.off;var eventsApi=function(obj,action,name,rest){if(!name)return true;if(typeof name==="object"){for(var key in name){obj[action].apply(obj,[key,name[key]].concat(rest))}return false}if(eventSplitter.test(name)){var names=name.split(eventSplitter);for(var i=0,l=names.length;i<l;i++){obj[action].apply(obj,[names[i]].concat(rest))}return false}return true};var triggerEvents=function(events,args){var ev;var i=-1;var l=events.length;var a1=args[0];var a2=args[1];var a3=args[2];switch(args.length){case 0:while(++i<l)(ev=events[i]).callback.call(ev.ctx);return;case 1:while(++i<l)(ev=events[i]).callback.call(ev.ctx,a1);return;case 2:while(++i<l)(ev=events[i]).callback.call(ev.ctx,a1,a2);return;case 3:while(++i<l)(ev=events[i]).callback.call(ev.ctx,a1,a2,a3);return;default:while(++i<l)(ev=events[i]).callback.apply(ev.ctx,args);return}};var listenMethods={listenTo:"on",listenToOnce:"once"};each(listenMethods,function(implementation,method){Events[method]=function(obj,name,callback,run){var listeningTo=this._listeningTo||(this._listeningTo={});var id=obj._listenId||(obj._listenId=uniqueId("l"));listeningTo[id]=obj;if(!callback&&typeof name==="object")callback=this;obj[implementation](name,callback,this);return this}});Events.listenToAndRun=function(obj,name,callback){Events.listenTo.apply(this,arguments);if(!callback&&typeof name==="object")callback=this;callback.apply(this);return this};module.exports=Events},{"lodash.assign":115,"lodash.bind":126,"lodash.foreach":137,"lodash.isempty":5,"lodash.keys":8,"lodash.once":12,"lodash.uniqueid":170}],5:[function(require,module,exports){var isArguments=require("lodash.isarguments"),isArray=require("lodash.isarray"),isFunction=require("lodash.isfunction"),isString=require("lodash.isstring"),keys=require("lodash.keys");function isObjectLike(value){return!!value&&typeof value=="object"}var MAX_SAFE_INTEGER=9007199254740991;function baseProperty(key){return function(object){return object==null?undefined:object[key]}}var getLength=baseProperty("length");function isArrayLike(value){return value!=null&&isLength(getLength(value))}function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isEmpty(value){if(value==null){return true}if(isArrayLike(value)&&(isArray(value)||isString(value)||isArguments(value)||isObjectLike(value)&&isFunction(value.splice))){return!value.length}return!keys(value).length}module.exports=isEmpty},{"lodash.isarguments":6,"lodash.isarray":7,"lodash.isfunction":173,"lodash.isstring":156,"lodash.keys":8}],6:[function(require,module,exports){var argsTag="[object Arguments]";function isObjectLike(value){return!!value&&typeof value=="object"}var objectProto=Object.prototype;var objToString=objectProto.toString;var MAX_SAFE_INTEGER=9007199254740991;function baseProperty(key){return function(object){return object==null?undefined:object[key]}}var getLength=baseProperty("length");function isArrayLike(value){return value!=null&&isLength(getLength(value))}function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isArguments(value){return isObjectLike(value)&&isArrayLike(value)&&objToString.call(value)==argsTag}module.exports=isArguments},{}],7:[function(require,module,exports){var arrayTag="[object Array]",funcTag="[object Function]";var reRegExpChars=/[.*+?^${}()|[\]\/\\]/g,reHasRegExpChars=RegExp(reRegExpChars.source);var reIsHostCtor=/^\[object .+?Constructor\]$/;function baseToString(value){if(typeof value=="string"){return value}return value==null?"":value+""}function isObjectLike(value){return!!value&&typeof value=="object"}var objectProto=Object.prototype;var fnToString=Function.prototype.toString;var hasOwnProperty=objectProto.hasOwnProperty;var objToString=objectProto.toString;var reIsNative=RegExp("^"+escapeRegExp(fnToString.call(hasOwnProperty)).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var nativeIsArray=getNative(Array,"isArray");var MAX_SAFE_INTEGER=9007199254740991;function getNative(object,key){var value=object==null?undefined:object[key];return isNative(value)?value:undefined}function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}var isArray=nativeIsArray||function(value){return isObjectLike(value)&&isLength(value.length)&&objToString.call(value)==arrayTag};function isNative(value){if(value==null){return false}if(objToString.call(value)==funcTag){return reIsNative.test(fnToString.call(value))}return isObjectLike(value)&&reIsHostCtor.test(value)}function escapeRegExp(string){string=baseToString(string);return string&&reHasRegExpChars.test(string)?string.replace(reRegExpChars,"\\$&"):string}module.exports=isArray},{}],8:[function(require,module,exports){var getNative=require("lodash._getnative"),isArguments=require("lodash.isarguments"),isArray=require("lodash.isarray");var reIsUint=/^\d+$/;var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;var nativeKeys=getNative(Object,"keys");var MAX_SAFE_INTEGER=9007199254740991;function baseProperty(key){return function(object){return object==null?undefined:object[key]}}var getLength=baseProperty("length");function isArrayLike(value){return value!=null&&isLength(getLength(value))}function isIndex(value,length){value=typeof value=="number"||reIsUint.test(value)?+value:-1;length=length==null?MAX_SAFE_INTEGER:length;return value>-1&&value%1==0&&value<length}function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function shimKeys(object){var props=keysIn(object),propsLength=props.length,length=propsLength&&object.length;var allowIndexes=!!length&&isLength(length)&&(isArray(object)||isArguments(object));var index=-1,result=[];while(++index<propsLength){var key=props[index];if(allowIndexes&&isIndex(key,length)||hasOwnProperty.call(object,key)){result.push(key)}}return result}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}var keys=!nativeKeys?shimKeys:function(object){var Ctor=object==null?null:object.constructor;if(typeof Ctor=="function"&&Ctor.prototype===object||typeof object!="function"&&isArrayLike(object)){return shimKeys(object)}return isObject(object)?nativeKeys(object):[]};function keysIn(object){if(object==null){return[]}if(!isObject(object)){object=Object(object)}var length=object.length;length=length&&isLength(length)&&(isArray(object)||isArguments(object))&&length||0;var Ctor=object.constructor,index=-1,isProto=typeof Ctor=="function"&&Ctor.prototype===object,result=Array(length),skipIndexes=length>0;while(++index<length){result[index]=index+""}for(var key in object){if(!(skipIndexes&&isIndex(key,length))&&!(key=="constructor"&&(isProto||!hasOwnProperty.call(object,key)))){result.push(key)}}return result}module.exports=keys},{"lodash._getnative":9,"lodash.isarguments":10,"lodash.isarray":11}],9:[function(require,module,exports){var funcTag="[object Function]";var reRegExpChars=/[.*+?^${}()|[\]\/\\]/g,reHasRegExpChars=RegExp(reRegExpChars.source);var reIsHostCtor=/^\[object .+?Constructor\]$/;function baseToString(value){if(typeof value=="string"){return value}return value==null?"":value+""}function isObjectLike(value){return!!value&&typeof value=="object"}var objectProto=Object.prototype;var fnToString=Function.prototype.toString;var hasOwnProperty=objectProto.hasOwnProperty;var objToString=objectProto.toString;var reIsNative=RegExp("^"+escapeRegExp(fnToString.call(hasOwnProperty)).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function getNative(object,key){var value=object==null?undefined:object[key];return isNative(value)?value:undefined}function isNative(value){if(value==null){return false}if(objToString.call(value)==funcTag){return reIsNative.test(fnToString.call(value))}return isObjectLike(value)&&reIsHostCtor.test(value)}function escapeRegExp(string){string=baseToString(string);return string&&reHasRegExpChars.test(string)?string.replace(reRegExpChars,"\\$&"):string}module.exports=getNative},{}],10:[function(require,module,exports){arguments[4][6][0].apply(exports,arguments)},{dup:6}],11:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],12:[function(require,module,exports){var before=require("lodash.before");function once(func){return before(2,func)}module.exports=once},{"lodash.before":13}],13:[function(require,module,exports){var FUNC_ERROR_TEXT="Expected a function";function before(n,func){var result;if(typeof func!="function"){if(typeof n=="function"){var temp=n;n=func;func=temp}else{throw new TypeError(FUNC_ERROR_TEXT)}}return function(){if(--n>0){result=func.apply(this,arguments)}if(n<=1){func=null}return result}}module.exports=before},{}],14:[function(require,module,exports){var baseDifference=require("lodash._basedifference"),baseFlatten=require("lodash._baseflatten"),restParam=require("lodash.restparam");var MAX_SAFE_INTEGER=9007199254740991;function baseProperty(key){return function(object){return object==null?undefined:object[key]}}var getLength=baseProperty("length");function isArrayLike(value){return value!=null&&isLength(getLength(value))}function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}var difference=restParam(function(array,values){return isArrayLike(array)?baseDifference(array,baseFlatten(values,false,true)):[]});module.exports=difference},{"lodash._basedifference":15,"lodash._baseflatten":20,"lodash.restparam":23}],15:[function(require,module,exports){var baseIndexOf=require("lodash._baseindexof"),cacheIndexOf=require("lodash._cacheindexof"),createCache=require("lodash._createcache");function baseDifference(array,values){var length=array?array.length:0,result=[];if(!length){return result}var index=-1,indexOf=baseIndexOf,isCommon=true,cache=isCommon&&values.length>=200?createCache(values):null,valuesLength=values.length;if(cache){indexOf=cacheIndexOf;isCommon=false;values=cache}outer:while(++index<length){var value=array[index];if(isCommon&&value===value){var valuesIndex=valuesLength;while(valuesIndex--){if(values[valuesIndex]===value){continue outer}}result.push(value)}else if(indexOf(values,value,0)<0){result.push(value)}}return result}module.exports=baseDifference},{"lodash._baseindexof":16,"lodash._cacheindexof":17,"lodash._createcache":18}],16:[function(require,module,exports){function baseIndexOf(array,value,fromIndex){if(value!==value){return indexOfNaN(array,fromIndex)}var index=fromIndex-1,length=array.length;while(++index<length){if(array[index]===value){return index}}return-1}function indexOfNaN(array,fromIndex,fromRight){var length=array.length,index=fromIndex+(fromRight?0:-1);while(fromRight?index--:++index<length){var other=array[index];if(other!==other){return index}}return-1}module.exports=baseIndexOf},{}],17:[function(require,module,exports){function cacheIndexOf(cache,value){var data=cache.data,result=typeof value=="string"||isObject(value)?data.set.has(value):data.hash[value];return result?0:-1}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}module.exports=cacheIndexOf},{}],18:[function(require,module,exports){(function(global){var getNative=require("lodash._getnative");var Set=getNative(global,"Set");var nativeCreate=getNative(Object,"create");function SetCache(values){var length=values?values.length:0;this.data={hash:nativeCreate(null),set:new Set};while(length--){this.push(values[length])}}function cachePush(value){var data=this.data;if(typeof value=="string"||isObject(value)){data.set.add(value)}else{data.hash[value]=true}}var createCache=!(nativeCreate&&Set)?constant(null):function(values){return new SetCache(values)};function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function constant(value){return function(){return value}}SetCache.prototype.push=cachePush;module.exports=createCache}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"lodash._getnative":19}],19:[function(require,module,exports){arguments[4][9][0].apply(exports,arguments)},{dup:9}],20:[function(require,module,exports){var isArguments=require("lodash.isarguments"),isArray=require("lodash.isarray");function isObjectLike(value){return!!value&&typeof value=="object"}var MAX_SAFE_INTEGER=9007199254740991;function baseFlatten(array,isDeep,isStrict){var index=-1,length=array.length,resIndex=-1,result=[];while(++index<length){var value=array[index];if(isObjectLike(value)&&isArrayLike(value)&&(isStrict||isArray(value)||isArguments(value))){if(isDeep){value=baseFlatten(value,isDeep,isStrict)}var valIndex=-1,valLength=value.length;while(++valIndex<valLength){result[++resIndex]=value[valIndex]}}else if(!isStrict){result[++resIndex]=value}}return result}function baseProperty(key){return function(object){return object==null?undefined:object[key]}}var getLength=baseProperty("length");function isArrayLike(value){return value!=null&&isLength(getLength(value))}function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}module.exports=baseFlatten},{"lodash.isarguments":21,"lodash.isarray":22}],21:[function(require,module,exports){arguments[4][6][0].apply(exports,arguments)},{dup:6}],22:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],23:[function(require,module,exports){var FUNC_ERROR_TEXT="Expected a function";var nativeMax=Math.max;function restParam(func,start){if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}start=nativeMax(start===undefined?func.length-1:+start||0,0);return function(){var args=arguments,index=-1,length=nativeMax(args.length-start,0),rest=Array(length);while(++index<length){rest[index]=args[start+index]}switch(start){case 0:return func.call(this,rest);case 1:return func.call(this,args[0],rest);case 2:return func.call(this,args[0],args[1],rest)}var otherArgs=Array(start+1);index=-1;while(++index<start){otherArgs[index]=args[index]}otherArgs[start]=rest;return func.apply(this,otherArgs)}}module.exports=restParam},{}],24:[function(require,module,exports){var baseCallback=require("lodash._basecallback"),baseEach=require("lodash._baseeach"),baseFind=require("lodash._basefind"),baseFindIndex=require("lodash._basefindindex"),isArray=require("lodash.isarray");function createFind(eachFunc,fromRight){
return function(collection,predicate,thisArg){predicate=baseCallback(predicate,thisArg,3);if(isArray(collection)){var index=baseFindIndex(collection,predicate,fromRight);return index>-1?collection[index]:undefined}return baseFind(collection,predicate,eachFunc)}}var find=createFind(baseEach);module.exports=find},{"lodash._basecallback":25,"lodash._baseeach":30,"lodash._basefind":31,"lodash._basefindindex":32,"lodash.isarray":33}],25:[function(require,module,exports){var baseIsEqual=require("lodash._baseisequal"),bindCallback=require("lodash._bindcallback"),isArray=require("lodash.isarray"),pairs=require("lodash.pairs");var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/,rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g;var reEscapeChar=/\\(\\)?/g;function baseToString(value){if(typeof value=="string"){return value}return value==null?"":value+""}function baseCallback(func,thisArg,argCount){var type=typeof func;if(type=="function"){return thisArg===undefined?func:bindCallback(func,thisArg,argCount)}if(func==null){return identity}if(type=="object"){return baseMatches(func)}return thisArg===undefined?property(func):baseMatchesProperty(func,thisArg)}function baseGet(object,path,pathKey){if(object==null){return}if(pathKey!==undefined&&pathKey in toObject(object)){path=[pathKey]}var index=0,length=path.length;while(object!=null&&index<length){object=object[path[index++]]}return index&&index==length?object:undefined}function baseIsMatch(object,matchData,customizer){var index=matchData.length,length=index,noCustomizer=!customizer;if(object==null){return!length}object=toObject(object);while(index--){var data=matchData[index];if(noCustomizer&&data[2]?data[1]!==object[data[0]]:!(data[0]in object)){return false}}while(++index<length){data=matchData[index];var key=data[0],objValue=object[key],srcValue=data[1];if(noCustomizer&&data[2]){if(objValue===undefined&&!(key in object)){return false}}else{var result=customizer?customizer(objValue,srcValue,key):undefined;if(!(result===undefined?baseIsEqual(srcValue,objValue,customizer,true):result)){return false}}}return true}function baseMatches(source){var matchData=getMatchData(source);if(matchData.length==1&&matchData[0][2]){var key=matchData[0][0],value=matchData[0][1];return function(object){if(object==null){return false}return object[key]===value&&(value!==undefined||key in toObject(object))}}return function(object){return baseIsMatch(object,matchData)}}function baseMatchesProperty(path,srcValue){var isArr=isArray(path),isCommon=isKey(path)&&isStrictComparable(srcValue),pathKey=path+"";path=toPath(path);return function(object){if(object==null){return false}var key=pathKey;object=toObject(object);if((isArr||!isCommon)&&!(key in object)){object=path.length==1?object:baseGet(object,baseSlice(path,0,-1));if(object==null){return false}key=last(path);object=toObject(object)}return object[key]===srcValue?srcValue!==undefined||key in object:baseIsEqual(srcValue,object[key],undefined,true)}}function baseProperty(key){return function(object){return object==null?undefined:object[key]}}function basePropertyDeep(path){var pathKey=path+"";path=toPath(path);return function(object){return baseGet(object,path,pathKey)}}function baseSlice(array,start,end){var index=-1,length=array.length;start=start==null?0:+start||0;if(start<0){start=-start>length?0:length+start}end=end===undefined||end>length?length:+end||0;if(end<0){end+=length}length=start>end?0:end-start>>>0;start>>>=0;var result=Array(length);while(++index<length){result[index]=array[index+start]}return result}function getMatchData(object){var result=pairs(object),length=result.length;while(length--){result[length][2]=isStrictComparable(result[length][1])}return result}function isKey(value,object){var type=typeof value;if(type=="string"&&reIsPlainProp.test(value)||type=="number"){return true}if(isArray(value)){return false}var result=!reIsDeepProp.test(value);return result||object!=null&&value in toObject(object)}function isStrictComparable(value){return value===value&&!isObject(value)}function toObject(value){return isObject(value)?value:Object(value)}function toPath(value){if(isArray(value)){return value}var result=[];baseToString(value).replace(rePropName,function(match,number,quote,string){result.push(quote?string.replace(reEscapeChar,"$1"):number||match)});return result}function last(array){var length=array?array.length:0;return length?array[length-1]:undefined}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function identity(value){return value}function property(path){return isKey(path)?baseProperty(path):basePropertyDeep(path)}module.exports=baseCallback},{"lodash._baseisequal":26,"lodash._bindcallback":28,"lodash.isarray":33,"lodash.pairs":29}],26:[function(require,module,exports){var isArray=require("lodash.isarray"),isTypedArray=require("lodash.istypedarray"),keys=require("lodash.keys");var argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",stringTag="[object String]";function isObjectLike(value){return!!value&&typeof value=="object"}var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;var objToString=objectProto.toString;function arraySome(array,predicate){var index=-1,length=array.length;while(++index<length){if(predicate(array[index],index,array)){return true}}return false}function baseIsEqual(value,other,customizer,isLoose,stackA,stackB){if(value===other){return true}if(value==null||other==null||!isObject(value)&&!isObjectLike(other)){return value!==value&&other!==other}return baseIsEqualDeep(value,other,baseIsEqual,customizer,isLoose,stackA,stackB)}function baseIsEqualDeep(object,other,equalFunc,customizer,isLoose,stackA,stackB){var objIsArr=isArray(object),othIsArr=isArray(other),objTag=arrayTag,othTag=arrayTag;if(!objIsArr){objTag=objToString.call(object);if(objTag==argsTag){objTag=objectTag}else if(objTag!=objectTag){objIsArr=isTypedArray(object)}}if(!othIsArr){othTag=objToString.call(other);if(othTag==argsTag){othTag=objectTag}else if(othTag!=objectTag){othIsArr=isTypedArray(other)}}var objIsObj=objTag==objectTag,othIsObj=othTag==objectTag,isSameTag=objTag==othTag;if(isSameTag&&!(objIsArr||objIsObj)){return equalByTag(object,other,objTag)}if(!isLoose){var objIsWrapped=objIsObj&&hasOwnProperty.call(object,"__wrapped__"),othIsWrapped=othIsObj&&hasOwnProperty.call(other,"__wrapped__");if(objIsWrapped||othIsWrapped){return equalFunc(objIsWrapped?object.value():object,othIsWrapped?other.value():other,customizer,isLoose,stackA,stackB)}}if(!isSameTag){return false}stackA||(stackA=[]);stackB||(stackB=[]);var length=stackA.length;while(length--){if(stackA[length]==object){return stackB[length]==other}}stackA.push(object);stackB.push(other);var result=(objIsArr?equalArrays:equalObjects)(object,other,equalFunc,customizer,isLoose,stackA,stackB);stackA.pop();stackB.pop();return result}function equalArrays(array,other,equalFunc,customizer,isLoose,stackA,stackB){var index=-1,arrLength=array.length,othLength=other.length;if(arrLength!=othLength&&!(isLoose&&othLength>arrLength)){return false}while(++index<arrLength){var arrValue=array[index],othValue=other[index],result=customizer?customizer(isLoose?othValue:arrValue,isLoose?arrValue:othValue,index):undefined;if(result!==undefined){if(result){continue}return false}if(isLoose){if(!arraySome(other,function(othValue){return arrValue===othValue||equalFunc(arrValue,othValue,customizer,isLoose,stackA,stackB)})){return false}}else if(!(arrValue===othValue||equalFunc(arrValue,othValue,customizer,isLoose,stackA,stackB))){return false}}return true}function equalByTag(object,other,tag){switch(tag){case boolTag:case dateTag:return+object==+other;case errorTag:return object.name==other.name&&object.message==other.message;case numberTag:return object!=+object?other!=+other:object==+other;case regexpTag:case stringTag:return object==other+""}return false}function equalObjects(object,other,equalFunc,customizer,isLoose,stackA,stackB){var objProps=keys(object),objLength=objProps.length,othProps=keys(other),othLength=othProps.length;if(objLength!=othLength&&!isLoose){return false}var index=objLength;while(index--){var key=objProps[index];if(!(isLoose?key in other:hasOwnProperty.call(other,key))){return false}}var skipCtor=isLoose;while(++index<objLength){key=objProps[index];var objValue=object[key],othValue=other[key],result=customizer?customizer(isLoose?othValue:objValue,isLoose?objValue:othValue,key):undefined;if(!(result===undefined?equalFunc(objValue,othValue,customizer,isLoose,stackA,stackB):result)){return false}skipCtor||(skipCtor=key=="constructor")}if(!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;if(objCtor!=othCtor&&("constructor"in object&&"constructor"in other)&&!(typeof objCtor=="function"&&objCtor instanceof objCtor&&typeof othCtor=="function"&&othCtor instanceof othCtor)){return false}}return true}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}module.exports=baseIsEqual},{"lodash.isarray":33,"lodash.istypedarray":27,"lodash.keys":34}],27:[function(require,module,exports){var argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",weakMapTag="[object WeakMap]";var arrayBufferTag="[object ArrayBuffer]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]";var typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=true;typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=false;function isObjectLike(value){return!!value&&typeof value=="object"}var objectProto=Object.prototype;var objToString=objectProto.toString;var MAX_SAFE_INTEGER=9007199254740991;function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isTypedArray(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[objToString.call(value)]}module.exports=isTypedArray},{}],28:[function(require,module,exports){function bindCallback(func,thisArg,argCount){if(typeof func!="function"){return identity}if(thisArg===undefined){return func}switch(argCount){case 1:return function(value){return func.call(thisArg,value)};case 3:return function(value,index,collection){return func.call(thisArg,value,index,collection)};case 4:return function(accumulator,value,index,collection){return func.call(thisArg,accumulator,value,index,collection)};case 5:return function(value,other,key,object,source){return func.call(thisArg,value,other,key,object,source)}}return function(){return func.apply(thisArg,arguments)}}function identity(value){return value}module.exports=bindCallback},{}],29:[function(require,module,exports){var keys=require("lodash.keys");function toObject(value){return isObject(value)?value:Object(value)}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function pairs(object){object=toObject(object);var index=-1,props=keys(object),length=props.length,result=Array(length);while(++index<length){var key=props[index];result[index]=[key,object[key]]}return result}module.exports=pairs},{"lodash.keys":34}],30:[function(require,module,exports){var keys=require("lodash.keys");var MAX_SAFE_INTEGER=9007199254740991;var baseEach=createBaseEach(baseForOwn);var baseFor=createBaseFor();function baseForOwn(object,iteratee){return baseFor(object,iteratee,keys)}function baseProperty(key){return function(object){return object==null?undefined:object[key]}}function createBaseEach(eachFunc,fromRight){return function(collection,iteratee){var length=collection?getLength(collection):0;if(!isLength(length)){return eachFunc(collection,iteratee)}var index=fromRight?length:-1,iterable=toObject(collection);while(fromRight?index--:++index<length){if(iteratee(iterable[index],index,iterable)===false){break}}return collection}}function createBaseFor(fromRight){return function(object,iteratee,keysFunc){var iterable=toObject(object),props=keysFunc(object),length=props.length,index=fromRight?length:-1;while(fromRight?index--:++index<length){var key=props[index];if(iteratee(iterable[key],key,iterable)===false){break}}return object}}var getLength=baseProperty("length");function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function toObject(value){return isObject(value)?value:Object(value)}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}module.exports=baseEach},{"lodash.keys":34}],31:[function(require,module,exports){function baseFind(collection,predicate,eachFunc,retKey){var result;eachFunc(collection,function(value,key,collection){if(predicate(value,key,collection)){result=retKey?key:value;return false}});return result}module.exports=baseFind},{}],32:[function(require,module,exports){function baseFindIndex(array,predicate,fromRight){var length=array.length,index=fromRight?length:-1;while(fromRight?index--:++index<length){if(predicate(array[index],index,array)){return index}}return-1}module.exports=baseFindIndex},{}],33:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],34:[function(require,module,exports){arguments[4][8][0].apply(exports,arguments)},{dup:8,"lodash._getnative":35,"lodash.isarguments":36,"lodash.isarray":33}],35:[function(require,module,exports){arguments[4][9][0].apply(exports,arguments)},{dup:9}],36:[function(require,module,exports){arguments[4][6][0].apply(exports,arguments)},{dup:6}],37:[function(require,module,exports){if(typeof window!=="undefined"){window.ampersand=window.ampersand||{};window.ampersand["ampersand-dom-bindings"]=window.ampersand["ampersand-dom-bindings"]||[];window.ampersand["ampersand-dom-bindings"].push("3.5.0")}var Store=require("key-tree-store");var dom=require("ampersand-dom");var matchesSelector=require("matches-selector");module.exports=function(bindings,context){var store=new Store;var key,current;for(key in bindings){current=bindings[key];if(typeof current==="string"){store.add(key,getBindingFunc({type:"text",selector:current}))}else if(current.forEach){current.forEach(function(binding){store.add(key,getBindingFunc(binding,context))})}else{store.add(key,getBindingFunc(current,context))}}return store};var slice=Array.prototype.slice;function getMatches(el,selector){if(selector==="")return[el];var matches=[];if(matchesSelector(el,selector))matches.push(el);return matches.concat(slice.call(el.querySelectorAll(selector)))}function setAttributes(el,attrs){for(var name in attrs){dom.setAttribute(el,name,attrs[name])}}function removeAttributes(el,attrs){for(var name in attrs){dom.removeAttribute(el,name)}}function makeArray(val){return Array.isArray(val)?val:[val]}function getBindingFunc(binding,context){var type=binding.type||"text";var isCustomBinding=typeof type==="function";var selector=function(){if(typeof binding.selector==="string"){return binding.selector}else if(binding.hook){return'[data-hook~="'+binding.hook+'"]'}else{return""}}();var yes=binding.yes;var no=binding.no;var hasYesNo=!!(yes||no);var previousValue;if(isCustomBinding){return function(el,value){getMatches(el,selector).forEach(function(match){type.call(context,match,value,previousValue)});previousValue=value}}else if(type==="text"){return function(el,value){getMatches(el,selector).forEach(function(match){dom.text(match,value)})}}else if(type==="class"){return function(el,value){getMatches(el,selector).forEach(function(match){dom.switchClass(match,previousValue,value)});previousValue=value}}else if(type==="attribute"){if(!binding.name)throw Error('attribute bindings must have a "name"');return function(el,value){var names=makeArray(binding.name);getMatches(el,selector).forEach(function(match){names.forEach(function(name){dom.setAttribute(match,name,value)})});previousValue=value}}else if(type==="value"){return function(el,value){getMatches(el,selector).forEach(function(match){if(!value&&value!==0)value="";if(document.activeElement!==match)match.value=value});previousValue=value}}else if(type==="booleanClass"){if(hasYesNo){yes=makeArray(yes||"");no=makeArray(no||"");return function(el,value){var prevClass=value?no:yes;var newClass=value?yes:no;getMatches(el,selector).forEach(function(match){prevClass.forEach(function(pc){dom.removeClass(match,pc)});newClass.forEach(function(nc){dom.addClass(match,nc)})})}}else{return function(el,value,keyName){var name=makeArray(binding.name||keyName);getMatches(el,selector).forEach(function(match){name.forEach(function(className){dom[value?"addClass":"removeClass"](match,className)})})}}}else if(type==="booleanAttribute"){if(hasYesNo){yes=makeArray(yes||"");no=makeArray(no||"");return function(el,value){var prevAttribute=value?no:yes;var newAttribute=value?yes:no;getMatches(el,selector).forEach(function(match){prevAttribute.forEach(function(pa){if(pa){dom.removeAttribute(match,pa)}});newAttribute.forEach(function(na){if(na){dom.addAttribute(match,na)}})})}}else{return function(el,value,keyName){var name=makeArray(binding.name||keyName);getMatches(el,selector).forEach(function(match){name.forEach(function(attr){dom[value?"addAttribute":"removeAttribute"](match,attr)})})}}}else if(type==="toggle"){var mode=binding.mode||"display";if(hasYesNo){return function(el,value){getMatches(el,yes).forEach(function(match){dom[value?"show":"hide"](match,mode)});getMatches(el,no).forEach(function(match){dom[value?"hide":"show"](match,mode)})}}else{return function(el,value){getMatches(el,selector).forEach(function(match){dom[value?"show":"hide"](match,mode)})}}}else if(type==="switch"){if(!binding.cases)throw Error('switch bindings must have "cases"');return function(el,value){for(var item in binding.cases){getMatches(el,binding.cases[item]).forEach(function(match){dom[value===item?"show":"hide"](match)})}}}else if(type==="innerHTML"){return function(el,value){getMatches(el,selector).forEach(function(match){dom.html(match,value)})}}else if(type==="switchClass"){if(!binding.cases)throw Error('switchClass bindings must have "cases"');return function(el,value,keyName){var name=makeArray(binding.name||keyName);for(var item in binding.cases){getMatches(el,binding.cases[item]).forEach(function(match){name.forEach(function(className){dom[value===item?"addClass":"removeClass"](match,className)})})}}}else if(type==="switchAttribute"){if(!binding.cases)throw Error('switchAttribute bindings must have "cases"');return function(el,value,keyName){getMatches(el,selector).forEach(function(match){if(previousValue){removeAttributes(match,previousValue)}if(value in binding.cases){var attrs=binding.cases[value];if(typeof attrs==="string"){attrs={};attrs[binding.name||keyName]=binding.cases[value]}setAttributes(match,attrs);previousValue=attrs}})}}else{throw new Error("no such binding type: "+type)}}},{"ampersand-dom":38,"key-tree-store":39,"matches-selector":172}],38:[function(require,module,exports){if(typeof window!=="undefined"){window.ampersand=window.ampersand||{};window.ampersand["ampersand-dom"]=window.ampersand["ampersand-dom"]||[];window.ampersand["ampersand-dom"].push("1.4.0")}var dom=module.exports={text:function(el,val){el.textContent=getString(val)},addClass:function(el,cls){cls=getString(cls);if(!cls)return;if(Array.isArray(cls)){cls.forEach(function(c){dom.addClass(el,c)})}else if(el.classList){el.classList.add(cls)}else{if(!hasClass(el,cls)){if(el.classList){el.classList.add(cls)}else{el.className+=" "+cls}}}},removeClass:function(el,cls){if(Array.isArray(cls)){cls.forEach(function(c){dom.removeClass(el,c)})}else if(el.classList){cls=getString(cls);if(cls)el.classList.remove(cls)}else{el.className=el.className.replace(new RegExp("(^|\\b)"+cls.split(" ").join("|")+"(\\b|$)","gi")," ")}},hasClass:hasClass,switchClass:function(el,prevCls,newCls){if(prevCls)this.removeClass(el,prevCls);this.addClass(el,newCls)},addAttribute:function(el,attr){el.setAttribute(attr,"");if(hasBooleanProperty(el,attr))el[attr]=true},removeAttribute:function(el,attr){el.removeAttribute(attr);if(hasBooleanProperty(el,attr))el[attr]=false},setAttribute:function(el,attr,value){el.setAttribute(attr,getString(value))},getAttribute:function(el,attr){return el.getAttribute(attr)},hasAttribute:function(el,attr){return el.hasAttribute(attr)},hide:function(el,mode){if(!mode)mode="display";if(!isHidden(el)){storeDisplayStyle(el,mode);hide(el,mode)}},show:function(el,mode){if(!mode)mode="display";show(el,mode)},html:function(el,content){el.innerHTML=content}};function getString(val){if(!val&&val!==0){return""}else{return val}}function hasClass(el,cls){if(el.classList){return el.classList.contains(cls)}else{return new RegExp("(^| )"+cls+"( |$)","gi").test(el.className)}}function hasBooleanProperty(el,prop){var val=el[prop];return prop in el&&(val===true||val===false)}function isHidden(el){return dom.getAttribute(el,"data-anddom-hidden")==="true"}function storeDisplayStyle(el,mode){dom.setAttribute(el,"data-anddom-"+mode,el.style[mode])}function show(el,mode){el.style[mode]=dom.getAttribute(el,"data-anddom-"+mode)||"";dom.removeAttribute(el,"data-anddom-hidden")}function hide(el,mode){dom.setAttribute(el,"data-anddom-hidden","true");el.style[mode]=mode==="visibility"?"hidden":"none"}},{}],39:[function(require,module,exports){var slice=Array.prototype.slice;function KeyTreeStore(){this.storage={}}KeyTreeStore.prototype.add=function(keypath,obj){var arr=this.storage[keypath]||(this.storage[keypath]=[]);arr.push(obj)};KeyTreeStore.prototype.remove=function(obj){var path,arr;for(path in this.storage){arr=this.storage[path];arr.some(function(item,index){if(item===obj){arr.splice(index,1);return true}})}};KeyTreeStore.prototype.get=function(keypath){var res=[];var key;for(key in this.storage){if(!keypath||keypath===key||key.indexOf(keypath+".")===0){res=res.concat(this.storage[key])}}return res};KeyTreeStore.prototype.getGrouped=function(keypath){var res={};var key;for(key in this.storage){if(!keypath||keypath===key||key.indexOf(keypath+".")===0){res[key]=slice.call(this.storage[key])}}return res};KeyTreeStore.prototype.getAll=function(keypath){var res={};var key;for(key in this.storage){if(keypath===key||key.indexOf(keypath+".")===0){res[key]=slice.call(this.storage[key])}}return res};KeyTreeStore.prototype.run=function(keypath,context){var args=slice.call(arguments,2);this.get(keypath).forEach(function(fn){fn.apply(context||this,args)})};module.exports=KeyTreeStore},{}],40:[function(require,module,exports){if(typeof window!=="undefined"){window.ampersand=window.ampersand||{};window.ampersand["ampersand-state"]=window.ampersand["ampersand-state"]||[];window.ampersand["ampersand-state"].push("4.5.6")}var uniqueId=require("lodash.uniqueid");var assign=require("lodash.assign");var omit=require("lodash.omit");var escape=require("lodash.escape");var forEach=require("lodash.foreach");var includes=require("lodash.includes");var isString=require("lodash.isstring");var isObject=require("lodash.isobject");var isArray=require("lodash.isarray");var isDate=require("lodash.isdate");var isUndefined=require("lodash.isundefined");var isFunction=require("lodash.isfunction");var isNull=require("lodash.isnull");var isEmpty=require("lodash.isempty");var isEqual=require("lodash.isequal");var clone=require("lodash.clone");var has=require("lodash.has");var result=require("lodash.result");var keys=require("lodash.keys");var bind=require("lodash.bind");var defaults=require("lodash.defaults");var union=require("lodash.union");var Events=require("ampersand-events");var KeyTree=require("key-tree-store");var arrayNext=require("array-next");var changeRE=/^change:/;function Base(attrs,options){options||(options={});this.cid||(this.cid=uniqueId("state"));this._events={};this._values={};this._definition=Object.create(this._definition);if(options.parse)attrs=this.parse(attrs,options);this.parent=options.parent;this.collection=options.collection;this._keyTree=new KeyTree;this._initCollections();this._initChildren();this._cache={};this._previousAttributes={};if(attrs)this.set(attrs,assign({silent:true,initial:true},options));this._changed={};if(this._derived)this._initDerived();if(options.init!==false)this.initialize.apply(this,arguments)}assign(Base.prototype,Events,{extraProperties:"ignore",idAttribute:"id",namespaceAttribute:"namespace",typeAttribute:"modelType",initialize:function(){return this},getId:function(){return this[this.idAttribute]},getNamespace:function(){return this[this.namespaceAttribute]},getType:function(){return this[this.typeAttribute]},isNew:function(){return this.getId()==null},escape:function(attr){return escape(this.get(attr))},isValid:function(options){return this._validate({},assign(options||{},{validate:true}))},parse:function(resp,options){return resp},serialize:function(){var res=this.getAttributes({props:true},true);forEach(this._children,function(value,key){res[key]=this[key].serialize()},this);forEach(this._collections,function(value,key){res[key]=this[key].serialize()},this);return res},set:function(key,value,options){var self=this;var extraProperties=this.extraProperties;var changing,changes,newType,newVal,def,cast,err,attr,attrs,dataType,silent,unset,currentVal,initial,hasChanged,isEqual;if(isObject(key)||key===null){attrs=key;options=value}else{attrs={};attrs[key]=value}options=options||{};if(!this._validate(attrs,options))return false;unset=options.unset;silent=options.silent;initial=options.initial;changes=[];changing=this._changing;this._changing=true;if(!changing){this._previousAttributes=this.attributes;this._changed={}}for(attr in attrs){newVal=attrs[attr];newType=typeof newVal;currentVal=this._values[attr];def=this._definition[attr];if(!def){if(this._children[attr]||this._collections[attr]){this[attr].set(newVal,options);continue}else if(extraProperties==="ignore"){continue}else if(extraProperties==="reject"){throw new TypeError('No "'+attr+'" property defined on '+(this.type||"this")+' model and extraProperties not set to "ignore" or "allow"')}else if(extraProperties==="allow"){def=this._createPropertyDefinition(attr,"any")}else if(extraProperties){throw new TypeError('Invalid value for extraProperties: "'+extraProperties+'"')}}isEqual=this._getCompareForType(def.type);dataType=this._dataTypes[def.type];if(dataType&&dataType.set){cast=dataType.set(newVal);newVal=cast.val;newType=cast.type}if(def.test){err=def.test.call(this,newVal,newType);if(err){throw new TypeError("Property '"+attr+"' failed validation with error: "+err)}}if(isUndefined(newVal)&&def.required){throw new TypeError("Required property '"+attr+"' must be of type "+def.type+". Tried to set "+newVal)}if(isNull(newVal)&&def.required&&!def.allowNull){throw new TypeError("Property '"+attr+"' must be of type "+def.type+" (cannot be null). Tried to set "+newVal)}if(def.type&&def.type!=="any"&&def.type!==newType&&!isNull(newVal)&&!isUndefined(newVal)){throw new TypeError("Property '"+attr+"' must be of type "+def.type+". Tried to set "+newVal)}if(def.values&&!includes(def.values,newVal)){throw new TypeError("Property '"+attr+"' must be one of values: "+def.values.join(", ")+". Tried to set "+newVal)}hasChanged=!isEqual(currentVal,newVal,attr);if(def.setOnce&&currentVal!==undefined&&hasChanged&&!initial){throw new TypeError("Property '"+attr+"' can only be set once.")}if(hasChanged){changes.push({prev:currentVal,val:newVal,key:attr});self._changed[attr]=newVal}else{delete self._changed[attr]}}forEach(changes,function(change){self._previousAttributes[change.key]=change.prev;if(unset){delete self._values[change.key]}else{self._values[change.key]=change.val}});if(!silent&&changes.length)self._pending=true;if(!silent){forEach(changes,function(change){self.trigger("change:"+change.key,self,change.val,options)})}if(changing)return this;if(!silent){while(this._pending){this._pending=false;this.trigger("change",this,options)}}this._pending=false;this._changing=false;return this},get:function(attr){return this[attr]},toggle:function(property){var def=this._definition[property];if(def.type==="boolean"){this[property]=!this[property]}else if(def&&def.values){this[property]=arrayNext(def.values,this[property])}else{throw new TypeError("Can only toggle properties that are type `boolean` or have `values` array.")}return this},previousAttributes:function(){return clone(this._previousAttributes)},hasChanged:function(attr){if(attr==null)return!isEmpty(this._changed);return has(this._changed,attr)},changedAttributes:function(diff){if(!diff)return this.hasChanged()?clone(this._changed):false;var val,changed=false;var old=this._changing?this._previousAttributes:this.attributes;var def,isEqual;for(var attr in diff){def=this._definition[attr];if(!def)continue;isEqual=this._getCompareForType(def.type);if(isEqual(old[attr],val=diff[attr]))continue;(changed||(changed={}))[attr]=val}return changed},toJSON:function(){return this.serialize()},unset:function(attrs,options){attrs=Array.isArray(attrs)?attrs:[attrs];forEach(attrs,function(key){var def=this._definition[key];var val;if(def.required){val=result(def,"default");return this.set(key,val,options)}else{return this.set(key,val,assign({},options,{unset:true}))}},this)},clear:function(options){var self=this;forEach(keys(this.attributes),function(key){self.unset(key,options)});return this},previous:function(attr){if(attr==null||!Object.keys(this._previousAttributes).length)return null;return this._previousAttributes[attr]},_getDefaultForType:function(type){var dataType=this._dataTypes[type];return dataType&&dataType["default"]},_getCompareForType:function(type){var dataType=this._dataTypes[type];if(dataType&&dataType.compare)return bind(dataType.compare,this);return isEqual},_validate:function(attrs,options){if(!options.validate||!this.validate)return true;attrs=assign({},this.attributes,attrs);var error=this.validationError=this.validate(attrs,options)||null;if(!error)return true;this.trigger("invalid",this,error,assign(options||{},{validationError:error}));return false},_createPropertyDefinition:function(name,desc,isSession){return createPropertyDefinition(this,name,desc,isSession)},_ensureValidType:function(type){return includes(["string","number","boolean","array","object","date","any"].concat(keys(this._dataTypes)),type)?type:undefined},getAttributes:function(options,raw){options||(options={});defaults(options,{session:false,props:false,derived:false});var res={};var val,item,def;for(item in this._definition){def=this._definition[item];if(options.session&&def.session||options.props&&!def.session){val=raw?this._values[item]:this[item];if(typeof val==="undefined")val=result(def,"default");if(typeof val!=="undefined")res[item]=val}}if(options.derived){for(item in this._derived)res[item]=this[item]}return res},_initDerived:function(){var self=this;forEach(this._derived,function(value,name){var def=self._derived[name];def.deps=def.depList;var update=function(options){options=options||{};
var newVal=def.fn.call(self);if(self._cache[name]!==newVal||!def.cache){if(def.cache){self._previousAttributes[name]=self._cache[name]}self._cache[name]=newVal;self.trigger("change:"+name,self,self._cache[name])}};def.deps.forEach(function(propString){self._keyTree.add(propString,update)})});this.on("all",function(eventName){if(changeRE.test(eventName)){self._keyTree.get(eventName.split(":")[1]).forEach(function(fn){fn()})}},this)},_getDerivedProperty:function(name,flushCache){if(this._derived[name].cache){if(flushCache||!this._cache.hasOwnProperty(name)){this._cache[name]=this._derived[name].fn.apply(this)}return this._cache[name]}else{return this._derived[name].fn.apply(this)}},_initCollections:function(){var coll;if(!this._collections)return;for(coll in this._collections){this[coll]=new this._collections[coll](null,{parent:this})}},_initChildren:function(){var child;if(!this._children)return;for(child in this._children){this[child]=new this._children[child]({},{parent:this});this.listenTo(this[child],"all",this._getEventBubblingHandler(child))}},_getEventBubblingHandler:function(propertyName){return bind(function(name,model,newValue){if(changeRE.test(name)){this.trigger("change:"+propertyName+"."+name.split(":")[1],model,newValue)}else if(name==="change"){this.trigger("change",this)}},this)},_verifyRequired:function(){var attrs=this.attributes;for(var def in this._definition){if(this._definition[def].required&&typeof attrs[def]==="undefined"){return false}}return true}});Object.defineProperties(Base.prototype,{attributes:{get:function(){return this.getAttributes({props:true,session:true})}},all:{get:function(){return this.getAttributes({session:true,props:true,derived:true})}},isState:{get:function(){return true},set:function(){}}});function createPropertyDefinition(object,name,desc,isSession){var def=object._definition[name]={};var type,descArray;if(isString(desc)){type=object._ensureValidType(desc);if(type)def.type=type}else{if(isArray(desc)){descArray=desc;desc={type:descArray[0],required:descArray[1],"default":descArray[2]}}type=object._ensureValidType(desc.type);if(type)def.type=type;if(desc.required)def.required=true;if(desc["default"]&&typeof desc["default"]==="object"){throw new TypeError("The default value for "+name+" cannot be an object/array, must be a value or a function which returns a value/object/array")}def["default"]=desc["default"];def.allowNull=desc.allowNull?desc.allowNull:false;if(desc.setOnce)def.setOnce=true;if(def.required&&isUndefined(def["default"])&&!def.setOnce)def["default"]=object._getDefaultForType(type);def.test=desc.test;def.values=desc.values}if(isSession)def.session=true;Object.defineProperty(object,name,{set:function(val){this.set(name,val)},get:function(){if(!this._values){throw Error('You may be trying to `extend` a state object with "'+name+'" which has been defined in `props` on the object being extended')}var value=this._values[name];var typeDef=this._dataTypes[def.type];if(typeof value!=="undefined"){if(typeDef&&typeDef.get){value=typeDef.get(value)}return value}value=result(def,"default");this._values[name]=value;return value}});return def}function createDerivedProperty(modelProto,name,definition){var def=modelProto._derived[name]={fn:isFunction(definition)?definition:definition.fn,cache:definition.cache!==false,depList:definition.deps||[]};forEach(def.depList,function(dep){modelProto._deps[dep]=union(modelProto._deps[dep]||[],[name])});Object.defineProperty(modelProto,name,{get:function(){return this._getDerivedProperty(name)},set:function(){throw new TypeError('"'+name+"\" is a derived property, it can't be set directly.")}})}var dataTypes={string:{"default":function(){return""}},date:{set:function(newVal){var newType;if(newVal==null){newType=typeof null}else if(!isDate(newVal)){try{var dateVal=new Date(newVal).valueOf();if(isNaN(dateVal)){dateVal=new Date(parseInt(newVal,10)).valueOf();if(isNaN(dateVal))throw TypeError}newVal=dateVal;newType="date"}catch(e){newType=typeof newVal}}else{newType="date";newVal=newVal.valueOf()}return{val:newVal,type:newType}},get:function(val){if(val==null){return val}return new Date(val)},"default":function(){return new Date}},array:{set:function(newVal){return{val:newVal,type:isArray(newVal)?"array":typeof newVal}},"default":function(){return[]}},object:{set:function(newVal){var newType=typeof newVal;if(newType!=="object"&&isUndefined(newVal)){newVal=null;newType="object"}return{val:newVal,type:newType}},"default":function(){return{}}},state:{set:function(newVal){var isInstance=newVal instanceof Base||newVal&&newVal.isState;if(isInstance){return{val:newVal,type:"state"}}else{return{val:newVal,type:typeof newVal}}},compare:function(currentVal,newVal,attributeName){var isSame=currentVal===newVal;if(!isSame){if(currentVal){this.stopListening(currentVal)}if(newVal!=null){this.listenTo(newVal,"all",this._getEventBubblingHandler(attributeName))}}return isSame}}};function extend(protoProps){var parent=this;var child;var args=[].slice.call(arguments);if(protoProps&&protoProps.hasOwnProperty("constructor")){child=protoProps.constructor}else{child=function(){return parent.apply(this,arguments)}}assign(child,parent);var Surrogate=function(){this.constructor=child};Surrogate.prototype=parent.prototype;child.prototype=new Surrogate;child.prototype._derived=assign({},parent.prototype._derived);child.prototype._deps=assign({},parent.prototype._deps);child.prototype._definition=assign({},parent.prototype._definition);child.prototype._collections=assign({},parent.prototype._collections);child.prototype._children=assign({},parent.prototype._children);child.prototype._dataTypes=assign({},parent.prototype._dataTypes||dataTypes);if(protoProps){var omitFromExtend=["dataTypes","props","session","derived","collections","children"];args.forEach(function processArg(def){if(def.dataTypes){forEach(def.dataTypes,function(def,name){child.prototype._dataTypes[name]=def})}if(def.props){forEach(def.props,function(def,name){createPropertyDefinition(child.prototype,name,def)})}if(def.session){forEach(def.session,function(def,name){createPropertyDefinition(child.prototype,name,def,true)})}if(def.derived){forEach(def.derived,function(def,name){createDerivedProperty(child.prototype,name,def)})}if(def.collections){forEach(def.collections,function(constructor,name){child.prototype._collections[name]=constructor})}if(def.children){forEach(def.children,function(constructor,name){child.prototype._children[name]=constructor})}assign(child.prototype,omit(def,omitFromExtend))})}child.__super__=parent.prototype;return child}Base.extend=extend;module.exports=Base},{"ampersand-events":41,"array-next":44,"key-tree-store":45,"lodash.assign":115,"lodash.bind":126,"lodash.clone":46,"lodash.defaults":56,"lodash.escape":58,"lodash.foreach":137,"lodash.has":60,"lodash.includes":65,"lodash.isarray":69,"lodash.isdate":70,"lodash.isempty":71,"lodash.isequal":73,"lodash.isfunction":173,"lodash.isnull":77,"lodash.isobject":78,"lodash.isstring":156,"lodash.isundefined":79,"lodash.keys":80,"lodash.omit":83,"lodash.result":174,"lodash.union":99,"lodash.uniqueid":170}],41:[function(require,module,exports){arguments[4][4][0].apply(exports,arguments)},{dup:4,"lodash.assign":115,"lodash.bind":126,"lodash.foreach":137,"lodash.isempty":71,"lodash.keys":80,"lodash.once":42,"lodash.uniqueid":170}],42:[function(require,module,exports){arguments[4][12][0].apply(exports,arguments)},{dup:12,"lodash.before":43}],43:[function(require,module,exports){arguments[4][13][0].apply(exports,arguments)},{dup:13}],44:[function(require,module,exports){module.exports=function arrayNext(array,currentItem){var len=array.length;var newIndex=array.indexOf(currentItem)+1;if(newIndex>len-1)newIndex=0;return array[newIndex]}},{}],45:[function(require,module,exports){arguments[4][39][0].apply(exports,arguments)},{dup:39}],46:[function(require,module,exports){var baseClone=require("lodash._baseclone"),bindCallback=require("lodash._bindcallback"),isIterateeCall=require("lodash._isiterateecall");function clone(value,isDeep,customizer,thisArg){if(isDeep&&typeof isDeep!="boolean"&&isIterateeCall(value,isDeep,customizer)){isDeep=false}else if(typeof isDeep=="function"){thisArg=customizer;customizer=isDeep;isDeep=false}return typeof customizer=="function"?baseClone(value,isDeep,bindCallback(customizer,thisArg,1)):baseClone(value,isDeep)}module.exports=clone},{"lodash._baseclone":47,"lodash._bindcallback":54,"lodash._isiterateecall":55}],47:[function(require,module,exports){(function(global){var arrayCopy=require("lodash._arraycopy"),arrayEach=require("lodash._arrayeach"),baseAssign=require("lodash._baseassign"),baseFor=require("lodash._basefor"),getNative=require("lodash._getnative"),isArray=require("lodash.isarray"),keys=require("lodash.keys");var argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",weakMapTag="[object WeakMap]";var arrayBufferTag="[object ArrayBuffer]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]";var reFlags=/\w*$/;var cloneableTags={};cloneableTags[argsTag]=cloneableTags[arrayTag]=cloneableTags[arrayBufferTag]=cloneableTags[boolTag]=cloneableTags[dateTag]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[numberTag]=cloneableTags[objectTag]=cloneableTags[regexpTag]=cloneableTags[stringTag]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=true;cloneableTags[errorTag]=cloneableTags[funcTag]=cloneableTags[mapTag]=cloneableTags[setTag]=cloneableTags[weakMapTag]=false;var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;var objToString=objectProto.toString;var ArrayBuffer=getNative(global,"ArrayBuffer"),bufferSlice=getNative(ArrayBuffer&&new ArrayBuffer(0),"slice"),floor=Math.floor,Uint8Array=getNative(global,"Uint8Array");var Float64Array=function(){try{var func=getNative(global,"Float64Array"),result=new func(new ArrayBuffer(10),0,1)&&func}catch(e){}return result||null}();var FLOAT64_BYTES_PER_ELEMENT=Float64Array?Float64Array.BYTES_PER_ELEMENT:0;function baseClone(value,isDeep,customizer,key,object,stackA,stackB){var result;if(customizer){result=object?customizer(value,key,object):customizer(value)}if(result!==undefined){return result}if(!isObject(value)){return value}var isArr=isArray(value);if(isArr){result=initCloneArray(value);if(!isDeep){return arrayCopy(value,result)}}else{var tag=objToString.call(value),isFunc=tag==funcTag;if(tag==objectTag||tag==argsTag||isFunc&&!object){result=initCloneObject(isFunc?{}:value);if(!isDeep){return baseAssign(result,value)}}else{return cloneableTags[tag]?initCloneByTag(value,tag,isDeep):object?value:{}}}stackA||(stackA=[]);stackB||(stackB=[]);var length=stackA.length;while(length--){if(stackA[length]==value){return stackB[length]}}stackA.push(value);stackB.push(result);(isArr?arrayEach:baseForOwn)(value,function(subValue,key){result[key]=baseClone(subValue,isDeep,customizer,key,value,stackA,stackB)});return result}function baseForOwn(object,iteratee){return baseFor(object,iteratee,keys)}function bufferClone(buffer){return bufferSlice.call(buffer,0)}if(!bufferSlice){bufferClone=!(ArrayBuffer&&Uint8Array)?constant(null):function(buffer){var byteLength=buffer.byteLength,floatLength=Float64Array?floor(byteLength/FLOAT64_BYTES_PER_ELEMENT):0,offset=floatLength*FLOAT64_BYTES_PER_ELEMENT,result=new ArrayBuffer(byteLength);if(floatLength){var view=new Float64Array(result,0,floatLength);view.set(new Float64Array(buffer,0,floatLength))}if(byteLength!=offset){view=new Uint8Array(result,offset);view.set(new Uint8Array(buffer,offset))}return result}}function initCloneArray(array){var length=array.length,result=new array.constructor(length);if(length&&typeof array[0]=="string"&&hasOwnProperty.call(array,"index")){result.index=array.index;result.input=array.input}return result}function initCloneObject(object){var Ctor=object.constructor;if(!(typeof Ctor=="function"&&Ctor instanceof Ctor)){Ctor=Object}return new Ctor}function initCloneByTag(object,tag,isDeep){var Ctor=object.constructor;switch(tag){case arrayBufferTag:return bufferClone(object);case boolTag:case dateTag:return new Ctor(+object);case float32Tag:case float64Tag:case int8Tag:case int16Tag:case int32Tag:case uint8Tag:case uint8ClampedTag:case uint16Tag:case uint32Tag:var buffer=object.buffer;return new Ctor(isDeep?bufferClone(buffer):buffer,object.byteOffset,object.length);case numberTag:case stringTag:return new Ctor(object);case regexpTag:var result=new Ctor(object.source,reFlags.exec(object));result.lastIndex=object.lastIndex}return result}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function constant(value){return function(){return value}}module.exports=baseClone}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"lodash._arraycopy":48,"lodash._arrayeach":49,"lodash._baseassign":50,"lodash._basefor":52,"lodash._getnative":53,"lodash.isarray":69,"lodash.keys":80}],48:[function(require,module,exports){function arrayCopy(source,array){var index=-1,length=source.length;array||(array=Array(length));while(++index<length){array[index]=source[index]}return array}module.exports=arrayCopy},{}],49:[function(require,module,exports){function arrayEach(array,iteratee){var index=-1,length=array.length;while(++index<length){if(iteratee(array[index],index,array)===false){break}}return array}module.exports=arrayEach},{}],50:[function(require,module,exports){var baseCopy=require("lodash._basecopy"),keys=require("lodash.keys");function baseAssign(object,source){return source==null?object:baseCopy(source,keys(source),object)}module.exports=baseAssign},{"lodash._basecopy":51,"lodash.keys":80}],51:[function(require,module,exports){function baseCopy(source,props,object){object||(object={});var index=-1,length=props.length;while(++index<length){var key=props[index];object[key]=source[key]}return object}module.exports=baseCopy},{}],52:[function(require,module,exports){var baseFor=createBaseFor();function createBaseFor(fromRight){return function(object,iteratee,keysFunc){var iterable=toObject(object),props=keysFunc(object),length=props.length,index=fromRight?length:-1;while(fromRight?index--:++index<length){var key=props[index];if(iteratee(iterable[key],key,iterable)===false){break}}return object}}function toObject(value){return isObject(value)?value:Object(value)}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}module.exports=baseFor},{}],53:[function(require,module,exports){arguments[4][9][0].apply(exports,arguments)},{dup:9}],54:[function(require,module,exports){arguments[4][28][0].apply(exports,arguments)},{dup:28}],55:[function(require,module,exports){var reIsUint=/^\d+$/;var MAX_SAFE_INTEGER=9007199254740991;function baseProperty(key){return function(object){return object==null?undefined:object[key]}}var getLength=baseProperty("length");function isArrayLike(value){return value!=null&&isLength(getLength(value))}function isIndex(value,length){value=typeof value=="number"||reIsUint.test(value)?+value:-1;length=length==null?MAX_SAFE_INTEGER:length;return value>-1&&value%1==0&&value<length}function isIterateeCall(value,index,object){if(!isObject(object)){return false}var type=typeof index;if(type=="number"?isArrayLike(object)&&isIndex(index,object.length):type=="string"&&index in object){var other=object[index];return value===value?value===other:other!==other}return false}function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}module.exports=isIterateeCall},{}],56:[function(require,module,exports){var assign=require("lodash.assign"),restParam=require("lodash.restparam");function assignDefaults(objectValue,sourceValue){return objectValue===undefined?sourceValue:objectValue}var defaults=restParam(function(args){var object=args[0];if(object==null){return object}args.push(assignDefaults);return assign.apply(undefined,args)});module.exports=defaults},{"lodash.assign":115,"lodash.restparam":57}],57:[function(require,module,exports){arguments[4][23][0].apply(exports,arguments)},{dup:23}],58:[function(require,module,exports){var baseToString=require("lodash._basetostring");var reUnescapedHtml=/[&<>"'`]/g,reHasUnescapedHtml=RegExp(reUnescapedHtml.source);var htmlEscapes={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"};function escapeHtmlChar(chr){return htmlEscapes[chr]}function escape(string){string=baseToString(string);return string&&reHasUnescapedHtml.test(string)?string.replace(reUnescapedHtml,escapeHtmlChar):string}module.exports=escape},{"lodash._basetostring":59}],59:[function(require,module,exports){function baseToString(value){if(typeof value=="string"){return value}return value==null?"":value+""}module.exports=baseToString},{}],60:[function(require,module,exports){var baseGet=require("lodash._baseget"),baseSlice=require("lodash._baseslice"),toPath=require("lodash._topath"),isArguments=require("lodash.isarguments"),isArray=require("lodash.isarray");var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;var reIsUint=/^\d+$/;var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;var MAX_SAFE_INTEGER=9007199254740991;function isIndex(value,length){value=typeof value=="number"||reIsUint.test(value)?+value:-1;length=length==null?MAX_SAFE_INTEGER:length;return value>-1&&value%1==0&&value<length}function isKey(value,object){var type=typeof value;if(type=="string"&&reIsPlainProp.test(value)||type=="number"){return true}if(isArray(value)){return false}var result=!reIsDeepProp.test(value);return result||object!=null&&value in toObject(object)}function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function toObject(value){return isObject(value)?value:Object(value)}function last(array){var length=array?array.length:0;return length?array[length-1]:undefined}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function has(object,path){if(object==null){return false}var result=hasOwnProperty.call(object,path);if(!result&&!isKey(path)){path=toPath(path);object=path.length==1?object:baseGet(object,baseSlice(path,0,-1));if(object==null){return false}path=last(path);result=hasOwnProperty.call(object,path)}return result||isLength(object.length)&&isIndex(path,object.length)&&(isArray(object)||isArguments(object))}module.exports=has},{"lodash._baseget":61,"lodash._baseslice":62,"lodash._topath":63,"lodash.isarguments":64,"lodash.isarray":69}],61:[function(require,module,exports){function baseGet(object,path,pathKey){if(object==null){return}if(pathKey!==undefined&&pathKey in toObject(object)){path=[pathKey]}var index=0,length=path.length;while(object!=null&&index<length){object=object[path[index++]]}return index&&index==length?object:undefined}function toObject(value){return isObject(value)?value:Object(value)}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}module.exports=baseGet},{}],62:[function(require,module,exports){function baseSlice(array,start,end){var index=-1,length=array.length;start=start==null?0:+start||0;if(start<0){start=-start>length?0:length+start}end=end===undefined||end>length?length:+end||0;if(end<0){end+=length}length=start>end?0:end-start>>>0;start>>>=0;var result=Array(length);while(++index<length){result[index]=array[index+start]}return result}module.exports=baseSlice},{}],63:[function(require,module,exports){var isArray=require("lodash.isarray");var rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g;var reEscapeChar=/\\(\\)?/g;function baseToString(value){if(typeof value=="string"){return value}return value==null?"":value+""}function toPath(value){if(isArray(value)){return value}var result=[];baseToString(value).replace(rePropName,function(match,number,quote,string){result.push(quote?string.replace(reEscapeChar,"$1"):number||match)});return result}module.exports=toPath},{"lodash.isarray":69}],64:[function(require,module,exports){arguments[4][6][0].apply(exports,arguments)},{dup:6}],65:[function(require,module,exports){var baseIndexOf=require("lodash._baseindexof"),baseValues=require("lodash._basevalues"),isIterateeCall=require("lodash._isiterateecall"),isArray=require("lodash.isarray"),isString=require("lodash.isstring"),keys=require("lodash.keys");var nativeMax=Math.max;var MAX_SAFE_INTEGER=9007199254740991;function baseProperty(key){return function(object){return object==null?undefined:object[key]}}var getLength=baseProperty("length");function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function includes(collection,target,fromIndex,guard){var length=collection?getLength(collection):0;if(!isLength(length)){collection=values(collection);length=collection.length}if(!length){return false}if(typeof fromIndex!="number"||guard&&isIterateeCall(target,fromIndex,guard)){fromIndex=0}else{fromIndex=fromIndex<0?nativeMax(length+fromIndex,0):fromIndex||0}return typeof collection=="string"||!isArray(collection)&&isString(collection)?fromIndex<length&&collection.indexOf(target,fromIndex)>-1:baseIndexOf(collection,target,fromIndex)>-1}function values(object){return baseValues(object,keys(object))}module.exports=includes},{"lodash._baseindexof":66,"lodash._basevalues":67,"lodash._isiterateecall":68,"lodash.isarray":69,"lodash.isstring":156,"lodash.keys":80}],66:[function(require,module,exports){arguments[4][16][0].apply(exports,arguments)},{dup:16}],67:[function(require,module,exports){function baseValues(object,props){var index=-1,length=props.length,result=Array(length);while(++index<length){result[index]=object[props[index]]}return result}module.exports=baseValues},{}],68:[function(require,module,exports){arguments[4][55][0].apply(exports,arguments)},{dup:55}],69:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],70:[function(require,module,exports){var dateTag="[object Date]";function isObjectLike(value){return!!value&&typeof value=="object"}var objectProto=Object.prototype;var objToString=objectProto.toString;function isDate(value){return isObjectLike(value)&&objToString.call(value)==dateTag}module.exports=isDate},{}],71:[function(require,module,exports){arguments[4][5][0].apply(exports,arguments)},{dup:5,"lodash.isarguments":72,"lodash.isarray":69,"lodash.isfunction":173,"lodash.isstring":156,"lodash.keys":80}],72:[function(require,module,exports){arguments[4][6][0].apply(exports,arguments)},{dup:6}],73:[function(require,module,exports){var baseIsEqual=require("lodash._baseisequal"),bindCallback=require("lodash._bindcallback");function isEqual(value,other,customizer,thisArg){customizer=typeof customizer=="function"?bindCallback(customizer,thisArg,3):undefined;var result=customizer?customizer(value,other):undefined;return result===undefined?baseIsEqual(value,other,customizer):!!result}module.exports=isEqual},{"lodash._baseisequal":74,"lodash._bindcallback":76}],74:[function(require,module,exports){arguments[4][26][0].apply(exports,arguments)},{dup:26,"lodash.isarray":69,"lodash.istypedarray":75,"lodash.keys":80}],75:[function(require,module,exports){arguments[4][27][0].apply(exports,arguments)},{dup:27}],76:[function(require,module,exports){arguments[4][28][0].apply(exports,arguments)},{dup:28}],77:[function(require,module,exports){function isNull(value){return value===null}module.exports=isNull},{}],78:[function(require,module,exports){function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}module.exports=isObject},{}],79:[function(require,module,exports){function isUndefined(value){return value===undefined}module.exports=isUndefined},{}],80:[function(require,module,exports){arguments[4][8][0].apply(exports,arguments)},{dup:8,"lodash._getnative":81,"lodash.isarguments":82,"lodash.isarray":69}],81:[function(require,module,exports){arguments[4][9][0].apply(exports,arguments)},{dup:9}],82:[function(require,module,exports){arguments[4][6][0].apply(exports,arguments)},{dup:6}],83:[function(require,module,exports){var arrayMap=require("lodash._arraymap"),baseDifference=require("lodash._basedifference"),baseFlatten=require("lodash._baseflatten"),bindCallback=require("lodash._bindcallback"),pickByArray=require("lodash._pickbyarray"),pickByCallback=require("lodash._pickbycallback"),keysIn=require("lodash.keysin"),restParam=require("lodash.restparam");var omit=restParam(function(object,props){if(object==null){return{}}if(typeof props[0]!="function"){var props=arrayMap(baseFlatten(props),String);return pickByArray(object,baseDifference(keysIn(object),props))}var predicate=bindCallback(props[0],props[1],3);return pickByCallback(object,function(value,key,object){return!predicate(value,key,object)})});module.exports=omit},{"lodash._arraymap":84,"lodash._basedifference":85,"lodash._baseflatten":90,"lodash._bindcallback":92,"lodash._pickbyarray":93,"lodash._pickbycallback":94,"lodash.keysin":96,"lodash.restparam":98}],84:[function(require,module,exports){function arrayMap(array,iteratee){var index=-1,length=array.length,result=Array(length);while(++index<length){result[index]=iteratee(array[index],index,array)}return result}module.exports=arrayMap},{}],85:[function(require,module,exports){arguments[4][15][0].apply(exports,arguments)},{dup:15,"lodash._baseindexof":86,"lodash._cacheindexof":87,"lodash._createcache":88}],86:[function(require,module,exports){arguments[4][16][0].apply(exports,arguments)},{dup:16}],87:[function(require,module,exports){arguments[4][17][0].apply(exports,arguments)},{dup:17}],88:[function(require,module,exports){(function(global){var getNative=require("lodash._getnative");var Set=getNative(global,"Set");var nativeCreate=getNative(Object,"create");function SetCache(values){var length=values?values.length:0;this.data={hash:nativeCreate(null),set:new Set};while(length--){this.push(values[length])}}function cachePush(value){var data=this.data;if(typeof value=="string"||isObject(value)){data.set.add(value)}else{data.hash[value]=true}}var createCache=!(nativeCreate&&Set)?constant(null):function(values){return new SetCache(values)};function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function constant(value){return function(){return value}}SetCache.prototype.push=cachePush;module.exports=createCache}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"lodash._getnative":89}],89:[function(require,module,exports){arguments[4][9][0].apply(exports,arguments)},{dup:9}],90:[function(require,module,exports){arguments[4][20][0].apply(exports,arguments)},{dup:20,"lodash.isarguments":91,"lodash.isarray":69}],91:[function(require,module,exports){arguments[4][6][0].apply(exports,arguments)},{dup:6}],92:[function(require,module,exports){arguments[4][28][0].apply(exports,arguments)},{dup:28}],93:[function(require,module,exports){function pickByArray(object,props){object=toObject(object);var index=-1,length=props.length,result={};while(++index<length){var key=props[index];if(key in object){result[key]=object[key]}}return result}function toObject(value){return isObject(value)?value:Object(value)}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}module.exports=pickByArray},{}],94:[function(require,module,exports){var baseFor=require("lodash._basefor"),keysIn=require("lodash.keysin");function baseForIn(object,iteratee){return baseFor(object,iteratee,keysIn)}function pickByCallback(object,predicate){var result={};baseForIn(object,function(value,key,object){if(predicate(value,key,object)){result[key]=value}});return result}module.exports=pickByCallback},{"lodash._basefor":95,"lodash.keysin":96}],95:[function(require,module,exports){arguments[4][52][0].apply(exports,arguments)},{dup:52}],96:[function(require,module,exports){var isArguments=require("lodash.isarguments"),isArray=require("lodash.isarray");var reIsUint=/^\d+$/;var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;var MAX_SAFE_INTEGER=9007199254740991;function isIndex(value,length){value=typeof value=="number"||reIsUint.test(value)?+value:-1;length=length==null?MAX_SAFE_INTEGER:length;return value>-1&&value%1==0&&value<length}function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function keysIn(object){if(object==null){return[]}if(!isObject(object)){object=Object(object)}var length=object.length;length=length&&isLength(length)&&(isArray(object)||isArguments(object))&&length||0;var Ctor=object.constructor,index=-1,isProto=typeof Ctor=="function"&&Ctor.prototype===object,result=Array(length),skipIndexes=length>0;while(++index<length){result[index]=index+""}for(var key in object){if(!(skipIndexes&&isIndex(key,length))&&!(key=="constructor"&&(isProto||!hasOwnProperty.call(object,key)))){result.push(key)}}return result}module.exports=keysIn},{"lodash.isarguments":97,"lodash.isarray":69}],97:[function(require,module,exports){arguments[4][6][0].apply(exports,arguments)},{dup:6}],98:[function(require,module,exports){arguments[4][23][0].apply(exports,arguments)},{dup:23}],99:[function(require,module,exports){var baseFlatten=require("lodash._baseflatten"),baseUniq=require("lodash._baseuniq"),restParam=require("lodash.restparam");var union=restParam(function(arrays){return baseUniq(baseFlatten(arrays,false,true))});module.exports=union},{"lodash._baseflatten":100,"lodash._baseuniq":102,"lodash.restparam":107}],100:[function(require,module,exports){arguments[4][20][0].apply(exports,arguments)},{dup:20,"lodash.isarguments":101,"lodash.isarray":69}],101:[function(require,module,exports){arguments[4][6][0].apply(exports,arguments)},{dup:6}],102:[function(require,module,exports){var baseIndexOf=require("lodash._baseindexof"),cacheIndexOf=require("lodash._cacheindexof"),createCache=require("lodash._createcache");function baseUniq(array,iteratee){var index=-1,indexOf=baseIndexOf,length=array.length,isCommon=true,isLarge=isCommon&&length>=200,seen=isLarge?createCache():null,result=[];if(seen){indexOf=cacheIndexOf;isCommon=false}else{isLarge=false;seen=iteratee?[]:result}outer:while(++index<length){var value=array[index],computed=iteratee?iteratee(value,index,array):value;if(isCommon&&value===value){var seenIndex=seen.length;while(seenIndex--){if(seen[seenIndex]===computed){continue outer}}if(iteratee){seen.push(computed)}result.push(value)}else if(indexOf(seen,computed,0)<0){if(iteratee||isLarge){seen.push(computed)}result.push(value)}}return result}module.exports=baseUniq},{"lodash._baseindexof":103,"lodash._cacheindexof":104,"lodash._createcache":105}],103:[function(require,module,exports){arguments[4][16][0].apply(exports,arguments)},{dup:16}],104:[function(require,module,exports){arguments[4][17][0].apply(exports,arguments)},{dup:17}],105:[function(require,module,exports){(function(global){var getNative=require("lodash._getnative");var Set=getNative(global,"Set");var nativeCreate=getNative(Object,"create");function SetCache(values){
var length=values?values.length:0;this.data={hash:nativeCreate(null),set:new Set};while(length--){this.push(values[length])}}function cachePush(value){var data=this.data;if(typeof value=="string"||isObject(value)){data.set.add(value)}else{data.hash[value]=true}}var createCache=!(nativeCreate&&Set)?constant(null):function(values){return new SetCache(values)};function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function constant(value){return function(){return value}}SetCache.prototype.push=cachePush;module.exports=createCache}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"lodash._getnative":106}],106:[function(require,module,exports){arguments[4][9][0].apply(exports,arguments)},{dup:9}],107:[function(require,module,exports){arguments[4][23][0].apply(exports,arguments)},{dup:23}],108:[function(require,module,exports){module.exports=parse;var div=document.createElement("div");div.innerHTML=' <link/><table></table><a href="/a">a</a><input type="checkbox"/>';var innerHTMLBug=!div.getElementsByTagName("link").length;div=undefined;var map={legend:[1,"<fieldset>","</fieldset>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],_default:innerHTMLBug?[1,"X<div>","</div>"]:[0,"",""]};map.td=map.th=[3,"<table><tbody><tr>","</tr></tbody></table>"];map.option=map.optgroup=[1,'<select multiple="multiple">',"</select>"];map.thead=map.tbody=map.colgroup=map.caption=map.tfoot=[1,"<table>","</table>"];map.polyline=map.ellipse=map.polygon=map.circle=map.text=map.line=map.path=map.rect=map.g=[1,'<svg xmlns="http://www.w3.org/2000/svg" version="1.1">',"</svg>"];function parse(html,doc){if("string"!=typeof html)throw new TypeError("String expected");if(!doc)doc=document;var m=/<([\w:]+)/.exec(html);if(!m)return doc.createTextNode(html);html=html.replace(/^\s+|\s+$/g,"");var tag=m[1];if(tag=="body"){var el=doc.createElement("html");el.innerHTML=html;return el.removeChild(el.lastChild)}var wrap=map[tag]||map._default;var depth=wrap[0];var prefix=wrap[1];var suffix=wrap[2];var el=doc.createElement("div");el.innerHTML=prefix+html+suffix;while(depth--)el=el.lastChild;if(el.firstChild==el.lastChild){return el.removeChild(el.firstChild)}var fragment=doc.createDocumentFragment();while(el.firstChild){fragment.appendChild(el.removeChild(el.firstChild))}return fragment}},{}],109:[function(require,module,exports){var events=require("component-event");var delegate=require("delegate-events");var forceCaptureEvents=["focus","blur"];module.exports=Events;function Events(el,obj){if(!(this instanceof Events))return new Events(el,obj);if(!el)throw new Error("element required");if(!obj)throw new Error("object required");this.el=el;this.obj=obj;this._events={}}Events.prototype.sub=function(event,method,cb){this._events[event]=this._events[event]||{};this._events[event][method]=cb};Events.prototype.bind=function(event,method){var e=parse(event);var el=this.el;var obj=this.obj;var name=e.name;var method=method||"on"+name;var args=[].slice.call(arguments,2);function cb(){var a=[].slice.call(arguments).concat(args);if(typeof method==="function"){method.apply(obj,a);return}if(!obj[method]){throw new Error(method+" method is not defined")}else{obj[method].apply(obj,a)}}if(e.selector){cb=delegate.bind(el,e.selector,name,cb)}else{events.bind(el,name,cb)}this.sub(name,method,cb);return cb};Events.prototype.unbind=function(event,method){if(0==arguments.length)return this.unbindAll();if(1==arguments.length)return this.unbindAllOf(event);var bindings=this._events[event];var capture=forceCaptureEvents.indexOf(event)!==-1;if(!bindings)return;var cb=bindings[method];if(!cb)return;events.unbind(this.el,event,cb,capture)};Events.prototype.unbindAll=function(){for(var event in this._events){this.unbindAllOf(event)}};Events.prototype.unbindAllOf=function(event){var bindings=this._events[event];if(!bindings)return;for(var method in bindings){this.unbind(event,method)}};function parse(event){var parts=event.split(/ +/);return{name:parts.shift(),selector:parts.join(" ")}}},{"component-event":110,"delegate-events":111}],110:[function(require,module,exports){var bind=window.addEventListener?"addEventListener":"attachEvent",unbind=window.removeEventListener?"removeEventListener":"detachEvent",prefix=bind!=="addEventListener"?"on":"";exports.bind=function(el,type,fn,capture){el[bind](prefix+type,fn,capture||false);return fn};exports.unbind=function(el,type,fn,capture){el[unbind](prefix+type,fn,capture||false);return fn}},{}],111:[function(require,module,exports){var closest=require("closest"),event=require("component-event");var forceCaptureEvents=["focus","blur"];exports.bind=function(el,selector,type,fn,capture){if(forceCaptureEvents.indexOf(type)!==-1)capture=true;return event.bind(el,type,function(e){var target=e.target||e.srcElement;e.delegateTarget=closest(target,selector,true,el);if(e.delegateTarget)fn.call(el,e)},capture)};exports.unbind=function(el,type,fn,capture){if(forceCaptureEvents.indexOf(type)!==-1)capture=true;event.unbind(el,type,fn,capture)}},{closest:112,"component-event":110}],112:[function(require,module,exports){var matches=require("matches-selector");module.exports=function(element,selector,checkYoSelf){var parent=checkYoSelf?element:element.parentNode;while(parent&&parent!==document){if(matches(parent,selector))return parent;parent=parent.parentNode}}},{"matches-selector":113}],113:[function(require,module,exports){var proto=Element.prototype;var vendor=proto.matchesSelector||proto.webkitMatchesSelector||proto.mozMatchesSelector||proto.msMatchesSelector||proto.oMatchesSelector;module.exports=match;function match(el,selector){if(vendor)return vendor.call(el,selector);var nodes=el.parentNode.querySelectorAll(selector);for(var i=0;i<nodes.length;++i){if(nodes[i]==el)return true}return false}},{}],114:[function(require,module,exports){module.exports=get;function get(context,path){if(path.indexOf(".")==-1&&path.indexOf("[")==-1){return context[path]}var crumbs=path.split(/\.|\[|\]/g);var i=-1;var len=crumbs.length;var result;while(++i<len){if(i==0)result=context;if(!crumbs[i])continue;if(result==undefined)break;result=result[crumbs[i]]}return result}},{}],115:[function(require,module,exports){var baseAssign=require("lodash._baseassign"),createAssigner=require("lodash._createassigner"),keys=require("lodash.keys");function assignWith(object,source,customizer){var index=-1,props=keys(source),length=props.length;while(++index<length){var key=props[index],value=object[key],result=customizer(value,source[key],key,object,source);if((result===result?result!==value:value===value)||value===undefined&&!(key in object)){object[key]=result}}return object}var assign=createAssigner(function(object,source,customizer){return customizer?assignWith(object,source,customizer):baseAssign(object,source)});module.exports=assign},{"lodash._baseassign":116,"lodash._createassigner":118,"lodash.keys":122}],116:[function(require,module,exports){arguments[4][50][0].apply(exports,arguments)},{dup:50,"lodash._basecopy":117,"lodash.keys":122}],117:[function(require,module,exports){arguments[4][51][0].apply(exports,arguments)},{dup:51}],118:[function(require,module,exports){var bindCallback=require("lodash._bindcallback"),isIterateeCall=require("lodash._isiterateecall"),restParam=require("lodash.restparam");function createAssigner(assigner){return restParam(function(object,sources){var index=-1,length=object==null?0:sources.length,customizer=length>2?sources[length-2]:undefined,guard=length>2?sources[2]:undefined,thisArg=length>1?sources[length-1]:undefined;if(typeof customizer=="function"){customizer=bindCallback(customizer,thisArg,5);length-=2}else{customizer=typeof thisArg=="function"?thisArg:undefined;length-=customizer?1:0}if(guard&&isIterateeCall(sources[0],sources[1],guard)){customizer=length<3?undefined:customizer;length=1}while(++index<length){var source=sources[index];if(source){assigner(object,source,customizer)}}return object})}module.exports=createAssigner},{"lodash._bindcallback":119,"lodash._isiterateecall":120,"lodash.restparam":121}],119:[function(require,module,exports){arguments[4][28][0].apply(exports,arguments)},{dup:28}],120:[function(require,module,exports){arguments[4][55][0].apply(exports,arguments)},{dup:55}],121:[function(require,module,exports){arguments[4][23][0].apply(exports,arguments)},{dup:23}],122:[function(require,module,exports){arguments[4][8][0].apply(exports,arguments)},{dup:8,"lodash._getnative":123,"lodash.isarguments":124,"lodash.isarray":125}],123:[function(require,module,exports){arguments[4][9][0].apply(exports,arguments)},{dup:9}],124:[function(require,module,exports){arguments[4][6][0].apply(exports,arguments)},{dup:6}],125:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],126:[function(require,module,exports){var createWrapper=require("lodash._createwrapper"),replaceHolders=require("lodash._replaceholders"),restParam=require("lodash.restparam");var BIND_FLAG=1,PARTIAL_FLAG=32;var bind=restParam(function(func,thisArg,partials){var bitmask=BIND_FLAG;if(partials.length){var holders=replaceHolders(partials,bind.placeholder);bitmask|=PARTIAL_FLAG}return createWrapper(func,bitmask,thisArg,partials,holders)});bind.placeholder={};module.exports=bind},{"lodash._createwrapper":127,"lodash._replaceholders":130,"lodash.restparam":131}],127:[function(require,module,exports){(function(global){var arrayCopy=require("lodash._arraycopy"),baseCreate=require("lodash._basecreate"),replaceHolders=require("lodash._replaceholders");var BIND_FLAG=1,BIND_KEY_FLAG=2,CURRY_BOUND_FLAG=4,CURRY_FLAG=8,CURRY_RIGHT_FLAG=16,PARTIAL_FLAG=32,PARTIAL_RIGHT_FLAG=64,ARY_FLAG=128;var FUNC_ERROR_TEXT="Expected a function";var reIsUint=/^\d+$/;var nativeMax=Math.max,nativeMin=Math.min;var MAX_SAFE_INTEGER=9007199254740991;function composeArgs(args,partials,holders){var holdersLength=holders.length,argsIndex=-1,argsLength=nativeMax(args.length-holdersLength,0),leftIndex=-1,leftLength=partials.length,result=Array(argsLength+leftLength);while(++leftIndex<leftLength){result[leftIndex]=partials[leftIndex]}while(++argsIndex<holdersLength){result[holders[argsIndex]]=args[argsIndex]}while(argsLength--){result[leftIndex++]=args[argsIndex++]}return result}function composeArgsRight(args,partials,holders){var holdersIndex=-1,holdersLength=holders.length,argsIndex=-1,argsLength=nativeMax(args.length-holdersLength,0),rightIndex=-1,rightLength=partials.length,result=Array(argsLength+rightLength);while(++argsIndex<argsLength){result[argsIndex]=args[argsIndex]}var offset=argsIndex;while(++rightIndex<rightLength){result[offset+rightIndex]=partials[rightIndex]}while(++holdersIndex<holdersLength){result[offset+holders[holdersIndex]]=args[argsIndex++]}return result}function createBindWrapper(func,thisArg){var Ctor=createCtorWrapper(func);function wrapper(){var fn=this&&this!==global&&this instanceof wrapper?Ctor:func;return fn.apply(thisArg,arguments)}return wrapper}function createCtorWrapper(Ctor){return function(){var args=arguments;switch(args.length){case 0:return new Ctor;case 1:return new Ctor(args[0]);case 2:return new Ctor(args[0],args[1]);case 3:return new Ctor(args[0],args[1],args[2]);case 4:return new Ctor(args[0],args[1],args[2],args[3]);case 5:return new Ctor(args[0],args[1],args[2],args[3],args[4])}var thisBinding=baseCreate(Ctor.prototype),result=Ctor.apply(thisBinding,args);return isObject(result)?result:thisBinding}}function createHybridWrapper(func,bitmask,thisArg,partials,holders,partialsRight,holdersRight,argPos,ary,arity){var isAry=bitmask&ARY_FLAG,isBind=bitmask&BIND_FLAG,isBindKey=bitmask&BIND_KEY_FLAG,isCurry=bitmask&CURRY_FLAG,isCurryBound=bitmask&CURRY_BOUND_FLAG,isCurryRight=bitmask&CURRY_RIGHT_FLAG,Ctor=isBindKey?null:createCtorWrapper(func);function wrapper(){var length=arguments.length,index=length,args=Array(length);while(index--){args[index]=arguments[index]}if(partials){args=composeArgs(args,partials,holders)}if(partialsRight){args=composeArgsRight(args,partialsRight,holdersRight)}if(isCurry||isCurryRight){var placeholder=wrapper.placeholder,argsHolders=replaceHolders(args,placeholder);length-=argsHolders.length;if(length<arity){var newArgPos=argPos?arrayCopy(argPos):null,newArity=nativeMax(arity-length,0),newsHolders=isCurry?argsHolders:null,newHoldersRight=isCurry?null:argsHolders,newPartials=isCurry?args:null,newPartialsRight=isCurry?null:args;bitmask|=isCurry?PARTIAL_FLAG:PARTIAL_RIGHT_FLAG;bitmask&=~(isCurry?PARTIAL_RIGHT_FLAG:PARTIAL_FLAG);if(!isCurryBound){bitmask&=~(BIND_FLAG|BIND_KEY_FLAG)}var result=createHybridWrapper(func,bitmask,thisArg,newPartials,newsHolders,newPartialsRight,newHoldersRight,newArgPos,ary,newArity);result.placeholder=placeholder;return result}}var thisBinding=isBind?thisArg:this,fn=isBindKey?thisBinding[func]:func;if(argPos){args=reorder(args,argPos)}if(isAry&&ary<args.length){args.length=ary}if(this&&this!==global&&this instanceof wrapper){fn=Ctor||createCtorWrapper(func)}return fn.apply(thisBinding,args)}return wrapper}function createPartialWrapper(func,bitmask,thisArg,partials){var isBind=bitmask&BIND_FLAG,Ctor=createCtorWrapper(func);function wrapper(){var argsIndex=-1,argsLength=arguments.length,leftIndex=-1,leftLength=partials.length,args=Array(argsLength+leftLength);while(++leftIndex<leftLength){args[leftIndex]=partials[leftIndex]}while(argsLength--){args[leftIndex++]=arguments[++argsIndex]}var fn=this&&this!==global&&this instanceof wrapper?Ctor:func;return fn.apply(isBind?thisArg:this,args)}return wrapper}function createWrapper(func,bitmask,thisArg,partials,holders,argPos,ary,arity){var isBindKey=bitmask&BIND_KEY_FLAG;if(!isBindKey&&typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}var length=partials?partials.length:0;if(!length){bitmask&=~(PARTIAL_FLAG|PARTIAL_RIGHT_FLAG);partials=holders=null}length-=holders?holders.length:0;if(bitmask&PARTIAL_RIGHT_FLAG){var partialsRight=partials,holdersRight=holders;partials=holders=null}var newData=[func,bitmask,thisArg,partials,holders,partialsRight,holdersRight,argPos,ary,arity];newData[9]=arity==null?isBindKey?0:func.length:nativeMax(arity-length,0)||0;if(bitmask==BIND_FLAG){var result=createBindWrapper(newData[0],newData[2])}else if((bitmask==PARTIAL_FLAG||bitmask==(BIND_FLAG|PARTIAL_FLAG))&&!newData[4].length){result=createPartialWrapper.apply(undefined,newData)}else{result=createHybridWrapper.apply(undefined,newData)}return result}function isIndex(value,length){value=typeof value=="number"||reIsUint.test(value)?+value:-1;length=length==null?MAX_SAFE_INTEGER:length;return value>-1&&value%1==0&&value<length}function reorder(array,indexes){var arrLength=array.length,length=nativeMin(indexes.length,arrLength),oldArray=arrayCopy(array);while(length--){var index=indexes[length];array[length]=isIndex(index,arrLength)?oldArray[index]:undefined}return array}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}module.exports=createWrapper}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"lodash._arraycopy":128,"lodash._basecreate":129,"lodash._replaceholders":130}],128:[function(require,module,exports){arguments[4][48][0].apply(exports,arguments)},{dup:48}],129:[function(require,module,exports){var baseCreate=function(){function object(){}return function(prototype){if(isObject(prototype)){object.prototype=prototype;var result=new object;object.prototype=null}return result||{}}}();function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}module.exports=baseCreate},{}],130:[function(require,module,exports){var PLACEHOLDER="__lodash_placeholder__";function replaceHolders(array,placeholder){var index=-1,length=array.length,resIndex=-1,result=[];while(++index<length){if(array[index]===placeholder){array[index]=PLACEHOLDER;result[++resIndex]=index}}return result}module.exports=replaceHolders},{}],131:[function(require,module,exports){arguments[4][23][0].apply(exports,arguments)},{dup:23}],132:[function(require,module,exports){var baseFlatten=require("lodash._baseflatten"),isIterateeCall=require("lodash._isiterateecall");function flatten(array,isDeep,guard){var length=array?array.length:0;if(guard&&isIterateeCall(array,isDeep,guard)){isDeep=false}return length?baseFlatten(array,isDeep):[]}module.exports=flatten},{"lodash._baseflatten":133,"lodash._isiterateecall":136}],133:[function(require,module,exports){arguments[4][20][0].apply(exports,arguments)},{dup:20,"lodash.isarguments":134,"lodash.isarray":135}],134:[function(require,module,exports){arguments[4][6][0].apply(exports,arguments)},{dup:6}],135:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],136:[function(require,module,exports){arguments[4][55][0].apply(exports,arguments)},{dup:55}],137:[function(require,module,exports){var arrayEach=require("lodash._arrayeach"),baseEach=require("lodash._baseeach"),bindCallback=require("lodash._bindcallback"),isArray=require("lodash.isarray");function createForEach(arrayFunc,eachFunc){return function(collection,iteratee,thisArg){return typeof iteratee=="function"&&thisArg===undefined&&isArray(collection)?arrayFunc(collection,iteratee):eachFunc(collection,bindCallback(iteratee,thisArg,3))}}var forEach=createForEach(arrayEach,baseEach);module.exports=forEach},{"lodash._arrayeach":138,"lodash._baseeach":139,"lodash._bindcallback":143,"lodash.isarray":144}],138:[function(require,module,exports){arguments[4][49][0].apply(exports,arguments)},{dup:49}],139:[function(require,module,exports){arguments[4][30][0].apply(exports,arguments)},{dup:30,"lodash.keys":140}],140:[function(require,module,exports){arguments[4][8][0].apply(exports,arguments)},{dup:8,"lodash._getnative":141,"lodash.isarguments":142,"lodash.isarray":144}],141:[function(require,module,exports){arguments[4][9][0].apply(exports,arguments)},{dup:9}],142:[function(require,module,exports){arguments[4][6][0].apply(exports,arguments)},{dup:6}],143:[function(require,module,exports){arguments[4][28][0].apply(exports,arguments)},{dup:28}],144:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],145:[function(require,module,exports){var baseEach=require("lodash._baseeach"),invokePath=require("lodash._invokepath"),isArray=require("lodash.isarray"),restParam=require("lodash.restparam");var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;var MAX_SAFE_INTEGER=9007199254740991;function baseProperty(key){return function(object){return object==null?undefined:object[key]}}var getLength=baseProperty("length");function isArrayLike(value){return value!=null&&isLength(getLength(value))}function isKey(value,object){var type=typeof value;if(type=="string"&&reIsPlainProp.test(value)||type=="number"){return true}if(isArray(value)){return false}var result=!reIsDeepProp.test(value);return result||object!=null&&value in toObject(object)}function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function toObject(value){return isObject(value)?value:Object(value)}var invoke=restParam(function(collection,path,args){var index=-1,isFunc=typeof path=="function",isProp=isKey(path),result=isArrayLike(collection)?Array(collection.length):[];baseEach(collection,function(value){var func=isFunc?path:isProp&&value!=null?value[path]:null;result[++index]=func?func.apply(value,args):invokePath(value,path,args)});return result});function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}module.exports=invoke},{"lodash._baseeach":146,"lodash._invokepath":150,"lodash.isarray":154,"lodash.restparam":155}],146:[function(require,module,exports){arguments[4][30][0].apply(exports,arguments)},{dup:30,"lodash.keys":147}],147:[function(require,module,exports){arguments[4][8][0].apply(exports,arguments)},{dup:8,"lodash._getnative":148,"lodash.isarguments":149,"lodash.isarray":154}],148:[function(require,module,exports){arguments[4][9][0].apply(exports,arguments)},{dup:9}],149:[function(require,module,exports){arguments[4][6][0].apply(exports,arguments)},{dup:6}],150:[function(require,module,exports){var baseGet=require("lodash._baseget"),baseSlice=require("lodash._baseslice"),toPath=require("lodash._topath"),isArray=require("lodash.isarray");var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;function invokePath(object,path,args){if(object!=null&&!isKey(path,object)){path=toPath(path);object=path.length==1?object:baseGet(object,baseSlice(path,0,-1));path=last(path)}var func=object==null?object:object[path];return func==null?undefined:func.apply(object,args)}function isKey(value,object){var type=typeof value;if(type=="string"&&reIsPlainProp.test(value)||type=="number"){return true}if(isArray(value)){return false}var result=!reIsDeepProp.test(value);return result||object!=null&&value in toObject(object)}function toObject(value){return isObject(value)?value:Object(value)}function last(array){var length=array?array.length:0;return length?array[length-1]:undefined}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}module.exports=invokePath},{"lodash._baseget":151,"lodash._baseslice":152,"lodash._topath":153,"lodash.isarray":154}],151:[function(require,module,exports){arguments[4][61][0].apply(exports,arguments)},{dup:61}],152:[function(require,module,exports){arguments[4][62][0].apply(exports,arguments)},{dup:62}],153:[function(require,module,exports){arguments[4][63][0].apply(exports,arguments)},{dup:63,"lodash.isarray":154}],154:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],155:[function(require,module,exports){arguments[4][23][0].apply(exports,arguments)},{dup:23}],156:[function(require,module,exports){var stringTag="[object String]";function isObjectLike(value){return!!value&&typeof value=="object"}var objectProto=Object.prototype;var objToString=objectProto.toString;function isString(value){return typeof value=="string"||isObjectLike(value)&&objToString.call(value)==stringTag}module.exports=isString},{}],157:[function(require,module,exports){function last(array){var length=array?array.length:0;return length?array[length-1]:undefined}module.exports=last},{}],158:[function(require,module,exports){var baseFlatten=require("lodash._baseflatten"),bindCallback=require("lodash._bindcallback"),pickByArray=require("lodash._pickbyarray"),pickByCallback=require("lodash._pickbycallback"),restParam=require("lodash.restparam");var pick=restParam(function(object,props){if(object==null){return{}}return typeof props[0]=="function"?pickByCallback(object,bindCallback(props[0],props[1],3)):pickByArray(object,baseFlatten(props))});module.exports=pick},{"lodash._baseflatten":159,"lodash._bindcallback":162,"lodash._pickbyarray":163,"lodash._pickbycallback":164,"lodash.restparam":169}],159:[function(require,module,exports){arguments[4][20][0].apply(exports,arguments)},{dup:20,"lodash.isarguments":160,"lodash.isarray":161}],160:[function(require,module,exports){arguments[4][6][0].apply(exports,arguments)},{dup:6}],161:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],162:[function(require,module,exports){arguments[4][28][0].apply(exports,arguments)},{dup:28}],163:[function(require,module,exports){arguments[4][93][0].apply(exports,arguments)},{dup:93}],164:[function(require,module,exports){arguments[4][94][0].apply(exports,arguments)},{dup:94,"lodash._basefor":165,"lodash.keysin":166}],165:[function(require,module,exports){arguments[4][52][0].apply(exports,arguments)},{dup:52}],166:[function(require,module,exports){arguments[4][96][0].apply(exports,arguments)},{dup:96,"lodash.isarguments":167,"lodash.isarray":168}],167:[function(require,module,exports){arguments[4][6][0].apply(exports,arguments)},{dup:6}],168:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],169:[function(require,module,exports){arguments[4][23][0].apply(exports,arguments)},{dup:23}],170:[function(require,module,exports){var baseToString=require("lodash._basetostring");var idCounter=0;function uniqueId(prefix){var id=++idCounter;return baseToString(prefix)+id}module.exports=uniqueId},{"lodash._basetostring":171}],171:[function(require,module,exports){arguments[4][59][0].apply(exports,arguments)},{dup:59}],172:[function(require,module,exports){"use strict";var proto=Element.prototype;var vendor=proto.matches||proto.matchesSelector||proto.webkitMatchesSelector||proto.mozMatchesSelector||proto.msMatchesSelector||proto.oMatchesSelector;module.exports=match;function match(el,selector){if(vendor)return vendor.call(el,selector);var nodes=el.parentNode.querySelectorAll(selector);for(var i=0;i<nodes.length;i++){if(nodes[i]==el)return true}return false}},{}],173:[function(require,module,exports){(function(global){var funcTag="[object Function]";var reRegExpChars=/[.*+?^${}()|[\]\/\\]/g,reHasRegExpChars=RegExp(reRegExpChars.source);var reIsHostCtor=/^\[object .+?Constructor\]$/;function baseIsFunction(value){return typeof value=="function"||false}function baseToString(value){if(typeof value=="string"){return value}return value==null?"":value+""}function isObjectLike(value){return!!value&&typeof value=="object"}var objectProto=Object.prototype;var fnToString=Function.prototype.toString;var hasOwnProperty=objectProto.hasOwnProperty;var objToString=objectProto.toString;var reIsNative=RegExp("^"+escapeRegExp(fnToString.call(hasOwnProperty)).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var Uint8Array=getNative(global,"Uint8Array");function getNative(object,key){var value=object==null?undefined:object[key];return isNative(value)?value:undefined}var isFunction=!(baseIsFunction(/x/)||Uint8Array&&!baseIsFunction(Uint8Array))?baseIsFunction:function(value){return objToString.call(value)==funcTag};function isNative(value){if(value==null){return false}if(objToString.call(value)==funcTag){return reIsNative.test(fnToString.call(value))}return isObjectLike(value)&&reIsHostCtor.test(value)}function escapeRegExp(string){string=baseToString(string);return string&&reHasRegExpChars.test(string)?string.replace(reRegExpChars,"\\$&"):string}module.exports=isFunction}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],174:[function(require,module,exports){var baseGet=require("lodash._baseget"),baseSlice=require("lodash._baseslice"),toPath=require("lodash._topath"),isArray=require("lodash.isarray"),isFunction=require("lodash.isfunction");var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;function isKey(value,object){var type=typeof value;if(type=="string"&&reIsPlainProp.test(value)||type=="number"){return true}if(isArray(value)){return false}var result=!reIsDeepProp.test(value);return result||object!=null&&value in toObject(object)}function toObject(value){return isObject(value)?value:Object(value)}function last(array){var length=array?array.length:0;return length?array[length-1]:undefined}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function result(object,path,defaultValue){var result=object==null?undefined:object[path];if(result===undefined){if(object!=null&&!isKey(path,object)){path=toPath(path);object=path.length==1?object:baseGet(object,baseSlice(path,0,-1));result=object==null?undefined:object[last(path)]}result=result===undefined?defaultValue:result}return isFunction(result)?result.call(object):result}module.exports=result},{"lodash._baseget":175,"lodash._baseslice":176,"lodash._topath":177,"lodash.isarray":178,"lodash.isfunction":173}],175:[function(require,module,exports){arguments[4][61][0].apply(exports,arguments)},{dup:61}],176:[function(require,module,exports){arguments[4][62][0].apply(exports,arguments)},{dup:62}],177:[function(require,module,exports){arguments[4][63][0].apply(exports,arguments)},{dup:63,"lodash.isarray":178}],178:[function(require,module,exports){arguments[4][7][0].apply(exports,arguments)},{dup:7}],"ampersand-form-view":[function(require,module,exports){if(typeof window!=="undefined"){window.ampersand=window.ampersand||{};window.ampersand["ampersand-form-view"]=window.ampersand["ampersand-form-view"]||[];window.ampersand["ampersand-form-view"].push("5.0.0")}var View=require("ampersand-view");var isFunction=require("lodash.isfunction");var result=require("lodash.result");var noop=function(){};module.exports=View.extend({derived:{data:{fn:function(){var res={};for(var key in this._fieldViews){if(this._fieldViews.hasOwnProperty(key)){res[key]=this._fieldViews[key].value}}return this.clean(res)},cache:false}},initialize:function(opts){opts=opts||{};this.el=opts.el;this.validCallback=opts.validCallback||this.validCallback||noop;this.submitCallback=opts.submitCallback||this.submitCallback||noop;this.clean=opts.clean||this.clean||function(res){return res};if(opts.model)this.model=opts.model;this.valid=false;this.preventDefault=opts.preventDefault===false?false:true;this.autoAppend=opts.autoAppend===false?false:true;this._fieldViews={};this._fieldViewsArray=[];(result(opts,"fields")||result(this,"fields")||[]).forEach(this.addField.bind(this));if(opts.autoRender){this.autoRender=opts.autoRender;this.template=opts.template||this.template||true}if(opts.values)this._startingValues=opts.values},addField:function(fieldView){this._fieldViews[fieldView.name]=fieldView;this._fieldViewsArray.push(fieldView);return this},removeField:function(name,strict){var field=this.getField(name,strict);if(field){field.remove();delete this._fieldViews[name];this._fieldViewsArray.splice(this._fieldViewsArray.indexOf(field),1)}},getField:function(name,strict){var field=this._fieldViews[name];if(!field&&strict){throw new ReferenceError('field name "'+name+'" not found')}return field},setValid:function(now,forceFire){var prev=this.valid;this.valid=now;if(prev!==now||forceFire){this.validCallback(now)}},setValues:function(data){for(var name in data){if(data.hasOwnProperty(name)){this.setValue(name,data[name])}}},checkValid:function(forceFire){var valid=this._fieldViewsArray.every(function(field){return field.valid});this.setValid(valid,forceFire);return valid},beforeSubmit:function(){this._fieldViewsArray.forEach(function(field){if(field.beforeSubmit)field.beforeSubmit()})},update:function(field){this.trigger("change:"+field.name,field);if(field.valid){this.checkValid()}else{this.setValid(false)}},remove:function(){this.el.removeEventListener("submit",this.handleSubmit,false);this._fieldViewsArray.forEach(function(field){field.remove()});return View.prototype.remove.call(this)},handleSubmit:function(e){this.beforeSubmit();this.checkValid();if(!this.valid){e.preventDefault();return false}if(this.preventDefault){e.preventDefault();this.submitCallback(this.data);return false}},reset:function(){this._fieldViewsArray.forEach(function(field){if(isFunction(field.reset)){field.reset()}})},clear:function(){this._fieldViewsArray.forEach(function(field){if(isFunction(field.clear)){field.clear()}})},render:function(){if(this.rendered)return;if(!this.el){this.el=document.createElement("form")}if(this.autoAppend){this.fieldContainerEl=this.el.querySelector("[data-hook~=field-container]")||this.el}this._fieldViewsArray.forEach(function renderEachField(fV){this.renderField(fV,true)}.bind(this));if(this._startingValues){this.setValues(this._startingValues);delete this._startingValues}this.handleSubmit=this.handleSubmit.bind(this);this.el.addEventListener("submit",this.handleSubmit,false);this.checkValid(true)},renderField:function(fieldView,renderInProgress){if(!this.rendered&&!renderInProgress)return this;fieldView.parent=this;fieldView.render();
if(this.autoAppend)this.fieldContainerEl.appendChild(fieldView.el)},getValue:function(name){var field=this.getField(name,true);return field.value},setValue:function(name,value){var field=this.getField(name,true);field.setValue(value);return this},getData:function(){console.warn("deprecation warning: ampersand-form-view `.getData()` replaced by `.data`");return this.data}})},{"ampersand-view":1,"lodash.isfunction":173,"lodash.result":174}]},{},[]);var AmpersandFormView=require("ampersand-form-view");var AmpersandInputView=require("ampersand-input-view");var FormView=AmpersandFormView.extend({fields:function(){return[new AmpersandInputView({name:"text",type:"text",readonly:true,value:"I am readonly"})]}});var form=new FormView({el:document.querySelector("form")});form.render();
{
"name": "requirebin-sketch",
"version": "1.0.0",
"dependencies": {
"ampersand-input-view": "5.0.0",
"ampersand-form-view": "5.0.0"
}
}
<div>
<h1>Form:</h1>
<style>
input {
font-size: 21px;
padding: 4px 8px;
}
</style>
<form data-hook="form"></form>
</div>
<!-- contents of this file will be placed inside the <head> -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment