fix all css issues. This closes #30
diff --git a/attachments/npm/css/styles.css b/attachments/npm/css/styles.css
index 5fd9b34..2d0181b 100644
--- a/attachments/npm/css/styles.css
+++ b/attachments/npm/css/styles.css
@@ -1,39 +1,473 @@
+/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
+
+/**
+ * 1. Set default font family to sans-serif.
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
+ *    user zoom.
+ */
+
+html {
+  font-family: sans-serif; /* 1 */
+  -ms-text-size-adjust: 100%; /* 2 */
+  -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+/**
+ * Remove default margin.
+ */
+
 body {
-  font-family: 'Segoe UI', tahoma, arial, helvetica, sans-serif;
-  font-size: 16px;
   margin: 0;
 }
 
-h2 {
-    padding: 48px 0;
-    font-size: 34px;
+/* HTML5 display definitions
+   ========================================================================== */
+
+/**
+ * Correct `block` display not defined for any HTML5 element in IE 8/9.
+ * Correct `block` display not defined for `details` or `summary` in IE 10/11
+ * and Firefox.
+ * Correct `block` display not defined for `main` in IE 11.
+ */
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+menu,
+nav,
+section,
+summary {
+  display: block;
 }
 
+/**
+ * 1. Correct `inline-block` display not defined in IE 8/9.
+ * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
+ */
+
+audio,
+canvas,
+progress,
+video {
+  display: inline-block; /* 1 */
+  vertical-align: baseline; /* 2 */
+}
+
+/**
+ * Prevent modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+
+audio:not([controls]) {
+  display: none;
+  height: 0;
+}
+
+/**
+ * Address `[hidden]` styling not present in IE 8/9/10.
+ * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
+ */
+
+[hidden],
+template {
+  display: none;
+}
+
+/* Links
+   ========================================================================== */
+
+/**
+ * Remove the gray background color from active links in IE 10.
+ */
+
+a {
+  background-color: transparent;
+}
+
+/**
+ * Improve readability when focused and also mouse hovered in all browsers.
+ */
+
+a:active,
+a:hover {
+  outline: 0;
+}
+
+/* Text-level semantics
+   ========================================================================== */
+
+/**
+ * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
+ */
+
+abbr[title] {
+  border-bottom: 1px dotted;
+}
+
+/**
+ * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
+ */
+
+b,
+strong {
+  font-weight: bold;
+}
+
+/**
+ * Address styling not present in Safari and Chrome.
+ */
+
+dfn {
+  font-style: italic;
+}
+
+/**
+ * Address variable `h1` font-size and margin within `section` and `article`
+ * contexts in Firefox 4+, Safari, and Chrome.
+ */
+
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0;
+}
+
+/**
+ * Address styling not present in IE 8/9.
+ */
+
+mark {
+  background: #ff0;
+  color: #000;
+}
+
+/**
+ * Address inconsistent and variable font size in all browsers.
+ */
+
+small {
+  font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+ */
+
+sub,
+sup {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+}
+
+sup {
+  top: -0.5em;
+}
+
+sub {
+  bottom: -0.25em;
+}
+
+/* Embedded content
+   ========================================================================== */
+
+/**
+ * Remove border when inside `a` element in IE 8/9/10.
+ */
+
+img {
+  border: 0;
+}
+
+/**
+ * Correct overflow not hidden in IE 9/10/11.
+ */
+
+svg:not(:root) {
+  overflow: hidden;
+}
+
+/* Grouping content
+   ========================================================================== */
+
+/**
+ * Address margin not present in IE 8/9 and Safari.
+ */
+
+figure {
+  margin: 1em 40px;
+}
+
+/**
+ * Address differences between Firefox and other browsers.
+ */
+
+hr {
+  -moz-box-sizing: content-box;
+  box-sizing: content-box;
+  height: 0;
+}
+
+/**
+ * Contain overflow in all browsers.
+ */
+
+pre {
+  overflow: auto;
+}
+
+/**
+ * Address odd `em`-unit font size rendering in all browsers.
+ */
+
+code,
+kbd,
+pre,
+samp {
+  font-family: monospace, monospace;
+  font-size: 1em;
+}
+
+/* Forms
+   ========================================================================== */
+
+/**
+ * Known limitation: by default, Chrome and Safari on OS X allow very limited
+ * styling of `select`, unless a `border` property is set.
+ */
+
+/**
+ * 1. Correct color not being inherited.
+ *    Known issue: affects color of disabled elements.
+ * 2. Correct font properties not being inherited.
+ * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
+ */
+
+button,
+input,
+optgroup,
+select,
+textarea {
+  color: inherit; /* 1 */
+  font: inherit; /* 2 */
+  margin: 0; /* 3 */
+}
+
+/**
+ * Address `overflow` set to `hidden` in IE 8/9/10/11.
+ */
+
+button {
+  overflow: visible;
+}
+
+/**
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * All other form control elements do not inherit `text-transform` values.
+ * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
+ * Correct `select` style inheritance in Firefox.
+ */
+
+button,
+select {
+  text-transform: none;
+}
+
+/**
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ *    and `video` controls.
+ * 2. Correct inability to style clickable `input` types in iOS.
+ * 3. Improve usability and consistency of cursor style between image-type
+ *    `input` and others.
+ */
+
+button,
+html input[type="button"], /* 1 */
+input[type="reset"],
+input[type="submit"] {
+  -webkit-appearance: button; /* 2 */
+  cursor: pointer; /* 3 */
+}
+
+/**
+ * Re-set default cursor for disabled elements.
+ */
+
+button[disabled],
+html input[disabled] {
+  cursor: default;
+}
+
+/**
+ * Remove inner padding and border in Firefox 4+.
+ */
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+  border: 0;
+  padding: 0;
+}
+
+/**
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
+ * the UA stylesheet.
+ */
+
+input {
+  line-height: normal;
+}
+
+/**
+ * It's recommended that you don't attempt to style these elements.
+ * Firefox's implementation doesn't respect box-sizing, padding, or width.
+ *
+ * 1. Address box sizing set to `content-box` in IE 8/9/10.
+ * 2. Remove excess padding in IE 8/9/10.
+ */
+
+input[type="checkbox"],
+input[type="radio"] {
+  box-sizing: border-box; /* 1 */
+  padding: 0; /* 2 */
+}
+
+/**
+ * Fix the cursor style for Chrome's increment/decrement buttons. For certain
+ * `font-size` values of the `input`, it causes the cursor style of the
+ * decrement button to change from `default` to `text`.
+ */
+
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+  height: auto;
+}
+
+/**
+ * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
+ * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
+ *    (include `-moz` to future-proof).
+ */
+
+input[type="search"] {
+  -webkit-appearance: textfield; /* 1 */
+  -moz-box-sizing: content-box;
+  -webkit-box-sizing: content-box; /* 2 */
+  box-sizing: content-box;
+}
+
+/**
+ * Remove inner padding and search cancel button in Safari and Chrome on OS X.
+ * Safari (but not Chrome) clips the cancel button when the search input has
+ * padding (and `textfield` appearance).
+ */
+
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+
+/**
+ * Define consistent border, margin, and padding.
+ */
+
+fieldset {
+  border: 1px solid #c0c0c0;
+  margin: 0 2px;
+  padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * 1. Correct `color` not being inherited in IE 8/9/10/11.
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
+ */
+
+legend {
+  border: 0; /* 1 */
+  padding: 0; /* 2 */
+}
+
+/**
+ * Remove default vertical scrollbar in IE 8/9/10/11.
+ */
+
+textarea {
+  overflow: auto;
+}
+
+/**
+ * Don't inherit the `font-weight` (applied by a rule above).
+ * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
+ */
+
+optgroup {
+  font-weight: bold;
+}
+
+/* Tables
+   ========================================================================== */
+
+/**
+ * Remove most spacing between table cells.
+ */
+
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+
+td,
+th {
+  padding: 0;
+}
+html {
+  font-size: 62.5%;
+}
+
+body {
+  font-family: 'Segoe UI', tahoma, arial, helvetica, sans-serif;
+  font-size: 1.6rem;
+  margin: 0;
+}
+
+
 /*---------------------------------------------------
     Pluggy and msg
 ---------------------------------------------------*/
-#headerBackground {
+#headblock {
   background: url('../img/grid.png');
+  padding-bottom: 1rem;
 }
 
-#topContent {
-  margin-top: 25px;
+#topcontent {
+  padding-top: 2.5rem;
+  text-align: center;
+  max-width: 80rem;
+  margin: 0 auto;
 }
 
 #pluggy {
-  background: transparent url('../img/pluggy.png') no-repeat center;
+  background: transparent url('../img/pluggy.png') no-repeat;
   background-size: contain;
-  height: 200px;
-  margin-left: 25px;
+  width: 10rem;
+  height: 20rem;
+  margin-left: 2.5rem;
 }
 
-.discover-message {
-  background-color: white;
-  font-size: 56px;
-  margin: 25px 5px 5px 5px;
-  text-align: left;
+#discovermessage {
   display: inline-block;
-  padding: 0px 8px;
+  max-width: 60rem;
+  vertical-align: top;
+}
+
+#discovermessage h1 {
+  background-color: white;
+  text-align: left;
   font-family: 'Segoe UI', tahoma, arial, helvetica, sans-serif;
 }
 
@@ -41,20 +475,20 @@
     Searchbox
 ---------------------------------------------------*/
 
-#searchwrapper {
-  margin: 25px 0px;
+#search {
+  margin: 2.5rem auto 0 auto;
   border: 2px solid gray;
   background-color: white;
 }
 
-#searchwrapper .searchBox {
+#search .searchBox {
   display: block;
-  height: 35px;
+  height: 3.5rem;
   width: 100%;
   border: 0;
   background: none;
   outline: 0;
-  font-size: 14px;
+  font-size: 1.4rem;
   padding: 0 5px 0 35px;
   color: #363636;
   background: url('../img/search.png') no-repeat;
@@ -84,7 +518,7 @@
 }
 
 .pluginList li {
-  margin: 0 0 60px 0;
+  margin: 0 0 2rem 0;
 }
 
 /*---------------------------------------------------
@@ -94,8 +528,8 @@
   position: relative;
   border: 1px solid #CDCDCD;
   background: white;
-  min-height: 10em;
-  height: 10em;
+  min-height: 3em;
+  padding: 0.2rem 1rem 0.5rem 1rem;
 }
 
 .pluginCard:after {
@@ -120,7 +554,7 @@
 }
 
 .pluginCard h3 {
-  margin: 0.2em 0.2em 0.4em 0em;
+  margin: 0 0.2rem 0.1rem 0;
   font-size: 1.5em;
   display: inline-block;
 }
@@ -137,9 +571,9 @@
 }
 
 .featuredPlugin {
-  -webkit-box-shadow: -3px 0px 0px #4CC2E4;
-  -moz-box-shadow: -3px 0px 0px #4CC2E4;
-  box-shadow: -3px 0px 0px #4CC2E4;
+  -webkit-box-shadow: inset 3px 0 0 0 #4CC2E4;
+  -moz-box-shadow: inset 3px 0 0 0 #4CC2E4;
+  box-shadow: inset 3px 0 0 0 #4CC2E4;
   border-left-width: 0px;
 }
 
@@ -173,9 +607,12 @@
 }
 
 .supportedPlatforms {
+  width: 75%;
+  display: inline-block;
   list-style-type: none;
-  padding: 5px 0px;
+  text-align: left;
   font-size: 0.8em;
+  padding-left: 0;
 }
 
 .supportedPlatforms li {
@@ -187,23 +624,22 @@
 }
 
 .secondaryContent {
-  display: flex;
-  display: -webkit-flex;
-  flex-direction: column;
-  -webkit-flex-direction: column;
+  min-height: 7rem;
+  width: 100%;
+  display: block;
   text-align: right;
   font-size: 0.9em;
   color: #7A828B;
 }
 
-.download {
-  -webkit-flex-grow: 1;
-  flex-grow: 1;
+.extraInfo p {
+  margin-top: 2px;
+  margin-bottom: 2px;
 }
 
-.extraInfo p {
-margin-top: 2px;
-margin-bottom: 2px;
+.extraInfo {
+  display: inline-block;
+  width: 25%;
 }
 
 .clickable {
@@ -216,28 +652,12 @@
 
 .icon {
   background: url('../img/sprite.png') no-repeat;
-  background-position: 0 -220px;
-  padding-left: 78px;
-}
-.icon-about {
-  background-position: 0 -220px;
 }
 
 /*---------------------------------------------------
     Layout - Header
 ---------------------------------------------------*/
-#wrap,
-.wrap {
-  width: 1008px;
-  margin: 0 auto;
-  position: relative;
-}
-
-.header-placeholder {
-  height: 90px;
-}
 #header {
-  height: 90px;
   position: fixed;
   z-index: 10;
   left: 0;
@@ -254,6 +674,13 @@
   background: url('../img/shadow.png');
 }
 
+.logo {
+  top: 7rem;
+  width: 11rem;
+  height: 3.7rem;
+  background-size: 11.2rem 42.5rem;
+}
+
 .logo,
 .closing {
   background: url('../img/sprite.png') no-repeat;
@@ -328,10 +755,10 @@
 pre {
   background-color: #f8f8f8;
   border: 1px solid #ccc;
-  font-size: 13px;
-  line-height: 19px;
+  font-size: 1.3rem;
+  line-height: 1.9rem;
   overflow: auto;
-  padding: 6px 10px;
+  padding: 0.6rem 1rem;
   border-radius: 3px;
 }
 
@@ -344,1112 +771,146 @@
 /*---------------------------------------------------
     Mobile
 ---------------------------------------------------*/
-@media all and (max-width: 1024px) {
-  #wrap,
-  .wrap {
-    width: auto;
-    margin-left: 24px;
-    margin-right: 24px;
+
+/* Extra small devices (phones, less than 768px) */
+/* No media query since this is the default in Bootstrap */
+.contentwrap {
+  margin: 0 auto;
+  max-width: 80rem;
+}
+.menu {
+  display: none;
+}
+.menu-dropdown {
+  display: block;
+  top: 1.6rem;
+}
+
+h2 {
+  font-size: 2rem;
+  padding-top: 0;
+  letter-spacing: 0;
+}
+
+.wrap {
+  position: relative;
+  margin-left: 1.2rem;
+  margin-right: 1.2rem;
+}
+
+#header,
+.header-placeholder {
+  height: 5.2rem;
+}
+
+.logo {
+  top: 0.7rem;
+  width: 11rem;
+  height: 3.7rem;
+  background-size: 11.2rem 42.5rem;
+}
+
+#pluggy {
+  display: none;
+}
+
+#discovermessage {
+  height: auto;
+  padding: 0 4rem 0 4rem;
+}
+
+#discovermessage h1 {
+  font-size: 4rem;
+}
+
+.icon {
+  background-position: 0px -110px;
+  background-size: 112px 425px;
+  display: block;
+  font-size: 2.2rem;
+  padding: 2rem 4.8rem 2rem 4.8rem;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+  overflow: hidden;
+}
+
+/* Small devices (tablets, 768px and up) */
+@media (min-width: 768px) {
+  #discovermessage {
+    height: 20rem;
+    padding: 0 0 0 4rem;
   }
-  .pluginCard {
-    height: auto;
+  #discovermessage h1 {
+    font-size: 5rem;
+  }
+  .icon {
+    background-position: 0px -220px;
+    background-size: auto;
+    font-size: 2.4rem;
+    padding: 5.4rem 0 4.8rem 7.8rem;
+  }
+  h2 {
+    font-size: 2.2rem;
+    padding: 5.4rem 0;
+  }
+  #pluggy {
+    display: inline-block;
   }
 }
-@media all and (max-width: 890px) {
+
+/* Medium devices (desktops, 992px and up) */
+@media (min-width: 992px) {
   h2 {
-    font-size: 24px;
-    padding-top: 54px;
-  }
-  .menu {
-    display: none;
-  }
-  .menu-dropdown {
-    display: block;
-  }
-  .pluginCard {
-    height: auto;
-  }
-}
-@media all and (max-width: 720px) {
-  h2 {
-    font-size: 22px;
-    padding-top: 54px;
-  }
-  .menu-dropdown {
-    top: 16px;
+    font-size: 2.4rem;
+    padding-top: 5.4rem 0;
   }
   #header,
   .header-placeholder {
-    height: 52px;
+    height: 9rem;
+  }
+  .menu {
+    display: block;
+  }
+  .menu-dropdown {
+    display: none;
+  }
+  .contentwrap {
+    margin: 0 auto;
+    max-width: 80rem;
+  }
+  #wrap,
+  .wrap {
+    width: auto;
+    margin-left: 12rem;
+    margin-right: 12rem;
   }
   .logo {
-    top: 7px;
-    width: 110px;
-    height: 37px;
-    background-size: 112px 425px;
-  }
-  .pluginCard {
-    height: auto;
-  }
-}
-@media all and (max-width: 585px) {
-  h2 {
-    letter-spacing: 0;
-  }
-  .wrap {
-    margin-left: 12px;
-    margin-right: 12px;
+    top: 5px;
+    width: 220px;
+    height: 75px;
+    background-size: auto;
   }
   .icon {
-    background-size: 112px 425px;
-    padding: 20px 48px 20px 48px;
-    overflow: hidden;
-    display: block;
-    text-overflow: ellipsis;
-    white-space: nowrap;
+    background-position: 0 -220px;
+    padding-left: 78px;
   }
   .icon-about {
-    background-position: 0 -110px;
-  }
-  .pluginCard {
-    height: auto;
-  }
-}
-@media all and (max-width: 440px) {
-  .icon {
-    padding: 22px 16px 20px 35px;
-  }
-    h2 {
-    font-size: 20px;
-  }
-  .pluginCard {
-    height: auto;
+    background-position: 0 -220px;
   }
 }
 
-/*
- * Copyright 2013 Kristofer Joseph
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- *
- * Uncomment and set these variables to customize the grid.
- *
- * :root {
- *  --gutter-width: 1rem;
- *  --outer-margin: 2rem;
- *  --gutter-compensation: calc( var( --gutter-width / 2 ) * -1 );
- *  --half-gutter-width: calc( var( --gutter-width / 2 ) );
- *  --screen-xs-min: 30em;
- *  --screen-sm-min: 48em;
- *  --screen-md-min: 62em;
- *  --screen-lg-min: 75em;
- *  --container-sm: calc( 45rem + var( --gutter-width ) );
- *  --container-md: calc( 60rem + var( --gutter-width ) );
- *  --container-lg: calc( 70rem + var( --gutter-width ) );
- * }
- *
-*/
-
-.container-fluid {
-  margin-right: auto;
-  margin-left: auto;
-  padding-right: 2rem;
-  padding-left: 2rem;
-}
-
-.row {
-  box-sizing: border-box;
-  display: -webkit-flex;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-flex: 0 1 auto;
-  -ms-flex: 0 1 auto;
-  flex: 0 1 auto;
-  -webkit-flex-direction: row;
-  -ms-flex-direction: row;
-  flex-direction: row;
-  -webkit-flex-wrap: wrap;
-  -ms-flex-wrap: wrap;
-  flex-wrap: wrap;
-  margin-right: -0.5rem;
-  margin-left: -0.5rem;
-}
-
-.row.reverse {
-  -webkit-flex-direction: row-reverse;
-  -ms-flex-direction: row-reverse;
-  flex-direction: row-reverse;
-}
-
-.col.reverse {
-  -webkit-flex-direction: column-reverse;
-  -ms-flex-direction: column-reverse;
-  flex-direction: column-reverse;
-}
-
-.col-xs,
-.col-xs-1,
-.col-xs-2,
-.col-xs-3,
-.col-xs-4,
-.col-xs-5,
-.col-xs-6,
-.col-xs-7,
-.col-xs-8,
-.col-xs-9,
-.col-xs-10,
-.col-xs-11,
-.col-xs-12,
-.col-xs-offset-1,
-.col-xs-offset-2,
-.col-xs-offset-3,
-.col-xs-offset-4,
-.col-xs-offset-5,
-.col-xs-offset-6,
-.col-xs-offset-7,
-.col-xs-offset-8,
-.col-xs-offset-9,
-.col-xs-offset-10,
-.col-xs-offset-11,
-.col-xs-offset-12 {
-  box-sizing: border-box;
-  -webkit-flex: 0 0 auto;
-  -ms-flex: 0 0 auto;
-  flex: 0 0 auto;
-  padding-right: 0.5rem;
-  padding-left: 0.5rem;
-}
-
-.col-xs {
-  -webkit-flex-grow: 1;
-  -ms-flex-positive: 1;
-  flex-grow: 1;
-  -webkit-flex-basis: 0;
-  -ms-flex-preferred-size: 0;
-  flex-basis: 0;
-  max-width: 100%;
-}
-
-.col-xs-1 {
-  -webkit-flex-basis: 8.333%;
-  -ms-flex-preferred-size: 8.333%;
-  flex-basis: 8.333%;
-  max-width: 8.333%;
-}
-
-.col-xs-2 {
-  -webkit-flex-basis: 16.667%;
-  -ms-flex-preferred-size: 16.667%;
-  flex-basis: 16.667%;
-  max-width: 16.667%;
-}
-
-.col-xs-3 {
-  -webkit-flex-basis: 25%;
-  -ms-flex-preferred-size: 25%;
-  flex-basis: 25%;
-  max-width: 25%;
-}
-
-.col-xs-4 {
-  -webkit-flex-basis: 33.333%;
-  -ms-flex-preferred-size: 33.333%;
-  flex-basis: 33.333%;
-  max-width: 33.333%;
-}
-
-.col-xs-5 {
-  -webkit-flex-basis: 41.667%;
-  -ms-flex-preferred-size: 41.667%;
-  flex-basis: 41.667%;
-  max-width: 41.667%;
-}
-
-.col-xs-6 {
-  -webkit-flex-basis: 50%;
-  -ms-flex-preferred-size: 50%;
-  flex-basis: 50%;
-  max-width: 50%;
-}
-
-.col-xs-7 {
-  -webkit-flex-basis: 58.333%;
-  -ms-flex-preferred-size: 58.333%;
-  flex-basis: 58.333%;
-  max-width: 58.333%;
-}
-
-.col-xs-8 {
-  -webkit-flex-basis: 66.667%;
-  -ms-flex-preferred-size: 66.667%;
-  flex-basis: 66.667%;
-  max-width: 66.667%;
-}
-
-.col-xs-9 {
-  -webkit-flex-basis: 75%;
-  -ms-flex-preferred-size: 75%;
-  flex-basis: 75%;
-  max-width: 75%;
-}
-
-.col-xs-10 {
-  -webkit-flex-basis: 83.333%;
-  -ms-flex-preferred-size: 83.333%;
-  flex-basis: 83.333%;
-  max-width: 83.333%;
-}
-
-.col-xs-11 {
-  -webkit-flex-basis: 91.667%;
-  -ms-flex-preferred-size: 91.667%;
-  flex-basis: 91.667%;
-  max-width: 91.667%;
-}
-
-.col-xs-12 {
-  -webkit-flex-basis: 100%;
-  -ms-flex-preferred-size: 100%;
-  flex-basis: 100%;
-  max-width: 100%;
-}
-
-.col-xs-offset-1 {
-  margin-left: 8.333%;
-}
-
-.col-xs-offset-2 {
-  margin-left: 16.667%;
-}
-
-.col-xs-offset-3 {
-  margin-left: 25%;
-}
-
-.col-xs-offset-4 {
-  margin-left: 33.333%;
-}
-
-.col-xs-offset-5 {
-  margin-left: 41.667%;
-}
-
-.col-xs-offset-6 {
-  margin-left: 50%;
-}
-
-.col-xs-offset-7 {
-  margin-left: 58.333%;
-}
-
-.col-xs-offset-8 {
-  margin-left: 66.667%;
-}
-
-.col-xs-offset-9 {
-  margin-left: 75%;
-}
-
-.col-xs-offset-10 {
-  margin-left: 83.333%;
-}
-
-.col-xs-offset-11 {
-  margin-left: 91.667%;
-}
-
-.start-xs {
-  -webkit-justify-content: flex-start;
-  -ms-flex-pack: start;
-  justify-content: flex-start;
-  text-align: start;
-}
-
-.center-xs {
-  -webkit-justify-content: center;
-  -ms-flex-pack: center;
-  justify-content: center;
-  text-align: center;
-}
-
-.end-xs {
-  -webkit-justify-content: flex-end;
-  -ms-flex-pack: end;
-  justify-content: flex-end;
-  text-align: end;
-}
-
-.top-xs {
-  -webkit-align-items: flex-start;
-  -ms-flex-align: start;
-  align-items: flex-start;
-}
-
-.middle-xs {
-  -webkit-align-items: center;
-  -ms-flex-align: center;
-  align-items: center;
-}
-
-.bottom-xs {
-  -webkit-align-items: flex-end;
-  -ms-flex-align: end;
-  align-items: flex-end;
-}
-
-.around-xs {
-  -webkit-justify-content: space-around;
-  -ms-flex-pack: distribute;
-  justify-content: space-around;
-}
-
-.between-xs {
-  -webkit-justify-content: space-between;
-  -ms-flex-pack: justify;
-  justify-content: space-between;
-}
-
-.first-xs {
-  -webkit-order: -1;
-  -ms-flex-order: -1;
-  order: -1;
-}
-
-.last-xs {
-  -webkit-order: 1;
-  -ms-flex-order: 1;
-  order: 1;
-}
-
-@media only screen and (min-width: 48em) {
-  .container {
-    width: 46rem;
+/* Large devices (large desktops, 1200px and up) */
+@media (min-width: 1200px) {
+  h2 {
+      padding: 4.8rem 0;
+      font-size: 3.4rem;
   }
-
-  .col-sm,
-  .col-sm-1,
-  .col-sm-2,
-  .col-sm-3,
-  .col-sm-4,
-  .col-sm-5,
-  .col-sm-6,
-  .col-sm-7,
-  .col-sm-8,
-  .col-sm-9,
-  .col-sm-10,
-  .col-sm-11,
-  .col-sm-12,
-  .col-sm-offset-1,
-  .col-sm-offset-2,
-  .col-sm-offset-3,
-  .col-sm-offset-4,
-  .col-sm-offset-5,
-  .col-sm-offset-6,
-  .col-sm-offset-7,
-  .col-sm-offset-8,
-  .col-sm-offset-9,
-  .col-sm-offset-10,
-  .col-sm-offset-11,
-  .col-sm-offset-12 {
-    box-sizing: border-box;
-    -webkit-flex: 0 0 auto;
-    -ms-flex: 0 0 auto;
-    flex: 0 0 auto;
-    padding-right: 0.5rem;
-    padding-left: 0.5rem;
+  .contentwrap {
+    max-width: 100rem;
   }
-
-  .col-sm {
-    -webkit-flex-grow: 1;
-    -ms-flex-positive: 1;
-    flex-grow: 1;
-    -webkit-flex-basis: 0;
-    -ms-flex-preferred-size: 0;
-    flex-basis: 0;
-    max-width: 100%;
-  }
-
-  .col-sm-1 {
-    -webkit-flex-basis: 8.333%;
-    -ms-flex-preferred-size: 8.333%;
-    flex-basis: 8.333%;
-    max-width: 8.333%;
-  }
-
-  .col-sm-2 {
-    -webkit-flex-basis: 16.667%;
-    -ms-flex-preferred-size: 16.667%;
-    flex-basis: 16.667%;
-    max-width: 16.667%;
-  }
-
-  .col-sm-3 {
-    -webkit-flex-basis: 25%;
-    -ms-flex-preferred-size: 25%;
-    flex-basis: 25%;
-    max-width: 25%;
-  }
-
-  .col-sm-4 {
-    -webkit-flex-basis: 33.333%;
-    -ms-flex-preferred-size: 33.333%;
-    flex-basis: 33.333%;
-    max-width: 33.333%;
-  }
-
-  .col-sm-5 {
-    -webkit-flex-basis: 41.667%;
-    -ms-flex-preferred-size: 41.667%;
-    flex-basis: 41.667%;
-    max-width: 41.667%;
-  }
-
-  .col-sm-6 {
-    -webkit-flex-basis: 50%;
-    -ms-flex-preferred-size: 50%;
-    flex-basis: 50%;
-    max-width: 50%;
-  }
-
-  .col-sm-7 {
-    -webkit-flex-basis: 58.333%;
-    -ms-flex-preferred-size: 58.333%;
-    flex-basis: 58.333%;
-    max-width: 58.333%;
-  }
-
-  .col-sm-8 {
-    -webkit-flex-basis: 66.667%;
-    -ms-flex-preferred-size: 66.667%;
-    flex-basis: 66.667%;
-    max-width: 66.667%;
-  }
-
-  .col-sm-9 {
-    -webkit-flex-basis: 75%;
-    -ms-flex-preferred-size: 75%;
-    flex-basis: 75%;
-    max-width: 75%;
-  }
-
-  .col-sm-10 {
-    -webkit-flex-basis: 83.333%;
-    -ms-flex-preferred-size: 83.333%;
-    flex-basis: 83.333%;
-    max-width: 83.333%;
-  }
-
-  .col-sm-11 {
-    -webkit-flex-basis: 91.667%;
-    -ms-flex-preferred-size: 91.667%;
-    flex-basis: 91.667%;
-    max-width: 91.667%;
-  }
-
-  .col-sm-12 {
-    -webkit-flex-basis: 100%;
-    -ms-flex-preferred-size: 100%;
-    flex-basis: 100%;
-    max-width: 100%;
-  }
-
-  .col-sm-offset-1 {
-    margin-left: 8.333%;
-  }
-
-  .col-sm-offset-2 {
-    margin-left: 16.667%;
-  }
-
-  .col-sm-offset-3 {
-    margin-left: 25%;
-  }
-
-  .col-sm-offset-4 {
-    margin-left: 33.333%;
-  }
-
-  .col-sm-offset-5 {
-    margin-left: 41.667%;
-  }
-
-  .col-sm-offset-6 {
-    margin-left: 50%;
-  }
-
-  .col-sm-offset-7 {
-    margin-left: 58.333%;
-  }
-
-  .col-sm-offset-8 {
-    margin-left: 66.667%;
-  }
-
-  .col-sm-offset-9 {
-    margin-left: 75%;
-  }
-
-  .col-sm-offset-10 {
-    margin-left: 83.333%;
-  }
-
-  .col-sm-offset-11 {
-    margin-left: 91.667%;
-  }
-
-  .start-sm {
-    -webkit-justify-content: flex-start;
-    -ms-flex-pack: start;
-    justify-content: flex-start;
-    text-align: start;
-  }
-
-  .center-sm {
-    -webkit-justify-content: center;
-    -ms-flex-pack: center;
-    justify-content: center;
-    text-align: center;
-  }
-
-  .end-sm {
-    -webkit-justify-content: flex-end;
-    -ms-flex-pack: end;
-    justify-content: flex-end;
-    text-align: end;
-  }
-
-  .top-sm {
-    -webkit-align-items: flex-start;
-    -ms-flex-align: start;
-    align-items: flex-start;
-  }
-
-  .middle-sm {
-    -webkit-align-items: center;
-    -ms-flex-align: center;
-    align-items: center;
-  }
-
-  .bottom-sm {
-    -webkit-align-items: flex-end;
-    -ms-flex-align: end;
-    align-items: flex-end;
-  }
-
-  .around-sm {
-    -webkit-justify-content: space-around;
-    -ms-flex-pack: distribute;
-    justify-content: space-around;
-  }
-
-  .between-sm {
-    -webkit-justify-content: space-between;
-    -ms-flex-pack: justify;
-    justify-content: space-between;
-  }
-
-  .first-sm {
-    -webkit-order: -1;
-    -ms-flex-order: -1;
-    order: -1;
-  }
-
-  .last-sm {
-    -webkit-order: 1;
-    -ms-flex-order: 1;
-    order: 1;
+  #wrap,
+  .wrap {
+    width: 1008px;
+    margin: 0 auto;
   }
 }
-
-@media only screen and (min-width: 62em) {
-  .container {
-    width: 61rem;
-  }
-
-  .col-md,
-  .col-md-1,
-  .col-md-2,
-  .col-md-3,
-  .col-md-4,
-  .col-md-5,
-  .col-md-6,
-  .col-md-7,
-  .col-md-8,
-  .col-md-9,
-  .col-md-10,
-  .col-md-11,
-  .col-md-12,
-  .col-md-offset-1,
-  .col-md-offset-2,
-  .col-md-offset-3,
-  .col-md-offset-4,
-  .col-md-offset-5,
-  .col-md-offset-6,
-  .col-md-offset-7,
-  .col-md-offset-8,
-  .col-md-offset-9,
-  .col-md-offset-10,
-  .col-md-offset-11,
-  .col-md-offset-12 {
-    box-sizing: border-box;
-    -webkit-flex: 0 0 auto;
-    -ms-flex: 0 0 auto;
-    flex: 0 0 auto;
-    padding-right: 0.5rem;
-    padding-left: 0.5rem;
-  }
-
-  .col-md {
-    -webkit-flex-grow: 1;
-    -ms-flex-positive: 1;
-    flex-grow: 1;
-    -webkit-flex-basis: 0;
-    -ms-flex-preferred-size: 0;
-    flex-basis: 0;
-    max-width: 100%;
-  }
-
-  .col-md-1 {
-    -webkit-flex-basis: 8.333%;
-    -ms-flex-preferred-size: 8.333%;
-    flex-basis: 8.333%;
-    max-width: 8.333%;
-  }
-
-  .col-md-2 {
-    -webkit-flex-basis: 16.667%;
-    -ms-flex-preferred-size: 16.667%;
-    flex-basis: 16.667%;
-    max-width: 16.667%;
-  }
-
-  .col-md-3 {
-    -webkit-flex-basis: 25%;
-    -ms-flex-preferred-size: 25%;
-    flex-basis: 25%;
-    max-width: 25%;
-  }
-
-  .col-md-4 {
-    -webkit-flex-basis: 33.333%;
-    -ms-flex-preferred-size: 33.333%;
-    flex-basis: 33.333%;
-    max-width: 33.333%;
-  }
-
-  .col-md-5 {
-    -webkit-flex-basis: 41.667%;
-    -ms-flex-preferred-size: 41.667%;
-    flex-basis: 41.667%;
-    max-width: 41.667%;
-  }
-
-  .col-md-6 {
-    -webkit-flex-basis: 50%;
-    -ms-flex-preferred-size: 50%;
-    flex-basis: 50%;
-    max-width: 50%;
-  }
-
-  .col-md-7 {
-    -webkit-flex-basis: 58.333%;
-    -ms-flex-preferred-size: 58.333%;
-    flex-basis: 58.333%;
-    max-width: 58.333%;
-  }
-
-  .col-md-8 {
-    -webkit-flex-basis: 66.667%;
-    -ms-flex-preferred-size: 66.667%;
-    flex-basis: 66.667%;
-    max-width: 66.667%;
-  }
-
-  .col-md-9 {
-    -webkit-flex-basis: 75%;
-    -ms-flex-preferred-size: 75%;
-    flex-basis: 75%;
-    max-width: 75%;
-  }
-
-  .col-md-10 {
-    -webkit-flex-basis: 83.333%;
-    -ms-flex-preferred-size: 83.333%;
-    flex-basis: 83.333%;
-    max-width: 83.333%;
-  }
-
-  .col-md-11 {
-    -webkit-flex-basis: 91.667%;
-    -ms-flex-preferred-size: 91.667%;
-    flex-basis: 91.667%;
-    max-width: 91.667%;
-  }
-
-  .col-md-12 {
-    -webkit-flex-basis: 100%;
-    -ms-flex-preferred-size: 100%;
-    flex-basis: 100%;
-    max-width: 100%;
-  }
-
-  .col-md-offset-1 {
-    margin-left: 8.333%;
-  }
-
-  .col-md-offset-2 {
-    margin-left: 16.667%;
-  }
-
-  .col-md-offset-3 {
-    margin-left: 25%;
-  }
-
-  .col-md-offset-4 {
-    margin-left: 33.333%;
-  }
-
-  .col-md-offset-5 {
-    margin-left: 41.667%;
-  }
-
-  .col-md-offset-6 {
-    margin-left: 50%;
-  }
-
-  .col-md-offset-7 {
-    margin-left: 58.333%;
-  }
-
-  .col-md-offset-8 {
-    margin-left: 66.667%;
-  }
-
-  .col-md-offset-9 {
-    margin-left: 75%;
-  }
-
-  .col-md-offset-10 {
-    margin-left: 83.333%;
-  }
-
-  .col-md-offset-11 {
-    margin-left: 91.667%;
-  }
-
-  .start-md {
-    -webkit-justify-content: flex-start;
-    -ms-flex-pack: start;
-    justify-content: flex-start;
-    text-align: start;
-  }
-
-  .center-md {
-    -webkit-justify-content: center;
-    -ms-flex-pack: center;
-    justify-content: center;
-    text-align: center;
-  }
-
-  .end-md {
-    -webkit-justify-content: flex-end;
-    -ms-flex-pack: end;
-    justify-content: flex-end;
-    text-align: end;
-  }
-
-  .top-md {
-    -webkit-align-items: flex-start;
-    -ms-flex-align: start;
-    align-items: flex-start;
-  }
-
-  .middle-md {
-    -webkit-align-items: center;
-    -ms-flex-align: center;
-    align-items: center;
-  }
-
-  .bottom-md {
-    -webkit-align-items: flex-end;
-    -ms-flex-align: end;
-    align-items: flex-end;
-  }
-
-  .around-md {
-    -webkit-justify-content: space-around;
-    -ms-flex-pack: distribute;
-    justify-content: space-around;
-  }
-
-  .between-md {
-    -webkit-justify-content: space-between;
-    -ms-flex-pack: justify;
-    justify-content: space-between;
-  }
-
-  .first-md {
-    -webkit-order: -1;
-    -ms-flex-order: -1;
-    order: -1;
-  }
-
-  .last-md {
-    -webkit-order: 1;
-    -ms-flex-order: 1;
-    order: 1;
-  }
-}
-
-@media only screen and (min-width: 75em) {
-  .container {
-    width: 71rem;
-  }
-
-  .col-lg,
-  .col-lg-1,
-  .col-lg-2,
-  .col-lg-3,
-  .col-lg-4,
-  .col-lg-5,
-  .col-lg-6,
-  .col-lg-7,
-  .col-lg-8,
-  .col-lg-9,
-  .col-lg-10,
-  .col-lg-11,
-  .col-lg-12,
-  .col-lg-offset-1,
-  .col-lg-offset-2,
-  .col-lg-offset-3,
-  .col-lg-offset-4,
-  .col-lg-offset-5,
-  .col-lg-offset-6,
-  .col-lg-offset-7,
-  .col-lg-offset-8,
-  .col-lg-offset-9,
-  .col-lg-offset-10,
-  .col-lg-offset-11,
-  .col-lg-offset-12 {
-    box-sizing: border-box;
-    -webkit-flex: 0 0 auto;
-    -ms-flex: 0 0 auto;
-    flex: 0 0 auto;
-    padding-right: 0.5rem;
-    padding-left: 0.5rem;
-  }
-
-  .col-lg {
-    -webkit-flex-grow: 1;
-    -ms-flex-positive: 1;
-    flex-grow: 1;
-    -webkit-flex-basis: 0;
-    -ms-flex-preferred-size: 0;
-    flex-basis: 0;
-    max-width: 100%;
-  }
-
-  .col-lg-1 {
-    -webkit-flex-basis: 8.333%;
-    -ms-flex-preferred-size: 8.333%;
-    flex-basis: 8.333%;
-    max-width: 8.333%;
-  }
-
-  .col-lg-2 {
-    -webkit-flex-basis: 16.667%;
-    -ms-flex-preferred-size: 16.667%;
-    flex-basis: 16.667%;
-    max-width: 16.667%;
-  }
-
-  .col-lg-3 {
-    -webkit-flex-basis: 25%;
-    -ms-flex-preferred-size: 25%;
-    flex-basis: 25%;
-    max-width: 25%;
-  }
-
-  .col-lg-4 {
-    -webkit-flex-basis: 33.333%;
-    -ms-flex-preferred-size: 33.333%;
-    flex-basis: 33.333%;
-    max-width: 33.333%;
-  }
-
-  .col-lg-5 {
-    -webkit-flex-basis: 41.667%;
-    -ms-flex-preferred-size: 41.667%;
-    flex-basis: 41.667%;
-    max-width: 41.667%;
-  }
-
-  .col-lg-6 {
-    -webkit-flex-basis: 50%;
-    -ms-flex-preferred-size: 50%;
-    flex-basis: 50%;
-    max-width: 50%;
-  }
-
-  .col-lg-7 {
-    -webkit-flex-basis: 58.333%;
-    -ms-flex-preferred-size: 58.333%;
-    flex-basis: 58.333%;
-    max-width: 58.333%;
-  }
-
-  .col-lg-8 {
-    -webkit-flex-basis: 66.667%;
-    -ms-flex-preferred-size: 66.667%;
-    flex-basis: 66.667%;
-    max-width: 66.667%;
-  }
-
-  .col-lg-9 {
-    -webkit-flex-basis: 75%;
-    -ms-flex-preferred-size: 75%;
-    flex-basis: 75%;
-    max-width: 75%;
-  }
-
-  .col-lg-10 {
-    -webkit-flex-basis: 83.333%;
-    -ms-flex-preferred-size: 83.333%;
-    flex-basis: 83.333%;
-    max-width: 83.333%;
-  }
-
-  .col-lg-11 {
-    -webkit-flex-basis: 91.667%;
-    -ms-flex-preferred-size: 91.667%;
-    flex-basis: 91.667%;
-    max-width: 91.667%;
-  }
-
-  .col-lg-12 {
-    -webkit-flex-basis: 100%;
-    -ms-flex-preferred-size: 100%;
-    flex-basis: 100%;
-    max-width: 100%;
-  }
-
-  .col-lg-offset-1 {
-    margin-left: 8.333%;
-  }
-
-  .col-lg-offset-2 {
-    margin-left: 16.667%;
-  }
-
-  .col-lg-offset-3 {
-    margin-left: 25%;
-  }
-
-  .col-lg-offset-4 {
-    margin-left: 33.333%;
-  }
-
-  .col-lg-offset-5 {
-    margin-left: 41.667%;
-  }
-
-  .col-lg-offset-6 {
-    margin-left: 50%;
-  }
-
-  .col-lg-offset-7 {
-    margin-left: 58.333%;
-  }
-
-  .col-lg-offset-8 {
-    margin-left: 66.667%;
-  }
-
-  .col-lg-offset-9 {
-    margin-left: 75%;
-  }
-
-  .col-lg-offset-10 {
-    margin-left: 83.333%;
-  }
-
-  .col-lg-offset-11 {
-    margin-left: 91.667%;
-  }
-
-  .start-lg {
-    -webkit-justify-content: flex-start;
-    -ms-flex-pack: start;
-    justify-content: flex-start;
-    text-align: start;
-  }
-
-  .center-lg {
-    -webkit-justify-content: center;
-    -ms-flex-pack: center;
-    justify-content: center;
-    text-align: center;
-  }
-
-  .end-lg {
-    -webkit-justify-content: flex-end;
-    -ms-flex-pack: end;
-    justify-content: flex-end;
-    text-align: end;
-  }
-
-  .top-lg {
-    -webkit-align-items: flex-start;
-    -ms-flex-align: start;
-    align-items: flex-start;
-  }
-
-  .middle-lg {
-    -webkit-align-items: center;
-    -ms-flex-align: center;
-    align-items: center;
-  }
-
-  .bottom-lg {
-    -webkit-align-items: flex-end;
-    -ms-flex-align: end;
-    align-items: flex-end;
-  }
-
-  .around-lg {
-    -webkit-justify-content: space-around;
-    -ms-flex-pack: distribute;
-    justify-content: space-around;
-  }
-
-  .between-lg {
-    -webkit-justify-content: space-between;
-    -ms-flex-pack: justify;
-    justify-content: space-between;
-  }
-
-  .first-lg {
-    -webkit-order: -1;
-    -ms-flex-order: -1;
-    order: -1;
-  }
-
-  .last-lg {
-    -webkit-order: 1;
-    -ms-flex-order: 1;
-    order: 1;
-  }
-}
\ No newline at end of file
diff --git a/attachments/npm/developers.html b/attachments/npm/developers.html
index f7622c7..54feab8 100644
--- a/attachments/npm/developers.html
+++ b/attachments/npm/developers.html
@@ -2,6 +2,7 @@
 <html>
   <head>
     <meta http-equiv='Content-type' content='text/html; charset=utf-8'>
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
     <title>Cordova Search Website</title>
     <link rel="stylesheet" href="css/styles.css" />
   </head>
@@ -27,7 +28,7 @@
     </div>
     <div class="header-placeholder"></div>
     <div class="wrap">
-      <h2 class="icon icon-about">npm Plugin Search for Plugin Developers</h2>
+      <h2 class="icon icon-about">npm Plugin Search for Plugin Authors</h2>
       <h4>How do I add a new plugin to Plugin Search?</h4>
       <p>If you want your Cordova Plugin to show up in search, simply add <code>ecosystem:cordova</code> keyword to the <code>package.json</code> file of your plugin and publish it to npm registry.</p>
       <h4>How can I tag supported platforms for my plugin?</h4>
diff --git a/attachments/npm/faq.html b/attachments/npm/faq.html
index 55a69b8..a3b7d03 100644
--- a/attachments/npm/faq.html
+++ b/attachments/npm/faq.html
@@ -2,6 +2,7 @@
 <html>
   <head>
     <meta http-equiv='Content-type' content='text/html; charset=utf-8'>
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
     <title>Cordova Search Website</title>
     <link rel="stylesheet" href="css/styles.css" />
   </head>
diff --git a/attachments/npm/index.html b/attachments/npm/index.html
index 971d117..e7b8453 100644
--- a/attachments/npm/index.html
+++ b/attachments/npm/index.html
@@ -24,6 +24,7 @@
     <meta name="msapplication-TileImage" content="img/mstile-144x144.png">
     <meta name="msapplication-config" content="etc/browserconfig.xml">
     <meta name="theme-color" content="#ffffff">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
   </head>
 
   <body>
diff --git a/attachments/npm/js/app.js b/attachments/npm/js/app.js
index 81a40c8..90a4a7d 100644
--- a/attachments/npm/js/app.js
+++ b/attachments/npm/js/app.js
@@ -4,5 +4,5 @@
 for(var t in s)delete s[t][e]},extractEvents:function(e,t,n,o){for(var a,u=r.plugins,s=0,c=u.length;c>s;s++){var l=u[s];if(l){var p=l.extractEvents(e,t,n,o);p&&(a=i(a,p))}}return a},enqueueEvents:function(e){e&&(c=i(c,e))},processEventQueue:function(){var e=c;c=null,a(e,l),u(!c)},__purge:function(){s={}},__getListenerBank:function(){return s}};t.exports=f},{"./EventPluginRegistry":19,"./EventPluginUtils":20,"./accumulateInto":107,"./forEachAccumulated":122,"./invariant":137}],19:[function(e,t,n){"use strict";function r(){if(u)for(var e in s){var t=s[e],n=u.indexOf(e);if(a(n>-1),!c.plugins[n]){a(t.extractEvents),c.plugins[n]=t;var r=t.eventTypes;for(var i in r)a(o(r[i],t,i))}}}function o(e,t,n){a(!c.eventNameDispatchConfigs.hasOwnProperty(n)),c.eventNameDispatchConfigs[n]=e;var r=e.phasedRegistrationNames;if(r){for(var o in r)if(r.hasOwnProperty(o)){var u=r[o];i(u,t,n)}return!0}return e.registrationName?(i(e.registrationName,t,n),!0):!1}function i(e,t,n){a(!c.registrationNameModules[e]),c.registrationNameModules[e]=t,c.registrationNameDependencies[e]=t.eventTypes[n].dependencies}var a=e("./invariant"),u=null,s={},c={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},injectEventPluginOrder:function(e){a(!u),u=Array.prototype.slice.call(e),r()},injectEventPluginsByName:function(e){var t=!1;for(var n in e)if(e.hasOwnProperty(n)){var o=e[n];s.hasOwnProperty(n)&&s[n]===o||(a(!s[n]),s[n]=o,t=!0)}t&&r()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return c.registrationNameModules[t.registrationName]||null;for(var n in t.phasedRegistrationNames)if(t.phasedRegistrationNames.hasOwnProperty(n)){var r=c.registrationNameModules[t.phasedRegistrationNames[n]];if(r)return r}return null},_resetEventPlugins:function(){u=null;for(var e in s)s.hasOwnProperty(e)&&delete s[e];c.plugins.length=0;var t=c.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var r=c.registrationNameModules;for(var o in r)r.hasOwnProperty(o)&&delete r[o]}};t.exports=c},{"./invariant":137}],20:[function(e,t,n){"use strict";function r(e){return e===v.topMouseUp||e===v.topTouchEnd||e===v.topTouchCancel}function o(e){return e===v.topMouseMove||e===v.topTouchMove}function i(e){return e===v.topMouseDown||e===v.topTouchStart}function a(e,t){var n=e._dispatchListeners,r=e._dispatchIDs;if(Array.isArray(n))for(var o=0;o<n.length&&!e.isPropagationStopped();o++)t(e,n[o],r[o]);else n&&t(e,n,r)}function u(e,t,n){e.currentTarget=m.Mount.getNode(n);var r=t(e,n);return e.currentTarget=null,r}function s(e,t){a(e,t),e._dispatchListeners=null,e._dispatchIDs=null}function c(e){var t=e._dispatchListeners,n=e._dispatchIDs;if(Array.isArray(t)){for(var r=0;r<t.length&&!e.isPropagationStopped();r++)if(t[r](e,n[r]))return n[r]}else if(t&&t(e,n))return n;return null}function l(e){var t=c(e);return e._dispatchIDs=null,e._dispatchListeners=null,t}function p(e){var t=e._dispatchListeners,n=e._dispatchIDs;h(!Array.isArray(t));var r=t?t(e,n):null;return e._dispatchListeners=null,e._dispatchIDs=null,r}function f(e){return!!e._dispatchListeners}var d=e("./EventConstants"),h=e("./invariant"),m={Mount:null,injectMount:function(e){m.Mount=e}},v=d.topLevelTypes,g={isEndish:r,isMoveish:o,isStartish:i,executeDirectDispatch:p,executeDispatch:u,executeDispatchesInOrder:s,executeDispatchesInOrderStopAtTrue:l,hasDispatches:f,injection:m,useTouchEvents:!1};t.exports=g},{"./EventConstants":16,"./invariant":137}],21:[function(e,t,n){"use strict";function r(e,t,n){var r=t.dispatchConfig.phasedRegistrationNames[n];return v(e,r)}function o(e,t,n){var o=t?m.bubbled:m.captured,i=r(e,n,o);i&&(n._dispatchListeners=d(n._dispatchListeners,i),n._dispatchIDs=d(n._dispatchIDs,e))}function i(e){e&&e.dispatchConfig.phasedRegistrationNames&&f.injection.getInstanceHandle().traverseTwoPhase(e.dispatchMarker,o,e)}function a(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 u(e){e&&e.dispatchConfig.registrationName&&a(e.dispatchMarker,null,e)}function s(e){h(e,i)}function c(e,t,n,r){f.injection.getInstanceHandle().traverseEnterLeave(n,r,a,e,t)}function l(e){h(e,u)}var p=e("./EventConstants"),f=e("./EventPluginHub"),d=e("./accumulateInto"),h=e("./forEachAccumulated"),m=p.PropagationPhases,v=f.getListener,g={accumulateTwoPhaseDispatches:s,accumulateDirectDispatches:l,accumulateEnterLeaveDispatches:c};t.exports=g},{"./EventConstants":16,"./EventPluginHub":18,"./accumulateInto":107,"./forEachAccumulated":122}],22:[function(e,t,n){"use strict";var r=!("undefined"==typeof window||!window.document||!window.document.createElement),o={canUseDOM:r,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:r&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:r&&!!window.screen,isInWorker:!r};t.exports=o},{}],23:[function(e,t,n){"use strict";function r(e){this._root=e,this._startText=this.getText(),this._fallbackText=null}var o=e("./PooledClass"),i=e("./Object.assign"),a=e("./getTextContentAccessor");i(r.prototype,{getText:function(){return"value"in this._root?this._root.value:this._root[a()]},getData:function(){if(this._fallbackText)return this._fallbackText;var e,t,n=this._startText,r=n.length,o=this.getText(),i=o.length;for(e=0;r>e&&n[e]===o[e];e++);var a=r-e;for(t=1;a>=t&&n[r-t]===o[i-t];t++);var u=t>1?1-t:void 0;return this._fallbackText=o.slice(e,u),this._fallbackText}}),o.addPoolingTo(r),t.exports=r},{"./Object.assign":28,"./PooledClass":29,"./getTextContentAccessor":132}],24:[function(e,t,n){"use strict";var r,o=e("./DOMProperty"),i=e("./ExecutionEnvironment"),a=o.injection.MUST_USE_ATTRIBUTE,u=o.injection.MUST_USE_PROPERTY,s=o.injection.HAS_BOOLEAN_VALUE,c=o.injection.HAS_SIDE_EFFECTS,l=o.injection.HAS_NUMERIC_VALUE,p=o.injection.HAS_POSITIVE_NUMERIC_VALUE,f=o.injection.HAS_OVERLOADED_BOOLEAN_VALUE;if(i.canUseDOM){var d=document.implementation;r=d&&d.hasFeature&&d.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")}var h={isCustomAttribute:RegExp.prototype.test.bind(/^(data|aria)-[a-z_][a-z\d_.\-]*$/),Properties:{accept:null,acceptCharset:null,accessKey:null,action:null,allowFullScreen:a|s,allowTransparency:a,alt:null,async:s,autoComplete:null,autoPlay:s,cellPadding:null,cellSpacing:null,charSet:a,checked:u|s,classID:a,className:r?a:u,cols:a|p,colSpan:null,content:null,contentEditable:null,contextMenu:a,controls:u|s,coords:null,crossOrigin:null,data:null,dateTime:a,defer:s,dir:null,disabled:a|s,download:f,draggable:null,encType:null,form:a,formAction:a,formEncType:a,formMethod:a,formNoValidate:s,formTarget:a,frameBorder:a,headers:null,height:a,hidden:a|s,high:null,href:null,hrefLang:null,htmlFor:null,httpEquiv:null,icon:null,id:u,label:null,lang:null,list:a,loop:u|s,low:null,manifest:a,marginHeight:null,marginWidth:null,max:null,maxLength:a,media:a,mediaGroup:null,method:null,min:null,multiple:u|s,muted:u|s,name:null,noValidate:s,open:s,optimum:null,pattern:null,placeholder:null,poster:null,preload:null,radioGroup:null,readOnly:u|s,rel:null,required:s,role:a,rows:a|p,rowSpan:null,sandbox:null,scope:null,scoped:s,scrolling:null,seamless:a|s,selected:u|s,shape:null,size:a|p,sizes:a,span:p,spellCheck:null,src:null,srcDoc:u,srcSet:a,start:l,step:null,style:null,tabIndex:null,target:null,title:null,type:null,useMap:null,value:u|c,width:a,wmode:a,autoCapitalize:null,autoCorrect:null,itemProp:a,itemScope:a|s,itemType:a,itemID:a,itemRef:a,property:null,unselectable:a},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{autoCapitalize:"autocapitalize",autoComplete:"autocomplete",autoCorrect:"autocorrect",autoFocus:"autofocus",autoPlay:"autoplay",encType:"encoding",hrefLang:"hreflang",radioGroup:"radiogroup",spellCheck:"spellcheck",srcDoc:"srcdoc",srcSet:"srcset"}};t.exports=h},{"./DOMProperty":11,"./ExecutionEnvironment":22}],25:[function(e,t,n){"use strict";function r(e){c(null==e.props.checkedLink||null==e.props.valueLink)}function o(e){r(e),c(null==e.props.value&&null==e.props.onChange)}function i(e){r(e),c(null==e.props.checked&&null==e.props.onChange)}function a(e){this.props.valueLink.requestChange(e.target.value)}function u(e){this.props.checkedLink.requestChange(e.target.checked)}var s=e("./ReactPropTypes"),c=e("./invariant"),l={button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0},p={Mixin:{propTypes:{value:function(e,t,n){return!e[t]||l[e.type]||e.onChange||e.readOnly||e.disabled?null:new Error("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.")},checked:function(e,t,n){return!e[t]||e.onChange||e.readOnly||e.disabled?null:new Error("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.")},onChange:s.func}},getValue:function(e){return e.props.valueLink?(o(e),e.props.valueLink.value):e.props.value},getChecked:function(e){return e.props.checkedLink?(i(e),e.props.checkedLink.value):e.props.checked},getOnChange:function(e){return e.props.valueLink?(o(e),a):e.props.checkedLink?(i(e),u):e.props.onChange}};t.exports=p},{"./ReactPropTypes":80,"./invariant":137}],26:[function(e,t,n){"use strict";function r(e){e.remove()}var o=e("./ReactBrowserEventEmitter"),i=e("./accumulateInto"),a=e("./forEachAccumulated"),u=e("./invariant"),s={trapBubbledEvent:function(e,t){u(this.isMounted());var n=this.getDOMNode();u(n);var r=o.trapBubbledEvent(e,t,n);this._localEventListeners=i(this._localEventListeners,r)},componentWillUnmount:function(){this._localEventListeners&&a(this._localEventListeners,r)}};t.exports=s},{"./ReactBrowserEventEmitter":32,"./accumulateInto":107,"./forEachAccumulated":122,"./invariant":137}],27:[function(e,t,n){"use strict";var r=e("./EventConstants"),o=e("./emptyFunction"),i=r.topLevelTypes,a={eventTypes:null,extractEvents:function(e,t,n,r){if(e===i.topTouchStart){var a=r.target;a&&!a.onclick&&(a.onclick=o)}}};t.exports=a},{"./EventConstants":16,"./emptyFunction":116}],28:[function(e,t,n){"use strict";function r(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 a=Object(i);for(var u in a)r.call(a,u)&&(n[u]=a[u])}}return n}t.exports=r},{}],29:[function(e,t,n){"use strict";var r=e("./invariant"),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)},a=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)},u=function(e,t,n,r,o){var i=this;if(i.instancePool.length){var a=i.instancePool.pop();return i.call(a,e,t,n,r,o),a}return new i(e,t,n,r,o)},s=function(e){var t=this;r(e instanceof t),e.destructor&&e.destructor(),t.instancePool.length<t.poolSize&&t.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=s,n},f={addPoolingTo:p,oneArgumentPooler:o,twoArgumentPooler:i,threeArgumentPooler:a,fiveArgumentPooler:u};t.exports=f},{"./invariant":137}],30:[function(e,t,n){"use strict";var r=e("./EventPluginUtils"),o=e("./ReactChildren"),i=e("./ReactComponent"),a=e("./ReactClass"),u=e("./ReactContext"),s=e("./ReactCurrentOwner"),c=e("./ReactElement"),l=(e("./ReactElementValidator"),e("./ReactDOM")),p=e("./ReactDOMTextComponent"),f=e("./ReactDefaultInjection"),d=e("./ReactInstanceHandles"),h=e("./ReactMount"),m=e("./ReactPerf"),v=e("./ReactPropTypes"),g=e("./ReactReconciler"),y=e("./ReactServerRendering"),E=e("./Object.assign"),b=e("./findDOMNode"),C=e("./onlyChild");f.inject();var R=c.createElement,w=c.createFactory,M=c.cloneElement,x=m.measure("React","render",h.render),D={Children:{map:o.map,forEach:o.forEach,count:o.count,only:C},Component:i,DOM:l,PropTypes:v,initializeTouchEvents:function(e){r.useTouchEvents=e},createClass:a.createClass,createElement:R,cloneElement:M,createFactory:w,createMixin:function(e){return e},constructAndRenderComponent:h.constructAndRenderComponent,constructAndRenderComponentByID:h.constructAndRenderComponentByID,findDOMNode:b,render:x,renderToString:y.renderToString,renderToStaticMarkup:y.renderToStaticMarkup,unmountComponentAtNode:h.unmountComponentAtNode,isValidElement:c.isValidElement,withContext:u.withContext,__spread:E};"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject&&__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({CurrentOwner:s,InstanceHandles:d,Mount:h,Reconciler:g,TextComponent:p});D.version="0.13.3",t.exports=D},{"./EventPluginUtils":20,"./ExecutionEnvironment":22,"./Object.assign":28,"./ReactChildren":34,"./ReactClass":35,"./ReactComponent":36,"./ReactContext":40,"./ReactCurrentOwner":41,"./ReactDOM":42,"./ReactDOMTextComponent":53,"./ReactDefaultInjection":56,"./ReactElement":59,"./ReactElementValidator":60,"./ReactInstanceHandles":68,"./ReactMount":72,"./ReactPerf":77,"./ReactPropTypes":80,"./ReactReconciler":83,"./ReactServerRendering":86,"./findDOMNode":119,"./onlyChild":146}],31:[function(e,t,n){"use strict";var r=e("./findDOMNode"),o={getDOMNode:function(){return r(this)}};t.exports=o},{"./findDOMNode":119}],32:[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=e("./EventConstants"),i=e("./EventPluginHub"),a=e("./EventPluginRegistry"),u=e("./ReactEventEmitterMixin"),s=e("./ViewportMetrics"),c=e("./Object.assign"),l=e("./isEventSupported"),p={},f=!1,d=0,h={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({},u,{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),u=a.registrationNameDependencies[e],s=o.topLevelTypes,c=0,p=u.length;p>c;c++){var f=u[c];i.hasOwnProperty(f)&&i[f]||(f===s.topWheel?l("wheel")?v.ReactEventListener.trapBubbledEvent(s.topWheel,"wheel",n):l("mousewheel")?v.ReactEventListener.trapBubbledEvent(s.topWheel,"mousewheel",n):v.ReactEventListener.trapBubbledEvent(s.topWheel,"DOMMouseScroll",n):f===s.topScroll?l("scroll",!0)?v.ReactEventListener.trapCapturedEvent(s.topScroll,"scroll",n):v.ReactEventListener.trapBubbledEvent(s.topScroll,"scroll",v.ReactEventListener.WINDOW_HANDLE):f===s.topFocus||f===s.topBlur?(l("focus",!0)?(v.ReactEventListener.trapCapturedEvent(s.topFocus,"focus",n),v.ReactEventListener.trapCapturedEvent(s.topBlur,"blur",n)):l("focusin")&&(v.ReactEventListener.trapBubbledEvent(s.topFocus,"focusin",n),v.ReactEventListener.trapBubbledEvent(s.topBlur,"focusout",n)),i[s.topBlur]=!0,i[s.topFocus]=!0):h.hasOwnProperty(f)&&v.ReactEventListener.trapBubbledEvent(f,h[f],n),i[f]=!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(!f){var e=s.refreshScrollValues;v.ReactEventListener.monitorScrollValue(e),f=!0}},eventNameDispatchConfigs:i.eventNameDispatchConfigs,registrationNameModules:i.registrationNameModules,putListener:i.putListener,getListener:i.getListener,deleteListener:i.deleteListener,deleteAllListeners:i.deleteAllListeners});t.exports=v},{"./EventConstants":16,"./EventPluginHub":18,"./EventPluginRegistry":19,"./Object.assign":28,"./ReactEventEmitterMixin":63,"./ViewportMetrics":106,"./isEventSupported":138}],33:[function(e,t,n){"use strict";var r=e("./ReactReconciler"),o=e("./flattenChildren"),i=e("./instantiateReactComponent"),a=e("./shouldUpdateReactComponent"),u={instantiateChildren:function(e,t,n){var r=o(e);for(var a in r)if(r.hasOwnProperty(a)){var u=r[a],s=i(u,null);r[a]=s}return r},updateChildren:function(e,t,n,u){var s=o(t);if(!s&&!e)return null;var c;for(c in s)if(s.hasOwnProperty(c)){var l=e&&e[c],p=l&&l._currentElement,f=s[c];if(a(p,f))r.receiveComponent(l,f,n,u),s[c]=l;else{l&&r.unmountComponent(l,c);var d=i(f,null);s[c]=d}}for(c in e)!e.hasOwnProperty(c)||s&&s.hasOwnProperty(c)||r.unmountComponent(e[c]);return s},unmountChildren:function(e){for(var t in e){var n=e[t];r.unmountComponent(n)}}};t.exports=u},{"./ReactReconciler":83,"./flattenChildren":120,"./instantiateReactComponent":136,"./shouldUpdateReactComponent":153}],34:[function(e,t,n){"use strict";function r(e,t){this.forEachFunction=e,this.forEachContext=t}function o(e,t,n,r){var o=e;o.forEachFunction.call(o.forEachContext,t,r)}function i(e,t,n){if(null==e)return e;var i=r.getPooled(t,n);d(e,o,i),r.release(i)}function a(e,t,n){this.mapResult=e,this.mapFunction=t,this.mapContext=n}function u(e,t,n,r){var o=e,i=o.mapResult,a=!i.hasOwnProperty(n);if(a){var u=o.mapFunction.call(o.mapContext,t,r);i[n]=u}}function s(e,t,n){if(null==e)return e;var r={},o=a.getPooled(r,t,n);return d(e,u,o),a.release(o),f.create(r)}function c(e,t,n,r){return null}function l(e,t){return d(e,c,null)}var p=e("./PooledClass"),f=e("./ReactFragment"),d=e("./traverseAllChildren"),h=(e("./warning"),p.twoArgumentPooler),m=p.threeArgumentPooler;p.addPoolingTo(r,h),p.addPoolingTo(a,m);var v={forEach:i,map:s,count:l};t.exports=v},{"./PooledClass":29,"./ReactFragment":65,"./traverseAllChildren":155,"./warning":156}],35:[function(e,t,n){"use strict";function r(e,t){var n=M.hasOwnProperty(t)?M[t]:null;D.hasOwnProperty(t)&&y(n===R.OVERRIDE_BASE),e.hasOwnProperty(t)&&y(n===R.DEFINE_MANY||n===R.DEFINE_MANY_MERGED)}function o(e,t){if(t){y("function"!=typeof t),y(!f.isValidElement(t));var n=e.prototype;t.hasOwnProperty(C)&&x.mixins(e,t.mixins);for(var o in t)if(t.hasOwnProperty(o)&&o!==C){var i=t[o];if(r(n,o),x.hasOwnProperty(o))x[o](e,i);else{var a=M.hasOwnProperty(o),c=n.hasOwnProperty(o),l=i&&i.__reactDontBind,p="function"==typeof i,d=p&&!a&&!c&&!l;if(d)n.__reactAutoBindMap||(n.__reactAutoBindMap={}),n.__reactAutoBindMap[o]=i,n[o]=i;else if(c){var h=M[o];y(a&&(h===R.DEFINE_MANY_MERGED||h===R.DEFINE_MANY)),h===R.DEFINE_MANY_MERGED?n[o]=u(n[o],i):h===R.DEFINE_MANY&&(n[o]=s(n[o],i))}else n[o]=i}}}}function i(e,t){if(t)for(var n in t){var r=t[n];if(t.hasOwnProperty(n)){var o=n in x;y(!o);var i=n in e;y(!i),e[n]=r}}}function a(e,t){y(e&&t&&"object"==typeof e&&"object"==typeof t);for(var n in t)t.hasOwnProperty(n)&&(y(void 0===e[n]),e[n]=t[n]);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 s(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function c(e,t){var n=t.bind(e);return n}function l(e){for(var t in e.__reactAutoBindMap)if(e.__reactAutoBindMap.hasOwnProperty(t)){var n=e.__reactAutoBindMap[t];e[t]=c(e,d.guard(n,e.constructor.displayName+"."+t))}}var p=e("./ReactComponent"),f=(e("./ReactCurrentOwner"),e("./ReactElement")),d=e("./ReactErrorUtils"),h=e("./ReactInstanceMap"),m=e("./ReactLifeCycle"),v=(e("./ReactPropTypeLocations"),e("./ReactPropTypeLocationNames"),e("./ReactUpdateQueue")),g=e("./Object.assign"),y=e("./invariant"),E=e("./keyMirror"),b=e("./keyOf"),C=(e("./warning"),b({mixins:null})),R=E({DEFINE_ONCE:null,DEFINE_MANY:null,OVERRIDE_BASE:null,DEFINE_MANY_MERGED:null}),w=[],M={mixins:R.DEFINE_MANY,statics:R.DEFINE_MANY,propTypes:R.DEFINE_MANY,contextTypes:R.DEFINE_MANY,childContextTypes:R.DEFINE_MANY,getDefaultProps:R.DEFINE_MANY_MERGED,getInitialState:R.DEFINE_MANY_MERGED,getChildContext:R.DEFINE_MANY_MERGED,render:R.DEFINE_ONCE,componentWillMount:R.DEFINE_MANY,componentDidMount:R.DEFINE_MANY,componentWillReceiveProps:R.DEFINE_MANY,shouldComponentUpdate:R.DEFINE_ONCE,componentWillUpdate:R.DEFINE_MANY,componentDidUpdate:R.DEFINE_MANY,componentWillUnmount:R.DEFINE_MANY,updateComponent:R.OVERRIDE_BASE},x={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n<t.length;n++)o(e,t[n])},childContextTypes:function(e,t){e.childContextTypes=g({},e.childContextTypes,t)},contextTypes:function(e,t){e.contextTypes=g({},e.contextTypes,t)},getDefaultProps:function(e,t){e.getDefaultProps=e.getDefaultProps?u(e.getDefaultProps,t):t},propTypes:function(e,t){e.propTypes=g({},e.propTypes,t)},statics:function(e,t){i(e,t)}},D={replaceState:function(e,t){v.enqueueReplaceState(this,e),t&&v.enqueueCallback(this,t)},isMounted:function(){var e=h.get(this);return e&&e!==m.currentlyMountingInstance},setProps:function(e,t){v.enqueueSetProps(this,e),t&&v.enqueueCallback(this,t)},replaceProps:function(e,t){v.enqueueReplaceProps(this,e),t&&v.enqueueCallback(this,t)}},O=function(){};g(O.prototype,p.prototype,D);var _={createClass:function(e){var t=function(e,t){this.__reactAutoBindMap&&l(this),this.props=e,this.context=t,this.state=null;var n=this.getInitialState?this.getInitialState():null;y("object"==typeof n&&!Array.isArray(n)),this.state=n};t.prototype=new O,t.prototype.constructor=t,w.forEach(o.bind(null,t)),o(t,e),t.getDefaultProps&&(t.defaultProps=t.getDefaultProps()),y(t.prototype.render);for(var n in M)t.prototype[n]||(t.prototype[n]=null);return t.type=t,t},injection:{injectMixin:function(e){w.push(e)}}};t.exports=_},{"./Object.assign":28,"./ReactComponent":36,"./ReactCurrentOwner":41,"./ReactElement":59,"./ReactErrorUtils":62,"./ReactInstanceMap":69,"./ReactLifeCycle":70,"./ReactPropTypeLocationNames":78,"./ReactPropTypeLocations":79,"./ReactUpdateQueue":88,"./invariant":137,"./keyMirror":142,"./keyOf":143,"./warning":156}],36:[function(e,t,n){"use strict";function r(e,t){this.props=e,this.context=t}{var o=e("./ReactUpdateQueue"),i=e("./invariant");e("./warning")}r.prototype.setState=function(e,t){i("object"==typeof e||"function"==typeof e||null==e),o.enqueueSetState(this,e),t&&o.enqueueCallback(this,t)},r.prototype.forceUpdate=function(e){o.enqueueForceUpdate(this),e&&o.enqueueCallback(this,e)};t.exports=r},{"./ReactUpdateQueue":88,"./invariant":137,"./warning":156}],37:[function(e,t,n){"use strict";var r=e("./ReactDOMIDOperations"),o=e("./ReactMount"),i={processChildrenUpdates:r.dangerouslyProcessChildrenUpdates,replaceNodeWithMarkupByID:r.dangerouslyReplaceNodeWithMarkupByID,unmountIDFromEnvironment:function(e){o.purgeID(e)}};t.exports=i},{"./ReactDOMIDOperations":46,"./ReactMount":72}],38:[function(e,t,n){"use strict";var r=e("./invariant"),o=!1,i={unmountIDFromEnvironment:null,replaceNodeWithMarkupByID:null,processChildrenUpdates:null,injection:{injectEnvironment:function(e){r(!o),i.unmountIDFromEnvironment=e.unmountIDFromEnvironment,i.replaceNodeWithMarkupByID=e.replaceNodeWithMarkupByID,i.processChildrenUpdates=e.processChildrenUpdates,o=!0}}};t.exports=i},{"./invariant":137}],39:[function(e,t,n){"use strict";function r(e){var t=e._currentElement._owner||null;if(t){var n=t.getName();if(n)return" Check the render method of `"+n+"`."}return""}var o=e("./ReactComponentEnvironment"),i=e("./ReactContext"),a=e("./ReactCurrentOwner"),u=e("./ReactElement"),s=(e("./ReactElementValidator"),e("./ReactInstanceMap")),c=e("./ReactLifeCycle"),l=e("./ReactNativeComponent"),p=e("./ReactPerf"),f=e("./ReactPropTypeLocations"),d=(e("./ReactPropTypeLocationNames"),e("./ReactReconciler")),h=e("./ReactUpdates"),m=e("./Object.assign"),v=e("./emptyObject"),g=e("./invariant"),y=e("./shouldUpdateReactComponent"),E=(e("./warning"),1),b={construct:function(e){this._currentElement=e,this._rootNodeID=null,this._instance=null,this._pendingElement=null,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._renderedComponent=null,this._context=null,this._mountOrder=0,this._isTopLevel=!1,this._pendingCallbacks=null},mountComponent:function(e,t,n){this._context=n,this._mountOrder=E++,this._rootNodeID=e;var r=this._processProps(this._currentElement.props),o=this._processContext(this._currentElement._context),i=l.getComponentClassForElement(this._currentElement),a=new i(r,o);a.props=r,a.context=o,a.refs=v,this._instance=a,s.set(a,this);var u=a.state;void 0===u&&(a.state=u=null),g("object"==typeof u&&!Array.isArray(u)),this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1;var p,f,h=c.currentlyMountingInstance;c.currentlyMountingInstance=this;try{a.componentWillMount&&(a.componentWillMount(),this._pendingStateQueue&&(a.state=this._processPendingState(a.props,a.context))),p=this._getValidatedChildContext(n),f=this._renderValidatedComponent(p)}finally{c.currentlyMountingInstance=h}this._renderedComponent=this._instantiateReactComponent(f,this._currentElement.type);var m=d.mountComponent(this._renderedComponent,e,t,this._mergeChildContext(n,p));return a.componentDidMount&&t.getReactMountReady().enqueue(a.componentDidMount,a),m},unmountComponent:function(){var e=this._instance;if(e.componentWillUnmount){var t=c.currentlyUnmountingInstance;c.currentlyUnmountingInstance=this;try{e.componentWillUnmount()}finally{c.currentlyUnmountingInstance=t}}d.unmountComponent(this._renderedComponent),this._renderedComponent=null,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._pendingCallbacks=null,this._pendingElement=null,this._context=null,this._rootNodeID=null,s.remove(e)},_setPropsInternal:function(e,t){var n=this._pendingElement||this._currentElement;this._pendingElement=u.cloneAndReplaceProps(n,m({},n.props,e)),h.enqueueUpdate(this,t)},_maskContext:function(e){var t=null;if("string"==typeof this._currentElement.type)return v;var n=this._currentElement.type.contextTypes;if(!n)return v;t={};for(var r in n)t[r]=e[r];return t},_processContext:function(e){var t=this._maskContext(e);return t},_getValidatedChildContext:function(e){var t=this._instance,n=t.getChildContext&&t.getChildContext();if(n){g("object"==typeof t.constructor.childContextTypes);for(var r in n)g(r in t.constructor.childContextTypes);return n}return null},_mergeChildContext:function(e,t){return t?m({},e,t):e},_processProps:function(e){return e},_checkPropTypes:function(e,t,n){var o=this.getName();for(var i in e)if(e.hasOwnProperty(i)){var a;try{g("function"==typeof e[i]),a=e[i](t,i,o,n)}catch(u){a=u}if(a instanceof Error){{r(this)}n===f.prop}}},receiveComponent:function(e,t,n){var r=this._currentElement,o=this._context;this._pendingElement=null,this.updateComponent(t,r,e,o,n)},performUpdateIfNecessary:function(e){null!=this._pendingElement&&d.receiveComponent(this,this._pendingElement||this._currentElement,e,this._context),(null!==this._pendingStateQueue||this._pendingForceUpdate)&&this.updateComponent(e,this._currentElement,this._currentElement,this._context,this._context)},_warnIfContextsDiffer:function(e,t){e=this._maskContext(e),t=this._maskContext(t);for(var n=Object.keys(t).sort(),r=(this.getName()||"ReactCompositeComponent",0);r<n.length;r++){n[r]}},updateComponent:function(e,t,n,r,o){var i=this._instance,a=i.context,u=i.props;t!==n&&(a=this._processContext(n._context),u=this._processProps(n.props),i.componentWillReceiveProps&&i.componentWillReceiveProps(u,a));var s=this._processPendingState(u,a),c=this._pendingForceUpdate||!i.shouldComponentUpdate||i.shouldComponentUpdate(u,s,a);c?(this._pendingForceUpdate=!1,this._performComponentUpdate(n,u,s,a,e,o)):(this._currentElement=n,this._context=o,i.props=u,i.state=s,i.context=a)},_processPendingState:function(e,t){var n=this._instance,r=this._pendingStateQueue,o=this._pendingReplaceState;if(this._pendingReplaceState=!1,this._pendingStateQueue=null,!r)return n.state;if(o&&1===r.length)return r[0];for(var i=m({},o?r[0]:n.state),a=o?1:0;a<r.length;a++){var u=r[a];m(i,"function"==typeof u?u.call(n,i,e,t):u)}return i},_performComponentUpdate:function(e,t,n,r,o,i){var a=this._instance,u=a.props,s=a.state,c=a.context;a.componentWillUpdate&&a.componentWillUpdate(t,n,r),this._currentElement=e,this._context=i,a.props=t,a.state=n,a.context=r,this._updateRenderedComponent(o,i),a.componentDidUpdate&&o.getReactMountReady().enqueue(a.componentDidUpdate.bind(a,u,s,c),a)},_updateRenderedComponent:function(e,t){var n=this._renderedComponent,r=n._currentElement,o=this._getValidatedChildContext(),i=this._renderValidatedComponent(o);if(y(r,i))d.receiveComponent(n,i,e,this._mergeChildContext(t,o));else{var a=this._rootNodeID,u=n._rootNodeID;d.unmountComponent(n),this._renderedComponent=this._instantiateReactComponent(i,this._currentElement.type);var s=d.mountComponent(this._renderedComponent,a,e,this._mergeChildContext(t,o));this._replaceNodeWithMarkupByID(u,s)}},_replaceNodeWithMarkupByID:function(e,t){o.replaceNodeWithMarkupByID(e,t)},_renderValidatedComponentWithoutOwnerOrContext:function(){var e=this._instance,t=e.render();return t},_renderValidatedComponent:function(e){var t,n=i.current;i.current=this._mergeChildContext(this._currentElement._context,e),a.current=this;try{t=this._renderValidatedComponentWithoutOwnerOrContext()}finally{i.current=n,a.current=null}return g(null===t||t===!1||u.isValidElement(t)),t},attachRef:function(e,t){var n=this.getPublicInstance(),r=n.refs===v?n.refs={}:n.refs;r[e]=t.getPublicInstance()},detachRef:function(e){var t=this.getPublicInstance().refs;delete t[e]},getName:function(){var e=this._currentElement.type,t=this._instance&&this._instance.constructor;return e.displayName||t&&t.displayName||e.name||t&&t.name||null},getPublicInstance:function(){return this._instance},_instantiateReactComponent:null};p.measureMethods(b,"ReactCompositeComponent",{mountComponent:"mountComponent",updateComponent:"updateComponent",_renderValidatedComponent:"_renderValidatedComponent"});var C={Mixin:b};t.exports=C},{"./Object.assign":28,"./ReactComponentEnvironment":38,"./ReactContext":40,"./ReactCurrentOwner":41,"./ReactElement":59,"./ReactElementValidator":60,"./ReactInstanceMap":69,"./ReactLifeCycle":70,"./ReactNativeComponent":75,"./ReactPerf":77,"./ReactPropTypeLocationNames":78,"./ReactPropTypeLocations":79,"./ReactReconciler":83,"./ReactUpdates":89,"./emptyObject":117,"./invariant":137,"./shouldUpdateReactComponent":153,"./warning":156}],40:[function(e,t,n){"use strict";var r=e("./Object.assign"),o=e("./emptyObject"),i=(e("./warning"),{current:o,withContext:function(e,t){var n,o=i.current;i.current=r({},o,e);try{n=t()}finally{i.current=o}return n}});t.exports=i},{"./Object.assign":28,"./emptyObject":117,"./warning":156}],41:[function(e,t,n){"use strict";var r={current:null};t.exports=r},{}],42:[function(e,t,n){"use strict";function r(e){return o.createFactory(e)}var o=e("./ReactElement"),i=(e("./ReactElementValidator"),e("./mapObject")),a=i({a:"a",abbr:"abbr",address:"address",area:"area",article:"article",aside:"aside",audio:"audio",b:"b",base:"base",bdi:"bdi",bdo:"bdo",
 big:"big",blockquote:"blockquote",body:"body",br:"br",button:"button",canvas:"canvas",caption:"caption",cite:"cite",code:"code",col:"col",colgroup:"colgroup",data:"data",datalist:"datalist",dd:"dd",del:"del",details:"details",dfn:"dfn",dialog:"dialog",div:"div",dl:"dl",dt:"dt",em:"em",embed:"embed",fieldset:"fieldset",figcaption:"figcaption",figure:"figure",footer:"footer",form:"form",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",head:"head",header:"header",hr:"hr",html:"html",i:"i",iframe:"iframe",img:"img",input:"input",ins:"ins",kbd:"kbd",keygen:"keygen",label:"label",legend:"legend",li:"li",link:"link",main:"main",map:"map",mark:"mark",menu:"menu",menuitem:"menuitem",meta:"meta",meter:"meter",nav:"nav",noscript:"noscript",object:"object",ol:"ol",optgroup:"optgroup",option:"option",output:"output",p:"p",param:"param",picture:"picture",pre:"pre",progress:"progress",q:"q",rp:"rp",rt:"rt",ruby:"ruby",s:"s",samp:"samp",script:"script",section:"section",select:"select",small:"small",source:"source",span:"span",strong:"strong",style:"style",sub:"sub",summary:"summary",sup:"sup",table:"table",tbody:"tbody",td:"td",textarea:"textarea",tfoot:"tfoot",th:"th",thead:"thead",time:"time",title:"title",tr:"tr",track:"track",u:"u",ul:"ul","var":"var",video:"video",wbr:"wbr",circle:"circle",clipPath:"clipPath",defs:"defs",ellipse:"ellipse",g:"g",line:"line",linearGradient:"linearGradient",mask:"mask",path:"path",pattern:"pattern",polygon:"polygon",polyline:"polyline",radialGradient:"radialGradient",rect:"rect",stop:"stop",svg:"svg",text:"text",tspan:"tspan"},r);t.exports=a},{"./ReactElement":59,"./ReactElementValidator":60,"./mapObject":144}],43:[function(e,t,n){"use strict";var r=e("./AutoFocusMixin"),o=e("./ReactBrowserComponentMixin"),i=e("./ReactClass"),a=e("./ReactElement"),u=e("./keyMirror"),s=a.createFactory("button"),c=u({onClick:!0,onDoubleClick:!0,onMouseDown:!0,onMouseMove:!0,onMouseUp:!0,onClickCapture:!0,onDoubleClickCapture:!0,onMouseDownCapture:!0,onMouseMoveCapture:!0,onMouseUpCapture:!0}),l=i.createClass({displayName:"ReactDOMButton",tagName:"BUTTON",mixins:[r,o],render:function(){var e={};for(var t in this.props)!this.props.hasOwnProperty(t)||this.props.disabled&&c[t]||(e[t]=this.props[t]);return s(e,this.props.children)}});t.exports=l},{"./AutoFocusMixin":3,"./ReactBrowserComponentMixin":31,"./ReactClass":35,"./ReactElement":59,"./keyMirror":142}],44:[function(e,t,n){"use strict";function r(e){e&&(null!=e.dangerouslySetInnerHTML&&(g(null==e.children),g("object"==typeof e.dangerouslySetInnerHTML&&"__html"in e.dangerouslySetInnerHTML)),g(null==e.style||"object"==typeof e.style))}function o(e,t,n,r){var o=f.findReactContainerForID(e);if(o){var i=o.nodeType===M?o.ownerDocument:o;b(t,i)}r.getPutListenerQueue().enqueuePutListener(e,t,n)}function i(e){I.call(_,e)||(g(O.test(e)),_[e]=!0)}function a(e){i(e),this._tag=e,this._renderedChildren=null,this._previousStyleCopy=null,this._rootNodeID=null}var u=e("./CSSPropertyOperations"),s=e("./DOMProperty"),c=e("./DOMPropertyOperations"),l=e("./ReactBrowserEventEmitter"),p=e("./ReactComponentBrowserEnvironment"),f=e("./ReactMount"),d=e("./ReactMultiChild"),h=e("./ReactPerf"),m=e("./Object.assign"),v=e("./escapeTextContentForBrowser"),g=e("./invariant"),y=(e("./isEventSupported"),e("./keyOf")),E=(e("./warning"),l.deleteListener),b=l.listenTo,C=l.registrationNameModules,R={string:!0,number:!0},w=y({style:null}),M=1,x=null,D={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},O=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,_={},I={}.hasOwnProperty;a.displayName="ReactDOMComponent",a.Mixin={construct:function(e){this._currentElement=e},mountComponent:function(e,t,n){this._rootNodeID=e,r(this._currentElement.props);var o=D[this._tag]?"":"</"+this._tag+">";return this._createOpenTagMarkupAndPutListeners(t)+this._createContentMarkup(t,n)+o},_createOpenTagMarkupAndPutListeners:function(e){var t=this._currentElement.props,n="<"+this._tag;for(var r in t)if(t.hasOwnProperty(r)){var i=t[r];if(null!=i)if(C.hasOwnProperty(r))o(this._rootNodeID,r,i,e);else{r===w&&(i&&(i=this._previousStyleCopy=m({},t.style)),i=u.createMarkupForStyles(i));var a=c.createMarkupForProperty(r,i);a&&(n+=" "+a)}}if(e.renderToStaticMarkup)return n+">";var s=c.createMarkupForID(this._rootNodeID);return n+" "+s+">"},_createContentMarkup:function(e,t){var n="";("listing"===this._tag||"pre"===this._tag||"textarea"===this._tag)&&(n="\n");var r=this._currentElement.props,o=r.dangerouslySetInnerHTML;if(null!=o){if(null!=o.__html)return n+o.__html}else{var i=R[typeof r.children]?r.children:null,a=null!=i?null:r.children;if(null!=i)return n+v(i);if(null!=a){var u=this.mountChildren(a,e,t);return n+u.join("")}}return n},receiveComponent:function(e,t,n){var r=this._currentElement;this._currentElement=e,this.updateComponent(t,r,e,n)},updateComponent:function(e,t,n,o){r(this._currentElement.props),this._updateDOMProperties(t.props,e),this._updateDOMChildren(t.props,e,o)},_updateDOMProperties:function(e,t){var n,r,i,a=this._currentElement.props;for(n in e)if(!a.hasOwnProperty(n)&&e.hasOwnProperty(n))if(n===w){var u=this._previousStyleCopy;for(r in u)u.hasOwnProperty(r)&&(i=i||{},i[r]="");this._previousStyleCopy=null}else C.hasOwnProperty(n)?E(this._rootNodeID,n):(s.isStandardName[n]||s.isCustomAttribute(n))&&x.deletePropertyByID(this._rootNodeID,n);for(n in a){var c=a[n],l=n===w?this._previousStyleCopy:e[n];if(a.hasOwnProperty(n)&&c!==l)if(n===w)if(c?c=this._previousStyleCopy=m({},c):this._previousStyleCopy=null,l){for(r in l)!l.hasOwnProperty(r)||c&&c.hasOwnProperty(r)||(i=i||{},i[r]="");for(r in c)c.hasOwnProperty(r)&&l[r]!==c[r]&&(i=i||{},i[r]=c[r])}else i=c;else C.hasOwnProperty(n)?o(this._rootNodeID,n,c,t):(s.isStandardName[n]||s.isCustomAttribute(n))&&x.updatePropertyByID(this._rootNodeID,n,c)}i&&x.updateStylesByID(this._rootNodeID,i)},_updateDOMChildren:function(e,t,n){var r=this._currentElement.props,o=R[typeof e.children]?e.children:null,i=R[typeof r.children]?r.children:null,a=e.dangerouslySetInnerHTML&&e.dangerouslySetInnerHTML.__html,u=r.dangerouslySetInnerHTML&&r.dangerouslySetInnerHTML.__html,s=null!=o?null:e.children,c=null!=i?null:r.children,l=null!=o||null!=a,p=null!=i||null!=u;null!=s&&null==c?this.updateChildren(null,t,n):l&&!p&&this.updateTextContent(""),null!=i?o!==i&&this.updateTextContent(""+i):null!=u?a!==u&&x.updateInnerHTMLByID(this._rootNodeID,u):null!=c&&this.updateChildren(c,t,n)},unmountComponent:function(){this.unmountChildren(),l.deleteAllListeners(this._rootNodeID),p.unmountIDFromEnvironment(this._rootNodeID),this._rootNodeID=null}},h.measureMethods(a,"ReactDOMComponent",{mountComponent:"mountComponent",updateComponent:"updateComponent"}),m(a.prototype,a.Mixin,d.Mixin),a.injection={injectIDOperations:function(e){a.BackendIDOperations=x=e}},t.exports=a},{"./CSSPropertyOperations":6,"./DOMProperty":11,"./DOMPropertyOperations":12,"./Object.assign":28,"./ReactBrowserEventEmitter":32,"./ReactComponentBrowserEnvironment":37,"./ReactMount":72,"./ReactMultiChild":73,"./ReactPerf":77,"./escapeTextContentForBrowser":118,"./invariant":137,"./isEventSupported":138,"./keyOf":143,"./warning":156}],45:[function(e,t,n){"use strict";var r=e("./EventConstants"),o=e("./LocalEventTrapMixin"),i=e("./ReactBrowserComponentMixin"),a=e("./ReactClass"),u=e("./ReactElement"),s=u.createFactory("form"),c=a.createClass({displayName:"ReactDOMForm",tagName:"FORM",mixins:[i,o],render:function(){return s(this.props)},componentDidMount:function(){this.trapBubbledEvent(r.topLevelTypes.topReset,"reset"),this.trapBubbledEvent(r.topLevelTypes.topSubmit,"submit")}});t.exports=c},{"./EventConstants":16,"./LocalEventTrapMixin":26,"./ReactBrowserComponentMixin":31,"./ReactClass":35,"./ReactElement":59}],46:[function(e,t,n){"use strict";var r=e("./CSSPropertyOperations"),o=e("./DOMChildrenOperations"),i=e("./DOMPropertyOperations"),a=e("./ReactMount"),u=e("./ReactPerf"),s=e("./invariant"),c=e("./setInnerHTML"),l={dangerouslySetInnerHTML:"`dangerouslySetInnerHTML` must be set using `updateInnerHTMLByID()`.",style:"`style` must be set using `updateStylesByID()`."},p={updatePropertyByID:function(e,t,n){var r=a.getNode(e);s(!l.hasOwnProperty(t)),null!=n?i.setValueForProperty(r,t,n):i.deleteValueForProperty(r,t)},deletePropertyByID:function(e,t,n){var r=a.getNode(e);s(!l.hasOwnProperty(t)),i.deleteValueForProperty(r,t,n)},updateStylesByID:function(e,t){var n=a.getNode(e);r.setValueForStyles(n,t)},updateInnerHTMLByID:function(e,t){var n=a.getNode(e);c(n,t)},updateTextContentByID:function(e,t){var n=a.getNode(e);o.updateTextContent(n,t)},dangerouslyReplaceNodeWithMarkupByID:function(e,t){var n=a.getNode(e);o.dangerouslyReplaceNodeWithMarkup(n,t)},dangerouslyProcessChildrenUpdates:function(e,t){for(var n=0;n<e.length;n++)e[n].parentNode=a.getNode(e[n].parentID);o.processUpdates(e,t)}};u.measureMethods(p,"ReactDOMIDOperations",{updatePropertyByID:"updatePropertyByID",deletePropertyByID:"deletePropertyByID",updateStylesByID:"updateStylesByID",updateInnerHTMLByID:"updateInnerHTMLByID",updateTextContentByID:"updateTextContentByID",dangerouslyReplaceNodeWithMarkupByID:"dangerouslyReplaceNodeWithMarkupByID",dangerouslyProcessChildrenUpdates:"dangerouslyProcessChildrenUpdates"}),t.exports=p},{"./CSSPropertyOperations":6,"./DOMChildrenOperations":10,"./DOMPropertyOperations":12,"./ReactMount":72,"./ReactPerf":77,"./invariant":137,"./setInnerHTML":150}],47:[function(e,t,n){"use strict";var r=e("./EventConstants"),o=e("./LocalEventTrapMixin"),i=e("./ReactBrowserComponentMixin"),a=e("./ReactClass"),u=e("./ReactElement"),s=u.createFactory("iframe"),c=a.createClass({displayName:"ReactDOMIframe",tagName:"IFRAME",mixins:[i,o],render:function(){return s(this.props)},componentDidMount:function(){this.trapBubbledEvent(r.topLevelTypes.topLoad,"load")}});t.exports=c},{"./EventConstants":16,"./LocalEventTrapMixin":26,"./ReactBrowserComponentMixin":31,"./ReactClass":35,"./ReactElement":59}],48:[function(e,t,n){"use strict";var r=e("./EventConstants"),o=e("./LocalEventTrapMixin"),i=e("./ReactBrowserComponentMixin"),a=e("./ReactClass"),u=e("./ReactElement"),s=u.createFactory("img"),c=a.createClass({displayName:"ReactDOMImg",tagName:"IMG",mixins:[i,o],render:function(){return s(this.props)},componentDidMount:function(){this.trapBubbledEvent(r.topLevelTypes.topLoad,"load"),this.trapBubbledEvent(r.topLevelTypes.topError,"error")}});t.exports=c},{"./EventConstants":16,"./LocalEventTrapMixin":26,"./ReactBrowserComponentMixin":31,"./ReactClass":35,"./ReactElement":59}],49:[function(e,t,n){"use strict";function r(){this.isMounted()&&this.forceUpdate()}var o=e("./AutoFocusMixin"),i=e("./DOMPropertyOperations"),a=e("./LinkedValueUtils"),u=e("./ReactBrowserComponentMixin"),s=e("./ReactClass"),c=e("./ReactElement"),l=e("./ReactMount"),p=e("./ReactUpdates"),f=e("./Object.assign"),d=e("./invariant"),h=c.createFactory("input"),m={},v=s.createClass({displayName:"ReactDOMInput",tagName:"INPUT",mixins:[o,a.Mixin,u],getInitialState:function(){var e=this.props.defaultValue;return{initialChecked:this.props.defaultChecked||!1,initialValue:null!=e?e:null}},render:function(){var e=f({},this.props);e.defaultChecked=null,e.defaultValue=null;var t=a.getValue(this);e.value=null!=t?t:this.state.initialValue;var n=a.getChecked(this);return e.checked=null!=n?n:this.state.initialChecked,e.onChange=this._handleChange,h(e,this.props.children)},componentDidMount:function(){var e=l.getID(this.getDOMNode());m[e]=this},componentWillUnmount:function(){var e=this.getDOMNode(),t=l.getID(e);delete m[t]},componentDidUpdate:function(e,t,n){var r=this.getDOMNode();null!=this.props.checked&&i.setValueForProperty(r,"checked",this.props.checked||!1);var o=a.getValue(this);null!=o&&i.setValueForProperty(r,"value",""+o)},_handleChange:function(e){var t,n=a.getOnChange(this);n&&(t=n.call(this,e)),p.asap(r,this);var o=this.props.name;if("radio"===this.props.type&&null!=o){for(var i=this.getDOMNode(),u=i;u.parentNode;)u=u.parentNode;for(var s=u.querySelectorAll("input[name="+JSON.stringify(""+o)+'][type="radio"]'),c=0,f=s.length;f>c;c++){var h=s[c];if(h!==i&&h.form===i.form){var v=l.getID(h);d(v);var g=m[v];d(g),p.asap(r,g)}}}return t}});t.exports=v},{"./AutoFocusMixin":3,"./DOMPropertyOperations":12,"./LinkedValueUtils":25,"./Object.assign":28,"./ReactBrowserComponentMixin":31,"./ReactClass":35,"./ReactElement":59,"./ReactMount":72,"./ReactUpdates":89,"./invariant":137}],50:[function(e,t,n){"use strict";var r=e("./ReactBrowserComponentMixin"),o=e("./ReactClass"),i=e("./ReactElement"),a=(e("./warning"),i.createFactory("option")),u=o.createClass({displayName:"ReactDOMOption",tagName:"OPTION",mixins:[r],componentWillMount:function(){},render:function(){return a(this.props,this.props.children)}});t.exports=u},{"./ReactBrowserComponentMixin":31,"./ReactClass":35,"./ReactElement":59,"./warning":156}],51:[function(e,t,n){"use strict";function r(){if(this._pendingUpdate){this._pendingUpdate=!1;var e=u.getValue(this);null!=e&&this.isMounted()&&i(this,e)}}function o(e,t,n){if(null==e[t])return null;if(e.multiple){if(!Array.isArray(e[t]))return new Error("The `"+t+"` prop supplied to <select> must be an array if `multiple` is true.")}else if(Array.isArray(e[t]))return new Error("The `"+t+"` prop supplied to <select> must be a scalar value if `multiple` is false.")}function i(e,t){var n,r,o,i=e.getDOMNode().options;if(e.props.multiple){for(n={},r=0,o=t.length;o>r;r++)n[""+t[r]]=!0;for(r=0,o=i.length;o>r;r++){var a=n.hasOwnProperty(i[r].value);i[r].selected!==a&&(i[r].selected=a)}}else{for(n=""+t,r=0,o=i.length;o>r;r++)if(i[r].value===n)return void(i[r].selected=!0);i.length&&(i[0].selected=!0)}}var a=e("./AutoFocusMixin"),u=e("./LinkedValueUtils"),s=e("./ReactBrowserComponentMixin"),c=e("./ReactClass"),l=e("./ReactElement"),p=e("./ReactUpdates"),f=e("./Object.assign"),d=l.createFactory("select"),h=c.createClass({displayName:"ReactDOMSelect",tagName:"SELECT",mixins:[a,u.Mixin,s],propTypes:{defaultValue:o,value:o},render:function(){var e=f({},this.props);return e.onChange=this._handleChange,e.value=null,d(e,this.props.children)},componentWillMount:function(){this._pendingUpdate=!1},componentDidMount:function(){var e=u.getValue(this);null!=e?i(this,e):null!=this.props.defaultValue&&i(this,this.props.defaultValue)},componentDidUpdate:function(e){var t=u.getValue(this);null!=t?(this._pendingUpdate=!1,i(this,t)):!e.multiple!=!this.props.multiple&&(null!=this.props.defaultValue?i(this,this.props.defaultValue):i(this,this.props.multiple?[]:""))},_handleChange:function(e){var t,n=u.getOnChange(this);return n&&(t=n.call(this,e)),this._pendingUpdate=!0,p.asap(r,this),t}});t.exports=h},{"./AutoFocusMixin":3,"./LinkedValueUtils":25,"./Object.assign":28,"./ReactBrowserComponentMixin":31,"./ReactClass":35,"./ReactElement":59,"./ReactUpdates":89}],52:[function(e,t,n){"use strict";function r(e,t,n,r){return e===n&&t===r}function o(e){var t=document.selection,n=t.createRange(),r=n.text.length,o=n.duplicate();o.moveToElementText(e),o.setEndPoint("EndToStart",n);var i=o.text.length,a=i+r;return{start:i,end:a}}function i(e){var t=window.getSelection&&window.getSelection();if(!t||0===t.rangeCount)return null;var n=t.anchorNode,o=t.anchorOffset,i=t.focusNode,a=t.focusOffset,u=t.getRangeAt(0),s=r(t.anchorNode,t.anchorOffset,t.focusNode,t.focusOffset),c=s?0:u.toString().length,l=u.cloneRange();l.selectNodeContents(e),l.setEnd(u.startContainer,u.startOffset);var p=r(l.startContainer,l.startOffset,l.endContainer,l.endOffset),f=p?0:l.toString().length,d=f+c,h=document.createRange();h.setStart(n,o),h.setEnd(i,a);var m=h.collapsed;return{start:m?d:f,end:m?f:d}}function a(e,t){var n,r,o=document.selection.createRange().duplicate();"undefined"==typeof t.end?(n=t.start,r=n):t.start>t.end?(n=t.end,r=t.start):(n=t.start,r=t.end),o.moveToElementText(e),o.moveStart("character",n),o.setEndPoint("EndToStart",o),o.moveEnd("character",r-n),o.select()}function u(e,t){if(window.getSelection){var n=window.getSelection(),r=e[l()].length,o=Math.min(t.start,r),i="undefined"==typeof t.end?o:Math.min(t.end,r);if(!n.extend&&o>i){var a=i;i=o,o=a}var u=c(e,o),s=c(e,i);if(u&&s){var p=document.createRange();p.setStart(u.node,u.offset),n.removeAllRanges(),o>i?(n.addRange(p),n.extend(s.node,s.offset)):(p.setEnd(s.node,s.offset),n.addRange(p))}}}var s=e("./ExecutionEnvironment"),c=e("./getNodeForCharacterOffset"),l=e("./getTextContentAccessor"),p=s.canUseDOM&&"selection"in document&&!("getSelection"in window),f={getOffsets:p?o:i,setOffsets:p?a:u};t.exports=f},{"./ExecutionEnvironment":22,"./getNodeForCharacterOffset":130,"./getTextContentAccessor":132}],53:[function(e,t,n){"use strict";var r=e("./DOMPropertyOperations"),o=e("./ReactComponentBrowserEnvironment"),i=e("./ReactDOMComponent"),a=e("./Object.assign"),u=e("./escapeTextContentForBrowser"),s=function(e){};a(s.prototype,{construct:function(e){this._currentElement=e,this._stringText=""+e,this._rootNodeID=null,this._mountIndex=0},mountComponent:function(e,t,n){this._rootNodeID=e;var o=u(this._stringText);return t.renderToStaticMarkup?o:"<span "+r.createMarkupForID(e)+">"+o+"</span>"},receiveComponent:function(e,t){if(e!==this._currentElement){this._currentElement=e;var n=""+e;n!==this._stringText&&(this._stringText=n,i.BackendIDOperations.updateTextContentByID(this._rootNodeID,n))}},unmountComponent:function(){o.unmountIDFromEnvironment(this._rootNodeID)}}),t.exports=s},{"./DOMPropertyOperations":12,"./Object.assign":28,"./ReactComponentBrowserEnvironment":37,"./ReactDOMComponent":44,"./escapeTextContentForBrowser":118}],54:[function(e,t,n){"use strict";function r(){this.isMounted()&&this.forceUpdate()}var o=e("./AutoFocusMixin"),i=e("./DOMPropertyOperations"),a=e("./LinkedValueUtils"),u=e("./ReactBrowserComponentMixin"),s=e("./ReactClass"),c=e("./ReactElement"),l=e("./ReactUpdates"),p=e("./Object.assign"),f=e("./invariant"),d=(e("./warning"),c.createFactory("textarea")),h=s.createClass({displayName:"ReactDOMTextarea",tagName:"TEXTAREA",mixins:[o,a.Mixin,u],getInitialState:function(){var e=this.props.defaultValue,t=this.props.children;null!=t&&(f(null==e),Array.isArray(t)&&(f(t.length<=1),t=t[0]),e=""+t),null==e&&(e="");var n=a.getValue(this);return{initialValue:""+(null!=n?n:e)}},render:function(){var e=p({},this.props);return f(null==e.dangerouslySetInnerHTML),e.defaultValue=null,e.value=null,e.onChange=this._handleChange,d(e,this.state.initialValue)},componentDidUpdate:function(e,t,n){var r=a.getValue(this);if(null!=r){var o=this.getDOMNode();i.setValueForProperty(o,"value",""+r)}},_handleChange:function(e){var t,n=a.getOnChange(this);return n&&(t=n.call(this,e)),l.asap(r,this),t}});t.exports=h},{"./AutoFocusMixin":3,"./DOMPropertyOperations":12,"./LinkedValueUtils":25,"./Object.assign":28,"./ReactBrowserComponentMixin":31,"./ReactClass":35,"./ReactElement":59,"./ReactUpdates":89,"./invariant":137,"./warning":156}],55:[function(e,t,n){"use strict";function r(){this.reinitializeTransaction()}var o=e("./ReactUpdates"),i=e("./Transaction"),a=e("./Object.assign"),u=e("./emptyFunction"),s={initialize:u,close:function(){f.isBatchingUpdates=!1}},c={initialize:u,close:o.flushBatchedUpdates.bind(o)},l=[c,s];a(r.prototype,i.Mixin,{getTransactionWrappers:function(){return l}});var p=new r,f={isBatchingUpdates:!1,batchedUpdates:function(e,t,n,r,o){var i=f.isBatchingUpdates;f.isBatchingUpdates=!0,i?e(t,n,r,o):p.perform(e,null,t,n,r,o)}};t.exports=f},{"./Object.assign":28,"./ReactUpdates":89,"./Transaction":105,"./emptyFunction":116}],56:[function(e,t,n){"use strict";function r(e){return h.createClass({tagName:e.toUpperCase(),render:function(){return new _(e,null,null,null,null,this.props)}})}function o(){P.EventEmitter.injectReactEventListener(I),P.EventPluginHub.injectEventPluginOrder(s),P.EventPluginHub.injectInstanceHandle(T),P.EventPluginHub.injectMount(S),P.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:L,EnterLeaveEventPlugin:c,ChangeEventPlugin:a,MobileSafariClickEventPlugin:f,SelectEventPlugin:k,BeforeInputEventPlugin:i}),P.NativeComponent.injectGenericComponentClass(g),P.NativeComponent.injectTextComponentClass(O),P.NativeComponent.injectAutoWrapper(r),P.Class.injectMixin(d),P.NativeComponent.injectComponentClasses({button:y,form:E,iframe:R,img:b,input:w,option:M,select:x,textarea:D,html:F("html"),head:F("head"),body:F("body")}),P.DOMProperty.injectDOMPropertyConfig(p),P.DOMProperty.injectDOMPropertyConfig(U),P.EmptyComponent.injectEmptyComponent("noscript"),P.Updates.injectReconcileTransaction(N),P.Updates.injectBatchingStrategy(v),P.RootIndex.injectCreateReactRootIndex(l.canUseDOM?u.createReactRootIndex:A.createReactRootIndex),P.Component.injectEnvironment(m),P.DOMComponent.injectIDOperations(C)}var i=e("./BeforeInputEventPlugin"),a=e("./ChangeEventPlugin"),u=e("./ClientReactRootIndex"),s=e("./DefaultEventPluginOrder"),c=e("./EnterLeaveEventPlugin"),l=e("./ExecutionEnvironment"),p=e("./HTMLDOMPropertyConfig"),f=e("./MobileSafariClickEventPlugin"),d=e("./ReactBrowserComponentMixin"),h=e("./ReactClass"),m=e("./ReactComponentBrowserEnvironment"),v=e("./ReactDefaultBatchingStrategy"),g=e("./ReactDOMComponent"),y=e("./ReactDOMButton"),E=e("./ReactDOMForm"),b=e("./ReactDOMImg"),C=e("./ReactDOMIDOperations"),R=e("./ReactDOMIframe"),w=e("./ReactDOMInput"),M=e("./ReactDOMOption"),x=e("./ReactDOMSelect"),D=e("./ReactDOMTextarea"),O=e("./ReactDOMTextComponent"),_=e("./ReactElement"),I=e("./ReactEventListener"),P=e("./ReactInjection"),T=e("./ReactInstanceHandles"),S=e("./ReactMount"),N=e("./ReactReconcileTransaction"),k=e("./SelectEventPlugin"),A=e("./ServerReactRootIndex"),L=e("./SimpleEventPlugin"),U=e("./SVGDOMPropertyConfig"),F=e("./createFullPageComponent");t.exports={inject:o}},{"./BeforeInputEventPlugin":4,"./ChangeEventPlugin":8,"./ClientReactRootIndex":9,"./DefaultEventPluginOrder":14,"./EnterLeaveEventPlugin":15,"./ExecutionEnvironment":22,"./HTMLDOMPropertyConfig":24,"./MobileSafariClickEventPlugin":27,"./ReactBrowserComponentMixin":31,"./ReactClass":35,"./ReactComponentBrowserEnvironment":37,"./ReactDOMButton":43,"./ReactDOMComponent":44,"./ReactDOMForm":45,"./ReactDOMIDOperations":46,"./ReactDOMIframe":47,"./ReactDOMImg":48,"./ReactDOMInput":49,"./ReactDOMOption":50,"./ReactDOMSelect":51,"./ReactDOMTextComponent":53,"./ReactDOMTextarea":54,"./ReactDefaultBatchingStrategy":55,"./ReactDefaultPerf":57,"./ReactElement":59,"./ReactEventListener":64,"./ReactInjection":66,"./ReactInstanceHandles":68,"./ReactMount":72,"./ReactReconcileTransaction":82,"./SVGDOMPropertyConfig":90,"./SelectEventPlugin":91,"./ServerReactRootIndex":92,"./SimpleEventPlugin":93,"./createFullPageComponent":113}],57:[function(e,t,n){"use strict";function r(e){return Math.floor(100*e)/100}function o(e,t,n){e[t]=(e[t]||0)+n}var i=e("./DOMProperty"),a=e("./ReactDefaultPerfAnalysis"),u=e("./ReactMount"),s=e("./ReactPerf"),c=e("./performanceNow"),l={_allMeasurements:[],_mountStack:[0],_injected:!1,start:function(){l._injected||s.injection.injectMeasure(l.measure),l._allMeasurements.length=0,s.enableMeasure=!0},stop:function(){s.enableMeasure=!1},getLastMeasurements:function(){return l._allMeasurements},printExclusive:function(e){e=e||l._allMeasurements;var t=a.getExclusiveSummary(e);console.table(t.map(function(e){return{"Component class name":e.componentName,"Total inclusive time (ms)":r(e.inclusive),"Exclusive mount time (ms)":r(e.exclusive),"Exclusive render time (ms)":r(e.render),"Mount time per instance (ms)":r(e.exclusive/e.count),"Render time per instance (ms)":r(e.render/e.count),Instances:e.count}}))},printInclusive:function(e){e=e||l._allMeasurements;var t=a.getInclusiveSummary(e);console.table(t.map(function(e){return{"Owner > component":e.componentName,"Inclusive time (ms)":r(e.time),Instances:e.count}})),console.log("Total time:",a.getTotalTime(e).toFixed(2)+" ms")},getMeasurementsSummaryMap:function(e){var t=a.getInclusiveSummary(e,!0);return t.map(function(e){return{"Owner > component":e.componentName,"Wasted time (ms)":e.time,Instances:e.count}})},printWasted:function(e){e=e||l._allMeasurements,console.table(l.getMeasurementsSummaryMap(e)),console.log("Total time:",a.getTotalTime(e).toFixed(2)+" ms")},printDOM:function(e){e=e||l._allMeasurements;var t=a.getDOMSummary(e);console.table(t.map(function(e){var t={};return t[i.ID_ATTRIBUTE_NAME]=e.id,t.type=e.type,t.args=JSON.stringify(e.args),t})),console.log("Total time:",a.getTotalTime(e).toFixed(2)+" ms")},_recordWrite:function(e,t,n,r){var o=l._allMeasurements[l._allMeasurements.length-1].writes;o[e]=o[e]||[],o[e].push({type:t,time:n,args:r})},measure:function(e,t,n){return function(){for(var r=[],i=0,a=arguments.length;a>i;i++)r.push(arguments[i]);var s,p,f;if("_renderNewRootComponent"===t||"flushBatchedUpdates"===t)return l._allMeasurements.push({exclusive:{},inclusive:{},render:{},counts:{},writes:{},displayNames:{},totalTime:0}),f=c(),p=n.apply(this,r),l._allMeasurements[l._allMeasurements.length-1].totalTime=c()-f,p;if("_mountImageIntoNode"===t||"ReactDOMIDOperations"===e){if(f=c(),p=n.apply(this,r),s=c()-f,"_mountImageIntoNode"===t){var d=u.getID(r[1]);l._recordWrite(d,t,s,r[0])}else"dangerouslyProcessChildrenUpdates"===t?r[0].forEach(function(e){var t={};null!==e.fromIndex&&(t.fromIndex=e.fromIndex),null!==e.toIndex&&(t.toIndex=e.toIndex),null!==e.textContent&&(t.textContent=e.textContent),null!==e.markupIndex&&(t.markup=r[1][e.markupIndex]),l._recordWrite(e.parentID,e.type,s,t)}):l._recordWrite(r[0],t,s,Array.prototype.slice.call(r,1));return p}if("ReactCompositeComponent"!==e||"mountComponent"!==t&&"updateComponent"!==t&&"_renderValidatedComponent"!==t)return n.apply(this,r);if("string"==typeof this._currentElement.type)return n.apply(this,r);var h="mountComponent"===t?r[0]:this._rootNodeID,m="_renderValidatedComponent"===t,v="mountComponent"===t,g=l._mountStack,y=l._allMeasurements[l._allMeasurements.length-1];if(m?o(y.counts,h,1):v&&g.push(0),f=c(),p=n.apply(this,r),s=c()-f,m)o(y.render,h,s);else if(v){var E=g.pop();g[g.length-1]+=s,o(y.exclusive,h,s-E),o(y.inclusive,h,s)}else o(y.inclusive,h,s);return y.displayNames[h]={current:this.getName(),owner:this._currentElement._owner?this._currentElement._owner.getName():"<root>"},p}}};t.exports=l},{"./DOMProperty":11,"./ReactDefaultPerfAnalysis":58,"./ReactMount":72,"./ReactPerf":77,"./performanceNow":148}],58:[function(e,t,n){function r(e){for(var t=0,n=0;n<e.length;n++){var r=e[n];t+=r.totalTime}return t}function o(e){for(var t=[],n=0;n<e.length;n++){var r,o=e[n];for(r in o.writes)o.writes[r].forEach(function(e){t.push({id:r,type:l[e.type]||e.type,args:e.args})})}return t}function i(e){for(var t,n={},r=0;r<e.length;r++){var o=e[r],i=s({},o.exclusive,o.inclusive);for(var a in i)t=o.displayNames[a].current,n[t]=n[t]||{componentName:t,inclusive:0,exclusive:0,render:0,count:0},o.render[a]&&(n[t].render+=o.render[a]),o.exclusive[a]&&(n[t].exclusive+=o.exclusive[a]),o.inclusive[a]&&(n[t].inclusive+=o.inclusive[a]),o.counts[a]&&(n[t].count+=o.counts[a])}var u=[];for(t in n)n[t].exclusive>=c&&u.push(n[t]);return u.sort(function(e,t){return t.exclusive-e.exclusive}),u}function a(e,t){for(var n,r={},o=0;o<e.length;o++){var i,a=e[o],l=s({},a.exclusive,a.inclusive);t&&(i=u(a));for(var p in l)if(!t||i[p]){var f=a.displayNames[p];n=f.owner+" > "+f.current,r[n]=r[n]||{componentName:n,time:0,count:0},a.inclusive[p]&&(r[n].time+=a.inclusive[p]),a.counts[p]&&(r[n].count+=a.counts[p])}}var d=[];for(n in r)r[n].time>=c&&d.push(r[n]);return d.sort(function(e,t){return t.time-e.time}),d}function u(e){var t={},n=Object.keys(e.writes),r=s({},e.exclusive,e.inclusive);for(var o in r){for(var i=!1,a=0;a<n.length;a++)if(0===n[a].indexOf(o)){i=!0;break}!i&&e.counts[o]>0&&(t[o]=!0)}return t}var s=e("./Object.assign"),c=1.2,l={_mountImageIntoNode:"set innerHTML",INSERT_MARKUP:"set innerHTML",MOVE_EXISTING:"move",REMOVE_NODE:"remove",TEXT_CONTENT:"set textContent",updatePropertyByID:"update attribute",deletePropertyByID:"delete attribute",updateStylesByID:"update styles",updateInnerHTMLByID:"set innerHTML",dangerouslyReplaceNodeWithMarkupByID:"replace"},p={getExclusiveSummary:i,getInclusiveSummary:a,getDOMSummary:o,getTotalTime:r};t.exports=p},{"./Object.assign":28}],59:[function(e,t,n){"use strict";var r=e("./ReactContext"),o=e("./ReactCurrentOwner"),i=e("./Object.assign"),a=(e("./warning"),{key:!0,ref:!0}),u=function(e,t,n,r,o,i){this.type=e,this.key=t,this.ref=n,this._owner=r,this._context=o,this.props=i};u.prototype={_isReactElement:!0},u.createElement=function(e,t,n){var i,s={},c=null,l=null;if(null!=t){l=void 0===t.ref?null:t.ref,c=void 0===t.key?null:""+t.key;for(i in t)t.hasOwnProperty(i)&&!a.hasOwnProperty(i)&&(s[i]=t[i])}var p=arguments.length-2;if(1===p)s.children=n;else if(p>1){for(var f=Array(p),d=0;p>d;d++)f[d]=arguments[d+2];s.children=f}if(e&&e.defaultProps){var h=e.defaultProps;for(i in h)"undefined"==typeof s[i]&&(s[i]=h[i])}return new u(e,c,l,o.current,r.current,s)},u.createFactory=function(e){var t=u.createElement.bind(null,e);return t.type=e,t},u.cloneAndReplaceProps=function(e,t){var n=new u(e.type,e.key,e.ref,e._owner,e._context,t);return n},u.cloneElement=function(e,t,n){var r,s=i({},e.props),c=e.key,l=e.ref,p=e._owner;if(null!=t){void 0!==t.ref&&(l=t.ref,p=o.current),void 0!==t.key&&(c=""+t.key);for(r in t)t.hasOwnProperty(r)&&!a.hasOwnProperty(r)&&(s[r]=t[r])}var f=arguments.length-2;if(1===f)s.children=n;else if(f>1){for(var d=Array(f),h=0;f>h;h++)d[h]=arguments[h+2];s.children=d}return new u(e.type,c,l,p,e._context,s)},u.isValidElement=function(e){var t=!(!e||!e._isReactElement);return t},t.exports=u},{"./Object.assign":28,"./ReactContext":40,"./ReactCurrentOwner":41,"./warning":156}],60:[function(e,t,n){"use strict";function r(){if(y.current){var e=y.current.getName();if(e)return" Check the render method of `"+e+"`."}return""}function o(e){var t=e&&e.getPublicInstance();if(!t)return void 0;var n=t.constructor;return n?n.displayName||n.name||void 0:void 0}function i(){var e=y.current;return e&&o(e)||void 0}function a(e,t){e._store.validated||null!=e.key||(e._store.validated=!0,s('Each child in an array or iterator should have a unique "key" prop.',e,t))}function u(e,t,n){M.test(e)&&s("Child objects should have non-numeric keys so ordering is preserved.",t,n)}function s(e,t,n){var r=i(),a="string"==typeof n?n:n.displayName||n.name,u=r||a,s=R[e]||(R[e]={});if(!s.hasOwnProperty(u)){s[u]=!0;var c="";if(t&&t._owner&&t._owner!==y.current){var l=o(t._owner);c=" It was passed a child from "+l+"."}}}function c(e,t){if(Array.isArray(e))for(var n=0;n<e.length;n++){var r=e[n];m.isValidElement(r)&&a(r,t)}else if(m.isValidElement(e))e._store.validated=!0;else if(e){var o=b(e);if(o){if(o!==e.entries)for(var i,s=o.call(e);!(i=s.next()).done;)m.isValidElement(i.value)&&a(i.value,t)}else if("object"==typeof e){var c=v.extractIfFragment(e);for(var l in c)c.hasOwnProperty(l)&&u(l,c[l],t)}}}function l(e,t,n,o){for(var i in t)if(t.hasOwnProperty(i)){var a;try{C("function"==typeof t[i]),a=t[i](n,i,e,o)}catch(u){a=u}if(a instanceof Error&&!(a.message in w)){w[a.message]=!0;{r(this)}}}}function p(e,t){var n=t.type,r="string"==typeof n?n:n.displayName,o=t._owner?t._owner.getPublicInstance().constructor.displayName:null,i=e+"|"+r+"|"+o;if(!x.hasOwnProperty(i)){x[i]=!0;var a="";r&&(a=" <"+r+" />");var u="";o&&(u=" The element was created by "+o+".")}}function f(e,t){return e!==e?t!==t:0===e&&0===t?1/e===1/t:e===t}function d(e){if(e._store){var t=e._store.originalProps,n=e.props;for(var r in n)n.hasOwnProperty(r)&&(t.hasOwnProperty(r)&&f(t[r],n[r])||(p(r,e),t[r]=n[r]))}}function h(e){if(null!=e.type){var t=E.getComponentClassForElement(e),n=t.displayName||t.name;t.propTypes&&l(n,t.propTypes,e.props,g.prop),"function"==typeof t.getDefaultProps}}var m=e("./ReactElement"),v=e("./ReactFragment"),g=e("./ReactPropTypeLocations"),y=(e("./ReactPropTypeLocationNames"),e("./ReactCurrentOwner")),E=e("./ReactNativeComponent"),b=e("./getIteratorFn"),C=e("./invariant"),R=(e("./warning"),{}),w={},M=/^\d+$/,x={},D={
 checkAndWarnForMutatedProps:d,createElement:function(e,t,n){var r=m.createElement.apply(this,arguments);if(null==r)return r;for(var o=2;o<arguments.length;o++)c(arguments[o],e);return h(r),r},createFactory:function(e){var t=D.createElement.bind(null,e);return t.type=e,t},cloneElement:function(e,t,n){for(var r=m.cloneElement.apply(this,arguments),o=2;o<arguments.length;o++)c(arguments[o],r.type);return h(r),r}};t.exports=D},{"./ReactCurrentOwner":41,"./ReactElement":59,"./ReactFragment":65,"./ReactNativeComponent":75,"./ReactPropTypeLocationNames":78,"./ReactPropTypeLocations":79,"./getIteratorFn":128,"./invariant":137,"./warning":156}],61:[function(e,t,n){"use strict";function r(e){l[e]=!0}function o(e){delete l[e]}function i(e){return!!l[e]}var a,u=e("./ReactElement"),s=e("./ReactInstanceMap"),c=e("./invariant"),l={},p={injectEmptyComponent:function(e){a=u.createFactory(e)}},f=function(){};f.prototype.componentDidMount=function(){var e=s.get(this);e&&r(e._rootNodeID)},f.prototype.componentWillUnmount=function(){var e=s.get(this);e&&o(e._rootNodeID)},f.prototype.render=function(){return c(a),a()};var d=u.createElement(f),h={emptyElement:d,injection:p,isNullComponentID:i};t.exports=h},{"./ReactElement":59,"./ReactInstanceMap":69,"./invariant":137}],62:[function(e,t,n){"use strict";var r={guard:function(e,t){return e}};t.exports=r},{}],63:[function(e,t,n){"use strict";function r(e){o.enqueueEvents(e),o.processEventQueue()}var o=e("./EventPluginHub"),i={handleTopLevel:function(e,t,n,i){var a=o.extractEvents(e,t,n,i);r(a)}};t.exports=i},{"./EventPluginHub":18}],64:[function(e,t,n){"use strict";function r(e){var t=p.getID(e),n=l.getReactRootIDFromNodeID(t),r=p.findReactContainerForID(n),o=p.getFirstReactDOM(r);return o}function o(e,t){this.topLevelType=e,this.nativeEvent=t,this.ancestors=[]}function i(e){for(var t=p.getFirstReactDOM(h(e.nativeEvent))||window,n=t;n;)e.ancestors.push(n),n=r(n);for(var o=0,i=e.ancestors.length;i>o;o++){t=e.ancestors[o];var a=p.getID(t)||"";v._handleTopLevel(e.topLevelType,t,a,e.nativeEvent)}}function a(e){var t=m(window);e(t)}var u=e("./EventListener"),s=e("./ExecutionEnvironment"),c=e("./PooledClass"),l=e("./ReactInstanceHandles"),p=e("./ReactMount"),f=e("./ReactUpdates"),d=e("./Object.assign"),h=e("./getEventTarget"),m=e("./getUnboundedScrollPosition");d(o.prototype,{destructor:function(){this.topLevelType=null,this.nativeEvent=null,this.ancestors.length=0}}),c.addPoolingTo(o,c.twoArgumentPooler);var v={_enabled:!0,_handleTopLevel:null,WINDOW_HANDLE:s.canUseDOM?window:null,setHandleTopLevel:function(e){v._handleTopLevel=e},setEnabled:function(e){v._enabled=!!e},isEnabled:function(){return v._enabled},trapBubbledEvent:function(e,t,n){var r=n;return r?u.listen(r,t,v.dispatchEvent.bind(null,e)):null},trapCapturedEvent:function(e,t,n){var r=n;return r?u.capture(r,t,v.dispatchEvent.bind(null,e)):null},monitorScrollValue:function(e){var t=a.bind(null,e);u.listen(window,"scroll",t)},dispatchEvent:function(e,t){if(v._enabled){var n=o.getPooled(e,t);try{f.batchedUpdates(i,n)}finally{o.release(n)}}}};t.exports=v},{"./EventListener":17,"./ExecutionEnvironment":22,"./Object.assign":28,"./PooledClass":29,"./ReactInstanceHandles":68,"./ReactMount":72,"./ReactUpdates":89,"./getEventTarget":127,"./getUnboundedScrollPosition":133}],65:[function(e,t,n){"use strict";var r=(e("./ReactElement"),e("./warning"),{create:function(e){return e},extract:function(e){return e},extractIfFragment:function(e){return e}});t.exports=r},{"./ReactElement":59,"./warning":156}],66:[function(e,t,n){"use strict";var r=e("./DOMProperty"),o=e("./EventPluginHub"),i=e("./ReactComponentEnvironment"),a=e("./ReactClass"),u=e("./ReactEmptyComponent"),s=e("./ReactBrowserEventEmitter"),c=e("./ReactNativeComponent"),l=e("./ReactDOMComponent"),p=e("./ReactPerf"),f=e("./ReactRootIndex"),d=e("./ReactUpdates"),h={Component:i.injection,Class:a.injection,DOMComponent:l.injection,DOMProperty:r.injection,EmptyComponent:u.injection,EventPluginHub:o.injection,EventEmitter:s.injection,NativeComponent:c.injection,Perf:p.injection,RootIndex:f.injection,Updates:d.injection};t.exports=h},{"./DOMProperty":11,"./EventPluginHub":18,"./ReactBrowserEventEmitter":32,"./ReactClass":35,"./ReactComponentEnvironment":38,"./ReactDOMComponent":44,"./ReactEmptyComponent":61,"./ReactNativeComponent":75,"./ReactPerf":77,"./ReactRootIndex":85,"./ReactUpdates":89}],67:[function(e,t,n){"use strict";function r(e){return i(document.documentElement,e)}var o=e("./ReactDOMSelection"),i=e("./containsNode"),a=e("./focusNode"),u=e("./getActiveElement"),s={hasSelectionCapabilities:function(e){return e&&("INPUT"===e.nodeName&&"text"===e.type||"TEXTAREA"===e.nodeName||"true"===e.contentEditable)},getSelectionInformation:function(){var e=u();return{focusedElem:e,selectionRange:s.hasSelectionCapabilities(e)?s.getSelection(e):null}},restoreSelection:function(e){var t=u(),n=e.focusedElem,o=e.selectionRange;t!==n&&r(n)&&(s.hasSelectionCapabilities(n)&&s.setSelection(n,o),a(n))},getSelection:function(e){var t;if("selectionStart"in e)t={start:e.selectionStart,end:e.selectionEnd};else if(document.selection&&"INPUT"===e.nodeName){var n=document.selection.createRange();n.parentElement()===e&&(t={start:-n.moveStart("character",-e.value.length),end:-n.moveEnd("character",-e.value.length)})}else t=o.getOffsets(e);return t||{start:0,end:0}},setSelection:function(e,t){var n=t.start,r=t.end;if("undefined"==typeof r&&(r=n),"selectionStart"in e)e.selectionStart=n,e.selectionEnd=Math.min(r,e.value.length);else if(document.selection&&"INPUT"===e.nodeName){var i=e.createTextRange();i.collapse(!0),i.moveStart("character",n),i.moveEnd("character",r-n),i.select()}else o.setOffsets(e,t)}};t.exports=s},{"./ReactDOMSelection":52,"./containsNode":111,"./focusNode":121,"./getActiveElement":123}],68:[function(e,t,n){"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 a(e,t){return 0===t.indexOf(e)&&o(t,e.length)}function u(e){return e?e.substr(0,e.lastIndexOf(d)):""}function s(e,t){if(f(i(e)&&i(t)),f(a(e,t)),e===t)return e;var n,r=e.length+h;for(n=r;n<t.length&&!o(t,n);n++);return t.substr(0,n)}function c(e,t){var n=Math.min(e.length,t.length);if(0===n)return"";for(var r=0,a=0;n>=a;a++)if(o(e,a)&&o(t,a))r=a;else if(e.charAt(a)!==t.charAt(a))break;var u=e.substr(0,r);return f(i(u)),u}function l(e,t,n,r,o,i){e=e||"",t=t||"",f(e!==t);var c=a(t,e);f(c||a(e,t));for(var l=0,p=c?u:s,d=e;;d=p(d,t)){var h;if(o&&d===e||i&&d===t||(h=n(d,c,r)),h===!1||d===t)break;f(l++<m)}}var p=e("./ReactRootIndex"),f=e("./invariant"),d=".",h=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:s,isAncestorIDOf:a,SEPARATOR:d};t.exports=v},{"./ReactRootIndex":85,"./invariant":137}],69:[function(e,t,n){"use strict";var r={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}};t.exports=r},{}],70:[function(e,t,n){"use strict";var r={currentlyMountingInstance:null,currentlyUnmountingInstance:null};t.exports=r},{}],71:[function(e,t,n){"use strict";var r=e("./adler32"),o={CHECKSUM_ATTR_NAME:"data-react-checksum",addChecksumToMarkup:function(e){var t=r(e);return e.replace(">"," "+o.CHECKSUM_ATTR_NAME+'="'+t+'">')},canReuseMarkup:function(e,t){var n=t.getAttribute(o.CHECKSUM_ATTR_NAME);n=n&&parseInt(n,10);var i=r(e);return i===n}};t.exports=o},{"./adler32":108}],72:[function(e,t,n){"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=I(e);return t&&W.getID(t)}function i(e){var t=a(e);if(t)if(L.hasOwnProperty(t)){var n=L[t];n!==e&&(T(!l(n,t)),L[t]=e)}else L[t]=e;return t}function a(e){return e&&e.getAttribute&&e.getAttribute(A)||""}function u(e,t){var n=a(e);n!==t&&delete L[n],e.setAttribute(A,t),L[t]=e}function s(e){return L.hasOwnProperty(e)&&l(L[e],e)||(L[e]=W.findReactNodeByID(e)),L[e]}function c(e){var t=C.get(e)._rootNodeID;return E.isNullComponentID(t)?null:(L.hasOwnProperty(t)&&l(L[t],t)||(L[t]=W.findReactNodeByID(t)),L[t])}function l(e,t){if(e){T(a(e)===t);var n=W.findReactContainerForID(t);if(n&&_(n,e))return!0}return!1}function p(e){delete L[e]}function f(e){var t=L[e];return t&&l(t,e)?void(H=t):!1}function d(e){H=null,b.traverseAncestors(e,f);var t=H;return H=null,t}function h(e,t,n,r,o){var i=M.mountComponent(e,t,r,O);e._isTopLevel=!0,W._mountImageIntoNode(i,n,o)}function m(e,t,n,r){var o=D.ReactReconcileTransaction.getPooled();o.perform(h,null,e,t,n,o,r),D.ReactReconcileTransaction.release(o)}var v=e("./DOMProperty"),g=e("./ReactBrowserEventEmitter"),y=(e("./ReactCurrentOwner"),e("./ReactElement")),E=(e("./ReactElementValidator"),e("./ReactEmptyComponent")),b=e("./ReactInstanceHandles"),C=e("./ReactInstanceMap"),R=e("./ReactMarkupChecksum"),w=e("./ReactPerf"),M=e("./ReactReconciler"),x=e("./ReactUpdateQueue"),D=e("./ReactUpdates"),O=e("./emptyObject"),_=e("./containsNode"),I=e("./getReactRootElementInContainer"),P=e("./instantiateReactComponent"),T=e("./invariant"),S=e("./setInnerHTML"),N=e("./shouldUpdateReactComponent"),k=(e("./warning"),b.SEPARATOR),A=v.ID_ATTRIBUTE_NAME,L={},U=1,F=9,B={},j={},V=[],H=null,W={_instancesByReactRootID:B,scrollMonitor:function(e,t){t()},_updateRootComponent:function(e,t,n,r){return W.scrollMonitor(n,function(){x.enqueueElementInternal(e,t),r&&x.enqueueCallbackInternal(e,r)}),e},_registerComponent:function(e,t){T(t&&(t.nodeType===U||t.nodeType===F)),g.ensureScrollValueMonitoring();var n=W.registerContainer(t);return B[n]=e,n},_renderNewRootComponent:function(e,t,n){var r=P(e,null),o=W._registerComponent(r,t);return D.batchedUpdates(m,r,o,t,n),r},render:function(e,t,n){T(y.isValidElement(e));var r=B[o(t)];if(r){var i=r._currentElement;if(N(i,e))return W._updateRootComponent(r,e,t,n).getPublicInstance();W.unmountComponentAtNode(t)}var a=I(t),u=a&&W.isRenderedByReact(a),s=u&&!r,c=W._renderNewRootComponent(e,t,s).getPublicInstance();return n&&n.call(c),c},constructAndRenderComponent:function(e,t,n){var r=y.createElement(e,t);return W.render(r,n)},constructAndRenderComponentByID:function(e,t,n){var r=document.getElementById(n);return T(r),W.constructAndRenderComponent(e,t,r)},registerContainer:function(e){var t=o(e);return t&&(t=b.getReactRootIDFromNodeID(t)),t||(t=b.createReactRootID()),j[t]=e,t},unmountComponentAtNode:function(e){T(e&&(e.nodeType===U||e.nodeType===F));var t=o(e),n=B[t];return n?(W.unmountComponentFromNode(n,e),delete B[t],delete j[t],!0):!1},unmountComponentFromNode:function(e,t){for(M.unmountComponent(e),t.nodeType===F&&(t=t.documentElement);t.lastChild;)t.removeChild(t.lastChild)},findReactContainerForID:function(e){var t=b.getReactRootIDFromNodeID(e),n=j[t];return n},findReactNodeByID:function(e){var t=W.findReactContainerForID(e);return W.findComponentRoot(t,e)},isRenderedByReact:function(e){if(1!==e.nodeType)return!1;var t=W.getID(e);return t?t.charAt(0)===k:!1},getFirstReactDOM:function(e){for(var t=e;t&&t.parentNode!==t;){if(W.isRenderedByReact(t))return t;t=t.parentNode}return null},findComponentRoot:function(e,t){var n=V,r=0,o=d(t)||e;for(n[0]=o.firstChild,n.length=1;r<n.length;){for(var i,a=n[r++];a;){var u=W.getID(a);u?t===u?i=a:b.isAncestorIDOf(u,t)&&(n.length=r=0,n.push(a.firstChild)):n.push(a.firstChild),a=a.nextSibling}if(i)return n.length=0,i}n.length=0,T(!1)},_mountImageIntoNode:function(e,t,n){if(T(t&&(t.nodeType===U||t.nodeType===F)),n){var o=I(t);if(R.canReuseMarkup(e,o))return;var i=o.getAttribute(R.CHECKSUM_ATTR_NAME);o.removeAttribute(R.CHECKSUM_ATTR_NAME);var a=o.outerHTML;o.setAttribute(R.CHECKSUM_ATTR_NAME,i);{var u=r(e,a);" (client) "+e.substring(u-20,u+20)+"\n (server) "+a.substring(u-20,u+20)}T(t.nodeType!==F)}T(t.nodeType!==F),S(t,e)},getReactRootID:o,getID:i,setID:u,getNode:s,getNodeFromInstance:c,purgeID:p};w.measureMethods(W,"ReactMount",{_renderNewRootComponent:"_renderNewRootComponent",_mountImageIntoNode:"_mountImageIntoNode"}),t.exports=W},{"./DOMProperty":11,"./ReactBrowserEventEmitter":32,"./ReactCurrentOwner":41,"./ReactElement":59,"./ReactElementValidator":60,"./ReactEmptyComponent":61,"./ReactInstanceHandles":68,"./ReactInstanceMap":69,"./ReactMarkupChecksum":71,"./ReactPerf":77,"./ReactReconciler":83,"./ReactUpdateQueue":88,"./ReactUpdates":89,"./containsNode":111,"./emptyObject":117,"./getReactRootElementInContainer":131,"./instantiateReactComponent":136,"./invariant":137,"./setInnerHTML":150,"./shouldUpdateReactComponent":153,"./warning":156}],73:[function(e,t,n){"use strict";function r(e,t,n){h.push({parentID:e,parentNode:null,type:l.INSERT_MARKUP,markupIndex:m.push(t)-1,textContent:null,fromIndex:null,toIndex:n})}function o(e,t,n){h.push({parentID:e,parentNode:null,type:l.MOVE_EXISTING,markupIndex:null,textContent:null,fromIndex:t,toIndex:n})}function i(e,t){h.push({parentID:e,parentNode:null,type:l.REMOVE_NODE,markupIndex:null,textContent:null,fromIndex:t,toIndex:null})}function a(e,t){h.push({parentID:e,parentNode:null,type:l.TEXT_CONTENT,markupIndex:null,textContent:t,fromIndex:null,toIndex:null})}function u(){h.length&&(c.processChildrenUpdates(h,m),s())}function s(){h.length=0,m.length=0}var c=e("./ReactComponentEnvironment"),l=e("./ReactMultiChildUpdateTypes"),p=e("./ReactReconciler"),f=e("./ReactChildReconciler"),d=0,h=[],m=[],v={Mixin:{mountChildren:function(e,t,n){var r=f.instantiateChildren(e,t,n);this._renderedChildren=r;var o=[],i=0;for(var a in r)if(r.hasOwnProperty(a)){var u=r[a],s=this._rootNodeID+a,c=p.mountComponent(u,s,t,n);u._mountIndex=i,o.push(c),i++}return o},updateTextContent:function(e){d++;var t=!0;try{var n=this._renderedChildren;f.unmountChildren(n);for(var r in n)n.hasOwnProperty(r)&&this._unmountChildByName(n[r],r);this.setTextContent(e),t=!1}finally{d--,d||(t?s():u())}},updateChildren:function(e,t,n){d++;var r=!0;try{this._updateChildren(e,t,n),r=!1}finally{d--,d||(r?s():u())}},_updateChildren:function(e,t,n){var r=this._renderedChildren,o=f.updateChildren(r,e,t,n);if(this._renderedChildren=o,o||r){var i,a=0,u=0;for(i in o)if(o.hasOwnProperty(i)){var s=r&&r[i],c=o[i];s===c?(this.moveChild(s,u,a),a=Math.max(s._mountIndex,a),s._mountIndex=u):(s&&(a=Math.max(s._mountIndex,a),this._unmountChildByName(s,i)),this._mountChildByNameAtIndex(c,i,u,t,n)),u++}for(i in r)!r.hasOwnProperty(i)||o&&o.hasOwnProperty(i)||this._unmountChildByName(r[i],i)}},unmountChildren:function(){var e=this._renderedChildren;f.unmountChildren(e),this._renderedChildren=null},moveChild:function(e,t,n){e._mountIndex<n&&o(this._rootNodeID,e._mountIndex,t)},createChild:function(e,t){r(this._rootNodeID,t,e._mountIndex)},removeChild:function(e){i(this._rootNodeID,e._mountIndex)},setTextContent:function(e){a(this._rootNodeID,e)},_mountChildByNameAtIndex:function(e,t,n,r,o){var i=this._rootNodeID+t,a=p.mountComponent(e,i,r,o);e._mountIndex=n,this.createChild(e,a)},_unmountChildByName:function(e,t){this.removeChild(e),e._mountIndex=null}}};t.exports=v},{"./ReactChildReconciler":33,"./ReactComponentEnvironment":38,"./ReactMultiChildUpdateTypes":74,"./ReactReconciler":83}],74:[function(e,t,n){"use strict";var r=e("./keyMirror"),o=r({INSERT_MARKUP:null,MOVE_EXISTING:null,REMOVE_NODE:null,TEXT_CONTENT:null});t.exports=o},{"./keyMirror":142}],75:[function(e,t,n){"use strict";function r(e){if("function"==typeof e.type)return e.type;var t=e.type,n=p[t];return null==n&&(p[t]=n=c(t)),n}function o(e){return s(l),new l(e.type,e.props)}function i(e){return new f(e)}function a(e){return e instanceof f}var u=e("./Object.assign"),s=e("./invariant"),c=null,l=null,p={},f=null,d={injectGenericComponentClass:function(e){l=e},injectTextComponentClass:function(e){f=e},injectComponentClasses:function(e){u(p,e)},injectAutoWrapper:function(e){c=e}},h={getComponentClassForElement:r,createInternalComponent:o,createInstanceForText:i,isTextComponent:a,injection:d};t.exports=h},{"./Object.assign":28,"./invariant":137}],76:[function(e,t,n){"use strict";var r=e("./invariant"),o={isValidOwner:function(e){return!(!e||"function"!=typeof e.attachRef||"function"!=typeof e.detachRef)},addComponentAsRefTo:function(e,t,n){r(o.isValidOwner(n)),n.attachRef(t,e)},removeComponentAsRefFrom:function(e,t,n){r(o.isValidOwner(n)),n.getPublicInstance().refs[t]===e.getPublicInstance()&&n.detachRef(t)}};t.exports=o},{"./invariant":137}],77:[function(e,t,n){"use strict";function r(e,t,n){return n}var o={enableMeasure:!1,storedMeasure:r,measureMethods:function(e,t,n){},measure:function(e,t,n){return n},injection:{injectMeasure:function(e){o.storedMeasure=e}}};t.exports=o},{}],78:[function(e,t,n){"use strict";var r={};t.exports=r},{}],79:[function(e,t,n){"use strict";var r=e("./keyMirror"),o=r({prop:null,context:null,childContext:null});t.exports=o},{"./keyMirror":142}],80:[function(e,t,n){"use strict";function r(e){function t(t,n,r,o,i){if(o=o||C,null==n[r]){var a=E[i];return t?new Error("Required "+a+" `"+r+"` was not specified in "+("`"+o+"`.")):null}return e(n,r,o,i)}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n}function o(e){function t(t,n,r,o){var i=t[n],a=m(i);if(a!==e){var u=E[o],s=v(i);return new Error("Invalid "+u+" `"+n+"` of type `"+s+"` "+("supplied to `"+r+"`, expected `"+e+"`."))}return null}return r(t)}function i(){return r(b.thatReturns(null))}function a(e){function t(t,n,r,o){var i=t[n];if(!Array.isArray(i)){var a=E[o],u=m(i);return new Error("Invalid "+a+" `"+n+"` of type "+("`"+u+"` supplied to `"+r+"`, expected an array."))}for(var s=0;s<i.length;s++){var c=e(i,s,r,o);if(c instanceof Error)return c}return null}return r(t)}function u(){function e(e,t,n,r){if(!g.isValidElement(e[t])){var o=E[r];return new Error("Invalid "+o+" `"+t+"` supplied to "+("`"+n+"`, expected a ReactElement."))}return null}return r(e)}function s(e){function t(t,n,r,o){if(!(t[n]instanceof e)){var i=E[o],a=e.name||C;return new Error("Invalid "+i+" `"+n+"` supplied to "+("`"+r+"`, expected instance of `"+a+"`."))}return null}return r(t)}function c(e){function t(t,n,r,o){for(var i=t[n],a=0;a<e.length;a++)if(i===e[a])return null;var u=E[o],s=JSON.stringify(e);return new Error("Invalid "+u+" `"+n+"` of value `"+i+"` "+("supplied to `"+r+"`, expected one of "+s+"."))}return r(t)}function l(e){function t(t,n,r,o){var i=t[n],a=m(i);if("object"!==a){var u=E[o];return new Error("Invalid "+u+" `"+n+"` of type "+("`"+a+"` supplied to `"+r+"`, expected an object."))}for(var s in i)if(i.hasOwnProperty(s)){var c=e(i,s,r,o);if(c instanceof Error)return c}return null}return r(t)}function p(e){function t(t,n,r,o){for(var i=0;i<e.length;i++){var a=e[i];if(null==a(t,n,r,o))return null}var u=E[o];return new Error("Invalid "+u+" `"+n+"` supplied to "+("`"+r+"`."))}return r(t)}function f(){function e(e,t,n,r){if(!h(e[t])){var o=E[r];return new Error("Invalid "+o+" `"+t+"` supplied to "+("`"+n+"`, expected a ReactNode."))}return null}return r(e)}function d(e){function t(t,n,r,o){var i=t[n],a=m(i);if("object"!==a){var u=E[o];return new Error("Invalid "+u+" `"+n+"` of type `"+a+"` "+("supplied to `"+r+"`, expected `object`."))}for(var s in e){var c=e[s];if(c){var l=c(i,s,r,o);if(l)return l}}return null}return r(t)}function h(e){switch(typeof e){case"number":case"string":case"undefined":return!0;case"boolean":return!e;case"object":if(Array.isArray(e))return e.every(h);if(null===e||g.isValidElement(e))return!0;e=y.extractIfFragment(e);for(var t in e)if(!h(e[t]))return!1;return!0;default:return!1}}function m(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":t}function v(e){var t=m(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}var g=e("./ReactElement"),y=e("./ReactFragment"),E=e("./ReactPropTypeLocationNames"),b=e("./emptyFunction"),C="<<anonymous>>",R=u(),w=f(),M={array:o("array"),bool:o("boolean"),func:o("function"),number:o("number"),object:o("object"),string:o("string"),any:i(),arrayOf:a,element:R,instanceOf:s,node:w,objectOf:l,oneOf:c,oneOfType:p,shape:d};t.exports=M},{"./ReactElement":59,"./ReactFragment":65,"./ReactPropTypeLocationNames":78,"./emptyFunction":116}],81:[function(e,t,n){"use strict";function r(){this.listenersToPut=[]}var o=e("./PooledClass"),i=e("./ReactBrowserEventEmitter"),a=e("./Object.assign");a(r.prototype,{enqueuePutListener:function(e,t,n){this.listenersToPut.push({rootNodeID:e,propKey:t,propValue:n})},putListeners:function(){for(var e=0;e<this.listenersToPut.length;e++){var t=this.listenersToPut[e];i.putListener(t.rootNodeID,t.propKey,t.propValue)}},reset:function(){this.listenersToPut.length=0},destructor:function(){this.reset()}}),o.addPoolingTo(r),t.exports=r},{"./Object.assign":28,"./PooledClass":29,"./ReactBrowserEventEmitter":32}],82:[function(e,t,n){"use strict";function r(){this.reinitializeTransaction(),this.renderToStaticMarkup=!1,this.reactMountReady=o.getPooled(null),this.putListenerQueue=s.getPooled()}var o=e("./CallbackQueue"),i=e("./PooledClass"),a=e("./ReactBrowserEventEmitter"),u=e("./ReactInputSelection"),s=e("./ReactPutListenerQueue"),c=e("./Transaction"),l=e("./Object.assign"),p={initialize:u.getSelectionInformation,close:u.restoreSelection},f={initialize:function(){var e=a.isEnabled();return a.setEnabled(!1),e},close:function(e){a.setEnabled(e)}},d={initialize:function(){this.reactMountReady.reset()},close:function(){this.reactMountReady.notifyAll()}},h={initialize:function(){this.putListenerQueue.reset()},close:function(){this.putListenerQueue.putListeners()}},m=[h,p,f,d],v={getTransactionWrappers:function(){return m},getReactMountReady:function(){return this.reactMountReady},getPutListenerQueue:function(){return this.putListenerQueue},destructor:function(){o.release(this.reactMountReady),this.reactMountReady=null,s.release(this.putListenerQueue),this.putListenerQueue=null}};l(r.prototype,c.Mixin,v),i.addPoolingTo(r),t.exports=r},{"./CallbackQueue":7,"./Object.assign":28,"./PooledClass":29,"./ReactBrowserEventEmitter":32,"./ReactInputSelection":67,"./ReactPutListenerQueue":81,"./Transaction":105}],83:[function(e,t,n){"use strict";function r(){o.attachRefs(this,this._currentElement)}var o=e("./ReactRef"),i=(e("./ReactElementValidator"),{mountComponent:function(e,t,n,o){var i=e.mountComponent(t,n,o);return n.getReactMountReady().enqueue(r,e),i},unmountComponent:function(e){o.detachRefs(e,e._currentElement),e.unmountComponent()},receiveComponent:function(e,t,n,i){var a=e._currentElement;if(t!==a||null==t._owner){var u=o.shouldUpdateRefs(a,t);u&&o.detachRefs(e,a),e.receiveComponent(t,n,i),u&&n.getReactMountReady().enqueue(r,e)}},performUpdateIfNecessary:function(e,t){e.performUpdateIfNecessary(t)}});t.exports=i},{"./ReactElementValidator":60,"./ReactRef":84}],84:[function(e,t,n){"use strict";function r(e,t,n){"function"==typeof e?e(t.getPublicInstance()):i.addComponentAsRefTo(t,e,n)}function o(e,t,n){"function"==typeof e?e(null):i.removeComponentAsRefFrom(t,e,n)}var i=e("./ReactOwner"),a={};a.attachRefs=function(e,t){var n=t.ref;null!=n&&r(n,e,t._owner)},a.shouldUpdateRefs=function(e,t){return t._owner!==e._owner||t.ref!==e.ref},a.detachRefs=function(e,t){var n=t.ref;null!=n&&o(n,e,t._owner)},t.exports=a},{"./ReactOwner":76}],85:[function(e,t,n){"use strict";var r={injectCreateReactRootIndex:function(e){o.createReactRootIndex=e}},o={createReactRootIndex:null,injection:r};t.exports=o},{}],86:[function(e,t,n){"use strict";function r(e){p(i.isValidElement(e));var t;try{var n=a.createReactRootID();return t=s.getPooled(!1),t.perform(function(){var r=l(e,null),o=r.mountComponent(n,t,c);return u.addChecksumToMarkup(o)},null)}finally{s.release(t)}}function o(e){p(i.isValidElement(e));var t;try{var n=a.createReactRootID();return t=s.getPooled(!0),t.perform(function(){var r=l(e,null);return r.mountComponent(n,t,c)},null)}finally{s.release(t)}}var i=e("./ReactElement"),a=e("./ReactInstanceHandles"),u=e("./ReactMarkupChecksum"),s=e("./ReactServerRenderingTransaction"),c=e("./emptyObject"),l=e("./instantiateReactComponent"),p=e("./invariant");t.exports={renderToString:r,renderToStaticMarkup:o}},{"./ReactElement":59,"./ReactInstanceHandles":68,"./ReactMarkupChecksum":71,"./ReactServerRenderingTransaction":87,"./emptyObject":117,"./instantiateReactComponent":136,"./invariant":137}],87:[function(e,t,n){"use strict";function r(e){this.reinitializeTransaction(),this.renderToStaticMarkup=e,this.reactMountReady=i.getPooled(null),this.putListenerQueue=a.getPooled()}var o=e("./PooledClass"),i=e("./CallbackQueue"),a=e("./ReactPutListenerQueue"),u=e("./Transaction"),s=e("./Object.assign"),c=e("./emptyFunction"),l={initialize:function(){this.reactMountReady.reset()},close:c},p={initialize:function(){this.putListenerQueue.reset()},close:c},f=[p,l],d={getTransactionWrappers:function(){return f},getReactMountReady:function(){return this.reactMountReady},getPutListenerQueue:function(){return this.putListenerQueue},destructor:function(){i.release(this.reactMountReady),this.reactMountReady=null,a.release(this.putListenerQueue),this.putListenerQueue=null}};s(r.prototype,u.Mixin,d),o.addPoolingTo(r),t.exports=r},{"./CallbackQueue":7,"./Object.assign":28,"./PooledClass":29,"./ReactPutListenerQueue":81,"./Transaction":105,"./emptyFunction":116}],88:[function(e,t,n){"use strict";function r(e){e!==i.currentlyMountingInstance&&c.enqueueUpdate(e)}function o(e,t){p(null==a.current);var n=s.get(e);return n?n===i.currentlyUnmountingInstance?null:n:null}var i=e("./ReactLifeCycle"),a=e("./ReactCurrentOwner"),u=e("./ReactElement"),s=e("./ReactInstanceMap"),c=e("./ReactUpdates"),l=e("./Object.assign"),p=e("./invariant"),f=(e("./warning"),{enqueueCallback:function(e,t){p("function"==typeof t);var n=o(e);return n&&n!==i.currentlyMountingInstance?(n._pendingCallbacks?n._pendingCallbacks.push(t):n._pendingCallbacks=[t],void r(n)):null},enqueueCallbackInternal:function(e,t){p("function"==typeof t),e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],r(e)},enqueueForceUpdate:function(e){var t=o(e,"forceUpdate");t&&(t._pendingForceUpdate=!0,r(t))},enqueueReplaceState:function(e,t){var n=o(e,"replaceState");n&&(n._pendingStateQueue=[t],n._pendingReplaceState=!0,r(n))},enqueueSetState:function(e,t){var n=o(e,"setState");if(n){var i=n._pendingStateQueue||(n._pendingStateQueue=[]);i.push(t),r(n)}},enqueueSetProps:function(e,t){var n=o(e,"setProps");if(n){p(n._isTopLevel);var i=n._pendingElement||n._currentElement,a=l({},i.props,t);n._pendingElement=u.cloneAndReplaceProps(i,a),r(n)}},enqueueReplaceProps:function(e,t){var n=o(e,"replaceProps");if(n){p(n._isTopLevel);var i=n._pendingElement||n._currentElement;n._pendingElement=u.cloneAndReplaceProps(i,t),r(n)}},enqueueElementInternal:function(e,t){e._pendingElement=t,r(e)}});t.exports=f},{"./Object.assign":28,"./ReactCurrentOwner":41,"./ReactElement":59,"./ReactInstanceMap":69,"./ReactLifeCycle":70,"./ReactUpdates":89,"./invariant":137,"./warning":156}],89:[function(e,t,n){"use strict";function r(){v(D.ReactReconcileTransaction&&b)}function o(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=l.getPooled(),this.reconcileTransaction=D.ReactReconcileTransaction.getPooled()}function i(e,t,n,o,i){r(),b.batchedUpdates(e,t,n,o,i)}function a(e,t){return e._mountOrder-t._mountOrder}function u(e){var t=e.dirtyComponentsLength;v(t===g.length),g.sort(a);for(var n=0;t>n;n++){var r=g[n],o=r._pendingCallbacks;if(r._pendingCallbacks=null,d.performUpdateIfNecessary(r,e.reconcileTransaction),o)for(var i=0;i<o.length;i++)e.callbackQueue.enqueue(o[i],r.getPublicInstance())}}function s(e){return r(),b.isBatchingUpdates?void g.push(e):void b.batchedUpdates(s,e)}function c(e,t){v(b.isBatchingUpdates),y.enqueue(e,t),E=!0}var l=e("./CallbackQueue"),p=e("./PooledClass"),f=(e("./ReactCurrentOwner"),e("./ReactPerf")),d=e("./ReactReconciler"),h=e("./Transaction"),m=e("./Object.assign"),v=e("./invariant"),g=(e("./warning"),[]),y=l.getPooled(),E=!1,b=null,C={initialize:function(){this.dirtyComponentsLength=g.length},close:function(){this.dirtyComponentsLength!==g.length?(g.splice(0,this.dirtyComponentsLength),M()):g.length=0}},R={initialize:function(){this.callbackQueue.reset()},close:function(){this.callbackQueue.notifyAll()}},w=[C,R];m(o.prototype,h.Mixin,{getTransactionWrappers:function(){return w},destructor:function(){this.dirtyComponentsLength=null,l.release(this.callbackQueue),this.callbackQueue=null,D.ReactReconcileTransaction.release(this.reconcileTransaction),this.reconcileTransaction=null},perform:function(e,t,n){return h.Mixin.perform.call(this,this.reconcileTransaction.perform,this.reconcileTransaction,e,t,n)}}),p.addPoolingTo(o);var M=function(){for(;g.length||E;){if(g.length){var e=o.getPooled();e.perform(u,null,e),o.release(e)}if(E){E=!1;var t=y;y=l.getPooled(),t.notifyAll(),l.release(t)}}};M=f.measure("ReactUpdates","flushBatchedUpdates",M);var x={injectReconcileTransaction:function(e){v(e),D.ReactReconcileTransaction=e},injectBatchingStrategy:function(e){v(e),v("function"==typeof e.batchedUpdates),v("boolean"==typeof e.isBatchingUpdates),b=e}},D={ReactReconcileTransaction:null,batchedUpdates:i,enqueueUpdate:s,flushBatchedUpdates:M,injection:x,asap:c};t.exports=D},{"./CallbackQueue":7,"./Object.assign":28,"./PooledClass":29,"./ReactCurrentOwner":41,"./ReactPerf":77,"./ReactReconciler":83,"./Transaction":105,"./invariant":137,"./warning":156}],90:[function(e,t,n){"use strict";var r=e("./DOMProperty"),o=r.injection.MUST_USE_ATTRIBUTE,i={Properties:{clipPath:o,cx:o,cy:o,d:o,dx:o,dy:o,fill:o,fillOpacity:o,fontFamily:o,fontSize:o,fx:o,fy:o,gradientTransform:o,gradientUnits:o,markerEnd:o,markerMid:o,markerStart:o,offset:o,opacity:o,patternContentUnits:o,patternUnits:o,points:o,preserveAspectRatio:o,r:o,rx:o,ry:o,spreadMethod:o,stopColor:o,stopOpacity:o,stroke:o,strokeDasharray:o,strokeLinecap:o,strokeOpacity:o,strokeWidth:o,textAnchor:o,transform:o,version:o,viewBox:o,x1:o,x2:o,x:o,y1:o,y2:o,y:o},DOMAttributeNames:{clipPath:"clip-path",fillOpacity:"fill-opacity",fontFamily:"font-family",fontSize:"font-size",gradientTransform:"gradientTransform",gradientUnits:"gradientUnits",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",patternContentUnits:"patternContentUnits",patternUnits:"patternUnits",preserveAspectRatio:"preserveAspectRatio",spreadMethod:"spreadMethod",stopColor:"stop-color",stopOpacity:"stop-opacity",strokeDasharray:"stroke-dasharray",strokeLinecap:"stroke-linecap",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",textAnchor:"text-anchor",viewBox:"viewBox"}};t.exports=i},{"./DOMProperty":11}],91:[function(e,t,n){"use strict";function r(e){if("selectionStart"in e&&u.hasSelectionCapabilities(e))return{start:e.selectionStart,end:e.selectionEnd};if(window.getSelection){var t=window.getSelection();return{anchorNode:t.anchorNode,anchorOffset:t.anchorOffset,focusNode:t.focusNode,focusOffset:t.focusOffset}}if(document.selection){var n=document.selection.createRange();return{parentElement:n.parentElement(),text:n.text,top:n.boundingTop,left:n.boundingLeft}}}function o(e){if(y||null==m||m!==c())return null;var t=r(m);if(!g||!f(g,t)){g=t;var n=s.getPooled(h.select,v,e);return n.type="select",n.target=m,a.accumulateTwoPhaseDispatches(n),n}}var i=e("./EventConstants"),a=e("./EventPropagators"),u=e("./ReactInputSelection"),s=e("./SyntheticEvent"),c=e("./getActiveElement"),l=e("./isTextInputElement"),p=e("./keyOf"),f=e("./shallowEqual"),d=i.topLevelTypes,h={
-select:{phasedRegistrationNames:{bubbled:p({onSelect:null}),captured:p({onSelectCapture:null})},dependencies:[d.topBlur,d.topContextMenu,d.topFocus,d.topKeyDown,d.topMouseDown,d.topMouseUp,d.topSelectionChange]}},m=null,v=null,g=null,y=!1,E={eventTypes:h,extractEvents:function(e,t,n,r){switch(e){case d.topFocus:(l(t)||"true"===t.contentEditable)&&(m=t,v=n,g=null);break;case d.topBlur:m=null,v=null,g=null;break;case d.topMouseDown:y=!0;break;case d.topContextMenu:case d.topMouseUp:return y=!1,o(r);case d.topSelectionChange:case d.topKeyDown:case d.topKeyUp:return o(r)}}};t.exports=E},{"./EventConstants":16,"./EventPropagators":21,"./ReactInputSelection":67,"./SyntheticEvent":97,"./getActiveElement":123,"./isTextInputElement":140,"./keyOf":143,"./shallowEqual":152}],92:[function(e,t,n){"use strict";var r=Math.pow(2,53),o={createReactRootIndex:function(){return Math.ceil(Math.random()*r)}};t.exports=o},{}],93:[function(e,t,n){"use strict";var r=e("./EventConstants"),o=e("./EventPluginUtils"),i=e("./EventPropagators"),a=e("./SyntheticClipboardEvent"),u=e("./SyntheticEvent"),s=e("./SyntheticFocusEvent"),c=e("./SyntheticKeyboardEvent"),l=e("./SyntheticMouseEvent"),p=e("./SyntheticDragEvent"),f=e("./SyntheticTouchEvent"),d=e("./SyntheticUIEvent"),h=e("./SyntheticWheelEvent"),m=e("./getEventCharCode"),v=e("./invariant"),g=e("./keyOf"),y=(e("./warning"),r.topLevelTypes),E={blur:{phasedRegistrationNames:{bubbled:g({onBlur:!0}),captured:g({onBlurCapture:!0})}},click:{phasedRegistrationNames:{bubbled:g({onClick:!0}),captured:g({onClickCapture:!0})}},contextMenu:{phasedRegistrationNames:{bubbled:g({onContextMenu:!0}),captured:g({onContextMenuCapture:!0})}},copy:{phasedRegistrationNames:{bubbled:g({onCopy:!0}),captured:g({onCopyCapture:!0})}},cut:{phasedRegistrationNames:{bubbled:g({onCut:!0}),captured:g({onCutCapture:!0})}},doubleClick:{phasedRegistrationNames:{bubbled:g({onDoubleClick:!0}),captured:g({onDoubleClickCapture:!0})}},drag:{phasedRegistrationNames:{bubbled:g({onDrag:!0}),captured:g({onDragCapture:!0})}},dragEnd:{phasedRegistrationNames:{bubbled:g({onDragEnd:!0}),captured:g({onDragEndCapture:!0})}},dragEnter:{phasedRegistrationNames:{bubbled:g({onDragEnter:!0}),captured:g({onDragEnterCapture:!0})}},dragExit:{phasedRegistrationNames:{bubbled:g({onDragExit:!0}),captured:g({onDragExitCapture:!0})}},dragLeave:{phasedRegistrationNames:{bubbled:g({onDragLeave:!0}),captured:g({onDragLeaveCapture:!0})}},dragOver:{phasedRegistrationNames:{bubbled:g({onDragOver:!0}),captured:g({onDragOverCapture:!0})}},dragStart:{phasedRegistrationNames:{bubbled:g({onDragStart:!0}),captured:g({onDragStartCapture:!0})}},drop:{phasedRegistrationNames:{bubbled:g({onDrop:!0}),captured:g({onDropCapture:!0})}},focus:{phasedRegistrationNames:{bubbled:g({onFocus:!0}),captured:g({onFocusCapture:!0})}},input:{phasedRegistrationNames:{bubbled:g({onInput:!0}),captured:g({onInputCapture:!0})}},keyDown:{phasedRegistrationNames:{bubbled:g({onKeyDown:!0}),captured:g({onKeyDownCapture:!0})}},keyPress:{phasedRegistrationNames:{bubbled:g({onKeyPress:!0}),captured:g({onKeyPressCapture:!0})}},keyUp:{phasedRegistrationNames:{bubbled:g({onKeyUp:!0}),captured:g({onKeyUpCapture:!0})}},load:{phasedRegistrationNames:{bubbled:g({onLoad:!0}),captured:g({onLoadCapture:!0})}},error:{phasedRegistrationNames:{bubbled:g({onError:!0}),captured:g({onErrorCapture:!0})}},mouseDown:{phasedRegistrationNames:{bubbled:g({onMouseDown:!0}),captured:g({onMouseDownCapture:!0})}},mouseMove:{phasedRegistrationNames:{bubbled:g({onMouseMove:!0}),captured:g({onMouseMoveCapture:!0})}},mouseOut:{phasedRegistrationNames:{bubbled:g({onMouseOut:!0}),captured:g({onMouseOutCapture:!0})}},mouseOver:{phasedRegistrationNames:{bubbled:g({onMouseOver:!0}),captured:g({onMouseOverCapture:!0})}},mouseUp:{phasedRegistrationNames:{bubbled:g({onMouseUp:!0}),captured:g({onMouseUpCapture:!0})}},paste:{phasedRegistrationNames:{bubbled:g({onPaste:!0}),captured:g({onPasteCapture:!0})}},reset:{phasedRegistrationNames:{bubbled:g({onReset:!0}),captured:g({onResetCapture:!0})}},scroll:{phasedRegistrationNames:{bubbled:g({onScroll:!0}),captured:g({onScrollCapture:!0})}},submit:{phasedRegistrationNames:{bubbled:g({onSubmit:!0}),captured:g({onSubmitCapture:!0})}},touchCancel:{phasedRegistrationNames:{bubbled:g({onTouchCancel:!0}),captured:g({onTouchCancelCapture:!0})}},touchEnd:{phasedRegistrationNames:{bubbled:g({onTouchEnd:!0}),captured:g({onTouchEndCapture:!0})}},touchMove:{phasedRegistrationNames:{bubbled:g({onTouchMove:!0}),captured:g({onTouchMoveCapture:!0})}},touchStart:{phasedRegistrationNames:{bubbled:g({onTouchStart:!0}),captured:g({onTouchStartCapture:!0})}},wheel:{phasedRegistrationNames:{bubbled:g({onWheel:!0}),captured:g({onWheelCapture:!0})}}},b={topBlur:E.blur,topClick:E.click,topContextMenu:E.contextMenu,topCopy:E.copy,topCut:E.cut,topDoubleClick:E.doubleClick,topDrag:E.drag,topDragEnd:E.dragEnd,topDragEnter:E.dragEnter,topDragExit:E.dragExit,topDragLeave:E.dragLeave,topDragOver:E.dragOver,topDragStart:E.dragStart,topDrop:E.drop,topError:E.error,topFocus:E.focus,topInput:E.input,topKeyDown:E.keyDown,topKeyPress:E.keyPress,topKeyUp:E.keyUp,topLoad:E.load,topMouseDown:E.mouseDown,topMouseMove:E.mouseMove,topMouseOut:E.mouseOut,topMouseOver:E.mouseOver,topMouseUp:E.mouseUp,topPaste:E.paste,topReset:E.reset,topScroll:E.scroll,topSubmit:E.submit,topTouchCancel:E.touchCancel,topTouchEnd:E.touchEnd,topTouchMove:E.touchMove,topTouchStart:E.touchStart,topWheel:E.wheel};for(var C in b)b[C].dependencies=[C];var R={eventTypes:E,executeDispatch:function(e,t,n){var r=o.executeDispatch(e,t,n);r===!1&&(e.stopPropagation(),e.preventDefault())},extractEvents:function(e,t,n,r){var o=b[e];if(!o)return null;var g;switch(e){case y.topInput:case y.topLoad:case y.topError:case y.topReset:case y.topSubmit:g=u;break;case y.topKeyPress:if(0===m(r))return null;case y.topKeyDown:case y.topKeyUp:g=c;break;case y.topBlur:case y.topFocus:g=s;break;case y.topClick:if(2===r.button)return null;case y.topContextMenu:case y.topDoubleClick:case y.topMouseDown:case y.topMouseMove:case y.topMouseOut:case y.topMouseOver:case y.topMouseUp:g=l;break;case y.topDrag:case y.topDragEnd:case y.topDragEnter:case y.topDragExit:case y.topDragLeave:case y.topDragOver:case y.topDragStart:case y.topDrop:g=p;break;case y.topTouchCancel:case y.topTouchEnd:case y.topTouchMove:case y.topTouchStart:g=f;break;case y.topScroll:g=d;break;case y.topWheel:g=h;break;case y.topCopy:case y.topCut:case y.topPaste:g=a}v(g);var E=g.getPooled(o,n,r);return i.accumulateTwoPhaseDispatches(E),E}};t.exports=R},{"./EventConstants":16,"./EventPluginUtils":20,"./EventPropagators":21,"./SyntheticClipboardEvent":94,"./SyntheticDragEvent":96,"./SyntheticEvent":97,"./SyntheticFocusEvent":98,"./SyntheticKeyboardEvent":100,"./SyntheticMouseEvent":101,"./SyntheticTouchEvent":102,"./SyntheticUIEvent":103,"./SyntheticWheelEvent":104,"./getEventCharCode":124,"./invariant":137,"./keyOf":143,"./warning":156}],94:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e("./SyntheticEvent"),i={clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}};o.augmentClass(r,i),t.exports=r},{"./SyntheticEvent":97}],95:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e("./SyntheticEvent"),i={data:null};o.augmentClass(r,i),t.exports=r},{"./SyntheticEvent":97}],96:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e("./SyntheticMouseEvent"),i={dataTransfer:null};o.augmentClass(r,i),t.exports=r},{"./SyntheticMouseEvent":101}],97:[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];this[o]=i?i(n):n[o]}var u=null!=n.defaultPrevented?n.defaultPrevented:n.returnValue===!1;this.isDefaultPrevented=u?a.thatReturnsTrue:a.thatReturnsFalse,this.isPropagationStopped=a.thatReturnsFalse}var o=e("./PooledClass"),i=e("./Object.assign"),a=e("./emptyFunction"),u=e("./getEventTarget"),s={type:null,target:u,currentTarget:a.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=a.thatReturnsTrue},stopPropagation:function(){var e=this.nativeEvent;e.stopPropagation?e.stopPropagation():e.cancelBubble=!0,this.isPropagationStopped=a.thatReturnsTrue},persist:function(){this.isPersistent=a.thatReturnsTrue},isPersistent:a.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=s,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),t.exports=r},{"./Object.assign":28,"./PooledClass":29,"./emptyFunction":116,"./getEventTarget":127}],98:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e("./SyntheticUIEvent"),i={relatedTarget:null};o.augmentClass(r,i),t.exports=r},{"./SyntheticUIEvent":103}],99:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e("./SyntheticEvent"),i={data:null};o.augmentClass(r,i),t.exports=r},{"./SyntheticEvent":97}],100:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e("./SyntheticUIEvent"),i=e("./getEventCharCode"),a=e("./getEventKey"),u=e("./getEventModifierState"),s={key:a,location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:u,charCode:function(e){return"keypress"===e.type?i(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?i(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}};o.augmentClass(r,s),t.exports=r},{"./SyntheticUIEvent":103,"./getEventCharCode":124,"./getEventKey":125,"./getEventModifierState":126}],101:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e("./SyntheticUIEvent"),i=e("./ViewportMetrics"),a=e("./getEventModifierState"),u={screenX:null,screenY:null,clientX:null,clientY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:a,button:function(e){var t=e.button;return"which"in e?t:2===t?2:4===t?1:0},buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},pageX:function(e){return"pageX"in e?e.pageX:e.clientX+i.currentScrollLeft},pageY:function(e){return"pageY"in e?e.pageY:e.clientY+i.currentScrollTop}};o.augmentClass(r,u),t.exports=r},{"./SyntheticUIEvent":103,"./ViewportMetrics":106,"./getEventModifierState":126}],102:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e("./SyntheticUIEvent"),i=e("./getEventModifierState"),a={touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:i};o.augmentClass(r,a),t.exports=r},{"./SyntheticUIEvent":103,"./getEventModifierState":126}],103:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e("./SyntheticEvent"),i=e("./getEventTarget"),a={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,a),t.exports=r},{"./SyntheticEvent":97,"./getEventTarget":127}],104:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e("./SyntheticMouseEvent"),i={deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null};o.augmentClass(r,i),t.exports=r},{"./SyntheticMouseEvent":101}],105:[function(e,t,n){"use strict";var r=e("./invariant"),o={reinitializeTransaction:function(){this.transactionWrappers=this.getTransactionWrappers(),this.wrapperInitData?this.wrapperInitData.length=0:this.wrapperInitData=[],this._isInTransaction=!1},_isInTransaction:!1,getTransactionWrappers:null,isInTransaction:function(){return!!this._isInTransaction},perform:function(e,t,n,o,i,a,u,s){r(!this.isInTransaction());var c,l;try{this._isInTransaction=!0,c=!0,this.initializeAll(0),l=e.call(t,n,o,i,a,u,s),c=!1}finally{try{if(c)try{this.closeAll(0)}catch(p){}else this.closeAll(0)}finally{this._isInTransaction=!1}}return l},initializeAll:function(e){for(var t=this.transactionWrappers,n=e;n<t.length;n++){var r=t[n];try{this.wrapperInitData[n]=i.OBSERVED_ERROR,this.wrapperInitData[n]=r.initialize?r.initialize.call(this):null}finally{if(this.wrapperInitData[n]===i.OBSERVED_ERROR)try{this.initializeAll(n+1)}catch(o){}}}},closeAll:function(e){r(this.isInTransaction());for(var t=this.transactionWrappers,n=e;n<t.length;n++){var o,a=t[n],u=this.wrapperInitData[n];try{o=!0,u!==i.OBSERVED_ERROR&&a.close&&a.close.call(this,u),o=!1}finally{if(o)try{this.closeAll(n+1)}catch(s){}}}this.wrapperInitData.length=0}},i={Mixin:o,OBSERVED_ERROR:{}};t.exports=i},{"./invariant":137}],106:[function(e,t,n){"use strict";var r={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function(e){r.currentScrollLeft=e.x,r.currentScrollTop=e.y}};t.exports=r},{}],107:[function(e,t,n){"use strict";function r(e,t){if(o(null!=t),null==e)return t;var n=Array.isArray(e),r=Array.isArray(t);return n&&r?(e.push.apply(e,t),e):n?(e.push(t),e):r?[e].concat(t):[e,t]}var o=e("./invariant");t.exports=r},{"./invariant":137}],108:[function(e,t,n){"use strict";function r(e){for(var t=1,n=0,r=0;r<e.length;r++)t=(t+e.charCodeAt(r))%o,n=(n+t)%o;return t|n<<16}var o=65521;t.exports=r},{}],109:[function(e,t,n){function r(e){return e.replace(o,function(e,t){return t.toUpperCase()})}var o=/-(.)/g;t.exports=r},{}],110:[function(e,t,n){"use strict";function r(e){return o(e.replace(i,"ms-"))}var o=e("./camelize"),i=/^-ms-/;t.exports=r},{"./camelize":109}],111:[function(e,t,n){function r(e,t){return e&&t?e===t?!0:o(e)?!1:o(t)?r(e,t.parentNode):e.contains?e.contains(t):e.compareDocumentPosition?!!(16&e.compareDocumentPosition(t)):!1:!1}var o=e("./isTextNode");t.exports=r},{"./isTextNode":141}],112:[function(e,t,n){function r(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"length"in e&&!("setInterval"in e)&&"number"!=typeof e.nodeType&&(Array.isArray(e)||"callee"in e||"item"in e)}function o(e){return r(e)?Array.isArray(e)?e.slice():i(e):[e]}var i=e("./toArray");t.exports=o},{"./toArray":154}],113:[function(e,t,n){"use strict";function r(e){var t=i.createFactory(e),n=o.createClass({tagName:e.toUpperCase(),displayName:"ReactFullPageComponent"+e,componentWillUnmount:function(){a(!1)},render:function(){return t(this.props)}});return n}var o=e("./ReactClass"),i=e("./ReactElement"),a=e("./invariant");t.exports=r},{"./ReactClass":35,"./ReactElement":59,"./invariant":137}],114:[function(e,t,n){function r(e){var t=e.match(l);return t&&t[1].toLowerCase()}function o(e,t){var n=c;s(!!c);var o=r(e),i=o&&u(o);if(i){n.innerHTML=i[1]+e+i[2];for(var l=i[0];l--;)n=n.lastChild}else n.innerHTML=e;var p=n.getElementsByTagName("script");p.length&&(s(t),a(p).forEach(t));for(var f=a(n.childNodes);n.lastChild;)n.removeChild(n.lastChild);return f}var i=e("./ExecutionEnvironment"),a=e("./createArrayFromMixed"),u=e("./getMarkupWrap"),s=e("./invariant"),c=i.canUseDOM?document.createElement("div"):null,l=/^\s*<(\w+)/;t.exports=o},{"./ExecutionEnvironment":22,"./createArrayFromMixed":112,"./getMarkupWrap":129,"./invariant":137}],115:[function(e,t,n){"use strict";function r(e,t){var n=null==t||"boolean"==typeof t||""===t;if(n)return"";var r=isNaN(t);return r||0===t||i.hasOwnProperty(e)&&i[e]?""+t:("string"==typeof t&&(t=t.trim()),t+"px")}var o=e("./CSSProperty"),i=o.isUnitlessNumber;t.exports=r},{"./CSSProperty":5}],116:[function(e,t,n){function r(e){return function(){return e}}function o(){}o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},t.exports=o},{}],117:[function(e,t,n){"use strict";var r={};t.exports=r},{}],118:[function(e,t,n){"use strict";function r(e){return i[e]}function o(e){return(""+e).replace(a,r)}var i={"&":"&amp;",">":"&gt;","<":"&lt;",'"':"&quot;","'":"&#x27;"},a=/[&><"']/g;t.exports=o},{}],119:[function(e,t,n){"use strict";function r(e){return null==e?null:u(e)?e:o.has(e)?i.getNodeFromInstance(e):(a(null==e.render||"function"!=typeof e.render),void a(!1))}{var o=(e("./ReactCurrentOwner"),e("./ReactInstanceMap")),i=e("./ReactMount"),a=e("./invariant"),u=e("./isNode");e("./warning")}t.exports=r},{"./ReactCurrentOwner":41,"./ReactInstanceMap":69,"./ReactMount":72,"./invariant":137,"./isNode":139,"./warning":156}],120:[function(e,t,n){"use strict";function r(e,t,n){var r=e,o=!r.hasOwnProperty(n);o&&null!=t&&(r[n]=t)}function o(e){if(null==e)return e;var t={};return i(e,r,t),t}{var i=e("./traverseAllChildren");e("./warning")}t.exports=o},{"./traverseAllChildren":155,"./warning":156}],121:[function(e,t,n){"use strict";function r(e){try{e.focus()}catch(t){}}t.exports=r},{}],122:[function(e,t,n){"use strict";var r=function(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)};t.exports=r},{}],123:[function(e,t,n){function r(){try{return document.activeElement||document.body}catch(e){return document.body}}t.exports=r},{}],124:[function(e,t,n){"use strict";function r(e){var t,n=e.keyCode;return"charCode"in e?(t=e.charCode,0===t&&13===n&&(t=13)):t=n,t>=32||13===t?t:0}t.exports=r},{}],125:[function(e,t,n){"use strict";function r(e){if(e.key){var t=i[e.key]||e.key;if("Unidentified"!==t)return t}if("keypress"===e.type){var n=o(e);return 13===n?"Enter":String.fromCharCode(n)}return"keydown"===e.type||"keyup"===e.type?a[e.keyCode]||"Unidentified":""}var o=e("./getEventCharCode"),i={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},a={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"};t.exports=r},{"./getEventCharCode":124}],126:[function(e,t,n){"use strict";function r(e){var t=this,n=t.nativeEvent;if(n.getModifierState)return n.getModifierState(e);var r=i[e];return r?!!n[r]:!1}function o(e){return r}var i={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};t.exports=o},{}],127:[function(e,t,n){"use strict";function r(e){var t=e.target||e.srcElement||window;return 3===t.nodeType?t.parentNode:t}t.exports=r},{}],128:[function(e,t,n){"use strict";function r(e){var t=e&&(o&&e[o]||e[i]);return"function"==typeof t?t:void 0}var o="function"==typeof Symbol&&Symbol.iterator,i="@@iterator";t.exports=r},{}],129:[function(e,t,n){function r(e){return i(!!a),f.hasOwnProperty(e)||(e="*"),u.hasOwnProperty(e)||(a.innerHTML="*"===e?"<link />":"<"+e+"></"+e+">",u[e]=!a.firstChild),u[e]?f[e]:null}var o=e("./ExecutionEnvironment"),i=e("./invariant"),a=o.canUseDOM?document.createElement("div"):null,u={circle:!0,clipPath:!0,defs:!0,ellipse:!0,g:!0,line:!0,linearGradient:!0,path:!0,polygon:!0,polyline:!0,radialGradient:!0,rect:!0,stop:!0,text:!0},s=[1,'<select multiple="true">',"</select>"],c=[1,"<table>","</table>"],l=[3,"<table><tbody><tr>","</tr></tbody></table>"],p=[1,"<svg>","</svg>"],f={"*":[1,"?<div>","</div>"],area:[1,"<map>","</map>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],legend:[1,"<fieldset>","</fieldset>"],param:[1,"<object>","</object>"],tr:[2,"<table><tbody>","</tbody></table>"],optgroup:s,option:s,caption:c,colgroup:c,tbody:c,tfoot:c,thead:c,td:l,th:l,circle:p,clipPath:p,defs:p,ellipse:p,g:p,line:p,linearGradient:p,path:p,polygon:p,polyline:p,radialGradient:p,rect:p,stop:p,text:p};t.exports=r},{"./ExecutionEnvironment":22,"./invariant":137}],130:[function(e,t,n){"use strict";function r(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function o(e){for(;e;){if(e.nextSibling)return e.nextSibling;e=e.parentNode}}function i(e,t){for(var n=r(e),i=0,a=0;n;){if(3===n.nodeType){if(a=i+n.textContent.length,t>=i&&a>=t)return{node:n,offset:t-i};i=a}n=r(o(n))}}t.exports=i},{}],131:[function(e,t,n){"use strict";function r(e){return e?e.nodeType===o?e.documentElement:e.firstChild:null}var o=9;t.exports=r},{}],132:[function(e,t,n){"use strict";function r(){return!i&&o.canUseDOM&&(i="textContent"in document.documentElement?"textContent":"innerText"),i}var o=e("./ExecutionEnvironment"),i=null;t.exports=r},{"./ExecutionEnvironment":22}],133:[function(e,t,n){"use strict";function r(e){return e===window?{x:window.pageXOffset||document.documentElement.scrollLeft,y:window.pageYOffset||document.documentElement.scrollTop}:{x:e.scrollLeft,y:e.scrollTop}}t.exports=r},{}],134:[function(e,t,n){function r(e){return e.replace(o,"-$1").toLowerCase()}var o=/([A-Z])/g;t.exports=r},{}],135:[function(e,t,n){"use strict";function r(e){return o(e).replace(i,"-ms-")}var o=e("./hyphenate"),i=/^ms-/;t.exports=r},{"./hyphenate":134}],136:[function(e,t,n){"use strict";function r(e){return"function"==typeof e&&"undefined"!=typeof e.prototype&&"function"==typeof e.prototype.mountComponent&&"function"==typeof e.prototype.receiveComponent}function o(e,t){var n;if((null===e||e===!1)&&(e=a.emptyElement),"object"==typeof e){var o=e;n=t===o.type&&"string"==typeof o.type?u.createInternalComponent(o):r(o.type)?new o.type(o):new l}else"string"==typeof e||"number"==typeof e?n=u.createInstanceForText(e):c(!1);return n.construct(e),n._mountIndex=0,n._mountImage=null,n}var i=e("./ReactCompositeComponent"),a=e("./ReactEmptyComponent"),u=e("./ReactNativeComponent"),s=e("./Object.assign"),c=e("./invariant"),l=(e("./warning"),function(){});s(l.prototype,i.Mixin,{_instantiateReactComponent:o}),t.exports=o},{"./Object.assign":28,"./ReactCompositeComponent":39,"./ReactEmptyComponent":61,"./ReactNativeComponent":75,"./invariant":137,"./warning":156}],137:[function(e,t,n){"use strict";var r=function(e,t,n,r,o,i,a,u){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,i,a,u],l=0;s=new Error("Invariant Violation: "+t.replace(/%s/g,function(){return c[l++]}))}throw s.framesToPop=1,s}};t.exports=r},{}],138:[function(e,t,n){"use strict";function r(e,t){if(!i.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,r=n in document;if(!r){var a=document.createElement("div");a.setAttribute(n,"return;"),r="function"==typeof a[n]}return!r&&o&&"wheel"===e&&(r=document.implementation.hasFeature("Events.wheel","3.0")),r}var o,i=e("./ExecutionEnvironment");i.canUseDOM&&(o=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0),t.exports=r},{"./ExecutionEnvironment":22}],139:[function(e,t,n){function r(e){return!(!e||!("function"==typeof Node?e instanceof Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName))}t.exports=r},{}],140:[function(e,t,n){"use strict";function r(e){return e&&("INPUT"===e.nodeName&&o[e.type]||"TEXTAREA"===e.nodeName)}var o={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};t.exports=r},{}],141:[function(e,t,n){function r(e){return o(e)&&3==e.nodeType}var o=e("./isNode");t.exports=r},{"./isNode":139}],142:[function(e,t,n){"use strict";var r=e("./invariant"),o=function(e){var t,n={};r(e instanceof Object&&!Array.isArray(e));for(t in e)e.hasOwnProperty(t)&&(n[t]=t);return n};t.exports=o},{"./invariant":137}],143:[function(e,t,n){var r=function(e){var t;for(t in e)if(e.hasOwnProperty(t))return t;return null};t.exports=r},{}],144:[function(e,t,n){"use strict";function r(e,t,n){if(!e)return null;var r={};for(var i in e)o.call(e,i)&&(r[i]=t.call(n,e[i],i,e));return r}var o=Object.prototype.hasOwnProperty;t.exports=r},{}],145:[function(e,t,n){"use strict";function r(e){var t={};return function(n){return t.hasOwnProperty(n)||(t[n]=e.call(this,n)),t[n]}}t.exports=r},{}],146:[function(e,t,n){"use strict";function r(e){return i(o.isValidElement(e)),e}var o=e("./ReactElement"),i=e("./invariant");t.exports=r},{"./ReactElement":59,"./invariant":137}],147:[function(e,t,n){"use strict";var r,o=e("./ExecutionEnvironment");o.canUseDOM&&(r=window.performance||window.msPerformance||window.webkitPerformance),t.exports=r||{}},{"./ExecutionEnvironment":22}],148:[function(e,t,n){var r=e("./performance");r&&r.now||(r=Date);var o=r.now.bind(r);t.exports=o},{"./performance":147}],149:[function(e,t,n){"use strict";function r(e){return'"'+o(e)+'"'}var o=e("./escapeTextContentForBrowser");t.exports=r},{"./escapeTextContentForBrowser":118}],150:[function(e,t,n){"use strict";var r=e("./ExecutionEnvironment"),o=/^[ \r\n\t\f]/,i=/<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/,a=function(e,t){e.innerHTML=t};if("undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction&&(a=function(e,t){MSApp.execUnsafeLocalFunction(function(){e.innerHTML=t})}),r.canUseDOM){var u=document.createElement("div");u.innerHTML=" ",""===u.innerHTML&&(a=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),o.test(t)||"<"===t[0]&&i.test(t)){e.innerHTML="\ufeff"+t;var n=e.firstChild;1===n.data.length?e.removeChild(n):n.deleteData(0,1)}else e.innerHTML=t})}t.exports=a},{"./ExecutionEnvironment":22}],151:[function(e,t,n){"use strict";var r=e("./ExecutionEnvironment"),o=e("./escapeTextContentForBrowser"),i=e("./setInnerHTML"),a=function(e,t){e.textContent=t};r.canUseDOM&&("textContent"in document.documentElement||(a=function(e,t){i(e,o(t))})),t.exports=a},{"./ExecutionEnvironment":22,"./escapeTextContentForBrowser":118,"./setInnerHTML":150}],152:[function(e,t,n){"use strict";function r(e,t){if(e===t)return!0;var n;for(n in e)if(e.hasOwnProperty(n)&&(!t.hasOwnProperty(n)||e[n]!==t[n]))return!1;for(n in t)if(t.hasOwnProperty(n)&&!e.hasOwnProperty(n))return!1;return!0}t.exports=r},{}],153:[function(e,t,n){"use strict";function r(e,t){if(null!=e&&null!=t){var n=typeof e,r=typeof t;if("string"===n||"number"===n)return"string"===r||"number"===r;if("object"===r&&e.type===t.type&&e.key===t.key){var o=e._owner===t._owner;return o}}return!1}e("./warning");t.exports=r},{"./warning":156}],154:[function(e,t,n){function r(e){var t=e.length;if(o(!Array.isArray(e)&&("object"==typeof e||"function"==typeof e)),o("number"==typeof t),o(0===t||t-1 in e),e.hasOwnProperty)try{return Array.prototype.slice.call(e)}catch(n){}for(var r=Array(t),i=0;t>i;i++)r[i]=e[i];return r}var o=e("./invariant");t.exports=r},{"./invariant":137}],155:[function(e,t,n){"use strict";function r(e){return v[e]}function o(e,t){return e&&null!=e.key?a(e.key):t.toString(36)}function i(e){return(""+e).replace(g,r)}function a(e){return"$"+i(e)}function u(e,t,n,r,i){var s=typeof e;if(("undefined"===s||"boolean"===s)&&(e=null),null===e||"string"===s||"number"===s||c.isValidElement(e))return r(i,e,""===t?h+o(e,0):t,n),1;var p,v,g,y=0;if(Array.isArray(e))for(var E=0;E<e.length;E++)p=e[E],v=(""!==t?t+m:h)+o(p,E),g=n+y,y+=u(p,v,g,r,i);else{var b=f(e);if(b){var C,R=b.call(e);if(b!==e.entries)for(var w=0;!(C=R.next()).done;)p=C.value,v=(""!==t?t+m:h)+o(p,w++),g=n+y,y+=u(p,v,g,r,i);else for(;!(C=R.next()).done;){var M=C.value;M&&(p=M[1],v=(""!==t?t+m:h)+a(M[0])+m+o(p,0),g=n+y,y+=u(p,v,g,r,i))}}else if("object"===s){d(1!==e.nodeType);var x=l.extract(e);for(var D in x)x.hasOwnProperty(D)&&(p=x[D],v=(""!==t?t+m:h)+a(D)+m+o(p,0),g=n+y,y+=u(p,v,g,r,i))}}return y}function s(e,t,n){return null==e?0:u(e,"",0,t,n)}var c=e("./ReactElement"),l=e("./ReactFragment"),p=e("./ReactInstanceHandles"),f=e("./getIteratorFn"),d=e("./invariant"),h=(e("./warning"),p.SEPARATOR),m=":",v={"=":"=0",".":"=1",":":"=2"},g=/[=.:]/g;t.exports=s},{"./ReactElement":59,"./ReactFragment":65,"./ReactInstanceHandles":68,"./getIteratorFn":128,"./invariant":137,"./warning":156}],156:[function(e,t,n){"use strict";var r=e("./emptyFunction"),o=r;t.exports=o},{"./emptyFunction":116}],157:[function(e,t,n){t.exports=e("./lib/React")},{"./lib/React":30}],158:[function(e,t,n){function r(e,t,n){var r=new XMLHttpRequest;r.onreadystatechange=function(){return r.readyState==XMLHttpRequest.DONE?200==r.status?void t(JSON.parse(r.responseText)):void n():void 0}.bind(this),r.open("GET",e,!0),r.send()}var o=window.React=e("react"),i=e("./searchbar.jsx"),a=e("./pluginlist.jsx"),u={},s={DownloadCountBatch:100,NpmSearchInitialSize:500};window.addEventListener("popstate",function(e){if(e.state){var t=o.render(o.createElement(u,null),document.getElementById("container"));t.loadFilterText(e.state.filterText)}});var u=o.createClass({displayName:"App",getInitialState:function(){var e=u.getURLParameter("q");return e?{plugins:[],filterText:e,placeHolderText:"Loading..."}:{plugins:[],filterText:"",placeHolderText:"Loading..."}},handleUserInput:function(e){this.setState({filterText:e})},addCondition:function(e){this.setState(function(t,n){return t.filterText.indexOf(e)>-1?{filterText:t.filterText,plugins:t.plugins}:{filterText:t.filterText.trim()+" "+e+" ",plugins:t.plugins}})},loadFilterText:function(e){this.setState(function(t,n){return{filterText:e,plugins:t.plugins}})},statics:{getURLParameter:function(e){return decodeURIComponent((new RegExp("[?|&]"+e+"=([^&;]+?)(&|#|;|$)").exec(location.search)||[,""])[1].replace(/\+/g,"%20"))||null},shallowCopy:function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}},componentDidMount:function(){function t(e,t){var n=t.length,r=new Date,o=864e5;e.forEach(function(e){for(var n=0;n<t.length;n++)if(t[n].name[0]===e)return void(t[n].isOfficial=!0)});for(var a=t.length-1;a>=0;a--)for(var s=0;s<i.length;s++)if(t[a].name[0]===i[s]){t.splice(a,1);break}for(var a=0;a<t.length;a++)t[a].modified=Math.ceil((r-new Date(t[a].modified))/o);if(this.isMounted()){var c=u.getURLParameter("q");this.setState(c?{plugins:t,filterText:c,placeHolderText:"Search "+n+" plugins..."}:{plugins:t,placeHolderText:"Search "+n+" plugins..."}),h(t,this)}}var n=[],o=e("./official-plugins.json").plugins,i=e("./blacklisted-plugins.json").plugins,a=0,c=this,l="http://npmsearch.com/query",p="fields=name,keywords,license,description,author,modified,homepage,version",f="q=keywords:%22ecosystem:cordova%22",d=s.NpmSearchInitialSize;r(l+"?"+p+"&"+f+"&size="+d+"&start=0",function(e){n=e.results,a=e.total,d>=a?t.bind(c,o,n)():r(l+"?"+p+"&"+f+"&size="+(a-d)+"&start="+d,function(e){n=[].concat(n,e.results),t.bind(c,o,n)()},function(){console.log("xhr err")})},function(){console.log("xhr err")});var h=function(e,t){for(var n="",o=0;o<e.length;o++)n+=e[o].name+",",(o%s.DownloadCountBatch===0||o===e.length-1)&&(r("https://api.npmjs.org/downloads/point/last-month/"+n,function(n){for(var r=0;r<e.length;r++)n[e[r].name]&&(e[r]=u.shallowCopy(e[r]),e[r].downloadCount=n[e[r].name].downloads);t.setState({plugins:e})}.bind(c),function(){console.log("xhr err")}),n="")}},render:function(){return o.createElement("div",null,o.createElement("div",{className:"row",id:"headerBackground"},o.createElement("div",{className:"col-xs-offset-2 col-xs-8"},o.createElement("div",{id:"topContent",className:"row"},o.createElement("div",{className:"col-xs-3"},o.createElement("div",{id:"pluggy"})),o.createElement("div",{className:"col-xs-9"},o.createElement("h1",null,o.createElement("p",{
-className:"discover-message"},"Search Cordova Plugins"))))),o.createElement(i,{initialValue:this.state.filterText,placeHolderText:this.state.placeHolderText,onUserInput:this.handleUserInput})),o.createElement("div",{className:"row"},o.createElement(a,{plugins:this.state.plugins,filterText:this.state.filterText})))}});u.start=function(){o.render(o.createElement(u,null),document.getElementById("container"))},t.exports=window.App=u},{"./blacklisted-plugins.json":159,"./official-plugins.json":160,"./pluginlist.jsx":163,"./searchbar.jsx":164,react:157}],159:[function(e,t,n){t.exports={plugins:["cordova-wp8","cordova-wp8-testtest","cordova-app-hello-world","delete-this"]}},{}],160:[function(e,t,n){t.exports={plugins:["cordova-plugin-battery-status","cordova-plugin-camera","cordova-plugin-console","cordova-plugin-contacts","cordova-plugin-device","cordova-plugin-device-motion","cordova-plugin-device-orientation","cordova-plugin-dialogs","cordova-plugin-file","cordova-plugin-file-transfer","cordova-plugin-geolocation","cordova-plugin-globalization","cordova-plugin-inappbrowser","cordova-plugin-legacy-whitelist","cordova-plugin-media","cordova-plugin-media-capture","cordova-plugin-ms-appinsights","cordova-plugin-network-information","cordova-plugin-splashscreen","cordova-plugin-statusbar","cordova-plugin-vibration","cordova-plugin-whitelist"]}},{}],161:[function(e,t,n){var r=e("react"),o=r.createClass({displayName:"PlatformButton",onClick:function(){var e=r.render(r.createElement(App,null),document.getElementById("container"));e.addCondition("platform:"+this.props.platform)},render:function(){return r.createElement("li",{className:"clickable",onClick:this.onClick}," ",this.props.platform," ")}});t.exports=o},{react:157}],162:[function(e,t,n){var r=e("react"),o=e("./supportedplatforms.jsx"),i=e("classnames"),a=r.createClass({displayName:"Plugin",shouldComponentUpdate:function(e,t){return this.props.plugin!==e.plugin},render:function(){var e=this.props.plugin.license;e&&e.length>1&&(e=e[0]);var t,n=i({pluginCard:!0,featuredPlugin:this.props.plugin.isOfficial,row:!0});if(this.props.plugin.downloadCount){var a=this.props.plugin.downloadCount.toLocaleString();t=r.createElement("p",null,r.createElement("small",null," ",a," downloads last month"))}return r.createElement("li",null,r.createElement("div",{className:n},r.createElement("div",{className:"primaryContent col-xs-9"},r.createElement("div",{className:"header"},r.createElement("h3",null,r.createElement("a",{href:"https://www.npmjs.com/package/"+this.props.plugin.name,target:"_blank"},this.props.plugin.name)),r.createElement("small",{className:"pluginVersion"},"v",this.props.plugin.version),r.createElement("small",null," by "),r.createElement("small",{className:"pluginAuthor"},this.props.plugin.author)),r.createElement("div",{className:"pluginDesc"},this.props.plugin.description),r.createElement(o,{keywords:this.props.plugin.keywords})),r.createElement("div",{className:"secondaryContent col-xs-3"},r.createElement("div",{className:"download"},r.createElement("p",null)),r.createElement("div",{className:"extraInfo"},r.createElement("p",null,r.createElement("small",null,r.createElement("strong",null,"License:")," ",e)),t,r.createElement("p",null,r.createElement("small",null,r.createElement("em",null,"Last updated ",this.props.plugin.modified," days ago")))))))}});t.exports=a},{"./supportedplatforms.jsx":165,classnames:2,react:157}],163:[function(e,t,n){var r=e("react"),o=e("./plugin.jsx"),i=null,a=r.createClass({displayName:"PluginList",statics:{contains:function(e,t){var n=!0;return 0==e.length?n:t?(e.forEach(function(e){for(var r=!1,o=0;o<t.length;o++)t[o]&&t[o].toLowerCase().indexOf(e)>-1&&(r=!0);r||(n=!1)}),n):!1},populateFilters:function(e){var t=e.split(" "),n=[];return n.platforms=[],n.authors=[],n.licenses=[],n.searchWords=[],t.forEach(function(e){var t=e.split(":");if(1==t.length){var r=t[0].trim();r&&n.searchWords.push(r)}else if(t[1].trim()){var r=t[1].trim();switch(t[0]){case"platform":n.platforms.push(r);break;case"author":n.authors.push(r);break;case"license":n.licenses.push(r);break;default:n.searchWords.push(e)}}else n.searchWords.push(e)}),n}},render:function(){var e=[],t=this.props.filterText.toLowerCase(),n=function(){return function(e,t){clearTimeout(i),i=setTimeout(e,t)}}();n(function(){window.history.pushState({filterText:t},"","?q="+t)},2e3);var u=a.populateFilters(t);return this.props.plugins.forEach(function(t){var n=t.name.concat(t.author,t.keywords,t.license,t.description);a.contains(u.platforms,t.keywords)&&a.contains(u.authors,t.author)&&a.contains(u.licenses,t.license)&&a.contains(u.searchWords,n)&&e.push(r.createElement(o,{plugin:t,key:t.author+t.name}))}.bind(this)),r.createElement("div",{className:"col-xs-offset-2 col-xs-8"},r.createElement("ul",{className:"pluginList"},e))}});t.exports=a},{"./plugin.jsx":162,react:157}],164:[function(e,t,n){var r=e("baconjs").Bacon,o=React.createClass({displayName:"SearchBar",propTypes:{initialValue:React.PropTypes.string.isRequired,placeHolderText:React.PropTypes.string.isRequired,onUserInput:React.PropTypes.func.isRequired},getInitialState:function(){return{textValue:this.props.initialValue}},handleChange:function(e){this.setState({textValue:e.target.value})},componentDidMount:function(){var e=this,t=200,n=React.findDOMNode(this.refs.filterTextInput),o=r.fromEvent(n,"keydown").debounce(t).map(function(e){return e.target.value}).skipDuplicates(),i=o.flatMapLatest(function(e){return r.once(e)});i.onValue(function(t){e.props.onUserInput(t)})},render:function(){return React.createElement("div",{className:"col-xs-offset-2 col-xs-8"},React.createElement("div",{id:"searchwrapper"},React.createElement("input",{className:"searchBox",type:"search",autoComplete:"off",placeholder:this.props.placeHolderText,value:this.state.textValue,onChange:this.handleChange,ref:"filterTextInput"})))}});t.exports=o},{baconjs:1}],165:[function(e,t,n){var r=e("react"),o=e("./platformbutton.jsx"),i=r.createClass({displayName:"SupportedPlatforms",getInitialState:function(){return{moreClicked:!1}},onClick:function(){this.setState({moreClicked:!0})},render:function(){var e=this.props.keywords,t=[{present:!1,text:"Android"},{present:!1,text:"iOS"},{present:!1,text:"Windows"},{present:!1,text:"Blackberry10"}],n=[],i=[];for(e.indexOf("cordova-windows")>-1&&e.indexOf("cordova-windows8")>-1&&e.splice(e.indexOf("cordova-windows8"),1),e.forEach(function(e){switch(e){case"cordova-firefoxos":i.push(r.createElement(o,{platform:"FirefoxOS"}));break;case"cordova-android":t[0].present=!0;break;case"cordova-amazon-fireos":i.push(r.createElement(o,{platform:"FireOS"}));break;case"cordova-ubuntu":i.push(r.createElement(o,{platform:"Ubuntu"}));break;case"cordova-ios":t[1].present=!0;break;case"cordova-blackberry10":t[3].present=!0;break;case"cordova-wp8":i.push(r.createElement(o,{platform:"Windows Phone 8"}));break;case"cordova-windows8":case"cordova-windows":t[2].present=!0;break;case"cordova-browser":i.push(r.createElement(o,{platform:"Browser"}))}}),t.forEach(function(e){e.present&&n.push(r.createElement(o,{platform:e.text}))});n.length<4&&i.length>0;)n.push(i.shift());var a;return i.length>0&&!this.state.moreClicked&&(a=r.createElement("li",{className:"clickable",onClick:this.onClick},"...")),this.state.moreClicked||(i=null),r.createElement("ul",{className:"supportedPlatforms"},n,a,i)}});t.exports=i},{"./platformbutton.jsx":161,react:157}]},{},[158]);
\ No newline at end of file
+select:{phasedRegistrationNames:{bubbled:p({onSelect:null}),captured:p({onSelectCapture:null})},dependencies:[d.topBlur,d.topContextMenu,d.topFocus,d.topKeyDown,d.topMouseDown,d.topMouseUp,d.topSelectionChange]}},m=null,v=null,g=null,y=!1,E={eventTypes:h,extractEvents:function(e,t,n,r){switch(e){case d.topFocus:(l(t)||"true"===t.contentEditable)&&(m=t,v=n,g=null);break;case d.topBlur:m=null,v=null,g=null;break;case d.topMouseDown:y=!0;break;case d.topContextMenu:case d.topMouseUp:return y=!1,o(r);case d.topSelectionChange:case d.topKeyDown:case d.topKeyUp:return o(r)}}};t.exports=E},{"./EventConstants":16,"./EventPropagators":21,"./ReactInputSelection":67,"./SyntheticEvent":97,"./getActiveElement":123,"./isTextInputElement":140,"./keyOf":143,"./shallowEqual":152}],92:[function(e,t,n){"use strict";var r=Math.pow(2,53),o={createReactRootIndex:function(){return Math.ceil(Math.random()*r)}};t.exports=o},{}],93:[function(e,t,n){"use strict";var r=e("./EventConstants"),o=e("./EventPluginUtils"),i=e("./EventPropagators"),a=e("./SyntheticClipboardEvent"),u=e("./SyntheticEvent"),s=e("./SyntheticFocusEvent"),c=e("./SyntheticKeyboardEvent"),l=e("./SyntheticMouseEvent"),p=e("./SyntheticDragEvent"),f=e("./SyntheticTouchEvent"),d=e("./SyntheticUIEvent"),h=e("./SyntheticWheelEvent"),m=e("./getEventCharCode"),v=e("./invariant"),g=e("./keyOf"),y=(e("./warning"),r.topLevelTypes),E={blur:{phasedRegistrationNames:{bubbled:g({onBlur:!0}),captured:g({onBlurCapture:!0})}},click:{phasedRegistrationNames:{bubbled:g({onClick:!0}),captured:g({onClickCapture:!0})}},contextMenu:{phasedRegistrationNames:{bubbled:g({onContextMenu:!0}),captured:g({onContextMenuCapture:!0})}},copy:{phasedRegistrationNames:{bubbled:g({onCopy:!0}),captured:g({onCopyCapture:!0})}},cut:{phasedRegistrationNames:{bubbled:g({onCut:!0}),captured:g({onCutCapture:!0})}},doubleClick:{phasedRegistrationNames:{bubbled:g({onDoubleClick:!0}),captured:g({onDoubleClickCapture:!0})}},drag:{phasedRegistrationNames:{bubbled:g({onDrag:!0}),captured:g({onDragCapture:!0})}},dragEnd:{phasedRegistrationNames:{bubbled:g({onDragEnd:!0}),captured:g({onDragEndCapture:!0})}},dragEnter:{phasedRegistrationNames:{bubbled:g({onDragEnter:!0}),captured:g({onDragEnterCapture:!0})}},dragExit:{phasedRegistrationNames:{bubbled:g({onDragExit:!0}),captured:g({onDragExitCapture:!0})}},dragLeave:{phasedRegistrationNames:{bubbled:g({onDragLeave:!0}),captured:g({onDragLeaveCapture:!0})}},dragOver:{phasedRegistrationNames:{bubbled:g({onDragOver:!0}),captured:g({onDragOverCapture:!0})}},dragStart:{phasedRegistrationNames:{bubbled:g({onDragStart:!0}),captured:g({onDragStartCapture:!0})}},drop:{phasedRegistrationNames:{bubbled:g({onDrop:!0}),captured:g({onDropCapture:!0})}},focus:{phasedRegistrationNames:{bubbled:g({onFocus:!0}),captured:g({onFocusCapture:!0})}},input:{phasedRegistrationNames:{bubbled:g({onInput:!0}),captured:g({onInputCapture:!0})}},keyDown:{phasedRegistrationNames:{bubbled:g({onKeyDown:!0}),captured:g({onKeyDownCapture:!0})}},keyPress:{phasedRegistrationNames:{bubbled:g({onKeyPress:!0}),captured:g({onKeyPressCapture:!0})}},keyUp:{phasedRegistrationNames:{bubbled:g({onKeyUp:!0}),captured:g({onKeyUpCapture:!0})}},load:{phasedRegistrationNames:{bubbled:g({onLoad:!0}),captured:g({onLoadCapture:!0})}},error:{phasedRegistrationNames:{bubbled:g({onError:!0}),captured:g({onErrorCapture:!0})}},mouseDown:{phasedRegistrationNames:{bubbled:g({onMouseDown:!0}),captured:g({onMouseDownCapture:!0})}},mouseMove:{phasedRegistrationNames:{bubbled:g({onMouseMove:!0}),captured:g({onMouseMoveCapture:!0})}},mouseOut:{phasedRegistrationNames:{bubbled:g({onMouseOut:!0}),captured:g({onMouseOutCapture:!0})}},mouseOver:{phasedRegistrationNames:{bubbled:g({onMouseOver:!0}),captured:g({onMouseOverCapture:!0})}},mouseUp:{phasedRegistrationNames:{bubbled:g({onMouseUp:!0}),captured:g({onMouseUpCapture:!0})}},paste:{phasedRegistrationNames:{bubbled:g({onPaste:!0}),captured:g({onPasteCapture:!0})}},reset:{phasedRegistrationNames:{bubbled:g({onReset:!0}),captured:g({onResetCapture:!0})}},scroll:{phasedRegistrationNames:{bubbled:g({onScroll:!0}),captured:g({onScrollCapture:!0})}},submit:{phasedRegistrationNames:{bubbled:g({onSubmit:!0}),captured:g({onSubmitCapture:!0})}},touchCancel:{phasedRegistrationNames:{bubbled:g({onTouchCancel:!0}),captured:g({onTouchCancelCapture:!0})}},touchEnd:{phasedRegistrationNames:{bubbled:g({onTouchEnd:!0}),captured:g({onTouchEndCapture:!0})}},touchMove:{phasedRegistrationNames:{bubbled:g({onTouchMove:!0}),captured:g({onTouchMoveCapture:!0})}},touchStart:{phasedRegistrationNames:{bubbled:g({onTouchStart:!0}),captured:g({onTouchStartCapture:!0})}},wheel:{phasedRegistrationNames:{bubbled:g({onWheel:!0}),captured:g({onWheelCapture:!0})}}},b={topBlur:E.blur,topClick:E.click,topContextMenu:E.contextMenu,topCopy:E.copy,topCut:E.cut,topDoubleClick:E.doubleClick,topDrag:E.drag,topDragEnd:E.dragEnd,topDragEnter:E.dragEnter,topDragExit:E.dragExit,topDragLeave:E.dragLeave,topDragOver:E.dragOver,topDragStart:E.dragStart,topDrop:E.drop,topError:E.error,topFocus:E.focus,topInput:E.input,topKeyDown:E.keyDown,topKeyPress:E.keyPress,topKeyUp:E.keyUp,topLoad:E.load,topMouseDown:E.mouseDown,topMouseMove:E.mouseMove,topMouseOut:E.mouseOut,topMouseOver:E.mouseOver,topMouseUp:E.mouseUp,topPaste:E.paste,topReset:E.reset,topScroll:E.scroll,topSubmit:E.submit,topTouchCancel:E.touchCancel,topTouchEnd:E.touchEnd,topTouchMove:E.touchMove,topTouchStart:E.touchStart,topWheel:E.wheel};for(var C in b)b[C].dependencies=[C];var R={eventTypes:E,executeDispatch:function(e,t,n){var r=o.executeDispatch(e,t,n);r===!1&&(e.stopPropagation(),e.preventDefault())},extractEvents:function(e,t,n,r){var o=b[e];if(!o)return null;var g;switch(e){case y.topInput:case y.topLoad:case y.topError:case y.topReset:case y.topSubmit:g=u;break;case y.topKeyPress:if(0===m(r))return null;case y.topKeyDown:case y.topKeyUp:g=c;break;case y.topBlur:case y.topFocus:g=s;break;case y.topClick:if(2===r.button)return null;case y.topContextMenu:case y.topDoubleClick:case y.topMouseDown:case y.topMouseMove:case y.topMouseOut:case y.topMouseOver:case y.topMouseUp:g=l;break;case y.topDrag:case y.topDragEnd:case y.topDragEnter:case y.topDragExit:case y.topDragLeave:case y.topDragOver:case y.topDragStart:case y.topDrop:g=p;break;case y.topTouchCancel:case y.topTouchEnd:case y.topTouchMove:case y.topTouchStart:g=f;break;case y.topScroll:g=d;break;case y.topWheel:g=h;break;case y.topCopy:case y.topCut:case y.topPaste:g=a}v(g);var E=g.getPooled(o,n,r);return i.accumulateTwoPhaseDispatches(E),E}};t.exports=R},{"./EventConstants":16,"./EventPluginUtils":20,"./EventPropagators":21,"./SyntheticClipboardEvent":94,"./SyntheticDragEvent":96,"./SyntheticEvent":97,"./SyntheticFocusEvent":98,"./SyntheticKeyboardEvent":100,"./SyntheticMouseEvent":101,"./SyntheticTouchEvent":102,"./SyntheticUIEvent":103,"./SyntheticWheelEvent":104,"./getEventCharCode":124,"./invariant":137,"./keyOf":143,"./warning":156}],94:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e("./SyntheticEvent"),i={clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}};o.augmentClass(r,i),t.exports=r},{"./SyntheticEvent":97}],95:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e("./SyntheticEvent"),i={data:null};o.augmentClass(r,i),t.exports=r},{"./SyntheticEvent":97}],96:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e("./SyntheticMouseEvent"),i={dataTransfer:null};o.augmentClass(r,i),t.exports=r},{"./SyntheticMouseEvent":101}],97:[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];this[o]=i?i(n):n[o]}var u=null!=n.defaultPrevented?n.defaultPrevented:n.returnValue===!1;this.isDefaultPrevented=u?a.thatReturnsTrue:a.thatReturnsFalse,this.isPropagationStopped=a.thatReturnsFalse}var o=e("./PooledClass"),i=e("./Object.assign"),a=e("./emptyFunction"),u=e("./getEventTarget"),s={type:null,target:u,currentTarget:a.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=a.thatReturnsTrue},stopPropagation:function(){var e=this.nativeEvent;e.stopPropagation?e.stopPropagation():e.cancelBubble=!0,this.isPropagationStopped=a.thatReturnsTrue},persist:function(){this.isPersistent=a.thatReturnsTrue},isPersistent:a.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=s,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),t.exports=r},{"./Object.assign":28,"./PooledClass":29,"./emptyFunction":116,"./getEventTarget":127}],98:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e("./SyntheticUIEvent"),i={relatedTarget:null};o.augmentClass(r,i),t.exports=r},{"./SyntheticUIEvent":103}],99:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e("./SyntheticEvent"),i={data:null};o.augmentClass(r,i),t.exports=r},{"./SyntheticEvent":97}],100:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e("./SyntheticUIEvent"),i=e("./getEventCharCode"),a=e("./getEventKey"),u=e("./getEventModifierState"),s={key:a,location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:u,charCode:function(e){return"keypress"===e.type?i(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?i(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}};o.augmentClass(r,s),t.exports=r},{"./SyntheticUIEvent":103,"./getEventCharCode":124,"./getEventKey":125,"./getEventModifierState":126}],101:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e("./SyntheticUIEvent"),i=e("./ViewportMetrics"),a=e("./getEventModifierState"),u={screenX:null,screenY:null,clientX:null,clientY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:a,button:function(e){var t=e.button;return"which"in e?t:2===t?2:4===t?1:0},buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},pageX:function(e){return"pageX"in e?e.pageX:e.clientX+i.currentScrollLeft},pageY:function(e){return"pageY"in e?e.pageY:e.clientY+i.currentScrollTop}};o.augmentClass(r,u),t.exports=r},{"./SyntheticUIEvent":103,"./ViewportMetrics":106,"./getEventModifierState":126}],102:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e("./SyntheticUIEvent"),i=e("./getEventModifierState"),a={touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:i};o.augmentClass(r,a),t.exports=r},{"./SyntheticUIEvent":103,"./getEventModifierState":126}],103:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e("./SyntheticEvent"),i=e("./getEventTarget"),a={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,a),t.exports=r},{"./SyntheticEvent":97,"./getEventTarget":127}],104:[function(e,t,n){"use strict";function r(e,t,n){o.call(this,e,t,n)}var o=e("./SyntheticMouseEvent"),i={deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null};o.augmentClass(r,i),t.exports=r},{"./SyntheticMouseEvent":101}],105:[function(e,t,n){"use strict";var r=e("./invariant"),o={reinitializeTransaction:function(){this.transactionWrappers=this.getTransactionWrappers(),this.wrapperInitData?this.wrapperInitData.length=0:this.wrapperInitData=[],this._isInTransaction=!1},_isInTransaction:!1,getTransactionWrappers:null,isInTransaction:function(){return!!this._isInTransaction},perform:function(e,t,n,o,i,a,u,s){r(!this.isInTransaction());var c,l;try{this._isInTransaction=!0,c=!0,this.initializeAll(0),l=e.call(t,n,o,i,a,u,s),c=!1}finally{try{if(c)try{this.closeAll(0)}catch(p){}else this.closeAll(0)}finally{this._isInTransaction=!1}}return l},initializeAll:function(e){for(var t=this.transactionWrappers,n=e;n<t.length;n++){var r=t[n];try{this.wrapperInitData[n]=i.OBSERVED_ERROR,this.wrapperInitData[n]=r.initialize?r.initialize.call(this):null}finally{if(this.wrapperInitData[n]===i.OBSERVED_ERROR)try{this.initializeAll(n+1)}catch(o){}}}},closeAll:function(e){r(this.isInTransaction());for(var t=this.transactionWrappers,n=e;n<t.length;n++){var o,a=t[n],u=this.wrapperInitData[n];try{o=!0,u!==i.OBSERVED_ERROR&&a.close&&a.close.call(this,u),o=!1}finally{if(o)try{this.closeAll(n+1)}catch(s){}}}this.wrapperInitData.length=0}},i={Mixin:o,OBSERVED_ERROR:{}};t.exports=i},{"./invariant":137}],106:[function(e,t,n){"use strict";var r={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function(e){r.currentScrollLeft=e.x,r.currentScrollTop=e.y}};t.exports=r},{}],107:[function(e,t,n){"use strict";function r(e,t){if(o(null!=t),null==e)return t;var n=Array.isArray(e),r=Array.isArray(t);return n&&r?(e.push.apply(e,t),e):n?(e.push(t),e):r?[e].concat(t):[e,t]}var o=e("./invariant");t.exports=r},{"./invariant":137}],108:[function(e,t,n){"use strict";function r(e){for(var t=1,n=0,r=0;r<e.length;r++)t=(t+e.charCodeAt(r))%o,n=(n+t)%o;return t|n<<16}var o=65521;t.exports=r},{}],109:[function(e,t,n){function r(e){return e.replace(o,function(e,t){return t.toUpperCase()})}var o=/-(.)/g;t.exports=r},{}],110:[function(e,t,n){"use strict";function r(e){return o(e.replace(i,"ms-"))}var o=e("./camelize"),i=/^-ms-/;t.exports=r},{"./camelize":109}],111:[function(e,t,n){function r(e,t){return e&&t?e===t?!0:o(e)?!1:o(t)?r(e,t.parentNode):e.contains?e.contains(t):e.compareDocumentPosition?!!(16&e.compareDocumentPosition(t)):!1:!1}var o=e("./isTextNode");t.exports=r},{"./isTextNode":141}],112:[function(e,t,n){function r(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"length"in e&&!("setInterval"in e)&&"number"!=typeof e.nodeType&&(Array.isArray(e)||"callee"in e||"item"in e)}function o(e){return r(e)?Array.isArray(e)?e.slice():i(e):[e]}var i=e("./toArray");t.exports=o},{"./toArray":154}],113:[function(e,t,n){"use strict";function r(e){var t=i.createFactory(e),n=o.createClass({tagName:e.toUpperCase(),displayName:"ReactFullPageComponent"+e,componentWillUnmount:function(){a(!1)},render:function(){return t(this.props)}});return n}var o=e("./ReactClass"),i=e("./ReactElement"),a=e("./invariant");t.exports=r},{"./ReactClass":35,"./ReactElement":59,"./invariant":137}],114:[function(e,t,n){function r(e){var t=e.match(l);return t&&t[1].toLowerCase()}function o(e,t){var n=c;s(!!c);var o=r(e),i=o&&u(o);if(i){n.innerHTML=i[1]+e+i[2];for(var l=i[0];l--;)n=n.lastChild}else n.innerHTML=e;var p=n.getElementsByTagName("script");p.length&&(s(t),a(p).forEach(t));for(var f=a(n.childNodes);n.lastChild;)n.removeChild(n.lastChild);return f}var i=e("./ExecutionEnvironment"),a=e("./createArrayFromMixed"),u=e("./getMarkupWrap"),s=e("./invariant"),c=i.canUseDOM?document.createElement("div"):null,l=/^\s*<(\w+)/;t.exports=o},{"./ExecutionEnvironment":22,"./createArrayFromMixed":112,"./getMarkupWrap":129,"./invariant":137}],115:[function(e,t,n){"use strict";function r(e,t){var n=null==t||"boolean"==typeof t||""===t;if(n)return"";var r=isNaN(t);return r||0===t||i.hasOwnProperty(e)&&i[e]?""+t:("string"==typeof t&&(t=t.trim()),t+"px")}var o=e("./CSSProperty"),i=o.isUnitlessNumber;t.exports=r},{"./CSSProperty":5}],116:[function(e,t,n){function r(e){return function(){return e}}function o(){}o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},t.exports=o},{}],117:[function(e,t,n){"use strict";var r={};t.exports=r},{}],118:[function(e,t,n){"use strict";function r(e){return i[e]}function o(e){return(""+e).replace(a,r)}var i={"&":"&amp;",">":"&gt;","<":"&lt;",'"':"&quot;","'":"&#x27;"},a=/[&><"']/g;t.exports=o},{}],119:[function(e,t,n){"use strict";function r(e){return null==e?null:u(e)?e:o.has(e)?i.getNodeFromInstance(e):(a(null==e.render||"function"!=typeof e.render),void a(!1))}{var o=(e("./ReactCurrentOwner"),e("./ReactInstanceMap")),i=e("./ReactMount"),a=e("./invariant"),u=e("./isNode");e("./warning")}t.exports=r},{"./ReactCurrentOwner":41,"./ReactInstanceMap":69,"./ReactMount":72,"./invariant":137,"./isNode":139,"./warning":156}],120:[function(e,t,n){"use strict";function r(e,t,n){var r=e,o=!r.hasOwnProperty(n);o&&null!=t&&(r[n]=t)}function o(e){if(null==e)return e;var t={};return i(e,r,t),t}{var i=e("./traverseAllChildren");e("./warning")}t.exports=o},{"./traverseAllChildren":155,"./warning":156}],121:[function(e,t,n){"use strict";function r(e){try{e.focus()}catch(t){}}t.exports=r},{}],122:[function(e,t,n){"use strict";var r=function(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)};t.exports=r},{}],123:[function(e,t,n){function r(){try{return document.activeElement||document.body}catch(e){return document.body}}t.exports=r},{}],124:[function(e,t,n){"use strict";function r(e){var t,n=e.keyCode;return"charCode"in e?(t=e.charCode,0===t&&13===n&&(t=13)):t=n,t>=32||13===t?t:0}t.exports=r},{}],125:[function(e,t,n){"use strict";function r(e){if(e.key){var t=i[e.key]||e.key;if("Unidentified"!==t)return t}if("keypress"===e.type){var n=o(e);return 13===n?"Enter":String.fromCharCode(n)}return"keydown"===e.type||"keyup"===e.type?a[e.keyCode]||"Unidentified":""}var o=e("./getEventCharCode"),i={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},a={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"};t.exports=r},{"./getEventCharCode":124}],126:[function(e,t,n){"use strict";function r(e){var t=this,n=t.nativeEvent;if(n.getModifierState)return n.getModifierState(e);var r=i[e];return r?!!n[r]:!1}function o(e){return r}var i={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};t.exports=o},{}],127:[function(e,t,n){"use strict";function r(e){var t=e.target||e.srcElement||window;return 3===t.nodeType?t.parentNode:t}t.exports=r},{}],128:[function(e,t,n){"use strict";function r(e){var t=e&&(o&&e[o]||e[i]);return"function"==typeof t?t:void 0}var o="function"==typeof Symbol&&Symbol.iterator,i="@@iterator";t.exports=r},{}],129:[function(e,t,n){function r(e){return i(!!a),f.hasOwnProperty(e)||(e="*"),u.hasOwnProperty(e)||(a.innerHTML="*"===e?"<link />":"<"+e+"></"+e+">",u[e]=!a.firstChild),u[e]?f[e]:null}var o=e("./ExecutionEnvironment"),i=e("./invariant"),a=o.canUseDOM?document.createElement("div"):null,u={circle:!0,clipPath:!0,defs:!0,ellipse:!0,g:!0,line:!0,linearGradient:!0,path:!0,polygon:!0,polyline:!0,radialGradient:!0,rect:!0,stop:!0,text:!0},s=[1,'<select multiple="true">',"</select>"],c=[1,"<table>","</table>"],l=[3,"<table><tbody><tr>","</tr></tbody></table>"],p=[1,"<svg>","</svg>"],f={"*":[1,"?<div>","</div>"],area:[1,"<map>","</map>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],legend:[1,"<fieldset>","</fieldset>"],param:[1,"<object>","</object>"],tr:[2,"<table><tbody>","</tbody></table>"],optgroup:s,option:s,caption:c,colgroup:c,tbody:c,tfoot:c,thead:c,td:l,th:l,circle:p,clipPath:p,defs:p,ellipse:p,g:p,line:p,linearGradient:p,path:p,polygon:p,polyline:p,radialGradient:p,rect:p,stop:p,text:p};t.exports=r},{"./ExecutionEnvironment":22,"./invariant":137}],130:[function(e,t,n){"use strict";function r(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function o(e){for(;e;){if(e.nextSibling)return e.nextSibling;e=e.parentNode}}function i(e,t){for(var n=r(e),i=0,a=0;n;){if(3===n.nodeType){if(a=i+n.textContent.length,t>=i&&a>=t)return{node:n,offset:t-i};i=a}n=r(o(n))}}t.exports=i},{}],131:[function(e,t,n){"use strict";function r(e){return e?e.nodeType===o?e.documentElement:e.firstChild:null}var o=9;t.exports=r},{}],132:[function(e,t,n){"use strict";function r(){return!i&&o.canUseDOM&&(i="textContent"in document.documentElement?"textContent":"innerText"),i}var o=e("./ExecutionEnvironment"),i=null;t.exports=r},{"./ExecutionEnvironment":22}],133:[function(e,t,n){"use strict";function r(e){return e===window?{x:window.pageXOffset||document.documentElement.scrollLeft,y:window.pageYOffset||document.documentElement.scrollTop}:{x:e.scrollLeft,y:e.scrollTop}}t.exports=r},{}],134:[function(e,t,n){function r(e){return e.replace(o,"-$1").toLowerCase()}var o=/([A-Z])/g;t.exports=r},{}],135:[function(e,t,n){"use strict";function r(e){return o(e).replace(i,"-ms-")}var o=e("./hyphenate"),i=/^ms-/;t.exports=r},{"./hyphenate":134}],136:[function(e,t,n){"use strict";function r(e){return"function"==typeof e&&"undefined"!=typeof e.prototype&&"function"==typeof e.prototype.mountComponent&&"function"==typeof e.prototype.receiveComponent}function o(e,t){var n;if((null===e||e===!1)&&(e=a.emptyElement),"object"==typeof e){var o=e;n=t===o.type&&"string"==typeof o.type?u.createInternalComponent(o):r(o.type)?new o.type(o):new l}else"string"==typeof e||"number"==typeof e?n=u.createInstanceForText(e):c(!1);return n.construct(e),n._mountIndex=0,n._mountImage=null,n}var i=e("./ReactCompositeComponent"),a=e("./ReactEmptyComponent"),u=e("./ReactNativeComponent"),s=e("./Object.assign"),c=e("./invariant"),l=(e("./warning"),function(){});s(l.prototype,i.Mixin,{_instantiateReactComponent:o}),t.exports=o},{"./Object.assign":28,"./ReactCompositeComponent":39,"./ReactEmptyComponent":61,"./ReactNativeComponent":75,"./invariant":137,"./warning":156}],137:[function(e,t,n){"use strict";var r=function(e,t,n,r,o,i,a,u){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,i,a,u],l=0;s=new Error("Invariant Violation: "+t.replace(/%s/g,function(){return c[l++]}))}throw s.framesToPop=1,s}};t.exports=r},{}],138:[function(e,t,n){"use strict";function r(e,t){if(!i.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,r=n in document;if(!r){var a=document.createElement("div");a.setAttribute(n,"return;"),r="function"==typeof a[n]}return!r&&o&&"wheel"===e&&(r=document.implementation.hasFeature("Events.wheel","3.0")),r}var o,i=e("./ExecutionEnvironment");i.canUseDOM&&(o=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0),t.exports=r},{"./ExecutionEnvironment":22}],139:[function(e,t,n){function r(e){return!(!e||!("function"==typeof Node?e instanceof Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName))}t.exports=r},{}],140:[function(e,t,n){"use strict";function r(e){return e&&("INPUT"===e.nodeName&&o[e.type]||"TEXTAREA"===e.nodeName)}var o={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};t.exports=r},{}],141:[function(e,t,n){function r(e){return o(e)&&3==e.nodeType}var o=e("./isNode");t.exports=r},{"./isNode":139}],142:[function(e,t,n){"use strict";var r=e("./invariant"),o=function(e){var t,n={};r(e instanceof Object&&!Array.isArray(e));for(t in e)e.hasOwnProperty(t)&&(n[t]=t);return n};t.exports=o},{"./invariant":137}],143:[function(e,t,n){var r=function(e){var t;for(t in e)if(e.hasOwnProperty(t))return t;return null};t.exports=r},{}],144:[function(e,t,n){"use strict";function r(e,t,n){if(!e)return null;var r={};for(var i in e)o.call(e,i)&&(r[i]=t.call(n,e[i],i,e));return r}var o=Object.prototype.hasOwnProperty;t.exports=r},{}],145:[function(e,t,n){"use strict";function r(e){var t={};return function(n){return t.hasOwnProperty(n)||(t[n]=e.call(this,n)),t[n]}}t.exports=r},{}],146:[function(e,t,n){"use strict";function r(e){return i(o.isValidElement(e)),e}var o=e("./ReactElement"),i=e("./invariant");t.exports=r},{"./ReactElement":59,"./invariant":137}],147:[function(e,t,n){"use strict";var r,o=e("./ExecutionEnvironment");o.canUseDOM&&(r=window.performance||window.msPerformance||window.webkitPerformance),t.exports=r||{}},{"./ExecutionEnvironment":22}],148:[function(e,t,n){var r=e("./performance");r&&r.now||(r=Date);var o=r.now.bind(r);t.exports=o},{"./performance":147}],149:[function(e,t,n){"use strict";function r(e){return'"'+o(e)+'"'}var o=e("./escapeTextContentForBrowser");t.exports=r},{"./escapeTextContentForBrowser":118}],150:[function(e,t,n){"use strict";var r=e("./ExecutionEnvironment"),o=/^[ \r\n\t\f]/,i=/<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/,a=function(e,t){e.innerHTML=t};if("undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction&&(a=function(e,t){MSApp.execUnsafeLocalFunction(function(){e.innerHTML=t})}),r.canUseDOM){var u=document.createElement("div");u.innerHTML=" ",""===u.innerHTML&&(a=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),o.test(t)||"<"===t[0]&&i.test(t)){e.innerHTML="\ufeff"+t;var n=e.firstChild;1===n.data.length?e.removeChild(n):n.deleteData(0,1)}else e.innerHTML=t})}t.exports=a},{"./ExecutionEnvironment":22}],151:[function(e,t,n){"use strict";var r=e("./ExecutionEnvironment"),o=e("./escapeTextContentForBrowser"),i=e("./setInnerHTML"),a=function(e,t){e.textContent=t};r.canUseDOM&&("textContent"in document.documentElement||(a=function(e,t){i(e,o(t))})),t.exports=a},{"./ExecutionEnvironment":22,"./escapeTextContentForBrowser":118,"./setInnerHTML":150}],152:[function(e,t,n){"use strict";function r(e,t){if(e===t)return!0;var n;for(n in e)if(e.hasOwnProperty(n)&&(!t.hasOwnProperty(n)||e[n]!==t[n]))return!1;for(n in t)if(t.hasOwnProperty(n)&&!e.hasOwnProperty(n))return!1;return!0}t.exports=r},{}],153:[function(e,t,n){"use strict";function r(e,t){if(null!=e&&null!=t){var n=typeof e,r=typeof t;if("string"===n||"number"===n)return"string"===r||"number"===r;if("object"===r&&e.type===t.type&&e.key===t.key){var o=e._owner===t._owner;return o}}return!1}e("./warning");t.exports=r},{"./warning":156}],154:[function(e,t,n){function r(e){var t=e.length;if(o(!Array.isArray(e)&&("object"==typeof e||"function"==typeof e)),o("number"==typeof t),o(0===t||t-1 in e),e.hasOwnProperty)try{return Array.prototype.slice.call(e)}catch(n){}for(var r=Array(t),i=0;t>i;i++)r[i]=e[i];return r}var o=e("./invariant");t.exports=r},{"./invariant":137}],155:[function(e,t,n){"use strict";function r(e){return v[e]}function o(e,t){return e&&null!=e.key?a(e.key):t.toString(36)}function i(e){return(""+e).replace(g,r)}function a(e){return"$"+i(e)}function u(e,t,n,r,i){var s=typeof e;if(("undefined"===s||"boolean"===s)&&(e=null),null===e||"string"===s||"number"===s||c.isValidElement(e))return r(i,e,""===t?h+o(e,0):t,n),1;var p,v,g,y=0;if(Array.isArray(e))for(var E=0;E<e.length;E++)p=e[E],v=(""!==t?t+m:h)+o(p,E),g=n+y,y+=u(p,v,g,r,i);else{var b=f(e);if(b){var C,R=b.call(e);if(b!==e.entries)for(var w=0;!(C=R.next()).done;)p=C.value,v=(""!==t?t+m:h)+o(p,w++),g=n+y,y+=u(p,v,g,r,i);else for(;!(C=R.next()).done;){var M=C.value;M&&(p=M[1],v=(""!==t?t+m:h)+a(M[0])+m+o(p,0),g=n+y,y+=u(p,v,g,r,i))}}else if("object"===s){d(1!==e.nodeType);var x=l.extract(e);for(var D in x)x.hasOwnProperty(D)&&(p=x[D],v=(""!==t?t+m:h)+a(D)+m+o(p,0),g=n+y,y+=u(p,v,g,r,i))}}return y}function s(e,t,n){return null==e?0:u(e,"",0,t,n)}var c=e("./ReactElement"),l=e("./ReactFragment"),p=e("./ReactInstanceHandles"),f=e("./getIteratorFn"),d=e("./invariant"),h=(e("./warning"),p.SEPARATOR),m=":",v={"=":"=0",".":"=1",":":"=2"},g=/[=.:]/g;t.exports=s},{"./ReactElement":59,"./ReactFragment":65,"./ReactInstanceHandles":68,"./getIteratorFn":128,"./invariant":137,"./warning":156}],156:[function(e,t,n){"use strict";var r=e("./emptyFunction"),o=r;t.exports=o},{"./emptyFunction":116}],157:[function(e,t,n){t.exports=e("./lib/React")},{"./lib/React":30}],158:[function(e,t,n){function r(e,t,n){var r=new XMLHttpRequest;r.onreadystatechange=function(){return r.readyState==XMLHttpRequest.DONE?200==r.status?void t(JSON.parse(r.responseText)):void n():void 0}.bind(this),r.open("GET",e,!0),r.send()}var o=window.React=e("react"),i=e("./searchbar.jsx"),a=e("./pluginlist.jsx"),u={},s={DownloadCountBatch:100,NpmSearchInitialSize:500};window.addEventListener("popstate",function(e){if(e.state){var t=o.render(o.createElement(u,null),document.getElementById("container"));t.loadFilterText(e.state.filterText)}});var u=o.createClass({displayName:"App",getInitialState:function(){var e=u.getURLParameter("q");return e?{plugins:[],filterText:e,placeHolderText:"Loading..."}:{plugins:[],filterText:"",placeHolderText:"Loading..."}},handleUserInput:function(e){this.setState({filterText:e})},addCondition:function(e){this.setState(function(t,n){return t.filterText.indexOf(e)>-1?{filterText:t.filterText,plugins:t.plugins}:{filterText:t.filterText.trim()+" "+e+" ",plugins:t.plugins}})},loadFilterText:function(e){this.setState(function(t,n){return{filterText:e,plugins:t.plugins}})},statics:{getURLParameter:function(e){return decodeURIComponent((new RegExp("[?|&]"+e+"=([^&;]+?)(&|#|;|$)").exec(location.search)||[,""])[1].replace(/\+/g,"%20"))||null},shallowCopy:function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}},componentDidMount:function(){function t(e,t){var n=t.length,r=new Date,o=864e5;e.forEach(function(e){for(var n=0;n<t.length;n++)if(t[n].name[0]===e)return void(t[n].isOfficial=!0)});for(var a=t.length-1;a>=0;a--)for(var s=0;s<i.length;s++)if(t[a].name[0]===i[s]){t.splice(a,1);break}for(var a=0;a<t.length;a++)t[a].modified=Math.ceil((r-new Date(t[a].modified))/o);if(this.isMounted()){var c=u.getURLParameter("q");this.setState(c?{plugins:t,filterText:c,placeHolderText:"Search "+n+" plugins..."}:{plugins:t,placeHolderText:"Search "+n+" plugins..."}),h(t,this)}}var n=[],o=e("./official-plugins.json").plugins,i=e("./blacklisted-plugins.json").plugins,a=0,c=this,l="http://npmsearch.com/query",p="fields=name,keywords,license,description,author,modified,homepage,version",f="q=keywords:%22ecosystem:cordova%22",d=s.NpmSearchInitialSize;r(l+"?"+p+"&"+f+"&size="+d+"&start=0",function(e){n=e.results,a=e.total,d>=a?t.bind(c,o,n)():r(l+"?"+p+"&"+f+"&size="+(a-d)+"&start="+d,function(e){n=[].concat(n,e.results),t.bind(c,o,n)()},function(){console.log("xhr err")})},function(){console.log("xhr err")});var h=function(e,t){for(var n="",o=0;o<e.length;o++)n+=e[o].name+",",(o%s.DownloadCountBatch===0||o===e.length-1)&&(r("https://api.npmjs.org/downloads/point/last-month/"+n,function(n){for(var r=0;r<e.length;r++)n[e[r].name]&&(e[r]=u.shallowCopy(e[r]),e[r].downloadCount=n[e[r].name].downloads);t.setState({plugins:e})}.bind(c),function(){console.log("xhr err")}),n="")}},render:function(){return o.createElement("div",null,o.createElement("div",{id:"headblock"},o.createElement("div",{id:"topcontent"},o.createElement("div",{id:"pluggy"}),o.createElement("div",{id:"discovermessage"},o.createElement("h1",null,"Search Cordova Plugins"))),o.createElement(i,{initialValue:this.state.filterText,placeHolderText:this.state.placeHolderText,onUserInput:this.handleUserInput
+})),o.createElement(a,{plugins:this.state.plugins,filterText:this.state.filterText}))}});u.start=function(){o.render(o.createElement(u,null),document.getElementById("container"))},t.exports=window.App=u},{"./blacklisted-plugins.json":159,"./official-plugins.json":160,"./pluginlist.jsx":163,"./searchbar.jsx":164,react:157}],159:[function(e,t,n){t.exports={plugins:["cordova-wp8","cordova-wp8-testtest","cordova-app-hello-world","delete-this"]}},{}],160:[function(e,t,n){t.exports={plugins:["cordova-plugin-battery-status","cordova-plugin-camera","cordova-plugin-console","cordova-plugin-contacts","cordova-plugin-device","cordova-plugin-device-motion","cordova-plugin-device-orientation","cordova-plugin-dialogs","cordova-plugin-file","cordova-plugin-file-transfer","cordova-plugin-geolocation","cordova-plugin-globalization","cordova-plugin-inappbrowser","cordova-plugin-legacy-whitelist","cordova-plugin-media","cordova-plugin-media-capture","cordova-plugin-ms-appinsights","cordova-plugin-network-information","cordova-plugin-splashscreen","cordova-plugin-statusbar","cordova-plugin-vibration","cordova-plugin-whitelist"]}},{}],161:[function(e,t,n){var r=e("react"),o=r.createClass({displayName:"PlatformButton",onClick:function(){var e=r.render(r.createElement(App,null),document.getElementById("container"));e.addCondition("platform:"+this.props.platform)},render:function(){return r.createElement("li",{className:"clickable",onClick:this.onClick}," ",this.props.platform," ")}});t.exports=o},{react:157}],162:[function(e,t,n){var r=e("react"),o=e("./supportedplatforms.jsx"),i=e("classnames"),a=r.createClass({displayName:"Plugin",shouldComponentUpdate:function(e,t){return this.props.plugin!==e.plugin},render:function(){var e=this.props.plugin.license;e&&e.length>1&&(e=e[0]);var t,n=i({pluginCard:!0,featuredPlugin:this.props.plugin.isOfficial});if(this.props.plugin.downloadCount){var a=this.props.plugin.downloadCount.toLocaleString();t=r.createElement("p",null,r.createElement("small",null," ",a," downloads last month"))}return r.createElement("li",null,r.createElement("div",{className:n},r.createElement("div",{className:"primaryContent"},r.createElement("div",{className:"header"},r.createElement("h3",null,r.createElement("a",{href:"https://www.npmjs.com/package/"+this.props.plugin.name,target:"_blank"},this.props.plugin.name)),r.createElement("small",{className:"pluginVersion"},"v",this.props.plugin.version),r.createElement("small",null," by "),r.createElement("small",{className:"pluginAuthor"},this.props.plugin.author)),r.createElement("div",{className:"pluginDesc"},this.props.plugin.description)),r.createElement("div",{className:"secondaryContent"},r.createElement(o,{keywords:this.props.plugin.keywords}),r.createElement("div",{className:"extraInfo"},r.createElement("p",null,r.createElement("small",null,r.createElement("strong",null,"License:")," ",e)),t,r.createElement("p",null,r.createElement("small",null,r.createElement("em",null,"Last updated ",this.props.plugin.modified," days ago")))))))}});t.exports=a},{"./supportedplatforms.jsx":165,classnames:2,react:157}],163:[function(e,t,n){var r=e("react"),o=e("./plugin.jsx"),i=null,a=r.createClass({displayName:"PluginList",statics:{contains:function(e,t){var n=!0;return 0==e.length?n:t?(e.forEach(function(e){for(var r=!1,o=0;o<t.length;o++)t[o]&&t[o].toLowerCase().indexOf(e)>-1&&(r=!0);r||(n=!1)}),n):!1},populateFilters:function(e){var t=e.split(" "),n=[];return n.platforms=[],n.authors=[],n.licenses=[],n.searchWords=[],t.forEach(function(e){var t=e.split(":");if(1==t.length){var r=t[0].trim();r&&n.searchWords.push(r)}else if(t[1].trim()){var r=t[1].trim();switch(t[0]){case"platform":n.platforms.push(r);break;case"author":n.authors.push(r);break;case"license":n.licenses.push(r);break;default:n.searchWords.push(e)}}else n.searchWords.push(e)}),n}},render:function(){var e=[],t=this.props.filterText.toLowerCase(),n=function(){return function(e,t){clearTimeout(i),i=setTimeout(e,t)}}();n(function(){window.history.pushState({filterText:t},"","?q="+t)},2e3);var u=a.populateFilters(t);return this.props.plugins.forEach(function(t){var n=t.name.concat(t.author,t.keywords,t.license,t.description);a.contains(u.platforms,t.keywords)&&a.contains(u.authors,t.author)&&a.contains(u.licenses,t.license)&&a.contains(u.searchWords,n)&&e.push(r.createElement(o,{plugin:t,key:t.author+t.name}))}.bind(this)),r.createElement("div",{className:"contentwrap"},r.createElement("ul",{className:"pluginList"},e))}});t.exports=a},{"./plugin.jsx":162,react:157}],164:[function(e,t,n){var r=e("baconjs").Bacon,o=React.createClass({displayName:"SearchBar",propTypes:{initialValue:React.PropTypes.string.isRequired,placeHolderText:React.PropTypes.string.isRequired,onUserInput:React.PropTypes.func.isRequired},getInitialState:function(){return{textValue:this.props.initialValue}},handleChange:function(e){this.setState({textValue:e.target.value})},componentDidMount:function(){var e=this,t=200,n=React.findDOMNode(this.refs.filterTextInput),o=r.fromEvent(n,"keydown").debounce(t).map(function(e){return e.target.value}).skipDuplicates(),i=o.flatMapLatest(function(e){return r.once(e)});i.onValue(function(t){e.props.onUserInput(t)})},render:function(){return React.createElement("div",{className:"contentwrap"},React.createElement("div",{id:"search"},React.createElement("input",{className:"searchBox",type:"search",autoComplete:"off",placeholder:this.props.placeHolderText,value:this.state.textValue,onChange:this.handleChange,ref:"filterTextInput"})))}});t.exports=o},{baconjs:1}],165:[function(e,t,n){var r=e("react"),o=e("./platformbutton.jsx"),i=r.createClass({displayName:"SupportedPlatforms",getInitialState:function(){return{moreClicked:!1}},onClick:function(){this.setState({moreClicked:!0})},render:function(){var e=this.props.keywords,t=[{present:!1,text:"Android"},{present:!1,text:"iOS"},{present:!1,text:"Windows"},{present:!1,text:"Blackberry10"}],n=[],i=[];for(e.indexOf("cordova-windows")>-1&&e.indexOf("cordova-windows8")>-1&&e.splice(e.indexOf("cordova-windows8"),1),e.forEach(function(e){switch(e){case"cordova-firefoxos":i.push(r.createElement(o,{platform:"FirefoxOS"}));break;case"cordova-android":t[0].present=!0;break;case"cordova-amazon-fireos":i.push(r.createElement(o,{platform:"FireOS"}));break;case"cordova-ubuntu":i.push(r.createElement(o,{platform:"Ubuntu"}));break;case"cordova-ios":t[1].present=!0;break;case"cordova-blackberry10":t[3].present=!0;break;case"cordova-wp8":i.push(r.createElement(o,{platform:"Windows Phone 8"}));break;case"cordova-windows8":case"cordova-windows":t[2].present=!0;break;case"cordova-browser":i.push(r.createElement(o,{platform:"Browser"}))}}),t.forEach(function(e){e.present&&n.push(r.createElement(o,{platform:e.text}))});n.length<4&&i.length>0;)n.push(i.shift());var a;return i.length>0&&!this.state.moreClicked&&(a=r.createElement("li",{className:"clickable",onClick:this.onClick},"...")),this.state.moreClicked||(i=null),r.createElement("ul",{className:"supportedPlatforms"},n,a,i)}});t.exports=i},{"./platformbutton.jsx":161,react:157}]},{},[158]);
\ No newline at end of file
diff --git a/npm-search/Gulpfile.js b/npm-search/Gulpfile.js
index 1f7463e..2aa3001 100644
--- a/npm-search/Gulpfile.js
+++ b/npm-search/Gulpfile.js
@@ -13,7 +13,7 @@
     envify     = require('envify');
 
 gulp.task('styles', function () {
-    gulp.src(['src/css/base.css', 'src/css/flexboxgrid.css'])
+    gulp.src(['src/css/normalize.css', 'src/css/base.css'])
         .pipe(concat('styles.css'))
         .pipe(gulp.dest('./build/css/'));
 });
diff --git a/npm-search/src/css/base.css b/npm-search/src/css/base.css
index c58ef95..63a2bd8 100644
--- a/npm-search/src/css/base.css
+++ b/npm-search/src/css/base.css
@@ -1,39 +1,46 @@
+html {
+  font-size: 62.5%;
+}
+
 body {
   font-family: 'Segoe UI', tahoma, arial, helvetica, sans-serif;
-  font-size: 16px;
+  font-size: 1.6rem;
   margin: 0;
 }
 
-h2 {
-    padding: 48px 0;
-    font-size: 34px;
-}
 
 /*---------------------------------------------------
     Pluggy and msg
 ---------------------------------------------------*/
-#headerBackground {
+#headblock {
   background: url('../img/grid.png');
+  padding-bottom: 1rem;
 }
 
-#topContent {
-  margin-top: 25px;
+#topcontent {
+  padding-top: 2.5rem;
+  text-align: center;
+  max-width: 80rem;
+  margin: 0 auto;
 }
 
 #pluggy {
-  background: transparent url('../img/pluggy.png') no-repeat center;
+  background: transparent url('../img/pluggy.png') no-repeat;
   background-size: contain;
-  height: 200px;
-  margin-left: 25px;
+  width: 10rem;
+  height: 20rem;
+  margin-left: 2.5rem;
 }
 
-.discover-message {
-  background-color: white;
-  font-size: 56px;
-  margin: 25px 5px 5px 5px;
-  text-align: left;
+#discovermessage {
   display: inline-block;
-  padding: 0px 8px;
+  max-width: 60rem;
+  vertical-align: top;
+}
+
+#discovermessage h1 {
+  background-color: white;
+  text-align: left;
   font-family: 'Segoe UI', tahoma, arial, helvetica, sans-serif;
 }
 
@@ -41,20 +48,20 @@
     Searchbox
 ---------------------------------------------------*/
 
-#searchwrapper {
-  margin: 25px 0px;
+#search {
+  margin: 2.5rem auto 0 auto;
   border: 2px solid gray;
   background-color: white;
 }
 
-#searchwrapper .searchBox {
+#search .searchBox {
   display: block;
-  height: 35px;
+  height: 3.5rem;
   width: 100%;
   border: 0;
   background: none;
   outline: 0;
-  font-size: 14px;
+  font-size: 1.4rem;
   padding: 0 5px 0 35px;
   color: #363636;
   background: url('../img/search.png') no-repeat;
@@ -84,7 +91,7 @@
 }
 
 .pluginList li {
-  margin: 0 0 60px 0;
+  margin: 0 0 2rem 0;
 }
 
 /*---------------------------------------------------
@@ -94,8 +101,8 @@
   position: relative;
   border: 1px solid #CDCDCD;
   background: white;
-  min-height: 10em;
-  height: 10em;
+  min-height: 3em;
+  padding: 0.2rem 1rem 0.5rem 1rem;
 }
 
 .pluginCard:after {
@@ -120,7 +127,7 @@
 }
 
 .pluginCard h3 {
-  margin: 0.2em 0.2em 0.4em 0em;
+  margin: 0 0.2rem 0.1rem 0;
   font-size: 1.5em;
   display: inline-block;
 }
@@ -137,9 +144,9 @@
 }
 
 .featuredPlugin {
-  -webkit-box-shadow: -3px 0px 0px #4CC2E4;
-  -moz-box-shadow: -3px 0px 0px #4CC2E4;
-  box-shadow: -3px 0px 0px #4CC2E4;
+  -webkit-box-shadow: inset 3px 0 0 0 #4CC2E4;
+  -moz-box-shadow: inset 3px 0 0 0 #4CC2E4;
+  box-shadow: inset 3px 0 0 0 #4CC2E4;
   border-left-width: 0px;
 }
 
@@ -173,9 +180,12 @@
 }
 
 .supportedPlatforms {
+  width: 75%;
+  display: inline-block;
   list-style-type: none;
-  padding: 5px 0px;
+  text-align: left;
   font-size: 0.8em;
+  padding-left: 0;
 }
 
 .supportedPlatforms li {
@@ -187,23 +197,22 @@
 }
 
 .secondaryContent {
-  display: flex;
-  display: -webkit-flex;
-  flex-direction: column;
-  -webkit-flex-direction: column;
+  min-height: 7rem;
+  width: 100%;
+  display: block;
   text-align: right;
   font-size: 0.9em;
   color: #7A828B;
 }
 
-.download {
-  -webkit-flex-grow: 1;
-  flex-grow: 1;
+.extraInfo p {
+  margin-top: 2px;
+  margin-bottom: 2px;
 }
 
-.extraInfo p {
-margin-top: 2px;
-margin-bottom: 2px;
+.extraInfo {
+  display: inline-block;
+  width: 25%;
 }
 
 .clickable {
@@ -216,28 +225,12 @@
 
 .icon {
   background: url('../img/sprite.png') no-repeat;
-  background-position: 0 -220px;
-  padding-left: 78px;
-}
-.icon-about {
-  background-position: 0 -220px;
 }
 
 /*---------------------------------------------------
     Layout - Header
 ---------------------------------------------------*/
-#wrap,
-.wrap {
-  width: 1008px;
-  margin: 0 auto;
-  position: relative;
-}
-
-.header-placeholder {
-  height: 90px;
-}
 #header {
-  height: 90px;
   position: fixed;
   z-index: 10;
   left: 0;
@@ -254,6 +247,13 @@
   background: url('../img/shadow.png');
 }
 
+.logo {
+  top: 7rem;
+  width: 11rem;
+  height: 3.7rem;
+  background-size: 11.2rem 42.5rem;
+}
+
 .logo,
 .closing {
   background: url('../img/sprite.png') no-repeat;
@@ -328,10 +328,10 @@
 pre {
   background-color: #f8f8f8;
   border: 1px solid #ccc;
-  font-size: 13px;
-  line-height: 19px;
+  font-size: 1.3rem;
+  line-height: 1.9rem;
   overflow: auto;
-  padding: 6px 10px;
+  padding: 0.6rem 1rem;
   border-radius: 3px;
 }
 
@@ -344,85 +344,146 @@
 /*---------------------------------------------------
     Mobile
 ---------------------------------------------------*/
-@media all and (max-width: 1024px) {
-  #wrap,
-  .wrap {
-    width: auto;
-    margin-left: 24px;
-    margin-right: 24px;
+
+/* Extra small devices (phones, less than 768px) */
+/* No media query since this is the default in Bootstrap */
+.contentwrap {
+  margin: 0 auto;
+  max-width: 80rem;
+}
+.menu {
+  display: none;
+}
+.menu-dropdown {
+  display: block;
+  top: 1.6rem;
+}
+
+h2 {
+  font-size: 2rem;
+  padding-top: 0;
+  letter-spacing: 0;
+}
+
+.wrap {
+  position: relative;
+  margin-left: 1.2rem;
+  margin-right: 1.2rem;
+}
+
+#header,
+.header-placeholder {
+  height: 5.2rem;
+}
+
+.logo {
+  top: 0.7rem;
+  width: 11rem;
+  height: 3.7rem;
+  background-size: 11.2rem 42.5rem;
+}
+
+#pluggy {
+  display: none;
+}
+
+#discovermessage {
+  height: auto;
+  padding: 0 4rem 0 4rem;
+}
+
+#discovermessage h1 {
+  font-size: 4rem;
+}
+
+.icon {
+  background-position: 0px -110px;
+  background-size: 112px 425px;
+  display: block;
+  font-size: 2.2rem;
+  padding: 2rem 4.8rem 2rem 4.8rem;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+  overflow: hidden;
+}
+
+/* Small devices (tablets, 768px and up) */
+@media (min-width: 768px) {
+  #discovermessage {
+    height: 20rem;
+    padding: 0 0 0 4rem;
   }
-  .pluginCard {
-    height: auto;
+  #discovermessage h1 {
+    font-size: 5rem;
+  }
+  .icon {
+    background-position: 0px -220px;
+    background-size: auto;
+    font-size: 2.4rem;
+    padding: 5.4rem 0 4.8rem 7.8rem;
+  }
+  h2 {
+    font-size: 2.2rem;
+    padding: 5.4rem 0;
+  }
+  #pluggy {
+    display: inline-block;
   }
 }
-@media all and (max-width: 890px) {
+
+/* Medium devices (desktops, 992px and up) */
+@media (min-width: 992px) {
   h2 {
-    font-size: 24px;
-    padding-top: 54px;
-  }
-  .menu {
-    display: none;
-  }
-  .menu-dropdown {
-    display: block;
-  }
-  .pluginCard {
-    height: auto;
-  }
-}
-@media all and (max-width: 720px) {
-  h2 {
-    font-size: 22px;
-    padding-top: 54px;
-  }
-  .menu-dropdown {
-    top: 16px;
+    font-size: 2.4rem;
+    padding-top: 5.4rem 0;
   }
   #header,
   .header-placeholder {
-    height: 52px;
+    height: 9rem;
+  }
+  .menu {
+    display: block;
+  }
+  .menu-dropdown {
+    display: none;
+  }
+  .contentwrap {
+    margin: 0 auto;
+    max-width: 80rem;
+  }
+  #wrap,
+  .wrap {
+    width: auto;
+    margin-left: 12rem;
+    margin-right: 12rem;
   }
   .logo {
-    top: 7px;
-    width: 110px;
-    height: 37px;
-    background-size: 112px 425px;
-  }
-  .pluginCard {
-    height: auto;
-  }
-}
-@media all and (max-width: 585px) {
-  h2 {
-    letter-spacing: 0;
-  }
-  .wrap {
-    margin-left: 12px;
-    margin-right: 12px;
+    top: 5px;
+    width: 220px;
+    height: 75px;
+    background-size: auto;
   }
   .icon {
-    background-size: 112px 425px;
-    padding: 20px 48px 20px 48px;
-    overflow: hidden;
-    display: block;
-    text-overflow: ellipsis;
-    white-space: nowrap;
+    background-position: 0 -220px;
+    padding-left: 78px;
   }
   .icon-about {
-    background-position: 0 -110px;
-  }
-  .pluginCard {
-    height: auto;
+    background-position: 0 -220px;
   }
 }
-@media all and (max-width: 440px) {
-  .icon {
-    padding: 22px 16px 20px 35px;
+
+/* Large devices (large desktops, 1200px and up) */
+@media (min-width: 1200px) {
+  h2 {
+      padding: 4.8rem 0;
+      font-size: 3.4rem;
   }
-    h2 {
-    font-size: 20px;
+  .contentwrap {
+    max-width: 100rem;
   }
-  .pluginCard {
-    height: auto;
+  #wrap,
+  .wrap {
+    width: 1008px;
+    margin: 0 auto;
   }
 }
diff --git a/npm-search/src/css/flexboxgrid.css b/npm-search/src/css/flexboxgrid.css
deleted file mode 100644
index 68dace4..0000000
--- a/npm-search/src/css/flexboxgrid.css
+++ /dev/null
@@ -1,1026 +0,0 @@
-/*
- * Copyright 2013 Kristofer Joseph
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- *
- * Uncomment and set these variables to customize the grid.
- *
- * :root {
- *  --gutter-width: 1rem;
- *  --outer-margin: 2rem;
- *  --gutter-compensation: calc( var( --gutter-width / 2 ) * -1 );
- *  --half-gutter-width: calc( var( --gutter-width / 2 ) );
- *  --screen-xs-min: 30em;
- *  --screen-sm-min: 48em;
- *  --screen-md-min: 62em;
- *  --screen-lg-min: 75em;
- *  --container-sm: calc( 45rem + var( --gutter-width ) );
- *  --container-md: calc( 60rem + var( --gutter-width ) );
- *  --container-lg: calc( 70rem + var( --gutter-width ) );
- * }
- *
-*/
-
-.container-fluid {
-  margin-right: auto;
-  margin-left: auto;
-  padding-right: 2rem;
-  padding-left: 2rem;
-}
-
-.row {
-  box-sizing: border-box;
-  display: -webkit-flex;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-flex: 0 1 auto;
-  -ms-flex: 0 1 auto;
-  flex: 0 1 auto;
-  -webkit-flex-direction: row;
-  -ms-flex-direction: row;
-  flex-direction: row;
-  -webkit-flex-wrap: wrap;
-  -ms-flex-wrap: wrap;
-  flex-wrap: wrap;
-  margin-right: -0.5rem;
-  margin-left: -0.5rem;
-}
-
-.row.reverse {
-  -webkit-flex-direction: row-reverse;
-  -ms-flex-direction: row-reverse;
-  flex-direction: row-reverse;
-}
-
-.col.reverse {
-  -webkit-flex-direction: column-reverse;
-  -ms-flex-direction: column-reverse;
-  flex-direction: column-reverse;
-}
-
-.col-xs,
-.col-xs-1,
-.col-xs-2,
-.col-xs-3,
-.col-xs-4,
-.col-xs-5,
-.col-xs-6,
-.col-xs-7,
-.col-xs-8,
-.col-xs-9,
-.col-xs-10,
-.col-xs-11,
-.col-xs-12,
-.col-xs-offset-1,
-.col-xs-offset-2,
-.col-xs-offset-3,
-.col-xs-offset-4,
-.col-xs-offset-5,
-.col-xs-offset-6,
-.col-xs-offset-7,
-.col-xs-offset-8,
-.col-xs-offset-9,
-.col-xs-offset-10,
-.col-xs-offset-11,
-.col-xs-offset-12 {
-  box-sizing: border-box;
-  -webkit-flex: 0 0 auto;
-  -ms-flex: 0 0 auto;
-  flex: 0 0 auto;
-  padding-right: 0.5rem;
-  padding-left: 0.5rem;
-}
-
-.col-xs {
-  -webkit-flex-grow: 1;
-  -ms-flex-positive: 1;
-  flex-grow: 1;
-  -webkit-flex-basis: 0;
-  -ms-flex-preferred-size: 0;
-  flex-basis: 0;
-  max-width: 100%;
-}
-
-.col-xs-1 {
-  -webkit-flex-basis: 8.333%;
-  -ms-flex-preferred-size: 8.333%;
-  flex-basis: 8.333%;
-  max-width: 8.333%;
-}
-
-.col-xs-2 {
-  -webkit-flex-basis: 16.667%;
-  -ms-flex-preferred-size: 16.667%;
-  flex-basis: 16.667%;
-  max-width: 16.667%;
-}
-
-.col-xs-3 {
-  -webkit-flex-basis: 25%;
-  -ms-flex-preferred-size: 25%;
-  flex-basis: 25%;
-  max-width: 25%;
-}
-
-.col-xs-4 {
-  -webkit-flex-basis: 33.333%;
-  -ms-flex-preferred-size: 33.333%;
-  flex-basis: 33.333%;
-  max-width: 33.333%;
-}
-
-.col-xs-5 {
-  -webkit-flex-basis: 41.667%;
-  -ms-flex-preferred-size: 41.667%;
-  flex-basis: 41.667%;
-  max-width: 41.667%;
-}
-
-.col-xs-6 {
-  -webkit-flex-basis: 50%;
-  -ms-flex-preferred-size: 50%;
-  flex-basis: 50%;
-  max-width: 50%;
-}
-
-.col-xs-7 {
-  -webkit-flex-basis: 58.333%;
-  -ms-flex-preferred-size: 58.333%;
-  flex-basis: 58.333%;
-  max-width: 58.333%;
-}
-
-.col-xs-8 {
-  -webkit-flex-basis: 66.667%;
-  -ms-flex-preferred-size: 66.667%;
-  flex-basis: 66.667%;
-  max-width: 66.667%;
-}
-
-.col-xs-9 {
-  -webkit-flex-basis: 75%;
-  -ms-flex-preferred-size: 75%;
-  flex-basis: 75%;
-  max-width: 75%;
-}
-
-.col-xs-10 {
-  -webkit-flex-basis: 83.333%;
-  -ms-flex-preferred-size: 83.333%;
-  flex-basis: 83.333%;
-  max-width: 83.333%;
-}
-
-.col-xs-11 {
-  -webkit-flex-basis: 91.667%;
-  -ms-flex-preferred-size: 91.667%;
-  flex-basis: 91.667%;
-  max-width: 91.667%;
-}
-
-.col-xs-12 {
-  -webkit-flex-basis: 100%;
-  -ms-flex-preferred-size: 100%;
-  flex-basis: 100%;
-  max-width: 100%;
-}
-
-.col-xs-offset-1 {
-  margin-left: 8.333%;
-}
-
-.col-xs-offset-2 {
-  margin-left: 16.667%;
-}
-
-.col-xs-offset-3 {
-  margin-left: 25%;
-}
-
-.col-xs-offset-4 {
-  margin-left: 33.333%;
-}
-
-.col-xs-offset-5 {
-  margin-left: 41.667%;
-}
-
-.col-xs-offset-6 {
-  margin-left: 50%;
-}
-
-.col-xs-offset-7 {
-  margin-left: 58.333%;
-}
-
-.col-xs-offset-8 {
-  margin-left: 66.667%;
-}
-
-.col-xs-offset-9 {
-  margin-left: 75%;
-}
-
-.col-xs-offset-10 {
-  margin-left: 83.333%;
-}
-
-.col-xs-offset-11 {
-  margin-left: 91.667%;
-}
-
-.start-xs {
-  -webkit-justify-content: flex-start;
-  -ms-flex-pack: start;
-  justify-content: flex-start;
-  text-align: start;
-}
-
-.center-xs {
-  -webkit-justify-content: center;
-  -ms-flex-pack: center;
-  justify-content: center;
-  text-align: center;
-}
-
-.end-xs {
-  -webkit-justify-content: flex-end;
-  -ms-flex-pack: end;
-  justify-content: flex-end;
-  text-align: end;
-}
-
-.top-xs {
-  -webkit-align-items: flex-start;
-  -ms-flex-align: start;
-  align-items: flex-start;
-}
-
-.middle-xs {
-  -webkit-align-items: center;
-  -ms-flex-align: center;
-  align-items: center;
-}
-
-.bottom-xs {
-  -webkit-align-items: flex-end;
-  -ms-flex-align: end;
-  align-items: flex-end;
-}
-
-.around-xs {
-  -webkit-justify-content: space-around;
-  -ms-flex-pack: distribute;
-  justify-content: space-around;
-}
-
-.between-xs {
-  -webkit-justify-content: space-between;
-  -ms-flex-pack: justify;
-  justify-content: space-between;
-}
-
-.first-xs {
-  -webkit-order: -1;
-  -ms-flex-order: -1;
-  order: -1;
-}
-
-.last-xs {
-  -webkit-order: 1;
-  -ms-flex-order: 1;
-  order: 1;
-}
-
-@media only screen and (min-width: 48em) {
-  .container {
-    width: 46rem;
-  }
-
-  .col-sm,
-  .col-sm-1,
-  .col-sm-2,
-  .col-sm-3,
-  .col-sm-4,
-  .col-sm-5,
-  .col-sm-6,
-  .col-sm-7,
-  .col-sm-8,
-  .col-sm-9,
-  .col-sm-10,
-  .col-sm-11,
-  .col-sm-12,
-  .col-sm-offset-1,
-  .col-sm-offset-2,
-  .col-sm-offset-3,
-  .col-sm-offset-4,
-  .col-sm-offset-5,
-  .col-sm-offset-6,
-  .col-sm-offset-7,
-  .col-sm-offset-8,
-  .col-sm-offset-9,
-  .col-sm-offset-10,
-  .col-sm-offset-11,
-  .col-sm-offset-12 {
-    box-sizing: border-box;
-    -webkit-flex: 0 0 auto;
-    -ms-flex: 0 0 auto;
-    flex: 0 0 auto;
-    padding-right: 0.5rem;
-    padding-left: 0.5rem;
-  }
-
-  .col-sm {
-    -webkit-flex-grow: 1;
-    -ms-flex-positive: 1;
-    flex-grow: 1;
-    -webkit-flex-basis: 0;
-    -ms-flex-preferred-size: 0;
-    flex-basis: 0;
-    max-width: 100%;
-  }
-
-  .col-sm-1 {
-    -webkit-flex-basis: 8.333%;
-    -ms-flex-preferred-size: 8.333%;
-    flex-basis: 8.333%;
-    max-width: 8.333%;
-  }
-
-  .col-sm-2 {
-    -webkit-flex-basis: 16.667%;
-    -ms-flex-preferred-size: 16.667%;
-    flex-basis: 16.667%;
-    max-width: 16.667%;
-  }
-
-  .col-sm-3 {
-    -webkit-flex-basis: 25%;
-    -ms-flex-preferred-size: 25%;
-    flex-basis: 25%;
-    max-width: 25%;
-  }
-
-  .col-sm-4 {
-    -webkit-flex-basis: 33.333%;
-    -ms-flex-preferred-size: 33.333%;
-    flex-basis: 33.333%;
-    max-width: 33.333%;
-  }
-
-  .col-sm-5 {
-    -webkit-flex-basis: 41.667%;
-    -ms-flex-preferred-size: 41.667%;
-    flex-basis: 41.667%;
-    max-width: 41.667%;
-  }
-
-  .col-sm-6 {
-    -webkit-flex-basis: 50%;
-    -ms-flex-preferred-size: 50%;
-    flex-basis: 50%;
-    max-width: 50%;
-  }
-
-  .col-sm-7 {
-    -webkit-flex-basis: 58.333%;
-    -ms-flex-preferred-size: 58.333%;
-    flex-basis: 58.333%;
-    max-width: 58.333%;
-  }
-
-  .col-sm-8 {
-    -webkit-flex-basis: 66.667%;
-    -ms-flex-preferred-size: 66.667%;
-    flex-basis: 66.667%;
-    max-width: 66.667%;
-  }
-
-  .col-sm-9 {
-    -webkit-flex-basis: 75%;
-    -ms-flex-preferred-size: 75%;
-    flex-basis: 75%;
-    max-width: 75%;
-  }
-
-  .col-sm-10 {
-    -webkit-flex-basis: 83.333%;
-    -ms-flex-preferred-size: 83.333%;
-    flex-basis: 83.333%;
-    max-width: 83.333%;
-  }
-
-  .col-sm-11 {
-    -webkit-flex-basis: 91.667%;
-    -ms-flex-preferred-size: 91.667%;
-    flex-basis: 91.667%;
-    max-width: 91.667%;
-  }
-
-  .col-sm-12 {
-    -webkit-flex-basis: 100%;
-    -ms-flex-preferred-size: 100%;
-    flex-basis: 100%;
-    max-width: 100%;
-  }
-
-  .col-sm-offset-1 {
-    margin-left: 8.333%;
-  }
-
-  .col-sm-offset-2 {
-    margin-left: 16.667%;
-  }
-
-  .col-sm-offset-3 {
-    margin-left: 25%;
-  }
-
-  .col-sm-offset-4 {
-    margin-left: 33.333%;
-  }
-
-  .col-sm-offset-5 {
-    margin-left: 41.667%;
-  }
-
-  .col-sm-offset-6 {
-    margin-left: 50%;
-  }
-
-  .col-sm-offset-7 {
-    margin-left: 58.333%;
-  }
-
-  .col-sm-offset-8 {
-    margin-left: 66.667%;
-  }
-
-  .col-sm-offset-9 {
-    margin-left: 75%;
-  }
-
-  .col-sm-offset-10 {
-    margin-left: 83.333%;
-  }
-
-  .col-sm-offset-11 {
-    margin-left: 91.667%;
-  }
-
-  .start-sm {
-    -webkit-justify-content: flex-start;
-    -ms-flex-pack: start;
-    justify-content: flex-start;
-    text-align: start;
-  }
-
-  .center-sm {
-    -webkit-justify-content: center;
-    -ms-flex-pack: center;
-    justify-content: center;
-    text-align: center;
-  }
-
-  .end-sm {
-    -webkit-justify-content: flex-end;
-    -ms-flex-pack: end;
-    justify-content: flex-end;
-    text-align: end;
-  }
-
-  .top-sm {
-    -webkit-align-items: flex-start;
-    -ms-flex-align: start;
-    align-items: flex-start;
-  }
-
-  .middle-sm {
-    -webkit-align-items: center;
-    -ms-flex-align: center;
-    align-items: center;
-  }
-
-  .bottom-sm {
-    -webkit-align-items: flex-end;
-    -ms-flex-align: end;
-    align-items: flex-end;
-  }
-
-  .around-sm {
-    -webkit-justify-content: space-around;
-    -ms-flex-pack: distribute;
-    justify-content: space-around;
-  }
-
-  .between-sm {
-    -webkit-justify-content: space-between;
-    -ms-flex-pack: justify;
-    justify-content: space-between;
-  }
-
-  .first-sm {
-    -webkit-order: -1;
-    -ms-flex-order: -1;
-    order: -1;
-  }
-
-  .last-sm {
-    -webkit-order: 1;
-    -ms-flex-order: 1;
-    order: 1;
-  }
-}
-
-@media only screen and (min-width: 62em) {
-  .container {
-    width: 61rem;
-  }
-
-  .col-md,
-  .col-md-1,
-  .col-md-2,
-  .col-md-3,
-  .col-md-4,
-  .col-md-5,
-  .col-md-6,
-  .col-md-7,
-  .col-md-8,
-  .col-md-9,
-  .col-md-10,
-  .col-md-11,
-  .col-md-12,
-  .col-md-offset-1,
-  .col-md-offset-2,
-  .col-md-offset-3,
-  .col-md-offset-4,
-  .col-md-offset-5,
-  .col-md-offset-6,
-  .col-md-offset-7,
-  .col-md-offset-8,
-  .col-md-offset-9,
-  .col-md-offset-10,
-  .col-md-offset-11,
-  .col-md-offset-12 {
-    box-sizing: border-box;
-    -webkit-flex: 0 0 auto;
-    -ms-flex: 0 0 auto;
-    flex: 0 0 auto;
-    padding-right: 0.5rem;
-    padding-left: 0.5rem;
-  }
-
-  .col-md {
-    -webkit-flex-grow: 1;
-    -ms-flex-positive: 1;
-    flex-grow: 1;
-    -webkit-flex-basis: 0;
-    -ms-flex-preferred-size: 0;
-    flex-basis: 0;
-    max-width: 100%;
-  }
-
-  .col-md-1 {
-    -webkit-flex-basis: 8.333%;
-    -ms-flex-preferred-size: 8.333%;
-    flex-basis: 8.333%;
-    max-width: 8.333%;
-  }
-
-  .col-md-2 {
-    -webkit-flex-basis: 16.667%;
-    -ms-flex-preferred-size: 16.667%;
-    flex-basis: 16.667%;
-    max-width: 16.667%;
-  }
-
-  .col-md-3 {
-    -webkit-flex-basis: 25%;
-    -ms-flex-preferred-size: 25%;
-    flex-basis: 25%;
-    max-width: 25%;
-  }
-
-  .col-md-4 {
-    -webkit-flex-basis: 33.333%;
-    -ms-flex-preferred-size: 33.333%;
-    flex-basis: 33.333%;
-    max-width: 33.333%;
-  }
-
-  .col-md-5 {
-    -webkit-flex-basis: 41.667%;
-    -ms-flex-preferred-size: 41.667%;
-    flex-basis: 41.667%;
-    max-width: 41.667%;
-  }
-
-  .col-md-6 {
-    -webkit-flex-basis: 50%;
-    -ms-flex-preferred-size: 50%;
-    flex-basis: 50%;
-    max-width: 50%;
-  }
-
-  .col-md-7 {
-    -webkit-flex-basis: 58.333%;
-    -ms-flex-preferred-size: 58.333%;
-    flex-basis: 58.333%;
-    max-width: 58.333%;
-  }
-
-  .col-md-8 {
-    -webkit-flex-basis: 66.667%;
-    -ms-flex-preferred-size: 66.667%;
-    flex-basis: 66.667%;
-    max-width: 66.667%;
-  }
-
-  .col-md-9 {
-    -webkit-flex-basis: 75%;
-    -ms-flex-preferred-size: 75%;
-    flex-basis: 75%;
-    max-width: 75%;
-  }
-
-  .col-md-10 {
-    -webkit-flex-basis: 83.333%;
-    -ms-flex-preferred-size: 83.333%;
-    flex-basis: 83.333%;
-    max-width: 83.333%;
-  }
-
-  .col-md-11 {
-    -webkit-flex-basis: 91.667%;
-    -ms-flex-preferred-size: 91.667%;
-    flex-basis: 91.667%;
-    max-width: 91.667%;
-  }
-
-  .col-md-12 {
-    -webkit-flex-basis: 100%;
-    -ms-flex-preferred-size: 100%;
-    flex-basis: 100%;
-    max-width: 100%;
-  }
-
-  .col-md-offset-1 {
-    margin-left: 8.333%;
-  }
-
-  .col-md-offset-2 {
-    margin-left: 16.667%;
-  }
-
-  .col-md-offset-3 {
-    margin-left: 25%;
-  }
-
-  .col-md-offset-4 {
-    margin-left: 33.333%;
-  }
-
-  .col-md-offset-5 {
-    margin-left: 41.667%;
-  }
-
-  .col-md-offset-6 {
-    margin-left: 50%;
-  }
-
-  .col-md-offset-7 {
-    margin-left: 58.333%;
-  }
-
-  .col-md-offset-8 {
-    margin-left: 66.667%;
-  }
-
-  .col-md-offset-9 {
-    margin-left: 75%;
-  }
-
-  .col-md-offset-10 {
-    margin-left: 83.333%;
-  }
-
-  .col-md-offset-11 {
-    margin-left: 91.667%;
-  }
-
-  .start-md {
-    -webkit-justify-content: flex-start;
-    -ms-flex-pack: start;
-    justify-content: flex-start;
-    text-align: start;
-  }
-
-  .center-md {
-    -webkit-justify-content: center;
-    -ms-flex-pack: center;
-    justify-content: center;
-    text-align: center;
-  }
-
-  .end-md {
-    -webkit-justify-content: flex-end;
-    -ms-flex-pack: end;
-    justify-content: flex-end;
-    text-align: end;
-  }
-
-  .top-md {
-    -webkit-align-items: flex-start;
-    -ms-flex-align: start;
-    align-items: flex-start;
-  }
-
-  .middle-md {
-    -webkit-align-items: center;
-    -ms-flex-align: center;
-    align-items: center;
-  }
-
-  .bottom-md {
-    -webkit-align-items: flex-end;
-    -ms-flex-align: end;
-    align-items: flex-end;
-  }
-
-  .around-md {
-    -webkit-justify-content: space-around;
-    -ms-flex-pack: distribute;
-    justify-content: space-around;
-  }
-
-  .between-md {
-    -webkit-justify-content: space-between;
-    -ms-flex-pack: justify;
-    justify-content: space-between;
-  }
-
-  .first-md {
-    -webkit-order: -1;
-    -ms-flex-order: -1;
-    order: -1;
-  }
-
-  .last-md {
-    -webkit-order: 1;
-    -ms-flex-order: 1;
-    order: 1;
-  }
-}
-
-@media only screen and (min-width: 75em) {
-  .container {
-    width: 71rem;
-  }
-
-  .col-lg,
-  .col-lg-1,
-  .col-lg-2,
-  .col-lg-3,
-  .col-lg-4,
-  .col-lg-5,
-  .col-lg-6,
-  .col-lg-7,
-  .col-lg-8,
-  .col-lg-9,
-  .col-lg-10,
-  .col-lg-11,
-  .col-lg-12,
-  .col-lg-offset-1,
-  .col-lg-offset-2,
-  .col-lg-offset-3,
-  .col-lg-offset-4,
-  .col-lg-offset-5,
-  .col-lg-offset-6,
-  .col-lg-offset-7,
-  .col-lg-offset-8,
-  .col-lg-offset-9,
-  .col-lg-offset-10,
-  .col-lg-offset-11,
-  .col-lg-offset-12 {
-    box-sizing: border-box;
-    -webkit-flex: 0 0 auto;
-    -ms-flex: 0 0 auto;
-    flex: 0 0 auto;
-    padding-right: 0.5rem;
-    padding-left: 0.5rem;
-  }
-
-  .col-lg {
-    -webkit-flex-grow: 1;
-    -ms-flex-positive: 1;
-    flex-grow: 1;
-    -webkit-flex-basis: 0;
-    -ms-flex-preferred-size: 0;
-    flex-basis: 0;
-    max-width: 100%;
-  }
-
-  .col-lg-1 {
-    -webkit-flex-basis: 8.333%;
-    -ms-flex-preferred-size: 8.333%;
-    flex-basis: 8.333%;
-    max-width: 8.333%;
-  }
-
-  .col-lg-2 {
-    -webkit-flex-basis: 16.667%;
-    -ms-flex-preferred-size: 16.667%;
-    flex-basis: 16.667%;
-    max-width: 16.667%;
-  }
-
-  .col-lg-3 {
-    -webkit-flex-basis: 25%;
-    -ms-flex-preferred-size: 25%;
-    flex-basis: 25%;
-    max-width: 25%;
-  }
-
-  .col-lg-4 {
-    -webkit-flex-basis: 33.333%;
-    -ms-flex-preferred-size: 33.333%;
-    flex-basis: 33.333%;
-    max-width: 33.333%;
-  }
-
-  .col-lg-5 {
-    -webkit-flex-basis: 41.667%;
-    -ms-flex-preferred-size: 41.667%;
-    flex-basis: 41.667%;
-    max-width: 41.667%;
-  }
-
-  .col-lg-6 {
-    -webkit-flex-basis: 50%;
-    -ms-flex-preferred-size: 50%;
-    flex-basis: 50%;
-    max-width: 50%;
-  }
-
-  .col-lg-7 {
-    -webkit-flex-basis: 58.333%;
-    -ms-flex-preferred-size: 58.333%;
-    flex-basis: 58.333%;
-    max-width: 58.333%;
-  }
-
-  .col-lg-8 {
-    -webkit-flex-basis: 66.667%;
-    -ms-flex-preferred-size: 66.667%;
-    flex-basis: 66.667%;
-    max-width: 66.667%;
-  }
-
-  .col-lg-9 {
-    -webkit-flex-basis: 75%;
-    -ms-flex-preferred-size: 75%;
-    flex-basis: 75%;
-    max-width: 75%;
-  }
-
-  .col-lg-10 {
-    -webkit-flex-basis: 83.333%;
-    -ms-flex-preferred-size: 83.333%;
-    flex-basis: 83.333%;
-    max-width: 83.333%;
-  }
-
-  .col-lg-11 {
-    -webkit-flex-basis: 91.667%;
-    -ms-flex-preferred-size: 91.667%;
-    flex-basis: 91.667%;
-    max-width: 91.667%;
-  }
-
-  .col-lg-12 {
-    -webkit-flex-basis: 100%;
-    -ms-flex-preferred-size: 100%;
-    flex-basis: 100%;
-    max-width: 100%;
-  }
-
-  .col-lg-offset-1 {
-    margin-left: 8.333%;
-  }
-
-  .col-lg-offset-2 {
-    margin-left: 16.667%;
-  }
-
-  .col-lg-offset-3 {
-    margin-left: 25%;
-  }
-
-  .col-lg-offset-4 {
-    margin-left: 33.333%;
-  }
-
-  .col-lg-offset-5 {
-    margin-left: 41.667%;
-  }
-
-  .col-lg-offset-6 {
-    margin-left: 50%;
-  }
-
-  .col-lg-offset-7 {
-    margin-left: 58.333%;
-  }
-
-  .col-lg-offset-8 {
-    margin-left: 66.667%;
-  }
-
-  .col-lg-offset-9 {
-    margin-left: 75%;
-  }
-
-  .col-lg-offset-10 {
-    margin-left: 83.333%;
-  }
-
-  .col-lg-offset-11 {
-    margin-left: 91.667%;
-  }
-
-  .start-lg {
-    -webkit-justify-content: flex-start;
-    -ms-flex-pack: start;
-    justify-content: flex-start;
-    text-align: start;
-  }
-
-  .center-lg {
-    -webkit-justify-content: center;
-    -ms-flex-pack: center;
-    justify-content: center;
-    text-align: center;
-  }
-
-  .end-lg {
-    -webkit-justify-content: flex-end;
-    -ms-flex-pack: end;
-    justify-content: flex-end;
-    text-align: end;
-  }
-
-  .top-lg {
-    -webkit-align-items: flex-start;
-    -ms-flex-align: start;
-    align-items: flex-start;
-  }
-
-  .middle-lg {
-    -webkit-align-items: center;
-    -ms-flex-align: center;
-    align-items: center;
-  }
-
-  .bottom-lg {
-    -webkit-align-items: flex-end;
-    -ms-flex-align: end;
-    align-items: flex-end;
-  }
-
-  .around-lg {
-    -webkit-justify-content: space-around;
-    -ms-flex-pack: distribute;
-    justify-content: space-around;
-  }
-
-  .between-lg {
-    -webkit-justify-content: space-between;
-    -ms-flex-pack: justify;
-    justify-content: space-between;
-  }
-
-  .first-lg {
-    -webkit-order: -1;
-    -ms-flex-order: -1;
-    order: -1;
-  }
-
-  .last-lg {
-    -webkit-order: 1;
-    -ms-flex-order: 1;
-    order: 1;
-  }
-}
\ No newline at end of file
diff --git a/npm-search/src/css/normalize.css b/npm-search/src/css/normalize.css
new file mode 100644
index 0000000..81c6f31
--- /dev/null
+++ b/npm-search/src/css/normalize.css
@@ -0,0 +1,427 @@
+/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
+
+/**
+ * 1. Set default font family to sans-serif.
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
+ *    user zoom.
+ */
+
+html {
+  font-family: sans-serif; /* 1 */
+  -ms-text-size-adjust: 100%; /* 2 */
+  -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+/**
+ * Remove default margin.
+ */
+
+body {
+  margin: 0;
+}
+
+/* HTML5 display definitions
+   ========================================================================== */
+
+/**
+ * Correct `block` display not defined for any HTML5 element in IE 8/9.
+ * Correct `block` display not defined for `details` or `summary` in IE 10/11
+ * and Firefox.
+ * Correct `block` display not defined for `main` in IE 11.
+ */
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+menu,
+nav,
+section,
+summary {
+  display: block;
+}
+
+/**
+ * 1. Correct `inline-block` display not defined in IE 8/9.
+ * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
+ */
+
+audio,
+canvas,
+progress,
+video {
+  display: inline-block; /* 1 */
+  vertical-align: baseline; /* 2 */
+}
+
+/**
+ * Prevent modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+
+audio:not([controls]) {
+  display: none;
+  height: 0;
+}
+
+/**
+ * Address `[hidden]` styling not present in IE 8/9/10.
+ * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
+ */
+
+[hidden],
+template {
+  display: none;
+}
+
+/* Links
+   ========================================================================== */
+
+/**
+ * Remove the gray background color from active links in IE 10.
+ */
+
+a {
+  background-color: transparent;
+}
+
+/**
+ * Improve readability when focused and also mouse hovered in all browsers.
+ */
+
+a:active,
+a:hover {
+  outline: 0;
+}
+
+/* Text-level semantics
+   ========================================================================== */
+
+/**
+ * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
+ */
+
+abbr[title] {
+  border-bottom: 1px dotted;
+}
+
+/**
+ * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
+ */
+
+b,
+strong {
+  font-weight: bold;
+}
+
+/**
+ * Address styling not present in Safari and Chrome.
+ */
+
+dfn {
+  font-style: italic;
+}
+
+/**
+ * Address variable `h1` font-size and margin within `section` and `article`
+ * contexts in Firefox 4+, Safari, and Chrome.
+ */
+
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0;
+}
+
+/**
+ * Address styling not present in IE 8/9.
+ */
+
+mark {
+  background: #ff0;
+  color: #000;
+}
+
+/**
+ * Address inconsistent and variable font size in all browsers.
+ */
+
+small {
+  font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+ */
+
+sub,
+sup {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+}
+
+sup {
+  top: -0.5em;
+}
+
+sub {
+  bottom: -0.25em;
+}
+
+/* Embedded content
+   ========================================================================== */
+
+/**
+ * Remove border when inside `a` element in IE 8/9/10.
+ */
+
+img {
+  border: 0;
+}
+
+/**
+ * Correct overflow not hidden in IE 9/10/11.
+ */
+
+svg:not(:root) {
+  overflow: hidden;
+}
+
+/* Grouping content
+   ========================================================================== */
+
+/**
+ * Address margin not present in IE 8/9 and Safari.
+ */
+
+figure {
+  margin: 1em 40px;
+}
+
+/**
+ * Address differences between Firefox and other browsers.
+ */
+
+hr {
+  -moz-box-sizing: content-box;
+  box-sizing: content-box;
+  height: 0;
+}
+
+/**
+ * Contain overflow in all browsers.
+ */
+
+pre {
+  overflow: auto;
+}
+
+/**
+ * Address odd `em`-unit font size rendering in all browsers.
+ */
+
+code,
+kbd,
+pre,
+samp {
+  font-family: monospace, monospace;
+  font-size: 1em;
+}
+
+/* Forms
+   ========================================================================== */
+
+/**
+ * Known limitation: by default, Chrome and Safari on OS X allow very limited
+ * styling of `select`, unless a `border` property is set.
+ */
+
+/**
+ * 1. Correct color not being inherited.
+ *    Known issue: affects color of disabled elements.
+ * 2. Correct font properties not being inherited.
+ * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
+ */
+
+button,
+input,
+optgroup,
+select,
+textarea {
+  color: inherit; /* 1 */
+  font: inherit; /* 2 */
+  margin: 0; /* 3 */
+}
+
+/**
+ * Address `overflow` set to `hidden` in IE 8/9/10/11.
+ */
+
+button {
+  overflow: visible;
+}
+
+/**
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * All other form control elements do not inherit `text-transform` values.
+ * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
+ * Correct `select` style inheritance in Firefox.
+ */
+
+button,
+select {
+  text-transform: none;
+}
+
+/**
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ *    and `video` controls.
+ * 2. Correct inability to style clickable `input` types in iOS.
+ * 3. Improve usability and consistency of cursor style between image-type
+ *    `input` and others.
+ */
+
+button,
+html input[type="button"], /* 1 */
+input[type="reset"],
+input[type="submit"] {
+  -webkit-appearance: button; /* 2 */
+  cursor: pointer; /* 3 */
+}
+
+/**
+ * Re-set default cursor for disabled elements.
+ */
+
+button[disabled],
+html input[disabled] {
+  cursor: default;
+}
+
+/**
+ * Remove inner padding and border in Firefox 4+.
+ */
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+  border: 0;
+  padding: 0;
+}
+
+/**
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
+ * the UA stylesheet.
+ */
+
+input {
+  line-height: normal;
+}
+
+/**
+ * It's recommended that you don't attempt to style these elements.
+ * Firefox's implementation doesn't respect box-sizing, padding, or width.
+ *
+ * 1. Address box sizing set to `content-box` in IE 8/9/10.
+ * 2. Remove excess padding in IE 8/9/10.
+ */
+
+input[type="checkbox"],
+input[type="radio"] {
+  box-sizing: border-box; /* 1 */
+  padding: 0; /* 2 */
+}
+
+/**
+ * Fix the cursor style for Chrome's increment/decrement buttons. For certain
+ * `font-size` values of the `input`, it causes the cursor style of the
+ * decrement button to change from `default` to `text`.
+ */
+
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+  height: auto;
+}
+
+/**
+ * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
+ * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
+ *    (include `-moz` to future-proof).
+ */
+
+input[type="search"] {
+  -webkit-appearance: textfield; /* 1 */
+  -moz-box-sizing: content-box;
+  -webkit-box-sizing: content-box; /* 2 */
+  box-sizing: content-box;
+}
+
+/**
+ * Remove inner padding and search cancel button in Safari and Chrome on OS X.
+ * Safari (but not Chrome) clips the cancel button when the search input has
+ * padding (and `textfield` appearance).
+ */
+
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+
+/**
+ * Define consistent border, margin, and padding.
+ */
+
+fieldset {
+  border: 1px solid #c0c0c0;
+  margin: 0 2px;
+  padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * 1. Correct `color` not being inherited in IE 8/9/10/11.
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
+ */
+
+legend {
+  border: 0; /* 1 */
+  padding: 0; /* 2 */
+}
+
+/**
+ * Remove default vertical scrollbar in IE 8/9/10/11.
+ */
+
+textarea {
+  overflow: auto;
+}
+
+/**
+ * Don't inherit the `font-weight` (applied by a rule above).
+ * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
+ */
+
+optgroup {
+  font-weight: bold;
+}
+
+/* Tables
+   ========================================================================== */
+
+/**
+ * Remove most spacing between table cells.
+ */
+
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+
+td,
+th {
+  padding: 0;
+}
\ No newline at end of file
diff --git a/npm-search/src/developers.html b/npm-search/src/developers.html
index 80d78bd..54feab8 100644
--- a/npm-search/src/developers.html
+++ b/npm-search/src/developers.html
@@ -2,6 +2,7 @@
 <html>
   <head>
     <meta http-equiv='Content-type' content='text/html; charset=utf-8'>
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
     <title>Cordova Search Website</title>
     <link rel="stylesheet" href="css/styles.css" />
   </head>
diff --git a/npm-search/src/faq.html b/npm-search/src/faq.html
index 55a69b8..a3b7d03 100644
--- a/npm-search/src/faq.html
+++ b/npm-search/src/faq.html
@@ -2,6 +2,7 @@
 <html>
   <head>
     <meta http-equiv='Content-type' content='text/html; charset=utf-8'>
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
     <title>Cordova Search Website</title>
     <link rel="stylesheet" href="css/styles.css" />
   </head>
diff --git a/npm-search/src/index.html b/npm-search/src/index.html
index 971d117..e7b8453 100644
--- a/npm-search/src/index.html
+++ b/npm-search/src/index.html
@@ -24,6 +24,7 @@
     <meta name="msapplication-TileImage" content="img/mstile-144x144.png">
     <meta name="msapplication-config" content="etc/browserconfig.xml">
     <meta name="theme-color" content="#ffffff">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
   </head>
 
   <body>
diff --git a/npm-search/src/js/app.js b/npm-search/src/js/app.js
index 548dcb7..ffafc44 100644
--- a/npm-search/src/js/app.js
+++ b/npm-search/src/js/app.js
@@ -175,29 +175,21 @@
     render: function() {
         return (
             <div>
-                <div className="row" id="headerBackground">
-                    <div className="col-xs-offset-2 col-xs-8">
-                        <div id="topContent" className="row">
-                            <div className="col-xs-3">
-                                <div id="pluggy"></div>
-                            </div>
-                            <div className="col-xs-9">
-                                <h1><p className="discover-message">Search Cordova Plugins</p></h1>
-                            </div>
+                <div id="headblock">
+                        <div id="topcontent">
+                            <div id="pluggy"></div>
+                            <div id="discovermessage"><h1>Search Cordova Plugins</h1></div>
                         </div>
-                    </div>
                     <SearchBar
                         initialValue={this.state.filterText}
                         placeHolderText={this.state.placeHolderText}
                         onUserInput={this.handleUserInput}
                     />
                 </div>
-                <div className="row">
-                    <PluginList
-                        plugins={this.state.plugins}
-                        filterText={this.state.filterText}
-                    />
-                </div>
+                <PluginList
+                    plugins={this.state.plugins}
+                    filterText={this.state.filterText}
+                />
             </div>
         );
     }
diff --git a/npm-search/src/js/plugin.jsx b/npm-search/src/js/plugin.jsx
index 0f270f1..8df03c3 100644
--- a/npm-search/src/js/plugin.jsx
+++ b/npm-search/src/js/plugin.jsx
@@ -15,8 +15,7 @@
 
         var classes = classNames({
             'pluginCard': true,
-            'featuredPlugin': this.props.plugin.isOfficial,
-            'row': true
+            'featuredPlugin': this.props.plugin.isOfficial
         });
 
         if(this.props.plugin.downloadCount) {
@@ -26,7 +25,7 @@
         return (
             <li>
                 <div className={classes}>
-                    <div className="primaryContent col-xs-9">
+                    <div className="primaryContent">
                         <div className="header">
                             <h3><a href={'https://www.npmjs.com/package/' + this.props.plugin.name} target="_blank">{this.props.plugin.name}</a></h3>
                             <small className="pluginVersion">v{this.props.plugin.version}</small>
@@ -34,12 +33,9 @@
                             <small className="pluginAuthor">{this.props.plugin.author}</small>
                         </div>
                         <div className="pluginDesc">{this.props.plugin.description}</div>
+                    </div>
+                    <div className="secondaryContent">
                         <SupportedPlatforms keywords={this.props.plugin.keywords}/>
-                        </div>
-                        <div className="secondaryContent col-xs-3">
-                        <div className="download">
-                            <p></p>
-                        </div>
                         <div className="extraInfo">
                             <p><small><strong>License:</strong> {license}</small></p>
                             {downloadField}
diff --git a/npm-search/src/js/pluginlist.jsx b/npm-search/src/js/pluginlist.jsx
index bc25ce8..2de0677 100644
--- a/npm-search/src/js/pluginlist.jsx
+++ b/npm-search/src/js/pluginlist.jsx
@@ -93,7 +93,7 @@
             }
         }.bind(this));
         return (
-            <div className="col-xs-offset-2 col-xs-8">
+            <div className="contentwrap">
                 <ul className="pluginList">
                     {plugins}
                 </ul>
diff --git a/npm-search/src/js/searchbar.jsx b/npm-search/src/js/searchbar.jsx
index 2604db9..75a4569 100644
--- a/npm-search/src/js/searchbar.jsx
+++ b/npm-search/src/js/searchbar.jsx
@@ -39,19 +39,19 @@
 
     render: function() {
         return (
-            <div className="col-xs-offset-2 col-xs-8">
-                <div id="searchwrapper">
-                    <input
-                        className="searchBox"
-                        type="search"
-                        autoComplete="off"
-                        placeholder={this.props.placeHolderText}
-                        value={this.state.textValue}
-                        onChange={this.handleChange}
-                        ref="filterTextInput"
-                    />
+                <div className="contentwrap">
+                    <div id="search">
+                        <input
+                            className="searchBox"
+                            type="search"
+                            autoComplete="off"
+                            placeholder={this.props.placeHolderText}
+                            value={this.state.textValue}
+                            onChange={this.handleChange}
+                            ref="filterTextInput"
+                        />
+                    </div>
                 </div>
-            </div>
         );
     }
 });