← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 20753: System Settings

 

------------------------------------------------------------
revno: 20753
committer: Mark Polak <markpo@xxxxxxxxxx>
branch nick: dhis2
timestamp: Sat 2015-10-17 10:23:00 +0200
message:
  System Settings
  
  Adjust display values of flags and styles to display
  names instead of values.
  
  References R20751
modified:
  dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-settings/settings-app.js


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-settings/settings-app.js'
--- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-settings/settings-app.js	2015-10-16 16:50:15 +0000
+++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-settings/settings-app.js	2015-10-17 08:23:00 +0000
@@ -1,4 +1,4 @@
-!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}(function(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))switch(typeof e[t]){case"function":break;case"object":e[t]=function(t){var n=t.slice(1),r=e[t[0]];return function(e,t,o){r.apply(this,[e,t,o].concat(n))}}(e[t]);break;default:e[t]=e[e[t]]}return e}([function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e){return(e.validators||[]).filter(function(e){return W.wordToValidatorMap.has(e)}).map(function(e){return W.wordToValidatorMap.get(e)})}function i(e){var t=e.uiLocale;"en"!==t&&h.config.i18n.sources.add("i18n/module/i18n_module_"+t+".properties"),h.config.i18n.sources.add("i18n/module/i18n_module_en.properties")}var s=function(){function e(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var s,a=e[Symbol.iterator]();!(r=(s=a.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(u){o=!0,i=u}finally{try{!r&&a["return"]&&a["return"]()}finally{if(o)throw i}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=n(10),c=r(u),l=n(37),p=r(l),h=n(57),d=n(230),f=r(d),m=n(99),v=r(m),y=n(166),g=r(y),b=n(159),w=r(b),E=n(100),T=n(101),x=r(T),C=n(59),_=r(C),S=n(120),N=r(S),O=n(111),D=r(O),P=n(214),k=r(P),M=n(58),A=r(M),R=n(158),I=r(R),j=n(164),L=r(j),F=n(71),U=r(F),W=n(173),V=n(174),B=r(V),q=n(106),z=r(q),K=n(160),H=r(K);f["default"](),n(316),p["default"].setLevel(p["default"].levels.WARN);var G={childContextTypes:{muiTheme:c["default"].PropTypes.object},getChildContext:function(){return{muiTheme:x["default"]}}},Y=c["default"].createClass({displayName:"HackyTextField",mixins:[G],render:function(){return c["default"].createElement(_["default"],this.props)}}),Q=c["default"].createClass({displayName:"HackyDropDown",propTypes:{defaultValue:c["default"].PropTypes.oneOfType([c["default"].PropTypes.string,c["default"].PropTypes.number,c["default"].PropTypes.bool])},mixins:[G],getInitialState:function(){return{value:this.props.defaultValue?this.props.defaultValue:"null"}},render:function(){return c["default"].createElement(N["default"],a({value:this.state.value.toString()},this.props))}}),X=c["default"].createClass({displayName:"HackyCheckbox",propTypes:{onChange:c["default"].PropTypes.func.isRequired},mixins:[G],render:function(){return c["default"].createElement(D["default"],a({onCheck:this.props.onChange},this.props))}}),$=c["default"].createClass({displayName:"App",propTypes:{categories:c["default"].PropTypes.object.isRequired,categoryOrder:c["default"].PropTypes.arrayOf(c["default"].PropTypes.string).isRequired,settingsStore:c["default"].PropTypes.object.isRequired,configOptionStore:c["default"].PropTypes.object.isRequired,settingsActions:c["default"].PropTypes.object.isRequired,d2:c["default"].PropTypes.object.isRequired},childContextTypes:{d2:c["default"].PropTypes.object},mixins:[G],getChildContext:function(){return{d2:this.props.d2}},getInitialState:function(){return{category:E.categoryOrder[0],currentSettings:E.categories[E.categoryOrder[0]].settings}},componentWillMount:function(){var e=this;this.props.settingsStore.subscribe(function(){e.forceUpdate()}),this.props.configOptionStore.subscribe(function(){e.forceUpdate()}),this.props.settingsActions.setCategory.subscribe(function(t){var n=t.data;e.setState({category:n,currentSettings:n.searchResult?n.settings:E.categories[n].settings})})},render:function(){var e=this,t=this.props.d2,n=x["default"],r=this.state.currentSettings,i=r.map(function(r){var i=t.system.settings.mapping[r],s=g["default"].state?g["default"].state[r]:"",a={name:r};switch(i.type){case"dropdown":a.type=Q,a.fieldOptions={floatingLabelText:t.i18n.getTranslation(i.label),value:s,menuItems:Object.keys(i.options||{}).map(function(e){var n=i.options[e];return{payload:e,text:isNaN(n)?t.i18n.getTranslation(i.options[e]):n}})};break;case"checkbox":a.type=X,a.fieldOptions={label:t.i18n.getTranslation(i.label),checked:"true"===s,onCheck:function(t,n){e.props.settingsActions.saveKey(r,n?"true":"false")}};break;case"post_button":a.type=A["default"],a.fieldOptions={label:t.i18n.getTranslation(i.label),onClick:function(){t.Api.getApi().post(i.uri).then(function(e){p["default"].info(e.message),window.snackbar.show()})},secondary:!0,style:{minWidth:"initial",maxWidth:"initial","float":"right",marginTop:"1em"}};break;case"indicatorGroups":case"dataElementGroups":case"userGroups":case"organisationUnitLevels":case"userRoles":case"organisationUnits":case"startModules":case"flags":case"styles":a.type=Q;var u=e.props.configOptionStore;if(a.fieldOptions={floatingLabelText:t.i18n.getTranslation(i.label),value:s||"null",menuItems:u.state?u.state[i.type]:[]},["startModules","flags","styles"].indexOf(i.type)>=0)break;t.system.configuration.get(r).then(function(e){a.fieldOptions.defaultValue=null===e?"null":e.id});break;case"editlist":a.type=Y,a.fieldOptions={floatingLabelText:t.i18n.getTranslation(i.label),multiLine:!0},a.updateEvent="onBlur";break;case"password":a.type=Y,a.fieldOptions={floatingLabelText:t.i18n.getTranslation(i.label),type:"password"},a.updateEvent="onBlur";break;case"dataapproval":a.type=H["default"],a.fieldOptions={columns:["level","name","categoryOptionGroupSet"]};break;case"oauth2clients":a.type=L["default"],a.fieldOptions={d2:t};break;default:a.type=Y,a.updateEvent="onBlur",a.fieldOptions={floatingLabelText:t.i18n.getTranslation(i.label),defaultValue:s,multiLine:i.multiLine&&i.multiLine===!0}}return a.fieldOptions&&a.fieldOptions.style?a.fieldOptions.style=Object.assign({},n.forms,a.fieldOptions.style):a.fieldOptions.style={width:"100%",minWidth:n.forms.minWidth,maxWidth:n.forms.maxWidth},i.helpText&&(a.fieldOptions.helpText=t.i18n.getTranslation(i.helpText)),a.validators=o(i),a});return c["default"].createElement("div",{className:"app"},c["default"].createElement(B["default"],null),c["default"].createElement(k["default"],{message:t.i18n.getTranslation("settings_updated"),autoHideDuration:1250,ref:function(t){e._uglySnackbarRefExportFn(t)}}),c["default"].createElement(I["default"],{d2:t,categoryOrder:this.props.categoryOrder,categories:this.props.categories,currentCategory:this.state.category,settingsActions:this.props.settingsActions}),c["default"].createElement("div",{className:"content-area",style:n.forms},c["default"].createElement("h1",{style:{fontSize:"1.75rem"}},this.props.categories[this.state.category]?t.i18n.getTranslation(this.props.categories[this.state.category].label):"Search result"),this.state.currentSettings.length?null:c["default"].createElement("div",null,t.i18n.getTranslation("no_settings_found_that_match")),c["default"].createElement(U["default"],{source:this.props.settingsStore.state||{},fieldConfigs:i,onFormFieldUpdate:this._saveSetting})))},_uglySnackbarRefExportFn:function(e){this._snackbar=e,window.snackbar=this._snackbar},_saveSetting:function(e,t){this.props.settingsActions.saveKey(e,t)}});c["default"].render(c["default"].createElement(z["default"],null),document.getElementById("app")),h.getManifest("manifest.webapp").then(function(e){h.config.baseUrl=e.getBaseUrl()+"/api"}).then(h.getUserSettings).then(i).then(h.init).then(function(e){function t(){c["default"].render(c["default"].createElement($,{d2:e,settingsStore:g["default"],configOptionStore:w["default"],settingsActions:v["default"],categoryOrder:E.categoryOrder,categories:E.categories}),document.getElementById("app"))}v["default"].load.subscribe(function(n){Promise.all([e.system.settings.all(),e.system.configuration.all(n.data===!0)]).then(function(e){var n=Object.keys(e[1]).filter(function(e){return"systemId"!==e}).map(function(t){return{key:t,value:e[1][t]}}).reduce(function(e,t){var n=t.value;return null===n||"null"===n||void 0===n?n="null":n.hasOwnProperty("id")&&(n=n.id),e[t.key]=n,e},{});n.corsWhitelist=(e[1].corsWhitelist||[]).filter(function(e){return e.trim().length>0}).sort().join("\n"),Object.keys(e[0]).map(function(t){var n=e[0][t];e[0][t]=null===n||isNaN(n)?n:n.toString()}),g["default"].setState(Object.assign({},e[0],n)),p["default"].info("System settings loaded successfully.",g["default"].state),t()},function(e){p["default"].error(e)})}),v["default"].saveKey.subscribe(function(t){var n=s(t.data,2),r=n[0],i=n[1],a=e.system.settings.mapping[r];o(e.system.settings.mapping[r]).every(function(e){return e(i)===!0})&&(a.configuration?e.system.configuration.set(r,i).then(function(){window.snackbar&&window.snackbar.show()})["catch"](function(e){p["default"].error("Failed to save configuration:",e)}):e.system.settings.set(r,i).then(function(){window.snackbar&&window.snackbar.show()})["catch"](function(e){p["default"].error("Failed to save setting:",e)}));var u=g["default"].state;u[r]=i,g["default"].setState(u)}),p["default"].info("D2 initialized",e),p["default"].info("Can settings:",e.currentUser.authorities.has("F_SYSTEM_SETTING"),"Can Oauth:",e.currentUser.authorities.has("F_OAUTH2_CLIENT_MANAGE")),e.i18n.addStrings(e.system.getI18nStrings()),e.i18n.addStrings(["access_denied","settings_updated","save","delete","level","category_option_group_set","search","yes","no","edit"]),e.i18n.load().then(function(){return e.currentUser.authorities.has("F_SYSTEM_SETTING")?(v["default"].load(),void Promise.all([e.models.indicatorGroup.list({paging:!1,fields:"id,displayName",order:"displayName:asc"}),e.models.dataElementGroup.list({paging:!1,fields:"id,displayName",order:"displayName:asc"}),e.models.userGroup.list({paging:!1,fields:"id,displayName",order:"displayName:asc"}),e.models.organisationUnitLevel.list({paging:!1,fields:"id,level,displayName",order:"level:asc"}),e.models.userRole.list({paging:!1,fields:"id,displayName",order:"displayName:asc"}),e.models.organisationUnit.list({paging:!1,fields:"id,displayName",filter:["level:in:[1,2]"]}),e.Api.getApi().get("../dhis-web-commons/menu/getModules.action"),e.Api.getApi().get("system/flags"),e.Api.getApi().get("system/styles")]).then(function(t){function n(e){return e.toArray().map(function(e){return{payload:e.id,text:e.displayName}})}var r=n(t[0]),o=n(t[1]),i=n(t[2]);i.unshift({payload:"null",text:e.i18n.getTranslation("no_feedback_recipients")});var s=t[3].toArray().map(function(e){return{payload:e.id,text:e.level+": "+e.displayName}}),a=n(t[4]),u=n(t[5]),c=(t[6].modules||[]).map(function(e){return{payload:e.name,text:e.displayName||e.name}}),l=(t[7]||[]).map(function(e){return{payload:e,text:e}}),p=Object.keys(t[8]).map(function(e){return{payload:t[8][e],text:e}});w["default"].setState({indicatorGroups:r,dataElementGroups:o,userGroups:i,organisationUnitLevels:s,userRoles:a,organisationUnits:u,startModules:c,flags:l,styles:p})})):void document.write(e.i18n.getTranslation("access_denied"))})},function(e){p["default"].error("Failed to initialize D2:",e),document.write("Failed to initialize D2.")})},function(e,t){function n(){c=!1,s.length?u=s.concat(u):l=-1,u.length&&r()}function r(){if(!c){var e=setTimeout(n);c=!0;for(var t=u.length;t;){for(s=u,u=[];++l<t;)s&&s[l].run();l=-1,t=u.length}s=null,c=!1,clearTimeout(e)}}function o(e,t){this.fun=e,this.array=t}function i(){}var s,a=e.exports={},u=[],c=!1,l=-1;a.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];u.push(new o(e,t)),1!==u.length||c||setTimeout(r,0)},o.prototype.run=function(){this.fun.apply(null,this.array)},a.title="browser",a.browser=!0,a.env={},a.argv=[],a.version="",a.versions={},a.on=i,a.addListener=i,a.once=i,a.off=i,a.removeListener=i,a.removeAllListeners=i,a.emit=i,a.binding=function(e){throw new Error("process.binding is not supported")},a.cwd=function(){return"/"},a.chdir=function(e){throw new Error("process.chdir is not supported")},a.umask=function(){return 0}},function(e,t,n){(function(t){"use strict";var n=function(e,n,r,o,i,s,a,u){if("production"!==t.env.NODE_ENV&&void 0===n)throw new Error("invariant requires an error message argument");if(!e){var c;if(void 0===n)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[r,o,i,s,a,u],p=0;c=new Error("Invariant Violation: "+n.replace(/%s/g,function(){return l[p++]}))}throw c.framesToPop=1,c}};e.exports=n}).call(t,n(1))},function(e,t,n){e.exports=n(33)},function(e,t,n){"use strict";var r=n(3),o=n(49),i=n(125);e.exports={propTypes:{style:r.PropTypes.object},mergeStyles:function(){return o.merge.apply(this,arguments)},mergeAndPrefix:function(){return i.mergeAndPrefix.apply(this,arguments)}}},function(e,t){"use strict";function n(e,t){if(null==e)throw new TypeError("Object.assign target cannot be null or undefined");for(var n=Object(e),r=Object.prototype.hasOwnProperty,o=1;o<arguments.length;o++){var i=arguments[o];if(null!=i){var s=Object(i);for(var a in s)r.call(s,a)&&(n[a]=s[a])}}return n}e.exports=n},function(e,t,n){"use strict";var r=n(19),o=n(26),i=n(223),s=n(156);e.exports={getMuiTheme:function(e){var t={appBar:{color:e.palette.primary1Color,textColor:e.palette.alternateTextColor,height:e.spacing.desktopKeylineIncrement},avatar:{borderColor:"rgba(0, 0, 0, 0.08)"},button:{height:36,minWidth:88,iconButtonSize:2*e.spacing.iconSize},checkbox:{boxColor:e.palette.textColor,checkedColor:e.palette.primary1Color,requiredColor:e.palette.primary1Color,disabledColor:e.palette.disabledColor,labelColor:e.palette.textColor,labelDisabledColor:e.palette.disabledColor},datePicker:{color:e.palette.primary1Color,textColor:e.palette.alternateTextColor,calendarTextColor:e.palette.textColor,selectColor:e.palette.primary2Color,selectTextColor:e.palette.alternateTextColor},dropDownMenu:{accentColor:e.palette.borderColor},flatButton:{color:e.palette.alternateTextColor,textColor:e.palette.textColor,primaryTextColor:e.palette.accent1Color,secondaryTextColor:e.palette.primary1Color},floatingActionButton:{buttonSize:56,miniSize:40,color:e.palette.accent1Color,iconColor:e.palette.alternateTextColor,secondaryColor:e.palette.primary1Color,secondaryIconColor:e.palette.alternateTextColor,disabledTextColor:e.palette.disabledColor},gridTile:{textColor:r.white},inkBar:{backgroundColor:e.palette.accent1Color},leftNav:{width:4*e.spacing.desktopKeylineIncrement,color:e.palette.canvasColor},listItem:{nestedLevelDepth:18},menu:{backgroundColor:e.palette.canvasColor,containerBackgroundColor:e.palette.canvasColor},menuItem:{dataHeight:32,height:48,hoverColor:"rgba(0, 0, 0, .035)",padding:e.spacing.desktopGutter,selectedTextColor:e.palette.accent1Color},menuSubheader:{padding:e.spacing.desktopGutter,borderColor:e.palette.borderColor,textColor:e.palette.primary1Color},paper:{backgroundColor:e.palette.canvasColor},radioButton:{borderColor:e.palette.textColor,backgroundColor:e.palette.alternateTextColor,checkedColor:e.palette.primary1Color,requiredColor:e.palette.primary1Color,disabledColor:e.palette.disabledColor,size:24,labelColor:e.palette.textColor,labelDisabledColor:e.palette.disabledColor},raisedButton:{color:e.palette.alternateTextColor,textColor:e.palette.textColor,primaryColor:e.palette.accent1Color,primaryTextColor:e.palette.alternateTextColor,secondaryColor:e.palette.primary1Color,secondaryTextColor:e.palette.alternateTextColor},refreshIndicator:{strokeColor:e.palette.borderColor,loadingStrokeColor:e.palette.primary1Color},slider:{trackSize:2,trackColor:e.palette.primary3Color,trackColorSelected:e.palette.accent3Color,handleSize:12,handleSizeDisabled:8,handleSizeActive:18,handleColorZero:e.palette.borderColor,handleFillColor:e.palette.alternateTextColor,selectionColor:e.palette.primary1Color,rippleColor:e.palette.primary1Color},snackbar:{textColor:e.palette.alternateTextColor,backgroundColor:e.palette.textColor,actionColor:e.palette.accent1Color},table:{backgroundColor:e.palette.canvasColor},tableHeader:{borderColor:e.palette.borderColor},tableHeaderColumn:{textColor:e.palette.primary3Color,height:56,spacing:24},tableFooter:{borderColor:e.palette.borderColor,textColor:e.palette.primary3Color},tableRow:{hoverColor:e.palette.accent2Color,stripeColor:o.lighten(e.palette.primary1Color,.55),selectedColor:e.palette.borderColor,textColor:e.palette.textColor,borderColor:e.palette.borderColor},tableRowColumn:{height:48,spacing:24},timePicker:{color:e.palette.alternateTextColor,textColor:e.palette.accent3Color,accentColor:e.palette.primary1Color,clockColor:e.palette.primary3Color,selectColor:e.palette.primary2Color,selectTextColor:e.palette.alternateTextColor},toggle:{thumbOnColor:e.palette.primary1Color,thumbOffColor:e.palette.accent2Color,thumbDisabledColor:e.palette.borderColor,thumbRequiredColor:e.palette.primary1Color,trackOnColor:o.fade(e.palette.primary1Color,.5),trackOffColor:e.palette.primary3Color,trackDisabledColor:e.palette.primary3Color,labelColor:e.palette.textColor,labelDisabledColor:e.palette.disabledColor},toolbar:{backgroundColor:o.darken(e.palette.accent2Color,.05),height:56,titleFontSize:20,iconColor:"rgba(0, 0, 0, .40)",separatorColor:"rgba(0, 0, 0, .175)",menuHoverColor:"rgba(0, 0, 0, .10)"},tabs:{backgroundColor:e.palette.primary1Color},textField:{textColor:e.palette.textColor,hintColor:e.palette.disabledColor,floatingLabelColor:e.palette.textColor,disabledTextColor:e.palette.disabledColor,errorColor:r.red500,focusColor:e.palette.primary1Color,backgroundColor:"transparent",borderColor:e.palette.borderColor}};return t.flatButton.disabledTextColor=o.fade(t.flatButton.textColor,.3),t.raisedButton.disabledColor=o.darken(t.raisedButton.color,.1),t.raisedButton.disabledTextColor=o.fade(t.raisedButton.textColor,.3),t.toggle.trackRequiredColor=o.fade(t.toggle.thumbRequiredColor,.5),t.rawTheme=e,t["static"]=!0,t},modifyRawThemeSpacing:function(e,t){var n=s(e.rawTheme,{spacing:{$set:t}});return this.getMuiTheme(n)},modifyRawThemePalette:function(e,t){var n=i(e.rawTheme.palette,t),r=s(e.rawTheme,{palette:{$set:n}});return this.getMuiTheme(r)},modifyRawThemeFontFamily:function(e,t){var n=s(e.rawTheme,{fontFamily:{$set:t}});return this.getMuiTheme(n)}}},function(e,t,n){"use strict";var r=n(19),o=n(26),i=n(121);e.exports={spacing:i,fontFamily:"Roboto, sans-serif",palette:{primary1Color:r.cyan500,primary2Color:r.cyan700,primary3Color:r.lightBlack,accent1Color:r.pinkA200,accent2Color:r.grey100,accent3Color:r.grey500,textColor:r.darkBlack,alternateTextColor:r.white,canvasColor:r.white,borderColor:r.grey300,disabledColor:o.fade(r.darkBlack,.3)}}},function(e,t,n){(function(t){"use strict";function r(e,n){Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:function(){return this._store?this._store[n]:null},set:function(e){"production"!==t.env.NODE_ENV?u(!1,"Don't set the %s property of the React element. Instead, specify the correct value when initially creating the element.",n):null,this._store[n]=e}})}function o(e){try{var t={props:!0};for(var n in t)r(e,n);l=!0}catch(o){}}var i=n(82),s=n(25),a=n(5),u=n(9),c={key:!0,ref:!0},l=!1,p=function(e,n,r,o,i,s){if(this.type=e,this.key=n,this.ref=r,this._owner=o,this._context=i,"production"!==t.env.NODE_ENV){this._store={props:s,originalProps:a({},s)};try{Object.defineProperty(this._store,"validated",{configurable:!1,enumerable:!1,writable:!0})}catch(u){}if(this._store.validated=!1,l)return void Object.freeze(this)}this.props=s};p.prototype={_isReactElement:!0},"production"!==t.env.NODE_ENV&&o(p.prototype),p.createElement=function(e,t,n){var r,o={},a=null,u=null;if(null!=t){u=void 0===t.ref?null:t.ref,a=void 0===t.key?null:""+t.key;for(r in t)t.hasOwnProperty(r)&&!c.hasOwnProperty(r)&&(o[r]=t[r])}var l=arguments.length-2;if(1===l)o.children=n;else if(l>1){for(var h=Array(l),d=0;l>d;d++)h[d]=arguments[d+2];o.children=h}if(e&&e.defaultProps){var f=e.defaultProps;for(r in f)"undefined"==typeof o[r]&&(o[r]=f[r])}return new p(e,a,u,s.current,i.current,o)},p.createFactory=function(e){var t=p.createElement.bind(null,e);return t.type=e,t},p.cloneAndReplaceProps=function(e,n){var r=new p(e.type,e.key,e.ref,e._owner,e._context,n);return"production"!==t.env.NODE_ENV&&(r._store.validated=e._store.validated),r},p.cloneElement=function(e,t,n){var r,o=a({},e.props),i=e.key,u=e.ref,l=e._owner;if(null!=t){void 0!==t.ref&&(u=t.ref,l=s.current),void 0!==t.key&&(i=""+t.key);for(r in t)t.hasOwnProperty(r)&&!c.hasOwnProperty(r)&&(o[r]=t[r])}var h=arguments.length-2;if(1===h)o.children=n;else if(h>1){for(var d=Array(h),f=0;h>f;f++)d[f]=arguments[f+2];o.children=d}return new p(e.type,i,u,l,e._context,o)},p.isValidElement=function(e){var t=!(!e||!e._isReactElement);return t},e.exports=p}).call(t,n(1))},function(e,t,n){(function(t){"use strict";var r=n(20),o=r;"production"!==t.env.NODE_ENV&&(o=function(e,t){for(var n=[],r=2,o=arguments.length;o>r;r++)n.push(arguments[r]);if(void 0===t)throw new Error("`warning(condition, format, ...args)` requires a warning message argument");if(t.length<10||/^[s\W]*$/.test(t))throw new Error("The warning format should be able to uniquely identify this warning. Please, use a more descriptive format than: "+t);if(0!==t.indexOf("Failed Composite propType: ")&&!e){var i=0,s="Warning: "+t.replace(/%s/g,function(){return n[i++]});console.warn(s);try{throw new Error(s)}catch(a){}}}),e.exports=o}).call(t,n(1))},function(e,t,n){e.exports=n(277)},function(e,t,n){"use strict";var r=n(22);e.exports={easeOutFunction:"cubic-bezier(0.23, 1, 0.32, 1)",easeInOutFunction:"cubic-bezier(0.445, 0.05, 0.55, 0.95)",easeOut:function(e,t,n,r){if(r=r||this.easeOutFunction,t&&"[object Array]"===Object.prototype.toString.call(t)){for(var o="",i=0;i<t.length;i++)o&&(o+=","),o+=this.create(e,t[i],n,r);return o}return this.create(e,t,n,r)},create:function(e,t,n,o){return e=e||"450ms",t=t||"all",n=n||"0ms",o=o||"linear",r.singleHyphened(t)+" "+e+" "+o+" "+n}}},function(e,t){"use strict";var n=!("undefined"==typeof window||!window.document||!window.document.createElement),r={canUseDOM:n,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:n&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:n&&!!window.screen,isInWorker:!n};e.exports=r},function(e,t,n){"use strict";var r=n(54),o=r({bubbled:null,captured:null}),i=r({topBlur:null,topChange:null,topClick:null,topCompositionEnd:null,topCompositionStart:null,topCompositionUpdate:null,topContextMenu:null,topCopy:null,topCut:null,topDoubleClick:null,topDrag:null,topDragEnd:null,topDragEnter:null,topDragExit:null,topDragLeave:null,topDragOver:null,topDragStart:null,topDrop:null,topError:null,topFocus:null,topInput:null,topKeyDown:null,topKeyPress:null,topKeyUp:null,topLoad:null,topMouseDown:null,topMouseMove:null,topMouseOut:null,topMouseOver:null,topMouseUp:null,topPaste:null,topReset:null,topScroll:null,topSelectionChange:null,topSubmit:null,topTextInput:null,topTouchCancel:null,topTouchEnd:null,topTouchMove:null,topTouchStart:null,topWheel:null}),s={topLevelTypes:i,PropagationPhases:o};e.exports=s},function(e,t){"use strict";function n(e,t){if(void 0!==e)return!0;throw new Error([t||"Value","should be provided"].join(" "))}function r(e,t,r){if(n(e,r),n(t,"Type"),"function"==typeof t&&e instanceof t||"string"==typeof t&&typeof e===t)return!0;throw new Error(["Expected",r||e,"to have type",t].join(" "))}function o(e,t){var n=function(){};try{return r(e,t),!0}catch(o){n()}return!1}function i(e){return o(e,"string")}function s(e){return Array.isArray(e)}function a(e){return o(e,Object)}function u(e){return void 0!==e}function c(e){return"number"==typeof e&&isFinite(e)&&e>-9007199254740992&&9007199254740992>e&&Math.floor(e)===e}function l(e){return"number"==typeof e&&isFinite(e)&&e-parseFloat(e)+1>=0}function p(e,t){var n=s(t)&&t||[];return n.indexOf(e)>=0}function h(e){return e&&11===e.length}Object.defineProperty(t,"__esModule",{value:!0}),t.checkDefined=n,t.checkType=r,t.isType=o,t.isString=i,t.isArray=s,t.isObject=a,t.isDefined=u,t.isInteger=c,t.isNumeric=l,t.contains=p,t.isValidUid=h,Number.isInteger||(Number.isInteger=c),t["default"]={checkType:r,checkDefined:n,isArray:s,isDefined:u,isInteger:c,isNumeric:l,isString:i,isType:o,contains:p,isValidUid:h}},function(e,t,n){(function(t){"use strict";function r(e,n,r){for(var o in n)n.hasOwnProperty(o)&&("production"!==t.env.NODE_ENV?_("function"==typeof n[o],"%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.",e.displayName||"ReactClass",b[r],o):null)}function o(e,n){var r=D.hasOwnProperty(n)?D[n]:null;M.hasOwnProperty(n)&&("production"!==t.env.NODE_ENV?T(r===N.OVERRIDE_BASE,"ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.",n):T(r===N.OVERRIDE_BASE)),e.hasOwnProperty(n)&&("production"!==t.env.NODE_ENV?T(r===N.DEFINE_MANY||r===N.DEFINE_MANY_MERGED,"ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",n):T(r===N.DEFINE_MANY||r===N.DEFINE_MANY_MERGED))}function i(e,n){if(n){"production"!==t.env.NODE_ENV?T("function"!=typeof n,"ReactClass: You're attempting to use a component class as a mixin. Instead, just use a regular object."):T("function"!=typeof n),"production"!==t.env.NODE_ENV?T(!f.isValidElement(n),"ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object."):T(!f.isValidElement(n));var r=e.prototype;n.hasOwnProperty(S)&&P.mixins(e,n.mixins);for(var i in n)if(n.hasOwnProperty(i)&&i!==S){var s=n[i];if(o(r,i),P.hasOwnProperty(i))P[i](e,s);else{var a=D.hasOwnProperty(i),l=r.hasOwnProperty(i),p=s&&s.__reactDontBind,h="function"==typeof s,d=h&&!a&&!l&&!p;if(d)r.__reactAutoBindMap||(r.__reactAutoBindMap={}),r.__reactAutoBindMap[i]=s,r[i]=s;else if(l){var m=D[i];"production"!==t.env.NODE_ENV?T(a&&(m===N.DEFINE_MANY_MERGED||m===N.DEFINE_MANY),"ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.",m,i):T(a&&(m===N.DEFINE_MANY_MERGED||m===N.DEFINE_MANY)),m===N.DEFINE_MANY_MERGED?r[i]=u(r[i],s):m===N.DEFINE_MANY&&(r[i]=c(r[i],s))}else r[i]=s,"production"!==t.env.NODE_ENV&&"function"==typeof s&&n.displayName&&(r[i].displayName=n.displayName+"_"+i)}}}}function s(e,n){if(n)for(var r in n){var o=n[r];if(n.hasOwnProperty(r)){var i=r in P;"production"!==t.env.NODE_ENV?T(!i,'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.',r):T(!i);var s=r in e;"production"!==t.env.NODE_ENV?T(!s,"ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",r):T(!s),e[r]=o}}}function a(e,n){"production"!==t.env.NODE_ENV?T(e&&n&&"object"==typeof e&&"object"==typeof n,"mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects."):T(e&&n&&"object"==typeof e&&"object"==typeof n);for(var r in n)n.hasOwnProperty(r)&&("production"!==t.env.NODE_ENV?T(void 0===e[r],"mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.",r):T(void 0===e[r]),e[r]=n[r]);return e}function u(e,t){return function(){var n=e.apply(this,arguments),r=t.apply(this,arguments);if(null==n)return r;if(null==r)return n;var o={};return a(o,n),a(o,r),o}}function c(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function l(e,n){var r=n.bind(e);if("production"!==t.env.NODE_ENV){r.__reactBoundContext=e,r.__reactBoundMethod=n,r.__reactBoundArguments=null;var o=e.constructor.displayName,i=r.bind;r.bind=function(s){for(var a=[],u=1,c=arguments.length;c>u;u++)a.push(arguments[u]);if(s!==e&&null!==s)"production"!==t.env.NODE_ENV?_(!1,"bind(): React component methods may only be bound to the component instance. See %s",o):null;else if(!a.length)return"production"!==t.env.NODE_ENV?_(!1,"bind(): You are binding a component method to the component. React does this for you automatically in a high-performance way, so you can safely remove this call. See %s",o):null,r;var l=i.apply(r,arguments);return l.__reactBoundContext=e,l.__reactBoundMethod=n,l.__reactBoundArguments=a,l}}return r}function p(e){for(var t in e.__reactAutoBindMap)if(e.__reactAutoBindMap.hasOwnProperty(t)){var n=e.__reactAutoBindMap[t];e[t]=l(e,m.guard(n,e.constructor.displayName+"."+t))}}var h=n(131),d=n(25),f=n(8),m=n(261),v=n(36),y=n(84),g=n(85),b=n(67),w=n(86),E=n(5),T=n(2),x=n(54),C=n(21),_=n(9),S=C({mixins:null}),N=x({DEFINE_ONCE:null,DEFINE_MANY:null,OVERRIDE_BASE:null,DEFINE_MANY_MERGED:null}),O=[],D={mixins:N.DEFINE_MANY,statics:N.DEFINE_MANY,propTypes:N.DEFINE_MANY,contextTypes:N.DEFINE_MANY,childContextTypes:N.DEFINE_MANY,getDefaultProps:N.DEFINE_MANY_MERGED,getInitialState:N.DEFINE_MANY_MERGED,getChildContext:N.DEFINE_MANY_MERGED,render:N.DEFINE_ONCE,componentWillMount:N.DEFINE_MANY,componentDidMount:N.DEFINE_MANY,componentWillReceiveProps:N.DEFINE_MANY,shouldComponentUpdate:N.DEFINE_ONCE,componentWillUpdate:N.DEFINE_MANY,componentDidUpdate:N.DEFINE_MANY,componentWillUnmount:N.DEFINE_MANY,updateComponent:N.OVERRIDE_BASE},P={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n<t.length;n++)i(e,t[n])},childContextTypes:function(e,n){"production"!==t.env.NODE_ENV&&r(e,n,g.childContext),e.childContextTypes=E({},e.childContextTypes,n)},contextTypes:function(e,n){"production"!==t.env.NODE_ENV&&r(e,n,g.context),e.contextTypes=E({},e.contextTypes,n)},getDefaultProps:function(e,t){e.getDefaultProps?e.getDefaultProps=u(e.getDefaultProps,t):e.getDefaultProps=t},propTypes:function(e,n){"production"!==t.env.NODE_ENV&&r(e,n,g.prop),e.propTypes=E({},e.propTypes,n)},statics:function(e,t){s(e,t)}},k={enumerable:!1,get:function(){var e=this.displayName||this.name||"Component";return"production"!==t.env.NODE_ENV?_(!1,"%s.type is deprecated. Use %s directly to access the class.",e,e):null,Object.defineProperty(this,"type",{value:this}),this}},M={replaceState:function(e,t){w.enqueueReplaceState(this,e),t&&w.enqueueCallback(this,t)},isMounted:function(){if("production"!==t.env.NODE_ENV){var e=d.current;null!==e&&("production"!==t.env.NODE_ENV?_(e._warnedAboutRefsInRender,"%s is accessing isMounted inside its render() function. render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.",e.getName()||"A component"):null,e._warnedAboutRefsInRender=!0)}var n=v.get(this);return n&&n!==y.currentlyMountingInstance},setProps:function(e,t){w.enqueueSetProps(this,e),t&&w.enqueueCallback(this,t)},replaceProps:function(e,t){w.enqueueReplaceProps(this,e),t&&w.enqueueCallback(this,t)}},A=function(){};E(A.prototype,h.prototype,M);var R={createClass:function(e){var n=function(e,r){"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?_(this instanceof n,"Something is calling a React component directly. Use a factory or JSX instead. See: https://fb.me/react-legacyfactory";):null),this.__reactAutoBindMap&&p(this),this.props=e,this.context=r,this.state=null;var o=this.getInitialState?this.getInitialState():null;"production"!==t.env.NODE_ENV&&"undefined"==typeof o&&this.getInitialState._isMockFunction&&(o=null),"production"!==t.env.NODE_ENV?T("object"==typeof o&&!Array.isArray(o),"%s.getInitialState(): must return an object or null",n.displayName||"ReactCompositeComponent"):T("object"==typeof o&&!Array.isArray(o)),this.state=o};n.prototype=new A,n.prototype.constructor=n,O.forEach(i.bind(null,n)),i(n,e),n.getDefaultProps&&(n.defaultProps=n.getDefaultProps()),"production"!==t.env.NODE_ENV&&(n.getDefaultProps&&(n.getDefaultProps.isReactClassApproved={}),
+!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}(function(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))switch(typeof e[t]){case"function":break;case"object":e[t]=function(t){var n=t.slice(1),r=e[t[0]];return function(e,t,o){r.apply(this,[e,t,o].concat(n))}}(e[t]);break;default:e[t]=e[e[t]]}return e}([function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e){return(e.validators||[]).filter(function(e){return W.wordToValidatorMap.has(e)}).map(function(e){return W.wordToValidatorMap.get(e)})}function i(e){var t=e.uiLocale;"en"!==t&&h.config.i18n.sources.add("i18n/module/i18n_module_"+t+".properties"),h.config.i18n.sources.add("i18n/module/i18n_module_en.properties")}var s=function(){function e(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var s,a=e[Symbol.iterator]();!(r=(s=a.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(u){o=!0,i=u}finally{try{!r&&a["return"]&&a["return"]()}finally{if(o)throw i}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=n(10),c=r(u),l=n(37),p=r(l),h=n(57),d=n(230),f=r(d),m=n(99),v=r(m),y=n(166),g=r(y),b=n(159),w=r(b),E=n(100),T=n(101),x=r(T),C=n(59),_=r(C),S=n(120),N=r(S),O=n(111),D=r(O),P=n(214),k=r(P),M=n(58),A=r(M),R=n(158),I=r(R),j=n(164),L=r(j),F=n(71),U=r(F),W=n(173),V=n(174),B=r(V),q=n(106),z=r(q),K=n(160),H=r(K);f["default"](),n(316),p["default"].setLevel(p["default"].levels.WARN);var G={childContextTypes:{muiTheme:c["default"].PropTypes.object},getChildContext:function(){return{muiTheme:x["default"]}}},Y=c["default"].createClass({displayName:"HackyTextField",mixins:[G],render:function(){return c["default"].createElement(_["default"],this.props)}}),Q=c["default"].createClass({displayName:"HackyDropDown",propTypes:{defaultValue:c["default"].PropTypes.oneOfType([c["default"].PropTypes.string,c["default"].PropTypes.number,c["default"].PropTypes.bool])},mixins:[G],getInitialState:function(){return{value:this.props.defaultValue?this.props.defaultValue:"null"}},render:function(){return c["default"].createElement(N["default"],a({value:this.state.value.toString()},this.props))}}),X=c["default"].createClass({displayName:"HackyCheckbox",propTypes:{onChange:c["default"].PropTypes.func.isRequired},mixins:[G],render:function(){return c["default"].createElement(D["default"],a({onCheck:this.props.onChange},this.props))}}),$=c["default"].createClass({displayName:"App",propTypes:{categories:c["default"].PropTypes.object.isRequired,categoryOrder:c["default"].PropTypes.arrayOf(c["default"].PropTypes.string).isRequired,settingsStore:c["default"].PropTypes.object.isRequired,configOptionStore:c["default"].PropTypes.object.isRequired,settingsActions:c["default"].PropTypes.object.isRequired,d2:c["default"].PropTypes.object.isRequired},childContextTypes:{d2:c["default"].PropTypes.object},mixins:[G],getChildContext:function(){return{d2:this.props.d2}},getInitialState:function(){return{category:E.categoryOrder[0],currentSettings:E.categories[E.categoryOrder[0]].settings}},componentWillMount:function(){var e=this;this.props.settingsStore.subscribe(function(){e.forceUpdate()}),this.props.configOptionStore.subscribe(function(){e.forceUpdate()}),this.props.settingsActions.setCategory.subscribe(function(t){var n=t.data;e.setState({category:n,currentSettings:n.searchResult?n.settings:E.categories[n].settings})})},render:function(){var e=this,t=this.props.d2,n=x["default"],r=this.state.currentSettings,i=r.map(function(r){var i=t.system.settings.mapping[r],s=g["default"].state?g["default"].state[r]:"",a={name:r};switch(i.type){case"dropdown":a.type=Q,a.fieldOptions={floatingLabelText:t.i18n.getTranslation(i.label),value:s,menuItems:Object.keys(i.options||{}).map(function(e){var n=i.options[e];return{payload:e,text:isNaN(n)?t.i18n.getTranslation(i.options[e]):n}})};break;case"checkbox":a.type=X,a.fieldOptions={label:t.i18n.getTranslation(i.label),checked:"true"===s,onCheck:function(t,n){e.props.settingsActions.saveKey(r,n?"true":"false")}};break;case"post_button":a.type=A["default"],a.fieldOptions={label:t.i18n.getTranslation(i.label),onClick:function(){t.Api.getApi().post(i.uri).then(function(e){p["default"].info(e.message),window.snackbar.show()})},secondary:!0,style:{minWidth:"initial",maxWidth:"initial","float":"right",marginTop:"1em"}};break;case"indicatorGroups":case"dataElementGroups":case"userGroups":case"organisationUnitLevels":case"userRoles":case"organisationUnits":case"startModules":case"flags":case"styles":a.type=Q;var u=e.props.configOptionStore;if(a.fieldOptions={floatingLabelText:t.i18n.getTranslation(i.label),value:s||"null",menuItems:u.state?u.state[i.type]:[]},["startModules","flags","styles"].indexOf(i.type)>=0)break;t.system.configuration.get(r).then(function(e){a.fieldOptions.defaultValue=null===e?"null":e.id});break;case"editlist":a.type=Y,a.fieldOptions={floatingLabelText:t.i18n.getTranslation(i.label),multiLine:!0},a.updateEvent="onBlur";break;case"password":a.type=Y,a.fieldOptions={floatingLabelText:t.i18n.getTranslation(i.label),type:"password"},a.updateEvent="onBlur";break;case"dataapproval":a.type=H["default"],a.fieldOptions={columns:["level","name","categoryOptionGroupSet"]};break;case"oauth2clients":a.type=L["default"],a.fieldOptions={d2:t};break;default:a.type=Y,a.updateEvent="onBlur",a.fieldOptions={floatingLabelText:t.i18n.getTranslation(i.label),defaultValue:s,multiLine:i.multiLine&&i.multiLine===!0}}return a.fieldOptions&&a.fieldOptions.style?a.fieldOptions.style=Object.assign({},n.forms,a.fieldOptions.style):a.fieldOptions.style={width:"100%",minWidth:n.forms.minWidth,maxWidth:n.forms.maxWidth},i.helpText&&(a.fieldOptions.helpText=t.i18n.getTranslation(i.helpText)),a.validators=o(i),a});return c["default"].createElement("div",{className:"app"},c["default"].createElement(B["default"],null),c["default"].createElement(k["default"],{message:t.i18n.getTranslation("settings_updated"),autoHideDuration:1250,ref:function(t){e._uglySnackbarRefExportFn(t)}}),c["default"].createElement(I["default"],{d2:t,categoryOrder:this.props.categoryOrder,categories:this.props.categories,currentCategory:this.state.category,settingsActions:this.props.settingsActions}),c["default"].createElement("div",{className:"content-area",style:n.forms},c["default"].createElement("h1",{style:{fontSize:"1.75rem"}},this.props.categories[this.state.category]?t.i18n.getTranslation(this.props.categories[this.state.category].label):"Search result"),this.state.currentSettings.length?null:c["default"].createElement("div",null,t.i18n.getTranslation("no_settings_found_that_match")),c["default"].createElement(U["default"],{source:this.props.settingsStore.state||{},fieldConfigs:i,onFormFieldUpdate:this._saveSetting})))},_uglySnackbarRefExportFn:function(e){this._snackbar=e,window.snackbar=this._snackbar},_saveSetting:function(e,t){this.props.settingsActions.saveKey(e,t)}});c["default"].render(c["default"].createElement(z["default"],null),document.getElementById("app")),h.getManifest("manifest.webapp").then(function(e){h.config.baseUrl=e.getBaseUrl()+"/api"}).then(h.getUserSettings).then(i).then(h.init).then(function(e){function t(){c["default"].render(c["default"].createElement($,{d2:e,settingsStore:g["default"],configOptionStore:w["default"],settingsActions:v["default"],categoryOrder:E.categoryOrder,categories:E.categories}),document.getElementById("app"))}v["default"].load.subscribe(function(n){Promise.all([e.system.settings.all(),e.system.configuration.all(n.data===!0)]).then(function(e){var n=Object.keys(e[1]).filter(function(e){return"systemId"!==e}).map(function(t){return{key:t,value:e[1][t]}}).reduce(function(e,t){var n=t.value;return null===n||"null"===n||void 0===n?n="null":n.hasOwnProperty("id")&&(n=n.id),e[t.key]=n,e},{});n.corsWhitelist=(e[1].corsWhitelist||[]).filter(function(e){return e.trim().length>0}).sort().join("\n"),Object.keys(e[0]).map(function(t){var n=e[0][t];e[0][t]=null===n||isNaN(n)?n:n.toString()}),g["default"].setState(Object.assign({},e[0],n)),p["default"].info("System settings loaded successfully.",g["default"].state),t()},function(e){p["default"].error(e)})}),v["default"].saveKey.subscribe(function(t){var n=s(t.data,2),r=n[0],i=n[1],a=e.system.settings.mapping[r];o(e.system.settings.mapping[r]).every(function(e){return e(i)===!0})&&(a.configuration?e.system.configuration.set(r,i).then(function(){window.snackbar&&window.snackbar.show()})["catch"](function(e){p["default"].error("Failed to save configuration:",e)}):e.system.settings.set(r,i).then(function(){window.snackbar&&window.snackbar.show()})["catch"](function(e){p["default"].error("Failed to save setting:",e)}));var u=g["default"].state;u[r]=i,g["default"].setState(u)}),p["default"].info("D2 initialized",e),p["default"].info("Can settings:",e.currentUser.authorities.has("F_SYSTEM_SETTING"),"Can Oauth:",e.currentUser.authorities.has("F_OAUTH2_CLIENT_MANAGE")),e.i18n.addStrings(e.system.getI18nStrings()),e.i18n.addStrings(["access_denied","settings_updated","save","delete","level","category_option_group_set","search","yes","no","edit"]),e.i18n.load().then(function(){return e.currentUser.authorities.has("F_SYSTEM_SETTING")?(v["default"].load(),void Promise.all([e.models.indicatorGroup.list({paging:!1,fields:"id,displayName",order:"displayName:asc"}),e.models.dataElementGroup.list({paging:!1,fields:"id,displayName",order:"displayName:asc"}),e.models.userGroup.list({paging:!1,fields:"id,displayName",order:"displayName:asc"}),e.models.organisationUnitLevel.list({paging:!1,fields:"id,level,displayName",order:"level:asc"}),e.models.userRole.list({paging:!1,fields:"id,displayName",order:"displayName:asc"}),e.models.organisationUnit.list({paging:!1,fields:"id,displayName",filter:["level:in:[1,2]"]}),e.Api.getApi().get("../dhis-web-commons/menu/getModules.action"),e.Api.getApi().get("system/flags"),e.Api.getApi().get("system/styles")]).then(function(t){function n(e){return e.toArray().map(function(e){return{payload:e.id,text:e.displayName}})}var r=n(t[0]),o=n(t[1]),i=n(t[2]);i.unshift({payload:"null",text:e.i18n.getTranslation("no_feedback_recipients")});var s=t[3].toArray().map(function(e){return{payload:e.id,text:e.level+": "+e.displayName}}),a=n(t[4]),u=n(t[5]),c=(t[6].modules||[]).map(function(e){return{payload:e.name,text:e.displayName||e.name}}),l=(t[7]||[]).map(function(e){return{payload:e.key,text:e.name}}),p=(t[8]||[]).map(function(e){return{payload:e.path,text:e.name}});w["default"].setState({indicatorGroups:r,dataElementGroups:o,userGroups:i,organisationUnitLevels:s,userRoles:a,organisationUnits:u,startModules:c,flags:l,styles:p})})):void document.write(e.i18n.getTranslation("access_denied"))})},function(e){p["default"].error("Failed to initialize D2:",e),document.write("Failed to initialize D2.")})},function(e,t){function n(){c=!1,s.length?u=s.concat(u):l=-1,u.length&&r()}function r(){if(!c){var e=setTimeout(n);c=!0;for(var t=u.length;t;){for(s=u,u=[];++l<t;)s&&s[l].run();l=-1,t=u.length}s=null,c=!1,clearTimeout(e)}}function o(e,t){this.fun=e,this.array=t}function i(){}var s,a=e.exports={},u=[],c=!1,l=-1;a.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];u.push(new o(e,t)),1!==u.length||c||setTimeout(r,0)},o.prototype.run=function(){this.fun.apply(null,this.array)},a.title="browser",a.browser=!0,a.env={},a.argv=[],a.version="",a.versions={},a.on=i,a.addListener=i,a.once=i,a.off=i,a.removeListener=i,a.removeAllListeners=i,a.emit=i,a.binding=function(e){throw new Error("process.binding is not supported")},a.cwd=function(){return"/"},a.chdir=function(e){throw new Error("process.chdir is not supported")},a.umask=function(){return 0}},function(e,t,n){(function(t){"use strict";var n=function(e,n,r,o,i,s,a,u){if("production"!==t.env.NODE_ENV&&void 0===n)throw new Error("invariant requires an error message argument");if(!e){var c;if(void 0===n)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[r,o,i,s,a,u],p=0;c=new Error("Invariant Violation: "+n.replace(/%s/g,function(){return l[p++]}))}throw c.framesToPop=1,c}};e.exports=n}).call(t,n(1))},function(e,t,n){e.exports=n(33)},function(e,t,n){"use strict";var r=n(3),o=n(49),i=n(125);e.exports={propTypes:{style:r.PropTypes.object},mergeStyles:function(){return o.merge.apply(this,arguments)},mergeAndPrefix:function(){return i.mergeAndPrefix.apply(this,arguments)}}},function(e,t){"use strict";function n(e,t){if(null==e)throw new TypeError("Object.assign target cannot be null or undefined");for(var n=Object(e),r=Object.prototype.hasOwnProperty,o=1;o<arguments.length;o++){var i=arguments[o];if(null!=i){var s=Object(i);for(var a in s)r.call(s,a)&&(n[a]=s[a])}}return n}e.exports=n},function(e,t,n){"use strict";var r=n(19),o=n(26),i=n(223),s=n(156);e.exports={getMuiTheme:function(e){var t={appBar:{color:e.palette.primary1Color,textColor:e.palette.alternateTextColor,height:e.spacing.desktopKeylineIncrement},avatar:{borderColor:"rgba(0, 0, 0, 0.08)"},button:{height:36,minWidth:88,iconButtonSize:2*e.spacing.iconSize},checkbox:{boxColor:e.palette.textColor,checkedColor:e.palette.primary1Color,requiredColor:e.palette.primary1Color,disabledColor:e.palette.disabledColor,labelColor:e.palette.textColor,labelDisabledColor:e.palette.disabledColor},datePicker:{color:e.palette.primary1Color,textColor:e.palette.alternateTextColor,calendarTextColor:e.palette.textColor,selectColor:e.palette.primary2Color,selectTextColor:e.palette.alternateTextColor},dropDownMenu:{accentColor:e.palette.borderColor},flatButton:{color:e.palette.alternateTextColor,textColor:e.palette.textColor,primaryTextColor:e.palette.accent1Color,secondaryTextColor:e.palette.primary1Color},floatingActionButton:{buttonSize:56,miniSize:40,color:e.palette.accent1Color,iconColor:e.palette.alternateTextColor,secondaryColor:e.palette.primary1Color,secondaryIconColor:e.palette.alternateTextColor,disabledTextColor:e.palette.disabledColor},gridTile:{textColor:r.white},inkBar:{backgroundColor:e.palette.accent1Color},leftNav:{width:4*e.spacing.desktopKeylineIncrement,color:e.palette.canvasColor},listItem:{nestedLevelDepth:18},menu:{backgroundColor:e.palette.canvasColor,containerBackgroundColor:e.palette.canvasColor},menuItem:{dataHeight:32,height:48,hoverColor:"rgba(0, 0, 0, .035)",padding:e.spacing.desktopGutter,selectedTextColor:e.palette.accent1Color},menuSubheader:{padding:e.spacing.desktopGutter,borderColor:e.palette.borderColor,textColor:e.palette.primary1Color},paper:{backgroundColor:e.palette.canvasColor},radioButton:{borderColor:e.palette.textColor,backgroundColor:e.palette.alternateTextColor,checkedColor:e.palette.primary1Color,requiredColor:e.palette.primary1Color,disabledColor:e.palette.disabledColor,size:24,labelColor:e.palette.textColor,labelDisabledColor:e.palette.disabledColor},raisedButton:{color:e.palette.alternateTextColor,textColor:e.palette.textColor,primaryColor:e.palette.accent1Color,primaryTextColor:e.palette.alternateTextColor,secondaryColor:e.palette.primary1Color,secondaryTextColor:e.palette.alternateTextColor},refreshIndicator:{strokeColor:e.palette.borderColor,loadingStrokeColor:e.palette.primary1Color},slider:{trackSize:2,trackColor:e.palette.primary3Color,trackColorSelected:e.palette.accent3Color,handleSize:12,handleSizeDisabled:8,handleSizeActive:18,handleColorZero:e.palette.borderColor,handleFillColor:e.palette.alternateTextColor,selectionColor:e.palette.primary1Color,rippleColor:e.palette.primary1Color},snackbar:{textColor:e.palette.alternateTextColor,backgroundColor:e.palette.textColor,actionColor:e.palette.accent1Color},table:{backgroundColor:e.palette.canvasColor},tableHeader:{borderColor:e.palette.borderColor},tableHeaderColumn:{textColor:e.palette.primary3Color,height:56,spacing:24},tableFooter:{borderColor:e.palette.borderColor,textColor:e.palette.primary3Color},tableRow:{hoverColor:e.palette.accent2Color,stripeColor:o.lighten(e.palette.primary1Color,.55),selectedColor:e.palette.borderColor,textColor:e.palette.textColor,borderColor:e.palette.borderColor},tableRowColumn:{height:48,spacing:24},timePicker:{color:e.palette.alternateTextColor,textColor:e.palette.accent3Color,accentColor:e.palette.primary1Color,clockColor:e.palette.primary3Color,selectColor:e.palette.primary2Color,selectTextColor:e.palette.alternateTextColor},toggle:{thumbOnColor:e.palette.primary1Color,thumbOffColor:e.palette.accent2Color,thumbDisabledColor:e.palette.borderColor,thumbRequiredColor:e.palette.primary1Color,trackOnColor:o.fade(e.palette.primary1Color,.5),trackOffColor:e.palette.primary3Color,trackDisabledColor:e.palette.primary3Color,labelColor:e.palette.textColor,labelDisabledColor:e.palette.disabledColor},toolbar:{backgroundColor:o.darken(e.palette.accent2Color,.05),height:56,titleFontSize:20,iconColor:"rgba(0, 0, 0, .40)",separatorColor:"rgba(0, 0, 0, .175)",menuHoverColor:"rgba(0, 0, 0, .10)"},tabs:{backgroundColor:e.palette.primary1Color},textField:{textColor:e.palette.textColor,hintColor:e.palette.disabledColor,floatingLabelColor:e.palette.textColor,disabledTextColor:e.palette.disabledColor,errorColor:r.red500,focusColor:e.palette.primary1Color,backgroundColor:"transparent",borderColor:e.palette.borderColor}};return t.flatButton.disabledTextColor=o.fade(t.flatButton.textColor,.3),t.raisedButton.disabledColor=o.darken(t.raisedButton.color,.1),t.raisedButton.disabledTextColor=o.fade(t.raisedButton.textColor,.3),t.toggle.trackRequiredColor=o.fade(t.toggle.thumbRequiredColor,.5),t.rawTheme=e,t["static"]=!0,t},modifyRawThemeSpacing:function(e,t){var n=s(e.rawTheme,{spacing:{$set:t}});return this.getMuiTheme(n)},modifyRawThemePalette:function(e,t){var n=i(e.rawTheme.palette,t),r=s(e.rawTheme,{palette:{$set:n}});return this.getMuiTheme(r)},modifyRawThemeFontFamily:function(e,t){var n=s(e.rawTheme,{fontFamily:{$set:t}});return this.getMuiTheme(n)}}},function(e,t,n){"use strict";var r=n(19),o=n(26),i=n(121);e.exports={spacing:i,fontFamily:"Roboto, sans-serif",palette:{primary1Color:r.cyan500,primary2Color:r.cyan700,primary3Color:r.lightBlack,accent1Color:r.pinkA200,accent2Color:r.grey100,accent3Color:r.grey500,textColor:r.darkBlack,alternateTextColor:r.white,canvasColor:r.white,borderColor:r.grey300,disabledColor:o.fade(r.darkBlack,.3)}}},function(e,t,n){(function(t){"use strict";function r(e,n){Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:function(){return this._store?this._store[n]:null},set:function(e){"production"!==t.env.NODE_ENV?u(!1,"Don't set the %s property of the React element. Instead, specify the correct value when initially creating the element.",n):null,this._store[n]=e}})}function o(e){try{var t={props:!0};for(var n in t)r(e,n);l=!0}catch(o){}}var i=n(82),s=n(25),a=n(5),u=n(9),c={key:!0,ref:!0},l=!1,p=function(e,n,r,o,i,s){if(this.type=e,this.key=n,this.ref=r,this._owner=o,this._context=i,"production"!==t.env.NODE_ENV){this._store={props:s,originalProps:a({},s)};try{Object.defineProperty(this._store,"validated",{configurable:!1,enumerable:!1,writable:!0})}catch(u){}if(this._store.validated=!1,l)return void Object.freeze(this)}this.props=s};p.prototype={_isReactElement:!0},"production"!==t.env.NODE_ENV&&o(p.prototype),p.createElement=function(e,t,n){var r,o={},a=null,u=null;if(null!=t){u=void 0===t.ref?null:t.ref,a=void 0===t.key?null:""+t.key;for(r in t)t.hasOwnProperty(r)&&!c.hasOwnProperty(r)&&(o[r]=t[r])}var l=arguments.length-2;if(1===l)o.children=n;else if(l>1){for(var h=Array(l),d=0;l>d;d++)h[d]=arguments[d+2];o.children=h}if(e&&e.defaultProps){var f=e.defaultProps;for(r in f)"undefined"==typeof o[r]&&(o[r]=f[r])}return new p(e,a,u,s.current,i.current,o)},p.createFactory=function(e){var t=p.createElement.bind(null,e);return t.type=e,t},p.cloneAndReplaceProps=function(e,n){var r=new p(e.type,e.key,e.ref,e._owner,e._context,n);return"production"!==t.env.NODE_ENV&&(r._store.validated=e._store.validated),r},p.cloneElement=function(e,t,n){var r,o=a({},e.props),i=e.key,u=e.ref,l=e._owner;if(null!=t){void 0!==t.ref&&(u=t.ref,l=s.current),void 0!==t.key&&(i=""+t.key);for(r in t)t.hasOwnProperty(r)&&!c.hasOwnProperty(r)&&(o[r]=t[r])}var h=arguments.length-2;if(1===h)o.children=n;else if(h>1){for(var d=Array(h),f=0;h>f;f++)d[f]=arguments[f+2];o.children=d}return new p(e.type,i,u,l,e._context,o)},p.isValidElement=function(e){var t=!(!e||!e._isReactElement);return t},e.exports=p}).call(t,n(1))},function(e,t,n){(function(t){"use strict";var r=n(20),o=r;"production"!==t.env.NODE_ENV&&(o=function(e,t){for(var n=[],r=2,o=arguments.length;o>r;r++)n.push(arguments[r]);if(void 0===t)throw new Error("`warning(condition, format, ...args)` requires a warning message argument");if(t.length<10||/^[s\W]*$/.test(t))throw new Error("The warning format should be able to uniquely identify this warning. Please, use a more descriptive format than: "+t);if(0!==t.indexOf("Failed Composite propType: ")&&!e){var i=0,s="Warning: "+t.replace(/%s/g,function(){return n[i++]});console.warn(s);try{throw new Error(s)}catch(a){}}}),e.exports=o}).call(t,n(1))},function(e,t,n){e.exports=n(277)},function(e,t,n){"use strict";var r=n(22);e.exports={easeOutFunction:"cubic-bezier(0.23, 1, 0.32, 1)",easeInOutFunction:"cubic-bezier(0.445, 0.05, 0.55, 0.95)",easeOut:function(e,t,n,r){if(r=r||this.easeOutFunction,t&&"[object Array]"===Object.prototype.toString.call(t)){for(var o="",i=0;i<t.length;i++)o&&(o+=","),o+=this.create(e,t[i],n,r);return o}return this.create(e,t,n,r)},create:function(e,t,n,o){return e=e||"450ms",t=t||"all",n=n||"0ms",o=o||"linear",r.singleHyphened(t)+" "+e+" "+o+" "+n}}},function(e,t){"use strict";var n=!("undefined"==typeof window||!window.document||!window.document.createElement),r={canUseDOM:n,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:n&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:n&&!!window.screen,isInWorker:!n};e.exports=r},function(e,t,n){"use strict";var r=n(54),o=r({bubbled:null,captured:null}),i=r({topBlur:null,topChange:null,topClick:null,topCompositionEnd:null,topCompositionStart:null,topCompositionUpdate:null,topContextMenu:null,topCopy:null,topCut:null,topDoubleClick:null,topDrag:null,topDragEnd:null,topDragEnter:null,topDragExit:null,topDragLeave:null,topDragOver:null,topDragStart:null,topDrop:null,topError:null,topFocus:null,topInput:null,topKeyDown:null,topKeyPress:null,topKeyUp:null,topLoad:null,topMouseDown:null,topMouseMove:null,topMouseOut:null,topMouseOver:null,topMouseUp:null,topPaste:null,topReset:null,topScroll:null,topSelectionChange:null,topSubmit:null,topTextInput:null,topTouchCancel:null,topTouchEnd:null,topTouchMove:null,topTouchStart:null,topWheel:null}),s={topLevelTypes:i,PropagationPhases:o};e.exports=s},function(e,t){"use strict";function n(e,t){if(void 0!==e)return!0;throw new Error([t||"Value","should be provided"].join(" "))}function r(e,t,r){if(n(e,r),n(t,"Type"),"function"==typeof t&&e instanceof t||"string"==typeof t&&typeof e===t)return!0;throw new Error(["Expected",r||e,"to have type",t].join(" "))}function o(e,t){var n=function(){};try{return r(e,t),!0}catch(o){n()}return!1}function i(e){return o(e,"string")}function s(e){return Array.isArray(e)}function a(e){return o(e,Object)}function u(e){return void 0!==e}function c(e){return"number"==typeof e&&isFinite(e)&&e>-9007199254740992&&9007199254740992>e&&Math.floor(e)===e}function l(e){return"number"==typeof e&&isFinite(e)&&e-parseFloat(e)+1>=0}function p(e,t){var n=s(t)&&t||[];return n.indexOf(e)>=0}function h(e){return e&&11===e.length}Object.defineProperty(t,"__esModule",{value:!0}),t.checkDefined=n,t.checkType=r,t.isType=o,t.isString=i,t.isArray=s,t.isObject=a,t.isDefined=u,t.isInteger=c,t.isNumeric=l,t.contains=p,t.isValidUid=h,Number.isInteger||(Number.isInteger=c),t["default"]={checkType:r,checkDefined:n,isArray:s,isDefined:u,isInteger:c,isNumeric:l,isString:i,isType:o,contains:p,isValidUid:h}},function(e,t,n){(function(t){"use strict";function r(e,n,r){for(var o in n)n.hasOwnProperty(o)&&("production"!==t.env.NODE_ENV?_("function"==typeof n[o],"%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.",e.displayName||"ReactClass",b[r],o):null)}function o(e,n){var r=D.hasOwnProperty(n)?D[n]:null;M.hasOwnProperty(n)&&("production"!==t.env.NODE_ENV?T(r===N.OVERRIDE_BASE,"ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.",n):T(r===N.OVERRIDE_BASE)),e.hasOwnProperty(n)&&("production"!==t.env.NODE_ENV?T(r===N.DEFINE_MANY||r===N.DEFINE_MANY_MERGED,"ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",n):T(r===N.DEFINE_MANY||r===N.DEFINE_MANY_MERGED))}function i(e,n){if(n){"production"!==t.env.NODE_ENV?T("function"!=typeof n,"ReactClass: You're attempting to use a component class as a mixin. Instead, just use a regular object."):T("function"!=typeof n),"production"!==t.env.NODE_ENV?T(!f.isValidElement(n),"ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object."):T(!f.isValidElement(n));var r=e.prototype;n.hasOwnProperty(S)&&P.mixins(e,n.mixins);for(var i in n)if(n.hasOwnProperty(i)&&i!==S){var s=n[i];if(o(r,i),P.hasOwnProperty(i))P[i](e,s);else{var a=D.hasOwnProperty(i),l=r.hasOwnProperty(i),p=s&&s.__reactDontBind,h="function"==typeof s,d=h&&!a&&!l&&!p;if(d)r.__reactAutoBindMap||(r.__reactAutoBindMap={}),r.__reactAutoBindMap[i]=s,r[i]=s;else if(l){var m=D[i];"production"!==t.env.NODE_ENV?T(a&&(m===N.DEFINE_MANY_MERGED||m===N.DEFINE_MANY),"ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.",m,i):T(a&&(m===N.DEFINE_MANY_MERGED||m===N.DEFINE_MANY)),m===N.DEFINE_MANY_MERGED?r[i]=u(r[i],s):m===N.DEFINE_MANY&&(r[i]=c(r[i],s))}else r[i]=s,"production"!==t.env.NODE_ENV&&"function"==typeof s&&n.displayName&&(r[i].displayName=n.displayName+"_"+i)}}}}function s(e,n){if(n)for(var r in n){var o=n[r];if(n.hasOwnProperty(r)){var i=r in P;"production"!==t.env.NODE_ENV?T(!i,'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.',r):T(!i);var s=r in e;"production"!==t.env.NODE_ENV?T(!s,"ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",r):T(!s),e[r]=o}}}function a(e,n){"production"!==t.env.NODE_ENV?T(e&&n&&"object"==typeof e&&"object"==typeof n,"mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects."):T(e&&n&&"object"==typeof e&&"object"==typeof n);for(var r in n)n.hasOwnProperty(r)&&("production"!==t.env.NODE_ENV?T(void 0===e[r],"mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.",r):T(void 0===e[r]),e[r]=n[r]);return e}function u(e,t){return function(){var n=e.apply(this,arguments),r=t.apply(this,arguments);if(null==n)return r;if(null==r)return n;var o={};return a(o,n),a(o,r),o}}function c(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function l(e,n){var r=n.bind(e);if("production"!==t.env.NODE_ENV){r.__reactBoundContext=e,r.__reactBoundMethod=n,r.__reactBoundArguments=null;var o=e.constructor.displayName,i=r.bind;r.bind=function(s){for(var a=[],u=1,c=arguments.length;c>u;u++)a.push(arguments[u]);if(s!==e&&null!==s)"production"!==t.env.NODE_ENV?_(!1,"bind(): React component methods may only be bound to the component instance. See %s",o):null;else if(!a.length)return"production"!==t.env.NODE_ENV?_(!1,"bind(): You are binding a component method to the component. React does this for you automatically in a high-performance way, so you can safely remove this call. See %s",o):null,r;var l=i.apply(r,arguments);return l.__reactBoundContext=e,l.__reactBoundMethod=n,l.__reactBoundArguments=a,l}}return r}function p(e){for(var t in e.__reactAutoBindMap)if(e.__reactAutoBindMap.hasOwnProperty(t)){var n=e.__reactAutoBindMap[t];e[t]=l(e,m.guard(n,e.constructor.displayName+"."+t))}}var h=n(131),d=n(25),f=n(8),m=n(261),v=n(36),y=n(84),g=n(85),b=n(67),w=n(86),E=n(5),T=n(2),x=n(54),C=n(21),_=n(9),S=C({mixins:null}),N=x({DEFINE_ONCE:null,DEFINE_MANY:null,OVERRIDE_BASE:null,DEFINE_MANY_MERGED:null}),O=[],D={mixins:N.DEFINE_MANY,statics:N.DEFINE_MANY,propTypes:N.DEFINE_MANY,contextTypes:N.DEFINE_MANY,childContextTypes:N.DEFINE_MANY,getDefaultProps:N.DEFINE_MANY_MERGED,getInitialState:N.DEFINE_MANY_MERGED,getChildContext:N.DEFINE_MANY_MERGED,render:N.DEFINE_ONCE,componentWillMount:N.DEFINE_MANY,componentDidMount:N.DEFINE_MANY,componentWillReceiveProps:N.DEFINE_MANY,shouldComponentUpdate:N.DEFINE_ONCE,componentWillUpdate:N.DEFINE_MANY,componentDidUpdate:N.DEFINE_MANY,componentWillUnmount:N.DEFINE_MANY,updateComponent:N.OVERRIDE_BASE},P={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n<t.length;n++)i(e,t[n])},childContextTypes:function(e,n){"production"!==t.env.NODE_ENV&&r(e,n,g.childContext),e.childContextTypes=E({},e.childContextTypes,n)},contextTypes:function(e,n){"production"!==t.env.NODE_ENV&&r(e,n,g.context),e.contextTypes=E({},e.contextTypes,n)},getDefaultProps:function(e,t){e.getDefaultProps?e.getDefaultProps=u(e.getDefaultProps,t):e.getDefaultProps=t},propTypes:function(e,n){"production"!==t.env.NODE_ENV&&r(e,n,g.prop),e.propTypes=E({},e.propTypes,n)},statics:function(e,t){s(e,t)}},k={enumerable:!1,get:function(){var e=this.displayName||this.name||"Component";return"production"!==t.env.NODE_ENV?_(!1,"%s.type is deprecated. Use %s directly to access the class.",e,e):null,Object.defineProperty(this,"type",{value:this}),this}},M={replaceState:function(e,t){w.enqueueReplaceState(this,e),t&&w.enqueueCallback(this,t)},isMounted:function(){if("production"!==t.env.NODE_ENV){var e=d.current;null!==e&&("production"!==t.env.NODE_ENV?_(e._warnedAboutRefsInRender,"%s is accessing isMounted inside its render() function. render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.",e.getName()||"A component"):null,e._warnedAboutRefsInRender=!0)}var n=v.get(this);return n&&n!==y.currentlyMountingInstance},setProps:function(e,t){w.enqueueSetProps(this,e),t&&w.enqueueCallback(this,t)},replaceProps:function(e,t){w.enqueueReplaceProps(this,e),t&&w.enqueueCallback(this,t)}},A=function(){};E(A.prototype,h.prototype,M);var R={createClass:function(e){var n=function(e,r){"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?_(this instanceof n,"Something is calling a React component directly. Use a factory or JSX instead. See: https://fb.me/react-legacyfactory";):null),this.__reactAutoBindMap&&p(this),this.props=e,this.context=r,this.state=null;var o=this.getInitialState?this.getInitialState():null;"production"!==t.env.NODE_ENV&&"undefined"==typeof o&&this.getInitialState._isMockFunction&&(o=null),"production"!==t.env.NODE_ENV?T("object"==typeof o&&!Array.isArray(o),"%s.getInitialState(): must return an object or null",n.displayName||"ReactCompositeComponent"):T("object"==typeof o&&!Array.isArray(o)),this.state=o};n.prototype=new A,n.prototype.constructor=n,O.forEach(i.bind(null,n)),i(n,e),n.getDefaultProps&&(n.defaultProps=n.getDefaultProps()),"production"!==t.env.NODE_ENV&&(n.getDefaultProps&&(n.getDefaultProps.isReactClassApproved={}),
 n.prototype.getInitialState&&(n.prototype.getInitialState.isReactClassApproved={})),"production"!==t.env.NODE_ENV?T(n.prototype.render,"createClass(...): Class specification must implement a `render` method."):T(n.prototype.render),"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?_(!n.prototype.componentShouldUpdate,"%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.",e.displayName||"A component"):null);for(var r in D)n.prototype[r]||(n.prototype[r]=null);if(n.type=n,"production"!==t.env.NODE_ENV)try{Object.defineProperty(n,"type",k)}catch(o){}return n},injection:{injectMixin:function(e){O.push(e)}}};e.exports=R}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function r(){"production"!==t.env.NODE_ENV?y(O.ReactReconcileTransaction&&T,"ReactUpdates: must inject a reconcile transaction class and batching strategy"):y(O.ReactReconcileTransaction&&T)}function o(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=l.getPooled(),this.reconcileTransaction=O.ReactReconcileTransaction.getPooled()}function i(e,t,n,o,i){r(),T.batchedUpdates(e,t,n,o,i)}function s(e,t){return e._mountOrder-t._mountOrder}function a(e){var n=e.dirtyComponentsLength;"production"!==t.env.NODE_ENV?y(n===b.length,"Expected flush transaction's stored dirty-components length (%s) to match dirty-components array length (%s).",n,b.length):y(n===b.length),b.sort(s);for(var r=0;n>r;r++){var o=b[r],i=o._pendingCallbacks;if(o._pendingCallbacks=null,f.performUpdateIfNecessary(o,e.reconcileTransaction),i)for(var a=0;a<i.length;a++)e.callbackQueue.enqueue(i[a],o.getPublicInstance())}}function u(e){return r(),"production"!==t.env.NODE_ENV?g(null==h.current,"enqueueUpdate(): Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate."):null,T.isBatchingUpdates?void b.push(e):void T.batchedUpdates(u,e)}function c(e,n){"production"!==t.env.NODE_ENV?y(T.isBatchingUpdates,"ReactUpdates.asap: Can't enqueue an asap callback in a context whereupdates are not being batched."):y(T.isBatchingUpdates),w.enqueue(e,n),E=!0}var l=n(77),p=n(23),h=n(25),d=n(27),f=n(39),m=n(69),v=n(5),y=n(2),g=n(9),b=[],w=l.getPooled(),E=!1,T=null,x={initialize:function(){this.dirtyComponentsLength=b.length},close:function(){this.dirtyComponentsLength!==b.length?(b.splice(0,this.dirtyComponentsLength),S()):b.length=0}},C={initialize:function(){this.callbackQueue.reset()},close:function(){this.callbackQueue.notifyAll()}},_=[x,C];v(o.prototype,m.Mixin,{getTransactionWrappers:function(){return _},destructor:function(){this.dirtyComponentsLength=null,l.release(this.callbackQueue),this.callbackQueue=null,O.ReactReconcileTransaction.release(this.reconcileTransaction),this.reconcileTransaction=null},perform:function(e,t,n){return m.Mixin.perform.call(this,this.reconcileTransaction.perform,this.reconcileTransaction,e,t,n)}}),p.addPoolingTo(o);var S=function(){for(;b.length||E;){if(b.length){var e=o.getPooled();e.perform(a,null,e),o.release(e)}if(E){E=!1;var t=w;w=l.getPooled(),t.notifyAll(),l.release(t)}}};S=d.measure("ReactUpdates","flushBatchedUpdates",S);var N={injectReconcileTransaction:function(e){"production"!==t.env.NODE_ENV?y(e,"ReactUpdates: must provide a reconcile transaction class"):y(e),O.ReactReconcileTransaction=e},injectBatchingStrategy:function(e){"production"!==t.env.NODE_ENV?y(e,"ReactUpdates: must provide a batching strategy"):y(e),"production"!==t.env.NODE_ENV?y("function"==typeof e.batchedUpdates,"ReactUpdates: must provide a batchedUpdates() function"):y("function"==typeof e.batchedUpdates),"production"!==t.env.NODE_ENV?y("boolean"==typeof e.isBatchingUpdates,"ReactUpdates: must provide an isBatchingUpdates boolean attribute"):y("boolean"==typeof e.isBatchingUpdates),T=e}},O={ReactReconcileTransaction:null,batchedUpdates:i,enqueueUpdate:u,flushBatchedUpdates:S,injection:N,asap:c};e.exports=O}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function r(e,t){for(var n=Math.min(e.length,t.length),r=0;n>r;r++)if(e.charAt(r)!==t.charAt(r))return r;return e.length===t.length?-1:n}function o(e){var t=k(e);return t&&G.getID(t)}function i(e){var n=s(e);if(n)if(U.hasOwnProperty(n)){var r=U[n];r!==e&&("production"!==t.env.NODE_ENV?A(!l(r,n),"ReactMount: Two valid but unequal nodes with the same `%s`: %s",F,n):A(!l(r,n)),U[n]=e)}else U[n]=e;return n}function s(e){return e&&e.getAttribute&&e.getAttribute(F)||""}function a(e,t){var n=s(e);n!==t&&delete U[n],e.setAttribute(F,t),U[t]=e}function u(e){return U.hasOwnProperty(e)&&l(U[e],e)||(U[e]=G.findReactNodeByID(e)),U[e]}function c(e){var t=x.get(e)._rootNodeID;return E.isNullComponentID(t)?null:(U.hasOwnProperty(t)&&l(U[t],t)||(U[t]=G.findReactNodeByID(t)),U[t])}function l(e,n){if(e){"production"!==t.env.NODE_ENV?A(s(e)===n,"ReactMount: Unexpected modification of `%s`",F):A(s(e)===n);var r=G.findReactContainerForID(n);if(r&&P(r,e))return!0}return!1}function p(e){delete U[e]}function h(e){var t=U[e];return t&&l(t,e)?void(H=t):!1}function d(e){H=null,T.traverseAncestors(e,h);var t=H;return H=null,t}function f(e,t,n,r,o){var i=S.mountComponent(e,t,r,D);e._isTopLevel=!0,G._mountImageIntoNode(i,n,o)}function m(e,t,n,r){var o=O.ReactReconcileTransaction.getPooled();o.perform(f,null,e,t,n,o,r),O.ReactReconcileTransaction.release(o)}var v=n(30),y=n(34),g=n(25),b=n(8),w=n(52),E=n(65),T=n(35),x=n(36),C=n(137),_=n(27),S=n(39),N=n(86),O=n(16),D=n(53),P=n(144),k=n(301),M=n(93),A=n(2),R=n(95),I=n(96),j=n(9),L=T.SEPARATOR,F=v.ID_ATTRIBUTE_NAME,U={},W=1,V=9,B={},q={};if("production"!==t.env.NODE_ENV)var z={};var K=[],H=null,G={_instancesByReactRootID:B,scrollMonitor:function(e,t){t()},_updateRootComponent:function(e,n,r,i){return"production"!==t.env.NODE_ENV&&w.checkAndWarnForMutatedProps(n),G.scrollMonitor(r,function(){N.enqueueElementInternal(e,n),i&&N.enqueueCallbackInternal(e,i)}),"production"!==t.env.NODE_ENV&&(z[o(r)]=k(r)),e},_registerComponent:function(e,n){"production"!==t.env.NODE_ENV?A(n&&(n.nodeType===W||n.nodeType===V),"_registerComponent(...): Target container is not a DOM element."):A(n&&(n.nodeType===W||n.nodeType===V)),y.ensureScrollValueMonitoring();var r=G.registerContainer(n);return B[r]=e,r},_renderNewRootComponent:function(e,n,r){"production"!==t.env.NODE_ENV?j(null==g.current,"_renderNewRootComponent(): Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate."):null;var o=M(e,null),i=G._registerComponent(o,n);return O.batchedUpdates(m,o,i,n,r),"production"!==t.env.NODE_ENV&&(z[i]=k(n)),o},render:function(e,n,r){"production"!==t.env.NODE_ENV?A(b.isValidElement(e),"React.render(): Invalid component element.%s","string"==typeof e?" Instead of passing an element string, make sure to instantiate it by passing it to React.createElement.":"function"==typeof e?" Instead of passing a component class, make sure to instantiate it by passing it to React.createElement.":null!=e&&void 0!==e.props?" This may be caused by unintentionally loading two independent copies of React.":""):A(b.isValidElement(e));var i=B[o(n)];if(i){var s=i._currentElement;if(I(s,e))return G._updateRootComponent(i,e,n,r).getPublicInstance();G.unmountComponentAtNode(n)}var a=k(n),u=a&&G.isRenderedByReact(a);if("production"!==t.env.NODE_ENV&&(!u||a.nextSibling))for(var c=a;c;){if(G.isRenderedByReact(c)){"production"!==t.env.NODE_ENV?j(!1,"render(): Target node has markup rendered by React, but there are unrelated nodes as well. This is most commonly caused by white-space inserted around server-rendered markup."):null;break}c=c.nextSibling}var l=u&&!i,p=G._renderNewRootComponent(e,n,l).getPublicInstance();return r&&r.call(p),p},constructAndRenderComponent:function(e,t,n){var r=b.createElement(e,t);return G.render(r,n)},constructAndRenderComponentByID:function(e,n,r){var o=document.getElementById(r);return"production"!==t.env.NODE_ENV?A(o,'Tried to get element with id of "%s" but it is not present on the page.',r):A(o),G.constructAndRenderComponent(e,n,o)},registerContainer:function(e){var t=o(e);return t&&(t=T.getReactRootIDFromNodeID(t)),t||(t=T.createReactRootID()),q[t]=e,t},unmountComponentAtNode:function(e){"production"!==t.env.NODE_ENV?j(null==g.current,"unmountComponentAtNode(): Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate."):null,"production"!==t.env.NODE_ENV?A(e&&(e.nodeType===W||e.nodeType===V),"unmountComponentAtNode(...): Target container is not a DOM element."):A(e&&(e.nodeType===W||e.nodeType===V));var n=o(e),r=B[n];return r?(G.unmountComponentFromNode(r,e),delete B[n],delete q[n],"production"!==t.env.NODE_ENV&&delete z[n],!0):!1},unmountComponentFromNode:function(e,t){for(S.unmountComponent(e),t.nodeType===V&&(t=t.documentElement);t.lastChild;)t.removeChild(t.lastChild)},findReactContainerForID:function(e){var n=T.getReactRootIDFromNodeID(e),r=q[n];if("production"!==t.env.NODE_ENV){var o=z[n];if(o&&o.parentNode!==r){"production"!==t.env.NODE_ENV?A(s(o)===n,"ReactMount: Root element ID differed from reactRootID."):A(s(o)===n);var i=r.firstChild;i&&n===s(i)?z[n]=i:"production"!==t.env.NODE_ENV?j(!1,"ReactMount: Root element has been removed from its original container. New container:",o.parentNode):null}}return r},findReactNodeByID:function(e){var t=G.findReactContainerForID(e);return G.findComponentRoot(t,e)},isRenderedByReact:function(e){if(1!==e.nodeType)return!1;var t=G.getID(e);return t?t.charAt(0)===L:!1},getFirstReactDOM:function(e){for(var t=e;t&&t.parentNode!==t;){if(G.isRenderedByReact(t))return t;t=t.parentNode}return null},findComponentRoot:function(e,n){var r=K,o=0,i=d(n)||e;for(r[0]=i.firstChild,r.length=1;o<r.length;){for(var s,a=r[o++];a;){var u=G.getID(a);u?n===u?s=a:T.isAncestorIDOf(u,n)&&(r.length=o=0,r.push(a.firstChild)):r.push(a.firstChild),a=a.nextSibling}if(s)return r.length=0,s}r.length=0,"production"!==t.env.NODE_ENV?A(!1,"findComponentRoot(..., %s): Unable to find element. This probably means the DOM was unexpectedly mutated (e.g., by the browser), usually due to forgetting a <tbody> when using tables, nesting tags like <form>, <p>, or <a>, or using non-SVG elements in an <svg> parent. Try inspecting the child nodes of the element with React ID `%s`.",n,G.getID(e)):A(!1)},_mountImageIntoNode:function(e,n,o){if("production"!==t.env.NODE_ENV?A(n&&(n.nodeType===W||n.nodeType===V),"mountComponentIntoNode(...): Target container is not valid."):A(n&&(n.nodeType===W||n.nodeType===V)),o){var i=k(n);if(C.canReuseMarkup(e,i))return;var s=i.getAttribute(C.CHECKSUM_ATTR_NAME);i.removeAttribute(C.CHECKSUM_ATTR_NAME);var a=i.outerHTML;i.setAttribute(C.CHECKSUM_ATTR_NAME,s);var u=r(e,a),c=" (client) "+e.substring(u-20,u+20)+"\n (server) "+a.substring(u-20,u+20);"production"!==t.env.NODE_ENV?A(n.nodeType!==V,"You're trying to render a component to the document using server rendering but the checksum was invalid. This usually means you rendered a different component type or props on the client from the one on the server, or your render() methods are impure. React cannot handle this case due to cross-browser quirks by rendering at the document root. You should look for environment dependent code in your components and ensure the props are the same client and server side:\n%s",c):A(n.nodeType!==V),"production"!==t.env.NODE_ENV&&("production"!==t.env.NODE_ENV?j(!1,"React attempted to reuse markup in a container but the checksum was invalid. This generally means that you are using server rendering and the markup generated on the server was not what the client was expecting. React injected new markup to compensate which works but you have lost many of the benefits of server rendering. Instead, figure out why the markup being generated is different on the client or server:\n%s",c):null)}"production"!==t.env.NODE_ENV?A(n.nodeType!==V,"You're trying to render a component to the document but you didn't use server rendering. We can't do this without using server rendering due to cross-browser quirks. See React.renderToString() for server rendering."):A(n.nodeType!==V),R(n,e)},getReactRootID:o,getID:i,setID:a,getNode:u,getNodeFromInstance:c,purgeID:p};_.measureMethods(G,"ReactMount",{_renderNewRootComponent:"_renderNewRootComponent",_mountImageIntoNode:"_mountImageIntoNode"}),e.exports=G}).call(t,n(1))},function(e,t,n){"use strict";function r(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(10),s=i.addons.PureRenderMixin,a=n(4),u=n(62),c=n(11),l=n(7),p=n(6),h=i.createClass({displayName:"Paper",mixins:[s,a],contextTypes:{muiTheme:i.PropTypes.object},childContextTypes:{muiTheme:i.PropTypes.object},getChildContext:function(){return{muiTheme:this.state.muiTheme}},getInitialState:function(){return{muiTheme:this.context.muiTheme?this.context.muiTheme:p.getMuiTheme(l)}},componentWillReceiveProps:function(e,t){var n=t.muiTheme?t.muiTheme:this.state.muiTheme;this.setState({muiTheme:n})},propTypes:{circle:i.PropTypes.bool,rounded:i.PropTypes.bool,transitionEnabled:i.PropTypes.bool,zDepth:u.zDepth},getDefaultProps:function(){return{circle:!1,rounded:!0,transitionEnabled:!0,zDepth:1}},render:function(){var e=this.props,t=e.children,n=e.circle,s=e.rounded,a=e.style,u=e.transitionEnabled,l=e.zDepth,p=r(e,["children","circle","rounded","style","transitionEnabled","zDepth"]),h={backgroundColor:this.state.muiTheme.paper.backgroundColor,transition:u&&c.easeOut(),boxSizing:"border-box",fontFamily:this.state.muiTheme.rawTheme.fontFamily,WebkitTapHighlightColor:"rgba(0,0,0,0)",boxShadow:this._getZDepthShadows(l),borderRadius:n?"50%":s?"2px":"0px"};return i.createElement("div",o({},p,{style:this.mergeAndPrefix(h,a)}),t)},_getZDepthShadows:function(e){var t=[null,"0 1px 6px rgba(0, 0, 0, 0.12), 0 1px 4px rgba(0, 0, 0, 0.24)","0 3px 10px rgba(0, 0, 0, 0.16), 0 3px 10px rgba(0, 0, 0, 0.23)","0 10px 30px rgba(0, 0, 0, 0.19), 0 6px 10px rgba(0, 0, 0, 0.23)","0 14px 45px rgba(0, 0, 0, 0.25), 0 10px 18px rgba(0, 0, 0, 0.22)","0 19px 60px rgba(0, 0, 0, 0.30), 0 15px 20px rgba(0, 0, 0, 0.22)"];return t[e]}});e.exports=h},function(e,t){"use strict";e.exports={red50:"#ffebee",red100:"#ffcdd2",red200:"#ef9a9a",red300:"#e57373",red400:"#ef5350",red500:"#f44336",red600:"#e53935",red700:"#d32f2f",red800:"#c62828",red900:"#b71c1c",redA100:"#ff8a80",redA200:"#ff5252",redA400:"#ff1744",redA700:"#d50000",pink50:"#fce4ec",pink100:"#f8bbd0",pink200:"#f48fb1",pink300:"#f06292",pink400:"#ec407a",pink500:"#e91e63",pink600:"#d81b60",pink700:"#c2185b",pink800:"#ad1457",pink900:"#880e4f",pinkA100:"#ff80ab",pinkA200:"#ff4081",pinkA400:"#f50057",pinkA700:"#c51162",purple50:"#f3e5f5",purple100:"#e1bee7",purple200:"#ce93d8",purple300:"#ba68c8",purple400:"#ab47bc",purple500:"#9c27b0",purple600:"#8e24aa",purple700:"#7b1fa2",purple800:"#6a1b9a",purple900:"#4a148c",purpleA100:"#ea80fc",purpleA200:"#e040fb",purpleA400:"#d500f9",purpleA700:"#aa00ff",deepPurple50:"#ede7f6",deepPurple100:"#d1c4e9",deepPurple200:"#b39ddb",deepPurple300:"#9575cd",deepPurple400:"#7e57c2",deepPurple500:"#673ab7",deepPurple600:"#5e35b1",deepPurple700:"#512da8",deepPurple800:"#4527a0",deepPurple900:"#311b92",deepPurpleA100:"#b388ff",deepPurpleA200:"#7c4dff",deepPurpleA400:"#651fff",deepPurpleA700:"#6200ea",indigo50:"#e8eaf6",indigo100:"#c5cae9",indigo200:"#9fa8da",indigo300:"#7986cb",indigo400:"#5c6bc0",indigo500:"#3f51b5",indigo600:"#3949ab",indigo700:"#303f9f",indigo800:"#283593",indigo900:"#1a237e",indigoA100:"#8c9eff",indigoA200:"#536dfe",indigoA400:"#3d5afe",indigoA700:"#304ffe",blue50:"#e3f2fd",blue100:"#bbdefb",blue200:"#90caf9",blue300:"#64b5f6",blue400:"#42a5f5",blue500:"#2196f3",blue600:"#1e88e5",blue700:"#1976d2",blue800:"#1565c0",blue900:"#0d47a1",blueA100:"#82b1ff",blueA200:"#448aff",blueA400:"#2979ff",blueA700:"#2962ff",lightBlue50:"#e1f5fe",lightBlue100:"#b3e5fc",lightBlue200:"#81d4fa",lightBlue300:"#4fc3f7",lightBlue400:"#29b6f6",lightBlue500:"#03a9f4",lightBlue600:"#039be5",lightBlue700:"#0288d1",lightBlue800:"#0277bd",lightBlue900:"#01579b",lightBlueA100:"#80d8ff",lightBlueA200:"#40c4ff",lightBlueA400:"#00b0ff",lightBlueA700:"#0091ea",cyan50:"#e0f7fa",cyan100:"#b2ebf2",cyan200:"#80deea",cyan300:"#4dd0e1",cyan400:"#26c6da",cyan500:"#00bcd4",cyan600:"#00acc1",cyan700:"#0097a7",cyan800:"#00838f",cyan900:"#006064",cyanA100:"#84ffff",cyanA200:"#18ffff",cyanA400:"#00e5ff",cyanA700:"#00b8d4",teal50:"#e0f2f1",teal100:"#b2dfdb",teal200:"#80cbc4",teal300:"#4db6ac",teal400:"#26a69a",teal500:"#009688",teal600:"#00897b",teal700:"#00796b",teal800:"#00695c",teal900:"#004d40",tealA100:"#a7ffeb",tealA200:"#64ffda",tealA400:"#1de9b6",tealA700:"#00bfa5",green50:"#e8f5e9",green100:"#c8e6c9",green200:"#a5d6a7",green300:"#81c784",green400:"#66bb6a",green500:"#4caf50",green600:"#43a047",green700:"#388e3c",green800:"#2e7d32",green900:"#1b5e20",greenA100:"#b9f6ca",greenA200:"#69f0ae",greenA400:"#00e676",greenA700:"#00c853",lightGreen50:"#f1f8e9",lightGreen100:"#dcedc8",lightGreen200:"#c5e1a5",lightGreen300:"#aed581",lightGreen400:"#9ccc65",lightGreen500:"#8bc34a",lightGreen600:"#7cb342",lightGreen700:"#689f38",lightGreen800:"#558b2f",lightGreen900:"#33691e",lightGreenA100:"#ccff90",lightGreenA200:"#b2ff59",lightGreenA400:"#76ff03",lightGreenA700:"#64dd17",lime50:"#f9fbe7",lime100:"#f0f4c3",lime200:"#e6ee9c",lime300:"#dce775",lime400:"#d4e157",lime500:"#cddc39",lime600:"#c0ca33",lime700:"#afb42b",lime800:"#9e9d24",lime900:"#827717",limeA100:"#f4ff81",limeA200:"#eeff41",limeA400:"#c6ff00",limeA700:"#aeea00",yellow50:"#fffde7",yellow100:"#fff9c4",yellow200:"#fff59d",yellow300:"#fff176",yellow400:"#ffee58",yellow500:"#ffeb3b",yellow600:"#fdd835",yellow700:"#fbc02d",yellow800:"#f9a825",yellow900:"#f57f17",yellowA100:"#ffff8d",yellowA200:"#ffff00",yellowA400:"#ffea00",yellowA700:"#ffd600",amber50:"#fff8e1",amber100:"#ffecb3",amber200:"#ffe082",amber300:"#ffd54f",amber400:"#ffca28",amber500:"#ffc107",amber600:"#ffb300",amber700:"#ffa000",amber800:"#ff8f00",amber900:"#ff6f00",amberA100:"#ffe57f",amberA200:"#ffd740",amberA400:"#ffc400",amberA700:"#ffab00",orange50:"#fff3e0",orange100:"#ffe0b2",orange200:"#ffcc80",orange300:"#ffb74d",orange400:"#ffa726",orange500:"#ff9800",orange600:"#fb8c00",orange700:"#f57c00",orange800:"#ef6c00",orange900:"#e65100",orangeA100:"#ffd180",orangeA200:"#ffab40",orangeA400:"#ff9100",orangeA700:"#ff6d00",deepOrange50:"#fbe9e7",deepOrange100:"#ffccbc",deepOrange200:"#ffab91",deepOrange300:"#ff8a65",deepOrange400:"#ff7043",deepOrange500:"#ff5722",deepOrange600:"#f4511e",deepOrange700:"#e64a19",deepOrange800:"#d84315",deepOrange900:"#bf360c",deepOrangeA100:"#ff9e80",deepOrangeA200:"#ff6e40",deepOrangeA400:"#ff3d00",deepOrangeA700:"#dd2c00",brown50:"#efebe9",brown100:"#d7ccc8",brown200:"#bcaaa4",brown300:"#a1887f",brown400:"#8d6e63",brown500:"#795548",brown600:"#6d4c41",brown700:"#5d4037",brown800:"#4e342e",brown900:"#3e2723",blueGrey50:"#eceff1",blueGrey100:"#cfd8dc",blueGrey200:"#b0bec5",blueGrey300:"#90a4ae",blueGrey400:"#78909c",blueGrey500:"#607d8b",blueGrey600:"#546e7a",blueGrey700:"#455a64",blueGrey800:"#37474f",blueGrey900:"#263238",grey50:"#fafafa",grey100:"#f5f5f5",grey200:"#eeeeee",grey300:"#e0e0e0",grey400:"#bdbdbd",grey500:"#9e9e9e",grey600:"#757575",grey700:"#616161",grey800:"#424242",grey900:"#212121",black:"#000000",white:"#ffffff",transparent:"rgba(0, 0, 0, 0)",fullBlack:"rgba(0, 0, 0, 1)",darkBlack:"rgba(0, 0, 0, 0.87)",lightBlack:"rgba(0, 0, 0, 0.54)",minBlack:"rgba(0, 0, 0, 0.26)",faintBlack:"rgba(0, 0, 0, 0.12)",fullWhite:"rgba(255, 255, 255, 1)",darkWhite:"rgba(255, 255, 255, 0.87)",lightWhite:"rgba(255, 255, 255, 0.54)"}},function(e,t){function n(e){return function(){return e}}function r(){}r.thatReturns=n,r.thatReturnsFalse=n(!1),r.thatReturnsTrue=n(!0),r.thatReturnsNull=n(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(e){return e},e.exports=r},function(e,t){var n=function(e){var t;for(t in e)if(e.hasOwnProperty(t))return t;return null};e.exports=n},function(e,t,n){"use strict";var r=n(224),o=r?n(226):void 0,i={};e.exports={all:function(e){var t={};for(var n in e)t[this.single(n)]=e[n];return t},set:function(e,t,n){e[this.single(t)]=n},single:function(e){if(!r)return e;if(i.hasOwnProperty(e))return i[e];var t=o.prefixed(e);return t===!1?e:(i[e]=t,t)},singleHyphened:function(e){var t=this.single(e);return t?t.replace(/([A-Z])/g,function(e,t){return"-"+t.toLowerCase()}).replace(/^ms-/,"-ms-"):e}}},function(e,t,n){(function(t){"use strict";var r=n(2),o=function(e){var t=this;if(t.instancePool.length){var n=t.instancePool.pop();return t.call(n,e),n}return new t(e)},i=function(e,t){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,e,t),r}return new n(e,t)},s=function(e,t,n){var r=this;if(r.instancePool.length){var o=r.instancePool.pop();return r.call(o,e,t,n),o}return new r(e,t,n)},a=function(e,t,n,r,o){var i=this;if(i.instancePool.length){var s=i.instancePool.pop();return i.call(s,e,t,n,r,o),s}return new i(e,t,n,r,o)},u=function(e){var n=this;"production"!==t.env.NODE_ENV?r(e instanceof n,"Trying to release an instance into a pool of a different type."):r(e instanceof n),e.destructor&&e.destructor(),n.instancePool.length<n.poolSize&&n.instancePool.push(e)},c=10,l=o,p=function(e,t){var n=e;return n.instancePool=[],n.getPooled=t||l,n.poolSize||(n.poolSize=c),n.release=u,n},h={addPoolingTo:p,oneArgumentPooler:o,twoArgumentPooler:i,threeArgumentPooler:s,fiveArgumentPooler:a};e.exports=h}).call(t,n(1))},function(e,t,n){"use strict";var r=n(145),o={getDOMNode:function(){return r(this)}};e.exports=o},function(e,t){"use strict";var n={current:null};e.exports=n},function(e,t){"use strict";e.exports={_luminance:function(e){if(e=this._decomposeColor(e),e.type.indexOf("rgb")>-1){var t=e.values.map(function(e){return e/=255,.03928>=e?e/12.92:Math.pow((e+.055)/1.055,2.4)});return.2126*t[0]+.7152*t[1]+.0722*t[2]}var n="Calculating the relative luminance is not available for HSL and HSLA.";return console.error(n),-1},_convertColorToString:function(e,t){var n=e.type+"("+parseInt(e.values[0])+","+parseInt(e.values[1])+","+parseInt(e.values[2]);return n+=void 0!==t?","+t+")":4===e.values.length?","+e.values[3]+")":")"},_convertHexToRGB:function(e){if(4===e.length){for(var t="#",n=1;n<e.length;n++)t+=e.charAt(n)+e.charAt(n);e=t}var r={r:parseInt(e.substr(1,2),16),g:parseInt(e.substr(3,2),16),b:parseInt(e.substr(5,2),16)};return"rgb("+r.r+","+r.g+","+r.b+")"},_decomposeColor:function(e){if("#"===e.charAt(0))return this._decomposeColor(this._convertHexToRGB(e));var t=e.indexOf("("),n=e.substring(0,t),r=e.substring(t+1,e.length-1).split(",");return{type:n,values:r}},fade:function(e,t){return e=this._decomposeColor(e),("rgb"===e.type||"hsl"===e.type)&&(e.type+="a"),this._convertColorToString(e,t)},lighten:function(e,t){if(e=this._decomposeColor(e),e.type.indexOf("hsl")>-1)return e.values[2]+=t,this._decomposeColor(this._convertColorToString(e));if(e.type.indexOf("rgb")>-1)for(var n=0;3>n;n++)e.values[n]*=1+t,e.values[n]>255&&(e.values[n]=255);return e.type.indexOf("a")<=-1&&(e.type+="a"),this._convertColorToString(e,"0.15")},darken:function(e,t){if(e=this._decomposeColor(e),e.type.indexOf("hsl")>-1)return e.values[2]+=t,this._decomposeColor(this._convertColorToString(e));if(e.type.indexOf("rgb")>-1)for(var n=0;3>n;n++)e.values[n]*=1-t,e.values[n]<0&&(e.values[n]=0);return this._convertColorToString(e)},contrastRatio:function(e,t){var n=this._luminance(e),r=this._luminance(t);return n>=r?((n+.05)/(r+.05)).toFixed(2):((r+.05)/(n+.05)).toFixed(2)},contrastRatioLevel:function(e,t){var n={fail:{range:[0,3],color:"hsl(0, 100%, 40%)"},"aa-large":{range:[3,4.5],color:"hsl(40, 100%, 45%)"},aa:{range:[4.5,7],color:"hsl(80, 60%, 45%)"},aaa:{range:[7,22],color:"hsl(95, 60%, 41%)"}},r=this.contrastRatio(e,t);for(var o in n){var i=n[o].range;if(r>=i[0]&&r<=i[1])return o}}}},function(e,t,n){(function(t){"use strict";function n(e,t,n){return n}var r={enableMeasure:!1,storedMeasure:n,measureMethods:function(e,n,o){if("production"!==t.env.NODE_ENV)for(var i in o)o.hasOwnProperty(i)&&(e[i]=r.measure(n,o[i],e[i]))},measure:function(e,n,o){if("production"!==t.env.NODE_ENV){var i=null,s=function(){return r.enableMeasure?(i||(i=r.storedMeasure(e,n,o)),i.apply(this,arguments)):o.apply(this,arguments)};return s.displayName=e+"_"+n,s}return o},injection:{injectMeasure:function(e){r.storedMeasure=e}}};e.exports=r}).call(t,n(1))},function(e,t,n){"use strict";function r(e,t,n){this.dispatchConfig=e,this.dispatchMarker=t,this.nativeEvent=n;var r=this.constructor.Interface;for(var o in r)if(r.hasOwnProperty(o)){var i=r[o];i?this[o]=i(n):this[o]=n[o]}var a=null!=n.defaultPrevented?n.defaultPrevented:n.returnValue===!1;a?this.isDefaultPrevented=s.thatReturnsTrue:this.isDefaultPrevented=s.thatReturnsFalse,this.isPropagationStopped=s.thatReturnsFalse}var o=n(23),i=n(5),s=n(20),a=n(92),u={type:null,target:a,currentTarget:s.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};i(r.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e.preventDefault?e.preventDefault():e.returnValue=!1,this.isDefaultPrevented=s.thatReturnsTrue},stopPropagation:function(){var e=this.nativeEvent;e.stopPropagation?e.stopPropagation():e.cancelBubble=!0,this.isPropagationStopped=s.thatReturnsTrue},persist:function(){this.isPersistent=s.thatReturnsTrue},isPersistent:s.thatReturnsFalse,destructor:function(){var e=this.constructor.Interface;for(var t in e)this[t]=null;this.dispatchConfig=null,this.dispatchMarker=null,this.nativeEvent=null}}),r.Interface=u,r.augmentClass=function(e,t){var n=this,r=Object.create(n.prototype);i(r,e.prototype),e.prototype=r,e.prototype.constructor=e,e.Interface=i({},n.Interface,t),e.augmentClass=n.augmentClass,o.addPoolingTo(e,o.threeArgumentPooler)},o.addPoolingTo(r,o.threeArgumentPooler),e.exports=r},function(e,t,n){"use strict";function r(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(3),s=n(4),a=n(11),u=n(7),c=n(6),l=i.createClass({displayName:"FontIcon",mixins:[s],contextTypes:{muiTheme:i.PropTypes.object},childContextTypes:{muiTheme:i.PropTypes.object},getChildContext:function(){return{muiTheme:this.state.muiTheme}},propTypes:{color:i.PropTypes.string,hoverColor:i.PropTypes.string,onMouseLeave:i.PropTypes.func,onMouseEnter:i.PropTypes.func},getInitialState:function(){return{hovered:!1,muiTheme:this.context.muiTheme?this.context.muiTheme:c.getMuiTheme(u)}},componentWillReceiveProps:function(e,t){var n=t.muiTheme?t.muiTheme:this.state.muiTheme;this.setState({muiTheme:n})},render:function(){var e=this.props,t=e.color,n=e.hoverColor,s=(e.onMouseLeave,e.onMouseEnter,e.style),u=r(e,["color","hoverColor","onMouseLeave","onMouseEnter","style"]),c=this.state.muiTheme.rawTheme.spacing,l=t?t:s&&s.color?s.color:this.state.muiTheme.rawTheme.palette.textColor,p=n?n:l,h=this.mergeAndPrefix({position:"relative",fontSize:c.iconSize,display:"inline-block",userSelect:"none",transition:a.easeOut()},s,{color:this.state.hovered?p:l});return i.createElement("span",o({},u,{onMouseLeave:this._handleMouseLeave,onMouseEnter:this._handleMouseEnter,style:h}))},_handleMouseLeave:function(e){void 0!==this.props.hoverColor&&this.setState({hovered:!1}),this.props.onMouseLeave&&this.props.onMouseLeave(e)},_handleMouseEnter:function(e){void 0!==this.props.hoverColor&&this.setState({hovered:!0}),this.props.onMouseEnter&&this.props.onMouseEnter(e)}});e.exports=l},function(e,t,n){(function(t){"use strict";function r(e,t){return(e&t)===t}var o=n(2),i={MUST_USE_ATTRIBUTE:1,MUST_USE_PROPERTY:2,HAS_SIDE_EFFECTS:4,HAS_BOOLEAN_VALUE:8,HAS_NUMERIC_VALUE:16,HAS_POSITIVE_NUMERIC_VALUE:48,HAS_OVERLOADED_BOOLEAN_VALUE:64,injectDOMPropertyConfig:function(e){var n=e.Properties||{},s=e.DOMAttributeNames||{},u=e.DOMPropertyNames||{},c=e.DOMMutationMethods||{};e.isCustomAttribute&&a._isCustomAttributeFunctions.push(e.isCustomAttribute);for(var l in n){"production"!==t.env.NODE_ENV?o(!a.isStandardName.hasOwnProperty(l),"injectDOMPropertyConfig(...): You're trying to inject DOM property '%s' which has already been injected. You may be accidentally injecting the same DOM property config twice, or you may be injecting two configs that have conflicting property names.",l):o(!a.isStandardName.hasOwnProperty(l)),a.isStandardName[l]=!0;var p=l.toLowerCase();if(a.getPossibleStandardName[p]=l,s.hasOwnProperty(l)){var h=s[l];a.getPossibleStandardName[h]=l,a.getAttributeName[l]=h}else a.getAttributeName[l]=p;a.getPropertyName[l]=u.hasOwnProperty(l)?u[l]:l,c.hasOwnProperty(l)?a.getMutationMethod[l]=c[l]:a.getMutationMethod[l]=null;var d=n[l];a.mustUseAttribute[l]=r(d,i.MUST_USE_ATTRIBUTE),a.mustUseProperty[l]=r(d,i.MUST_USE_PROPERTY),a.hasSideEffects[l]=r(d,i.HAS_SIDE_EFFECTS),a.hasBooleanValue[l]=r(d,i.HAS_BOOLEAN_VALUE),a.hasNumericValue[l]=r(d,i.HAS_NUMERIC_VALUE),a.hasPositiveNumericValue[l]=r(d,i.HAS_POSITIVE_NUMERIC_VALUE),a.hasOverloadedBooleanValue[l]=r(d,i.HAS_OVERLOADED_BOOLEAN_VALUE),"production"!==t.env.NODE_ENV?o(!a.mustUseAttribute[l]||!a.mustUseProperty[l],"DOMProperty: Cannot require using both attribute and property: %s",l):o(!a.mustUseAttribute[l]||!a.mustUseProperty[l]),"production"!==t.env.NODE_ENV?o(a.mustUseProperty[l]||!a.hasSideEffects[l],"DOMProperty: Properties that have side effects must use property: %s",l):o(a.mustUseProperty[l]||!a.hasSideEffects[l]),"production"!==t.env.NODE_ENV?o(!!a.hasBooleanValue[l]+!!a.hasNumericValue[l]+!!a.hasOverloadedBooleanValue[l]<=1,"DOMProperty: Value can be one of boolean, overloaded boolean, or numeric value, but not a combination: %s",l):o(!!a.hasBooleanValue[l]+!!a.hasNumericValue[l]+!!a.hasOverloadedBooleanValue[l]<=1)}}},s={},a={ID_ATTRIBUTE_NAME:"data-reactid",isStandardName:{},getPossibleStandardName:{},getAttributeName:{},getPropertyName:{},getMutationMethod:{},mustUseAttribute:{},mustUseProperty:{},hasSideEffects:{},hasBooleanValue:{},hasNumericValue:{},hasPositiveNumericValue:{},hasOverloadedBooleanValue:{},_isCustomAttributeFunctions:[],isCustomAttribute:function(e){for(var t=0;t<a._isCustomAttributeFunctions.length;t++){var n=a._isCustomAttributeFunctions[t];if(n(e))return!0}return!1},getDefaultValueForProperty:function(e,t){var n,r=s[e];return r||(s[e]=r={}),t in r||(n=document.createElement(e),r[t]=n[t]),r[t]},injection:i};e.exports=a}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function r(){var e=h&&h.traverseTwoPhase&&h.traverseEnterLeave;"production"!==t.env.NODE_ENV?u(e,"InstanceHandle not injected before use!"):u(e)}var o=n(129),i=n(64),s=n(88),a=n(89),u=n(2),c={},l=null,p=function(e){if(e){var t=i.executeDispatch,n=o.getPluginModuleForEvent(e);n&&n.executeDispatch&&(t=n.executeDispatch),i.executeDispatchesInOrder(e,t),e.isPersistent()||e.constructor.release(e)}},h=null,d={injection:{injectMount:i.injection.injectMount,injectInstanceHandle:function(e){h=e,"production"!==t.env.NODE_ENV&&r()},getInstanceHandle:function(){return"production"!==t.env.NODE_ENV&&r(),h},injectEventPluginOrder:o.injectEventPluginOrder,injectEventPluginsByName:o.injectEventPluginsByName},eventNameDispatchConfigs:o.eventNameDispatchConfigs,registrationNameModules:o.registrationNameModules,putListener:function(e,n,r){"production"!==t.env.NODE_ENV?u(!r||"function"==typeof r,"Expected %s listener to be a function, instead got type %s",n,typeof r):u(!r||"function"==typeof r);
 var o=c[n]||(c[n]={});o[e]=r},getListener:function(e,t){var n=c[t];return n&&n[e]},deleteListener:function(e,t){var n=c[t];n&&delete n[e]},deleteAllListeners:function(e){for(var t in c)delete c[t][e]},extractEvents:function(e,t,n,r){for(var i,a=o.plugins,u=0,c=a.length;c>u;u++){var l=a[u];if(l){var p=l.extractEvents(e,t,n,r);p&&(i=s(i,p))}}return i},enqueueEvents:function(e){e&&(l=s(l,e))},processEventQueue:function(){var e=l;l=null,a(e,p),"production"!==t.env.NODE_ENV?u(!l,"processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented."):u(!l)},__purge:function(){c={}},__getListenerBank:function(){return c}};e.exports=d}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function r(e,t,n){var r=t.dispatchConfig.phasedRegistrationNames[n];return v(e,r)}function o(e,n,o){if("production"!==t.env.NODE_ENV&&!e)throw new Error("Dispatching id must not be null");var i=n?m.bubbled:m.captured,s=r(e,o,i);s&&(o._dispatchListeners=d(o._dispatchListeners,s),o._dispatchIDs=d(o._dispatchIDs,e))}function i(e){e&&e.dispatchConfig.phasedRegistrationNames&&h.injection.getInstanceHandle().traverseTwoPhase(e.dispatchMarker,o,e)}function s(e,t,n){if(n&&n.dispatchConfig.registrationName){var r=n.dispatchConfig.registrationName,o=v(e,r);o&&(n._dispatchListeners=d(n._dispatchListeners,o),n._dispatchIDs=d(n._dispatchIDs,e))}}function a(e){e&&e.dispatchConfig.registrationName&&s(e.dispatchMarker,null,e)}function u(e){f(e,i)}function c(e,t,n,r){h.injection.getInstanceHandle().traverseEnterLeave(n,r,s,e,t)}function l(e){f(e,a)}var p=n(13),h=n(31),d=n(88),f=n(89),m=p.PropagationPhases,v=h.getListener,y={accumulateTwoPhaseDispatches:u,accumulateDirectDispatches:l,accumulateEnterLeaveDispatches:c};e.exports=y}).call(t,n(1))},function(e,t,n){(function(t){"use strict";var r=n(64),o=n(130),i=n(131),s=n(15),a=n(82),u=n(25),c=n(8),l=n(52),p=n(248),h=n(134),d=n(259),f=n(35),m=n(17),v=n(27),y=n(139),g=n(39),b=n(271),w=n(5),E=n(145),T=n(153);d.inject();var x=c.createElement,C=c.createFactory,_=c.cloneElement;"production"!==t.env.NODE_ENV&&(x=l.createElement,C=l.createFactory,_=l.cloneElement);var S=v.measure("React","render",m.render),N={Children:{map:o.map,forEach:o.forEach,count:o.count,only:T},Component:i,DOM:p,PropTypes:y,initializeTouchEvents:function(e){r.useTouchEvents=e},createClass:s.createClass,createElement:x,cloneElement:_,createFactory:C,createMixin:function(e){return e},constructAndRenderComponent:m.constructAndRenderComponent,constructAndRenderComponentByID:m.constructAndRenderComponentByID,findDOMNode:E,render:S,renderToString:b.renderToString,renderToStaticMarkup:b.renderToStaticMarkup,unmountComponentAtNode:m.unmountComponentAtNode,isValidElement:c.isValidElement,withContext:a.withContext,__spread:w};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject&&__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({CurrentOwner:u,InstanceHandles:f,Mount:m,Reconciler:g,TextComponent:h}),"production"!==t.env.NODE_ENV){var O=n(12);if(O.canUseDOM&&window.top===window.self){navigator.userAgent.indexOf("Chrome")>-1&&"undefined"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&console.debug("Download the React DevTools for a better development experience: https://fb.me/react-devtools";);for(var D=[Array.isArray,Array.prototype.every,Array.prototype.forEach,Array.prototype.indexOf,Array.prototype.map,Date.now,Function.prototype.bind,Object.keys,String.prototype.split,String.prototype.trim,Object.create,Object.freeze],P=0;P<D.length;P++)if(!D[P]){console.error("One or more ES5 shim/shams expected by React are not available: https://fb.me/react-warning-polyfills";);break}}}N.version="0.13.3",e.exports=N}).call(t,n(1))},function(e,t,n){"use strict";function r(e){return Object.prototype.hasOwnProperty.call(e,m)||(e[m]=d++,p[e[m]]={}),p[e[m]]}var o=n(13),i=n(31),s=n(129),a=n(262),u=n(87),c=n(5),l=n(94),p={},h=!1,d=0,f={topBlur:"blur",topChange:"change",topClick:"click",topCompositionEnd:"compositionend",topCompositionStart:"compositionstart",topCompositionUpdate:"compositionupdate",topContextMenu:"contextmenu",topCopy:"copy",topCut:"cut",topDoubleClick:"dblclick",topDrag:"drag",topDragEnd:"dragend",topDragEnter:"dragenter",topDragExit:"dragexit",topDragLeave:"dragleave",topDragOver:"dragover",topDragStart:"dragstart",topDrop:"drop",topFocus:"focus",topInput:"input",topKeyDown:"keydown",topKeyPress:"keypress",topKeyUp:"keyup",topMouseDown:"mousedown",topMouseMove:"mousemove",topMouseOut:"mouseout",topMouseOver:"mouseover",topMouseUp:"mouseup",topPaste:"paste",topScroll:"scroll",topSelectionChange:"selectionchange",topTextInput:"textInput",topTouchCancel:"touchcancel",topTouchEnd:"touchend",topTouchMove:"touchmove",topTouchStart:"touchstart",topWheel:"wheel"},m="_reactListenersID"+String(Math.random()).slice(2),v=c({},a,{ReactEventListener:null,injection:{injectReactEventListener:function(e){e.setHandleTopLevel(v.handleTopLevel),v.ReactEventListener=e}},setEnabled:function(e){v.ReactEventListener&&v.ReactEventListener.setEnabled(e)},isEnabled:function(){return!(!v.ReactEventListener||!v.ReactEventListener.isEnabled())},listenTo:function(e,t){for(var n=t,i=r(n),a=s.registrationNameDependencies[e],u=o.topLevelTypes,c=0,p=a.length;p>c;c++){var h=a[c];i.hasOwnProperty(h)&&i[h]||(h===u.topWheel?l("wheel")?v.ReactEventListener.trapBubbledEvent(u.topWheel,"wheel",n):l("mousewheel")?v.ReactEventListener.trapBubbledEvent(u.topWheel,"mousewheel",n):v.ReactEventListener.trapBubbledEvent(u.topWheel,"DOMMouseScroll",n):h===u.topScroll?l("scroll",!0)?v.ReactEventListener.trapCapturedEvent(u.topScroll,"scroll",n):v.ReactEventListener.trapBubbledEvent(u.topScroll,"scroll",v.ReactEventListener.WINDOW_HANDLE):h===u.topFocus||h===u.topBlur?(l("focus",!0)?(v.ReactEventListener.trapCapturedEvent(u.topFocus,"focus",n),v.ReactEventListener.trapCapturedEvent(u.topBlur,"blur",n)):l("focusin")&&(v.ReactEventListener.trapBubbledEvent(u.topFocus,"focusin",n),v.ReactEventListener.trapBubbledEvent(u.topBlur,"focusout",n)),i[u.topBlur]=!0,i[u.topFocus]=!0):f.hasOwnProperty(h)&&v.ReactEventListener.trapBubbledEvent(h,f[h],n),i[h]=!0)}},trapBubbledEvent:function(e,t,n){return v.ReactEventListener.trapBubbledEvent(e,t,n)},trapCapturedEvent:function(e,t,n){return v.ReactEventListener.trapCapturedEvent(e,t,n)},ensureScrollValueMonitoring:function(){if(!h){var e=u.refreshScrollValues;v.ReactEventListener.monitorScrollValue(e),h=!0}},eventNameDispatchConfigs:i.eventNameDispatchConfigs,registrationNameModules:i.registrationNameModules,putListener:i.putListener,getListener:i.getListener,deleteListener:i.deleteListener,deleteAllListeners:i.deleteAllListeners});e.exports=v},function(e,t,n){(function(t){"use strict";function r(e){return d+e.toString(36)}function o(e,t){return e.charAt(t)===d||t===e.length}function i(e){return""===e||e.charAt(0)===d&&e.charAt(e.length-1)!==d}function s(e,t){return 0===t.indexOf(e)&&o(t,e.length)}function a(e){return e?e.substr(0,e.lastIndexOf(d)):""}function u(e,n){if("production"!==t.env.NODE_ENV?h(i(e)&&i(n),"getNextDescendantID(%s, %s): Received an invalid React DOM ID.",e,n):h(i(e)&&i(n)),"production"!==t.env.NODE_ENV?h(s(e,n),"getNextDescendantID(...): React has made an invalid assumption about the DOM hierarchy. Expected `%s` to be an ancestor of `%s`.",e,n):h(s(e,n)),e===n)return e;var r,a=e.length+f;for(r=a;r<n.length&&!o(n,r);r++);return n.substr(0,r)}function c(e,n){var r=Math.min(e.length,n.length);if(0===r)return"";for(var s=0,a=0;r>=a;a++)if(o(e,a)&&o(n,a))s=a;else if(e.charAt(a)!==n.charAt(a))break;var u=e.substr(0,s);return"production"!==t.env.NODE_ENV?h(i(u),"getFirstCommonAncestorID(%s, %s): Expected a valid React DOM ID: %s",e,n,u):h(i(u)),u}function l(e,n,r,o,i,c){e=e||"",n=n||"","production"!==t.env.NODE_ENV?h(e!==n,"traverseParentPath(...): Cannot traverse from and to the same ID, `%s`.",e):h(e!==n);var l=s(n,e);"production"!==t.env.NODE_ENV?h(l||s(e,n),"traverseParentPath(%s, %s, ...): Cannot traverse from two IDs that do not have a parent path.",e,n):h(l||s(e,n));for(var p=0,d=l?a:u,f=e;;f=d(f,n)){var v;if(i&&f===e||c&&f===n||(v=r(f,l,o)),v===!1||f===n)break;"production"!==t.env.NODE_ENV?h(p++<m,"traverseParentPath(%s, %s, ...): Detected an infinite loop while traversing the React DOM ID tree. This may be due to malformed IDs: %s",e,n):h(p++<m)}}var p=n(141),h=n(2),d=".",f=d.length,m=100,v={createReactRootID:function(){return r(p.createReactRootIndex())},createReactID:function(e,t){return e+t},getReactRootIDFromNodeID:function(e){if(e&&e.charAt(0)===d&&e.length>1){var t=e.indexOf(d,1);return t>-1?e.substr(0,t):e}return null},traverseEnterLeave:function(e,t,n,r,o){var i=c(e,t);i!==e&&l(e,i,n,r,!1,!0),i!==t&&l(i,t,n,o,!0,!1)},traverseTwoPhase:function(e,t,n){e&&(l("",e,t,n,!0,!1),l(e,"",t,n,!1,!0))},traverseAncestors:function(e,t,n){l("",e,t,n,!0,!1)},_getFirstCommonAncestorID:c,_getNextDescendantID:u,isAncestorIDOf:s,SEPARATOR:d};e.exports=v}).call(t,n(1))},function(e,t){"use strict";var n={remove:function(e){e._reactInternalInstance=void 0},get:function(e){return e._reactInternalInstance},has:function(e){return void 0!==e._reactInternalInstance},set:function(e,t){e._reactInternalInstance=t}};e.exports=n},function(e,t,n){var r,o;!function(i,s){"use strict";"object"==typeof e&&e.exports?e.exports=s():(r=s,o="function"==typeof r?r.call(t,n,t,e):r,!(void 0!==o&&(e.exports=o)))}(this,function(){"use strict";function e(e){return typeof console===a?!1:void 0!==console[e]?t(console,e):void 0!==console.log?t(console,"log"):s}function t(e,t){var n=e[t];if("function"==typeof n.bind)return n.bind(e);try{return Function.prototype.bind.call(n,e)}catch(r){return function(){return Function.prototype.apply.apply(n,[e,arguments])}}}function n(e,t,n){return function(){typeof console!==a&&(r.call(this,t,n),this[e].apply(this,arguments))}}function r(e,t){for(var n=0;n<u.length;n++){var r=u[n];this[r]=e>n?s:this.methodFactory(r,e,t)}}function o(t,r,o){return e(t)||n.apply(this,arguments)}function i(e,t,n){function i(e){var t=(u[e]||"silent").toUpperCase();try{return void(window.localStorage[p]=t)}catch(n){}try{window.document.cookie=encodeURIComponent(p)+"="+t+";"}catch(n){}}function s(){var e;try{e=window.localStorage[p]}catch(t){}if(typeof e===a)try{var n=window.document.cookie,r=n.indexOf(encodeURIComponent(p)+"=");r&&(e=/^([^;]+)/.exec(n.slice(r))[1])}catch(t){}return void 0===l.levels[e]&&(e=void 0),e}var c,l=this,p="loglevel";e&&(p+=":"+e),l.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},l.methodFactory=n||o,l.getLevel=function(){return c},l.setLevel=function(t,n){if("string"==typeof t&&void 0!==l.levels[t.toUpperCase()]&&(t=l.levels[t.toUpperCase()]),!("number"==typeof t&&t>=0&&t<=l.levels.SILENT))throw"log.setLevel() called with invalid level: "+t;return c=t,n!==!1&&i(t),r.call(l,t,e),typeof console===a&&t<l.levels.SILENT?"No console available for logging":void 0},l.setDefaultLevel=function(e){s()||l.setLevel(e,!1)},l.enableAll=function(e){l.setLevel(l.levels.TRACE,e)},l.disableAll=function(e){l.setLevel(l.levels.SILENT,e)};var h=s();null==h&&(h=null==t?"WARN":t),l.setLevel(h,!1)}var s=function(){},a="undefined",u=["trace","debug","info","warn","error"],c=new i,l={};c.getLogger=function(e){if("string"!=typeof e||""===e)throw new TypeError("You must supply a name when creating a logger.");var t=l[e];return t||(t=l[e]=new i(e,c.getLevel(),c.methodFactory)),t};var p=typeof window!==a?window.log:void 0;return c.noConflict=function(){return typeof window!==a&&window.log===c&&(window.log=p),c},c})},function(e,t,n){(function(t){"use strict";var r=n(8),o=n(9);if("production"!==t.env.NODE_ENV){var i="_reactFragment",s="_reactDidWarn",a=!1;try{var u=function(){return 1};Object.defineProperty({},i,{enumerable:!1,value:!0}),Object.defineProperty({},"key",{enumerable:!0,get:u}),a=!0}catch(c){}var l=function(e,n){Object.defineProperty(e,n,{enumerable:!0,get:function(){return"production"!==t.env.NODE_ENV?o(this[s],"A ReactFragment is an opaque type. Accessing any of its properties is deprecated. Pass it to one of the React.Children helpers."):null,this[s]=!0,this[i][n]},set:function(e){"production"!==t.env.NODE_ENV?o(this[s],"A ReactFragment is an immutable opaque type. Mutating its properties is deprecated."):null,this[s]=!0,this[i][n]=e}})},p={},h=function(e){var t="";for(var n in e)t+=n+":"+typeof e[n]+",";var r=!!p[t];return p[t]=!0,r}}var d={create:function(e){if("production"!==t.env.NODE_ENV){if("object"!=typeof e||!e||Array.isArray(e))return"production"!==t.env.NODE_ENV?o(!1,"React.addons.createFragment only accepts a single object.",e):null,e;if(r.isValidElement(e))return"production"!==t.env.NODE_ENV?o(!1,"React.addons.createFragment does not accept a ReactElement without a wrapper object."):null,e;if(a){var n={};Object.defineProperty(n,i,{enumerable:!1,value:e}),Object.defineProperty(n,s,{writable:!0,enumerable:!1,value:!1});for(var u in e)l(n,u);return Object.preventExtensions(n),n}}return e},extract:function(e){return"production"!==t.env.NODE_ENV&&a?e[i]?e[i]:("production"!==t.env.NODE_ENV?o(h(e),"Any use of a keyed object should be wrapped in React.addons.createFragment(object) before being passed as a child."):null,e):e},extractIfFragment:function(e){if("production"!==t.env.NODE_ENV&&a){if(e[i])return e[i];for(var n in e)if(e.hasOwnProperty(n)&&r.isValidElement(e[n]))return d.extract(e)}return e}};e.exports=d}).call(t,n(1))},function(e,t,n){(function(t){"use strict";function r(){o.attachRefs(this,this._currentElement)}var o=n(270),i=n(52),s={mountComponent:function(e,n,o,s){var a=e.mountComponent(n,o,s);return"production"!==t.env.NODE_ENV&&i.checkAndWarnForMutatedProps(e._currentElement),o.getReactMountReady().enqueue(r,e),a},unmountComponent:function(e){o.detachRefs(e,e._currentElement),e.unmountComponent()},receiveComponent:function(e,n,s,a){var u=e._currentElement;if(n!==u||null==n._owner){"production"!==t.env.NODE_ENV&&i.checkAndWarnForMutatedProps(n);var c=o.shouldUpdateRefs(u,n);c&&o.detachRefs(e,u),e.receiveComponent(n,s,a),c&&s.getReactMountReady().enqueue(r,e)}},performUpdateIfNecessary:function(e,t){e.performUpdateIfNecessary(t)}};e.exports=s}).call(t,n(1))},function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=n(28),i=n(92),s={view:function(e){if(e.view)return e.view;var t=i(e);if(null!=t&&t.window===t)return t;var n=t.ownerDocument;return n?n.defaultView||n.parentWindow:window},detail:function(e){return e.detail||0}};o.augmentClass(r,s),e.exports=r},function(e,t,n){var r;/*!
 	  Copyright (c) 2015 Jed Watson.