Rafał Pitoń 7 лет назад
Родитель
Сommit
3fda6f3930

+ 3769 - 493
frontend/package-lock.json

@@ -2,14 +2,34 @@
   "name": "misago",
   "version": "0.1.0",
   "lockfileVersion": 1,
+  "requires": true,
   "dependencies": {
     "accessory": {
       "version": "https://registry.npmjs.org/accessory/-/accessory-1.0.1.tgz",
-      "integrity": "sha1-JZVKJYKRohsb6PGQIGTpYs7mzmI="
+      "integrity": "sha1-JZVKJYKRohsb6PGQIGTpYs7mzmI=",
+      "requires": {
+        "dot-parts": "https://registry.npmjs.org/dot-parts/-/dot-parts-1.0.1.tgz"
+      }
     },
     "accord": {
       "version": "https://registry.npmjs.org/accord/-/accord-0.26.4.tgz",
       "integrity": "sha1-/EyNPrq0BqB8sogZuFllHESpLoA=",
+      "requires": {
+        "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.3.0.tgz",
+        "glob": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
+        "indx": "https://registry.npmjs.org/indx/-/indx-0.2.3.tgz",
+        "lodash.clone": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz",
+        "lodash.defaults": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
+        "lodash.flatten": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
+        "lodash.merge": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.0.tgz",
+        "lodash.partialright": "https://registry.npmjs.org/lodash.partialright/-/lodash.partialright-4.2.1.tgz",
+        "lodash.pick": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz",
+        "lodash.uniq": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
+        "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.2.0.tgz",
+        "semver": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+        "uglify-js": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz",
+        "when": "https://registry.npmjs.org/when/-/when-3.7.7.tgz"
+      },
       "dependencies": {
         "lodash.defaults": {
           "version": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
@@ -29,6 +49,10 @@
       "version": "https://registry.npmjs.org/agent-base/-/agent-base-2.0.1.tgz",
       "integrity": "sha1-vY+ehqjrIh//oHvRS+/VXfFCgV4=",
       "dev": true,
+      "requires": {
+        "extend": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz",
+        "semver": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz"
+      },
       "dependencies": {
         "semver": {
           "version": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz",
@@ -39,7 +63,12 @@
     },
     "align-text": {
       "version": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
-      "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc="
+      "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
+      "requires": {
+        "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.1.0.tgz",
+        "longest": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
+        "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz"
+      }
     },
     "amdefine": {
       "version": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
@@ -60,11 +89,18 @@
     },
     "anymatch": {
       "version": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz",
-      "integrity": "sha1-o+Uvo5FoyCX/V7AkgSbOWo/5VQc="
+      "integrity": "sha1-o+Uvo5FoyCX/V7AkgSbOWo/5VQc=",
+      "requires": {
+        "arrify": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+        "micromatch": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz"
+      }
     },
     "archive-type": {
       "version": "https://registry.npmjs.org/archive-type/-/archive-type-3.2.0.tgz",
-      "integrity": "sha1-nNnABpV+vpX62tW9YJiUKoE3N/Y="
+      "integrity": "sha1-nNnABpV+vpX62tW9YJiUKoE3N/Y=",
+      "requires": {
+        "file-type": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz"
+      }
     },
     "archy": {
       "version": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
@@ -72,11 +108,17 @@
     },
     "argparse": {
       "version": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz",
-      "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY="
+      "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=",
+      "requires": {
+        "sprintf-js": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"
+      }
     },
     "arr-diff": {
       "version": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
-      "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8="
+      "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
+      "requires": {
+        "arr-flatten": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.1.tgz"
+      }
     },
     "arr-flatten": {
       "version": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.1.tgz",
@@ -104,7 +146,10 @@
     },
     "array-union": {
       "version": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
-      "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk="
+      "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+      "requires": {
+        "array-uniq": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz"
+      }
     },
     "array-uniq": {
       "version": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
@@ -124,15 +169,26 @@
     },
     "asn1.js": {
       "version": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.0.tgz",
-      "integrity": "sha1-9xoSQ/PnnUbXsH1/v0gk7nOvBUo="
+      "integrity": "sha1-9xoSQ/PnnUbXsH1/v0gk7nOvBUo=",
+      "requires": {
+        "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz",
+        "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+        "minimalistic-assert": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz"
+      }
     },
     "assert": {
       "version": "https://registry.npmjs.org/assert/-/assert-1.3.0.tgz",
-      "integrity": "sha1-A5OaYiWCqBLMICMgoLmlbJuBWEk="
+      "integrity": "sha1-A5OaYiWCqBLMICMgoLmlbJuBWEk=",
+      "requires": {
+        "util": "https://registry.npmjs.org/util/-/util-0.10.3.tgz"
+      }
     },
     "astw": {
       "version": "https://registry.npmjs.org/astw/-/astw-2.0.0.tgz",
-      "integrity": "sha1-CBIayCiNNWEcDO7GY/bNVFYEiX0="
+      "integrity": "sha1-CBIayCiNNWEcDO7GY/bNVFYEiX0=",
+      "requires": {
+        "acorn": "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz"
+      }
     },
     "async": {
       "version": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
@@ -157,19 +213,60 @@
     },
     "babel-code-frame": {
       "version": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.20.0.tgz",
-      "integrity": "sha1-uWj4OQkPmovG1Bk4+5bLhPc4eyY="
+      "integrity": "sha1-uWj4OQkPmovG1Bk4+5bLhPc4eyY=",
+      "requires": {
+        "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+        "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+        "js-tokens": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz"
+      }
     },
     "babel-core": {
       "version": "https://registry.npmjs.org/babel-core/-/babel-core-6.7.7.tgz",
-      "integrity": "sha1-dPvfljqCXtdOE2qxAMyfB+PD5OI="
+      "integrity": "sha1-dPvfljqCXtdOE2qxAMyfB+PD5OI=",
+      "requires": {
+        "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.20.0.tgz",
+        "babel-generator": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.21.0.tgz",
+        "babel-helpers": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.16.0.tgz",
+        "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.8.0.tgz",
+        "babel-register": "https://registry.npmjs.org/babel-register/-/babel-register-6.18.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-5.8.38.tgz",
+        "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz",
+        "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.21.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz",
+        "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.14.1.tgz",
+        "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.3.0.tgz",
+        "debug": "https://registry.npmjs.org/debug/-/debug-2.4.4.tgz",
+        "json5": "https://registry.npmjs.org/json5/-/json5-0.4.0.tgz",
+        "lodash": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+        "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+        "path-exists": "https://registry.npmjs.org/path-exists/-/path-exists-1.0.0.tgz",
+        "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+        "private": "https://registry.npmjs.org/private/-/private-0.1.6.tgz",
+        "shebang-regex": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+        "slash": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+        "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz"
+      }
     },
     "babel-generator": {
       "version": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.21.0.tgz",
       "integrity": "sha1-YF8SacSJocdd7sp+oW1D1GVshJQ=",
+      "requires": {
+        "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.8.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz",
+        "detect-indent": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
+        "jsesc": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
+        "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz",
+        "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         },
         "lodash": {
           "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz",
@@ -180,30 +277,58 @@
     "babel-helper-bindify-decorators": {
       "version": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.18.0.tgz",
       "integrity": "sha1-/ADFc2dqbnAv/6AAGVgIkuyHgKU=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.21.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-helper-builder-binary-assignment-operator-visitor": {
       "version": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.18.0.tgz",
       "integrity": "sha1-iugUmJ96U2ghUuNAGgT6vQuzM6Y=",
+      "requires": {
+        "babel-helper-explode-assignable-expression": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.18.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-helper-builder-react-jsx": {
       "version": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.21.0.tgz",
       "integrity": "sha1-GHB6zTUMjhtaO3RwuYhwj96ETxw=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz",
+        "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+        "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         },
         "lodash": {
           "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz",
@@ -214,20 +339,40 @@
     "babel-helper-call-delegate": {
       "version": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.18.0.tgz",
       "integrity": "sha1-BbFKr6QwiEsDQJfvKenwZ+pBM70=",
+      "requires": {
+        "babel-helper-hoist-variables": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.18.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.21.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-helper-define-map": {
       "version": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.18.0.tgz",
       "integrity": "sha1-jWyF3H+7TBm+PeQEdNGOl8NnbsI=",
+      "requires": {
+        "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.18.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz",
+        "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         },
         "lodash": {
           "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz",
@@ -238,70 +383,133 @@
     "babel-helper-explode-assignable-expression": {
       "version": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.18.0.tgz",
       "integrity": "sha1-FLjowtA61zXUsg8YQLJM0fZSOf4=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.21.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-helper-explode-class": {
       "version": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.18.0.tgz",
       "integrity": "sha1-xE929PojucXWB8usXUEV56dvYss=",
+      "requires": {
+        "babel-helper-bindify-decorators": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.18.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.21.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-helper-function-name": {
       "version": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.18.0.tgz",
       "integrity": "sha1-aOxxrrofPiiypvBzAZC3VKm/MOY=",
+      "requires": {
+        "babel-helper-get-function-arity": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.18.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz",
+        "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.21.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-helper-get-function-arity": {
       "version": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.18.0.tgz",
       "integrity": "sha1-pbGWlf0/nN/DKDmLR9r81wlPnyQ=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-helper-hoist-variables": {
       "version": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.18.0.tgz",
       "integrity": "sha1-qDW1q4tG1t6bq++uTZjqQehmuCo=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-helper-optimise-call-expression": {
       "version": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.18.0.tgz",
       "integrity": "sha1-kmHQKZ7hpPCKbdKLe3x3c0j9jw8=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-helper-regex": {
       "version": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.18.0.tgz",
       "integrity": "sha1-rg6/133obLLxryWOLMILX+iT7MY=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz",
+        "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         },
         "lodash": {
           "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz",
@@ -312,50 +520,95 @@
     "babel-helper-remap-async-to-generator": {
       "version": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.20.3.tgz",
       "integrity": "sha1-ndOzlvE+Ne9j5TgJhQCtwkxjxOc=",
+      "requires": {
+        "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.18.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz",
+        "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.21.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-helper-replace-supers": {
       "version": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.18.0.tgz",
       "integrity": "sha1-KOxph3vkFE29ZPTMOjN+ifKakk4=",
+      "requires": {
+        "babel-helper-optimise-call-expression": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.18.0.tgz",
+        "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.8.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz",
+        "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.21.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-helpers": {
       "version": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.16.0.tgz",
       "integrity": "sha1-EJXsENmSeUYFU+Z+s+7plz04Z+M=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-messages": {
       "version": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.8.0.tgz",
       "integrity": "sha1-v1BHNsqWfm1l7wrbWipflHyODrk=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-check-es2015-constants": {
       "version": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.8.0.tgz",
       "integrity": "sha1-2/Akwy7Te/2o3uHnbaAjhqjSb+c=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
@@ -406,70 +659,135 @@
     "babel-plugin-transform-async-generator-functions": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.17.0.tgz",
       "integrity": "sha1-0LWisvCUDyskX6IKAFGe17xsrlQ=",
+      "requires": {
+        "babel-helper-remap-async-to-generator": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.20.3.tgz",
+        "babel-plugin-syntax-async-generators": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-async-to-generator": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.16.0.tgz",
       "integrity": "sha1-Gew2yxSGtZ+fRorfpCzhOQjKKZk=",
+      "requires": {
+        "babel-helper-remap-async-to-generator": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.20.3.tgz",
+        "babel-plugin-syntax-async-functions": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-class-properties": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.19.0.tgz",
       "integrity": "sha1-EnSzSauq3INRZOIAT0okRKJ4jV8=",
+      "requires": {
+        "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.18.0.tgz",
+        "babel-plugin-syntax-class-properties": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-decorators": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.13.0.tgz",
       "integrity": "sha1-gtZcFHCug+LRPuvssKHCR21i2p0=",
+      "requires": {
+        "babel-helper-define-map": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.18.0.tgz",
+        "babel-helper-explode-class": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.18.0.tgz",
+        "babel-plugin-syntax-decorators": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-es2015-arrow-functions": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.8.0.tgz",
       "integrity": "sha1-W2Ovwxgb3JqMTUgbWk8/fX/vPZ0=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-es2015-block-scoped-functions": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.8.0.tgz",
       "integrity": "sha1-7ZXWKcS1pxriloK5mPcNmDPrNm0=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-es2015-block-scoping": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.21.0.tgz",
       "integrity": "sha1-6EBof5IucPssQrsTUBg4wXShFe0=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz",
+        "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.21.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz",
+        "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         },
         "lodash": {
           "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz",
@@ -480,314 +798,639 @@
     "babel-plugin-transform-es2015-classes": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.18.0.tgz",
       "integrity": "sha1-/+ehcyG/g+SU3NoK4/xy30j/0dk=",
+      "requires": {
+        "babel-helper-define-map": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.18.0.tgz",
+        "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.18.0.tgz",
+        "babel-helper-optimise-call-expression": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.18.0.tgz",
+        "babel-helper-replace-supers": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.18.0.tgz",
+        "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.8.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz",
+        "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.21.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-es2015-computed-properties": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.8.0.tgz",
       "integrity": "sha1-9RAQ/WGzvXtrYKX9/TB7t6UnmHA=",
+      "requires": {
+        "babel-helper-define-map": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.18.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-es2015-destructuring": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.19.0.tgz",
       "integrity": "sha1-/x2RHEs/TKtiG9ZnAqhprNGQBTM=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-es2015-duplicate-keys": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.8.0.tgz",
       "integrity": "sha1-/Y9/cXH8EIzBxwwxZLnxWoHCX30=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-es2015-for-of": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.18.0.tgz",
       "integrity": "sha1-TFF1BNtkv4z8EZprjxdyEfICinA=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-es2015-function-name": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.9.0.tgz",
       "integrity": "sha1-jBNbF9vQZOW7pW7FEbqu4vyoJxk=",
+      "requires": {
+        "babel-helper-function-name": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.18.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-es2015-literals": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.8.0.tgz",
       "integrity": "sha1-UKouXHlY/CqyXXTsEX4MyY8EZGg=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-es2015-modules-amd": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.18.0.tgz",
       "integrity": "sha1-SaBUy7divfmuLYqAcHbPreYUHkA=",
+      "requires": {
+        "babel-plugin-transform-es2015-modules-commonjs": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.18.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-es2015-modules-commonjs": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.18.0.tgz",
       "integrity": "sha1-wVrluxGzKgq9zJilg3uqTujWe8w=",
+      "requires": {
+        "babel-plugin-transform-strict-mode": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.18.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-es2015-modules-systemjs": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.19.0.tgz",
       "integrity": "sha1-UEOBNuunRSfvoApbD++vHcQHHaY=",
+      "requires": {
+        "babel-helper-hoist-variables": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.18.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-es2015-modules-umd": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.18.0.tgz",
       "integrity": "sha1-IzUXcOzlwfjoPtZ8sdeZKIRJHlA=",
+      "requires": {
+        "babel-plugin-transform-es2015-modules-amd": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.18.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-es2015-object-super": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.8.0.tgz",
       "integrity": "sha1-G4WHQKWkQAiHwj3P9vTVbupKJMU=",
+      "requires": {
+        "babel-helper-replace-supers": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.18.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-es2015-parameters": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.21.0.tgz",
       "integrity": "sha1-RqZV5oZO+YQJFEjN8CTYe2Cyp9g=",
+      "requires": {
+        "babel-helper-call-delegate": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.18.0.tgz",
+        "babel-helper-get-function-arity": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.18.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz",
+        "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.21.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-es2015-shorthand-properties": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.18.0.tgz",
       "integrity": "sha1-4u3jt99Hv5gBUZJlNNHdDL6lj0M=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-es2015-spread": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.8.0.tgz",
       "integrity": "sha1-Ahf3N+O4IfpaZp8YfG7VkgXwXpw=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-es2015-sticky-regex": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.8.0.tgz",
       "integrity": "sha1-5z0wCkQKNdXGT1wqNE3CNuPfR74=",
+      "requires": {
+        "babel-helper-regex": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.18.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-es2015-template-literals": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.8.0.tgz",
       "integrity": "sha1-huuHbQosY12k7ASLT33p38iX5ms=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-es2015-typeof-symbol": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.18.0.tgz",
       "integrity": "sha1-CxTEhinJD/R6BlAHf2qmmb7jV5g=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-es2015-unicode-regex": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.11.0.tgz",
       "integrity": "sha1-YpjOq6rYjVCj9POS2N6ZcmD27yw=",
+      "requires": {
+        "babel-helper-regex": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.18.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "regexpu-core": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-exponentiation-operator": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.8.0.tgz",
       "integrity": "sha1-2yV0LpM56t5nbKms7Eb5VVmaaKQ=",
+      "requires": {
+        "babel-helper-builder-binary-assignment-operator-visitor": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.18.0.tgz",
+        "babel-plugin-syntax-exponentiation-operator": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-flow-strip-types": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.21.0.tgz",
       "integrity": "sha1-Luo/i1uyNDObRyg/6sFVz7I3uUg=",
+      "requires": {
+        "babel-plugin-syntax-flow": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-object-rest-spread": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.20.2.tgz",
       "integrity": "sha1-6BbFW7p3sUwWNl2H4q5IyP0Y/C4=",
+      "requires": {
+        "babel-plugin-syntax-object-rest-spread": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-react-display-name": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.8.0.tgz",
       "integrity": "sha1-96CEl3OD1yi9vcKDW7oBWVd/Zg4=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-react-jsx": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.8.0.tgz",
       "integrity": "sha1-lHWZQvcK8YxhcYmqfzWT8WRKcas=",
+      "requires": {
+        "babel-helper-builder-react-jsx": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.21.0.tgz",
+        "babel-plugin-syntax-jsx": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-react-jsx-self": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.11.0.tgz",
       "integrity": "sha1-YFyUUMFCn5epMPfh3+Pw2dDb0PQ=",
+      "requires": {
+        "babel-plugin-syntax-jsx": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-react-jsx-source": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.9.0.tgz",
       "integrity": "sha1-r2hKBcIGeobglX1PNDKVzPXczwA=",
+      "requires": {
+        "babel-plugin-syntax-jsx": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-plugin-transform-regenerator": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.21.0.tgz",
-      "integrity": "sha1-ddDH5/hPN5NY9QhFHGiixfpalwM="
+      "integrity": "sha1-ddDH5/hPN5NY9QhFHGiixfpalwM=",
+      "requires": {
+        "regenerator-transform": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.9.8.tgz"
+      }
     },
     "babel-plugin-transform-strict-mode": {
       "version": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.18.0.tgz",
       "integrity": "sha1-33zymR/gRvRBY9zRENXKQ7xlK50=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-polyfill": {
       "version": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.20.0.tgz",
       "integrity": "sha1-3ko3EAYTniCZCqwL42fTmDMSBOc=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+        "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "babel-preset-es2015": {
       "version": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.18.0.tgz",
-      "integrity": "sha1-uMcN+E7JSMQ9zyv3cOmI632ogxI="
+      "integrity": "sha1-uMcN+E7JSMQ9zyv3cOmI632ogxI=",
+      "requires": {
+        "babel-plugin-check-es2015-constants": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.8.0.tgz",
+        "babel-plugin-transform-es2015-arrow-functions": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.8.0.tgz",
+        "babel-plugin-transform-es2015-block-scoped-functions": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.8.0.tgz",
+        "babel-plugin-transform-es2015-block-scoping": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.21.0.tgz",
+        "babel-plugin-transform-es2015-classes": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.18.0.tgz",
+        "babel-plugin-transform-es2015-computed-properties": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.8.0.tgz",
+        "babel-plugin-transform-es2015-destructuring": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.19.0.tgz",
+        "babel-plugin-transform-es2015-duplicate-keys": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.8.0.tgz",
+        "babel-plugin-transform-es2015-for-of": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.18.0.tgz",
+        "babel-plugin-transform-es2015-function-name": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.9.0.tgz",
+        "babel-plugin-transform-es2015-literals": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.8.0.tgz",
+        "babel-plugin-transform-es2015-modules-amd": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.18.0.tgz",
+        "babel-plugin-transform-es2015-modules-commonjs": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.18.0.tgz",
+        "babel-plugin-transform-es2015-modules-systemjs": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.19.0.tgz",
+        "babel-plugin-transform-es2015-modules-umd": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.18.0.tgz",
+        "babel-plugin-transform-es2015-object-super": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.8.0.tgz",
+        "babel-plugin-transform-es2015-parameters": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.21.0.tgz",
+        "babel-plugin-transform-es2015-shorthand-properties": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.18.0.tgz",
+        "babel-plugin-transform-es2015-spread": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.8.0.tgz",
+        "babel-plugin-transform-es2015-sticky-regex": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.8.0.tgz",
+        "babel-plugin-transform-es2015-template-literals": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.8.0.tgz",
+        "babel-plugin-transform-es2015-typeof-symbol": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.18.0.tgz",
+        "babel-plugin-transform-es2015-unicode-regex": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.11.0.tgz",
+        "babel-plugin-transform-regenerator": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.21.0.tgz"
+      }
     },
     "babel-preset-react": {
       "version": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.16.0.tgz",
-      "integrity": "sha1-qhF9YN4JKGB+NDxIKJBuRmGCQxY="
+      "integrity": "sha1-qhF9YN4JKGB+NDxIKJBuRmGCQxY=",
+      "requires": {
+        "babel-plugin-syntax-flow": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
+        "babel-plugin-syntax-jsx": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
+        "babel-plugin-transform-flow-strip-types": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.21.0.tgz",
+        "babel-plugin-transform-react-display-name": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.8.0.tgz",
+        "babel-plugin-transform-react-jsx": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.8.0.tgz",
+        "babel-plugin-transform-react-jsx-self": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.11.0.tgz",
+        "babel-plugin-transform-react-jsx-source": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.9.0.tgz"
+      }
     },
     "babel-preset-stage-2": {
       "version": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.18.0.tgz",
-      "integrity": "sha1-nre/mo6RxoJg1bp1AEk8qq2ktbU="
+      "integrity": "sha1-nre/mo6RxoJg1bp1AEk8qq2ktbU=",
+      "requires": {
+        "babel-plugin-syntax-dynamic-import": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
+        "babel-plugin-transform-class-properties": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.19.0.tgz",
+        "babel-plugin-transform-decorators": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.13.0.tgz",
+        "babel-preset-stage-3": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.17.0.tgz"
+      }
     },
     "babel-preset-stage-3": {
       "version": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.17.0.tgz",
-      "integrity": "sha1-tmOORttukeP4iQE9jOFDkXxoXjk="
+      "integrity": "sha1-tmOORttukeP4iQE9jOFDkXxoXjk=",
+      "requires": {
+        "babel-plugin-syntax-trailing-function-commas": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.20.0.tgz",
+        "babel-plugin-transform-async-generator-functions": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.17.0.tgz",
+        "babel-plugin-transform-async-to-generator": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.16.0.tgz",
+        "babel-plugin-transform-exponentiation-operator": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.8.0.tgz",
+        "babel-plugin-transform-object-rest-spread": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.20.2.tgz"
+      }
     },
     "babel-register": {
       "version": "https://registry.npmjs.org/babel-register/-/babel-register-6.18.0.tgz",
       "integrity": "sha1-iS4uA4ZQeN2QrSxxURHsREmzKmg=",
+      "requires": {
+        "babel-core": "https://registry.npmjs.org/babel-core/-/babel-core-6.21.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+        "home-or-tmp": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
+        "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz",
+        "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+        "source-map-support": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.6.tgz"
+      },
       "dependencies": {
         "babel-core": {
           "version": "https://registry.npmjs.org/babel-core/-/babel-core-6.21.0.tgz",
-          "integrity": "sha1-dVJUgMIcgD+CbvOGfSLBnwgKNyQ="
+          "integrity": "sha1-dVJUgMIcgD+CbvOGfSLBnwgKNyQ=",
+          "requires": {
+            "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.20.0.tgz",
+            "babel-generator": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.21.0.tgz",
+            "babel-helpers": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.16.0.tgz",
+            "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.8.0.tgz",
+            "babel-register": "https://registry.npmjs.org/babel-register/-/babel-register-6.18.0.tgz",
+            "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+            "babel-template": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz",
+            "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.21.0.tgz",
+            "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz",
+            "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.14.1.tgz",
+            "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.3.0.tgz",
+            "debug": "https://registry.npmjs.org/debug/-/debug-2.4.4.tgz",
+            "json5": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+            "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz",
+            "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+            "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+            "private": "https://registry.npmjs.org/private/-/private-0.1.6.tgz",
+            "slash": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+            "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz"
+          }
         },
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         },
         "json5": {
           "version": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
@@ -799,13 +1442,19 @@
         },
         "minimatch": {
           "version": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
-          "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q="
+          "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=",
+          "requires": {
+            "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz"
+          }
         }
       }
     },
     "babel-runtime": {
       "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-5.8.38.tgz",
       "integrity": "sha1-HAsC62MxL18If/IEUIJ7QlydTBk=",
+      "requires": {
+        "core-js": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz"
+      },
       "dependencies": {
         "core-js": {
           "version": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
@@ -816,10 +1465,21 @@
     "babel-template": {
       "version": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz",
       "integrity": "sha1-4UndGp8Do1+BfdvE0EgZiOfryMo=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-traverse": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.21.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz",
+        "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.14.1.tgz",
+        "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         },
         "lodash": {
           "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz",
@@ -830,10 +1490,25 @@
     "babel-traverse": {
       "version": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.21.0.tgz",
       "integrity": "sha1-acY2WATxpPaesSE/hbAKgYuMIa0=",
+      "requires": {
+        "babel-code-frame": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.20.0.tgz",
+        "babel-messages": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.8.0.tgz",
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz",
+        "babylon": "https://registry.npmjs.org/babylon/-/babylon-6.14.1.tgz",
+        "debug": "https://registry.npmjs.org/debug/-/debug-2.4.4.tgz",
+        "globals": "https://registry.npmjs.org/globals/-/globals-9.14.0.tgz",
+        "invariant": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz",
+        "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         },
         "lodash": {
           "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz",
@@ -844,10 +1519,20 @@
     "babel-types": {
       "version": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz",
       "integrity": "sha1-MUuSFoiR7204Brf3qRf9+HwRpLI=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+        "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz",
+        "to-fast-properties": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         },
         "lodash": {
           "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz",
@@ -857,7 +1542,11 @@
     },
     "babelify": {
       "version": "https://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz",
-      "integrity": "sha1-qlau3nBn/XvVSWZu4W3ChQh+iOU="
+      "integrity": "sha1-qlau3nBn/XvVSWZu4W3ChQh+iOU=",
+      "requires": {
+        "babel-core": "https://registry.npmjs.org/babel-core/-/babel-core-6.7.7.tgz",
+        "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz"
+      }
     },
     "babylon": {
       "version": "https://registry.npmjs.org/babylon/-/babylon-6.14.1.tgz",
@@ -878,10 +1567,23 @@
     "bin-build": {
       "version": "https://registry.npmjs.org/bin-build/-/bin-build-2.2.0.tgz",
       "integrity": "sha1-EfjdYfcP/Por3KpbRvXo/t1CIcw=",
+      "requires": {
+        "archive-type": "https://registry.npmjs.org/archive-type/-/archive-type-3.2.0.tgz",
+        "decompress": "https://registry.npmjs.org/decompress/-/decompress-3.0.0.tgz",
+        "download": "https://registry.npmjs.org/download/-/download-4.4.3.tgz",
+        "exec-series": "https://registry.npmjs.org/exec-series/-/exec-series-1.0.3.tgz",
+        "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz",
+        "tempfile": "https://registry.npmjs.org/tempfile/-/tempfile-1.1.1.tgz",
+        "url-regex": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz"
+      },
       "dependencies": {
         "tempfile": {
           "version": "https://registry.npmjs.org/tempfile/-/tempfile-1.1.1.tgz",
-          "integrity": "sha1-W8xOrsxKsscH2LwR2ZzMmiyyh/I="
+          "integrity": "sha1-W8xOrsxKsscH2LwR2ZzMmiyyh/I=",
+          "requires": {
+            "os-tmpdir": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+            "uuid": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz"
+          }
         },
         "uuid": {
           "version": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
@@ -891,15 +1593,27 @@
     },
     "bin-check": {
       "version": "https://registry.npmjs.org/bin-check/-/bin-check-2.0.0.tgz",
-      "integrity": "sha1-hvjm9CU4k99g3DFpV/WvAqywWTA="
+      "integrity": "sha1-hvjm9CU4k99g3DFpV/WvAqywWTA=",
+      "requires": {
+        "executable": "https://registry.npmjs.org/executable/-/executable-1.1.0.tgz"
+      }
     },
     "bin-version": {
       "version": "https://registry.npmjs.org/bin-version/-/bin-version-1.0.4.tgz",
-      "integrity": "sha1-nrSY7m/Xb3q5p8FgQ2+JV5Q1144="
+      "integrity": "sha1-nrSY7m/Xb3q5p8FgQ2+JV5Q1144=",
+      "requires": {
+        "find-versions": "https://registry.npmjs.org/find-versions/-/find-versions-1.2.1.tgz"
+      }
     },
     "bin-version-check": {
       "version": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-2.1.0.tgz",
       "integrity": "sha1-5OXfKQuQaffRETJAMe/BP90RpbA=",
+      "requires": {
+        "bin-version": "https://registry.npmjs.org/bin-version/-/bin-version-1.0.4.tgz",
+        "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+        "semver": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
+        "semver-truncate": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz"
+      },
       "dependencies": {
         "minimist": {
           "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
@@ -909,7 +1623,15 @@
     },
     "bin-wrapper": {
       "version": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-3.0.2.tgz",
-      "integrity": "sha1-Z9MwYmLksaXy+I7iNGT2plVneus="
+      "integrity": "sha1-Z9MwYmLksaXy+I7iNGT2plVneus=",
+      "requires": {
+        "bin-check": "https://registry.npmjs.org/bin-check/-/bin-check-2.0.0.tgz",
+        "bin-version-check": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-2.1.0.tgz",
+        "download": "https://registry.npmjs.org/download/-/download-4.4.3.tgz",
+        "each-async": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz",
+        "lazy-req": "https://registry.npmjs.org/lazy-req/-/lazy-req-1.1.0.tgz",
+        "os-filter-obj": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-1.0.3.tgz"
+      }
     },
     "binary-extensions": {
       "version": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.8.0.tgz",
@@ -918,6 +1640,9 @@
     "bl": {
       "version": "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz",
       "integrity": "sha1-wGt5evCF6gC8Unr8jvzxHeIjIFQ=",
+      "requires": {
+        "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz"
+      },
       "dependencies": {
         "isarray": {
           "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
@@ -925,7 +1650,13 @@
         },
         "readable-stream": {
           "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
-          "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw="
+          "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+          "requires": {
+            "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+            "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+            "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+          }
         }
       }
     },
@@ -943,11 +1674,20 @@
     },
     "brace-expansion": {
       "version": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz",
-      "integrity": "sha1-cZfX6qm4fmSDkOph/GbIRCdCDfk="
+      "integrity": "sha1-cZfX6qm4fmSDkOph/GbIRCdCDfk=",
+      "requires": {
+        "balanced-match": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
+        "concat-map": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
+      }
     },
     "braces": {
       "version": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
-      "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc="
+      "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
+      "requires": {
+        "expand-range": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+        "preserve": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
+        "repeat-element": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz"
+      }
     },
     "brorand": {
       "version": "https://registry.npmjs.org/brorand/-/brorand-1.0.6.tgz",
@@ -956,11 +1696,21 @@
     "brout": {
       "version": "https://registry.npmjs.org/brout/-/brout-1.2.0.tgz",
       "integrity": "sha1-B3Hav3ltMS8KfB8SgeAPdmDPcC8=",
-      "dev": true
+      "dev": true,
+      "requires": {
+        "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
+      }
     },
     "browser-pack": {
       "version": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.0.2.tgz",
-      "integrity": "sha1-+GzWzvT1MAyOY+B6TVEvZfv/RTE="
+      "integrity": "sha1-+GzWzvT1MAyOY+B6TVEvZfv/RTE=",
+      "requires": {
+        "combine-source-map": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.7.2.tgz",
+        "defined": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+        "JSONStream": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.0.tgz",
+        "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+        "umd": "https://registry.npmjs.org/umd/-/umd-3.0.1.tgz"
+      }
     },
     "browser-reload": {
       "version": "https://registry.npmjs.org/browser-reload/-/browser-reload-1.1.0.tgz",
@@ -970,6 +1720,9 @@
     "browser-resolve": {
       "version": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz",
       "integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=",
+      "requires": {
+        "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz"
+      },
       "dependencies": {
         "resolve": {
           "version": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
@@ -980,32 +1733,116 @@
     "browserify": {
       "version": "https://registry.npmjs.org/browserify/-/browserify-13.1.1.tgz",
       "integrity": "sha1-cqIxDi9wbth9uSnPDuc6Xhldm7A=",
+      "requires": {
+        "assert": "https://registry.npmjs.org/assert/-/assert-1.3.0.tgz",
+        "browser-pack": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.0.2.tgz",
+        "browser-resolve": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz",
+        "browserify-zlib": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz",
+        "buffer": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
+        "cached-path-relative": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.0.tgz",
+        "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
+        "console-browserify": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
+        "constants-browserify": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
+        "crypto-browserify": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.0.tgz",
+        "defined": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+        "deps-sort": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz",
+        "domain-browser": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz",
+        "duplexer2": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
+        "events": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
+        "glob": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+        "has": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
+        "htmlescape": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz",
+        "https-browserify": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz",
+        "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+        "insert-module-globals": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.0.1.tgz",
+        "JSONStream": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.0.tgz",
+        "labeled-stream-splicer": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz",
+        "module-deps": "https://registry.npmjs.org/module-deps/-/module-deps-4.0.8.tgz",
+        "os-browserify": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.1.2.tgz",
+        "parents": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz",
+        "path-browserify": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
+        "process": "https://registry.npmjs.org/process/-/process-0.11.9.tgz",
+        "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+        "querystring-es3": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+        "read-only-stream": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz",
+        "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz",
+        "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.2.0.tgz",
+        "shasum": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz",
+        "shell-quote": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz",
+        "stream-browserify": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
+        "stream-http": "https://registry.npmjs.org/stream-http/-/stream-http-2.5.0.tgz",
+        "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+        "subarg": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
+        "syntax-error": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.1.6.tgz",
+        "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+        "timers-browserify": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz",
+        "tty-browserify": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
+        "url": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+        "util": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
+        "vm-browserify": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
+        "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+      },
       "dependencies": {
         "glob": {
           "version": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
-          "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E="
+          "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
+          "requires": {
+            "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+            "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+            "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+            "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+          }
         }
       }
     },
     "browserify-aes": {
       "version": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz",
-      "integrity": "sha1-Xncl297x/Vkw1OurSFZ85FHEigo="
+      "integrity": "sha1-Xncl297x/Vkw1OurSFZ85FHEigo=",
+      "requires": {
+        "buffer-xor": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
+        "cipher-base": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.3.tgz",
+        "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.2.tgz",
+        "evp_bytestokey": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz",
+        "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
+      }
     },
     "browserify-cipher": {
       "version": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz",
-      "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo="
+      "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=",
+      "requires": {
+        "browserify-aes": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz",
+        "browserify-des": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz",
+        "evp_bytestokey": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz"
+      }
     },
     "browserify-des": {
       "version": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz",
-      "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0="
+      "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=",
+      "requires": {
+        "cipher-base": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.3.tgz",
+        "des.js": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
+        "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
+      }
     },
     "browserify-rsa": {
       "version": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
-      "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ="
+      "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
+      "requires": {
+        "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz",
+        "randombytes": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.3.tgz"
+      }
     },
     "browserify-shim": {
       "version": "https://registry.npmjs.org/browserify-shim/-/browserify-shim-3.8.12.tgz",
       "integrity": "sha1-4sl6E0xesSLiu09hcHoH9vc/8JI=",
+      "requires": {
+        "exposify": "https://registry.npmjs.org/exposify/-/exposify-0.4.3.tgz",
+        "mothership": "https://registry.npmjs.org/mothership/-/mothership-0.2.0.tgz",
+        "rename-function-calls": "https://registry.npmjs.org/rename-function-calls/-/rename-function-calls-0.1.1.tgz",
+        "resolve": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz",
+        "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
+      },
       "dependencies": {
         "resolve": {
           "version": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz",
@@ -1015,15 +1852,32 @@
     },
     "browserify-sign": {
       "version": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.0.tgz",
-      "integrity": "sha1-EHc5EMPCBtVCCkaq2GlPgguFlo8="
+      "integrity": "sha1-EHc5EMPCBtVCCkaq2GlPgguFlo8=",
+      "requires": {
+        "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz",
+        "browserify-rsa": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
+        "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.2.tgz",
+        "create-hmac": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.4.tgz",
+        "elliptic": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.2.tgz",
+        "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+        "parse-asn1": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.0.0.tgz"
+      }
     },
     "browserify-zlib": {
       "version": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz",
-      "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0="
+      "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=",
+      "requires": {
+        "pako": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz"
+      }
     },
     "buffer": {
       "version": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
-      "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg="
+      "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
+      "requires": {
+        "base64-js": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz",
+        "ieee754": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz",
+        "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
+      }
     },
     "buffer-crc32": {
       "version": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
@@ -1036,6 +1890,12 @@
     "buffer-to-vinyl": {
       "version": "https://registry.npmjs.org/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz",
       "integrity": "sha1-APFfruOreh3aLN5tkSG//dB7ImI=",
+      "requires": {
+        "file-type": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
+        "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz",
+        "uuid": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
+        "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz"
+      },
       "dependencies": {
         "uuid": {
           "version": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
@@ -1043,7 +1903,12 @@
         },
         "vinyl": {
           "version": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
-          "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ="
+          "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
+          "requires": {
+            "clone": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz",
+            "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+            "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz"
+          }
         }
       }
     },
@@ -1054,6 +1919,9 @@
     "bufferstreams": {
       "version": "https://registry.npmjs.org/bufferstreams/-/bufferstreams-1.0.1.tgz",
       "integrity": "sha1-z7GtlWjTujz+k1upq92VLeiKqyo=",
+      "requires": {
+        "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz"
+      },
       "dependencies": {
         "isarray": {
           "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
@@ -1061,7 +1929,13 @@
         },
         "readable-stream": {
           "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
-          "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk="
+          "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+          "requires": {
+            "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+            "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+            "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+          }
         }
       }
     },
@@ -1083,7 +1957,11 @@
     },
     "camelcase-keys": {
       "version": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
-      "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc="
+      "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
+      "requires": {
+        "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+        "map-obj": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz"
+      }
     },
     "capture-stack-trace": {
       "version": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz",
@@ -1092,6 +1970,12 @@
     "caw": {
       "version": "https://registry.npmjs.org/caw/-/caw-1.2.0.tgz",
       "integrity": "sha1-/7Im/n78VHKI3GLuPpcHPCEtEDQ=",
+      "requires": {
+        "get-proxy": "https://registry.npmjs.org/get-proxy/-/get-proxy-1.1.0.tgz",
+        "is-obj": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+        "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
+        "tunnel-agent": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz"
+      },
       "dependencies": {
         "object-assign": {
           "version": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
@@ -1101,46 +1985,93 @@
     },
     "center-align": {
       "version": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
-      "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60="
+      "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
+      "requires": {
+        "align-text": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
+        "lazy-cache": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz"
+      }
     },
     "chalk": {
       "version": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
-      "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg="
+      "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+      "requires": {
+        "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+        "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+        "has-ansi": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+        "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+        "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"
+      }
     },
     "chokidar": {
       "version": "https://registry.npmjs.org/chokidar/-/chokidar-1.6.1.tgz",
-      "integrity": "sha1-L0RHq16W5Q+z14n9kNTHLg5McMI="
+      "integrity": "sha1-L0RHq16W5Q+z14n9kNTHLg5McMI=",
+      "requires": {
+        "anymatch": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz",
+        "async-each": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
+        "fsevents": "https://registry.npmjs.org/fsevents/-/fsevents-1.0.15.tgz",
+        "glob-parent": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+        "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+        "is-binary-path": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+        "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+        "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+        "readdirp": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz"
+      }
     },
     "cipher-base": {
       "version": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.3.tgz",
-      "integrity": "sha1-7qvxlEGc6QDaMBjCB9IS8qbfCgc="
+      "integrity": "sha1-7qvxlEGc6QDaMBjCB9IS8qbfCgc=",
+      "requires": {
+        "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
+      }
     },
     "clap": {
       "version": "https://registry.npmjs.org/clap/-/clap-1.1.2.tgz",
-      "integrity": "sha1-MWVFvyIikiWizsqmgkzS9WqXCe0="
+      "integrity": "sha1-MWVFvyIikiWizsqmgkzS9WqXCe0=",
+      "requires": {
+        "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz"
+      }
     },
     "clean-css": {
       "version": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.22.tgz",
       "integrity": "sha1-2zIwZPdSAod4IztYxUzYU1+GCJI=",
+      "requires": {
+        "commander": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
+        "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz"
+      },
       "dependencies": {
         "commander": {
           "version": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
-          "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ="
+          "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
+          "requires": {
+            "graceful-readlink": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
+          }
         },
         "source-map": {
           "version": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
-          "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s="
+          "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+          "requires": {
+            "amdefine": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz"
+          }
         }
       }
     },
     "cli": {
       "version": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz",
       "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=",
-      "dev": true
+      "dev": true,
+      "requires": {
+        "exit": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+        "glob": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz"
+      }
     },
     "cliui": {
       "version": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
       "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
+      "requires": {
+        "center-align": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
+        "right-align": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
+        "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz"
+      },
       "dependencies": {
         "wordwrap": {
           "version": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
@@ -1162,7 +2093,10 @@
     },
     "coa": {
       "version": "https://registry.npmjs.org/coa/-/coa-1.0.1.tgz",
-      "integrity": "sha1-f5WTRs/IcZ4/cjPNaFKFSnxn2KM="
+      "integrity": "sha1-f5WTRs/IcZ4/cjPNaFKFSnxn2KM=",
+      "requires": {
+        "q": "https://registry.npmjs.org/q/-/q-1.4.1.tgz"
+      }
     },
     "colors": {
       "version": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
@@ -1171,6 +2105,12 @@
     "combine-source-map": {
       "version": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.7.2.tgz",
       "integrity": "sha1-CHAxKFazB6h8xKxIbzqaYq7MwJ4=",
+      "requires": {
+        "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
+        "inline-source-map": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz",
+        "lodash.memoize": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz",
+        "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz"
+      },
       "dependencies": {
         "convert-source-map": {
           "version": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
@@ -1180,7 +2120,10 @@
     },
     "commander": {
       "version": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
-      "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ="
+      "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
+      "requires": {
+        "graceful-readlink": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
+      }
     },
     "concat-map": {
       "version": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -1189,16 +2132,32 @@
     "concat-stream": {
       "version": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
       "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=",
+      "requires": {
+        "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+        "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
+        "typedarray": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
+      },
       "dependencies": {
         "readable-stream": {
           "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
-          "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44="
+          "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
+          "requires": {
+            "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+            "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+            "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+            "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+            "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+          }
         }
       }
     },
     "console-browserify": {
       "version": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
-      "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA="
+      "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
+      "requires": {
+        "date-now": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz"
+      }
     },
     "console-stream": {
       "version": "https://registry.npmjs.org/console-stream/-/console-stream-0.1.1.tgz",
@@ -1207,7 +2166,14 @@
     "consolify": {
       "version": "https://registry.npmjs.org/consolify/-/consolify-2.2.0.tgz",
       "integrity": "sha1-YiHbEHSgjYQP8wpcDLvzxgmnT4w=",
-      "dev": true
+      "dev": true,
+      "requires": {
+        "ansi_up": "https://registry.npmjs.org/ansi_up/-/ansi_up-1.3.0.tgz",
+        "brout": "https://registry.npmjs.org/brout/-/brout-1.2.0.tgz",
+        "browser-reload": "https://registry.npmjs.org/browser-reload/-/browser-reload-1.1.0.tgz",
+        "source-mapper": "https://registry.npmjs.org/source-mapper/-/source-mapper-2.0.0.tgz",
+        "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
+      }
     },
     "constants-browserify": {
       "version": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
@@ -1229,6 +2195,16 @@
       "version": "https://registry.npmjs.org/coverify/-/coverify-1.4.1.tgz",
       "integrity": "sha1-s+SwfsHOIJwOrJmliqvfZ9i2JyY=",
       "dev": true,
+      "requires": {
+        "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.3.0.tgz",
+        "falafel": "https://registry.npmjs.org/falafel/-/falafel-1.2.0.tgz",
+        "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+        "slash": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+        "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+        "split2": "https://registry.npmjs.org/split2/-/split2-0.2.1.tgz",
+        "stream-combiner2": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
+        "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz"
+      },
       "dependencies": {
         "isarray": {
           "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
@@ -1243,78 +2219,151 @@
         "readable-stream": {
           "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
           "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
-          "dev": true
+          "dev": true,
+          "requires": {
+            "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+            "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+            "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+          }
         },
         "source-map": {
           "version": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
           "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
-          "dev": true
+          "dev": true,
+          "requires": {
+            "amdefine": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz"
+          }
         },
         "through2": {
           "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
           "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
-          "dev": true
+          "dev": true,
+          "requires": {
+            "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+            "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+          }
         }
       }
     },
     "create-ecdh": {
       "version": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz",
-      "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30="
+      "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=",
+      "requires": {
+        "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz",
+        "elliptic": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.2.tgz"
+      }
     },
     "create-error-class": {
       "version": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
-      "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y="
+      "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
+      "requires": {
+        "capture-stack-trace": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz"
+      }
     },
     "create-hash": {
       "version": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.2.tgz",
-      "integrity": "sha1-USEAYte7dHn2xlu0GpIgix1hq60="
+      "integrity": "sha1-USEAYte7dHn2xlu0GpIgix1hq60=",
+      "requires": {
+        "cipher-base": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.3.tgz",
+        "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+        "ripemd160": "https://registry.npmjs.org/ripemd160/-/ripemd160-1.0.1.tgz",
+        "sha.js": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.8.tgz"
+      }
     },
     "create-hmac": {
       "version": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.4.tgz",
-      "integrity": "sha1-0/tLolPriz9W456i+8uK90e9MXA="
+      "integrity": "sha1-0/tLolPriz9W456i+8uK90e9MXA=",
+      "requires": {
+        "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.2.tgz",
+        "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
+      }
     },
     "cropit": {
       "version": "https://registry.npmjs.org/cropit/-/cropit-0.5.1.tgz",
-      "integrity": "sha1-w6ImPY6tRVEHEYVL8jYTuq6AmAU="
+      "integrity": "sha1-w6ImPY6tRVEHEYVL8jYTuq6AmAU=",
+      "requires": {
+        "jquery": "https://registry.npmjs.org/jquery/-/jquery-2.2.4.tgz"
+      }
     },
     "cross-spawn": {
       "version": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-2.2.3.tgz",
       "integrity": "sha1-+sViAt/T0N2GF3jy2iA79DS7ghw=",
-      "dev": true
+      "dev": true,
+      "requires": {
+        "cross-spawn-async": "https://registry.npmjs.org/cross-spawn-async/-/cross-spawn-async-2.2.5.tgz",
+        "spawn-sync": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz"
+      }
     },
     "cross-spawn-async": {
       "version": "https://registry.npmjs.org/cross-spawn-async/-/cross-spawn-async-2.2.5.tgz",
       "integrity": "sha1-hF/wwINKPe2dFg2sptOQkGuyiMw=",
       "dev": true,
+      "requires": {
+        "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz",
+        "which": "https://registry.npmjs.org/which/-/which-1.2.12.tgz"
+      },
       "dependencies": {
         "lru-cache": {
           "version": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz",
           "integrity": "sha1-HRdnnAac2l0ECZGgnbwsDbN35V4=",
-          "dev": true
+          "dev": true,
+          "requires": {
+            "pseudomap": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+            "yallist": "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz"
+          }
         }
       }
     },
     "crypto-browserify": {
       "version": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.0.tgz",
-      "integrity": "sha1-NlKgkGq5sqfgw85mpAjpV6JIVSI="
+      "integrity": "sha1-NlKgkGq5sqfgw85mpAjpV6JIVSI=",
+      "requires": {
+        "browserify-cipher": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz",
+        "browserify-sign": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.0.tgz",
+        "create-ecdh": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz",
+        "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.2.tgz",
+        "create-hmac": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.4.tgz",
+        "diffie-hellman": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz",
+        "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+        "pbkdf2": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.9.tgz",
+        "public-encrypt": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz",
+        "randombytes": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.3.tgz"
+      }
     },
     "css": {
       "version": "https://registry.npmjs.org/css/-/css-2.2.1.tgz",
       "integrity": "sha1-c6TIHehdtmTU7mdPfUcIXjstVdw=",
+      "requires": {
+        "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+        "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
+        "source-map-resolve": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.3.1.tgz",
+        "urix": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz"
+      },
       "dependencies": {
         "source-map": {
           "version": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
-          "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y="
+          "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
+          "requires": {
+            "amdefine": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz"
+          }
         }
       }
     },
     "csso": {
       "version": "https://registry.npmjs.org/csso/-/csso-2.2.1.tgz",
-      "integrity": "sha1-Ufu1NH5Q6B5u1RZopISQrm/ir+I="
+      "integrity": "sha1-Ufu1NH5Q6B5u1RZopISQrm/ir+I=",
+      "requires": {
+        "clap": "https://registry.npmjs.org/clap/-/clap-1.1.2.tgz",
+        "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz"
+      }
     },
     "currently-unhandled": {
       "version": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
-      "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o="
+      "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+      "requires": {
+        "array-find-index": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz"
+      }
     },
     "date-now": {
       "version": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
@@ -1322,7 +2371,11 @@
     },
     "dateformat": {
       "version": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
-      "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk="
+      "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
+      "requires": {
+        "get-stdin": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+        "meow": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz"
+      }
     },
     "deap": {
       "version": "https://registry.npmjs.org/deap/-/deap-1.0.0.tgz",
@@ -1330,11 +2383,19 @@
     },
     "debug": {
       "version": "https://registry.npmjs.org/debug/-/debug-2.4.4.tgz",
-      "integrity": "sha1-wE0XplTpICRkgD8JYVP3Cm8x9L4="
+      "integrity": "sha1-wE0XplTpICRkgD8JYVP3Cm8x9L4=",
+      "requires": {
+        "ms": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz"
+      }
     },
     "debug-fabulous": {
       "version": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-0.0.4.tgz",
-      "integrity": "sha1-+gccXYdIRoVCSAdCHKSxawsaB2M="
+      "integrity": "sha1-+gccXYdIRoVCSAdCHKSxawsaB2M=",
+      "requires": {
+        "debug": "https://registry.npmjs.org/debug/-/debug-2.4.4.tgz",
+        "lazy-debug-legacy": "https://registry.npmjs.org/lazy-debug-legacy/-/lazy-debug-legacy-0.0.1.tgz",
+        "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz"
+      }
     },
     "decamelize": {
       "version": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
@@ -1343,32 +2404,81 @@
     "decompress": {
       "version": "https://registry.npmjs.org/decompress/-/decompress-3.0.0.tgz",
       "integrity": "sha1-rx3VDQbjv8QyRh033hGzjA2ZG+0=",
+      "requires": {
+        "buffer-to-vinyl": "https://registry.npmjs.org/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz",
+        "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
+        "decompress-tar": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-3.1.0.tgz",
+        "decompress-tarbz2": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz",
+        "decompress-targz": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-3.1.0.tgz",
+        "decompress-unzip": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-3.4.0.tgz",
+        "stream-combiner2": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
+        "vinyl-assign": "https://registry.npmjs.org/vinyl-assign/-/vinyl-assign-1.2.1.tgz",
+        "vinyl-fs": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz"
+      },
       "dependencies": {
         "glob": {
           "version": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
-          "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E="
+          "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
+          "requires": {
+            "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+            "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+            "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+            "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+          }
         },
         "glob-parent": {
           "version": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
-          "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4="
+          "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+          "requires": {
+            "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+            "path-dirname": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz"
+          }
         },
         "glob-stream": {
           "version": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz",
           "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=",
+          "requires": {
+            "extend": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz",
+            "glob": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+            "glob-parent": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+            "micromatch": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+            "ordered-read-streams": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz",
+            "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+            "to-absolute-glob": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz",
+            "unique-stream": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz"
+          },
           "dependencies": {
             "readable-stream": {
               "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
-              "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw="
+              "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+              "requires": {
+                "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+                "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+                "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+                "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+              }
             },
             "through2": {
               "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
-              "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg="
+              "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+              "requires": {
+                "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+                "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+              }
             }
           }
         },
         "gulp-sourcemaps": {
           "version": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz",
-          "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw="
+          "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=",
+          "requires": {
+            "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.3.0.tgz",
+            "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+            "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+            "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+            "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz"
+          }
         },
         "is-extglob": {
           "version": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -1376,7 +2486,10 @@
         },
         "is-glob": {
           "version": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
-          "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo="
+          "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+          "requires": {
+            "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
+          }
         },
         "isarray": {
           "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
@@ -1384,29 +2497,72 @@
         },
         "json-stable-stringify": {
           "version": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
-          "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8="
+          "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+          "requires": {
+            "jsonify": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"
+          }
         },
         "ordered-read-streams": {
           "version": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz",
-          "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s="
+          "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=",
+          "requires": {
+            "is-stream": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+            "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz"
+          }
         },
         "unique-stream": {
           "version": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz",
-          "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k="
+          "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=",
+          "requires": {
+            "json-stable-stringify": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+            "through2-filter": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz"
+          }
         },
         "vinyl": {
           "version": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
-          "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ="
+          "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
+          "requires": {
+            "clone": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz",
+            "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+            "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz"
+          }
         },
         "vinyl-fs": {
           "version": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz",
-          "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk="
+          "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=",
+          "requires": {
+            "duplexify": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.0.tgz",
+            "glob-stream": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz",
+            "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+            "gulp-sourcemaps": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz",
+            "is-valid-glob": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz",
+            "lazystream": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
+            "lodash.isequal": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.4.0.tgz",
+            "merge-stream": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
+            "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+            "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
+            "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz",
+            "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+            "strip-bom-stream": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz",
+            "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+            "through2-filter": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz",
+            "vali-date": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz",
+            "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz"
+          }
         }
       }
     },
     "decompress-tar": {
       "version": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-3.1.0.tgz",
       "integrity": "sha1-IXx4n5uURQ76rcXF5TeXj8MzxGY=",
+      "requires": {
+        "is-tar": "https://registry.npmjs.org/is-tar/-/is-tar-1.0.0.tgz",
+        "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
+        "strip-dirs": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz",
+        "tar-stream": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.2.tgz",
+        "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+        "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz"
+      },
       "dependencies": {
         "clone": {
           "version": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
@@ -1422,21 +2578,44 @@
         },
         "readable-stream": {
           "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
-          "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw="
+          "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+          "requires": {
+            "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+            "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+            "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+          }
         },
         "through2": {
           "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
-          "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg="
+          "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+          "requires": {
+            "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+            "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+          }
         },
         "vinyl": {
           "version": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
-          "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc="
+          "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
+          "requires": {
+            "clone": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
+            "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz"
+          }
         }
       }
     },
     "decompress-tarbz2": {
       "version": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz",
       "integrity": "sha1-iyOTVoE1X58YnYclag+L3ZbZZm0=",
+      "requires": {
+        "is-bzip2": "https://registry.npmjs.org/is-bzip2/-/is-bzip2-1.0.0.tgz",
+        "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
+        "seek-bzip": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz",
+        "strip-dirs": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz",
+        "tar-stream": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.2.tgz",
+        "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+        "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz"
+      },
       "dependencies": {
         "clone": {
           "version": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
@@ -1452,21 +2631,43 @@
         },
         "readable-stream": {
           "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
-          "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw="
+          "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+          "requires": {
+            "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+            "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+            "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+          }
         },
         "through2": {
           "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
-          "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg="
+          "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+          "requires": {
+            "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+            "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+          }
         },
         "vinyl": {
           "version": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
-          "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc="
+          "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
+          "requires": {
+            "clone": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
+            "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz"
+          }
         }
       }
     },
     "decompress-targz": {
       "version": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-3.1.0.tgz",
       "integrity": "sha1-ssE9+YFmJomRtxXWRH9kLpaW9aA=",
+      "requires": {
+        "is-gzip": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz",
+        "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
+        "strip-dirs": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz",
+        "tar-stream": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.2.tgz",
+        "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+        "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz"
+      },
       "dependencies": {
         "clone": {
           "version": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
@@ -1482,25 +2683,53 @@
         },
         "readable-stream": {
           "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
-          "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw="
+          "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+          "requires": {
+            "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+            "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+            "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+          }
         },
         "through2": {
           "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
-          "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg="
+          "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+          "requires": {
+            "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+            "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+          }
         },
         "vinyl": {
           "version": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
-          "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc="
+          "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
+          "requires": {
+            "clone": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
+            "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz"
+          }
         }
       }
     },
     "decompress-unzip": {
       "version": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-3.4.0.tgz",
       "integrity": "sha1-YUdbQVIGa74/7hL51inRX+ZHjus=",
+      "requires": {
+        "is-zip": "https://registry.npmjs.org/is-zip/-/is-zip-1.0.0.tgz",
+        "read-all-stream": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz",
+        "stat-mode": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz",
+        "strip-dirs": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz",
+        "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+        "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
+        "yauzl": "https://registry.npmjs.org/yauzl/-/yauzl-2.7.0.tgz"
+      },
       "dependencies": {
         "vinyl": {
           "version": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
-          "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ="
+          "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
+          "requires": {
+            "clone": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz",
+            "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+            "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz"
+          }
         }
       }
     },
@@ -1518,7 +2747,10 @@
     },
     "defaults": {
       "version": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
-      "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730="
+      "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
+      "requires": {
+        "clone": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz"
+      }
     },
     "defined": {
       "version": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
@@ -1526,7 +2758,16 @@
     },
     "del": {
       "version": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
-      "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag="
+      "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
+      "requires": {
+        "globby": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
+        "is-path-cwd": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
+        "is-path-in-cwd": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz",
+        "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
+        "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+        "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+        "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz"
+      }
     },
     "deprecated": {
       "version": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz",
@@ -1534,19 +2775,35 @@
     },
     "deps-sort": {
       "version": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz",
-      "integrity": "sha1-CRckkC6EZYJg65EHSMzNGvbiH7U="
+      "integrity": "sha1-CRckkC6EZYJg65EHSMzNGvbiH7U=",
+      "requires": {
+        "JSONStream": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.0.tgz",
+        "shasum": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz",
+        "subarg": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
+        "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
+      }
     },
     "des.js": {
       "version": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
-      "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw="
+      "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
+      "requires": {
+        "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+        "minimalistic-assert": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz"
+      }
     },
     "detect-file": {
       "version": "https://registry.npmjs.org/detect-file/-/detect-file-0.1.0.tgz",
-      "integrity": "sha1-STXe39lIhkjgBrASlWbpOGcR6mM="
+      "integrity": "sha1-STXe39lIhkjgBrASlWbpOGcR6mM=",
+      "requires": {
+        "fs-exists-sync": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz"
+      }
     },
     "detect-indent": {
       "version": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
-      "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg="
+      "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
+      "requires": {
+        "repeating": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz"
+      }
     },
     "detect-newline": {
       "version": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
@@ -1555,6 +2812,10 @@
     "detective": {
       "version": "https://registry.npmjs.org/detective/-/detective-4.3.2.tgz",
       "integrity": "sha1-d2l+LnlHrD/nyOJqbW8RUjWvqRw=",
+      "requires": {
+        "acorn": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
+        "defined": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz"
+      },
       "dependencies": {
         "acorn": {
           "version": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
@@ -1569,12 +2830,21 @@
     },
     "diffie-hellman": {
       "version": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz",
-      "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4="
+      "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=",
+      "requires": {
+        "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz",
+        "miller-rabin": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.0.tgz",
+        "randombytes": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.3.tgz"
+      }
     },
     "dom-serializer": {
       "version": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
       "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
       "dev": true,
+      "requires": {
+        "domelementtype": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
+        "entities": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz"
+      },
       "dependencies": {
         "domelementtype": {
           "version": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
@@ -1600,12 +2870,19 @@
     "domhandler": {
       "version": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz",
       "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=",
-      "dev": true
+      "dev": true,
+      "requires": {
+        "domelementtype": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz"
+      }
     },
     "domutils": {
       "version": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
       "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
-      "dev": true
+      "dev": true,
+      "requires": {
+        "dom-serializer": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
+        "domelementtype": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz"
+      }
     },
     "dot-parts": {
       "version": "https://registry.npmjs.org/dot-parts/-/dot-parts-1.0.1.tgz",
@@ -1614,32 +2891,87 @@
     "download": {
       "version": "https://registry.npmjs.org/download/-/download-4.4.3.tgz",
       "integrity": "sha1-qlX9rTktldS2jowr4D4MKqIbqaw=",
+      "requires": {
+        "caw": "https://registry.npmjs.org/caw/-/caw-1.2.0.tgz",
+        "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
+        "each-async": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz",
+        "filenamify": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz",
+        "got": "https://registry.npmjs.org/got/-/got-5.7.1.tgz",
+        "gulp-decompress": "https://registry.npmjs.org/gulp-decompress/-/gulp-decompress-1.2.0.tgz",
+        "gulp-rename": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.2.tgz",
+        "is-url": "https://registry.npmjs.org/is-url/-/is-url-1.2.2.tgz",
+        "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
+        "read-all-stream": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz",
+        "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz",
+        "stream-combiner2": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
+        "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
+        "vinyl-fs": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz",
+        "ware": "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz"
+      },
       "dependencies": {
         "glob": {
           "version": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
-          "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E="
+          "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
+          "requires": {
+            "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+            "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+            "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+            "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+          }
         },
         "glob-parent": {
           "version": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
-          "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4="
+          "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+          "requires": {
+            "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+            "path-dirname": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz"
+          }
         },
         "glob-stream": {
           "version": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz",
           "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=",
+          "requires": {
+            "extend": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz",
+            "glob": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+            "glob-parent": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+            "micromatch": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+            "ordered-read-streams": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz",
+            "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+            "to-absolute-glob": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz",
+            "unique-stream": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz"
+          },
           "dependencies": {
             "readable-stream": {
               "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
-              "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw="
+              "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+              "requires": {
+                "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+                "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+                "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+                "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+              }
             },
             "through2": {
               "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
-              "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg="
+              "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+              "requires": {
+                "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+                "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+              }
             }
           }
         },
         "gulp-sourcemaps": {
           "version": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz",
-          "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw="
+          "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=",
+          "requires": {
+            "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.3.0.tgz",
+            "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+            "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+            "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+            "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz"
+          }
         },
         "is-extglob": {
           "version": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -1647,7 +2979,10 @@
         },
         "is-glob": {
           "version": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
-          "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo="
+          "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+          "requires": {
+            "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
+          }
         },
         "isarray": {
           "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
@@ -1655,23 +2990,58 @@
         },
         "json-stable-stringify": {
           "version": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
-          "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8="
+          "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+          "requires": {
+            "jsonify": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"
+          }
         },
         "ordered-read-streams": {
           "version": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz",
-          "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s="
+          "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=",
+          "requires": {
+            "is-stream": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+            "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz"
+          }
         },
         "unique-stream": {
           "version": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz",
-          "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k="
+          "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=",
+          "requires": {
+            "json-stable-stringify": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+            "through2-filter": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz"
+          }
         },
         "vinyl": {
           "version": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
-          "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ="
+          "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
+          "requires": {
+            "clone": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz",
+            "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+            "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz"
+          }
         },
         "vinyl-fs": {
           "version": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz",
-          "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk="
+          "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=",
+          "requires": {
+            "duplexify": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.0.tgz",
+            "glob-stream": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz",
+            "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+            "gulp-sourcemaps": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz",
+            "is-valid-glob": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz",
+            "lazystream": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
+            "lodash.isequal": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.4.0.tgz",
+            "merge-stream": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
+            "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+            "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
+            "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz",
+            "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+            "strip-bom-stream": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz",
+            "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+            "through2-filter": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz",
+            "vali-date": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz",
+            "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz"
+          }
         }
       }
     },
@@ -1681,41 +3051,75 @@
     },
     "duplexer2": {
       "version": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
-      "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME="
+      "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
+      "requires": {
+        "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz"
+      }
     },
     "duplexify": {
       "version": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.0.tgz",
       "integrity": "sha1-GqdzAC4VeEV+nZ1KULDMquvL1gQ=",
+      "requires": {
+        "end-of-stream": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.0.0.tgz",
+        "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+        "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz",
+        "stream-shift": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz"
+      },
       "dependencies": {
         "end-of-stream": {
           "version": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.0.0.tgz",
-          "integrity": "sha1-1FlucCc0qT5A6a+GQxnqvZn/Lw4="
+          "integrity": "sha1-1FlucCc0qT5A6a+GQxnqvZn/Lw4=",
+          "requires": {
+            "once": "https://registry.npmjs.org/once/-/once-1.3.3.tgz"
+          }
         },
         "once": {
           "version": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
-          "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA="
+          "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=",
+          "requires": {
+            "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+          }
         }
       }
     },
     "each-async": {
       "version": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz",
-      "integrity": "sha1-3uUim98KtrogEqOV4bhpq/iBNHM="
+      "integrity": "sha1-3uUim98KtrogEqOV4bhpq/iBNHM=",
+      "requires": {
+        "onetime": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
+        "set-immediate-shim": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz"
+      }
     },
     "elliptic": {
       "version": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.2.tgz",
-      "integrity": "sha1-5MgeCCnPCmWrcOmYuCMnI7XBvEg="
+      "integrity": "sha1-5MgeCCnPCmWrcOmYuCMnI7XBvEg=",
+      "requires": {
+        "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz",
+        "brorand": "https://registry.npmjs.org/brorand/-/brorand-1.0.6.tgz",
+        "hash.js": "https://registry.npmjs.org/hash.js/-/hash.js-1.0.3.tgz",
+        "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
+      }
     },
     "encoding": {
       "version": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
-      "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s="
+      "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
+      "requires": {
+        "iconv-lite": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz"
+      }
     },
     "end-of-stream": {
       "version": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz",
       "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=",
+      "requires": {
+        "once": "https://registry.npmjs.org/once/-/once-1.3.3.tgz"
+      },
       "dependencies": {
         "once": {
           "version": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
-          "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA="
+          "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=",
+          "requires": {
+            "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+          }
         }
       }
     },
@@ -1727,11 +3131,17 @@
     "errno": {
       "version": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz",
       "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=",
-      "optional": true
+      "optional": true,
+      "requires": {
+        "prr": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz"
+      }
     },
     "error-ex": {
       "version": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz",
-      "integrity": "sha1-5ntD8+gsluo6WE/+4Ln8MyXYAtk="
+      "integrity": "sha1-5ntD8+gsluo6WE/+4Ln8MyXYAtk=",
+      "requires": {
+        "is-arrayish": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz"
+      }
     },
     "es5-shim": {
       "version": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.5.9.tgz",
@@ -1745,11 +3155,21 @@
     "escodegen": {
       "version": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
       "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=",
+      "requires": {
+        "esprima": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+        "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",
+        "esutils": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+        "optionator": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
+        "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz"
+      },
       "dependencies": {
         "source-map": {
           "version": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",
           "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "amdefine": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz"
+          }
         }
       }
     },
@@ -1771,33 +3191,66 @@
     },
     "evp_bytestokey": {
       "version": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz",
-      "integrity": "sha1-SXtmrZ/vZc18CKYYCCS6FHa2blM="
+      "integrity": "sha1-SXtmrZ/vZc18CKYYCCS6FHa2blM=",
+      "requires": {
+        "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.2.tgz"
+      }
     },
     "exec-buffer": {
       "version": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-3.1.0.tgz",
-      "integrity": "sha1-hRtG0GL8qby8b/h4FpPijo2oBAI="
+      "integrity": "sha1-hRtG0GL8qby8b/h4FpPijo2oBAI=",
+      "requires": {
+        "execa": "https://registry.npmjs.org/execa/-/execa-0.5.0.tgz",
+        "p-finally": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+        "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+        "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz",
+        "tempfile": "https://registry.npmjs.org/tempfile/-/tempfile-1.1.1.tgz"
+      }
     },
     "exec-series": {
       "version": "https://registry.npmjs.org/exec-series/-/exec-series-1.0.3.tgz",
-      "integrity": "sha1-bSV6m+rEgqhyx3g7yGFYOfx3FDo="
+      "integrity": "sha1-bSV6m+rEgqhyx3g7yGFYOfx3FDo=",
+      "requires": {
+        "async-each-series": "https://registry.npmjs.org/async-each-series/-/async-each-series-1.1.0.tgz",
+        "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz"
+      }
     },
     "execa": {
       "version": "https://registry.npmjs.org/execa/-/execa-0.5.0.tgz",
       "integrity": "sha1-pXRWdkuZDj5S9u/38Xqcwv8ufMw=",
+      "requires": {
+        "cross-spawn": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz",
+        "get-stream": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz",
+        "is-stream": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+        "npm-run-path": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+        "signal-exit": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+        "strip-eof": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz"
+      },
       "dependencies": {
         "cross-spawn": {
           "version": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz",
-          "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE="
+          "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=",
+          "requires": {
+            "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz",
+            "which": "https://registry.npmjs.org/which/-/which-1.2.12.tgz"
+          }
         },
         "lru-cache": {
           "version": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz",
-          "integrity": "sha1-HRdnnAac2l0ECZGgnbwsDbN35V4="
+          "integrity": "sha1-HRdnnAac2l0ECZGgnbwsDbN35V4=",
+          "requires": {
+            "pseudomap": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+            "yallist": "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz"
+          }
         }
       }
     },
     "executable": {
       "version": "https://registry.npmjs.org/executable/-/executable-1.1.0.tgz",
-      "integrity": "sha1-h3mA6REvM5EGbaNyZd562ENKtNk="
+      "integrity": "sha1-h3mA6REvM5EGbaNyZd562ENKtNk=",
+      "requires": {
+        "meow": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz"
+      }
     },
     "exit": {
       "version": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
@@ -1806,19 +3259,36 @@
     },
     "expand-brackets": {
       "version": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
-      "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s="
+      "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
+      "requires": {
+        "is-posix-bracket": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz"
+      }
     },
     "expand-range": {
       "version": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
-      "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc="
+      "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
+      "requires": {
+        "fill-range": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz"
+      }
     },
     "expand-tilde": {
       "version": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz",
-      "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk="
+      "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=",
+      "requires": {
+        "os-homedir": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz"
+      }
     },
     "exposify": {
       "version": "https://registry.npmjs.org/exposify/-/exposify-0.4.3.tgz",
       "integrity": "sha1-GWPrNMSJ+L+6At/Sf8z7wRc4TJ4=",
+      "requires": {
+        "globo": "https://registry.npmjs.org/globo/-/globo-1.0.2.tgz",
+        "has-require": "https://registry.npmjs.org/has-require/-/has-require-1.1.0.tgz",
+        "map-obj": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+        "replace-requires": "https://registry.npmjs.org/replace-requires/-/replace-requires-1.0.3.tgz",
+        "through2": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz",
+        "transformify": "https://registry.npmjs.org/transformify/-/transformify-0.1.2.tgz"
+      },
       "dependencies": {
         "isarray": {
           "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
@@ -1826,15 +3296,28 @@
         },
         "readable-stream": {
           "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
-          "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw="
+          "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+          "requires": {
+            "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+            "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+            "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+          }
         },
         "through2": {
           "version": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz",
-          "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s="
+          "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=",
+          "requires": {
+            "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+            "xtend": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz"
+          }
         },
         "xtend": {
           "version": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz",
-          "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os="
+          "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=",
+          "requires": {
+            "object-keys": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz"
+          }
         }
       }
     },
@@ -1844,16 +3327,28 @@
     },
     "extend-shallow": {
       "version": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8="
+      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+      "requires": {
+        "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz"
+      }
     },
     "extglob": {
       "version": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
-      "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE="
+      "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
+      "requires": {
+        "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz"
+      }
     },
     "falafel": {
       "version": "https://registry.npmjs.org/falafel/-/falafel-1.2.0.tgz",
       "integrity": "sha1-wY0k71CRF0pJfzGM0ksCaiXN2rQ=",
       "dev": true,
+      "requires": {
+        "acorn": "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz",
+        "foreach": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
+        "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+        "object-keys": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz"
+      },
       "dependencies": {
         "isarray": {
           "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
@@ -1869,7 +3364,11 @@
     },
     "fancy-log": {
       "version": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.2.0.tgz",
-      "integrity": "sha1-1aUbU+mrIsoH1VjytnrlX9tfy9g="
+      "integrity": "sha1-1aUbU+mrIsoH1VjytnrlX9tfy9g=",
+      "requires": {
+        "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+        "time-stamp": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.0.1.tgz"
+      }
     },
     "fast-levenshtein": {
       "version": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.5.tgz",
@@ -1878,6 +3377,14 @@
     "fbjs": {
       "version": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.6.tgz",
       "integrity": "sha1-frZ9aYay1QB6m26S4OfLb3XK0pA=",
+      "requires": {
+        "core-js": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
+        "isomorphic-fetch": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
+        "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.0.tgz",
+        "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
+        "promise": "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz",
+        "ua-parser-js": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.12.tgz"
+      },
       "dependencies": {
         "core-js": {
           "version": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
@@ -1887,11 +3394,18 @@
     },
     "fd-slicer": {
       "version": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",
-      "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU="
+      "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=",
+      "requires": {
+        "pend": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz"
+      }
     },
     "figures": {
       "version": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
-      "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4="
+      "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
+      "requires": {
+        "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+        "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz"
+      }
     },
     "file-type": {
       "version": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
@@ -1907,7 +3421,12 @@
     },
     "filenamify": {
       "version": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz",
-      "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU="
+      "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=",
+      "requires": {
+        "filename-reserved-regex": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz",
+        "strip-outer": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.0.tgz",
+        "trim-repeated": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz"
+      }
     },
     "filesize": {
       "version": "https://registry.npmjs.org/filesize/-/filesize-3.3.0.tgz",
@@ -1915,7 +3434,14 @@
     },
     "fill-range": {
       "version": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
-      "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM="
+      "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
+      "requires": {
+        "is-number": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
+        "isobject": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+        "randomatic": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.6.tgz",
+        "repeat-element": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
+        "repeat-string": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz"
+      }
     },
     "find-index": {
       "version": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz",
@@ -1928,24 +3454,52 @@
     "find-up": {
       "version": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
       "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+      "requires": {
+        "path-exists": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+        "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
+      },
       "dependencies": {
         "path-exists": {
           "version": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
-          "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s="
+          "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+          "requires": {
+            "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
+          }
         }
       }
     },
     "find-versions": {
       "version": "https://registry.npmjs.org/find-versions/-/find-versions-1.2.1.tgz",
-      "integrity": "sha1-y96fEuOFdaCvG+G5osXV/Y8Ya2I="
+      "integrity": "sha1-y96fEuOFdaCvG+G5osXV/Y8Ya2I=",
+      "requires": {
+        "array-uniq": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+        "get-stdin": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+        "meow": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+        "semver-regex": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz"
+      }
     },
     "findup-sync": {
       "version": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.3.tgz",
-      "integrity": "sha1-QAQ5Kee8YK3wt/SCfExudaDeyhI="
+      "integrity": "sha1-QAQ5Kee8YK3wt/SCfExudaDeyhI=",
+      "requires": {
+        "detect-file": "https://registry.npmjs.org/detect-file/-/detect-file-0.1.0.tgz",
+        "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+        "micromatch": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+        "resolve-dir": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz"
+      }
     },
     "fined": {
       "version": "https://registry.npmjs.org/fined/-/fined-1.0.2.tgz",
-      "integrity": "sha1-WyhCS3YNdZiWC374SA3/itNmDpc="
+      "integrity": "sha1-WyhCS3YNdZiWC374SA3/itNmDpc=",
+      "requires": {
+        "expand-tilde": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz",
+        "lodash.assignwith": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz",
+        "lodash.isempty": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz",
+        "lodash.isplainobject": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+        "lodash.isstring": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
+        "lodash.pick": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz",
+        "parse-filepath": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.1.tgz"
+      }
     },
     "first-chunk-stream": {
       "version": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
@@ -1961,7 +3515,10 @@
     },
     "for-own": {
       "version": "https://registry.npmjs.org/for-own/-/for-own-0.1.4.tgz",
-      "integrity": "sha1-AUm0GjkIjHUV9R6+HBOG1F+TUHI="
+      "integrity": "sha1-AUm0GjkIjHUV9R6+HBOG1F+TUHI=",
+      "requires": {
+        "for-in": "https://registry.npmjs.org/for-in/-/for-in-0.1.6.tgz"
+      }
     },
     "foreach": {
       "version": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
@@ -1980,6 +3537,10 @@
       "version": "https://registry.npmjs.org/fsevents/-/fsevents-1.0.15.tgz",
       "integrity": "sha1-+mP1kPPCrZEnXklyps6lRfsKrkQ=",
       "optional": true,
+      "requires": {
+        "nan": "https://registry.npmjs.org/nan/-/nan-2.4.0.tgz",
+        "node-pre-gyp": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.29.tgz"
+      },
       "dependencies": {
         "abbrev": {
           "version": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
@@ -2003,7 +3564,11 @@
         "are-we-there-yet": {
           "version": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz",
           "integrity": "sha1-gORw6VoIR5T+GJkmLFZnxuiN4bM=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "delegates": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+            "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.4.tgz"
+          }
         },
         "asn1": {
           "version": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
@@ -2038,25 +3603,46 @@
           "version": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz",
           "integrity": "sha1-/cqHGplxOqANGeO7ukHER4emU5g=",
           "optional": true,
+          "requires": {
+            "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz"
+          },
           "dependencies": {
             "readable-stream": {
               "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
               "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
-              "optional": true
+              "optional": true,
+              "requires": {
+                "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+                "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+                "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+                "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+                "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+                "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+              }
             }
           }
         },
         "block-stream": {
           "version": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
-          "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo="
+          "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
+          "requires": {
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
+          }
         },
         "boom": {
           "version": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
-          "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8="
+          "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
+          "requires": {
+            "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"
+          }
         },
         "brace-expansion": {
           "version": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz",
-          "integrity": "sha1-9bStV04st8zB64Pm/nm47K33pSY="
+          "integrity": "sha1-9bStV04st8zB64Pm/nm47K33pSY=",
+          "requires": {
+            "balanced-match": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
+            "concat-map": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
+          }
         },
         "buffer-shims": {
           "version": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
@@ -2070,20 +3656,36 @@
         "chalk": {
           "version": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
           "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+            "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+            "has-ansi": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+            "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+            "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"
+          }
         },
         "code-point-at": {
           "version": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.0.tgz",
-          "integrity": "sha1-9psZLT99keOC5Lcb3bd4eGGasMY="
+          "integrity": "sha1-9psZLT99keOC5Lcb3bd4eGGasMY=",
+          "requires": {
+            "number-is-nan": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz"
+          }
         },
         "combined-stream": {
           "version": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
-          "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk="
+          "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
+          "requires": {
+            "delayed-stream": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
+          }
         },
         "commander": {
           "version": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
           "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "graceful-readlink": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
+          }
         },
         "concat-map": {
           "version": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -2100,12 +3702,18 @@
         "cryptiles": {
           "version": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
           "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "boom": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz"
+          }
         },
         "dashdash": {
           "version": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz",
           "integrity": "sha1-KeSGxUGL8PNWA0qZPVFoajPoQUE=",
           "optional": true,
+          "requires": {
+            "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
+          },
           "dependencies": {
             "assert-plus": {
               "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
@@ -2117,7 +3725,10 @@
         "debug": {
           "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
           "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
+          }
         },
         "deep-extend": {
           "version": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz",
@@ -2136,7 +3747,10 @@
         "ecc-jsbn": {
           "version": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
           "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz"
+          }
         },
         "escape-string-regexp": {
           "version": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
@@ -2160,7 +3774,12 @@
         "form-data": {
           "version": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz",
           "integrity": "sha1-BaxrwiIntD5EYfSIFhVUaZ1Pi14=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "async": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+            "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
+            "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz"
+          }
         },
         "fs.realpath": {
           "version": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -2168,17 +3787,39 @@
         },
         "fstream": {
           "version": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz",
-          "integrity": "sha1-YE6Kkv4m/9n2+uMDmdSYThqyKCI="
+          "integrity": "sha1-YE6Kkv4m/9n2+uMDmdSYThqyKCI=",
+          "requires": {
+            "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+            "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+            "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.3.tgz"
+          }
         },
         "fstream-ignore": {
           "version": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz",
           "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "fstream": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+            "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz"
+          }
         },
         "gauge": {
           "version": "https://registry.npmjs.org/gauge/-/gauge-2.6.0.tgz",
           "integrity": "sha1-01MBrRjpaQK0dR3LvkD0IYuUKkY=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "aproba": "https://registry.npmjs.org/aproba/-/aproba-1.0.4.tgz",
+            "console-control-strings": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+            "has-color": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz",
+            "has-unicode": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+            "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
+            "signal-exit": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.0.tgz",
+            "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.1.tgz",
+            "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+            "wide-align": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz"
+          }
         },
         "generate-function": {
           "version": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
@@ -2188,12 +3829,18 @@
         "generate-object-property": {
           "version": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
           "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "is-property": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz"
+          }
         },
         "getpass": {
           "version": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz",
           "integrity": "sha1-KD/9n8ElaECHUxHBtg6MQBhxEOY=",
           "optional": true,
+          "requires": {
+            "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
+          },
           "dependencies": {
             "assert-plus": {
               "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
@@ -2204,7 +3851,15 @@
         },
         "glob": {
           "version": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz",
-          "integrity": "sha1-tCAqaQmbu00pKnwblbZoK2fr3JU="
+          "integrity": "sha1-tCAqaQmbu00pKnwblbZoK2fr3JU=",
+          "requires": {
+            "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+            "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+            "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz",
+            "once": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
+            "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz"
+          }
         },
         "graceful-fs": {
           "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz",
@@ -2218,12 +3873,21 @@
         "har-validator": {
           "version": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
           "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+            "commander": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
+            "is-my-json-valid": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz",
+            "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
+          }
         },
         "has-ansi": {
           "version": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
           "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
+          }
         },
         "has-color": {
           "version": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz",
@@ -2238,7 +3902,13 @@
         "hawk": {
           "version": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
           "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "boom": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
+            "cryptiles": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+            "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+            "sntp": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz"
+          }
         },
         "hoek": {
           "version": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
@@ -2247,11 +3917,20 @@
         "http-signature": {
           "version": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
           "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
+            "jsprim": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.0.tgz",
+            "sshpk": "https://registry.npmjs.org/sshpk/-/sshpk-1.8.3.tgz"
+          }
         },
         "inflight": {
           "version": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz",
-          "integrity": "sha1-2zIEzVqd4ubNiQuFxuL2a89PYgo="
+          "integrity": "sha1-2zIEzVqd4ubNiQuFxuL2a89PYgo=",
+          "requires": {
+            "once": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
+            "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+          }
         },
         "inherits": {
           "version": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
@@ -2264,12 +3943,21 @@
         },
         "is-fullwidth-code-point": {
           "version": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
-          "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs="
+          "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+          "requires": {
+            "number-is-nan": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz"
+          }
         },
         "is-my-json-valid": {
           "version": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz",
           "integrity": "sha1-1Vd4qC/rawlj/0vhEdXRaE6JBwc=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "generate-function": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
+            "generate-object-property": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
+            "jsonpointer": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz",
+            "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+          }
         },
         "is-property": {
           "version": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
@@ -2293,7 +3981,10 @@
         "jodid25519": {
           "version": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz",
           "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz"
+          }
         },
         "jsbn": {
           "version": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz",
@@ -2318,7 +4009,12 @@
         "jsprim": {
           "version": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.0.tgz",
           "integrity": "sha1-zi4b74NSBLTzCZkoxgL4tq5hVlA=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "extsprintf": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz",
+            "json-schema": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz",
+            "verror": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz"
+          }
         },
         "mime-db": {
           "version": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz",
@@ -2326,11 +4022,17 @@
         },
         "mime-types": {
           "version": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz",
-          "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw="
+          "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=",
+          "requires": {
+            "mime-db": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz"
+          }
         },
         "minimatch": {
           "version": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz",
-          "integrity": "sha1-DzmKcwDqRB6cNIyD2Yq4ydv5xAo="
+          "integrity": "sha1-DzmKcwDqRB6cNIyD2Yq4ydv5xAo=",
+          "requires": {
+            "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz"
+          }
         },
         "minimist": {
           "version": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
@@ -2338,7 +4040,10 @@
         },
         "mkdirp": {
           "version": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
-          "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM="
+          "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+          "requires": {
+            "minimist": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
+          }
         },
         "ms": {
           "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
@@ -2348,7 +4053,18 @@
         "node-pre-gyp": {
           "version": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.29.tgz",
           "integrity": "sha1-sL0TY1uvfRvnriM8FvvPMwms03w=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+            "nopt": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+            "npmlog": "https://registry.npmjs.org/npmlog/-/npmlog-3.1.2.tgz",
+            "rc": "https://registry.npmjs.org/rc/-/rc-1.1.6.tgz",
+            "request": "https://registry.npmjs.org/request/-/request-2.73.0.tgz",
+            "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.3.tgz",
+            "semver": "https://registry.npmjs.org/semver/-/semver-5.2.0.tgz",
+            "tar": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
+            "tar-pack": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.1.4.tgz"
+          }
         },
         "node-uuid": {
           "version": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz",
@@ -2358,12 +4074,21 @@
         "nopt": {
           "version": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
           "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "abbrev": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz"
+          }
         },
         "npmlog": {
           "version": "https://registry.npmjs.org/npmlog/-/npmlog-3.1.2.tgz",
           "integrity": "sha1-LUb6h0M3r5SYovErtD2NC+SjaHM=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "are-we-there-yet": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz",
+            "console-control-strings": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+            "gauge": "https://registry.npmjs.org/gauge/-/gauge-2.6.0.tgz",
+            "set-blocking": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz"
+          }
         },
         "number-is-nan": {
           "version": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz",
@@ -2381,7 +4106,10 @@
         },
         "once": {
           "version": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
-          "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA="
+          "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=",
+          "requires": {
+            "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+          }
         },
         "path-is-absolute": {
           "version": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz",
@@ -2395,7 +4123,10 @@
         "pinkie-promise": {
           "version": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
           "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "pinkie": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz"
+          }
         },
         "process-nextick-args": {
           "version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
@@ -2410,6 +4141,12 @@
           "version": "https://registry.npmjs.org/rc/-/rc-1.1.6.tgz",
           "integrity": "sha1-Q2UbdrauU7XIAvEVH6P8OwWZack=",
           "optional": true,
+          "requires": {
+            "deep-extend": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz",
+            "ini": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
+            "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+            "strip-json-comments": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz"
+          },
           "dependencies": {
             "minimist": {
               "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
@@ -2420,16 +4157,51 @@
         },
         "readable-stream": {
           "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.4.tgz",
-          "integrity": "sha1-cLl5HG/LhIDbRL0VWg9rtY8XJGg="
+          "integrity": "sha1-cLl5HG/LhIDbRL0VWg9rtY8XJGg=",
+          "requires": {
+            "buffer-shims": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
+            "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+            "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+            "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+            "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+            "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+          }
         },
         "request": {
           "version": "https://registry.npmjs.org/request/-/request-2.73.0.tgz",
           "integrity": "sha1-X3ip/eQ3CryP9kedeoSnGhS4eKI=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "aws-sign2": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+            "aws4": "https://registry.npmjs.org/aws4/-/aws4-1.4.1.tgz",
+            "bl": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz",
+            "caseless": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
+            "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
+            "extend": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz",
+            "forever-agent": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+            "form-data": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz",
+            "har-validator": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
+            "hawk": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+            "http-signature": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+            "is-typedarray": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+            "isstream": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+            "json-stringify-safe": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+            "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz",
+            "node-uuid": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz",
+            "oauth-sign": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+            "qs": "https://registry.npmjs.org/qs/-/qs-6.2.0.tgz",
+            "stringstream": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
+            "tough-cookie": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz",
+            "tunnel-agent": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz"
+          }
         },
         "rimraf": {
           "version": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.3.tgz",
-          "integrity": "sha1-bl792kqi8DQX9rKldK7Cn0tlJwU="
+          "integrity": "sha1-bl792kqi8DQX9rKldK7Cn0tlJwU=",
+          "requires": {
+            "glob": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz"
+          }
         },
         "semver": {
           "version": "https://registry.npmjs.org/semver/-/semver-5.2.0.tgz",
@@ -2449,12 +4221,25 @@
         "sntp": {
           "version": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
           "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"
+          }
         },
         "sshpk": {
           "version": "https://registry.npmjs.org/sshpk/-/sshpk-1.8.3.tgz",
           "integrity": "sha1-iQzJ1hTcUpLlyxpUOwPJq6pcN04=",
           "optional": true,
+          "requires": {
+            "asn1": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+            "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+            "dashdash": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz",
+            "ecc-jsbn": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+            "getpass": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz",
+            "jodid25519": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz",
+            "jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz",
+            "tweetnacl": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz"
+          },
           "dependencies": {
             "assert-plus": {
               "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
@@ -2469,7 +4254,12 @@
         },
         "string-width": {
           "version": "https://registry.npmjs.org/string-width/-/string-width-1.0.1.tgz",
-          "integrity": "sha1-ySEptvHX9SrPmvQkom44ZKBc6wo="
+          "integrity": "sha1-ySEptvHX9SrPmvQkom44ZKBc6wo=",
+          "requires": {
+            "code-point-at": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.0.tgz",
+            "is-fullwidth-code-point": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+            "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"
+          }
         },
         "stringstream": {
           "version": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
@@ -2478,7 +4268,10 @@
         },
         "strip-ansi": {
           "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8="
+          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+          "requires": {
+            "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
+          }
         },
         "strip-json-comments": {
           "version": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz",
@@ -2492,12 +4285,27 @@
         },
         "tar": {
           "version": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
-          "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE="
+          "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
+          "requires": {
+            "block-stream": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
+            "fstream": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
+          }
         },
         "tar-pack": {
           "version": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.1.4.tgz",
           "integrity": "sha1-vIz5oi9YMnOfEvORDaweuXtJcIw=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+            "fstream": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz",
+            "fstream-ignore": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz",
+            "once": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
+            "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.4.tgz",
+            "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.3.tgz",
+            "tar": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
+            "uid-number": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz"
+          }
         },
         "tough-cookie": {
           "version": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz",
@@ -2526,12 +4334,18 @@
         "verror": {
           "version": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz",
           "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "extsprintf": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz"
+          }
         },
         "wide-align": {
           "version": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz",
           "integrity": "sha1-QO3egCpx/qHwcNo+YtzaLnrdlq0=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "string-width": "https://registry.npmjs.org/string-width/-/string-width-1.0.1.tgz"
+          }
         },
         "wrappy": {
           "version": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
@@ -2550,11 +4364,17 @@
     },
     "gaze": {
       "version": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz",
-      "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8="
+      "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=",
+      "requires": {
+        "globule": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz"
+      }
     },
     "get-proxy": {
       "version": "https://registry.npmjs.org/get-proxy/-/get-proxy-1.1.0.tgz",
-      "integrity": "sha1-iUhUSRvFkbDxR9euVw9cZ4tyVus="
+      "integrity": "sha1-iUhUSRvFkbDxR9euVw9cZ4tyVus=",
+      "requires": {
+        "rc": "https://registry.npmjs.org/rc/-/rc-1.1.6.tgz"
+      }
     },
     "get-stdin": {
       "version": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
@@ -2562,37 +4382,78 @@
     },
     "get-stream": {
       "version": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz",
-      "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4="
+      "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=",
+      "requires": {
+        "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
+        "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
+      }
     },
     "gifsicle": {
       "version": "https://registry.npmjs.org/gifsicle/-/gifsicle-3.0.4.tgz",
-      "integrity": "sha1-9Fy17RAWW2ZdySng6TKLbIId+js="
+      "integrity": "sha1-9Fy17RAWW2ZdySng6TKLbIId+js=",
+      "requires": {
+        "bin-build": "https://registry.npmjs.org/bin-build/-/bin-build-2.2.0.tgz",
+        "bin-wrapper": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-3.0.2.tgz",
+        "logalot": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz"
+      }
     },
     "glob": {
       "version": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
       "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=",
+      "requires": {
+        "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+        "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+        "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+        "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+        "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+        "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+      },
       "dependencies": {
         "minimatch": {
           "version": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
-          "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q="
+          "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=",
+          "requires": {
+            "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz"
+          }
         }
       }
     },
     "glob-base": {
       "version": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
-      "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q="
+      "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
+      "requires": {
+        "glob-parent": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+        "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz"
+      }
     },
     "glob-parent": {
       "version": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
-      "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg="
+      "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
+      "requires": {
+        "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz"
+      }
     },
     "glob-stream": {
       "version": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz",
       "integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=",
+      "requires": {
+        "glob": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
+        "glob2base": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz",
+        "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+        "ordered-read-streams": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz",
+        "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+        "unique-stream": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz"
+      },
       "dependencies": {
         "glob": {
           "version": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
-          "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8="
+          "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=",
+          "requires": {
+            "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+            "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+            "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
+          }
         },
         "isarray": {
           "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
@@ -2600,29 +4461,55 @@
         },
         "readable-stream": {
           "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
-          "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw="
+          "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+          "requires": {
+            "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+            "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+            "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+          }
         },
         "through2": {
           "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
-          "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg="
+          "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+          "requires": {
+            "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+            "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+          }
         }
       }
     },
     "glob-watcher": {
       "version": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz",
-      "integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs="
+      "integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=",
+      "requires": {
+        "gaze": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz"
+      }
     },
     "glob2base": {
       "version": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz",
-      "integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY="
+      "integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=",
+      "requires": {
+        "find-index": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz"
+      }
     },
     "global-modules": {
       "version": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz",
-      "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0="
+      "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=",
+      "requires": {
+        "global-prefix": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
+        "is-windows": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz"
+      }
     },
     "global-prefix": {
       "version": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
-      "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948="
+      "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=",
+      "requires": {
+        "homedir-polyfill": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
+        "ini": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
+        "is-windows": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
+        "which": "https://registry.npmjs.org/which/-/which-1.2.12.tgz"
+      }
     },
     "globals": {
       "version": "https://registry.npmjs.org/globals/-/globals-9.14.0.tgz",
@@ -2630,19 +4517,42 @@
     },
     "globby": {
       "version": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
-      "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0="
+      "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
+      "requires": {
+        "array-union": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+        "arrify": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+        "glob": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
+        "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
+        "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+        "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
+      }
     },
     "globo": {
       "version": "https://registry.npmjs.org/globo/-/globo-1.0.2.tgz",
-      "integrity": "sha1-aPdc4qBFRA06cEExeG+I1CBfSb0="
+      "integrity": "sha1-aPdc4qBFRA06cEExeG+I1CBfSb0=",
+      "requires": {
+        "accessory": "https://registry.npmjs.org/accessory/-/accessory-1.0.1.tgz",
+        "is-defined": "https://registry.npmjs.org/is-defined/-/is-defined-1.0.0.tgz",
+        "ternary": "https://registry.npmjs.org/ternary/-/ternary-1.0.0.tgz"
+      }
     },
     "globule": {
       "version": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz",
       "integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=",
+      "requires": {
+        "glob": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
+        "lodash": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz",
+        "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz"
+      },
       "dependencies": {
         "glob": {
           "version": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
-          "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0="
+          "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=",
+          "requires": {
+            "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
+            "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz"
+          }
         },
         "graceful-fs": {
           "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
@@ -2658,17 +4568,41 @@
         },
         "minimatch": {
           "version": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
-          "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo="
+          "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
+          "requires": {
+            "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
+            "sigmund": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz"
+          }
         }
       }
     },
     "glogg": {
       "version": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz",
-      "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U="
+      "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=",
+      "requires": {
+        "sparkles": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz"
+      }
     },
     "got": {
       "version": "https://registry.npmjs.org/got/-/got-5.7.1.tgz",
-      "integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU="
+      "integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=",
+      "requires": {
+        "create-error-class": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
+        "duplexer2": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
+        "is-redirect": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz",
+        "is-retry-allowed": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz",
+        "is-stream": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+        "lowercase-keys": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz",
+        "node-status-codes": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz",
+        "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
+        "parse-json": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+        "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+        "read-all-stream": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz",
+        "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz",
+        "timed-out": "https://registry.npmjs.org/timed-out/-/timed-out-3.1.0.tgz",
+        "unzip-response": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz",
+        "url-parse-lax": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz"
+      }
     },
     "graceful-fs": {
       "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
@@ -2686,6 +4620,21 @@
     "gulp": {
       "version": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz",
       "integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=",
+      "requires": {
+        "archy": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
+        "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+        "deprecated": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz",
+        "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz",
+        "interpret": "https://registry.npmjs.org/interpret/-/interpret-1.0.1.tgz",
+        "liftoff": "https://registry.npmjs.org/liftoff/-/liftoff-2.3.0.tgz",
+        "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+        "orchestrator": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz",
+        "pretty-hrtime": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
+        "semver": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
+        "tildify": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz",
+        "v8flags": "https://registry.npmjs.org/v8flags/-/v8flags-2.0.11.tgz",
+        "vinyl-fs": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz"
+      },
       "dependencies": {
         "minimist": {
           "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
@@ -2695,15 +4644,48 @@
     },
     "gulp-decompress": {
       "version": "https://registry.npmjs.org/gulp-decompress/-/gulp-decompress-1.2.0.tgz",
-      "integrity": "sha1-jutlpeAV+O2FMsr+KEVJYGJvDcc="
+      "integrity": "sha1-jutlpeAV+O2FMsr+KEVJYGJvDcc=",
+      "requires": {
+        "archive-type": "https://registry.npmjs.org/archive-type/-/archive-type-3.2.0.tgz",
+        "decompress": "https://registry.npmjs.org/decompress/-/decompress-3.0.0.tgz",
+        "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz",
+        "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz"
+      }
     },
     "gulp-image": {
       "version": "https://registry.npmjs.org/gulp-image/-/gulp-image-2.7.2.tgz",
-      "integrity": "sha1-gjS2FHOJZbEOG6gfrs4Q3x8jB4E="
+      "integrity": "sha1-gjS2FHOJZbEOG6gfrs4Q3x8jB4E=",
+      "requires": {
+        "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+        "exec-buffer": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-3.1.0.tgz",
+        "execa": "https://registry.npmjs.org/execa/-/execa-0.5.0.tgz",
+        "filesize": "https://registry.npmjs.org/filesize/-/filesize-3.3.0.tgz",
+        "gifsicle": "https://registry.npmjs.org/gifsicle/-/gifsicle-3.0.4.tgz",
+        "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz",
+        "is-gif": "https://registry.npmjs.org/is-gif/-/is-gif-1.0.0.tgz",
+        "is-jpg": "https://registry.npmjs.org/is-jpg/-/is-jpg-1.0.0.tgz",
+        "is-png": "https://registry.npmjs.org/is-png/-/is-png-1.0.0.tgz",
+        "is-svg": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz",
+        "jpeg-recompress-bin": "https://registry.npmjs.org/jpeg-recompress-bin/-/jpeg-recompress-bin-3.0.1.tgz",
+        "jpegoptim-bin": "https://registry.npmjs.org/jpegoptim-bin/-/jpegoptim-bin-3.0.0.tgz",
+        "mozjpeg": "https://registry.npmjs.org/mozjpeg/-/mozjpeg-4.1.1.tgz",
+        "optipng-bin": "https://registry.npmjs.org/optipng-bin/-/optipng-bin-3.1.2.tgz",
+        "pngquant-bin": "https://registry.npmjs.org/pngquant-bin/-/pngquant-bin-3.1.1.tgz",
+        "svgo": "https://registry.npmjs.org/svgo/-/svgo-0.7.1.tgz",
+        "through2-concurrent": "https://registry.npmjs.org/through2-concurrent/-/through2-concurrent-1.1.1.tgz",
+        "zopflipng-bin": "https://registry.npmjs.org/zopflipng-bin/-/zopflipng-bin-3.0.1.tgz"
+      }
     },
     "gulp-jshint": {
       "version": "https://registry.npmjs.org/gulp-jshint/-/gulp-jshint-2.0.4.tgz",
       "integrity": "sha1-84KxhWSxBy3vDJqvdTwUba208Og=",
+      "requires": {
+        "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz",
+        "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz",
+        "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+        "rcloader": "https://registry.npmjs.org/rcloader/-/rcloader-0.2.2.tgz",
+        "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
+      },
       "dependencies": {
         "lodash": {
           "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz",
@@ -2711,17 +4693,36 @@
         },
         "minimatch": {
           "version": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
-          "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q="
+          "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=",
+          "requires": {
+            "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz"
+          }
         }
       }
     },
     "gulp-less": {
       "version": "https://registry.npmjs.org/gulp-less/-/gulp-less-3.3.0.tgz",
-      "integrity": "sha1-0IVWXaPIEDB/3nx4dOhlINxQMjQ="
+      "integrity": "sha1-0IVWXaPIEDB/3nx4dOhlINxQMjQ=",
+      "requires": {
+        "accord": "https://registry.npmjs.org/accord/-/accord-0.26.4.tgz",
+        "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz",
+        "less": "https://registry.npmjs.org/less/-/less-2.7.1.tgz",
+        "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
+        "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+        "vinyl-sourcemaps-apply": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz"
+      }
     },
     "gulp-minify-css": {
       "version": "https://registry.npmjs.org/gulp-minify-css/-/gulp-minify-css-1.2.4.tgz",
-      "integrity": "sha1-thZJV2Auon+eWtiCJ2ld0gV3jAY="
+      "integrity": "sha1-thZJV2Auon+eWtiCJ2ld0gV3jAY=",
+      "requires": {
+        "clean-css": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.22.tgz",
+        "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz",
+        "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
+        "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz",
+        "vinyl-bufferstream": "https://registry.npmjs.org/vinyl-bufferstream/-/vinyl-bufferstream-1.0.1.tgz",
+        "vinyl-sourcemaps-apply": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz"
+      }
     },
     "gulp-rename": {
       "version": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.2.tgz",
@@ -2730,6 +4731,18 @@
     "gulp-sourcemaps": {
       "version": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.9.1.tgz",
       "integrity": "sha1-gKwtOEXRPmjdliUk2KlnpECwt1M=",
+      "requires": {
+        "acorn": "https://registry.npmjs.org/acorn/-/acorn-4.0.3.tgz",
+        "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.3.0.tgz",
+        "css": "https://registry.npmjs.org/css/-/css-2.2.1.tgz",
+        "debug-fabulous": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-0.0.4.tgz",
+        "detect-newline": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
+        "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+        "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+        "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+        "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+        "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz"
+      },
       "dependencies": {
         "acorn": {
           "version": "https://registry.npmjs.org/acorn/-/acorn-4.0.3.tgz",
@@ -2737,23 +4750,64 @@
         },
         "vinyl": {
           "version": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
-          "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ="
+          "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
+          "requires": {
+            "clone": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz",
+            "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+            "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz"
+          }
         }
       }
     },
     "gulp-uglify": {
       "version": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-1.5.4.tgz",
       "integrity": "sha1-UkeI2HZm0J+dDCH7IXf5ADmmWMk=",
+      "requires": {
+        "deap": "https://registry.npmjs.org/deap/-/deap-1.0.0.tgz",
+        "fancy-log": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.2.0.tgz",
+        "gulp-util": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz",
+        "isobject": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+        "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+        "uglify-js": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.4.tgz",
+        "uglify-save-license": "https://registry.npmjs.org/uglify-save-license/-/uglify-save-license-0.4.1.tgz",
+        "vinyl-sourcemaps-apply": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz"
+      },
       "dependencies": {
         "uglify-js": {
           "version": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.4.tgz",
-          "integrity": "sha1-ZeovswWck5RpLxX+2HwrNsFrmt8="
+          "integrity": "sha1-ZeovswWck5RpLxX+2HwrNsFrmt8=",
+          "requires": {
+            "async": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
+            "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+            "uglify-to-browserify": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
+            "yargs": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz"
+          }
         }
       }
     },
     "gulp-util": {
       "version": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz",
       "integrity": "sha1-eJJcS4+LSQBawBoBHFV+YhiUHLs=",
+      "requires": {
+        "array-differ": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
+        "array-uniq": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+        "beeper": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
+        "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+        "dateformat": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
+        "fancy-log": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.2.0.tgz",
+        "gulplog": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
+        "has-gulplog": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
+        "lodash._reescape": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
+        "lodash._reevaluate": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
+        "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+        "lodash.template": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
+        "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+        "multipipe": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
+        "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
+        "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
+        "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+        "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz"
+      },
       "dependencies": {
         "minimist": {
           "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
@@ -2767,15 +4821,24 @@
     },
     "gulplog": {
       "version": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
-      "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U="
+      "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
+      "requires": {
+        "glogg": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz"
+      }
     },
     "has": {
       "version": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
-      "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg="
+      "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=",
+      "requires": {
+        "function-bind": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz"
+      }
     },
     "has-ansi": {
       "version": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
-      "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE="
+      "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+      "requires": {
+        "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
+      }
     },
     "has-flag": {
       "version": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
@@ -2784,7 +4847,10 @@
     },
     "has-gulplog": {
       "version": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
-      "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4="
+      "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
+      "requires": {
+        "sparkles": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz"
+      }
     },
     "has-require": {
       "version": "https://registry.npmjs.org/has-require/-/has-require-1.1.0.tgz",
@@ -2792,11 +4858,20 @@
     },
     "hash.js": {
       "version": "https://registry.npmjs.org/hash.js/-/hash.js-1.0.3.tgz",
-      "integrity": "sha1-EzL/ABVsCg/92CNgE9B7d6BFFXM="
+      "integrity": "sha1-EzL/ABVsCg/92CNgE9B7d6BFFXM=",
+      "requires": {
+        "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
+      }
     },
     "history": {
       "version": "https://registry.npmjs.org/history/-/history-2.1.2.tgz",
-      "integrity": "sha1-SqLeiXoOSGfkU5hDvm7Nsphr/ew="
+      "integrity": "sha1-SqLeiXoOSGfkU5hDvm7Nsphr/ew=",
+      "requires": {
+        "deep-equal": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
+        "invariant": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz",
+        "query-string": "https://registry.npmjs.org/query-string/-/query-string-3.0.3.tgz",
+        "warning": "https://registry.npmjs.org/warning/-/warning-2.1.0.tgz"
+      }
     },
     "hoist-non-react-statics": {
       "version": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz",
@@ -2804,11 +4879,18 @@
     },
     "home-or-tmp": {
       "version": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
-      "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg="
+      "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
+      "requires": {
+        "os-homedir": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+        "os-tmpdir": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz"
+      }
     },
     "homedir-polyfill": {
       "version": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
-      "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw="
+      "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=",
+      "requires": {
+        "parse-passwd": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz"
+      }
     },
     "hosted-git-info": {
       "version": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz",
@@ -2826,6 +4908,13 @@
       "version": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz",
       "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=",
       "dev": true,
+      "requires": {
+        "domelementtype": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz",
+        "domhandler": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz",
+        "domutils": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
+        "entities": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz",
+        "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz"
+      },
       "dependencies": {
         "isarray": {
           "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
@@ -2835,7 +4924,13 @@
         "readable-stream": {
           "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
           "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
-          "dev": true
+          "dev": true,
+          "requires": {
+            "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+            "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+            "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+          }
         }
       }
     },
@@ -2846,7 +4941,12 @@
     "https-proxy-agent": {
       "version": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz",
       "integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=",
-      "dev": true
+      "dev": true,
+      "requires": {
+        "agent-base": "https://registry.npmjs.org/agent-base/-/agent-base-2.0.1.tgz",
+        "debug": "https://registry.npmjs.org/debug/-/debug-2.4.4.tgz",
+        "extend": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz"
+      }
     },
     "iconv-lite": {
       "version": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz",
@@ -2863,7 +4963,10 @@
     },
     "indent-string": {
       "version": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
-      "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA="
+      "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
+      "requires": {
+        "repeating": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz"
+      }
     },
     "indexof": {
       "version": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
@@ -2875,7 +4978,11 @@
     },
     "inflight": {
       "version": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
-      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk="
+      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+      "requires": {
+        "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+        "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+      }
     },
     "inherits": {
       "version": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
@@ -2887,11 +4994,24 @@
     },
     "inline-source-map": {
       "version": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz",
-      "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU="
+      "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=",
+      "requires": {
+        "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz"
+      }
     },
     "insert-module-globals": {
       "version": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.0.1.tgz",
-      "integrity": "sha1-wDv04BywhtW15azorQr+eInWOMM="
+      "integrity": "sha1-wDv04BywhtW15azorQr+eInWOMM=",
+      "requires": {
+        "combine-source-map": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.7.2.tgz",
+        "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
+        "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz",
+        "JSONStream": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.0.tgz",
+        "lexical-scope": "https://registry.npmjs.org/lexical-scope/-/lexical-scope-1.2.0.tgz",
+        "process": "https://registry.npmjs.org/process/-/process-0.11.9.tgz",
+        "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+        "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+      }
     },
     "interpret": {
       "version": "https://registry.npmjs.org/interpret/-/interpret-1.0.1.tgz",
@@ -2899,7 +5019,10 @@
     },
     "invariant": {
       "version": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz",
-      "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A="
+      "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=",
+      "requires": {
+        "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.0.tgz"
+      }
     },
     "ip-regex": {
       "version": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz",
@@ -2907,7 +5030,11 @@
     },
     "is-absolute": {
       "version": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.2.6.tgz",
-      "integrity": "sha1-IN5p89uULvLYe5wto28XIjWxtes="
+      "integrity": "sha1-IN5p89uULvLYe5wto28XIjWxtes=",
+      "requires": {
+        "is-relative": "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz",
+        "is-windows": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz"
+      }
     },
     "is-arrayish": {
       "version": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
@@ -2915,7 +5042,10 @@
     },
     "is-binary-path": {
       "version": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
-      "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg="
+      "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+      "requires": {
+        "binary-extensions": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.8.0.tgz"
+      }
     },
     "is-buffer": {
       "version": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz",
@@ -2923,7 +5053,10 @@
     },
     "is-builtin-module": {
       "version": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
-      "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74="
+      "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
+      "requires": {
+        "builtin-modules": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz"
+      }
     },
     "is-bzip2": {
       "version": "https://registry.npmjs.org/is-bzip2/-/is-bzip2-1.0.0.tgz",
@@ -2939,7 +5072,10 @@
     },
     "is-equal-shallow": {
       "version": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
-      "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ="
+      "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
+      "requires": {
+        "is-primitive": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz"
+      }
     },
     "is-extendable": {
       "version": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
@@ -2951,7 +5087,10 @@
     },
     "is-finite": {
       "version": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
-      "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko="
+      "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
+      "requires": {
+        "number-is-nan": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz"
+      }
     },
     "is-gif": {
       "version": "https://registry.npmjs.org/is-gif/-/is-gif-1.0.0.tgz",
@@ -2959,7 +5098,10 @@
     },
     "is-glob": {
       "version": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
-      "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM="
+      "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+      "requires": {
+        "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz"
+      }
     },
     "is-gzip": {
       "version": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz",
@@ -2975,7 +5117,10 @@
     },
     "is-number": {
       "version": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
-      "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8="
+      "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
+      "requires": {
+        "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.1.0.tgz"
+      }
     },
     "is-obj": {
       "version": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
@@ -2987,11 +5132,17 @@
     },
     "is-path-in-cwd": {
       "version": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz",
-      "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw="
+      "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=",
+      "requires": {
+        "is-path-inside": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz"
+      }
     },
     "is-path-inside": {
       "version": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz",
-      "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838="
+      "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=",
+      "requires": {
+        "path-is-inside": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz"
+      }
     },
     "is-png": {
       "version": "https://registry.npmjs.org/is-png/-/is-png-1.0.0.tgz",
@@ -3011,7 +5162,10 @@
     },
     "is-relative": {
       "version": "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz",
-      "integrity": "sha1-0n9MfVFtF1+2ENuEu+7yPDvJeqU="
+      "integrity": "sha1-0n9MfVFtF1+2ENuEu+7yPDvJeqU=",
+      "requires": {
+        "is-unc-path": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-0.1.2.tgz"
+      }
     },
     "is-retry-allowed": {
       "version": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz",
@@ -3023,7 +5177,10 @@
     },
     "is-svg": {
       "version": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz",
-      "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk="
+      "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=",
+      "requires": {
+        "html-comment-regex": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz"
+      }
     },
     "is-tar": {
       "version": "https://registry.npmjs.org/is-tar/-/is-tar-1.0.0.tgz",
@@ -3031,7 +5188,10 @@
     },
     "is-unc-path": {
       "version": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-0.1.2.tgz",
-      "integrity": "sha1-arBTpyVzwQJQ/0FqOBTDUXivObk="
+      "integrity": "sha1-arBTpyVzwQJQ/0FqOBTDUXivObk=",
+      "requires": {
+        "unc-path-regex": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz"
+      }
     },
     "is-url": {
       "version": "https://registry.npmjs.org/is-url/-/is-url-1.2.2.tgz",
@@ -3063,16 +5223,27 @@
     },
     "isobject": {
       "version": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
-      "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk="
+      "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+      "requires": {
+        "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
+      }
     },
     "isomorphic-fetch": {
       "version": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
-      "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk="
+      "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
+      "requires": {
+        "node-fetch": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.6.3.tgz",
+        "whatwg-fetch": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.1.tgz"
+      }
     },
     "jade": {
       "version": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz",
       "integrity": "sha1-jxDXl32NefL2/4YqgbBRPMslaGw=",
       "dev": true,
+      "requires": {
+        "commander": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz",
+        "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz"
+      },
       "dependencies": {
         "commander": {
           "version": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz",
@@ -3088,11 +5259,20 @@
     },
     "jpeg-recompress-bin": {
       "version": "https://registry.npmjs.org/jpeg-recompress-bin/-/jpeg-recompress-bin-3.0.1.tgz",
-      "integrity": "sha1-RqPnMAzKt5WxuNsnroAsJ6KDM6Q="
+      "integrity": "sha1-RqPnMAzKt5WxuNsnroAsJ6KDM6Q=",
+      "requires": {
+        "bin-wrapper": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-3.0.2.tgz",
+        "logalot": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz"
+      }
     },
     "jpegoptim-bin": {
       "version": "https://registry.npmjs.org/jpegoptim-bin/-/jpegoptim-bin-3.0.0.tgz",
-      "integrity": "sha1-n3oF2DswK9GZE97PM5qdrhvaDCs="
+      "integrity": "sha1-n3oF2DswK9GZE97PM5qdrhvaDCs=",
+      "requires": {
+        "bin-build": "https://registry.npmjs.org/bin-build/-/bin-build-2.2.0.tgz",
+        "bin-wrapper": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-3.0.2.tgz",
+        "logalot": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz"
+      }
     },
     "jquery": {
       "version": "https://registry.npmjs.org/jquery/-/jquery-2.2.4.tgz",
@@ -3100,7 +5280,10 @@
     },
     "jquery-mockjax": {
       "version": "https://registry.npmjs.org/jquery-mockjax/-/jquery-mockjax-2.2.1.tgz",
-      "integrity": "sha1-x5zcWduyFTlxpm5TPnEwFwNBVKw="
+      "integrity": "sha1-x5zcWduyFTlxpm5TPnEwFwNBVKw=",
+      "requires": {
+        "jquery": "https://registry.npmjs.org/jquery/-/jquery-2.2.4.tgz"
+      }
     },
     "jquery.caret": {
       "version": "0.3.1",
@@ -3113,7 +5296,11 @@
     },
     "js-yaml": {
       "version": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz",
-      "integrity": "sha1-bl/mfYsgXOTSL60Ft3geja3MSzA="
+      "integrity": "sha1-bl/mfYsgXOTSL60Ft3geja3MSzA=",
+      "requires": {
+        "argparse": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz",
+        "esprima": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz"
+      }
     },
     "jsesc": {
       "version": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
@@ -3123,6 +5310,16 @@
       "version": "https://registry.npmjs.org/jshint/-/jshint-2.9.4.tgz",
       "integrity": "sha1-XjupeEjVKQJz21FK7kf+JM9ZKTQ=",
       "dev": true,
+      "requires": {
+        "cli": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz",
+        "console-browserify": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
+        "exit": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+        "htmlparser2": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz",
+        "lodash": "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz",
+        "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+        "shelljs": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz",
+        "strip-json-comments": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz"
+      },
       "dependencies": {
         "lodash": {
           "version": "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz",
@@ -3132,13 +5329,19 @@
         "minimatch": {
           "version": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
           "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=",
-          "dev": true
+          "dev": true,
+          "requires": {
+            "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz"
+          }
         }
       }
     },
     "json-stable-stringify": {
       "version": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz",
-      "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U="
+      "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=",
+      "requires": {
+        "jsonify": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"
+      }
     },
     "json5": {
       "version": "https://registry.npmjs.org/json5/-/json5-0.4.0.tgz",
@@ -3154,15 +5357,27 @@
     },
     "JSONStream": {
       "version": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.0.tgz",
-      "integrity": "sha1-aAq5rGVyqKGiB+CzhyHbHHeyFeU="
+      "integrity": "sha1-aAq5rGVyqKGiB+CzhyHbHHeyFeU=",
+      "requires": {
+        "jsonparse": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.2.0.tgz",
+        "through": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
+      }
     },
     "kind-of": {
       "version": "https://registry.npmjs.org/kind-of/-/kind-of-3.1.0.tgz",
-      "integrity": "sha1-R11pil5J/15T0U4+cyQp3Iv0z0c="
+      "integrity": "sha1-R11pil5J/15T0U4+cyQp3Iv0z0c=",
+      "requires": {
+        "is-buffer": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz"
+      }
     },
     "labeled-stream-splicer": {
       "version": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz",
       "integrity": "sha1-pS4dE4AkwAuGscDJH2d5GLiuClk=",
+      "requires": {
+        "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+        "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+        "stream-splicer": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.0.tgz"
+      },
       "dependencies": {
         "isarray": {
           "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
@@ -3184,23 +5399,53 @@
     },
     "lazystream": {
       "version": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
-      "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ="
+      "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
+      "requires": {
+        "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz"
+      }
     },
     "less": {
       "version": "https://registry.npmjs.org/less/-/less-2.7.1.tgz",
-      "integrity": "sha1-bL/qIrO4MDBOml+zcdVPpIDJ188="
+      "integrity": "sha1-bL/qIrO4MDBOml+zcdVPpIDJ188=",
+      "requires": {
+        "errno": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz",
+        "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+        "image-size": "https://registry.npmjs.org/image-size/-/image-size-0.5.0.tgz",
+        "mime": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz",
+        "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+        "promise": "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz",
+        "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz"
+      }
     },
     "levn": {
       "version": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
-      "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4="
+      "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+      "requires": {
+        "prelude-ls": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+        "type-check": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz"
+      }
     },
     "lexical-scope": {
       "version": "https://registry.npmjs.org/lexical-scope/-/lexical-scope-1.2.0.tgz",
-      "integrity": "sha1-/Ope3HBKSzqHls3KQZw6CvryLfQ="
+      "integrity": "sha1-/Ope3HBKSzqHls3KQZw6CvryLfQ=",
+      "requires": {
+        "astw": "https://registry.npmjs.org/astw/-/astw-2.0.0.tgz"
+      }
     },
     "liftoff": {
       "version": "https://registry.npmjs.org/liftoff/-/liftoff-2.3.0.tgz",
-      "integrity": "sha1-qY8v9nGD2Lp8+soQVIvX/wVQs4U="
+      "integrity": "sha1-qY8v9nGD2Lp8+soQVIvX/wVQs4U=",
+      "requires": {
+        "extend": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz",
+        "findup-sync": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.3.tgz",
+        "fined": "https://registry.npmjs.org/fined/-/fined-1.0.2.tgz",
+        "flagged-respawn": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-0.3.2.tgz",
+        "lodash.isplainobject": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+        "lodash.isstring": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
+        "lodash.mapvalues": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz",
+        "rechoir": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+        "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.2.0.tgz"
+      }
     },
     "listen": {
       "version": "https://registry.npmjs.org/listen/-/listen-1.0.1.tgz",
@@ -3209,7 +5454,14 @@
     },
     "load-json-file": {
       "version": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
-      "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA="
+      "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+      "requires": {
+        "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+        "parse-json": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+        "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+        "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+        "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz"
+      }
     },
     "lodash": {
       "version": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
@@ -3273,7 +5525,10 @@
     },
     "lodash.escape": {
       "version": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
-      "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg="
+      "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
+      "requires": {
+        "lodash._root": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz"
+      }
     },
     "lodash.flatten": {
       "version": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
@@ -3305,7 +5560,12 @@
     },
     "lodash.keys": {
       "version": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
-      "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo="
+      "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
+      "requires": {
+        "lodash._getnative": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
+        "lodash.isarguments": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+        "lodash.isarray": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz"
+      }
     },
     "lodash.mapvalues": {
       "version": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz",
@@ -3333,11 +5593,26 @@
     },
     "lodash.template": {
       "version": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
-      "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8="
+      "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
+      "requires": {
+        "lodash._basecopy": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
+        "lodash._basetostring": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
+        "lodash._basevalues": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
+        "lodash._isiterateecall": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
+        "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+        "lodash.escape": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
+        "lodash.keys": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
+        "lodash.restparam": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
+        "lodash.templatesettings": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz"
+      }
     },
     "lodash.templatesettings": {
       "version": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
-      "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU="
+      "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
+      "requires": {
+        "lodash._reinterpolate": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+        "lodash.escape": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz"
+      }
     },
     "lodash.uniq": {
       "version": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
@@ -3345,7 +5620,11 @@
     },
     "logalot": {
       "version": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz",
-      "integrity": "sha1-X46MkNME7fElMJUaVVSruMXj9VI="
+      "integrity": "sha1-X46MkNME7fElMJUaVVSruMXj9VI=",
+      "requires": {
+        "figures": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
+        "squeak": "https://registry.npmjs.org/squeak/-/squeak-1.3.0.tgz"
+      }
     },
     "longest": {
       "version": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
@@ -3353,11 +5632,18 @@
     },
     "loose-envify": {
       "version": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.0.tgz",
-      "integrity": "sha1-ayYkjEL21PpLDYVC947fzeNWQqg="
+      "integrity": "sha1-ayYkjEL21PpLDYVC947fzeNWQqg=",
+      "requires": {
+        "js-tokens": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz"
+      }
     },
     "loud-rejection": {
       "version": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
-      "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8="
+      "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+      "requires": {
+        "currently-unhandled": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
+        "signal-exit": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz"
+      }
     },
     "lowercase-keys": {
       "version": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz",
@@ -3369,7 +5655,13 @@
     },
     "lpad-align": {
       "version": "https://registry.npmjs.org/lpad-align/-/lpad-align-1.1.0.tgz",
-      "integrity": "sha1-J/p4a8tpX8Q06hUAcj640L3IK/Q="
+      "integrity": "sha1-J/p4a8tpX8Q06hUAcj640L3IK/Q=",
+      "requires": {
+        "get-stdin": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+        "longest": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
+        "lpad": "https://registry.npmjs.org/lpad/-/lpad-2.0.1.tgz",
+        "meow": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz"
+      }
     },
     "lru-cache": {
       "version": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
@@ -3386,6 +5678,18 @@
     "meow": {
       "version": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
       "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
+      "requires": {
+        "camelcase-keys": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+        "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+        "loud-rejection": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
+        "map-obj": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+        "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+        "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz",
+        "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
+        "read-pkg-up": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+        "redent": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
+        "trim-newlines": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz"
+      },
       "dependencies": {
         "minimist": {
           "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
@@ -3395,15 +5699,37 @@
     },
     "merge-stream": {
       "version": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
-      "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE="
+      "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",
+      "requires": {
+        "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz"
+      }
     },
     "micromatch": {
       "version": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
-      "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU="
+      "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
+      "requires": {
+        "arr-diff": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+        "array-unique": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+        "braces": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+        "expand-brackets": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+        "extglob": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+        "filename-regex": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.0.tgz",
+        "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+        "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+        "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.1.0.tgz",
+        "normalize-path": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.0.1.tgz",
+        "object.omit": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
+        "parse-glob": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
+        "regex-cache": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz"
+      }
     },
     "miller-rabin": {
       "version": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.0.tgz",
-      "integrity": "sha1-SmL7HUKTPAVYOYL0xxb2+55sbT0="
+      "integrity": "sha1-SmL7HUKTPAVYOYL0xxb2+55sbT0=",
+      "requires": {
+        "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz",
+        "brorand": "https://registry.npmjs.org/brorand/-/brorand-1.0.6.tgz"
+      }
     },
     "mime": {
       "version": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz",
@@ -3413,7 +5739,15 @@
     "min-wd": {
       "version": "https://registry.npmjs.org/min-wd/-/min-wd-2.9.3.tgz",
       "integrity": "sha1-Nda8fTL2bmAZK6vf1sFnTpkvE70=",
-      "dev": true
+      "dev": true,
+      "requires": {
+        "brout": "https://registry.npmjs.org/brout/-/brout-1.2.0.tgz",
+        "listen": "https://registry.npmjs.org/listen/-/listen-1.0.1.tgz",
+        "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.2.0.tgz",
+        "saucelabs": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.3.0.tgz",
+        "source-mapper": "https://registry.npmjs.org/source-mapper/-/source-mapper-2.0.0.tgz",
+        "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
+      }
     },
     "minimalistic-assert": {
       "version": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz",
@@ -3421,7 +5755,10 @@
     },
     "minimatch": {
       "version": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
-      "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc="
+      "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",
+      "requires": {
+        "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz"
+      }
     },
     "minimist": {
       "version": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
@@ -3429,17 +5766,31 @@
     },
     "mkdirp": {
       "version": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
-      "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM="
+      "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+      "requires": {
+        "minimist": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
+      }
     },
     "mocaccino": {
       "version": "https://registry.npmjs.org/mocaccino/-/mocaccino-1.8.2.tgz",
       "integrity": "sha1-wE9gMCLFjfUSwBjgwrwfQDEMDhs=",
       "dev": true,
+      "requires": {
+        "brout": "https://registry.npmjs.org/brout/-/brout-1.2.0.tgz",
+        "listen": "https://registry.npmjs.org/listen/-/listen-1.0.1.tgz",
+        "mocha": "https://registry.npmjs.org/mocha/-/mocha-2.5.3.tgz",
+        "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.2.0.tgz",
+        "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz",
+        "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
+      },
       "dependencies": {
         "supports-color": {
           "version": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz",
           "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=",
-          "dev": true
+          "dev": true,
+          "requires": {
+            "has-flag": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz"
+          }
         }
       }
     },
@@ -3447,6 +5798,18 @@
       "version": "https://registry.npmjs.org/mocha/-/mocha-2.5.3.tgz",
       "integrity": "sha1-FhvlvetJZ3HrmzV0UFC2IrWu/Fg=",
       "dev": true,
+      "requires": {
+        "commander": "https://registry.npmjs.org/commander/-/commander-2.3.0.tgz",
+        "debug": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+        "diff": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz",
+        "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz",
+        "glob": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
+        "growl": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz",
+        "jade": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz",
+        "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+        "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-1.2.0.tgz",
+        "to-iso-string": "https://registry.npmjs.org/to-iso-string/-/to-iso-string-0.0.2.tgz"
+      },
       "dependencies": {
         "commander": {
           "version": "https://registry.npmjs.org/commander/-/commander-2.3.0.tgz",
@@ -3456,7 +5819,10 @@
         "debug": {
           "version": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
           "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
-          "dev": true
+          "dev": true,
+          "requires": {
+            "ms": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
+          }
         },
         "escape-string-regexp": {
           "version": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz",
@@ -3466,12 +5832,20 @@
         "glob": {
           "version": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
           "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=",
-          "dev": true
+          "dev": true,
+          "requires": {
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+            "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz"
+          }
         },
         "minimatch": {
           "version": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
           "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=",
-          "dev": true
+          "dev": true,
+          "requires": {
+            "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
+            "sigmund": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz"
+          }
         },
         "ms": {
           "version": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
@@ -3489,6 +5863,23 @@
       "version": "https://registry.npmjs.org/mochify/-/mochify-2.18.1.tgz",
       "integrity": "sha1-8Pmv3uiDYax+MD0JTLifTYZLOHw=",
       "dev": true,
+      "requires": {
+        "brout": "https://registry.npmjs.org/brout/-/brout-1.2.0.tgz",
+        "browserify": "https://registry.npmjs.org/browserify/-/browserify-13.1.1.tgz",
+        "consolify": "https://registry.npmjs.org/consolify/-/consolify-2.2.0.tgz",
+        "coverify": "https://registry.npmjs.org/coverify/-/coverify-1.4.1.tgz",
+        "glob": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
+        "min-wd": "https://registry.npmjs.org/min-wd/-/min-wd-2.9.3.tgz",
+        "mocaccino": "https://registry.npmjs.org/mocaccino/-/mocaccino-1.8.2.tgz",
+        "mocha": "https://registry.npmjs.org/mocha/-/mocha-2.5.3.tgz",
+        "phantomic": "https://registry.npmjs.org/phantomic/-/phantomic-1.4.0.tgz",
+        "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.2.0.tgz",
+        "source-mapper": "https://registry.npmjs.org/source-mapper/-/source-mapper-2.0.0.tgz",
+        "subarg": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
+        "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+        "watchify": "https://registry.npmjs.org/watchify/-/watchify-3.8.0.tgz",
+        "which": "https://registry.npmjs.org/which/-/which-1.2.12.tgz"
+      },
       "dependencies": {
         "ansi-regex": {
           "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz",
@@ -3508,7 +5899,10 @@
         },
         "async": {
           "version": "https://registry.npmjs.org/async/-/async-2.1.4.tgz",
-          "integrity": "sha1-LSFgx3iAMuTdbL4lAvH5osj2zeQ="
+          "integrity": "sha1-LSFgx3iAMuTdbL4lAvH5osj2zeQ=",
+          "requires": {
+            "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz"
+          }
         },
         "aws-sign2": {
           "version": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
@@ -3521,19 +5915,32 @@
         "bcrypt-pbkdf": {
           "version": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz",
           "integrity": "sha1-PKdrhSQccXC/fZcD57mqdGMAQNQ=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "tweetnacl": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"
+          }
         },
         "bl": {
           "version": "https://registry.npmjs.org/bl/-/bl-1.0.3.tgz",
-          "integrity": "sha1-/FQhoo/UImA2w7OJGmaiW8ZNIm4="
+          "integrity": "sha1-/FQhoo/UImA2w7OJGmaiW8ZNIm4=",
+          "requires": {
+            "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz"
+          }
         },
         "boom": {
           "version": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
-          "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8="
+          "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
+          "requires": {
+            "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"
+          }
         },
         "brace-expansion": {
           "version": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz",
-          "integrity": "sha1-cZfX6qm4fmSDkOph/GbIRCdCDfk="
+          "integrity": "sha1-cZfX6qm4fmSDkOph/GbIRCdCDfk=",
+          "requires": {
+            "balanced-match": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
+            "concat-map": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
+          }
         },
         "caseless": {
           "version": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
@@ -3541,15 +5948,28 @@
         },
         "chalk": {
           "version": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
-          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg="
+          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+          "requires": {
+            "ansi-styles": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+            "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+            "has-ansi": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+            "strip-ansi": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+            "supports-color": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"
+          }
         },
         "combined-stream": {
           "version": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
-          "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk="
+          "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
+          "requires": {
+            "delayed-stream": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
+          }
         },
         "commander": {
           "version": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
-          "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q="
+          "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
+          "requires": {
+            "graceful-readlink": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
+          }
         },
         "concat-map": {
           "version": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -3557,7 +5977,12 @@
         },
         "concat-stream": {
           "version": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.0.tgz",
-          "integrity": "sha1-U/fUPFHF5D+ByP3QMyHGMb5o1hE="
+          "integrity": "sha1-U/fUPFHF5D+ByP3QMyHGMb5o1hE=",
+          "requires": {
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+            "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
+            "typedarray": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
+          }
         },
         "core-util-is": {
           "version": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
@@ -3565,11 +5990,17 @@
         },
         "cryptiles": {
           "version": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
-          "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g="
+          "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
+          "requires": {
+            "boom": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz"
+          }
         },
         "dashdash": {
           "version": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
           "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+          "requires": {
+            "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
+          },
           "dependencies": {
             "assert-plus": {
               "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
@@ -3588,7 +6019,10 @@
         "ecc-jsbn": {
           "version": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
           "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz"
+          }
         },
         "escape-string-regexp": {
           "version": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
@@ -3600,7 +6034,13 @@
         },
         "extract-zip": {
           "version": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.5.0.tgz",
-          "integrity": "sha1-ksz22B73Cp+kwXRxFMzvbYaIpsQ="
+          "integrity": "sha1-ksz22B73Cp+kwXRxFMzvbYaIpsQ=",
+          "requires": {
+            "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.0.tgz",
+            "debug": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz",
+            "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz",
+            "yauzl": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz"
+          }
         },
         "extsprintf": {
           "version": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz",
@@ -3608,7 +6048,10 @@
         },
         "fd-slicer": {
           "version": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",
-          "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU="
+          "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=",
+          "requires": {
+            "pend": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz"
+          }
         },
         "forever-agent": {
           "version": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
@@ -3616,11 +6059,23 @@
         },
         "form-data": {
           "version": "https://registry.npmjs.org/form-data/-/form-data-1.0.1.tgz",
-          "integrity": "sha1-rjFduaSQf6BlUCMEpm13M0de43w="
+          "integrity": "sha1-rjFduaSQf6BlUCMEpm13M0de43w=",
+          "requires": {
+            "async": "https://registry.npmjs.org/async/-/async-2.1.4.tgz",
+            "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
+            "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.13.tgz"
+          }
         },
         "fs-extra": {
           "version": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz",
-          "integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k="
+          "integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=",
+          "requires": {
+            "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+            "jsonfile": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
+            "klaw": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
+            "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+            "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz"
+          }
         },
         "fs.realpath": {
           "version": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -3632,11 +6087,17 @@
         },
         "generate-object-property": {
           "version": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
-          "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA="
+          "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
+          "requires": {
+            "is-property": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz"
+          }
         },
         "getpass": {
           "version": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz",
           "integrity": "sha1-KD/9n8ElaECHUxHBtg6MQBhxEOY=",
+          "requires": {
+            "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
+          },
           "dependencies": {
             "assert-plus": {
               "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
@@ -3654,19 +6115,38 @@
         },
         "har-validator": {
           "version": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
-          "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0="
+          "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=",
+          "requires": {
+            "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+            "commander": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
+            "is-my-json-valid": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz",
+            "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
+          }
         },
         "has-ansi": {
           "version": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
-          "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE="
+          "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+          "requires": {
+            "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
+          }
         },
         "hasha": {
           "version": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz",
-          "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE="
+          "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=",
+          "requires": {
+            "is-stream": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+            "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
+          }
         },
         "hawk": {
           "version": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
-          "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ="
+          "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
+          "requires": {
+            "boom": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
+            "cryptiles": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+            "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+            "sntp": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz"
+          }
         },
         "hoek": {
           "version": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
@@ -3674,11 +6154,20 @@
         },
         "http-signature": {
           "version": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
-          "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8="
+          "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
+          "requires": {
+            "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
+            "jsprim": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz",
+            "sshpk": "https://registry.npmjs.org/sshpk/-/sshpk-1.10.1.tgz"
+          }
         },
         "inflight": {
           "version": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
-          "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk="
+          "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+          "requires": {
+            "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+            "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+          }
         },
         "inherits": {
           "version": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
@@ -3686,7 +6175,13 @@
         },
         "is-my-json-valid": {
           "version": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz",
-          "integrity": "sha1-k27do8o8IR/ZjzstPgjaQ/eykVs="
+          "integrity": "sha1-k27do8o8IR/ZjzstPgjaQ/eykVs=",
+          "requires": {
+            "generate-function": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
+            "generate-object-property": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
+            "jsonpointer": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.0.tgz",
+            "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+          }
         },
         "is-property": {
           "version": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
@@ -3715,7 +6210,10 @@
         "jodid25519": {
           "version": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz",
           "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz"
+          }
         },
         "jsbn": {
           "version": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz",
@@ -3732,7 +6230,10 @@
         },
         "jsonfile": {
           "version": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
-          "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug="
+          "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
+          "requires": {
+            "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz"
+          }
         },
         "jsonpointer": {
           "version": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.0.tgz",
@@ -3740,7 +6241,12 @@
         },
         "jsprim": {
           "version": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz",
-          "integrity": "sha1-KnJW9wQSop7jZwqspiWZTE3P8lI="
+          "integrity": "sha1-KnJW9wQSop7jZwqspiWZTE3P8lI=",
+          "requires": {
+            "extsprintf": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz",
+            "json-schema": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+            "verror": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz"
+          }
         },
         "kew": {
           "version": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz",
@@ -3748,7 +6254,10 @@
         },
         "klaw": {
           "version": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
-          "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk="
+          "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
+          "requires": {
+            "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz"
+          }
         },
         "lodash": {
           "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz",
@@ -3760,11 +6269,17 @@
         },
         "mime-types": {
           "version": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.13.tgz",
-          "integrity": "sha1-4HqqnGxrmnyjASxpADrSWjnpKog="
+          "integrity": "sha1-4HqqnGxrmnyjASxpADrSWjnpKog=",
+          "requires": {
+            "mime-db": "https://registry.npmjs.org/mime-db/-/mime-db-1.25.0.tgz"
+          }
         },
         "minimatch": {
           "version": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
-          "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q="
+          "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=",
+          "requires": {
+            "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz"
+          }
         },
         "minimist": {
           "version": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
@@ -3772,7 +6287,10 @@
         },
         "mkdirp": {
           "version": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz",
-          "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI="
+          "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=",
+          "requires": {
+            "minimist": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
+          }
         },
         "node-uuid": {
           "version": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz",
@@ -3784,7 +6302,10 @@
         },
         "once": {
           "version": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
-          "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E="
+          "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+          "requires": {
+            "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+          }
         },
         "path-is-absolute": {
           "version": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
@@ -3797,10 +6318,23 @@
         "phantomjs": {
           "version": "https://registry.npmjs.org/phantomjs/-/phantomjs-2.1.7.tgz",
           "integrity": "sha1-xpEPZ5NcNyhbYRQyn8LyfV8+MTQ=",
+          "requires": {
+            "extract-zip": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.5.0.tgz",
+            "fs-extra": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz",
+            "hasha": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz",
+            "kew": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz",
+            "progress": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
+            "request": "https://registry.npmjs.org/request/-/request-2.67.0.tgz",
+            "request-progress": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz",
+            "which": "https://registry.npmjs.org/which/-/which-1.2.12.tgz"
+          },
           "dependencies": {
             "which": {
               "version": "https://registry.npmjs.org/which/-/which-1.2.12.tgz",
-              "integrity": "sha1-3me15FAmnxlJCe8j7OTr5Bb6EZI="
+              "integrity": "sha1-3me15FAmnxlJCe8j7OTr5Bb6EZI=",
+              "requires": {
+                "isexe": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz"
+              }
             }
           }
         },
@@ -3810,7 +6344,10 @@
         },
         "pinkie-promise": {
           "version": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
-          "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o="
+          "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+          "requires": {
+            "pinkie": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz"
+          }
         },
         "process-nextick-args": {
           "version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
@@ -3826,33 +6363,91 @@
         },
         "readable-stream": {
           "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
-          "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44="
+          "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
+          "requires": {
+            "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+            "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+            "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+            "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+            "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+          }
         },
         "request": {
           "version": "https://registry.npmjs.org/request/-/request-2.67.0.tgz",
-          "integrity": "sha1-ivdHgOK/EeoK6aqWXBHxGv0nJ0I="
+          "integrity": "sha1-ivdHgOK/EeoK6aqWXBHxGv0nJ0I=",
+          "requires": {
+            "aws-sign2": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+            "bl": "https://registry.npmjs.org/bl/-/bl-1.0.3.tgz",
+            "caseless": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
+            "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
+            "extend": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz",
+            "forever-agent": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+            "form-data": "https://registry.npmjs.org/form-data/-/form-data-1.0.1.tgz",
+            "har-validator": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
+            "hawk": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+            "http-signature": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+            "is-typedarray": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+            "isstream": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+            "json-stringify-safe": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+            "mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.13.tgz",
+            "node-uuid": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz",
+            "oauth-sign": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+            "qs": "https://registry.npmjs.org/qs/-/qs-5.2.1.tgz",
+            "stringstream": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
+            "tough-cookie": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz",
+            "tunnel-agent": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz"
+          }
         },
         "request-progress": {
           "version": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz",
-          "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg="
+          "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=",
+          "requires": {
+            "throttleit": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz"
+          }
         },
         "rimraf": {
           "version": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz",
           "integrity": "sha1-loAAk8vxoMhr2VtGJUZ1NcKd+gQ=",
+          "requires": {
+            "glob": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz"
+          },
           "dependencies": {
             "glob": {
               "version": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
-              "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg="
+              "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=",
+              "requires": {
+                "fs.realpath": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+                "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+                "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+                "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+                "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+                "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+              }
             }
           }
         },
         "sntp": {
           "version": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
-          "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg="
+          "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
+          "requires": {
+            "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"
+          }
         },
         "sshpk": {
           "version": "https://registry.npmjs.org/sshpk/-/sshpk-1.10.1.tgz",
           "integrity": "sha1-MOGl0ykkSXShr2FREznVla9mOLA=",
+          "requires": {
+            "asn1": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+            "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+            "bcrypt-pbkdf": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz",
+            "dashdash": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+            "ecc-jsbn": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+            "getpass": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz",
+            "jodid25519": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz",
+            "jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz",
+            "tweetnacl": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"
+          },
           "dependencies": {
             "assert-plus": {
               "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
@@ -3870,7 +6465,10 @@
         },
         "strip-ansi": {
           "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8="
+          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+          "requires": {
+            "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
+          }
         },
         "supports-color": {
           "version": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
@@ -3903,7 +6501,10 @@
         },
         "verror": {
           "version": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz",
-          "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw="
+          "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=",
+          "requires": {
+            "extsprintf": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz"
+          }
         },
         "wrappy": {
           "version": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
@@ -3915,13 +6516,33 @@
         },
         "yauzl": {
           "version": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz",
-          "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU="
+          "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=",
+          "requires": {
+            "fd-slicer": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz"
+          }
         }
       }
     },
     "module-deps": {
       "version": "https://registry.npmjs.org/module-deps/-/module-deps-4.0.8.tgz",
-      "integrity": "sha1-Vf1wYjOZcGwyiL73pgn/HowO0rs="
+      "integrity": "sha1-Vf1wYjOZcGwyiL73pgn/HowO0rs=",
+      "requires": {
+        "browser-resolve": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz",
+        "cached-path-relative": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.0.tgz",
+        "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
+        "defined": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+        "detective": "https://registry.npmjs.org/detective/-/detective-4.3.2.tgz",
+        "duplexer2": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
+        "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+        "JSONStream": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.0.tgz",
+        "parents": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz",
+        "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz",
+        "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.2.0.tgz",
+        "stream-combiner2": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
+        "subarg": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
+        "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+        "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+      }
     },
     "moment": {
       "version": "https://registry.npmjs.org/moment/-/moment-2.17.1.tgz",
@@ -3929,11 +6550,19 @@
     },
     "mothership": {
       "version": "https://registry.npmjs.org/mothership/-/mothership-0.2.0.tgz",
-      "integrity": "sha1-k9SKL7w+UOKl/I7VhvW8RMZfmpk="
+      "integrity": "sha1-k9SKL7w+UOKl/I7VhvW8RMZfmpk=",
+      "requires": {
+        "find-parent-dir": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.0.tgz"
+      }
     },
     "mozjpeg": {
       "version": "https://registry.npmjs.org/mozjpeg/-/mozjpeg-4.1.1.tgz",
-      "integrity": "sha1-hZAwsk9omlPbm0DwFg2JGVuI/VA="
+      "integrity": "sha1-hZAwsk9omlPbm0DwFg2JGVuI/VA=",
+      "requires": {
+        "bin-build": "https://registry.npmjs.org/bin-build/-/bin-build-2.2.0.tgz",
+        "bin-wrapper": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-3.0.2.tgz",
+        "logalot": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz"
+      }
     },
     "ms": {
       "version": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
@@ -3942,10 +6571,16 @@
     "multipipe": {
       "version": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
       "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
+      "requires": {
+        "duplexer2": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz"
+      },
       "dependencies": {
         "duplexer2": {
           "version": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
-          "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds="
+          "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
+          "requires": {
+            "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz"
+          }
         },
         "isarray": {
           "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
@@ -3953,7 +6588,13 @@
         },
         "readable-stream": {
           "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
-          "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk="
+          "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+          "requires": {
+            "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+            "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+            "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+          }
         }
       }
     },
@@ -3968,7 +6609,11 @@
     },
     "node-fetch": {
       "version": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.6.3.tgz",
-      "integrity": "sha1-3CNO3WSJmC1Y6PDbT2lQKavNjAQ="
+      "integrity": "sha1-3CNO3WSJmC1Y6PDbT2lQKavNjAQ=",
+      "requires": {
+        "encoding": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
+        "is-stream": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz"
+      }
     },
     "node-status-codes": {
       "version": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz",
@@ -3976,7 +6621,13 @@
     },
     "normalize-package-data": {
       "version": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz",
-      "integrity": "sha1-jZJPFClg4Xd+f/4XBUNjHMfLAt8="
+      "integrity": "sha1-jZJPFClg4Xd+f/4XBUNjHMfLAt8=",
+      "requires": {
+        "hosted-git-info": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz",
+        "is-builtin-module": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
+        "semver": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
+        "validate-npm-package-license": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz"
+      }
     },
     "normalize-path": {
       "version": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.0.1.tgz",
@@ -3984,7 +6635,10 @@
     },
     "npm-run-path": {
       "version": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
-      "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8="
+      "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+      "requires": {
+        "path-key": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz"
+      }
     },
     "number-is-nan": {
       "version": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
@@ -4000,11 +6654,18 @@
     },
     "object.omit": {
       "version": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
-      "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo="
+      "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
+      "requires": {
+        "for-own": "https://registry.npmjs.org/for-own/-/for-own-0.1.4.tgz",
+        "is-extendable": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz"
+      }
     },
     "once": {
       "version": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
-      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E="
+      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+      "requires": {
+        "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+      }
     },
     "onetime": {
       "version": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
@@ -4012,15 +6673,33 @@
     },
     "optionator": {
       "version": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
-      "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q="
+      "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
+      "requires": {
+        "deep-is": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+        "fast-levenshtein": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.5.tgz",
+        "levn": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+        "prelude-ls": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+        "type-check": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+        "wordwrap": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz"
+      }
     },
     "optipng-bin": {
       "version": "https://registry.npmjs.org/optipng-bin/-/optipng-bin-3.1.2.tgz",
-      "integrity": "sha1-GMWjOI7V1vHm7xmYqwprzIvdDKA="
+      "integrity": "sha1-GMWjOI7V1vHm7xmYqwprzIvdDKA=",
+      "requires": {
+        "bin-build": "https://registry.npmjs.org/bin-build/-/bin-build-2.2.0.tgz",
+        "bin-wrapper": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-3.0.2.tgz",
+        "logalot": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz"
+      }
     },
     "orchestrator": {
       "version": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz",
-      "integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4="
+      "integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=",
+      "requires": {
+        "end-of-stream": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz",
+        "sequencify": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz",
+        "stream-consume": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.0.tgz"
+      }
     },
     "ordered-read-streams": {
       "version": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz",
@@ -4049,7 +6728,10 @@
     },
     "outpipe": {
       "version": "https://registry.npmjs.org/outpipe/-/outpipe-1.1.1.tgz",
-      "integrity": "sha1-UM+GFjZeh+Ax4ppeyTOaPaRyX6I="
+      "integrity": "sha1-UM+GFjZeh+Ax4ppeyTOaPaRyX6I=",
+      "requires": {
+        "shell-quote": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz"
+      }
     },
     "p-finally": {
       "version": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
@@ -4061,23 +6743,47 @@
     },
     "parents": {
       "version": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz",
-      "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E="
+      "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=",
+      "requires": {
+        "path-platform": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz"
+      }
     },
     "parse-asn1": {
       "version": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.0.0.tgz",
-      "integrity": "sha1-NQYPbVAV03Yox3D04JGgtaJ4vCM="
+      "integrity": "sha1-NQYPbVAV03Yox3D04JGgtaJ4vCM=",
+      "requires": {
+        "asn1.js": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.0.tgz",
+        "browserify-aes": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz",
+        "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.2.tgz",
+        "evp_bytestokey": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz",
+        "pbkdf2": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.9.tgz"
+      }
     },
     "parse-filepath": {
       "version": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.1.tgz",
-      "integrity": "sha1-FZ1hVdQ5BNFsEO9piRHaHpGWm3M="
+      "integrity": "sha1-FZ1hVdQ5BNFsEO9piRHaHpGWm3M=",
+      "requires": {
+        "is-absolute": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.2.6.tgz",
+        "map-cache": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+        "path-root": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz"
+      }
     },
     "parse-glob": {
       "version": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
-      "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw="
+      "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
+      "requires": {
+        "glob-base": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
+        "is-dotfile": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.2.tgz",
+        "is-extglob": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+        "is-glob": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz"
+      }
     },
     "parse-json": {
       "version": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
-      "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck="
+      "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+      "requires": {
+        "error-ex": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz"
+      }
     },
     "parse-passwd": {
       "version": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
@@ -4117,7 +6823,10 @@
     },
     "path-root": {
       "version": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
-      "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc="
+      "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
+      "requires": {
+        "path-root-regex": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz"
+      }
     },
     "path-root-regex": {
       "version": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
@@ -4125,11 +6834,19 @@
     },
     "path-type": {
       "version": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
-      "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE="
+      "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+      "requires": {
+        "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+        "pify": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+        "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
+      }
     },
     "pbkdf2": {
       "version": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.9.tgz",
-      "integrity": "sha1-8sSyWmAAWLPDdzwIbDfbvuH/5pM="
+      "integrity": "sha1-8sSyWmAAWLPDdzwIbDfbvuH/5pM=",
+      "requires": {
+        "create-hmac": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.4.tgz"
+      }
     },
     "pend": {
       "version": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
@@ -4138,7 +6855,12 @@
     "phantomic": {
       "version": "https://registry.npmjs.org/phantomic/-/phantomic-1.4.0.tgz",
       "integrity": "sha1-sKm2T3Klqr6M2+fIOHs8/yqx9KA=",
-      "dev": true
+      "dev": true,
+      "requires": {
+        "cross-spawn": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-2.2.3.tgz",
+        "es5-shim": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.5.9.tgz",
+        "source-mapper": "https://registry.npmjs.org/source-mapper/-/source-mapper-2.0.0.tgz"
+      }
     },
     "pify": {
       "version": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
@@ -4150,11 +6872,19 @@
     },
     "pinkie-promise": {
       "version": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
-      "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o="
+      "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+      "requires": {
+        "pinkie": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz"
+      }
     },
     "pngquant-bin": {
       "version": "https://registry.npmjs.org/pngquant-bin/-/pngquant-bin-3.1.1.tgz",
-      "integrity": "sha1-0STZinWpSH9AwWQLTb/Lsr1aH9E="
+      "integrity": "sha1-0STZinWpSH9AwWQLTb/Lsr1aH9E=",
+      "requires": {
+        "bin-build": "https://registry.npmjs.org/bin-build/-/bin-build-2.2.0.tgz",
+        "bin-wrapper": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-3.0.2.tgz",
+        "logalot": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz"
+      }
     },
     "prelude-ls": {
       "version": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
@@ -4186,7 +6916,19 @@
     },
     "promise": {
       "version": "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz",
-      "integrity": "sha1-SJZUxpJha4qlWwck+oCbt9tJxb8="
+      "integrity": "sha1-SJZUxpJha4qlWwck+oCbt9tJxb8=",
+      "requires": {
+        "asap": "https://registry.npmjs.org/asap/-/asap-2.0.5.tgz"
+      }
+    },
+    "prop-types": {
+      "version": "15.5.10",
+      "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz",
+      "integrity": "sha1-J5ffwxJhguOpXj37suiT3ddFYVQ=",
+      "requires": {
+        "fbjs": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.6.tgz",
+        "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.0.tgz"
+      }
     },
     "prr": {
       "version": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz",
@@ -4199,7 +6941,14 @@
     },
     "public-encrypt": {
       "version": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz",
-      "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY="
+      "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=",
+      "requires": {
+        "bn.js": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz",
+        "browserify-rsa": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
+        "create-hash": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.2.tgz",
+        "parse-asn1": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.0.0.tgz",
+        "randombytes": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.3.tgz"
+      }
     },
     "punycode": {
       "version": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
@@ -4211,7 +6960,10 @@
     },
     "query-string": {
       "version": "https://registry.npmjs.org/query-string/-/query-string-3.0.3.tgz",
-      "integrity": "sha1-ri4UtNBQcdTpuetIc8NbDc1C5jg="
+      "integrity": "sha1-ri4UtNBQcdTpuetIc8NbDc1C5jg=",
+      "requires": {
+        "strict-uri-encode": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz"
+      }
     },
     "querystring": {
       "version": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
@@ -4223,7 +6975,11 @@
     },
     "randomatic": {
       "version": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.6.tgz",
-      "integrity": "sha1-EQ3Kv/OX6dz/fAeJzMCkmt8exbs="
+      "integrity": "sha1-EQ3Kv/OX6dz/fAeJzMCkmt8exbs=",
+      "requires": {
+        "is-number": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
+        "kind-of": "https://registry.npmjs.org/kind-of/-/kind-of-3.1.0.tgz"
+      }
     },
     "randombytes": {
       "version": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.3.tgz",
@@ -4232,6 +6988,12 @@
     "rc": {
       "version": "https://registry.npmjs.org/rc/-/rc-1.1.6.tgz",
       "integrity": "sha1-Q2UbdrauU7XIAvEVH6P8OwWZack=",
+      "requires": {
+        "deep-extend": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz",
+        "ini": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
+        "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+        "strip-json-comments": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz"
+      },
       "dependencies": {
         "minimist": {
           "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
@@ -4241,11 +7003,20 @@
     },
     "rcfinder": {
       "version": "https://registry.npmjs.org/rcfinder/-/rcfinder-0.1.9.tgz",
-      "integrity": "sha1-8+gPOH3fmugK4wpBADKWQuroERU="
+      "integrity": "sha1-8+gPOH3fmugK4wpBADKWQuroERU=",
+      "requires": {
+        "lodash.clonedeep": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz"
+      }
     },
     "rcloader": {
       "version": "https://registry.npmjs.org/rcloader/-/rcloader-0.2.2.tgz",
       "integrity": "sha1-WNIpi0YtC5v9ITPSoex0+9cFxxc=",
+      "requires": {
+        "lodash.assign": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
+        "lodash.isobject": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz",
+        "lodash.merge": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.0.tgz",
+        "rcfinder": "https://registry.npmjs.org/rcfinder/-/rcfinder-0.1.9.tgz"
+      },
       "dependencies": {
         "lodash.isobject": {
           "version": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz",
@@ -4255,19 +7026,55 @@
     },
     "react": {
       "version": "https://registry.npmjs.org/react/-/react-15.4.1.tgz",
-      "integrity": "sha1-SY6RhgJnejmDzQ/SBt/nADiaDdY="
+      "integrity": "sha1-SY6RhgJnejmDzQ/SBt/nADiaDdY=",
+      "requires": {
+        "fbjs": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.6.tgz",
+        "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.0.tgz",
+        "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz"
+      }
     },
     "react-addons-test-utils": {
       "version": "https://registry.npmjs.org/react-addons-test-utils/-/react-addons-test-utils-15.4.1.tgz",
       "integrity": "sha1-HkyqsVG/J8zibfX5y3FPT9g1muE="
     },
+    "react-autosuggest": {
+      "version": "9.3.2",
+      "resolved": "https://registry.npmjs.org/react-autosuggest/-/react-autosuggest-9.3.2.tgz",
+      "integrity": "sha512-/wY64zaFVny9OqcRvLwhcJz9SzpYK5qni+7sjrQOPKN1gFKi5cxy+cMOPEE7u5ZfXLj5mDxf+RNxNWM1wo39Xg==",
+      "requires": {
+        "prop-types": "15.5.10",
+        "react-autowhatever": "10.1.0",
+        "shallow-equal": "1.0.0"
+      }
+    },
+    "react-autowhatever": {
+      "version": "10.1.0",
+      "resolved": "https://registry.npmjs.org/react-autowhatever/-/react-autowhatever-10.1.0.tgz",
+      "integrity": "sha512-LMZggoRgcmldAMyABY3Dz/DRiTQViMsQllXtOsDrZeBRwPIfn0RAOySaQMUNyECrHaCB5pm66jgQvkyNSh/BjA==",
+      "requires": {
+        "prop-types": "15.5.10",
+        "react-themeable": "1.1.0",
+        "section-iterator": "2.0.0"
+      }
+    },
     "react-dom": {
       "version": "https://registry.npmjs.org/react-dom/-/react-dom-15.4.1.tgz",
-      "integrity": "sha1-1UyRMmGq7bF63CBBDQKdzBihNEo="
+      "integrity": "sha1-1UyRMmGq7bF63CBBDQKdzBihNEo=",
+      "requires": {
+        "fbjs": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.6.tgz",
+        "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.0.tgz",
+        "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz"
+      }
     },
     "react-redux": {
       "version": "https://registry.npmjs.org/react-redux/-/react-redux-4.4.6.tgz",
       "integrity": "sha1-S50ymFMHoRCWot1hVhmABE/MYgk=",
+      "requires": {
+        "hoist-non-react-statics": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz",
+        "invariant": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz",
+        "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz",
+        "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.0.tgz"
+      },
       "dependencies": {
         "lodash": {
           "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz",
@@ -4278,54 +7085,119 @@
     "react-router": {
       "version": "https://registry.npmjs.org/react-router/-/react-router-2.8.1.tgz",
       "integrity": "sha1-c+lJH2zrMW0Pd5gpCBhj43juTtc=",
+      "requires": {
+        "history": "https://registry.npmjs.org/history/-/history-2.1.2.tgz",
+        "hoist-non-react-statics": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz",
+        "invariant": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz",
+        "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.0.tgz",
+        "warning": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz"
+      },
       "dependencies": {
         "warning": {
           "version": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz",
-          "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w="
+          "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=",
+          "requires": {
+            "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.0.tgz"
+          }
         }
       }
     },
+    "react-themeable": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/react-themeable/-/react-themeable-1.1.0.tgz",
+      "integrity": "sha1-fURm3ZsrX6dQWHJ4JenxUro3mg4=",
+      "requires": {
+        "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz"
+      }
+    },
     "read-all-stream": {
       "version": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz",
-      "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po="
+      "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=",
+      "requires": {
+        "pinkie-promise": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+        "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz"
+      }
     },
     "read-only-stream": {
       "version": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz",
-      "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A="
+      "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=",
+      "requires": {
+        "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz"
+      }
     },
     "read-pkg": {
       "version": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
-      "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg="
+      "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+      "requires": {
+        "load-json-file": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+        "normalize-package-data": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz",
+        "path-type": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz"
+      }
     },
     "read-pkg-up": {
       "version": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
-      "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI="
+      "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+      "requires": {
+        "find-up": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+        "read-pkg": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz"
+      }
     },
     "readable-stream": {
       "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz",
-      "integrity": "sha1-qeb+w8fdqF+LsbO6cChgRVb8gl4="
+      "integrity": "sha1-qeb+w8fdqF+LsbO6cChgRVb8gl4=",
+      "requires": {
+        "buffer-shims": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
+        "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+        "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+        "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+        "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+        "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+        "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+      }
     },
     "readdirp": {
       "version": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
       "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
+      "requires": {
+        "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+        "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+        "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz",
+        "set-immediate-shim": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz"
+      },
       "dependencies": {
         "minimatch": {
           "version": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
-          "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q="
+          "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=",
+          "requires": {
+            "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz"
+          }
         }
       }
     },
     "rechoir": {
       "version": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
-      "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q="
+      "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
+      "requires": {
+        "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.2.0.tgz"
+      }
     },
     "redent": {
       "version": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
-      "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94="
+      "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
+      "requires": {
+        "indent-string": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
+        "strip-indent": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz"
+      }
     },
     "redux": {
       "version": "https://registry.npmjs.org/redux/-/redux-3.6.0.tgz",
       "integrity": "sha1-iHwrPQub2G7KK+cFccJ2VMGeGI0=",
+      "requires": {
+        "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz",
+        "lodash-es": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.2.tgz",
+        "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.0.tgz",
+        "symbol-observable": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz"
+      },
       "dependencies": {
         "lodash": {
           "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz",
@@ -4348,20 +7220,38 @@
     "regenerator-transform": {
       "version": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.9.8.tgz",
       "integrity": "sha1-D4i7K8A5Mt23trcxLmgHjwECbWw=",
+      "requires": {
+        "babel-runtime": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+        "babel-types": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz",
+        "private": "https://registry.npmjs.org/private/-/private-0.1.6.tgz"
+      },
       "dependencies": {
         "babel-runtime": {
           "version": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
-          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8="
+          "integrity": "sha1-hzAL3PTNdw8JvwBIxkIE4XgG0W8=",
+          "requires": {
+            "core-js": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+            "regenerator-runtime": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz"
+          }
         }
       }
     },
     "regex-cache": {
       "version": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz",
-      "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU="
+      "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=",
+      "requires": {
+        "is-equal-shallow": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
+        "is-primitive": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz"
+      }
     },
     "regexpu-core": {
       "version": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
-      "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA="
+      "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
+      "requires": {
+        "regenerate": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.2.tgz",
+        "regjsgen": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
+        "regjsparser": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz"
+      }
     },
     "regjsgen": {
       "version": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
@@ -4370,6 +7260,9 @@
     "regjsparser": {
       "version": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
       "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
+      "requires": {
+        "jsesc": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz"
+      },
       "dependencies": {
         "jsesc": {
           "version": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
@@ -4380,14 +7273,27 @@
     "rename-function-calls": {
       "version": "https://registry.npmjs.org/rename-function-calls/-/rename-function-calls-0.1.1.tgz",
       "integrity": "sha1-f4M2nAB6MAf2q+MDPM+BaGoQjgE=",
+      "requires": {
+        "detective": "https://registry.npmjs.org/detective/-/detective-3.1.0.tgz"
+      },
       "dependencies": {
         "detective": {
           "version": "https://registry.npmjs.org/detective/-/detective-3.1.0.tgz",
-          "integrity": "sha1-d3gkRKt1K4jKG+Lp0KA5Xx2iXu0="
+          "integrity": "sha1-d3gkRKt1K4jKG+Lp0KA5Xx2iXu0=",
+          "requires": {
+            "escodegen": "https://registry.npmjs.org/escodegen/-/escodegen-1.1.0.tgz",
+            "esprima-fb": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz"
+          }
         },
         "escodegen": {
           "version": "https://registry.npmjs.org/escodegen/-/escodegen-1.1.0.tgz",
           "integrity": "sha1-xmOSP24gqtSNDA+knzHG1PSTYM8=",
+          "requires": {
+            "esprima": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz",
+            "estraverse": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz",
+            "esutils": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz",
+            "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz"
+          },
           "dependencies": {
             "esprima": {
               "version": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz",
@@ -4410,7 +7316,10 @@
         "source-map": {
           "version": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
           "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
-          "optional": true
+          "optional": true,
+          "requires": {
+            "amdefine": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz"
+          }
         }
       }
     },
@@ -4424,7 +7333,10 @@
     },
     "repeating": {
       "version": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
-      "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo="
+      "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+      "requires": {
+        "is-finite": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz"
+      }
     },
     "replace-ext": {
       "version": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
@@ -4433,14 +7345,28 @@
     "replace-requires": {
       "version": "https://registry.npmjs.org/replace-requires/-/replace-requires-1.0.3.tgz",
       "integrity": "sha1-c+hd8FurVi/oTfRdl9eMD6E6cEE=",
+      "requires": {
+        "detective": "https://registry.npmjs.org/detective/-/detective-4.1.1.tgz",
+        "has-require": "https://registry.npmjs.org/has-require/-/has-require-1.2.2.tgz",
+        "patch-text": "https://registry.npmjs.org/patch-text/-/patch-text-1.0.2.tgz",
+        "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+      },
       "dependencies": {
         "detective": {
           "version": "https://registry.npmjs.org/detective/-/detective-4.1.1.tgz",
-          "integrity": "sha1-nEusHp+4uzT38YyuCA6h0Dr/LNo="
+          "integrity": "sha1-nEusHp+4uzT38YyuCA6h0Dr/LNo=",
+          "requires": {
+            "acorn": "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz",
+            "defined": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+            "escodegen": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz"
+          }
         },
         "has-require": {
           "version": "https://registry.npmjs.org/has-require/-/has-require-1.2.2.tgz",
-          "integrity": "sha1-khZ1qxMNvZdo/I2o8ajiQt+kF3Q="
+          "integrity": "sha1-khZ1qxMNvZdo/I2o8ajiQt+kF3Q=",
+          "requires": {
+            "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
+          }
         }
       }
     },
@@ -4450,7 +7376,11 @@
     },
     "resolve-dir": {
       "version": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz",
-      "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4="
+      "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=",
+      "requires": {
+        "expand-tilde": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz",
+        "global-modules": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz"
+      }
     },
     "resolve-url": {
       "version": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
@@ -4458,11 +7388,17 @@
     },
     "right-align": {
       "version": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
-      "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8="
+      "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+      "requires": {
+        "align-text": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz"
+      }
     },
     "rimraf": {
       "version": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz",
-      "integrity": "sha1-loAAk8vxoMhr2VtGJUZ1NcKd+gQ="
+      "integrity": "sha1-loAAk8vxoMhr2VtGJUZ1NcKd+gQ=",
+      "requires": {
+        "glob": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz"
+      }
     },
     "ripemd160": {
       "version": "https://registry.npmjs.org/ripemd160/-/ripemd160-1.0.1.tgz",
@@ -4471,15 +7407,26 @@
     "saucelabs": {
       "version": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.3.0.tgz",
       "integrity": "sha1-0kDoAJ33+ocwbsRXimm6O1xCT+4=",
-      "dev": true
+      "dev": true,
+      "requires": {
+        "https-proxy-agent": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz"
+      }
     },
     "sax": {
       "version": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz",
       "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o="
     },
+    "section-iterator": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/section-iterator/-/section-iterator-2.0.0.tgz",
+      "integrity": "sha1-v0RNev7rlK1Dw5rS+yYVFifMuio="
+    },
     "seek-bzip": {
       "version": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz",
-      "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w="
+      "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=",
+      "requires": {
+        "commander": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz"
+      }
     },
     "semver": {
       "version": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
@@ -4492,6 +7439,9 @@
     "semver-truncate": {
       "version": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz",
       "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=",
+      "requires": {
+        "semver": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz"
+      },
       "dependencies": {
         "semver": {
           "version": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
@@ -4509,11 +7459,23 @@
     },
     "sha.js": {
       "version": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.8.tgz",
-      "integrity": "sha1-NwaMLEdra69ALRSknGf1l5IfY08="
+      "integrity": "sha1-NwaMLEdra69ALRSknGf1l5IfY08=",
+      "requires": {
+        "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
+      }
+    },
+    "shallow-equal": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.0.0.tgz",
+      "integrity": "sha1-UI0YOLPeWQq4dXsBGyXkMJAJRfc="
     },
     "shasum": {
       "version": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz",
-      "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8="
+      "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=",
+      "requires": {
+        "json-stable-stringify": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz",
+        "sha.js": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.8.tgz"
+      }
     },
     "shebang-regex": {
       "version": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
@@ -4521,7 +7483,13 @@
     },
     "shell-quote": {
       "version": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz",
-      "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c="
+      "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=",
+      "requires": {
+        "array-filter": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz",
+        "array-map": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz",
+        "array-reduce": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz",
+        "jsonify": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"
+      }
     },
     "shelljs": {
       "version": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz",
@@ -4546,11 +7514,20 @@
     },
     "source-map-resolve": {
       "version": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.3.1.tgz",
-      "integrity": "sha1-YQ9hIqRFuN1RU1oqcbeD38Ekh2E="
+      "integrity": "sha1-YQ9hIqRFuN1RU1oqcbeD38Ekh2E=",
+      "requires": {
+        "atob": "https://registry.npmjs.org/atob/-/atob-1.1.3.tgz",
+        "resolve-url": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+        "source-map-url": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.3.0.tgz",
+        "urix": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz"
+      }
     },
     "source-map-support": {
       "version": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.6.tgz",
-      "integrity": "sha1-MlUqpktFg5KoXqs7C17mFScWeus="
+      "integrity": "sha1-MlUqpktFg5KoXqs7C17mFScWeus=",
+      "requires": {
+        "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz"
+      }
     },
     "source-map-url": {
       "version": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.3.0.tgz",
@@ -4559,7 +7536,12 @@
     "source-mapper": {
       "version": "https://registry.npmjs.org/source-mapper/-/source-mapper-2.0.0.tgz",
       "integrity": "sha1-Z8pIx5R1gS2HRiqnqqey9e0NNOo=",
-      "dev": true
+      "dev": true,
+      "requires": {
+        "convert-source-map": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.3.0.tgz",
+        "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+        "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
+      }
     },
     "sparkles": {
       "version": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz",
@@ -4568,11 +7550,18 @@
     "spawn-sync": {
       "version": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz",
       "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=",
-      "dev": true
+      "dev": true,
+      "requires": {
+        "concat-stream": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
+        "os-shim": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz"
+      }
     },
     "spdx-correct": {
       "version": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz",
-      "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A="
+      "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=",
+      "requires": {
+        "spdx-license-ids": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz"
+      }
     },
     "spdx-expression-parse": {
       "version": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz",
@@ -4586,6 +7575,9 @@
       "version": "https://registry.npmjs.org/split2/-/split2-0.2.1.tgz",
       "integrity": "sha1-At2smtwD7Au3jBKC7Aecpuha6QA=",
       "dev": true,
+      "requires": {
+        "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz"
+      },
       "dependencies": {
         "isarray": {
           "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
@@ -4595,12 +7587,22 @@
         "readable-stream": {
           "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
           "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
-          "dev": true
+          "dev": true,
+          "requires": {
+            "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+            "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+            "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+          }
         },
         "through2": {
           "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
           "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
-          "dev": true
+          "dev": true,
+          "requires": {
+            "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+            "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+          }
         }
       }
     },
@@ -4610,7 +7612,12 @@
     },
     "squeak": {
       "version": "https://registry.npmjs.org/squeak/-/squeak-1.3.0.tgz",
-      "integrity": "sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM="
+      "integrity": "sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM=",
+      "requires": {
+        "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+        "console-stream": "https://registry.npmjs.org/console-stream/-/console-stream-0.1.1.tgz",
+        "lpad-align": "https://registry.npmjs.org/lpad-align/-/lpad-align-1.1.0.tgz"
+      }
     },
     "stat-mode": {
       "version": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz",
@@ -4618,11 +7625,19 @@
     },
     "stream-browserify": {
       "version": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
-      "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds="
+      "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
+      "requires": {
+        "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+        "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz"
+      }
     },
     "stream-combiner2": {
       "version": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
-      "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4="
+      "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=",
+      "requires": {
+        "duplexer2": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
+        "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz"
+      }
     },
     "stream-consume": {
       "version": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.0.tgz",
@@ -4630,7 +7645,14 @@
     },
     "stream-http": {
       "version": "https://registry.npmjs.org/stream-http/-/stream-http-2.5.0.tgz",
-      "integrity": "sha1-WF7uUTIX7Zj+GZgX5zE7b3cqaAI="
+      "integrity": "sha1-WF7uUTIX7Zj+GZgX5zE7b3cqaAI=",
+      "requires": {
+        "builtin-status-codes": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-2.0.0.tgz",
+        "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+        "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz",
+        "to-arraybuffer": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
+        "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+      }
     },
     "stream-shift": {
       "version": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
@@ -4638,7 +7660,11 @@
     },
     "stream-splicer": {
       "version": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.0.tgz",
-      "integrity": "sha1-G2O+Q4oTPktnHMGTUZdgAXWRDYM="
+      "integrity": "sha1-G2O+Q4oTPktnHMGTUZdgAXWRDYM=",
+      "requires": {
+        "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+        "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz"
+      }
     },
     "strict-uri-encode": {
       "version": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
@@ -4650,23 +7676,44 @@
     },
     "strip-ansi": {
       "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-      "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8="
+      "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+      "requires": {
+        "ansi-regex": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
+      }
     },
     "strip-bom": {
       "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
-      "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4="
+      "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+      "requires": {
+        "is-utf8": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
+      }
     },
     "strip-bom-stream": {
       "version": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz",
-      "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4="
+      "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=",
+      "requires": {
+        "first-chunk-stream": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
+        "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz"
+      }
     },
     "strip-dirs": {
       "version": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz",
       "integrity": "sha1-lgu9EoeETzl1pFWKoQOoJV4kVqA=",
+      "requires": {
+        "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+        "get-stdin": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+        "is-absolute": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz",
+        "is-natural-number": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-2.1.1.tgz",
+        "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+        "sum-up": "https://registry.npmjs.org/sum-up/-/sum-up-1.0.3.tgz"
+      },
       "dependencies": {
         "is-absolute": {
           "version": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz",
-          "integrity": "sha1-hHSREZ/MtftDYhfMc39/qtUPYD8="
+          "integrity": "sha1-hHSREZ/MtftDYhfMc39/qtUPYD8=",
+          "requires": {
+            "is-relative": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz"
+          }
         },
         "is-relative": {
           "version": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz",
@@ -4684,7 +7731,10 @@
     },
     "strip-indent": {
       "version": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
-      "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI="
+      "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
+      "requires": {
+        "get-stdin": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz"
+      }
     },
     "strip-json-comments": {
       "version": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz",
@@ -4692,11 +7742,17 @@
     },
     "strip-outer": {
       "version": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.0.tgz",
-      "integrity": "sha1-qsC6YNLpDF1PJ1/Yhp/ZotMQ/7g="
+      "integrity": "sha1-qsC6YNLpDF1PJ1/Yhp/ZotMQ/7g=",
+      "requires": {
+        "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
+      }
     },
     "subarg": {
       "version": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
       "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=",
+      "requires": {
+        "minimist": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz"
+      },
       "dependencies": {
         "minimist": {
           "version": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
@@ -4706,7 +7762,10 @@
     },
     "sum-up": {
       "version": "https://registry.npmjs.org/sum-up/-/sum-up-1.0.3.tgz",
-      "integrity": "sha1-HGYfZnBX9jvLeHWqFDi8FiUlFW4="
+      "integrity": "sha1-HGYfZnBX9jvLeHWqFDi8FiUlFW4=",
+      "requires": {
+        "chalk": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz"
+      }
     },
     "supports-color": {
       "version": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
@@ -4714,7 +7773,16 @@
     },
     "svgo": {
       "version": "https://registry.npmjs.org/svgo/-/svgo-0.7.1.tgz",
-      "integrity": "sha1-KHMg/tlyywl+csK7FoX5b+CPgDQ="
+      "integrity": "sha1-KHMg/tlyywl+csK7FoX5b+CPgDQ=",
+      "requires": {
+        "coa": "https://registry.npmjs.org/coa/-/coa-1.0.1.tgz",
+        "colors": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
+        "csso": "https://registry.npmjs.org/csso/-/csso-2.2.1.tgz",
+        "js-yaml": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz",
+        "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+        "sax": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz",
+        "whet.extend": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz"
+      }
     },
     "symbol-observable": {
       "version": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz",
@@ -4723,6 +7791,9 @@
     "syntax-error": {
       "version": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.1.6.tgz",
       "integrity": "sha1-tFSXBtOGzBwdx8JCPxhXm2yt5xA=",
+      "requires": {
+        "acorn": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz"
+      },
       "dependencies": {
         "acorn": {
           "version": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz",
@@ -4733,30 +7804,57 @@
     "tar-stream": {
       "version": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.2.tgz",
       "integrity": "sha1-+8bG6DwaGdTLSMfZYXH8JI7/x78=",
+      "requires": {
+        "bl": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz",
+        "end-of-stream": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz",
+        "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz",
+        "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+      },
       "dependencies": {
         "bl": {
           "version": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz",
           "integrity": "sha1-/cqHGplxOqANGeO7ukHER4emU5g=",
+          "requires": {
+            "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz"
+          },
           "dependencies": {
             "readable-stream": {
               "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
-              "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44="
+              "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
+              "requires": {
+                "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+                "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+                "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+                "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+                "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+                "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+              }
             }
           }
         },
         "end-of-stream": {
           "version": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz",
-          "integrity": "sha1-6TUyWLqpEIll78QcsO+K3i88+wc="
+          "integrity": "sha1-6TUyWLqpEIll78QcsO+K3i88+wc=",
+          "requires": {
+            "once": "https://registry.npmjs.org/once/-/once-1.3.3.tgz"
+          }
         },
         "once": {
           "version": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
-          "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA="
+          "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=",
+          "requires": {
+            "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+          }
         }
       }
     },
     "tempfile": {
       "version": "https://registry.npmjs.org/tempfile/-/tempfile-1.1.1.tgz",
-      "integrity": "sha1-W8xOrsxKsscH2LwR2ZzMmiyyh/I="
+      "integrity": "sha1-W8xOrsxKsscH2LwR2ZzMmiyyh/I=",
+      "requires": {
+        "os-tmpdir": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+        "uuid": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz"
+      }
     },
     "ternary": {
       "version": "https://registry.npmjs.org/ternary/-/ternary-1.0.0.tgz",
@@ -4768,19 +7866,33 @@
     },
     "through2": {
       "version": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
-      "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4="
+      "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+      "requires": {
+        "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz",
+        "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+      }
     },
     "through2-concurrent": {
       "version": "https://registry.npmjs.org/through2-concurrent/-/through2-concurrent-1.1.1.tgz",
-      "integrity": "sha1-EctOpMnjG8puTB5tukjRxyjDUks="
+      "integrity": "sha1-EctOpMnjG8puTB5tukjRxyjDUks=",
+      "requires": {
+        "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz"
+      }
     },
     "through2-filter": {
       "version": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz",
-      "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw="
+      "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=",
+      "requires": {
+        "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+        "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+      }
     },
     "tildify": {
       "version": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz",
-      "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo="
+      "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=",
+      "requires": {
+        "os-homedir": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz"
+      }
     },
     "time-stamp": {
       "version": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.0.1.tgz",
@@ -4792,11 +7904,17 @@
     },
     "timers-browserify": {
       "version": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz",
-      "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0="
+      "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=",
+      "requires": {
+        "process": "https://registry.npmjs.org/process/-/process-0.11.9.tgz"
+      }
     },
     "to-absolute-glob": {
       "version": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz",
-      "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38="
+      "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=",
+      "requires": {
+        "extend-shallow": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz"
+      }
     },
     "to-arraybuffer": {
       "version": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
@@ -4814,6 +7932,9 @@
     "transformify": {
       "version": "https://registry.npmjs.org/transformify/-/transformify-0.1.2.tgz",
       "integrity": "sha1-mk9CoVRDPdcnuAV1Qoo8nlSJ6/E=",
+      "requires": {
+        "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz"
+      },
       "dependencies": {
         "isarray": {
           "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
@@ -4821,7 +7942,13 @@
         },
         "readable-stream": {
           "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
-          "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk="
+          "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+          "requires": {
+            "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+            "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+            "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+          }
         }
       }
     },
@@ -4831,7 +7958,10 @@
     },
     "trim-repeated": {
       "version": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz",
-      "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE="
+      "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=",
+      "requires": {
+        "escape-string-regexp": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
+      }
     },
     "tty-browserify": {
       "version": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
@@ -4843,7 +7973,10 @@
     },
     "type-check": {
       "version": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
-      "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I="
+      "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+      "requires": {
+        "prelude-ls": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz"
+      }
     },
     "typedarray": {
       "version": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
@@ -4855,7 +7988,13 @@
     },
     "uglify-js": {
       "version": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz",
-      "integrity": "sha1-RhLAx7qu4rp8SH3kkErhIgefLKg="
+      "integrity": "sha1-RhLAx7qu4rp8SH3kkErhIgefLKg=",
+      "requires": {
+        "async": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
+        "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+        "uglify-to-browserify": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
+        "yargs": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz"
+      }
     },
     "uglify-save-license": {
       "version": "https://registry.npmjs.org/uglify-save-license/-/uglify-save-license-0.4.1.tgz",
@@ -4888,6 +8027,10 @@
     "url": {
       "version": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
       "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+      "requires": {
+        "punycode": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+        "querystring": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz"
+      },
       "dependencies": {
         "punycode": {
           "version": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
@@ -4897,11 +8040,17 @@
     },
     "url-parse-lax": {
       "version": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz",
-      "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM="
+      "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=",
+      "requires": {
+        "prepend-http": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz"
+      }
     },
     "url-regex": {
       "version": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz",
-      "integrity": "sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ="
+      "integrity": "sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=",
+      "requires": {
+        "ip-regex": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz"
+      }
     },
     "user-home": {
       "version": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz",
@@ -4910,6 +8059,9 @@
     "util": {
       "version": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
       "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+      "requires": {
+        "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
+      },
       "dependencies": {
         "inherits": {
           "version": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
@@ -4927,7 +8079,10 @@
     },
     "v8flags": {
       "version": "https://registry.npmjs.org/v8flags/-/v8flags-2.0.11.tgz",
-      "integrity": "sha1-vKjzDw1tYGEswsAGQeaWLUKuaIE="
+      "integrity": "sha1-vKjzDw1tYGEswsAGQeaWLUKuaIE=",
+      "requires": {
+        "user-home": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz"
+      }
     },
     "vali-date": {
       "version": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz",
@@ -4935,19 +8090,36 @@
     },
     "validate-npm-package-license": {
       "version": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz",
-      "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w="
+      "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=",
+      "requires": {
+        "spdx-correct": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz",
+        "spdx-expression-parse": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz"
+      }
     },
     "vinyl": {
       "version": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
-      "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4="
+      "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
+      "requires": {
+        "clone": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz",
+        "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+        "replace-ext": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz"
+      }
     },
     "vinyl-assign": {
       "version": "https://registry.npmjs.org/vinyl-assign/-/vinyl-assign-1.2.1.tgz",
-      "integrity": "sha1-TRmIkbVRWRHXcajNnFSApGoHSkU="
+      "integrity": "sha1-TRmIkbVRWRHXcajNnFSApGoHSkU=",
+      "requires": {
+        "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
+        "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz"
+      }
     },
     "vinyl-buffer": {
       "version": "https://registry.npmjs.org/vinyl-buffer/-/vinyl-buffer-1.0.0.tgz",
       "integrity": "sha1-ygZ+oIQx1QdyKx3lCD9gJhbrwjQ=",
+      "requires": {
+        "bl": "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz",
+        "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz"
+      },
       "dependencies": {
         "isarray": {
           "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
@@ -4955,21 +8127,44 @@
         },
         "readable-stream": {
           "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
-          "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw="
+          "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+          "requires": {
+            "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+            "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+            "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+          }
         },
         "through2": {
           "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
-          "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg="
+          "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+          "requires": {
+            "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+            "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+          }
         }
       }
     },
     "vinyl-bufferstream": {
       "version": "https://registry.npmjs.org/vinyl-bufferstream/-/vinyl-bufferstream-1.0.1.tgz",
-      "integrity": "sha1-BTeGn1gO/6TKRay0dXnkuf5jCBo="
+      "integrity": "sha1-BTeGn1gO/6TKRay0dXnkuf5jCBo=",
+      "requires": {
+        "bufferstreams": "https://registry.npmjs.org/bufferstreams/-/bufferstreams-1.0.1.tgz"
+      }
     },
     "vinyl-fs": {
       "version": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz",
       "integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=",
+      "requires": {
+        "defaults": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
+        "glob-stream": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz",
+        "glob-watcher": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz",
+        "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
+        "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+        "strip-bom": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz",
+        "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+        "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz"
+      },
       "dependencies": {
         "clone": {
           "version": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
@@ -4977,7 +8172,10 @@
         },
         "graceful-fs": {
           "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
-          "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg="
+          "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=",
+          "requires": {
+            "natives": "https://registry.npmjs.org/natives/-/natives-1.1.0.tgz"
+          }
         },
         "isarray": {
           "version": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
@@ -4985,25 +8183,47 @@
         },
         "readable-stream": {
           "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
-          "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw="
+          "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+          "requires": {
+            "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+            "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+            "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+          }
         },
         "strip-bom": {
           "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz",
-          "integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q="
+          "integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=",
+          "requires": {
+            "first-chunk-stream": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
+            "is-utf8": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz"
+          }
         },
         "through2": {
           "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
-          "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg="
+          "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+          "requires": {
+            "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+            "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+          }
         },
         "vinyl": {
           "version": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
-          "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc="
+          "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
+          "requires": {
+            "clone": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
+            "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz"
+          }
         }
       }
     },
     "vinyl-source-stream": {
       "version": "https://registry.npmjs.org/vinyl-source-stream/-/vinyl-source-stream-1.1.0.tgz",
       "integrity": "sha1-RMvlEIIFJ53rDFZTwJSiiHk4sas=",
+      "requires": {
+        "through2": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
+        "vinyl": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz"
+      },
       "dependencies": {
         "clone": {
           "version": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
@@ -5015,37 +8235,72 @@
         },
         "readable-stream": {
           "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
-          "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw="
+          "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+          "requires": {
+            "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+            "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+            "isarray": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+            "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+          }
         },
         "through2": {
           "version": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
-          "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg="
+          "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+          "requires": {
+            "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+            "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+          }
         },
         "vinyl": {
           "version": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
-          "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc="
+          "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
+          "requires": {
+            "clone": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
+            "clone-stats": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz"
+          }
         }
       }
     },
     "vinyl-sourcemaps-apply": {
       "version": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz",
-      "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU="
+      "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=",
+      "requires": {
+        "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz"
+      }
     },
     "vm-browserify": {
       "version": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
-      "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM="
+      "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
+      "requires": {
+        "indexof": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz"
+      }
     },
     "ware": {
       "version": "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz",
-      "integrity": "sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q="
+      "integrity": "sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q=",
+      "requires": {
+        "wrap-fn": "https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz"
+      }
     },
     "warning": {
       "version": "https://registry.npmjs.org/warning/-/warning-2.1.0.tgz",
-      "integrity": "sha1-ISINnGOvx3qMkhEeARr3Bc4MaQE="
+      "integrity": "sha1-ISINnGOvx3qMkhEeARr3Bc4MaQE=",
+      "requires": {
+        "loose-envify": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.0.tgz"
+      }
     },
     "watchify": {
       "version": "https://registry.npmjs.org/watchify/-/watchify-3.8.0.tgz",
-      "integrity": "sha1-pcrMNRfKHmN9ewr3RTdcr7WX1rs="
+      "integrity": "sha1-pcrMNRfKHmN9ewr3RTdcr7WX1rs=",
+      "requires": {
+        "anymatch": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz",
+        "browserify": "https://registry.npmjs.org/browserify/-/browserify-13.1.1.tgz",
+        "chokidar": "https://registry.npmjs.org/chokidar/-/chokidar-1.6.1.tgz",
+        "defined": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+        "outpipe": "https://registry.npmjs.org/outpipe/-/outpipe-1.1.1.tgz",
+        "through2": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
+        "xtend": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
+      }
     },
     "waypoints": {
       "version": "https://registry.npmjs.org/waypoints/-/waypoints-4.0.1.tgz",
@@ -5065,7 +8320,10 @@
     },
     "which": {
       "version": "https://registry.npmjs.org/which/-/which-1.2.12.tgz",
-      "integrity": "sha1-3me15FAmnxlJCe8j7OTr5Bb6EZI="
+      "integrity": "sha1-3me15FAmnxlJCe8j7OTr5Bb6EZI=",
+      "requires": {
+        "isexe": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz"
+      }
     },
     "window-size": {
       "version": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
@@ -5077,7 +8335,10 @@
     },
     "wrap-fn": {
       "version": "https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz",
-      "integrity": "sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU="
+      "integrity": "sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU=",
+      "requires": {
+        "co": "https://registry.npmjs.org/co/-/co-3.1.0.tgz"
+      }
     },
     "wrappy": {
       "version": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
@@ -5094,6 +8355,12 @@
     "yargs": {
       "version": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
       "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+      "requires": {
+        "camelcase": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+        "cliui": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
+        "decamelize": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+        "window-size": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz"
+      },
       "dependencies": {
         "camelcase": {
           "version": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
@@ -5103,11 +8370,20 @@
     },
     "yauzl": {
       "version": "https://registry.npmjs.org/yauzl/-/yauzl-2.7.0.tgz",
-      "integrity": "sha1-4h2EeGi0lvwp6uwj7of90z6bK84="
+      "integrity": "sha1-4h2EeGi0lvwp6uwj7of90z6bK84=",
+      "requires": {
+        "buffer-crc32": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+        "fd-slicer": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz"
+      }
     },
     "zopflipng-bin": {
       "version": "https://registry.npmjs.org/zopflipng-bin/-/zopflipng-bin-3.0.1.tgz",
-      "integrity": "sha1-mIIDgQ/RUuTtdfRHa+DN8qrbp1g="
+      "integrity": "sha1-mIIDgQ/RUuTtdfRHa+DN8qrbp1g=",
+      "requires": {
+        "bin-build": "https://registry.npmjs.org/bin-build/-/bin-build-2.2.0.tgz",
+        "bin-wrapper": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-3.0.2.tgz",
+        "logalot": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz"
+      }
     },
     "zxcvbn": {
       "version": "https://registry.npmjs.org/zxcvbn/-/zxcvbn-4.4.1.tgz",

+ 1 - 0
frontend/package.json

@@ -58,6 +58,7 @@
     "moment": "^2.10.6",
     "react": "^15.0.0",
     "react-addons-test-utils": "^15.0.0",
+    "react-autosuggest": "^9.3.2",
     "react-dom": "^15.0.1",
     "react-redux": "^4.4.5",
     "react-router": "^2.2.4",

+ 3 - 3
frontend/src/components/profile/header.js

@@ -202,7 +202,7 @@ export default class extends React.Component {
                     <div className={"col-sm-" + colsWidth}>
 
                       <div className="row xs-margin-top sm-margin-top">
-                        {canMessage && (
+                        {!!canMessage && (
                         <div className={getColStyle(cols, 0)}>
                           <MessageButton
                             className="btn btn-default btn-block btn-outline"
@@ -211,12 +211,12 @@ export default class extends React.Component {
                           />
                         </div>
                         )}
-                        {canFollow && (
+                        {!!canFollow && (
                           <div className={getColStyle(cols, 1)}>
                             {this.getFollowButton()}
                           </div>
                         )}
-                        {canModerate && (
+                        {!!canModerate && (
                           <div className={getColStyle(cols, 2)}>
                             {this.getModerationButton()}
                           </div>

+ 34 - 30
frontend/src/components/user-menu/user-nav.js

@@ -79,13 +79,15 @@ export class UserMenu extends React.Component {
             {gettext("Change avatar")}
           </button>
         </li>
-        <li>
-          <a href={misago.get('PRIVATE_THREADS_URL')}>
-            <span className="material-icon">message</span>
-            {gettext("Private threads")}
-            <PrivateThreadsBadge user={user} />
-          </a>
-        </li>
+        {!!user.acl.can_use_private_threads && (
+          <li>
+            <a href={misago.get('PRIVATE_THREADS_URL')}>
+              <span className="material-icon">message</span>
+              {gettext("Private threads")}
+              <PrivateThreadsBadge user={user} />
+            </a>
+          </li>
+        )}
         <li className="divider" />
         <li className="dropdown-buttons">
           <button
@@ -117,29 +119,29 @@ export function PrivateThreadsBadge({ user }) {
 
 /* jshint ignore:start */
 export function UserNav({ user }) {
-    return (
-      <ul className="ul nav navbar-nav nav-user">
-        <UserPrivateThreadsLink user={user} />
-        <li className="dropdown">
-          <a
-            aria-haspopup="true"
-            aria-expanded="false"
-            className="dropdown-toggle"
-            data-toggle="dropdown"
-            href={user.url}
-            role="button"
-          >
-            <Avatar user={user} size="64" />
-          </a>
-          <UserMenu user={user} />
-        </li>
-      </ul>
-    );
+  return (
+    <ul className="ul nav navbar-nav nav-user">
+      <UserPrivateThreadsLink user={user} />
+      <li className="dropdown">
+        <a
+          aria-haspopup="true"
+          aria-expanded="false"
+          className="dropdown-toggle"
+          data-toggle="dropdown"
+          href={user.url}
+          role="button"
+        >
+          <Avatar user={user} size="64" />
+        </a>
+        <UserMenu user={user} />
+      </li>
+    </ul>
+  );
 }
 /* jshint ignore:end */
 
-export function UserPrivateThreadsLink(props) {
-  if (!props.user.unread_private_threads) return null;
+export function UserPrivateThreadsLink({ user }) {
+  if (!user.acl.can_use_private_threads) return null;
 
   /* jshint ignore:start */
   return (
@@ -151,9 +153,11 @@ export function UserPrivateThreadsLink(props) {
         <span className="material-icon">
           message
         </span>
-        <span className="badge">
-          {props.user.unread_private_threads}
-        </span>
+        {user.unread_private_threads > 0 && (
+          <span className="badge">
+            {user.unread_private_threads}
+          </span>
+        )}
       </a>
     </li>
   );

+ 1 - 0
misago/project_template/project_name/settings.py

@@ -265,6 +265,7 @@ TEMPLATES = [
                 'misago.markup.context_processors.preload_api_url',
                 'misago.threads.context_processors.preload_threads_urls',
                 'misago.users.context_processors.preload_user_json',
+                'misago.search.context_processors.search_providers',
 
                 # Note: keep frontend_context processor last for previous processors
                 # to be able to expose data UI app via request.frontend_context

+ 0 - 14
misago/search/views.py

@@ -29,18 +29,4 @@ def search(request, search_provider):
     else:
         raise Http404()
 
-    request.frontend_context['SEARCH_API'] = reverse('misago:api:search')
-    request.frontend_context['SEARCH_PROVIDERS'] = []
-
-    for provider in searchproviders.get_allowed_providers(request):
-        request.frontend_context['SEARCH_PROVIDERS'].append({
-            'id': provider.url,
-            'name': six.text_type(provider.name),
-            'icon': provider.icon,
-            'url': reverse('misago:search', kwargs={'search_provider': provider.url}),
-            'api': reverse('misago:api:search', kwargs={'search_provider': provider.url}),
-            'results': None,
-            'time': None,
-        })
-
     return render(request, 'misago/search.html')

+ 7 - 7
misago/static/misago/js/misago.js

@@ -8,17 +8,17 @@ function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).cal
 isLoading:!0})}},{key:"handleError",value:function(e){if(400===e.status){var t=[].concat(e.non_field_errors||[],e.to||[],e.title||[],e.post||[]);P["default"].error(t[0])}else P["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement(b["default"],{className:"posting-form",withFirstRow:!0},c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"row first-row"},c["default"].createElement("div",{className:"col-xs-12"},c["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,onChange:this.onToChange,placeholder:gettext("Comma separated list of user names, eg.: Danny, Lisa"),type:"text",value:this.state.to}))),c["default"].createElement("div",{className:"row first-row"},c["default"].createElement("div",{className:"col-xs-12"},c["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,onChange:this.onTitleChange,placeholder:gettext("Thread title"),type:"text",value:this.state.title}))),c["default"].createElement("div",{className:"row"},c["default"].createElement("div",{className:"col-xs-12"},c["default"].createElement(f["default"],{attachments:this.state.attachments,loading:this.state.isLoading,onAttachmentsChange:this.onAttachmentsChange,onCancel:this.onCancel,onChange:this.onPostChange,submitLabel:gettext("Post thread"),value:this.state.post})))))}}]),t}(m["default"]);a["default"]=C},{"../../services/ajax":337,"../../services/posting":347,"../../services/snackbar":348,"../editor":48,"../form":52,"./utils/attachments":116,"./utils/container":117,"./utils/message":119,"./utils/usernames":121,"./utils/validators":122,react:"react"}],115:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../category-select"),f=r(d),p=e("../editor"),m=r(p),h=e("../form"),b=r(h),v=e("./utils/container"),y=r(v),g=e("./utils/loader"),_=r(g),E=e("./utils/message"),w=r(E),O=e("./utils/options"),k=r(O),N=e("./utils/attachments"),x=n(N),j=e("./utils/validators"),P=e("../../services/ajax"),C=r(P),S=e("../../services/posting"),M=r(S),T=e("../../services/snackbar"),L=r(T),R=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.loadSuccess=function(e){var t=null,n=!1,r=null,o=e.map(function(e){return e.post===!1||t&&e.id!=a.state.category||(t=e.id,r=e.post),e.post&&(e.post.close||e.post.hide||e.post.pin)&&(n=!0),Object.assign(e,{disabled:e.post===!1,label:e.name,value:e.id})});a.setState({isReady:!0,showOptions:n,categories:o,category:t,categoryOptions:r})},a.loadError=function(e){a.setState({isErrored:e.detail})},a.onCancel=function(){var e=confirm(gettext("Are you sure you want to discard thread?"));e&&M["default"].close()},a.onTitleChange=function(e){a.changeValue("title",e.target.value)},a.onCategoryChange=function(e){var t=a.state.categories.find(function(t){return e.target.value==t.value}),n=a.state.pin;t.post.pin&&t.post.pin<n&&(n=t.post.pin),a.setState({category:t.id,categoryOptions:t.post,pin:n})},a.onPostChange=function(e){a.changeValue("post",e.target.value)},a.onAttachmentsChange=function(e){a.setState({attachments:e})},a.onClose=function(){a.changeValue("close",!0)},a.onOpen=function(){a.changeValue("close",!1)},a.onPinGlobally=function(){a.changeValue("pin",2)},a.onPinLocally=function(){a.changeValue("pin",1)},a.onUnpin=function(){a.changeValue("pin",0)},a.onHide=function(){a.changeValue("hide",!0)},a.onUnhide=function(){a.changeValue("hide",!1)},a.state={isReady:!1,isLoading:!1,isErrored:!1,showOptions:!1,categoryOptions:null,title:"",category:e.category||null,categories:[],post:"",attachments:[],close:!1,hide:!1,pin:0,validators:{title:(0,j.getTitleValidators)(),post:(0,j.getPostValidators)()},errors:{}},a}return s(t,e),i(t,[{key:"componentDidMount",value:function(){C["default"].get(this.props.config).then(this.loadSuccess,this.loadError)}},{key:"clean",value:function(){if(!this.state.title.trim().length)return L["default"].error(gettext("You have to enter thread title.")),!1;if(!this.state.post.trim().length)return L["default"].error(gettext("You have to enter a message.")),!1;var e=this.validate();return e.title?(L["default"].error(e.title[0]),!1):!e.post||(L["default"].error(e.post[0]),!1)}},{key:"send",value:function(){return C["default"].post(this.props.submit,{title:this.state.title,category:this.state.category,post:this.state.post,attachments:x.clean(this.state.attachments),close:this.state.close,hide:this.state.hide,pin:this.state.pin})}},{key:"handleSuccess",value:function(e){L["default"].success(gettext("Your thread has been posted.")),window.location=e.url,this.setState({isLoading:!0})}},{key:"handleError",value:function(e){if(400===e.status){var t=[].concat(e.non_field_errors||[],e.category||[],e.title||[],e.post||[]);L["default"].error(t[0])}else L["default"].apiError(e)}},{key:"render",value:function(){if(this.state.isErrored)return c["default"].createElement(w["default"],{message:this.state.isErrored});if(!this.state.isReady)return c["default"].createElement(_["default"],null);var e=0;this.state.categoryOptions.close&&(e+=1),this.state.categoryOptions.hide&&(e+=1),this.state.categoryOptions.pin&&(e+=1);var t=null;return t=1===e?"col-sm-6":"col-sm-8",t+=3===e?" col-md-6":e?" col-md-7":" col-md-9",c["default"].createElement(y["default"],{className:"posting-form",withFirstRow:!0},c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"row first-row"},c["default"].createElement("div",{className:t},c["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,onChange:this.onTitleChange,placeholder:gettext("Thread title"),type:"text",value:this.state.title})),c["default"].createElement("div",{className:"col-xs-12 col-sm-4 col-md-3 xs-margin-top"},c["default"].createElement(f["default"],{choices:this.state.categories,disabled:this.state.isLoading,onChange:this.onCategoryChange,value:this.state.category})),c["default"].createElement(k["default"],{close:this.state.close,columns:e,disabled:this.state.isLoading,hide:this.state.hide,onClose:this.onClose,onHide:this.onHide,onOpen:this.onOpen,onPinGlobally:this.onPinGlobally,onPinLocally:this.onPinLocally,onUnhide:this.onUnhide,onUnpin:this.onUnpin,options:this.state.categoryOptions,pin:this.state.pin,showOptions:this.state.showOptions})),c["default"].createElement("div",{className:"row"},c["default"].createElement("div",{className:"col-md-12"},c["default"].createElement(m["default"],{attachments:this.state.attachments,loading:this.state.isLoading,onAttachmentsChange:this.onAttachmentsChange,onCancel:this.onCancel,onChange:this.onPostChange,submitLabel:gettext("Post thread"),value:this.state.post})))))}}]),t}(b["default"]);a["default"]=R},{"../../services/ajax":337,"../../services/posting":347,"../../services/snackbar":348,"../category-select":18,"../editor":48,"../form":52,"./utils/attachments":116,"./utils/container":117,"./utils/loader":118,"./utils/message":119,"./utils/options":120,"./utils/validators":122,react:"react"}],116:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.filter(function(e){return e.id&&!e.isRemoved});return t.map(function(e){return e.id})}function o(e){return e.map(function(e){return Object.assign({},e,{uploaded_on:(0,s["default"])(e.uploaded_on)})})}Object.defineProperty(a,"__esModule",{value:!0}),a.clean=r,a.hydrate=o;var l=e("moment"),s=n(l)},{moment:"moment"}],117:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("div",{className:e.className},o["default"].createElement("div",{className:"container"},e.children))};var r=e("react"),o=n(r)},{react:"react"}],118:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement(s["default"],{className:"posting-loader"},o["default"].createElement(u["default"],null))};var r=e("react"),o=n(r),l=e("./container"),s=n(l),i=e("../../loader"),u=n(i)},{"../../loader":54,"./container":117,react:"react"}],119:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement(s["default"],{className:"posting-message"},o["default"].createElement("div",{className:"message-body"},o["default"].createElement("p",null,o["default"].createElement("span",{className:"material-icon"},"error_outline"),e.message),o["default"].createElement("button",{type:"button",className:"btn btn-default",onClick:u["default"].close},gettext("Dismiss"))))};var r=e("react"),o=n(r),l=e("./container"),s=n(l),i=e("../../../services/posting"),u=n(i)},{"../../../services/posting":347,"./container":117,react:"react"}],120:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){if(!e.show)return null;var t=e.close?gettext("Closed"):gettext("Open");return i["default"].createElement("div",{className:e.className},i["default"].createElement("button",{className:"btn btn-default btn-block",disabled:e.disabled,onClick:e.close?e.onOpen:e.onClose,title:t,type:"button"},i["default"].createElement("span",{className:"material-icon"},e.close?"lock":"lock_outline"),i["default"].createElement("span",{className:e.textClassName},t)))}function o(e){if(!e.show)return null;var t=e.hide?gettext("Hidden"):gettext("Not hidden");return i["default"].createElement("div",{className:e.className},i["default"].createElement("button",{className:"btn btn-default btn-block",disabled:e.disabled,onClick:e.hide?e.onUnhide:e.onHide,title:t,type:"button"},i["default"].createElement("span",{className:"material-icon"},e.hide?"visibility_off":"visibility"),i["default"].createElement("span",{className:e.textClassName},t)))}function l(e){if(!e.show)return null;var t=null,a=null,n=null;switch(e.pin){case 0:t="radio_button_unchecked",a=e.onPinLocally,n=gettext("Unpinned");break;case 1:t="bookmark_outline",a=e.onPinGlobally,n=gettext("Pinned locally"),a=2==e.show?e.onPinGlobally:e.onUnpin;break;case 2:t="bookmark",a=e.onUnpin,n=gettext("Pinned globally")}return i["default"].createElement("div",{className:e.className},i["default"].createElement("button",{className:"btn btn-default btn-block",disabled:e.disabled,onClick:a,title:n,type:"button"},i["default"].createElement("span",{className:"material-icon"},t),i["default"].createElement("span",{className:e.textClassName},n)))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){if(!e.showOptions)return null;var t=e.columns,a="col-xs-12 xs-margin-top";a+=1===t?" col-sm-2":" sm-margin-top",a+=3===t?" col-md-3":" col-md-2",a+=" posting-options";var n="col-xs-"+12/t,s="btn-text";return s+=3===t?" visible-sm-inline-block":2===t?" hidden-md hidden-lg":" hidden-sm",i["default"].createElement("div",{className:a},i["default"].createElement("div",{className:"row"},i["default"].createElement(l,{className:n,disabled:e.disabled,onPinGlobally:e.onPinGlobally,onPinLocally:e.onPinLocally,onUnpin:e.onUnpin,pin:e.pin,show:e.options.pin,textClassName:s}),i["default"].createElement(o,{className:n,disabled:e.disabled,hide:e.hide,onHide:e.onHide,onUnhide:e.onUnhide,show:e.options.hide,textClassName:s}),i["default"].createElement(r,{className:n,close:e.close,disabled:e.disabled,onClose:e.onClose,onOpen:e.onOpen,show:e.options.close,textClassName:s})))},a.CloseOptions=r,a.HideOptions=o,a.PinOptions=l;var s=e("react"),i=n(s)},{react:"react"}],121:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.split(",").map(function(e){return e.trim().toLowerCase()}),a=t.filter(function(e){return e.length>0}),n=a.filter(function(e,t){return a.indexOf(e)==t});return n}},{}],122:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){return[l(),s()]}function o(){return f["default"].get("SETTINGS").post_length_max?[i(),u()]:[i()]}function l(){return(0,c.minLength)(f["default"].get("SETTINGS").thread_title_length_min,function(e,t){var a=ngettext("Thread title should be at least %(limit_value)s character long (it has %(show_value)s).","Thread title should be at least %(limit_value)s characters long (it has %(show_value)s).",e);return interpolate(a,{limit_value:e,show_value:t},!0)})}function s(){return(0,c.maxLength)(f["default"].get("SETTINGS").thread_title_length_max,function(e,t){var a=ngettext("Thread title cannot be longer than %(limit_value)s character (it has %(show_value)s).","Thread title cannot be longer than %(limit_value)s characters (it has %(show_value)s).",e);return interpolate(a,{limit_value:e,show_value:t},!0)})}function i(){return(0,c.minLength)(f["default"].get("SETTINGS").post_length_min,function(e,t){var a=ngettext("Posted message should be at least %(limit_value)s character long (it has %(show_value)s).","Posted message should be at least %(limit_value)s characters long (it has %(show_value)s).",e);return interpolate(a,{limit_value:e,show_value:t},!0)})}function u(){return(0,c.maxLength)(f["default"].get("SETTINGS").post_length_max||1e6,function(e,t){var a=ngettext("Posted message cannot be longer than %(limit_value)s character (it has %(show_value)s).","Posted message cannot be longer than %(limit_value)s characters (it has %(show_value)s).",e);return interpolate(a,{limit_value:e,show_value:t},!0)})}Object.defineProperty(a,"__esModule",{value:!0}),a.getTitleValidators=r,a.getPostValidators=o,a.getTitleLengthMin=l,a.getTitleLengthMax=s,a.validatePostLengthMin=i,a.validatePostLengthMax=u;var c=e("../../../utils/validators"),d=e("../../.."),f=n(d)},{"../../..":276,"../../../utils/validators":365}],123:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return e.can_hide}Object.defineProperty(a,"__esModule",{value:!0}),a.Delete=a.Unhide=a.Hide=void 0;var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a["default"]=function(e){return i(e.post.acl)?d["default"].createElement("li",{className:"event-controls"},d["default"].createElement(w,e),d["default"].createElement(O,e),d["default"].createElement(k,e)):null},a.isVisible=i;var c=e("react"),d=r(c),f=e("moment"),p=r(f),m=e("../../../reducers/post"),h=n(m),b=e("../../../services/ajax"),v=r(b),y=e("../../../services/snackbar"),g=r(y),_=e("../../../services/store"),E=r(_),w=a.Hide=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){E["default"].dispatch(h.patch(n.props.post,{is_hidden:!0,hidden_on:(0,p["default"])(),hidden_by_name:n.props.user.username,url:Object.assign(n.props.post.url,{hidden_by:n.props.user.url})}));var e={op:"replace",path:"is-hidden",value:!0};v["default"].patch(n.props.post.api.index,[e]).then(function(e){E["default"].dispatch(h.patch(n.props.post,e))},function(e){400===e.status?g["default"].error(e.detail[0]):g["default"].apiError(e),E["default"].dispatch(h.patch(n.props.post,{is_hidden:!1}))})},r=a,l(n,r)}return s(t,e),u(t,[{key:"render",value:function(){return this.props.post.is_hidden?null:d["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Hide"))}}]),t}(d["default"].Component),O=a.Unhide=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){E["default"].dispatch(h.patch(n.props.post,{is_hidden:!1}));var e={op:"replace",path:"is-hidden",value:!1};v["default"].patch(n.props.post.api.index,[e]).then(function(e){E["default"].dispatch(h.patch(n.props.post,e))},function(e){400===e.status?g["default"].error(e.detail[0]):g["default"].apiError(e),E["default"].dispatch(h.patch(n.props.post,{is_hidden:!0}))})},r=a,l(n,r)}return s(t,e),u(t,[{key:"render",value:function(){return this.props.post.is_hidden?d["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Unhide")):null}}]),t}(d["default"].Component),k=a.Delete=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){var e=confirm(gettext("Are you sure you wish to delete this event? This action is not reversible!"));e&&n["delete"]()},n["delete"]=function(){E["default"].dispatch(h.patch(n.props.post,{isDeleted:!0})),v["default"]["delete"](n.props.post.api.index).then(function(){g["default"].success(gettext("Event has been deleted."))},function(e){400===e.status?g["default"].error(e.detail[0]):g["default"].apiError(e),E["default"].dispatch(h.patch(n.props.post,{isDeleted:!1}))})},r=a,l(n,r)}return s(t,e),u(t,[{key:"render",value:function(){return d["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},gettext("Delete"))}}]),t}(d["default"].Component)},{"../../../reducers/post":325,"../../../services/ajax":337,"../../../services/snackbar":348,"../../../services/store":349,moment:"moment",react:"react"}],124:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("div",{className:"post-avatar"},o["default"].createElement("span",{className:"material-icon"},l[e.post.event_type]))};var r=e("react"),o=n(r),l={changed_title:"edit",pinned_globally:"bookmark",pinned_locally:"bookmark_border",unpinned:"panorama_fish_eye",moved:"arrow_forward",merged:"call_merge",approved:"done",opened:"lock_open",closed:"lock_outline",unhid:"visibility",hid:"visibility_off",changed_owner:"grade",tookover:"grade",added_participant:"person_add",owner_left:"person_outline",participant_left:"person_outline",removed_participant:"remove_circle_outline"}},{react:"react"}],125:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t="event";return e.post.isDeleted?t="hide":e.post.is_hidden&&(t="event post-hidden"),o["default"].createElement("li",{id:"post-"+e.post.id,className:t},o["default"].createElement(p["default"],{post:e.post}),o["default"].createElement("div",{className:"row"},o["default"].createElement("div",{className:"col-xs-2 col-sm-3 text-right"},o["default"].createElement(s["default"],e)),o["default"].createElement("div",{className:"col-xs-10 col-sm-9 text-left"},o["default"].createElement(h["default"],{post:e.post},o["default"].createElement(d["default"],e),o["default"].createElement(u["default"],e)))))};var r=e("react"),o=n(r),l=e("./icon"),s=n(l),i=e("./info"),u=n(i),c=e("./message"),d=n(c),f=e("./unread-label"),p=n(f),m=e("../waypoint"),h=n(m)},{"../waypoint":151,"./icon":124,"./info":126,"./message":127,"./unread-label":128,react:"react"}],126:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){if(e.post.is_hidden){var t=null;t=e.post.url.hidden_by?interpolate(b,{url:(0,c["default"])(e.post.url.hidden_by),user:(0,c["default"])(e.post.hidden_by_name)},!0):interpolate(h,{user:(0,c["default"])(e.post.hidden_by_name)},!0);var a=interpolate(p,{absolute:(0,c["default"])(e.post.hidden_on.format("LLL")),relative:(0,c["default"])(e.post.hidden_on.fromNow())},!0),n=interpolate((0,c["default"])(gettext("Hidden by %(event_by)s %(event_on)s.")),{event_by:t,event_on:a},!0);return i["default"].createElement("li",{className:"event-hidden-message",dangerouslySetInnerHTML:{__html:n}})}return null}function o(e){var t=null;t=e.post.poster?interpolate(b,{url:(0,c["default"])(e.post.poster.url),user:(0,c["default"])(e.post.poster_name)},!0):interpolate(h,{user:(0,c["default"])(e.post.poster_name)},!0);var a=interpolate(m,{url:(0,c["default"])(e.post.url.index),absolute:(0,c["default"])(e.post.posted_on.format("LLL")),relative:(0,c["default"])(e.post.posted_on.fromNow())},!0),n=interpolate((0,c["default"])(gettext("By %(event_by)s %(event_on)s.")),{event_by:t,event_on:a},!0);return i["default"].createElement("li",{className:"event-posters",dangerouslySetInnerHTML:{__html:n}})}function l(e){return e.user.acl.can_see_users_ips?i["default"].createElement("li",{className:"event-ip"},i["default"].createElement("abbr",{title:e.post.poster_ip},gettext("IP recorded"))):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return i["default"].createElement("ul",{className:"list-inline event-info"},i["default"].createElement(r,e),i["default"].createElement(o,e),i["default"].createElement(l,e),i["default"].createElement(f["default"],e))},a.Hidden=r,a.Poster=o,a.Ip=l;var s=e("react"),i=n(s),u=e("../../../utils/escape-html"),c=n(u),d=e("./controls"),f=n(d),p='<abbr title="%(absolute)s">%(relative)s</abbr>',m='<a href="%(url)s" title="%(absolute)s">%(relative)s</a>',h='<span class="item-title">%(user)s</span>',b='<a href="%(url)s" class="item-title">%(user)s</a>'},{"../../../utils/escape-html":355,"./controls":123,react:"react"}],127:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=(0,p["default"])(gettext("Thread title has been changed from %(old_title)s.")),a=interpolate(b,{name:(0,p["default"])(e.post.event_context.old_title)},!0),n=interpolate(t,{old_title:a},!0);return d["default"].createElement("p",{className:"event-message",dangerouslySetInnerHTML:{__html:n}})}function o(e){var t=(0,p["default"])(gettext("Thread has been moved from %(from_category)s.")),a=interpolate(h,{url:(0,p["default"])(e.post.event_context.from_category.url),name:(0,p["default"])(e.post.event_context.from_category.name)},!0),n=interpolate(t,{from_category:a},!0);return d["default"].createElement("p",{className:"event-message",dangerouslySetInnerHTML:{__html:n}})}function l(e){var t=(0,p["default"])(gettext("The %(merged_thread)s thread has been merged into this thread.")),a=interpolate(b,{name:(0,p["default"])(e.post.event_context.merged_thread)},!0),n=interpolate(t,{merged_thread:a},!0);return d["default"].createElement("p",{className:"event-message",dangerouslySetInnerHTML:{__html:n}})}function s(e){var t=(0,p["default"])(gettext("Changed thread owner to %(user)s.")),a=interpolate(h,{url:(0,p["default"])(e.post.event_context.user.url),name:(0,p["default"])(e.post.event_context.user.username)},!0),n=interpolate(t,{user:a},!0);return d["default"].createElement("p",{className:"event-message",dangerouslySetInnerHTML:{__html:n}})}function i(e){var t=(0,p["default"])(gettext("Added %(user)s to thread.")),a=interpolate(h,{url:(0,p["default"])(e.post.event_context.user.url),name:(0,p["default"])(e.post.event_context.user.username)},!0),n=interpolate(t,{user:a},!0);return d["default"].createElement("p",{className:"event-message",dangerouslySetInnerHTML:{__html:n}})}function u(e){var t=(0,p["default"])(gettext("Removed %(user)s from thread.")),a=interpolate(h,{url:(0,p["default"])(e.post.event_context.user.url),name:(0,p["default"])(e.post.event_context.user.username)},!0),n=interpolate(t,{user:a},!0);return d["default"].createElement("p",{className:"event-message",dangerouslySetInnerHTML:{__html:n}})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return m[e.post.event_type]?d["default"].createElement("p",{className:"event-message"},m[e.post.event_type]):"changed_title"===e.post.event_type?d["default"].createElement(r,e):"moved"===e.post.event_type?d["default"].createElement(o,e):"merged"===e.post.event_type?d["default"].createElement(l,e):"changed_owner"===e.post.event_type?d["default"].createElement(s,e):"added_participant"===e.post.event_type?d["default"].createElement(i,e):"removed_participant"===e.post.event_type?d["default"].createElement(u,e):null},a.ChangedTitle=r,a.Moved=o,a.Merged=l,a.ChangedOwner=s,a.AddedParticipant=i,a.RemovedParticipant=u;var c=e("react"),d=n(c),f=e("../../../utils/escape-html"),p=n(f),m={pinned_globally:gettext("Thread has been pinned globally."),pinned_locally:gettext("Thread has been pinned locally."),unpinned:gettext("Thread has been unpinned."),approved:gettext("Thread has been approved."),opened:gettext("Thread has been opened."),closed:gettext("Thread has been closed."),unhid:gettext("Thread has been revealed."),hid:gettext("Thread has been made hidden."),tookover:gettext("Took thread over."),owner_left:gettext("Owner has left thread. This thread is now closed."),participant_left:gettext("Participant has left thread.")},h='<a href="%(url)s" class="item-title">%(name)s</a>',b='<span class="item-title">%(name)s</span>'},{"../../../utils/escape-html":355,react:"react"}],128:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.post;return t.is_read?null:o["default"].createElement("div",{className:"row"},o["default"].createElement("div",{className:"col-xs-10 col-xs-offset-2 col-sm-9 col-sm-offset-3 text-left"},o["default"].createElement("div",{className:"event-label"},o["default"].createElement("span",{className:"label label-unread"},gettext("New event")))))};var r=e("react"),o=n(r)},{react:"react"}],129:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.post.is_event?s["default"].createElement(u["default"],e):s["default"].createElement(d["default"],e)}Object.defineProperty(a,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e};a["default"]=function(e){return e.posts.isLoaded?s["default"].createElement("ul",{className:"posts-list ui-ready"},e.posts.results.map(function(t){return s["default"].createElement(r,o({key:t.id,post:t},e))})):s["default"].createElement("ul",{className:"posts-list ui-preview"},s["default"].createElement(p["default"],null))},a.ListItem=r;var l=e("react"),s=n(l),i=e("./event"),u=n(i),c=e("./post"),d=n(c),f=e("./post/preview"),p=n(f)},{"./event":125,"./post":141,"./post/preview":149,react:"react"}],130:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.attachment.is_image?u["default"].createElement("div",{className:"post-attachment-preview"},u["default"].createElement(l,e)):u["default"].createElement("div",{className:"post-attachment-preview"},u["default"].createElement(o,e))}function o(e){return u["default"].createElement("a",{href:e.attachment.url.index,className:"material-icon"},"insert_drive_file")}function l(e){var t=e.attachment.url.thumb||e.attachment.url.index;return u["default"].createElement("a",{className:"post-thumbnail",href:e.attachment.url.index,style:{backgroundImage:'url("'+(0,f["default"])(t)+'")'}})}function s(e){var t=null;t=e.attachment.url.uploader?interpolate(v,{url:(0,f["default"])(e.attachment.url.uploader),user:(0,f["default"])(e.attachment.uploader_name)},!0):interpolate(b,{user:(0,f["default"])(e.attachment.uploader_name)},!0);var a=interpolate(h,{absolute:(0,f["default"])(e.attachment.uploaded_on.format("LLL")),relative:(0,f["default"])(e.attachment.uploaded_on.fromNow())},!0),n=interpolate((0,f["default"])(gettext("%(filetype)s, %(size)s, uploaded by %(uploader)s %(uploaded_on)s.")),{filetype:e.attachment.filetype,size:(0,m["default"])(e.attachment.size),uploader:t,uploaded_on:a},!0);return u["default"].createElement("p",{className:"post-attachment-description",dangerouslySetInnerHTML:{__html:n}})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return u["default"].createElement("div",{className:"col-xs-12 col-md-6"},u["default"].createElement(r,e),u["default"].createElement("div",{className:"post-attachment"},u["default"].createElement("a",{href:e.attachment.url.index,className:"attachment-name item-title"},e.attachment.filename),u["default"].createElement(s,e)))},a.AttachmentPreview=r,a.AttachmentIcon=o,a.AttachmentThumbnail=l,a.AttachmentDetails=s;var i=e("react"),u=n(i),c=e("../../../.."),d=(n(c),e("../../../../utils/escape-html")),f=n(d),p=e("../../../../utils/file-size"),m=n(p),h='<abbr title="%(absolute)s">%(relative)s</abbr>',b='<span class="item-title">%(user)s</span>',v='<a href="%(url)s" class="item-title">%(user)s</a>'},{"../../../..":276,"../../../../utils/escape-html":355,"../../../../utils/file-size":356,react:"react"}],131:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return(!e.is_hidden||e.acl.can_see_hidden)&&e.attachments}function o(e){return s["default"].createElement("div",{className:"row"},e.row.map(function(e){return s["default"].createElement(d["default"],{attachment:e,key:e?e.id:0})}))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return r(e.post)?s["default"].createElement("div",{className:"post-attachments"},(0,u["default"])(e.post.attachments,2).map(function(e){var t=e.map(function(e){return e?e.id:0}).join("_");return s["default"].createElement(o,{key:t,row:e})})):null},a.isVisible=r,a.Row=o;var l=e("react"),s=n(l),i=e("../../../../utils/batch"),u=n(i),c=e("./attachment"),d=n(c)},{"../../../../utils/batch":352,"./attachment":130,react:"react"}],132:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return i["default"].createElement(c["default"],{className:"post-body",post:e.post},i["default"].createElement(f["default"],{markup:e.post.content}))}function o(e){var t=null;t=e.post.hidden_by?interpolate(h,{url:(0,m["default"])(e.post.url.hidden_by),user:(0,m["default"])(e.post.hidden_by_name)
 },!0):interpolate(b,{user:(0,m["default"])(e.post.hidden_by_name)},!0);var a=interpolate(v,{absolute:(0,m["default"])(e.post.hidden_on.format("LLL")),relative:(0,m["default"])(e.post.hidden_on.fromNow())},!0),n=interpolate((0,m["default"])(gettext("Hidden by %(hidden_by)s %(hidden_on)s.")),{hidden_by:t,hidden_on:a},!0);return i["default"].createElement(c["default"],{className:"post-body post-body-hidden",post:e.post},i["default"].createElement("p",{className:"lead"},gettext("This post is hidden. You cannot see its contents.")),i["default"].createElement("p",{className:"text-muted",dangerouslySetInnerHTML:{__html:n}}))}function l(e){return i["default"].createElement(c["default"],{className:"post-body post-body-invalid",post:e.post},i["default"].createElement("p",{className:"lead"},gettext("This post's contents cannot be displayed.")),i["default"].createElement("p",{className:"text-muted"},gettext("This error is caused by invalid post content manipulation.")))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return e.post.is_hidden&&!e.post.acl.can_see_hidden?i["default"].createElement(o,e):e.post.content?i["default"].createElement(r,e):i["default"].createElement(l,e)},a.Default=r,a.Hidden=o,a.Invalid=l;var s=e("react"),i=n(s),u=e("../waypoint"),c=n(u),d=e("../../misago-markup"),f=n(d),p=e("../../../utils/escape-html"),m=n(p),h='<a href="%(url)s" class="item-title">%(user)s</a>',b='<span class="item-title">%(user)s</span>',v='<abbr class="last-title" title="%(absolute)s">%(relative)s</abbr>'},{"../../../utils/escape-html":355,"../../misago-markup":56,"../waypoint":151,react:"react"}],133:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e){O["default"].dispatch(v.patch(e.post,{is_unapproved:!1}));var t=[{op:"replace",path:"is-unapproved",value:!1}],a={is_unapproved:e.post.is_unapproved};f(e,t,a)}function l(e){O["default"].dispatch(v.patch(e.post,{is_protected:!0}));var t=[{op:"replace",path:"is-protected",value:!0}],a={is_protected:e.post.is_protected};f(e,t,a)}function s(e){O["default"].dispatch(v.patch(e.post,{is_protected:!1}));var t=[{op:"replace",path:"is-protected",value:!1}],a={is_protected:e.post.is_protected};f(e,t,a)}function i(e){O["default"].dispatch(v.patch(e.post,{is_hidden:!0,hidden_on:(0,h["default"])(),hidden_by_name:e.user.username,url:Object.assign(e.post.url,{hidden_by:e.user.url})}));var t=[{op:"replace",path:"is-hidden",value:!0}],a={is_hidden:e.post.is_hidden,hidden_on:e.post.hidden_on,hidden_by_name:e.post.hidden_by_name,url:e.post.url};f(e,t,a)}function u(e){O["default"].dispatch(v.patch(e.post,{is_hidden:!1}));var t=[{op:"replace",path:"is-hidden",value:!1}],a={is_hidden:e.post.is_hidden};f(e,t,a)}function c(e){var t=e.post.last_likes||[],a=[e.user].concat(t),n=a.length>3?a.slice(0,-1):a;O["default"].dispatch(v.patch(e.post,{is_liked:!0,likes:e.post.likes+1,last_likes:n}));var r=[{op:"replace",path:"is-liked",value:!0}],o={is_liked:e.post.is_liked,likes:e.post.likes,last_likes:e.post.last_likes};f(e,r,o)}function d(e){O["default"].dispatch(v.patch(e.post,{is_liked:!1,likes:e.post.likes-1,last_likes:e.post.last_likes.filter(function(t){return!t.id||t.id!==e.user.id})}));var t=[{op:"replace",path:"is-liked",value:!1}],a={is_liked:e.post.is_liked,likes:e.post.likes,last_likes:e.post.last_likes};f(e,t,a)}function f(e,t,a){g["default"].patch(e.post.api.index,t).then(function(t){O["default"].dispatch(v.patch(e.post,t))},function(t){400===t.status?E["default"].error(t.detail[0]):E["default"].apiError(t),O["default"].dispatch(v.patch(e.post,a))})}function p(e){var t=confirm(gettext("Are you sure you want to delete this post? This action is not reversible!"));t&&(O["default"].dispatch(v.patch(e.post,{isDeleted:!0})),g["default"]["delete"](e.post.api.index).then(function(){E["default"].success(gettext("Post has been deleted."))},function(t){400===t.status?E["default"].error(t.detail):E["default"].apiError(t),O["default"].dispatch(v.patch(e.post,{isDeleted:!1}))}))}Object.defineProperty(a,"__esModule",{value:!0}),a.approve=o,a.protect=l,a.unprotect=s,a.hide=i,a.unhide=u,a.like=c,a.unlike=d,a.patch=f,a.remove=p;var m=e("moment"),h=r(m),b=e("../../../../reducers/post"),v=n(b),y=e("../../../../services/ajax"),g=r(y),_=e("../../../../services/snackbar"),E=r(_),w=e("../../../../services/store"),O=r(w)},{"../../../../reducers/post":325,"../../../../services/ajax":337,"../../../../services/snackbar":348,"../../../../services/store":349,moment:"moment"}],134:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.Delete=a.Unhide=a.Hide=a.Unprotect=a.Protect=a.Split=a.Move=a.Approve=a.PostEdits=a.Permalink=void 0;var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a["default"]=function(e){return c["default"].createElement("ul",{className:"dropdown-menu dropdown-menu-right stick-to-bottom"},c["default"].createElement(E,e),c["default"].createElement(w,e),c["default"].createElement(O,e),c["default"].createElement(k,e),c["default"].createElement(N,e),c["default"].createElement(x,e),c["default"].createElement(j,e),c["default"].createElement(P,e),c["default"].createElement(C,e),c["default"].createElement(S,e))};var u=e("react"),c=r(u),d=e("../../../../services/modal"),f=r(d),p=e("./actions"),m=n(p),h=e("./move"),b=r(h),v=e("../../../post-changelog"),y=r(v),g=e("./split"),_=r(g),E=a.Permalink=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){var e=window.location.protocol+"//";e+=window.location.host,e+=n.props.post.url.index,prompt(gettext("Permament link to this post:"),e)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"link"),gettext("Permament link")))}}]),t}(c["default"].Component),w=a.PostEdits=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){f["default"].show(c["default"].createElement(y["default"],{post:n.props.post}))},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.post.is_hidden&&!this.props.post.acl.can_see_hidden,t=0===this.props.post.edits;if(e||t)return null;var a=ngettext("This post was edited %(edits)s time.","This post was edited %(edits)s times.",this.props.post.edits);interpolate(a,{edits:this.props.post.edits},!0);return c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"edit"),gettext("Changes history")))}}]),t}(c["default"].Component),O=a.Approve=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){m.approve(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_approve&&this.props.post.is_unapproved?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"done"),gettext("Approve"))):null}}]),t}(c["default"].Component),k=a.Move=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){f["default"].show(c["default"].createElement(b["default"],n.props))},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_move?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"arrow_forward"),gettext("Move"))):null}}]),t}(c["default"].Component),N=a.Split=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){f["default"].show(c["default"].createElement(_["default"],n.props))},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_move?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"call_split"),gettext("Split"))):null}}]),t}(c["default"].Component),x=a.Protect=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){m.protect(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_protect?this.props.post.is_protected?null:c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"lock_outline"),gettext("Protect"))):null}}]),t}(c["default"].Component),j=a.Unprotect=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){m.unprotect(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_protect&&this.props.post.is_protected?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"lock_open"),gettext("Remove protection"))):null}}]),t}(c["default"].Component),P=a.Hide=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){m.hide(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_hide?this.props.post.is_hidden?null:c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"visibility_off"),gettext("Hide"))):null}}]),t}(c["default"].Component),C=a.Unhide=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){m.unhide(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_unhide&&this.props.post.is_hidden?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"visibility"),gettext("Unhide"))):null}}]),t}(c["default"].Component),S=a.Delete=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){m.remove(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return this.props.post.acl.can_delete?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},c["default"].createElement("span",{className:"material-icon"},"clear"),gettext("Delete"))):null}}]),t}(c["default"].Component)},{"../../../../services/modal":343,"../../../post-changelog":97,"./actions":133,"./move":136,"./split":137,react:"react"}],135:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("div",{className:"pull-right dropdown"},o["default"].createElement("button",{"aria-expanded":"true","aria-haspopup":"true",className:"btn btn-default btn-icon dropdown-toggle","data-toggle":"dropdown",type:"button"},o["default"].createElement("span",{className:"material-icon"},"expand_more")),o["default"].createElement(s["default"],e))};var r=e("react"),o=n(r),l=e("./dropdown"),s=n(l)},{"./dropdown":134,react:"react"}],136:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return d["default"].createElement("div",{className:"modal-header"},d["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},d["default"].createElement("span",{"aria-hidden":"true"},"×")),d["default"].createElement("h4",{className:"modal-title"},gettext("Move post")))}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.ModalHeader=i;var c=e("react"),d=r(c),f=e("../../../button"),p=(r(f),e("../../../form")),m=r(p),h=e("../../../form-group"),b=r(h),v=e("../../../../reducers/post"),y=n(v),g=e("../../../../services/ajax"),_=r(g),E=e("../../../../services/modal"),w=r(E),O=e("../../../../services/snackbar"),k=r(O),N=e("../../../../services/store"),x=r(N),j=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onUrlChange=function(e){a.changeValue("url",e.target.value)},a.state={isLoading:!1,url:"",validators:{url:[]},errors:{}},a}return s(t,e),u(t,[{key:"clean",value:function(){return!!this.state.url.trim().length||(k["default"].error(gettext("You have to enter link to the other thread.")),!1)}},{key:"send",value:function(){return _["default"].post(this.props.thread.api.posts.move,{thread_url:this.state.url,posts:[this.props.post.id]})}},{key:"handleSuccess",value:function(e){x["default"].dispatch(y.patch(this.props.post,{isDeleted:!0})),w["default"].hide(),k["default"].success(gettext("Selected post was moved to the other thread."))}},{key:"handleError",value:function(e){400===e.status?k["default"].error(e.detail):k["default"].apiError(e)}},{key:"render",value:function(){return d["default"].createElement("div",{className:"modal-dialog",role:"document"},d["default"].createElement("form",{onSubmit:this.handleSubmit},d["default"].createElement("div",{className:"modal-content"},d["default"].createElement(i,null),d["default"].createElement("div",{className:"modal-body"},d["default"].createElement(b["default"],{"for":"id_url",label:gettext("Link to thread you want to move post to")},d["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,id:"id_url",onChange:this.onUrlChange,value:this.state.url}))),d["default"].createElement("div",{className:"modal-footer"},d["default"].createElement("button",{className:"btn btn-primary",loading:this.state.isLoading},gettext("Move post"))))))}}]),t}(m["default"]);a["default"]=j},{"../../../../reducers/post":325,"../../../../services/ajax":337,"../../../../services/modal":343,"../../../../services/snackbar":348,"../../../../services/store":349,"../../../button":5,"../../../form":52,"../../../form-group":51,react:"react"}],137:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(){return m["default"].createElement(c,{className:"modal-dialog"},m["default"].createElement(k["default"],null))}function u(e){return m["default"].createElement(c,{className:"modal-dialog modal-message"},m["default"].createElement("div",{className:"message-icon"},m["default"].createElement("span",{className:"material-icon"},"info_outline")),m["default"].createElement("div",{className:"message-body"},m["default"].createElement("p",{className:"lead"},gettext("You can't move this post at the moment.")),m["default"].createElement("p",null,e.message)))}function c(e){return m["default"].createElement("div",{className:e.className,role:"document"},m["default"].createElement("div",{className:"modal-content"},m["default"].createElement("div",{className:"modal-header"},m["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},m["default"].createElement("span",{"aria-hidden":"true"},"×")),m["default"].createElement("h4",{className:"modal-title"},gettext("Split post into new thread"))),e.children))}Object.defineProperty(a,"__esModule",{value:!0}),a.ModerationForm=a.PostingConfig=void 0;var d=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e};a["default"]=function(e){return m["default"].createElement(B,f({},e,{Form:H}))},a.Loader=i,a.Error=u,a.Modal=c;var p=e("react"),m=r(p),h=e("../../../button"),b=r(h),v=e("../../../form"),y=r(v),g=e("../../../form-group"),_=r(g),E=e("../../../category-select"),w=r(E),O=e("../../../modal-loader"),k=r(O),N=e("../../../select"),x=r(N),j=e("../../../../reducers/post"),P=n(j),C=e("../../../../services/ajax"),S=r(C),M=e("../../../../services/modal"),T=r(M),L=e("../../../../services/snackbar"),R=r(L),A=e("../../../../services/store"),I=r(A),D=e("../../../../utils/validators"),U=n(D),B=a.PostingConfig=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={isLoaded:!1,isError:!1,categories:[]},a}return s(t,e),d(t,[{key:"componentDidMount",value:function(){var e=this;S["default"].get(misago.get("THREAD_EDITOR_API")).then(function(t){var a=t.map(function(e){return Object.assign(e,{disabled:e.post===!1,label:e.name,value:e.id,post:e.post})});e.setState({isLoaded:!0,categories:a})},function(t){e.setState({isError:t.detail})})}},{key:"render",value:function(){return this.state.isError?m["default"].createElement(u,{message:this.state.isError}):this.state.isLoaded?m["default"].createElement(H,f({},this.props,{categories:this.state.categories})):m["default"].createElement(i,null)}}]),t}(m["default"].Component),H=a.ModerationForm=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onCategoryChange=function(e){var t=e.target.value,n={category:t};a.acl[t].can_pin_threads<n.weight&&(n.weight=0),a.acl[t].can_hide_threads||(n.is_hidden=0),a.acl[t].can_close_threads||(n.is_closed=!1),a.setState(n)},a.state={isLoading:!1,title:"",category:null,categories:e.categories,weight:0,is_hidden:0,is_closed:!1,validators:{title:[U.required()]},errors:{}},a.isHiddenChoices=[{value:0,icon:"visibility",label:gettext("No")},{value:1,icon:"visibility_off",label:gettext("Yes")}],a.isClosedChoices=[{value:!1,icon:"lock_outline",label:gettext("No")},{value:!0,icon:"lock",label:gettext("Yes")}],a.acl={},a.props.categories.forEach(function(e){e.post&&(a.state.category||(a.state.category=e.id),a.acl[e.id]={can_pin_threads:e.post.pin,can_close_threads:e.post.close,can_hide_threads:e.post.hide})}),a}return s(t,e),d(t,[{key:"clean",value:function(){return!!this.isValid()||(R["default"].error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return S["default"].post(this.props.thread.api.posts.split,{title:this.state.title,category:this.state.category,weight:this.state.weight,is_hidden:this.state.is_hidden,is_closed:this.state.is_closed,posts:[this.props.post.id]})}},{key:"handleSuccess",value:function(e){I["default"].dispatch(P.patch(this.props.post,{isDeleted:!0})),T["default"].hide(),R["default"].success(gettext("Selected post was split into new thread."))}},{key:"handleError",value:function(e){400===e.status?(this.setState({errors:Object.assign({},this.state.errors,e)}),R["default"].error(gettext("Form contains errors."))):403===e.status&&Array.isArray(e)?T["default"].show(m["default"].createElement(ErrorsModal,{errors:e})):R["default"].apiError(e)}},{key:"getWeightChoices",value:function(){var e=[{value:0,icon:"remove",label:gettext("Not pinned")},{value:1,icon:"bookmark_border",label:gettext("Pinned locally")}];return 2==this.acl[this.state.category].can_pin_threads&&e.push({value:2,icon:"bookmark",label:gettext("Pinned globally")}),e}},{key:"renderWeightField",value:function(){return this.acl[this.state.category].can_pin_threads?m["default"].createElement(_["default"],{label:gettext("Thread weight"),"for":"id_weight",labelClass:"col-sm-4",controlClass:"col-sm-8"},m["default"].createElement(x["default"],{id:"id_weight",onChange:this.bindInput("weight"),value:this.state.weight,choices:this.getWeightChoices()})):null}},{key:"renderHiddenField",value:function(){return this.acl[this.state.category].can_hide_threads?m["default"].createElement(_["default"],{label:gettext("Hide thread"),"for":"id_is_hidden",labelClass:"col-sm-4",controlClass:"col-sm-8"},m["default"].createElement(x["default"],{id:"id_is_closed",onChange:this.bindInput("is_hidden"),value:this.state.is_hidden,choices:this.isHiddenChoices})):null}},{key:"renderClosedField",value:function(){return this.acl[this.state.category].can_close_threads?m["default"].createElement(_["default"],{label:gettext("Close thread"),"for":"id_is_closed",labelClass:"col-sm-4",controlClass:"col-sm-8"},m["default"].createElement(x["default"],{id:"id_is_closed",onChange:this.bindInput("is_closed"),value:this.state.is_closed,choices:this.isClosedChoices})):null}},{key:"render",value:function(){return m["default"].createElement(c,{className:"modal-dialog"},m["default"].createElement("form",{onSubmit:this.handleSubmit},m["default"].createElement("div",{className:"modal-body"},m["default"].createElement(_["default"],{label:gettext("Thread title"),"for":"id_title",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.title},m["default"].createElement("input",{id:"id_title",className:"form-control",type:"text",onChange:this.bindInput("title"),value:this.state.title})),m["default"].createElement("div",{className:"clearfix"}),m["default"].createElement(_["default"],{label:gettext("Category"),"for":"id_category",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.category},m["default"].createElement(w["default"],{id:"id_category",onChange:this.onCategoryChange,value:this.state.category,choices:this.state.categories})),m["default"].createElement("div",{className:"clearfix"}),this.renderWeightField(),this.renderHiddenField(),this.renderClosedField()),m["default"].createElement("div",{className:"modal-footer"},m["default"].createElement(b["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Split post")))))}}]),t}(y["default"])},{"../../../../reducers/post":325,"../../../../services/ajax":337,"../../../../services/modal":343,"../../../../services/snackbar":348,"../../../../services/store":349,"../../../../utils/validators":365,"../../../button":5,"../../../category-select":18,"../../../form":52,"../../../form-group":51,"../../../modal-loader":57,"../../../select":188,react:"react"}],138:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return s(e.post)&&e.post.is_hidden?u["default"].createElement("div",{className:"post-status-message post-status-hidden"},u["default"].createElement("span",{className:"material-icon"},"visibility_off"),u["default"].createElement("p",null,gettext("This post is hidden. Only users with permission may see its contents."))):null}function o(e){return s(e.post)&&e.post.is_unapproved?u["default"].createElement("div",{className:"post-status-message post-status-unapproved"},u["default"].createElement("span",{className:"material-icon"},"remove_circle_outline"),u["default"].createElement("p",null,gettext("This post is unapproved. Only users with permission to approve posts and its author may see its contents."))):null}function l(e){return s(e.post)&&e.post.is_protected?u["default"].createElement("div",{className:"post-status-message post-status-protected visible-xs-block"},u["default"].createElement("span",{className:"material-icon"},"lock_outline"),u["default"].createElement("p",null,gettext("This post is protected. Only moderators may change it."))):null}function s(e){return!e.is_hidden||e.acl.can_see_hidden}Object.defineProperty(a,"__esModule",{value:!0}),a.FlagHidden=r,a.FlagUnapproved=o,a.FlagProtected=l,a.isVisible=s;var i=e("react"),u=n(i)},{react:"react"}],139:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return(!e.is_hidden||e.acl.can_see_hidden)&&(e.acl.can_reply||e.acl.can_edit||e.acl.can_see_likes&&(e.last_likes||[]).length||e.acl.can_like)}function u(e,t){var a=t.slice(0,3).map(function(e){return e.username});if(1==a.length)return interpolate(gettext("%(user)s likes this."),{user:a[0]},!0);var n=e-a.length,r=a.slice(0,-1).join(", "),o=a.slice(-1)[0],l=interpolate(gettext("%(users)s and %(last_user)s"),{users:r,last_user:o},!0);if(0===n)return interpolate(gettext("%(users)s like this."),{users:l},!0);var s=ngettext("%(users)s and %(likes)s other user like this.","%(users)s and %(likes)s other users like this.",n);return interpolate(s,{users:a.join(", "),likes:n},!0)}Object.defineProperty(a,"__esModule",{value:!0}),a.Edit=a.Reply=a.LikesCompact=a.Likes=a.Like=void 0;var c=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e};a["default"]=function(e){return i(e.post)?p["default"].createElement("div",{className:"post-footer"},p["default"].createElement(w,e),p["default"].createElement(O,d({lastLikes:e.post.last_likes,likes:e.post.likes},e)),p["default"].createElement(k,d({likes:e.post.likes},e)),p["default"].createElement(N,e),p["default"].createElement(x,e)):null},a.isVisible=i,a.getLikesMessage=u;var f=e("react"),p=r(f),m=e("./controls/actions"),h=n(m),b=e("../../post-likes"),v=r(b),y=e("../../../services/modal"),g=r(y),_=e("../../../services/posting"),E=r(_),w=a.Like=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){n.props.post.is_liked?h.unlike(n.props):h.like(n.props)},r=a,l(n,r)}return s(t,e),c(t,[{key:"render",value:function(){if(!this.props.post.acl.can_like)return null;var e="btn btn-default btn-sm pull-left";return this.props.post.is_liked&&(e="btn btn-success btn-sm pull-left"),p["default"].createElement("button",{className:e,disabled:this.props.post.isBusy,onClick:this.onClick,type:"button"},this.props.post.is_liked?gettext("Liked"):gettext("Like"))}}]),t}(p["default"].Component),O=a.Likes=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){g["default"].show(p["default"].createElement(v["default"],{post:n.props.post}))},r=a,l(n,r)}return s(t,e),c(t,[{key:"render",value:function(){var e=(this.props.post.last_likes||[]).length>0;return this.props.post.acl.can_see_likes&&e?2===this.props.post.acl.can_see_likes?p["default"].createElement("button",{className:"btn btn-link btn-sm pull-left hidden-xs",onClick:this.onClick,type:"button"},u(this.props.likes,this.props.lastLikes)):p["default"].createElement("p",{className:"pull-left hidden-xs"},u(this.props.likes,this.props.lastLikes)):null;
 }}]),t}(p["default"].Component),k=a.LikesCompact=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),c(t,[{key:"render",value:function(){var e=(this.props.post.last_likes||[]).length>0;return this.props.post.acl.can_see_likes&&e?2===this.props.post.acl.can_see_likes?p["default"].createElement("button",{className:"btn btn-link btn-sm likes-compact pull-left visible-xs-block",onClick:this.onClick,type:"button"},p["default"].createElement("span",{className:"material-icon"},"favorite"),this.props.likes):p["default"].createElement("p",{className:"likes-compact pull-left visible-xs-block"},p["default"].createElement("span",{className:"material-icon"},"favorite"),this.props.likes):null}}]),t}(O),N=a.Reply=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){E["default"].open({mode:"REPLY",config:n.props.thread.api.editor,submit:n.props.thread.api.posts.index,context:{reply:n.props.post.id}})},r=a,l(n,r)}return s(t,e),c(t,[{key:"render",value:function(){return this.props.post.acl.can_reply?p["default"].createElement("button",{className:"btn btn-primary btn-sm pull-right",type:"button",onClick:this.onClick},gettext("Reply")):null}}]),t}(p["default"].Component),x=a.Edit=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){E["default"].open({mode:"EDIT",config:n.props.post.api.editor,submit:n.props.post.api.index})},r=a,l(n,r)}return s(t,e),c(t,[{key:"render",value:function(){return this.props.post.acl.can_edit?p["default"].createElement("button",{className:"btn btn-default btn-sm pull-right",type:"button",onClick:this.onClick},gettext("Edit")):null}}]),t}(p["default"].Component)},{"../../../services/modal":343,"../../../services/posting":347,"../../post-likes":110,"./controls/actions":133,react:"react"}],140:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return e.post.is_read?null:m["default"].createElement("span",{className:"label label-unread hidden-xs"},gettext("New post"))}function i(e){return e.post.is_read?null:m["default"].createElement("span",{className:"label label-unread visible-xs-inline-block"},gettext("New"))}function u(e){var t=interpolate(gettext("posted %(posted_on)s"),{posted_on:e.post.posted_on.format("LL, LT")},!0);return m["default"].createElement("a",{href:e.post.url.index,className:"btn btn-link posted-on hidden-xs",title:t},e.post.posted_on.fromNow())}function c(e){return m["default"].createElement("a",{href:e.post.url.index,className:"btn btn-link posted-on visible-xs-inline-block"},e.post.posted_on.fromNow(!0))}function d(e){var t=e.post.poster&&e.post.poster.id===e.user.id,a=e.post.acl.can_protect,n=e.user.id&&e.post.is_protected&&(t||a);return n?m["default"].createElement("span",{className:"label label-protected hidden-xs",title:gettext("This post is protected and may not be edited.")},m["default"].createElement("span",{className:"material-icon"},"lock_outline"),gettext("protected")):null}Object.defineProperty(a,"__esModule",{value:!0}),a.PostEditsCompacts=a.PostEdits=void 0;var f=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a["default"]=function(e){return m["default"].createElement("div",{className:"post-heading"},m["default"].createElement(s,e),m["default"].createElement(i,e),m["default"].createElement(u,e),m["default"].createElement(c,e),m["default"].createElement(O,e),m["default"].createElement(k,e),m["default"].createElement(d,e),m["default"].createElement(y["default"],e),m["default"].createElement(b["default"],e))},a.UnreadLabel=s,a.UnreadCompact=i,a.PostedOn=u,a.PostedOnCompact=c,a.ProtectedLabel=d;var p=e("react"),m=n(p),h=e("./controls"),b=n(h),v=e("./select"),y=n(v),g=(e("../../user-status"),e("../../post-changelog")),_=n(g),E=e("../../../services/modal"),w=n(E),O=a.PostEdits=function(e){function t(){var e,a,n,l;r(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){w["default"].show(m["default"].createElement(_["default"],{post:n.props.post}))},l=a,o(n,l)}return l(t,e),f(t,[{key:"render",value:function(){var e=this.props.post.is_hidden&&!this.props.post.acl.can_see_hidden,t=0===this.props.post.edits;if(e||t)return null;var a=ngettext("This post was edited %(edits)s time.","This post was edited %(edits)s times.",this.props.post.edits),n=interpolate(a,{edits:this.props.post.edits},!0),r=ngettext("edited %(edits)s time","edited %(edits)s times",this.props.post.edits);return m["default"].createElement("button",{className:"btn btn-link btn-see-edits hidden-xs",onClick:this.onClick,title:n,type:"button"},interpolate(r,{edits:this.props.post.edits},!0))}}]),t}(m["default"].Component),k=a.PostEditsCompacts=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),f(t,[{key:"render",value:function(){var e=this.props.post.is_hidden&&!this.props.post.acl.can_see_hidden,t=0===this.props.post.edits;if(e||t)return null;var a=ngettext("%(edits)s edit","%(edits)s edits",this.props.post.edits);return m["default"].createElement("button",{className:"btn btn-link btn-see-edits visible-xs-inline-block",onClick:this.onClick,type:"button"},interpolate(a,{edits:this.props.post.edits},!0))}}]),t}(O)},{"../../../services/modal":343,"../../post-changelog":97,"../../user-status":248,"./controls":135,"./select":150,react:"react"}],141:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t="post";return e.post.isDeleted?t="hide":e.post.is_hidden&&!e.post.acl.can_see_hidden&&(t="post post-hidden"),e.post.poster&&e.post.poster.rank.css_class&&(t+=" post-"+e.post.poster.rank.css_class),e.post.is_read||(t+=" post-new"),o["default"].createElement("li",{id:"post-"+e.post.id,className:t},o["default"].createElement("div",{className:"panel panel-default panel-post"},o["default"].createElement("div",{className:"panel-body"},o["default"].createElement("div",{className:"row"},o["default"].createElement(b["default"],e),o["default"].createElement("div",{className:"col-xs-12 col-md-9"},o["default"].createElement(m["default"],e),o["default"].createElement(c.FlagUnapproved,e),o["default"].createElement(c.FlagProtected,e),o["default"].createElement(c.FlagHidden,e),o["default"].createElement(u["default"],e),o["default"].createElement(s["default"],e),o["default"].createElement(f["default"],e))))))};var r=e("react"),o=n(r),l=e("./attachments"),s=n(l),i=e("./body"),u=n(i),c=e("./flags"),d=e("./footer"),f=n(d),p=e("./header"),m=n(p),h=e("./post-side"),b=n(h)},{"./attachments":131,"./body":132,"./flags":138,"./footer":139,"./header":140,"./post-side":144,react:"react"}],142:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.post;return o["default"].createElement("div",{className:"col-xs-12 col-md-3 post-side post-side-anonymous"},o["default"].createElement(Select,{post:t,thread:thread}),o["default"].createElement(Controls,{post:t,thread:thread}),o["default"].createElement("div",{className:"media"},o["default"].createElement("div",{className:"media-left"},o["default"].createElement("span",null,o["default"].createElement(s["default"],{className:"poster-avatar",size:100}))),o["default"].createElement("div",{className:"media-body"},o["default"].createElement("span",{className:"media-heading item-title"},t.poster_name),o["default"].createElement("span",{className:"user-title user-title-anonymous"},gettext("Removed user")))))};var r=e("react"),o=n(r),l=e("../../../avatar"),s=n(l),i=e("../../../user-status"),u=(n(i),e("./user-postcount")),c=(n(u),e("./user-title"));n(c)},{"../../../avatar":3,"../../../user-status":248,"./user-postcount":146,"./user-title":148,react:"react"}],143:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.title,a=e.rank;return a.is_tab||!!t||!!a.title}},{}],144:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return e.post.poster?o["default"].createElement(u["default"],e):o["default"].createElement(s["default"],e)};var r=e("react"),o=n(r),l=e("./anonymous"),s=n(l),i=e("./registered"),u=n(i)},{"./anonymous":142,"./registered":145,react:"react"}],145:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.post,a=e.thread,n=t.poster;return o["default"].createElement("div",{className:"col-xs-12 col-md-3 post-side post-side-registered"},o["default"].createElement(d["default"],{post:t,thread:a}),o["default"].createElement(u["default"],{post:t,thread:a}),o["default"].createElement("div",{className:"media"},o["default"].createElement("div",{className:"media-left"},o["default"].createElement("a",{href:n.url},o["default"].createElement(s["default"],{className:"poster-avatar",size:100,user:n}))),o["default"].createElement("div",{className:"media-body"},o["default"].createElement("div",{className:"media-heading"},o["default"].createElement("a",{className:"item-title",href:n.url},n.username),o["default"].createElement(p["default"],{status:n.status},o["default"].createElement(f.StatusIcon,{status:n.status}))),o["default"].createElement(g["default"],{rank:n.rank,title:n.title}),o["default"].createElement(v["default"],{poster:n}),o["default"].createElement(h["default"],{poster:n}))))};var r=e("react"),o=n(r),l=e("../../../avatar"),s=n(l),i=e("../controls"),u=n(i),c=e("../select"),d=n(c),f=e("../../../user-status"),p=n(f),m=e("./user-postcount"),h=n(m),b=e("./user-status"),v=n(b),y=e("./user-title"),g=n(y)},{"../../../avatar":3,"../../../user-status":248,"../controls":135,"../select":150,"./user-postcount":146,"./user-status":147,"./user-title":148,react:"react"}],146:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.poster,a=ngettext("%(posts)s post","%(posts)s posts",t.posts),n="user-postcount";return(0,s["default"])(t)&&(n+=" hidden-xs hidden-sm"),o["default"].createElement("span",{className:n},interpolate(a,{posts:t.posts},!0))};var r=e("react"),o=n(r),l=e("./has-visible-title"),s=n(l)},{"./has-visible-title":143,react:"react"}],147:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.poster,a="hidden-xs";return(0,u["default"])(t)&&(a+=" hidden-sm"),o["default"].createElement("span",{className:a},o["default"].createElement(s["default"],{status:t.status},o["default"].createElement(l.StatusLabel,{status:t.status,user:t})))};var r=e("react"),o=n(r),l=e("../../../user-status"),s=n(l),i=e("./has-visible-title"),u=n(i)},{"../../../user-status":248,"./has-visible-title":143,react:"react"}],148:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.rank,a=e.title,n=a||t.title;if(!n&&t.is_tab&&(n=t.name),!n)return null;var r="user-title";return t.css_class&&(r+=" user-title-"+t.css_class),t.is_tab?o["default"].createElement("div",{className:r},o["default"].createElement("a",{href:t.url},n)):o["default"].createElement("div",{className:r},n)};var r=e("react"),o=n(r)},{react:"react"}],149:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return l["default"].createElement("li",{className:"post"},l["default"].createElement("div",{className:"post-border"},l["default"].createElement("div",{className:"post-avatar"},l["default"].createElement(i["default"],{size:"100"})),l["default"].createElement("div",{className:"post-body"},l["default"].createElement("div",{className:"panel panel-default panel-post"},l["default"].createElement("div",{className:"panel-heading post-heading"},l["default"].createElement("span",{className:"ui-preview-text",style:{width:c["int"](30,100)+"px"}}," "),l["default"].createElement("span",{className:"ui-preview-text",style:{width:c["int"](30,100)+"px"}}," ")),l["default"].createElement("div",{className:"panel-body"},l["default"].createElement("article",{className:"misago-markup"},l["default"].createElement("p",{className:"ui-preview-text",style:{width:c["int"](50,100)+"%"}}," "),l["default"].createElement("p",{className:"ui-preview-text",style:{width:c["int"](50,100)+"%"}}," "),l["default"].createElement("p",{className:"ui-preview-text",style:{width:c["int"](50,100)+"%"}}," ")))))))};var o=e("react"),l=r(o),s=e("../../avatar"),i=r(s),u=e("../../../utils/random"),c=n(u)},{"../../../utils/random":360,"../../avatar":3,react:"react"}],150:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return e.can_approve||e.can_hide||e.can_protect||e.can_unhide||e.can_delete||e.can_move}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.isVisible=i;var c=e("react"),d=r(c),f=e("../../../reducers/posts"),p=n(f),m=e("../../../services/store"),h=r(m),b=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){n.props.post.isSelected?h["default"].dispatch(p.deselect(n.props.post)):h["default"].dispatch(p.select(n.props.post))},r=a,l(n,r)}return s(t,e),u(t,[{key:"render",value:function(){return this.props.thread.acl.can_merge_posts||i(this.props.post.acl)?d["default"].createElement("div",{className:"pull-right hidden-xs"},d["default"].createElement("button",{className:"btn btn-default btn-icon",onClick:this.onClick,type:"button"},d["default"].createElement("span",{className:"material-icon"},this.props.post.isSelected?"check_box":"check_box_outline_blank"))):null}}]),t}(d["default"].Component);a["default"]=b},{"../../../reducers/posts":326,"../../../services/store":349,react:"react"}],151:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../../reducers/post"),f=n(d),p=e("../../services/ajax"),m=r(p),h=e("../../services/store"),b=r(h),v=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"componentDidMount",value:function(){var e=this;this.props.post.is_read||$("#post-"+this.props.post.id).waypoint({handler:function(t){"down"!==t||e.props.post.is_read||window.setTimeout(function(){b["default"].dispatch(f.patch(e.props.post,{is_read:!0})),m["default"].post(e.props.post.api.read)},1e3)},offset:"bottom-in-view"})}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.props.className},this.props.children)}}]),t}(c["default"].Component);a["default"]=v},{"../../reducers/post":325,"../../services/ajax":337,"../../services/store":349,react:"react"}],152:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("moment"),u=n(i),c=e("react"),d=n(c),f=e("../panel-loader"),p=n(f),m=e("../panel-message"),h=n(m),b=e("../../index"),v=n(b),y=e("../../services/polls"),g=n(y),_=e("../../services/page-title"),E=n(_),w=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.update=function(e){e.expires_on&&(e.expires_on=(0,u["default"])(e.expires_on)),a.setState({isLoaded:!0,error:null,ban:e})},a.error=function(e){a.setState({isLoaded:!0,error:e.detail,ban:null})},v["default"].has("PROFILE_BAN")?a.initWithPreloadedData(v["default"].pop("PROFILE_BAN")):a.initWithoutPreloadedData(),a.startPolling(e.profile.api.ban),a}return l(t,e),s(t,[{key:"initWithPreloadedData",value:function(e){e.expires_on&&(e.expires_on=(0,u["default"])(e.expires_on)),this.state={isLoaded:!0,ban:e}}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1}}},{key:"startPolling",value:function(e){g["default"].start({poll:"ban-details",url:e,frequency:9e4,update:this.update,error:this.error})}},{key:"componentDidMount",value:function(){E["default"].set({title:gettext("Ban details"),parent:this.props.profile.username})}},{key:"componentWillUnmount",value:function(){g["default"].stop("ban-details")}},{key:"getUserMessage",value:function(){return this.state.ban.user_message?d["default"].createElement("div",{className:"panel-body ban-message ban-user-message"},d["default"].createElement("h4",null,gettext("User-shown ban message")),d["default"].createElement("div",{className:"lead",dangerouslySetInnerHTML:{__html:this.state.ban.user_message.html}})):null}},{key:"getStaffMessage",value:function(){return this.state.ban.staff_message?d["default"].createElement("div",{className:"panel-body ban-message ban-staff-message"},d["default"].createElement("h4",null,gettext("Team-shown ban message")),d["default"].createElement("div",{className:"lead",dangerouslySetInnerHTML:{__html:this.state.ban.staff_message.html}})):null}},{key:"getExpirationMessage",value:function(){if(this.state.ban.expires_on){if(this.state.ban.expires_on.isAfter((0,u["default"])())){var e=interpolate(gettext("This ban expires on %(expires_on)s."),{expires_on:this.state.ban.expires_on.format("LL, LT")},!0),t=interpolate(gettext("This ban expires %(expires_on)s."),{expires_on:this.state.ban.expires_on.fromNow()},!0);return d["default"].createElement("abbr",{title:e},t)}return gettext("This ban has expired.")}return interpolate(gettext("%(username)s's ban is permanent."),{username:this.props.profile.username},!0)}},{key:"getPanelBody",value:function(){return this.state.ban?Object.keys(this.state.ban).length?d["default"].createElement("div",null,this.getUserMessage(),this.getStaffMessage(),d["default"].createElement("div",{className:"panel-body ban-expires"},d["default"].createElement("h4",null,gettext("Ban expiration")),d["default"].createElement("p",{className:"lead"},this.getExpirationMessage()))):d["default"].createElement("div",null,d["default"].createElement(h["default"],{message:gettext("No ban is active at the moment.")})):this.state.error?d["default"].createElement("div",null,d["default"].createElement(h["default"],{icon:"error_outline",message:this.state.error})):d["default"].createElement("div",null,d["default"].createElement(p["default"],null))}},{key:"render",value:function(){return d["default"].createElement("div",{className:"profile-ban-details"},d["default"].createElement("div",{className:"panel panel-default"},d["default"].createElement("div",{className:"panel-heading"},d["default"].createElement("h3",{className:"panel-title"},gettext("Ban details"))),this.getPanelBody()))}}]),t}(d["default"].Component);a["default"]=w},{"../../index":276,"../../services/page-title":345,"../../services/polls":346,"../panel-loader":71,"../panel-message":72,moment:"moment",react:"react"}],153:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.isAuthenticated,a=e.profile,n=null;return n=t?gettext("You are not sharing any details with others."):interpolate(gettext("%(username)s is not sharing any details with others."),{username:a.username},!0),o["default"].createElement("div",{className:"panel panel-default"},o["default"].createElement("div",{className:"panel-body text-center lead"},n))};var r=e("react"),o=n(r)},{react:"react"}],154:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.text,a=e.url;return a?l["default"].createElement("p",null,l["default"].createElement("a",{href:a,target:"_blank",rel:"nofollow"},t||a)):t?l["default"].createElement("p",null,t):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.html,a=e.text,n=e.url;return t?l["default"].createElement("div",{className:"form-control-static col-md-9",dangerouslySetInnerHTML:{__html:t}}):l["default"].createElement("div",{className:"form-control-static col-md-9"},l["default"].createElement(r,{text:a,url:n}))},a.SafeValue=r;var o=e("react"),l=n(o)},{react:"react"}],155:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("div",{className:"form-group"},o["default"].createElement("strong",{className:"control-label col-md-3"},e.name,":"),o["default"].createElement(s["default"],e))};var r=e("react"),o=n(r),l=e("./field-value"),s=n(l)},{"./field-value":154,react:"react"}],156:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.api,a=e.display,n=e.onCancel,r=e.onSuccess;return a?o["default"].createElement(s["default"],{api:t,onCancel:n,onSuccess:r}):null};var r=e("react"),o=n(r),l=e("../../edit-details"),s=n(l)},{"../../edit-details":29,react:"react"}],157:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.fields,a=e.name;return o["default"].createElement("div",{className:"panel panel-default panel-profile-details-group"},o["default"].createElement("div",{className:"panel-heading"},o["default"].createElement("h3",{className:"panel-title"},a)),o["default"].createElement("div",{className:"panel-body"},o["default"].createElement("div",{className:"form-horizontal"},t.map(function(e){var t=e.fieldname,a=e.html,n=e.name,r=e.text,l=e.url;return o["default"].createElement(s["default"],{key:t,name:n,html:a,text:r,url:l})}))))};var r=e("react"),o=n(r),l=e("./field"),s=n(l)},{"./field":155,react:"react"}],158:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.display,a=e.groups,n=e.isAuthenticated,r=e.loading,l=e.profile;return t?r?o["default"].createElement(d["default"],null):a.length?o["default"].createElement("div",null,a.map(function(e,t){return o["default"].createElement(u["default"],{fields:e.fields,key:t,name:e.name})})):o["default"].createElement(s["default"],{isAuthenticated:n,profile:l}):null};var r=e("react"),o=n(r),l=e("./empty-message"),s=n(l),i=e("./group"),u=n(i),c=e("../../loader"),d=n(c)},{"../../loader":54,"./empty-message":153,"./group":157,react:"react"}],159:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.onEdit,a=e.showEditButton;return a?l["default"].createElement("div",{className:"col-sm-4 col-md-2"},l["default"].createElement("button",{className:"btn btn-default btn-outline btn-block",onClick:t,type:"button"},gettext("Edit"))):null}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.onEdit,a=e.showEditButton;return l["default"].createElement("div",null,l["default"].createElement("nav",{className:"toolbar"},l["default"].createElement("div",{className:"row"},l["default"].createElement("div",{className:"col-sm-8 col-md-10"},l["default"].createElement("h3",{className:"md-margin-top-no"},gettext("Details"))),l["default"].createElement(r,{onEdit:t,showEditButton:a}))))},a.EditButton=r;var o=e("react"),l=n(o)},{react:"react"}],160:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./form"),d=n(c),f=e("./groups-list"),p=n(f),m=e("./header"),h=n(m),b=e("../../../data/profile-details"),v=n(b),y=e("../../../reducers/profile-details"),g=e("../../../services/page-title"),_=n(g),E=e("../../../services/snackbar"),w=n(E),O=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onCancel=function(){a.setState({editing:!1})},a.onEdit=function(){a.setState({editing:!0})},a.onSuccess=function(e){var t=a.props,n=t.dispatch,r=t.isAuthenticated,o=t.profile,l=null;l=r?gettext("Your details have been updated."):interpolate(gettext("%(username)s's details have been updated."),{username:o.username},!0),w["default"].info(l),n((0,y.load)(e)),a.setState({editing:!1})},a.state={editing:!1},a}return l(t,e),s(t,[{key:"componentDidMount",value:function(){_["default"].set({title:gettext("Details"),parent:this.props.profile.username})}},{key:"render",value:function(){var e=this.props,t=e.dispatch,a=e.isAuthenticated,n=e.profile,r=e.profileDetails,o=r.id!==n.id;return u["default"].createElement(v["default"],{data:r,dispatch:t,user:n},u["default"].createElement("div",{className:"profile-details"},u["default"].createElement(h["default"],{onEdit:this.onEdit,showEditButton:!!r.edit&&!this.state.editing}),u["default"].createElement(p["default"],{display:!this.state.editing,groups:r.groups,isAuthenticated:a,loading:o,profile:n}),u["default"].createElement(d["default"],{api:n.api.edit_details,dispatch:t,display:this.state.editing,onCancel:this.onCancel,onSuccess:this.onSuccess})))}}]),t}(u["default"].Component);a["default"]=O},{"../../../data/profile-details":275,"../../../reducers/profile-details":327,"../../../services/page-title":345,"../../../services/snackbar":348,"./form":156,"./groups-list":158,"./header":159,react:"react"}],161:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=null;t=e.user.id===e.profile.id?gettext("You have no started threads."):interpolate(gettext("%(username)s started no threads."),{username:e.profile.username},!0);var a=null;if(e.posts.isLoaded)if(e.profile.id===e.user.id){var n=ngettext("You have started %(threads)s thread.","You have started %(threads)s threads.",e.posts.count);a=interpolate(n,{threads:e.posts.count},!0)}else{var r=ngettext("%(username)s has started %(threads)s thread.","%(username)s has started %(threads)s threads.",e.posts.count);a=interpolate(r,{username:e.profile.username,threads:e.posts.count},!0)}else a=gettext("Loading...");return i["default"].createElement(c["default"],l({api:e.profile.api.threads,emptyMessage:t,header:a,title:gettext("Threads")},e))}function o(e){var t=null;t=e.user.id===e.profile.id?gettext("You have posted no messages."):interpolate(gettext("%(username)s posted no messages."),{username:e.profile.username},!0);var a=null;if(e.posts.isLoaded)if(e.profile.id===e.user.id){var n=ngettext("You have posted %(posts)s message.","You have posted %(posts)s messages.",e.posts.count);a=interpolate(n,{posts:e.posts.count},!0)}else{var r=ngettext("%(username)s has posted %(posts)s message.","%(username)s has posted %(posts)s messages.",e.posts.count);a=interpolate(r,{username:e.profile.username,posts:e.posts.count},!0)}else a=gettext("Loading...");return i["default"].createElement(c["default"],l({
-api:e.profile.api.posts,emptyMessage:t,header:a,title:gettext("Posts")},e))}Object.defineProperty(a,"__esModule",{value:!0});var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e};a.Threads=r,a.Posts=o;var s=e("react"),i=n(s),u=e("./route"),c=n(u)},{"./route":162,react:"react"}],162:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return e.posts.count?p["default"].createElement("div",null,p["default"].createElement(h["default"],{isReady:e.posts.isLoaded,posts:e.posts.results,poster:e.profile}),p["default"].createElement(u,{isLoading:e.isLoading,loadMore:e.loadMore,more:e.posts.more})):p["default"].createElement("p",{className:"lead"},e.emptyMessage)}function u(e){return e.more?p["default"].createElement("div",{className:"pager-more"},p["default"].createElement(v["default"],{className:"btn btn-default btn-outline",loading:e.isLoading,onClick:e.loadMore},interpolate(gettext("Show more (%(more)s)"),{more:e.more},!0))):null}Object.defineProperty(a,"__esModule",{value:!0});var c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},d=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.Feed=i,a.LoadMoreButton=u;var f=e("react"),p=r(f),m=e("../../post-feed"),h=r(m),b=e("../../button"),v=r(b),y=e("../../../reducers/posts"),g=n(y),_=e("../../../services/page-title"),E=r(_),w=e("../../../services/ajax"),O=r(w),k=e("../../../services/snackbar"),N=r(k),x=e("../../../services/store"),j=r(x),P=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.loadMore=function(){a.setState({isLoading:!0}),a.loadItems(a.props.posts.page+1)},a.state={isLoading:!1},a}return s(t,e),d(t,[{key:"loadItems",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;O["default"].get(this.props.api,{page:t||1}).then(function(a){1===t?j["default"].dispatch(g.load(a)):j["default"].dispatch(g.append(a)),e.setState({isLoading:!1})},function(t){e.setState({isLoading:!1}),N["default"].apiError(t)})}},{key:"componentDidMount",value:function(){E["default"].set({title:this.props.title,parent:this.props.profile.username}),this.loadItems()}},{key:"render",value:function(){return p["default"].createElement("div",{className:"profile-feed"},p["default"].createElement("nav",{className:"toolbar"},p["default"].createElement("h3",{className:"toolbar-left"},this.props.header)),p["default"].createElement(i,c({isLoading:this.state.isLoading,loadMore:this.loadMore},this.props)))}}]),t}(p["default"].Component);a["default"]=P},{"../../../reducers/posts":326,"../../../services/ajax":337,"../../../services/page-title":345,"../../../services/snackbar":348,"../../../services/store":349,"../../button":5,"../../post-feed":100,react:"react"}],163:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../button"),d=n(c),f=e("../../reducers/profile"),p=e("../../services/ajax"),m=n(p),h=e("../../services/snackbar"),b=n(h),v=e("../../services/store"),y=n(v),g=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.action=function(){a.setState({isLoading:!0}),a.props.profile.is_followed?y["default"].dispatch((0,f.patch)({is_followed:!1,followers:a.props.profile.followers-1})):y["default"].dispatch((0,f.patch)({is_followed:!0,followers:a.props.profile.followers+1})),m["default"].post(a.props.profile.api.follow).then(function(e){a.setState({isLoading:!1}),y["default"].dispatch((0,f.patch)(e))},function(e){a.setState({isLoading:!1}),b["default"].apiError(e)})},a.state={isLoading:!1},a}return l(t,e),s(t,[{key:"getClassName",value:function(){return this.props.profile.is_followed?this.props.className+" btn-default btn-following":this.props.className+" btn-default btn-follow"}},{key:"getIcon",value:function(){return this.props.profile.is_followed?"favorite":"favorite_border"}},{key:"getLabel",value:function(){return this.props.profile.is_followed?gettext("Following"):gettext("Follow")}},{key:"render",value:function(){return u["default"].createElement(d["default"],{className:this.getClassName(),disabled:this.state.isLoading,onClick:this.action},u["default"].createElement("span",{className:"material-icon"},this.getIcon()),this.getLabel())}}]),t}(u["default"].Component);a["default"]=g},{"../../reducers/profile":328,"../../services/ajax":337,"../../services/snackbar":348,"../../services/store":349,"../button":5,react:"react"}],164:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../button"),d=n(c),f=e("../quick-search"),p=n(f),m=e("../users-list"),h=n(m),b=e("../../index"),v=n(b),y=e("../../reducers/users"),g=e("../../services/ajax"),_=n(g),E=e("../../services/snackbar"),w=n(E),O=e("../../services/store"),k=n(O),N=e("../../services/page-title"),x=n(N),j=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.loadMore=function(){a.setState({isBusy:!0}),a.loadUsers(a.state.page+1,a.state.search)},a.search=function(e){a.setState({isLoaded:!1,isBusy:!0,search:e.target.value,count:0,more:0,page:1,pages:1}),a.loadUsers(1,e.target.value)},a.setSpecialProps(),v["default"].has(a.PRELOADED_DATA_KEY)?a.initWithPreloadedData(v["default"].pop(a.PRELOADED_DATA_KEY)):a.initWithoutPreloadedData(),a}return l(t,e),s(t,[{key:"setSpecialProps",value:function(){this.PRELOADED_DATA_KEY="PROFILE_FOLLOWERS",this.TITLE=gettext("Followers"),this.API_FILTER="followers"}},{key:"initWithPreloadedData",value:function(e){this.state={isLoaded:!0,isBusy:!1,search:"",count:e.count,more:e.more,page:e.page,pages:e.pages},k["default"].dispatch((0,y.hydrate)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1,isBusy:!1,search:"",count:0,more:0,page:1,pages:1},this.loadUsers()}},{key:"loadUsers",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=this.props.profile.api[this.API_FILTER];_["default"].get(n,{search:a,page:t||1},"user-"+this.API_FILTER).then(function(a){1===t?k["default"].dispatch((0,y.hydrate)(a.results)):k["default"].dispatch((0,y.append)(a.results)),e.setState({isLoaded:!0,isBusy:!1,count:a.count,more:a.more,page:a.page,pages:a.pages})},function(e){w["default"].apiError(e)})}},{key:"componentDidMount",value:function(){x["default"].set({title:this.TITLE,parent:this.props.profile.username})}},{key:"getLabel",value:function(){if(this.state.isLoaded){if(this.state.search){var e=ngettext("Found %(users)s user.","Found %(users)s users.",this.state.count);return interpolate(e,{users:this.state.count},!0)}if(this.props.profile.id===this.props.user.id){var t=ngettext("You have %(users)s follower.","You have %(users)s followers.",this.state.count);return interpolate(t,{users:this.state.count},!0)}var a=ngettext("%(username)s has %(users)s follower.","%(username)s has %(users)s followers.",this.state.count);return interpolate(a,{username:this.props.profile.username,users:this.state.count},!0)}return gettext("Loading...")}},{key:"getEmptyMessage",value:function(){return this.state.search?gettext("Search returned no users matching specified criteria."):this.props.user.id===this.props.profile.id?gettext("You have no followers."):interpolate(gettext("%(username)s has no followers."),{username:this.props.profile.username},!0)}},{key:"getMoreButton",value:function(){return this.state.more?u["default"].createElement("div",{className:"pager-more"},u["default"].createElement(d["default"],{className:"btn btn-default btn-outline",loading:this.state.isBusy,onClick:this.loadMore},interpolate(gettext("Show more (%(more)s)"),{more:this.state.more},!0))):null}},{key:"getListBody",value:function(){return this.state.isLoaded&&0===this.state.count?u["default"].createElement("p",{className:"lead"},this.getEmptyMessage()):u["default"].createElement("div",null,u["default"].createElement(h["default"],{cols:3,isReady:this.state.isLoaded,users:this.props.users}),this.getMoreButton())}},{key:"getClassName",value:function(){return"profile-"+this.API_FILTER}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName()},u["default"].createElement("nav",{className:"toolbar"},u["default"].createElement("h3",{className:"toolbar-left"},this.getLabel()),u["default"].createElement(p["default"],{className:"toolbar-right",value:this.state.search,onChange:this.search,placeholder:gettext("Search users...")})),this.getListBody())}}]),t}(u["default"].Component);a["default"]=j},{"../../index":276,"../../reducers/users":336,"../../services/ajax":337,"../../services/page-title":345,"../../services/snackbar":348,"../../services/store":349,"../button":5,"../quick-search":175,"../users-list":258,react:"react"}],165:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=(n(i),e("./followers")),c=n(u),d=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"setSpecialProps",value:function(){this.PRELOADED_DATA_KEY="PROFILE_FOLLOWS",this.TITLE=gettext("Follows"),this.API_FILTER="follows"}},{key:"getLabel",value:function(){if(this.state.isLoaded){if(this.state.search){var e=ngettext("Found %(users)s user.","Found %(users)s users.",this.state.count);return interpolate(e,{users:this.state.count},!0)}if(this.props.profile.id===this.props.user.id){var t=ngettext("You are following %(users)s user.","You are following %(users)s users.",this.state.count);return interpolate(t,{users:this.state.count},!0)}var a=ngettext("%(username)s is following %(users)s user.","%(username)s is following %(users)s users.",this.state.count);return interpolate(a,{username:this.props.profile.username,users:this.state.count},!0)}return gettext("Loading...")}},{key:"getEmptyMessage",value:function(){return this.state.search?gettext("Search returned no users matching specified criteria."):this.props.user.id===this.props.profile.id?gettext("You are not following any users."):interpolate(gettext("%(username)s is not following any users."),{username:this.props.profile.username},!0)}}]),t}(c["default"]);a["default"]=d},{"./followers":164,react:"react"}],166:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return e.isActive!==!1?null:d["default"].createElement("div",{className:"alert alert-danger"},d["default"].createElement("p",null,gettext("This user's account has been disabled by administrator.")))}function i(e,t){var a="";return 1==e&&(a="col-xs-12"),2==e&&(a="col-xs-6 col-sm-6"),3==e&&(2==t?a="col-xs-12 col-sm-4 xs-margin-top":a+="col-xs-6 col-sm-4"),a}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.IsDisabledMessage=s,a.getColStyle=i;var c=e("react"),d=n(c),f=e("../avatar"),p=n(f),m=e("../dropdown-toggle"),h=(n(m),e("./follow-button")),b=n(h),v=e("./message-button"),y=n(v),g=e("./moderation/nav"),_=n(g),E=e("./navs"),w=e("../user-status"),O=n(w),k=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),u(t,[{key:"getUserStatus",value:function(){return d["default"].createElement("li",{className:"user-status-display"},d["default"].createElement(O["default"],{user:this.props.profile,status:this.props.profile.status},d["default"].createElement(w.StatusIcon,{user:this.props.profile,status:this.props.profile.status}),d["default"].createElement(w.StatusLabel,{user:this.props.profile,status:this.props.profile.status,className:"status-label"})))}},{key:"getUserRank",value:function(){return this.props.profile.rank.is_tab?d["default"].createElement("li",{className:"user-rank"},d["default"].createElement("a",{href:this.props.profile.rank.url,className:"item-title"},this.props.profile.rank.name)):d["default"].createElement("li",{className:"user-rank"},d["default"].createElement("span",{className:"item-title"},this.props.profile.rank.name))}},{key:"getUserTitle",value:function(){return this.props.profile.title?d["default"].createElement("li",{className:"user-title"},this.props.profile.title):this.props.profile.rank.title?d["default"].createElement("li",{className:"user-title"},this.props.profile.rank.title):null}},{key:"getJoinedOn",value:function(){var e=interpolate(gettext("Joined on %(joined_on)s"),{joined_on:this.props.profile.joined_on.format("LL, LT")},!0),t=interpolate(gettext("Joined %(joined_on)s"),{joined_on:this.props.profile.joined_on.fromNow()},!0);return d["default"].createElement("li",{className:"user-joined-on"},d["default"].createElement("abbr",{title:e},t))}},{key:"getEmail",value:function(){return this.props.profile.email?d["default"].createElement("li",{className:"user-email"},d["default"].createElement("a",{href:"mailto:"+this.props.profile.email,className:"item-title"},this.props.profile.email)):null}},{key:"getFollowButton",value:function(){return this.props.profile.acl.can_follow?d["default"].createElement(b["default"],{className:"btn btn-block btn-outline",profile:this.props.profile}):null}},{key:"getModerationButton",value:function(){return this.props.profile.acl.can_moderate?d["default"].createElement("div",{className:"btn-group btn-group-justified"},d["default"].createElement("div",{className:"btn-group"},d["default"].createElement("button",{className:"btn btn-default btn-moderate btn-outline dropdown-toggle",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},d["default"].createElement("span",{className:"material-icon"},"tonality"),gettext("Moderation")),d["default"].createElement(_["default"],{profile:this.props.profile}))):null}},{key:"render",value:function(){var e=this.props.profile.acl.can_follow,t=this.props.profile.acl.can_moderate,a=this.props.user.id===this.props.profile.id,n=!a&&this.props.user.acl.can_start_private_threads,r=0;e&&(r+=1),t&&(r+=1),n&&(r+=1);var o=r?2*r+1:0,l="page-header";return this.props.profile.rank.css_class&&(l+=" page-header-rank-"+this.props.profile.rank.css_class),d["default"].createElement("div",{className:"page-header-bg"},d["default"].createElement("div",{className:l},d["default"].createElement("div",{className:"container"},d["default"].createElement(s,{isActive:this.props.profile.is_active}),d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-md-9 col-md-offset-3"},d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-sm-"+(12-o)},d["default"].createElement(p["default"],{className:"user-avatar user-avatar-sm",user:this.props.profile,size:"100",size2x:"200"}),d["default"].createElement("h1",null,this.props.profile.username)),!!r&&d["default"].createElement("div",{className:"col-sm-"+o},d["default"].createElement("div",{className:"row xs-margin-top sm-margin-top"},n&&d["default"].createElement("div",{className:i(r,0)},d["default"].createElement(y["default"],{className:"btn btn-default btn-block btn-outline",profile:this.props.profile,user:this.props.user})),e&&d["default"].createElement("div",{className:i(r,1)},this.getFollowButton()),t&&d["default"].createElement("div",{className:i(r,2)},this.getModerationButton()))))))),d["default"].createElement("div",{className:"header-stats"},d["default"].createElement("div",{className:"container"},d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-md-9 col-md-offset-3"},d["default"].createElement("ul",{className:"list-inline"},this.getUserStatus(),this.getUserRank(),this.getUserTitle(),this.getJoinedOn(),this.getEmail()))))),d["default"].createElement(E.CompactNav,{baseUrl:this.props.baseUrl,pages:this.props.pages,profile:this.props.profile})))}}]),t}(d["default"].Component);a["default"]=k},{"../avatar":3,"../dropdown-toggle":24,"../user-status":248,"./follow-button":163,"./message-button":167,"./moderation/nav":171,"./navs":172,react:"react"}],167:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../../services/posting"),d=n(c),f=e("../.."),p=n(f),m=function(e){function t(){var e,a,n,l;r(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){d["default"].open({mode:"START_PRIVATE",submit:p["default"].get("PRIVATE_THREADS_API"),to:[n.props.profile]})},l=a,o(n,l)}return l(t,e),s(t,[{key:"render",value:function(){var e=this.props.user.acl.can_start_private_threads,t=this.props.user.id===this.props.profile.id;return!e||t?null:u["default"].createElement("button",{className:this.props.className,onClick:this.onClick,type:"button"},u["default"].createElement("span",{className:"material-icon"},"comment"),gettext("Message"))}}]),t}(u["default"].Component);a["default"]=m},{"../..":276,"../../services/posting":347,react:"react"}],168:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../../button"),d=n(c),f=e("../../form"),p=n(f),m=e("../../form-group"),h=n(m),b=e("../../modal-loader"),v=n(b),y=e("../../yes-no-switch"),g=n(y),_=e("../../modal-message"),E=n(_),w=e("../../../reducers/users"),O=e("../../../services/ajax"),k=n(O),N=e("../../../services/snackbar"),x=n(N),j=e("../../../services/store"),P=n(j),C=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={isLoaded:!1,isLoading:!1,error:null,is_avatar_locked:"",avatar_lock_user_message:"",avatar_lock_staff_message:""},a}return l(t,e),s(t,[{key:"componentDidMount",value:function(){var e=this;k["default"].get(this.props.profile.api.moderate_avatar).then(function(t){e.setState({isLoaded:!0,is_avatar_locked:t.is_avatar_locked,avatar_lock_user_message:t.avatar_lock_user_message||"",avatar_lock_staff_message:t.avatar_lock_staff_message||""})},function(t){e.setState({isLoaded:!0,error:t.detail})})}},{key:"clean",value:function(){return!!this.isValid()||(x["default"].error(this.validate().username[0]),!1)}},{key:"send",value:function(){return k["default"].post(this.props.profile.api.moderate_avatar,{is_avatar_locked:this.state.is_avatar_locked,avatar_lock_user_message:this.state.avatar_lock_user_message,avatar_lock_staff_message:this.state.avatar_lock_staff_message})}},{key:"handleSuccess",value:function(e){P["default"].dispatch((0,w.updateAvatar)(this.props.profile,e.avatar_hash)),x["default"].success(gettext("Avatar controls have been changed."))}},{key:"getFormBody",value:function(){return u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"modal-body"},u["default"].createElement(h["default"],{label:gettext("Lock avatar"),helpText:gettext("Locking user avatar will prohibit user from changing his avatar and will reset his/her avatar to default one."),"for":"id_is_avatar_locked"},u["default"].createElement(g["default"],{id:"id_is_avatar_locked",disabled:this.state.isLoading,iconOn:"lock_outline",iconOff:"lock_open",labelOn:gettext("Disallow user from changing avatar"),labelOff:gettext("Allow user to change avatar"),onChange:this.bindInput("is_avatar_locked"),value:this.state.is_avatar_locked})),u["default"].createElement(h["default"],{label:gettext("User message"),helpText:gettext("Optional message for user explaining why he/she is prohibited form changing avatar."),"for":"id_avatar_lock_user_message"},u["default"].createElement("textarea",{id:"id_avatar_lock_user_message",className:"form-control",rows:"4",disabled:this.state.isLoading,onChange:this.bindInput("avatar_lock_user_message"),value:this.state.avatar_lock_user_message})),u["default"].createElement(h["default"],{label:gettext("Staff message"),helpText:gettext("Optional message for forum team members explaining why user is prohibited form changing avatar."),"for":"id_avatar_lock_staff_message"},u["default"].createElement("textarea",{id:"id_avatar_lock_staff_message",className:"form-control",rows:"4",disabled:this.state.isLoading,onChange:this.bindInput("avatar_lock_staff_message"),value:this.state.avatar_lock_staff_message}))),u["default"].createElement("div",{className:"modal-footer"},u["default"].createElement("button",{type:"button",className:"btn btn-default","data-dismiss":"modal"},gettext("Close")),u["default"].createElement(d["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Save changes"))))}},{key:"getModalBody",value:function(){return this.state.error?u["default"].createElement(E["default"],{icon:"remove_circle_outline",message:this.state.error}):this.state.isLoaded?this.getFormBody():u["default"].createElement(v["default"],null)}},{key:"getClassName",value:function(){return this.state.error?"modal-dialog modal-message modal-avatar-controls":"modal-dialog modal-avatar-controls"}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName(),role:"document"},u["default"].createElement("div",{className:"modal-content"},u["default"].createElement("div",{className:"modal-header"},u["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},u["default"].createElement("span",{"aria-hidden":"true"},"×")),u["default"].createElement("h4",{className:"modal-title"},gettext("Avatar controls"))),this.getModalBody()))}}]),t}(p["default"]);a["default"]=C},{"../../../reducers/users":336,"../../../services/ajax":337,"../../../services/snackbar":348,"../../../services/store":349,"../../button":5,"../../form":52,"../../form-group":51,"../../modal-loader":57,"../../modal-message":58,"../../yes-no-switch":274,react:"react"}],169:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../../button"),f=r(d),p=e("../../form"),m=r(p),h=e("../../form-group"),b=r(h),v=e("../../modal-loader"),y=r(v),g=e("../../modal-message"),_=r(g),E=e("../../../reducers/username-history"),w=e("../../../reducers/users"),O=e("../../../services/ajax"),k=r(O),N=e("../../../services/snackbar"),x=r(N),j=e("../../../services/store"),P=r(j),C=e("../../../utils/validators"),S=n(C),M=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={isLoaded:!1,isLoading:!1,error:null,username:"",validators:{username:[S.usernameContent()]}},a}return s(t,e),i(t,[{key:"componentDidMount",value:function(){var e=this;k["default"].get(this.props.profile.api.moderate_username).then(function(){e.setState({isLoaded:!0})},function(t){e.setState({isLoaded:!0,error:t.detail})})}},{key:"clean",value:function(){return!!this.isValid()||(x["default"].error(this.validate().username[0]),!1)}},{key:"send",value:function(){return k["default"].post(this.props.profile.api.moderate_username,{username:this.state.username})}},{key:"handleSuccess",value:function(e){this.setState({username:""}),P["default"].dispatch((0,E.addNameChange)(e,this.props.profile,this.props.user)),P["default"].dispatch((0,w.updateUsername)(this.props.profile,e.username,e.slug)),x["default"].success(gettext("Username has been changed."))}},{key:"getFormBody",value:function(){return c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"modal-body"},c["default"].createElement(b["default"],{label:gettext("New username"),"for":"id_username"},c["default"].createElement("input",{type:"text",id:"id_username",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("username"),value:this.state.username}))),c["default"].createElement("div",{className:"modal-footer"},c["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},gettext("Cancel")),c["default"].createElement(f["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Change username"))))}},{key:"getModalBody",value:function(){return this.state.error?c["default"].createElement(_["default"],{icon:"remove_circle_outline",message:this.state.error}):this.state.isLoaded?this.getFormBody():c["default"].createElement(y["default"],null)}},{key:"getClassName",value:function(){return this.state.error?"modal-dialog modal-message modal-rename-user":"modal-dialog modal-rename-user"}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName(),role:"document"},c["default"].createElement("div",{className:"modal-content"},c["default"].createElement("div",{className:"modal-header"},c["default"].createElement("button",{type:"button",
-className:"close","data-dismiss":"modal","aria-label":gettext("Close")},c["default"].createElement("span",{"aria-hidden":"true"},"×")),c["default"].createElement("h4",{className:"modal-title"},gettext("Change username"))),this.getModalBody()))}}]),t}(m["default"]);a["default"]=M},{"../../../reducers/username-history":335,"../../../reducers/users":336,"../../../services/ajax":337,"../../../services/snackbar":348,"../../../services/store":349,"../../../utils/validators":365,"../../button":5,"../../form":52,"../../form-group":51,"../../modal-loader":57,"../../modal-message":58,react:"react"}],170:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../../button"),d=n(c),f=e("../../form"),p=n(f),m=e("../../form-group"),h=n(m),b=e("../../modal-loader"),v=n(b),y=e("../../modal-message"),g=n(y),_=e("../../yes-no-switch"),E=n(_),w=e("../../../index"),O=n(w),k=e("../../../services/ajax"),N=n(k),x=e("../../../services/polls"),j=n(x),P=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.countdown=function(){window.setTimeout(function(){a.state.countdown>1?(a.setState({countdown:a.state.countdown-1}),a.countdown()):a.state.confirm||a.setState({confirm:!0})},1e3)},a.state={isLoaded:!1,isLoading:!1,isDeleted:!1,error:null,countdown:5,confirm:!1,with_content:!1},a}return l(t,e),s(t,[{key:"componentDidMount",value:function(){var e=this;N["default"].get(this.props.profile.api["delete"]).then(function(){e.setState({isLoaded:!0}),e.countdown()},function(t){e.setState({isLoaded:!0,error:t.detail})})}},{key:"send",value:function(){return N["default"].post(this.props.profile.api["delete"],{with_content:this.state.with_content})}},{key:"handleSuccess",value:function(){j["default"].stop("user-profile"),this.state.with_content?this.setState({isDeleted:interpolate(gettext("%(username)s's account, threads, posts and other content has been deleted."),{username:this.props.profile.username},!0)}):this.setState({isDeleted:interpolate(gettext("%(username)s's account has been deleted and other content has been hidden."),{username:this.props.profile.username},!0)})}},{key:"getButtonLabel",value:function(){return this.state.confirm?interpolate(gettext("Delete %(username)s"),{username:this.props.profile.username},!0):interpolate(gettext("Please wait... (%(countdown)ss)"),{countdown:this.state.countdown},!0)}},{key:"getForm",value:function(){return u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"modal-body"},u["default"].createElement(h["default"],{label:gettext("User content"),"for":"id_with_content"},u["default"].createElement(E["default"],{id:"id_with_content",disabled:this.state.isLoading,labelOn:gettext("Delete together with user's account"),labelOff:gettext("Hide after deleting user's account"),onChange:this.bindInput("with_content"),value:this.state.with_content}))),u["default"].createElement("div",{className:"modal-footer"},u["default"].createElement("button",{type:"button",className:"btn btn-default","data-dismiss":"modal"},gettext("Cancel")),u["default"].createElement(d["default"],{className:"btn-danger",loading:this.state.isLoading,disabled:!this.state.confirm},this.getButtonLabel())))}},{key:"getDeletedBody",value:function(){return u["default"].createElement("div",{className:"modal-body"},u["default"].createElement("div",{className:"message-icon"},u["default"].createElement("span",{className:"material-icon"},"info_outline")),u["default"].createElement("div",{className:"message-body"},u["default"].createElement("p",{className:"lead"},this.state.isDeleted),u["default"].createElement("p",null,u["default"].createElement("a",{href:O["default"].get("USERS_LIST_URL")},gettext("Return to users list")))))}},{key:"getModalBody",value:function(){return this.state.error?u["default"].createElement(g["default"],{icon:"remove_circle_outline",message:this.state.error}):this.state.isLoaded?this.state.isDeleted?this.getDeletedBody():this.getForm():u["default"].createElement(v["default"],null)}},{key:"getClassName",value:function(){return this.state.error||this.state.isDeleted?"modal-dialog modal-message modal-delete-account":"modal-dialog modal-delete-account"}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName(),role:"document"},u["default"].createElement("div",{className:"modal-content"},u["default"].createElement("div",{className:"modal-header"},u["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},u["default"].createElement("span",{"aria-hidden":"true"},"×")),u["default"].createElement("h4",{className:"modal-title"},gettext("Delete user account"))),this.getModalBody()))}}]),t}(p["default"]);a["default"]=P},{"../../../index":276,"../../../services/ajax":337,"../../../services/polls":346,"../../button":5,"../../form":52,"../../form-group":51,"../../modal-loader":57,"../../modal-message":58,"../../yes-no-switch":274,react:"react"}],171:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("react-redux"),d=e("./avatar-controls"),f=n(d),p=e("./change-username"),m=n(p),h=e("./delete-account"),b=n(h),v=e("../../../services/modal"),y=n(v),g=function(e){return{tick:e.tick,user:e.auth,profile:e.profile}},_=function(e){function t(){var e,a,n,l;r(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.showAvatarDialog=function(){y["default"].show((0,c.connect)(g)(f["default"]))},n.showRenameDialog=function(){y["default"].show((0,c.connect)(g)(m["default"]))},n.showDeleteDialog=function(){y["default"].show((0,c.connect)(g)(b["default"]))},l=a,o(n,l)}return l(t,e),s(t,[{key:"getAvatarButton",value:function(){return this.props.profile.acl.can_moderate_avatar?u["default"].createElement("li",null,u["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.showAvatarDialog},u["default"].createElement("span",{className:"material-icon"},"portrait"),gettext("Avatar controls"))):null}},{key:"getRenameButton",value:function(){return this.props.profile.acl.can_rename?u["default"].createElement("li",null,u["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.showRenameDialog},u["default"].createElement("span",{className:"material-icon"},"credit_card"),gettext("Change username"))):null}},{key:"getDeleteButton",value:function(){return this.props.profile.acl.can_delete?u["default"].createElement("li",null,u["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.showDeleteDialog},u["default"].createElement("span",{className:"material-icon"},"clear"),gettext("Delete account"))):null}},{key:"render",value:function(){return u["default"].createElement("ul",{className:"dropdown-menu dropdown-menu-right stick-to-bottom",role:"menu"},this.getAvatarButton(),this.getRenameButton(),this.getDeleteButton())}}]),t}(u["default"].Component);a["default"]=_},{"../../../services/modal":343,"./avatar-controls":168,"./change-username":169,"./delete-account":170,react:"react","react-redux":"react-redux"}],172:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return c["default"].createElement("div",{className:"page-tabs hidden-md hidden-lg"},c["default"].createElement("div",{className:"container"},c["default"].createElement("ul",{className:"nav nav-pills",role:"menu"},e.pages.map(function(t){return c["default"].createElement(p["default"],{path:e.baseUrl+t.component+"/",key:t.component},c["default"].createElement(d.Link,{to:e.baseUrl+t.component+"/",onClick:e.hideNav},c["default"].createElement("span",{className:"material-icon"},t.icon),t.name))}))))}Object.defineProperty(a,"__esModule",{value:!0}),a.SideNav=void 0;var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.CompactNav=s;var u=e("react"),c=n(u),d=e("react-router"),f=e("../li"),p=n(f),m=e("./follow-button"),h=(n(m),e("../../index"));n(h),a.SideNav=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),i(t,[{key:"render",value:function(){var e=this;return c["default"].createElement("div",{className:"list-group nav-side"},this.props.pages.map(function(t){return c["default"].createElement(d.Link,{to:e.props.baseUrl+t.component+"/",className:"list-group-item",activeClassName:"active",key:t.component},c["default"].createElement("span",{className:"material-icon"},t.icon),t.name)}))}}]),t}(c["default"].Component)},{"../../index":276,"../li":53,"./follow-button":163,react:"react","react-router":"react-router"}],173:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return{isAuthenticated:e.auth.user.id===e.profile.id,tick:e.tick.tick,user:e.auth.user,users:e.users,posts:e.posts,profile:e.profile,profileDetails:e["profile-details"],"username-history":e["username-history"]}}function i(){var e=[];return L["default"].get("PROFILE_PAGES").forEach(function(t){e.push(Object.assign({},t,{path:L["default"].get("PROFILE").url+t.component+"/",component:(0,f.connect)(s)(H[t.component])}))}),e}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.select=s,a.paths=i;var c=e("react"),d=n(c),f=e("react-redux"),p=e("./ban-details"),m=n(p),h=e("./details"),b=n(h),v=e("./feed"),y=e("./followers"),g=n(y),_=e("./follows"),E=n(_),w=e("./username-history"),O=n(w),k=e("./header"),N=n(k),x=e("./moderation/nav"),j=(n(x),e("./navs")),P=e("../avatar"),C=n(P),S=e("../with-dropdown"),M=n(S),T=e("../.."),L=n(T),R=e("../../reducers/profile"),A=e("../../services/polls"),I=n(A),D=e("../../services/store"),U=n(D),B=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.update=function(e){U["default"].dispatch((0,R.hydrate)(e))},a.startPolling(e.profile.api.index),a}return l(t,e),u(t,[{key:"startPolling",value:function(e){I["default"].start({poll:"user-profile",url:e,frequency:9e4,update:this.update})}},{key:"render",value:function(){var e=L["default"].get("PROFILE").url,t=L["default"].get("PROFILE_PAGES");return d["default"].createElement("div",{className:"page page-user-profile"},d["default"].createElement(N["default"],{baseUrl:e,pages:t,profile:this.props.profile,toggleNav:this.toggleNav,toggleModeration:this.toggleModeration,user:this.props.user}),d["default"].createElement("div",{className:"container"},d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-md-3 hidden-xs hidden-sm"},d["default"].createElement("div",{className:"profile-side-avatar"},d["default"].createElement(C["default"],{user:this.props.profile,size:"400"})),d["default"].createElement(j.SideNav,{baseUrl:e,pages:t,profile:this.props.profile})),d["default"].createElement("div",{className:"col-md-9"},this.props.children))))}}]),t}(M["default"]);a["default"]=B;var H={posts:v.Posts,threads:v.Threads,followers:g["default"],follows:E["default"],details:b["default"],"username-history":O["default"],"ban-details":m["default"]}},{"../..":276,"../../reducers/profile":328,"../../services/polls":346,"../../services/store":349,"../avatar":3,"../with-dropdown":273,"./ban-details":152,"./details":160,"./feed":161,"./followers":164,"./follows":165,"./header":166,"./moderation/nav":171,"./navs":172,"./username-history":174,react:"react","react-redux":"react-redux"}],174:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../button"),d=n(c),f=e("../quick-search"),p=n(f),m=e("../username-history/root"),h=n(m),b=e("../../index"),v=n(b),y=e("../../reducers/username-history"),g=e("../../services/ajax"),_=n(g),E=e("../../services/snackbar"),w=n(E),O=e("../../services/store"),k=n(O),N=e("../../services/page-title"),x=n(N),j=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.loadMore=function(){a.setState({isBusy:!0}),a.loadChanges(a.state.page+1,a.state.search)},a.search=function(e){a.setState({isLoaded:!1,isBusy:!0,search:e.target.value,count:0,more:0,page:1,pages:1}),a.loadChanges(1,e.target.value)},v["default"].has("PROFILE_NAME_HISTORY")?a.initWithPreloadedData(v["default"].pop("PROFILE_NAME_HISTORY")):a.initWithoutPreloadedData(),a}return l(t,e),s(t,[{key:"initWithPreloadedData",value:function(e){this.state={isLoaded:!0,isBusy:!1,search:"",count:e.count,more:e.more,page:e.page,pages:e.pages},k["default"].dispatch((0,y.hydrate)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1,isBusy:!1,search:"",count:0,more:0,page:1,pages:1},this.loadChanges()}},{key:"loadChanges",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;_["default"].get(v["default"].get("USERNAME_CHANGES_API"),{user:this.props.profile.id,search:a,page:t||1},"search-username-history").then(function(a){1===t?k["default"].dispatch((0,y.hydrate)(a.results)):k["default"].dispatch((0,y.append)(a.results)),e.setState({isLoaded:!0,isBusy:!1,count:a.count,more:a.more,page:a.page,pages:a.pages})},function(e){w["default"].apiError(e)})}},{key:"componentDidMount",value:function(){x["default"].set({title:gettext("Username history"),parent:this.props.profile.username})}},{key:"getLabel",value:function(){if(this.state.isLoaded){if(this.state.search){var e=ngettext("Found %(changes)s username change.","Found %(changes)s username changes.",this.state.count);return interpolate(e,{changes:this.state.count},!0)}if(this.props.profile.id===this.props.user.id){var t=ngettext("Your username was changed %(changes)s time.","Your username was changed %(changes)s times.",this.state.count);return interpolate(t,{changes:this.state.count},!0)}var a=ngettext("%(username)s's username was changed %(changes)s time.","%(username)s's username was changed %(changes)s times.",this.state.count);return interpolate(a,{username:this.props.profile.username,changes:this.state.count},!0)}return gettext("Loading...")}},{key:"getEmptyMessage",value:function(){return this.state.search?gettext("Search returned no username changes matching specified criteria."):this.props.user.id===this.props.profile.id?gettext("No name changes have been recorded for your account."):interpolate(gettext("%(username)s's username was never changed."),{username:this.props.profile.username},!0)}},{key:"getMoreButton",value:function(){return this.state.more?u["default"].createElement("div",{className:"pager-more"},u["default"].createElement(d["default"],{className:"btn btn-default btn-outline",loading:this.state.isBusy,onClick:this.loadMore},interpolate(gettext("Show older (%(more)s)"),{more:this.state.more},!0))):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"profile-username-history"},u["default"].createElement("nav",{className:"toolbar"},u["default"].createElement("h3",{className:"toolbar-left"},this.getLabel()),u["default"].createElement(p["default"],{className:"toolbar-right",value:this.state.search,onChange:this.search,placeholder:gettext("Search history...")})),u["default"].createElement(h["default"],{isLoaded:this.state.isLoaded,emptyMessage:this.getEmptyMessage(),changes:this.props["username-history"]}),this.getMoreButton())}}]),t}(u["default"].Component);a["default"]=j},{"../../index":276,"../../reducers/username-history":335,"../../services/ajax":337,"../../services/page-title":345,"../../services/snackbar":348,"../../services/store":349,"../button":5,"../quick-search":175,"../username-history/root":254,react:"react"}],175:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"getClassName",value:function(){return this.props.className?"form-search "+this.props.className:"form-search"}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName()},u["default"].createElement("input",{type:"text",className:"form-control",value:this.props.value,onChange:this.props.onChange,placeholder:this.props.placeholder||gettext("Search...")}),u["default"].createElement("span",{className:"material-icon"},"search"))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],176:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./loader"),d=n(c),f=e("./register.js"),p=n(f),m=e("../services/ajax"),h=n(m),b=e("../services/captcha"),v=n(b),y=e("../services/modal"),g=n(y),_=e("../services/snackbar"),E=n(_),w=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.showRegisterForm=function(){"closed"===misago.get("SETTINGS").account_activation?E["default"].info(gettext("New registrations are currently disabled.")):a.state.isLoaded?g["default"].show(u["default"].createElement(p["default"],{criteria:a.state.criteria})):(a.setState({isLoading:!0}),Promise.all([v["default"].load(),h["default"].get(misago.get("AUTH_CRITERIA_API"))]).then(function(e){a.setState({isLoading:!1,isLoaded:!0,criteria:e[1]}),g["default"].show(u["default"].createElement(p["default"],{criteria:e[1]}))},function(){a.setState({isLoading:!1}),E["default"].error(gettext("Registration is currently unavailable due to an error."))}))},a.state={isLoading:!1,isLoaded:!1,criteria:null},a}return l(t,e),s(t,[{key:"getClassName",value:function(){return this.props.className+(this.state.isLoading?" btn-loading":"")}},{key:"render",value:function(){return u["default"].createElement("button",{className:"btn "+this.getClassName(),disabled:this.state.isLoading,onClick:this.showRegisterForm,type:"button"},gettext("Register"),this.state.isLoading?u["default"].createElement(d["default"],null):null)}}]),t}(u["default"].Component);a["default"]=w},{"../services/ajax":337,"../services/captcha":339,"../services/modal":343,"../services/snackbar":348,"./loader":54,"./register.js":177,react:"react"}],177:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.RegisterComplete=a.RegisterForm=void 0;var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),c=e("react"),d=r(c),f=e("./button"),p=r(f),m=e("./form"),h=r(m),b=e("./form-group"),v=r(b),y=e("./password-strength"),g=r(y),_=e(".."),E=r(_),w=e("../services/ajax"),O=r(w),k=e("../services/auth"),N=r(k),x=e("../services/captcha"),j=r(x),P=e("../services/modal"),C=r(P),S=e("../services/snackbar"),M=r(S),T=e("../utils/banned-page"),L=r(T),R=e("../utils/validators"),A=n(R),I=a.RegisterForm=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e)),n=a.props.criteria,r=n.username,s=n.password,i=0;return s.forEach(function(e){"MinimumLengthValidator"===e.name&&(i=e.min_length)}),a.state={isLoading:!1,username:"",email:"",password:"",captcha:"",validators:{username:[A.usernameContent(),A.usernameMinLength(r.min_length),A.usernameMaxLength(r.max_length)],email:[A.email()],password:[A.passwordMinLength(i)],captcha:j["default"].validator()},errors:{}},a}return s(t,e),u(t,[{key:"clean",value:function(){return!!this.isValid()||(M["default"].error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return O["default"].post(E["default"].get("USERS_API"),{username:this.state.username,email:this.state.email,password:this.state.password,captcha:this.state.captcha})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){400===e.status?(this.setState({errors:Object.assign({},this.state.errors,e)}),e.__all__&&e.__all__.length>0?M["default"].error(e.__all__[0]):M["default"].error(gettext("Form contains errors."))):403===e.status&&e.ban?((0,L["default"])(e.ban),C["default"].hide()):M["default"].apiError(e)}},{key:"getLegalFootNote",value:function(){return E["default"].get("TERMS_OF_SERVICE_URL")?d["default"].createElement("p",{className:"legal-footnote"},d["default"].createElement("span",{className:"material-icon"},"info_outline"),d["default"].createElement("a",{href:E["default"].get("TERMS_OF_SERVICE_URL"),target:"_blank"},gettext("By registering you agree to site's terms and conditions."))):null}},{key:"render",value:function(){return d["default"].createElement("div",{className:"modal-dialog modal-register",role:"document"},d["default"].createElement("div",{className:"modal-content"},d["default"].createElement("div",{className:"modal-header"},d["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},d["default"].createElement("span",{"aria-hidden":"true"},"×")),d["default"].createElement("h4",{className:"modal-title"},gettext("Register"))),d["default"].createElement("form",{onSubmit:this.handleSubmit},d["default"].createElement("input",{type:"type",style:{display:"none"}}),d["default"].createElement("input",{type:"password",style:{display:"none"}}),d["default"].createElement("div",{className:"modal-body"},d["default"].createElement(v["default"],{label:gettext("Username"),"for":"id_username",validation:this.state.errors.username},d["default"].createElement("input",{type:"text",id:"id_username",className:"form-control","aria-describedby":"id_username_status",disabled:this.state.isLoading,onChange:this.bindInput("username"),value:this.state.username})),d["default"].createElement(v["default"],{label:gettext("E-mail"),"for":"id_email",validation:this.state.errors.email},d["default"].createElement("input",{type:"text",id:"id_email",className:"form-control","aria-describedby":"id_email_status",disabled:this.state.isLoading,onChange:this.bindInput("email"),value:this.state.email})),d["default"].createElement(v["default"],{label:gettext("Password"),"for":"id_password",validation:this.state.errors.password,extra:d["default"].createElement(g["default"],{password:this.state.password,inputs:[this.state.username,this.state.email]})},d["default"].createElement("input",{type:"password",id:"id_password",className:"form-control","aria-describedby":"id_password_status",disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password})),j["default"].component({form:this}),this.getLegalFootNote()),d["default"].createElement("div",{className:"modal-footer"},d["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},gettext("Cancel")),d["default"].createElement(p["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Register account"))))))}}]),t}(h["default"]),D=a.RegisterComplete=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),u(t,[{key:"getLead",value:function(){return"user"===this.props.activation?gettext("%(username)s, your account has been created but you need to activate it before you will be able to sign in."):"admin"===this.props.activation?gettext("%(username)s, your account has been created but board administrator will have to activate it before you will be able to sign in."):void 0}},{key:"getSubscript",value:function(){return"user"===this.props.activation?gettext("We have sent an e-mail to %(email)s with link that you have to click to activate your account."):"admin"===this.props.activation?gettext("We will send an e-mail to %(email)s when this takes place."):void 0}},{key:"render",value:function(){return d["default"].createElement("div",{className:"modal-dialog modal-message modal-register",role:"document"},d["default"].createElement("div",{className:"modal-content"},d["default"].createElement("div",{className:"modal-header"},d["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},d["default"].createElement("span",{"aria-hidden":"true"},"×")),d["default"].createElement("h4",{className:"modal-title"},gettext("Registration complete"))),d["default"].createElement("div",{className:"modal-body"},d["default"].createElement("div",{className:"message-icon"},d["default"].createElement("span",{className:"material-icon"},"info_outline")),d["default"].createElement("div",{className:"message-body"},d["default"].createElement("p",{className:"lead"},interpolate(this.getLead(),{username:this.props.username},!0)),d["default"].createElement("p",null,interpolate(this.getSubscript(),{email:this.props.email},!0)),d["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},gettext("Ok"))))))}}]),t}(d["default"].Component),U=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));
+api:e.profile.api.posts,emptyMessage:t,header:a,title:gettext("Posts")},e))}Object.defineProperty(a,"__esModule",{value:!0});var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e};a.Threads=r,a.Posts=o;var s=e("react"),i=n(s),u=e("./route"),c=n(u)},{"./route":162,react:"react"}],162:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return e.posts.count?p["default"].createElement("div",null,p["default"].createElement(h["default"],{isReady:e.posts.isLoaded,posts:e.posts.results,poster:e.profile}),p["default"].createElement(u,{isLoading:e.isLoading,loadMore:e.loadMore,more:e.posts.more})):p["default"].createElement("p",{className:"lead"},e.emptyMessage)}function u(e){return e.more?p["default"].createElement("div",{className:"pager-more"},p["default"].createElement(v["default"],{className:"btn btn-default btn-outline",loading:e.isLoading,onClick:e.loadMore},interpolate(gettext("Show more (%(more)s)"),{more:e.more},!0))):null}Object.defineProperty(a,"__esModule",{value:!0});var c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},d=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.Feed=i,a.LoadMoreButton=u;var f=e("react"),p=r(f),m=e("../../post-feed"),h=r(m),b=e("../../button"),v=r(b),y=e("../../../reducers/posts"),g=n(y),_=e("../../../services/page-title"),E=r(_),w=e("../../../services/ajax"),O=r(w),k=e("../../../services/snackbar"),N=r(k),x=e("../../../services/store"),j=r(x),P=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.loadMore=function(){a.setState({isLoading:!0}),a.loadItems(a.props.posts.page+1)},a.state={isLoading:!1},a}return s(t,e),d(t,[{key:"loadItems",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;O["default"].get(this.props.api,{page:t||1}).then(function(a){1===t?j["default"].dispatch(g.load(a)):j["default"].dispatch(g.append(a)),e.setState({isLoading:!1})},function(t){e.setState({isLoading:!1}),N["default"].apiError(t)})}},{key:"componentDidMount",value:function(){E["default"].set({title:this.props.title,parent:this.props.profile.username}),this.loadItems()}},{key:"render",value:function(){return p["default"].createElement("div",{className:"profile-feed"},p["default"].createElement("nav",{className:"toolbar"},p["default"].createElement("h3",{className:"toolbar-left"},this.props.header)),p["default"].createElement(i,c({isLoading:this.state.isLoading,loadMore:this.loadMore},this.props)))}}]),t}(p["default"].Component);a["default"]=P},{"../../../reducers/posts":326,"../../../services/ajax":337,"../../../services/page-title":345,"../../../services/snackbar":348,"../../../services/store":349,"../../button":5,"../../post-feed":100,react:"react"}],163:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../button"),d=n(c),f=e("../../reducers/profile"),p=e("../../services/ajax"),m=n(p),h=e("../../services/snackbar"),b=n(h),v=e("../../services/store"),y=n(v),g=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.action=function(){a.setState({isLoading:!0}),a.props.profile.is_followed?y["default"].dispatch((0,f.patch)({is_followed:!1,followers:a.props.profile.followers-1})):y["default"].dispatch((0,f.patch)({is_followed:!0,followers:a.props.profile.followers+1})),m["default"].post(a.props.profile.api.follow).then(function(e){a.setState({isLoading:!1}),y["default"].dispatch((0,f.patch)(e))},function(e){a.setState({isLoading:!1}),b["default"].apiError(e)})},a.state={isLoading:!1},a}return l(t,e),s(t,[{key:"getClassName",value:function(){return this.props.profile.is_followed?this.props.className+" btn-default btn-following":this.props.className+" btn-default btn-follow"}},{key:"getIcon",value:function(){return this.props.profile.is_followed?"favorite":"favorite_border"}},{key:"getLabel",value:function(){return this.props.profile.is_followed?gettext("Following"):gettext("Follow")}},{key:"render",value:function(){return u["default"].createElement(d["default"],{className:this.getClassName(),disabled:this.state.isLoading,onClick:this.action},u["default"].createElement("span",{className:"material-icon"},this.getIcon()),this.getLabel())}}]),t}(u["default"].Component);a["default"]=g},{"../../reducers/profile":328,"../../services/ajax":337,"../../services/snackbar":348,"../../services/store":349,"../button":5,react:"react"}],164:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../button"),d=n(c),f=e("../quick-search"),p=n(f),m=e("../users-list"),h=n(m),b=e("../../index"),v=n(b),y=e("../../reducers/users"),g=e("../../services/ajax"),_=n(g),E=e("../../services/snackbar"),w=n(E),O=e("../../services/store"),k=n(O),N=e("../../services/page-title"),x=n(N),j=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.loadMore=function(){a.setState({isBusy:!0}),a.loadUsers(a.state.page+1,a.state.search)},a.search=function(e){a.setState({isLoaded:!1,isBusy:!0,search:e.target.value,count:0,more:0,page:1,pages:1}),a.loadUsers(1,e.target.value)},a.setSpecialProps(),v["default"].has(a.PRELOADED_DATA_KEY)?a.initWithPreloadedData(v["default"].pop(a.PRELOADED_DATA_KEY)):a.initWithoutPreloadedData(),a}return l(t,e),s(t,[{key:"setSpecialProps",value:function(){this.PRELOADED_DATA_KEY="PROFILE_FOLLOWERS",this.TITLE=gettext("Followers"),this.API_FILTER="followers"}},{key:"initWithPreloadedData",value:function(e){this.state={isLoaded:!0,isBusy:!1,search:"",count:e.count,more:e.more,page:e.page,pages:e.pages},k["default"].dispatch((0,y.hydrate)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1,isBusy:!1,search:"",count:0,more:0,page:1,pages:1},this.loadUsers()}},{key:"loadUsers",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=this.props.profile.api[this.API_FILTER];_["default"].get(n,{search:a,page:t||1},"user-"+this.API_FILTER).then(function(a){1===t?k["default"].dispatch((0,y.hydrate)(a.results)):k["default"].dispatch((0,y.append)(a.results)),e.setState({isLoaded:!0,isBusy:!1,count:a.count,more:a.more,page:a.page,pages:a.pages})},function(e){w["default"].apiError(e)})}},{key:"componentDidMount",value:function(){x["default"].set({title:this.TITLE,parent:this.props.profile.username})}},{key:"getLabel",value:function(){if(this.state.isLoaded){if(this.state.search){var e=ngettext("Found %(users)s user.","Found %(users)s users.",this.state.count);return interpolate(e,{users:this.state.count},!0)}if(this.props.profile.id===this.props.user.id){var t=ngettext("You have %(users)s follower.","You have %(users)s followers.",this.state.count);return interpolate(t,{users:this.state.count},!0)}var a=ngettext("%(username)s has %(users)s follower.","%(username)s has %(users)s followers.",this.state.count);return interpolate(a,{username:this.props.profile.username,users:this.state.count},!0)}return gettext("Loading...")}},{key:"getEmptyMessage",value:function(){return this.state.search?gettext("Search returned no users matching specified criteria."):this.props.user.id===this.props.profile.id?gettext("You have no followers."):interpolate(gettext("%(username)s has no followers."),{username:this.props.profile.username},!0)}},{key:"getMoreButton",value:function(){return this.state.more?u["default"].createElement("div",{className:"pager-more"},u["default"].createElement(d["default"],{className:"btn btn-default btn-outline",loading:this.state.isBusy,onClick:this.loadMore},interpolate(gettext("Show more (%(more)s)"),{more:this.state.more},!0))):null}},{key:"getListBody",value:function(){return this.state.isLoaded&&0===this.state.count?u["default"].createElement("p",{className:"lead"},this.getEmptyMessage()):u["default"].createElement("div",null,u["default"].createElement(h["default"],{cols:3,isReady:this.state.isLoaded,users:this.props.users}),this.getMoreButton())}},{key:"getClassName",value:function(){return"profile-"+this.API_FILTER}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName()},u["default"].createElement("nav",{className:"toolbar"},u["default"].createElement("h3",{className:"toolbar-left"},this.getLabel()),u["default"].createElement(p["default"],{className:"toolbar-right",value:this.state.search,onChange:this.search,placeholder:gettext("Search users...")})),this.getListBody())}}]),t}(u["default"].Component);a["default"]=j},{"../../index":276,"../../reducers/users":336,"../../services/ajax":337,"../../services/page-title":345,"../../services/snackbar":348,"../../services/store":349,"../button":5,"../quick-search":175,"../users-list":258,react:"react"}],165:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=(n(i),e("./followers")),c=n(u),d=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"setSpecialProps",value:function(){this.PRELOADED_DATA_KEY="PROFILE_FOLLOWS",this.TITLE=gettext("Follows"),this.API_FILTER="follows"}},{key:"getLabel",value:function(){if(this.state.isLoaded){if(this.state.search){var e=ngettext("Found %(users)s user.","Found %(users)s users.",this.state.count);return interpolate(e,{users:this.state.count},!0)}if(this.props.profile.id===this.props.user.id){var t=ngettext("You are following %(users)s user.","You are following %(users)s users.",this.state.count);return interpolate(t,{users:this.state.count},!0)}var a=ngettext("%(username)s is following %(users)s user.","%(username)s is following %(users)s users.",this.state.count);return interpolate(a,{username:this.props.profile.username,users:this.state.count},!0)}return gettext("Loading...")}},{key:"getEmptyMessage",value:function(){return this.state.search?gettext("Search returned no users matching specified criteria."):this.props.user.id===this.props.profile.id?gettext("You are not following any users."):interpolate(gettext("%(username)s is not following any users."),{username:this.props.profile.username},!0)}}]),t}(c["default"]);a["default"]=d},{"./followers":164,react:"react"}],166:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return e.isActive!==!1?null:d["default"].createElement("div",{className:"alert alert-danger"},d["default"].createElement("p",null,gettext("This user's account has been disabled by administrator.")))}function i(e,t){var a="";return 1==e&&(a="col-xs-12"),2==e&&(a="col-xs-6 col-sm-6"),3==e&&(2==t?a="col-xs-12 col-sm-4 xs-margin-top":a+="col-xs-6 col-sm-4"),a}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.IsDisabledMessage=s,a.getColStyle=i;var c=e("react"),d=n(c),f=e("../avatar"),p=n(f),m=e("../dropdown-toggle"),h=(n(m),e("./follow-button")),b=n(h),v=e("./message-button"),y=n(v),g=e("./moderation/nav"),_=n(g),E=e("./navs"),w=e("../user-status"),O=n(w),k=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),u(t,[{key:"getUserStatus",value:function(){return d["default"].createElement("li",{className:"user-status-display"},d["default"].createElement(O["default"],{user:this.props.profile,status:this.props.profile.status},d["default"].createElement(w.StatusIcon,{user:this.props.profile,status:this.props.profile.status}),d["default"].createElement(w.StatusLabel,{user:this.props.profile,status:this.props.profile.status,className:"status-label"})))}},{key:"getUserRank",value:function(){return this.props.profile.rank.is_tab?d["default"].createElement("li",{className:"user-rank"},d["default"].createElement("a",{href:this.props.profile.rank.url,className:"item-title"},this.props.profile.rank.name)):d["default"].createElement("li",{className:"user-rank"},d["default"].createElement("span",{className:"item-title"},this.props.profile.rank.name))}},{key:"getUserTitle",value:function(){return this.props.profile.title?d["default"].createElement("li",{className:"user-title"},this.props.profile.title):this.props.profile.rank.title?d["default"].createElement("li",{className:"user-title"},this.props.profile.rank.title):null}},{key:"getJoinedOn",value:function(){var e=interpolate(gettext("Joined on %(joined_on)s"),{joined_on:this.props.profile.joined_on.format("LL, LT")},!0),t=interpolate(gettext("Joined %(joined_on)s"),{joined_on:this.props.profile.joined_on.fromNow()},!0);return d["default"].createElement("li",{className:"user-joined-on"},d["default"].createElement("abbr",{title:e},t))}},{key:"getEmail",value:function(){return this.props.profile.email?d["default"].createElement("li",{className:"user-email"},d["default"].createElement("a",{href:"mailto:"+this.props.profile.email,className:"item-title"},this.props.profile.email)):null}},{key:"getFollowButton",value:function(){return this.props.profile.acl.can_follow?d["default"].createElement(b["default"],{className:"btn btn-block btn-outline",profile:this.props.profile}):null}},{key:"getModerationButton",value:function(){return this.props.profile.acl.can_moderate?d["default"].createElement("div",{className:"btn-group btn-group-justified"},d["default"].createElement("div",{className:"btn-group"},d["default"].createElement("button",{className:"btn btn-default btn-moderate btn-outline dropdown-toggle",type:"button","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},d["default"].createElement("span",{className:"material-icon"},"tonality"),gettext("Moderation")),d["default"].createElement(_["default"],{profile:this.props.profile}))):null}},{key:"render",value:function(){var e=this.props.profile.acl.can_follow,t=this.props.profile.acl.can_moderate,a=this.props.user.id===this.props.profile.id,n=!a&&this.props.user.acl.can_start_private_threads,r=0;e&&(r+=1),t&&(r+=1),n&&(r+=1);var o=r?2*r+1:0,l="page-header";return this.props.profile.rank.css_class&&(l+=" page-header-rank-"+this.props.profile.rank.css_class),d["default"].createElement("div",{className:"page-header-bg"},d["default"].createElement("div",{className:l},d["default"].createElement("div",{className:"container"},d["default"].createElement(s,{isActive:this.props.profile.is_active}),d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-md-9 col-md-offset-3"},d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-sm-"+(12-o)},d["default"].createElement(p["default"],{className:"user-avatar user-avatar-sm",user:this.props.profile,size:"100",size2x:"200"}),d["default"].createElement("h1",null,this.props.profile.username)),!!r&&d["default"].createElement("div",{className:"col-sm-"+o},d["default"].createElement("div",{className:"row xs-margin-top sm-margin-top"},!!n&&d["default"].createElement("div",{className:i(r,0)},d["default"].createElement(y["default"],{className:"btn btn-default btn-block btn-outline",profile:this.props.profile,user:this.props.user})),!!e&&d["default"].createElement("div",{className:i(r,1)},this.getFollowButton()),!!t&&d["default"].createElement("div",{className:i(r,2)},this.getModerationButton()))))))),d["default"].createElement("div",{className:"header-stats"},d["default"].createElement("div",{className:"container"},d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-md-9 col-md-offset-3"},d["default"].createElement("ul",{className:"list-inline"},this.getUserStatus(),this.getUserRank(),this.getUserTitle(),this.getJoinedOn(),this.getEmail()))))),d["default"].createElement(E.CompactNav,{baseUrl:this.props.baseUrl,pages:this.props.pages,profile:this.props.profile})))}}]),t}(d["default"].Component);a["default"]=k},{"../avatar":3,"../dropdown-toggle":24,"../user-status":248,"./follow-button":163,"./message-button":167,"./moderation/nav":171,"./navs":172,react:"react"}],167:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../../services/posting"),d=n(c),f=e("../.."),p=n(f),m=function(e){function t(){var e,a,n,l;r(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){d["default"].open({mode:"START_PRIVATE",submit:p["default"].get("PRIVATE_THREADS_API"),to:[n.props.profile]})},l=a,o(n,l)}return l(t,e),s(t,[{key:"render",value:function(){var e=this.props.user.acl.can_start_private_threads,t=this.props.user.id===this.props.profile.id;return!e||t?null:u["default"].createElement("button",{className:this.props.className,onClick:this.onClick,type:"button"},u["default"].createElement("span",{className:"material-icon"},"comment"),gettext("Message"))}}]),t}(u["default"].Component);a["default"]=m},{"../..":276,"../../services/posting":347,react:"react"}],168:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../../button"),d=n(c),f=e("../../form"),p=n(f),m=e("../../form-group"),h=n(m),b=e("../../modal-loader"),v=n(b),y=e("../../yes-no-switch"),g=n(y),_=e("../../modal-message"),E=n(_),w=e("../../../reducers/users"),O=e("../../../services/ajax"),k=n(O),N=e("../../../services/snackbar"),x=n(N),j=e("../../../services/store"),P=n(j),C=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={isLoaded:!1,isLoading:!1,error:null,is_avatar_locked:"",avatar_lock_user_message:"",avatar_lock_staff_message:""},a}return l(t,e),s(t,[{key:"componentDidMount",value:function(){var e=this;k["default"].get(this.props.profile.api.moderate_avatar).then(function(t){e.setState({isLoaded:!0,is_avatar_locked:t.is_avatar_locked,avatar_lock_user_message:t.avatar_lock_user_message||"",avatar_lock_staff_message:t.avatar_lock_staff_message||""})},function(t){e.setState({isLoaded:!0,error:t.detail})})}},{key:"clean",value:function(){return!!this.isValid()||(x["default"].error(this.validate().username[0]),!1)}},{key:"send",value:function(){return k["default"].post(this.props.profile.api.moderate_avatar,{is_avatar_locked:this.state.is_avatar_locked,avatar_lock_user_message:this.state.avatar_lock_user_message,avatar_lock_staff_message:this.state.avatar_lock_staff_message})}},{key:"handleSuccess",value:function(e){P["default"].dispatch((0,w.updateAvatar)(this.props.profile,e.avatar_hash)),x["default"].success(gettext("Avatar controls have been changed."))}},{key:"getFormBody",value:function(){return u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"modal-body"},u["default"].createElement(h["default"],{label:gettext("Lock avatar"),helpText:gettext("Locking user avatar will prohibit user from changing his avatar and will reset his/her avatar to default one."),"for":"id_is_avatar_locked"},u["default"].createElement(g["default"],{id:"id_is_avatar_locked",disabled:this.state.isLoading,iconOn:"lock_outline",iconOff:"lock_open",labelOn:gettext("Disallow user from changing avatar"),labelOff:gettext("Allow user to change avatar"),onChange:this.bindInput("is_avatar_locked"),value:this.state.is_avatar_locked})),u["default"].createElement(h["default"],{label:gettext("User message"),helpText:gettext("Optional message for user explaining why he/she is prohibited form changing avatar."),"for":"id_avatar_lock_user_message"},u["default"].createElement("textarea",{id:"id_avatar_lock_user_message",className:"form-control",rows:"4",disabled:this.state.isLoading,onChange:this.bindInput("avatar_lock_user_message"),value:this.state.avatar_lock_user_message})),u["default"].createElement(h["default"],{label:gettext("Staff message"),helpText:gettext("Optional message for forum team members explaining why user is prohibited form changing avatar."),"for":"id_avatar_lock_staff_message"},u["default"].createElement("textarea",{id:"id_avatar_lock_staff_message",className:"form-control",rows:"4",disabled:this.state.isLoading,onChange:this.bindInput("avatar_lock_staff_message"),value:this.state.avatar_lock_staff_message}))),u["default"].createElement("div",{className:"modal-footer"},u["default"].createElement("button",{type:"button",className:"btn btn-default","data-dismiss":"modal"},gettext("Close")),u["default"].createElement(d["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Save changes"))))}},{key:"getModalBody",value:function(){return this.state.error?u["default"].createElement(E["default"],{icon:"remove_circle_outline",message:this.state.error}):this.state.isLoaded?this.getFormBody():u["default"].createElement(v["default"],null)}},{key:"getClassName",value:function(){return this.state.error?"modal-dialog modal-message modal-avatar-controls":"modal-dialog modal-avatar-controls"}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName(),role:"document"},u["default"].createElement("div",{className:"modal-content"},u["default"].createElement("div",{className:"modal-header"},u["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},u["default"].createElement("span",{"aria-hidden":"true"},"×")),u["default"].createElement("h4",{className:"modal-title"},gettext("Avatar controls"))),this.getModalBody()))}}]),t}(p["default"]);a["default"]=C},{"../../../reducers/users":336,"../../../services/ajax":337,"../../../services/snackbar":348,"../../../services/store":349,"../../button":5,"../../form":52,"../../form-group":51,"../../modal-loader":57,"../../modal-message":58,"../../yes-no-switch":274,react:"react"}],169:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../../button"),f=r(d),p=e("../../form"),m=r(p),h=e("../../form-group"),b=r(h),v=e("../../modal-loader"),y=r(v),g=e("../../modal-message"),_=r(g),E=e("../../../reducers/username-history"),w=e("../../../reducers/users"),O=e("../../../services/ajax"),k=r(O),N=e("../../../services/snackbar"),x=r(N),j=e("../../../services/store"),P=r(j),C=e("../../../utils/validators"),S=n(C),M=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={isLoaded:!1,isLoading:!1,error:null,username:"",validators:{username:[S.usernameContent()]}},a}return s(t,e),i(t,[{key:"componentDidMount",value:function(){var e=this;k["default"].get(this.props.profile.api.moderate_username).then(function(){e.setState({isLoaded:!0})},function(t){e.setState({isLoaded:!0,error:t.detail})})}},{key:"clean",value:function(){return!!this.isValid()||(x["default"].error(this.validate().username[0]),!1)}},{key:"send",value:function(){return k["default"].post(this.props.profile.api.moderate_username,{username:this.state.username})}},{key:"handleSuccess",value:function(e){this.setState({username:""}),P["default"].dispatch((0,E.addNameChange)(e,this.props.profile,this.props.user)),P["default"].dispatch((0,w.updateUsername)(this.props.profile,e.username,e.slug)),x["default"].success(gettext("Username has been changed."))}},{key:"getFormBody",value:function(){return c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"modal-body"},c["default"].createElement(b["default"],{label:gettext("New username"),"for":"id_username"},c["default"].createElement("input",{type:"text",id:"id_username",className:"form-control",disabled:this.state.isLoading,onChange:this.bindInput("username"),value:this.state.username}))),c["default"].createElement("div",{className:"modal-footer"},c["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},gettext("Cancel")),c["default"].createElement(f["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Change username"))))}},{key:"getModalBody",value:function(){return this.state.error?c["default"].createElement(_["default"],{icon:"remove_circle_outline",message:this.state.error}):this.state.isLoaded?this.getFormBody():c["default"].createElement(y["default"],null)}},{key:"getClassName",value:function(){return this.state.error?"modal-dialog modal-message modal-rename-user":"modal-dialog modal-rename-user"}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName(),role:"document"},c["default"].createElement("div",{className:"modal-content"},c["default"].createElement("div",{className:"modal-header"},c["default"].createElement("button",{
+type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},c["default"].createElement("span",{"aria-hidden":"true"},"×")),c["default"].createElement("h4",{className:"modal-title"},gettext("Change username"))),this.getModalBody()))}}]),t}(m["default"]);a["default"]=M},{"../../../reducers/username-history":335,"../../../reducers/users":336,"../../../services/ajax":337,"../../../services/snackbar":348,"../../../services/store":349,"../../../utils/validators":365,"../../button":5,"../../form":52,"../../form-group":51,"../../modal-loader":57,"../../modal-message":58,react:"react"}],170:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../../button"),d=n(c),f=e("../../form"),p=n(f),m=e("../../form-group"),h=n(m),b=e("../../modal-loader"),v=n(b),y=e("../../modal-message"),g=n(y),_=e("../../yes-no-switch"),E=n(_),w=e("../../../index"),O=n(w),k=e("../../../services/ajax"),N=n(k),x=e("../../../services/polls"),j=n(x),P=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.countdown=function(){window.setTimeout(function(){a.state.countdown>1?(a.setState({countdown:a.state.countdown-1}),a.countdown()):a.state.confirm||a.setState({confirm:!0})},1e3)},a.state={isLoaded:!1,isLoading:!1,isDeleted:!1,error:null,countdown:5,confirm:!1,with_content:!1},a}return l(t,e),s(t,[{key:"componentDidMount",value:function(){var e=this;N["default"].get(this.props.profile.api["delete"]).then(function(){e.setState({isLoaded:!0}),e.countdown()},function(t){e.setState({isLoaded:!0,error:t.detail})})}},{key:"send",value:function(){return N["default"].post(this.props.profile.api["delete"],{with_content:this.state.with_content})}},{key:"handleSuccess",value:function(){j["default"].stop("user-profile"),this.state.with_content?this.setState({isDeleted:interpolate(gettext("%(username)s's account, threads, posts and other content has been deleted."),{username:this.props.profile.username},!0)}):this.setState({isDeleted:interpolate(gettext("%(username)s's account has been deleted and other content has been hidden."),{username:this.props.profile.username},!0)})}},{key:"getButtonLabel",value:function(){return this.state.confirm?interpolate(gettext("Delete %(username)s"),{username:this.props.profile.username},!0):interpolate(gettext("Please wait... (%(countdown)ss)"),{countdown:this.state.countdown},!0)}},{key:"getForm",value:function(){return u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"modal-body"},u["default"].createElement(h["default"],{label:gettext("User content"),"for":"id_with_content"},u["default"].createElement(E["default"],{id:"id_with_content",disabled:this.state.isLoading,labelOn:gettext("Delete together with user's account"),labelOff:gettext("Hide after deleting user's account"),onChange:this.bindInput("with_content"),value:this.state.with_content}))),u["default"].createElement("div",{className:"modal-footer"},u["default"].createElement("button",{type:"button",className:"btn btn-default","data-dismiss":"modal"},gettext("Cancel")),u["default"].createElement(d["default"],{className:"btn-danger",loading:this.state.isLoading,disabled:!this.state.confirm},this.getButtonLabel())))}},{key:"getDeletedBody",value:function(){return u["default"].createElement("div",{className:"modal-body"},u["default"].createElement("div",{className:"message-icon"},u["default"].createElement("span",{className:"material-icon"},"info_outline")),u["default"].createElement("div",{className:"message-body"},u["default"].createElement("p",{className:"lead"},this.state.isDeleted),u["default"].createElement("p",null,u["default"].createElement("a",{href:O["default"].get("USERS_LIST_URL")},gettext("Return to users list")))))}},{key:"getModalBody",value:function(){return this.state.error?u["default"].createElement(g["default"],{icon:"remove_circle_outline",message:this.state.error}):this.state.isLoaded?this.state.isDeleted?this.getDeletedBody():this.getForm():u["default"].createElement(v["default"],null)}},{key:"getClassName",value:function(){return this.state.error||this.state.isDeleted?"modal-dialog modal-message modal-delete-account":"modal-dialog modal-delete-account"}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName(),role:"document"},u["default"].createElement("div",{className:"modal-content"},u["default"].createElement("div",{className:"modal-header"},u["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},u["default"].createElement("span",{"aria-hidden":"true"},"×")),u["default"].createElement("h4",{className:"modal-title"},gettext("Delete user account"))),this.getModalBody()))}}]),t}(p["default"]);a["default"]=P},{"../../../index":276,"../../../services/ajax":337,"../../../services/polls":346,"../../button":5,"../../form":52,"../../form-group":51,"../../modal-loader":57,"../../modal-message":58,"../../yes-no-switch":274,react:"react"}],171:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("react-redux"),d=e("./avatar-controls"),f=n(d),p=e("./change-username"),m=n(p),h=e("./delete-account"),b=n(h),v=e("../../../services/modal"),y=n(v),g=function(e){return{tick:e.tick,user:e.auth,profile:e.profile}},_=function(e){function t(){var e,a,n,l;r(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.showAvatarDialog=function(){y["default"].show((0,c.connect)(g)(f["default"]))},n.showRenameDialog=function(){y["default"].show((0,c.connect)(g)(m["default"]))},n.showDeleteDialog=function(){y["default"].show((0,c.connect)(g)(b["default"]))},l=a,o(n,l)}return l(t,e),s(t,[{key:"getAvatarButton",value:function(){return this.props.profile.acl.can_moderate_avatar?u["default"].createElement("li",null,u["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.showAvatarDialog},u["default"].createElement("span",{className:"material-icon"},"portrait"),gettext("Avatar controls"))):null}},{key:"getRenameButton",value:function(){return this.props.profile.acl.can_rename?u["default"].createElement("li",null,u["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.showRenameDialog},u["default"].createElement("span",{className:"material-icon"},"credit_card"),gettext("Change username"))):null}},{key:"getDeleteButton",value:function(){return this.props.profile.acl.can_delete?u["default"].createElement("li",null,u["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.showDeleteDialog},u["default"].createElement("span",{className:"material-icon"},"clear"),gettext("Delete account"))):null}},{key:"render",value:function(){return u["default"].createElement("ul",{className:"dropdown-menu dropdown-menu-right stick-to-bottom",role:"menu"},this.getAvatarButton(),this.getRenameButton(),this.getDeleteButton())}}]),t}(u["default"].Component);a["default"]=_},{"../../../services/modal":343,"./avatar-controls":168,"./change-username":169,"./delete-account":170,react:"react","react-redux":"react-redux"}],172:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return c["default"].createElement("div",{className:"page-tabs hidden-md hidden-lg"},c["default"].createElement("div",{className:"container"},c["default"].createElement("ul",{className:"nav nav-pills",role:"menu"},e.pages.map(function(t){return c["default"].createElement(p["default"],{path:e.baseUrl+t.component+"/",key:t.component},c["default"].createElement(d.Link,{to:e.baseUrl+t.component+"/",onClick:e.hideNav},c["default"].createElement("span",{className:"material-icon"},t.icon),t.name))}))))}Object.defineProperty(a,"__esModule",{value:!0}),a.SideNav=void 0;var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.CompactNav=s;var u=e("react"),c=n(u),d=e("react-router"),f=e("../li"),p=n(f),m=e("./follow-button"),h=(n(m),e("../../index"));n(h),a.SideNav=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),i(t,[{key:"render",value:function(){var e=this;return c["default"].createElement("div",{className:"list-group nav-side"},this.props.pages.map(function(t){return c["default"].createElement(d.Link,{to:e.props.baseUrl+t.component+"/",className:"list-group-item",activeClassName:"active",key:t.component},c["default"].createElement("span",{className:"material-icon"},t.icon),t.name)}))}}]),t}(c["default"].Component)},{"../../index":276,"../li":53,"./follow-button":163,react:"react","react-router":"react-router"}],173:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return{isAuthenticated:e.auth.user.id===e.profile.id,tick:e.tick.tick,user:e.auth.user,users:e.users,posts:e.posts,profile:e.profile,profileDetails:e["profile-details"],"username-history":e["username-history"]}}function i(){var e=[];return L["default"].get("PROFILE_PAGES").forEach(function(t){e.push(Object.assign({},t,{path:L["default"].get("PROFILE").url+t.component+"/",component:(0,f.connect)(s)(H[t.component])}))}),e}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.select=s,a.paths=i;var c=e("react"),d=n(c),f=e("react-redux"),p=e("./ban-details"),m=n(p),h=e("./details"),b=n(h),v=e("./feed"),y=e("./followers"),g=n(y),_=e("./follows"),E=n(_),w=e("./username-history"),O=n(w),k=e("./header"),N=n(k),x=e("./moderation/nav"),j=(n(x),e("./navs")),P=e("../avatar"),C=n(P),S=e("../with-dropdown"),M=n(S),T=e("../.."),L=n(T),R=e("../../reducers/profile"),A=e("../../services/polls"),I=n(A),D=e("../../services/store"),U=n(D),B=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.update=function(e){U["default"].dispatch((0,R.hydrate)(e))},a.startPolling(e.profile.api.index),a}return l(t,e),u(t,[{key:"startPolling",value:function(e){I["default"].start({poll:"user-profile",url:e,frequency:9e4,update:this.update})}},{key:"render",value:function(){var e=L["default"].get("PROFILE").url,t=L["default"].get("PROFILE_PAGES");return d["default"].createElement("div",{className:"page page-user-profile"},d["default"].createElement(N["default"],{baseUrl:e,pages:t,profile:this.props.profile,toggleNav:this.toggleNav,toggleModeration:this.toggleModeration,user:this.props.user}),d["default"].createElement("div",{className:"container"},d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-md-3 hidden-xs hidden-sm"},d["default"].createElement("div",{className:"profile-side-avatar"},d["default"].createElement(C["default"],{user:this.props.profile,size:"400"})),d["default"].createElement(j.SideNav,{baseUrl:e,pages:t,profile:this.props.profile})),d["default"].createElement("div",{className:"col-md-9"},this.props.children))))}}]),t}(M["default"]);a["default"]=B;var H={posts:v.Posts,threads:v.Threads,followers:g["default"],follows:E["default"],details:b["default"],"username-history":O["default"],"ban-details":m["default"]}},{"../..":276,"../../reducers/profile":328,"../../services/polls":346,"../../services/store":349,"../avatar":3,"../with-dropdown":273,"./ban-details":152,"./details":160,"./feed":161,"./followers":164,"./follows":165,"./header":166,"./moderation/nav":171,"./navs":172,"./username-history":174,react:"react","react-redux":"react-redux"}],174:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../button"),d=n(c),f=e("../quick-search"),p=n(f),m=e("../username-history/root"),h=n(m),b=e("../../index"),v=n(b),y=e("../../reducers/username-history"),g=e("../../services/ajax"),_=n(g),E=e("../../services/snackbar"),w=n(E),O=e("../../services/store"),k=n(O),N=e("../../services/page-title"),x=n(N),j=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.loadMore=function(){a.setState({isBusy:!0}),a.loadChanges(a.state.page+1,a.state.search)},a.search=function(e){a.setState({isLoaded:!1,isBusy:!0,search:e.target.value,count:0,more:0,page:1,pages:1}),a.loadChanges(1,e.target.value)},v["default"].has("PROFILE_NAME_HISTORY")?a.initWithPreloadedData(v["default"].pop("PROFILE_NAME_HISTORY")):a.initWithoutPreloadedData(),a}return l(t,e),s(t,[{key:"initWithPreloadedData",value:function(e){this.state={isLoaded:!0,isBusy:!1,search:"",count:e.count,more:e.more,page:e.page,pages:e.pages},k["default"].dispatch((0,y.hydrate)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1,isBusy:!1,search:"",count:0,more:0,page:1,pages:1},this.loadChanges()}},{key:"loadChanges",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;_["default"].get(v["default"].get("USERNAME_CHANGES_API"),{user:this.props.profile.id,search:a,page:t||1},"search-username-history").then(function(a){1===t?k["default"].dispatch((0,y.hydrate)(a.results)):k["default"].dispatch((0,y.append)(a.results)),e.setState({isLoaded:!0,isBusy:!1,count:a.count,more:a.more,page:a.page,pages:a.pages})},function(e){w["default"].apiError(e)})}},{key:"componentDidMount",value:function(){x["default"].set({title:gettext("Username history"),parent:this.props.profile.username})}},{key:"getLabel",value:function(){if(this.state.isLoaded){if(this.state.search){var e=ngettext("Found %(changes)s username change.","Found %(changes)s username changes.",this.state.count);return interpolate(e,{changes:this.state.count},!0)}if(this.props.profile.id===this.props.user.id){var t=ngettext("Your username was changed %(changes)s time.","Your username was changed %(changes)s times.",this.state.count);return interpolate(t,{changes:this.state.count},!0)}var a=ngettext("%(username)s's username was changed %(changes)s time.","%(username)s's username was changed %(changes)s times.",this.state.count);return interpolate(a,{username:this.props.profile.username,changes:this.state.count},!0)}return gettext("Loading...")}},{key:"getEmptyMessage",value:function(){return this.state.search?gettext("Search returned no username changes matching specified criteria."):this.props.user.id===this.props.profile.id?gettext("No name changes have been recorded for your account."):interpolate(gettext("%(username)s's username was never changed."),{username:this.props.profile.username},!0)}},{key:"getMoreButton",value:function(){return this.state.more?u["default"].createElement("div",{className:"pager-more"},u["default"].createElement(d["default"],{className:"btn btn-default btn-outline",loading:this.state.isBusy,onClick:this.loadMore},interpolate(gettext("Show older (%(more)s)"),{more:this.state.more},!0))):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"profile-username-history"},u["default"].createElement("nav",{className:"toolbar"},u["default"].createElement("h3",{className:"toolbar-left"},this.getLabel()),u["default"].createElement(p["default"],{className:"toolbar-right",value:this.state.search,onChange:this.search,placeholder:gettext("Search history...")})),u["default"].createElement(h["default"],{isLoaded:this.state.isLoaded,emptyMessage:this.getEmptyMessage(),changes:this.props["username-history"]}),this.getMoreButton())}}]),t}(u["default"].Component);a["default"]=j},{"../../index":276,"../../reducers/username-history":335,"../../services/ajax":337,"../../services/page-title":345,"../../services/snackbar":348,"../../services/store":349,"../button":5,"../quick-search":175,"../username-history/root":254,react:"react"}],175:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"getClassName",value:function(){return this.props.className?"form-search "+this.props.className:"form-search"}},{key:"render",value:function(){return u["default"].createElement("div",{className:this.getClassName()},u["default"].createElement("input",{type:"text",className:"form-control",value:this.props.value,onChange:this.props.onChange,placeholder:this.props.placeholder||gettext("Search...")}),u["default"].createElement("span",{className:"material-icon"},"search"))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],176:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./loader"),d=n(c),f=e("./register.js"),p=n(f),m=e("../services/ajax"),h=n(m),b=e("../services/captcha"),v=n(b),y=e("../services/modal"),g=n(y),_=e("../services/snackbar"),E=n(_),w=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.showRegisterForm=function(){"closed"===misago.get("SETTINGS").account_activation?E["default"].info(gettext("New registrations are currently disabled.")):a.state.isLoaded?g["default"].show(u["default"].createElement(p["default"],{criteria:a.state.criteria})):(a.setState({isLoading:!0}),Promise.all([v["default"].load(),h["default"].get(misago.get("AUTH_CRITERIA_API"))]).then(function(e){a.setState({isLoading:!1,isLoaded:!0,criteria:e[1]}),g["default"].show(u["default"].createElement(p["default"],{criteria:e[1]}))},function(){a.setState({isLoading:!1}),E["default"].error(gettext("Registration is currently unavailable due to an error."))}))},a.state={isLoading:!1,isLoaded:!1,criteria:null},a}return l(t,e),s(t,[{key:"getClassName",value:function(){return this.props.className+(this.state.isLoading?" btn-loading":"")}},{key:"render",value:function(){return u["default"].createElement("button",{className:"btn "+this.getClassName(),disabled:this.state.isLoading,onClick:this.showRegisterForm,type:"button"},gettext("Register"),this.state.isLoading?u["default"].createElement(d["default"],null):null)}}]),t}(u["default"].Component);a["default"]=w},{"../services/ajax":337,"../services/captcha":339,"../services/modal":343,"../services/snackbar":348,"./loader":54,"./register.js":177,react:"react"}],177:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.RegisterComplete=a.RegisterForm=void 0;var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),c=e("react"),d=r(c),f=e("./button"),p=r(f),m=e("./form"),h=r(m),b=e("./form-group"),v=r(b),y=e("./password-strength"),g=r(y),_=e(".."),E=r(_),w=e("../services/ajax"),O=r(w),k=e("../services/auth"),N=r(k),x=e("../services/captcha"),j=r(x),P=e("../services/modal"),C=r(P),S=e("../services/snackbar"),M=r(S),T=e("../utils/banned-page"),L=r(T),R=e("../utils/validators"),A=n(R),I=a.RegisterForm=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e)),n=a.props.criteria,r=n.username,s=n.password,i=0;return s.forEach(function(e){"MinimumLengthValidator"===e.name&&(i=e.min_length)}),a.state={isLoading:!1,username:"",email:"",password:"",captcha:"",validators:{username:[A.usernameContent(),A.usernameMinLength(r.min_length),A.usernameMaxLength(r.max_length)],email:[A.email()],password:[A.passwordMinLength(i)],captcha:j["default"].validator()},errors:{}},a}return s(t,e),u(t,[{key:"clean",value:function(){return!!this.isValid()||(M["default"].error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return O["default"].post(E["default"].get("USERS_API"),{username:this.state.username,email:this.state.email,password:this.state.password,captcha:this.state.captcha})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){400===e.status?(this.setState({errors:Object.assign({},this.state.errors,e)}),e.__all__&&e.__all__.length>0?M["default"].error(e.__all__[0]):M["default"].error(gettext("Form contains errors."))):403===e.status&&e.ban?((0,L["default"])(e.ban),C["default"].hide()):M["default"].apiError(e)}},{key:"getLegalFootNote",value:function(){return E["default"].get("TERMS_OF_SERVICE_URL")?d["default"].createElement("p",{className:"legal-footnote"},d["default"].createElement("span",{className:"material-icon"},"info_outline"),d["default"].createElement("a",{href:E["default"].get("TERMS_OF_SERVICE_URL"),target:"_blank"},gettext("By registering you agree to site's terms and conditions."))):null}},{key:"render",value:function(){return d["default"].createElement("div",{className:"modal-dialog modal-register",role:"document"},d["default"].createElement("div",{className:"modal-content"},d["default"].createElement("div",{className:"modal-header"},d["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},d["default"].createElement("span",{"aria-hidden":"true"},"×")),d["default"].createElement("h4",{className:"modal-title"},gettext("Register"))),d["default"].createElement("form",{onSubmit:this.handleSubmit},d["default"].createElement("input",{type:"type",style:{display:"none"}}),d["default"].createElement("input",{type:"password",style:{display:"none"}}),d["default"].createElement("div",{className:"modal-body"},d["default"].createElement(v["default"],{label:gettext("Username"),"for":"id_username",validation:this.state.errors.username},d["default"].createElement("input",{type:"text",id:"id_username",className:"form-control","aria-describedby":"id_username_status",disabled:this.state.isLoading,onChange:this.bindInput("username"),value:this.state.username})),d["default"].createElement(v["default"],{label:gettext("E-mail"),"for":"id_email",validation:this.state.errors.email},d["default"].createElement("input",{type:"text",id:"id_email",className:"form-control","aria-describedby":"id_email_status",disabled:this.state.isLoading,onChange:this.bindInput("email"),value:this.state.email})),d["default"].createElement(v["default"],{label:gettext("Password"),"for":"id_password",validation:this.state.errors.password,extra:d["default"].createElement(g["default"],{password:this.state.password,inputs:[this.state.username,this.state.email]})},d["default"].createElement("input",{type:"password",id:"id_password",className:"form-control","aria-describedby":"id_password_status",disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password})),j["default"].component({form:this}),this.getLegalFootNote()),d["default"].createElement("div",{className:"modal-footer"},d["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},gettext("Cancel")),d["default"].createElement(p["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Register account"))))))}}]),t}(h["default"]),D=a.RegisterComplete=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),u(t,[{key:"getLead",value:function(){return"user"===this.props.activation?gettext("%(username)s, your account has been created but you need to activate it before you will be able to sign in."):"admin"===this.props.activation?gettext("%(username)s, your account has been created but board administrator will have to activate it before you will be able to sign in."):void 0}},{key:"getSubscript",value:function(){return"user"===this.props.activation?gettext("We have sent an e-mail to %(email)s with link that you have to click to activate your account."):"admin"===this.props.activation?gettext("We will send an e-mail to %(email)s when this takes place."):void 0}},{key:"render",value:function(){return d["default"].createElement("div",{className:"modal-dialog modal-message modal-register",role:"document"},d["default"].createElement("div",{className:"modal-content"},d["default"].createElement("div",{className:"modal-header"},d["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},d["default"].createElement("span",{"aria-hidden":"true"},"×")),d["default"].createElement("h4",{className:"modal-title"},gettext("Registration complete"))),d["default"].createElement("div",{className:"modal-body"},d["default"].createElement("div",{className:"message-icon"},d["default"].createElement("span",{className:"material-icon"},"info_outline")),d["default"].createElement("div",{className:"message-body"},d["default"].createElement("p",{className:"lead"},interpolate(this.getLead(),{username:this.props.username},!0)),d["default"].createElement("p",null,interpolate(this.getSubscript(),{email:this.props.email},!0)),d["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},gettext("Ok"))))))}}]),t}(d["default"].Component),U=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));
 return a.completeRegistration=function(e){"active"===e.activation?(C["default"].hide(),N["default"].signIn(e)):a.setState({complete:e})},a.state={complete:!1},a}return s(t,e),u(t,[{key:"render",value:function(){return this.state.complete?d["default"].createElement(D,{activation:this.state.complete.activation,email:this.state.complete.email,username:this.state.complete.username}):d["default"].createElement(I,i({callback:this.completeRegistration},this.props))}}]),t}(d["default"].Component);a["default"]=U},{"..":276,"../services/ajax":337,"../services/auth":338,"../services/captcha":339,"../services/modal":343,"../services/snackbar":348,"../utils/banned-page":351,"../utils/validators":365,"./button":5,"./form":52,"./form-group":51,"./password-strength":81,react:"react"}],178:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.LinkSent=a.RequestLinkForm=void 0;var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../index"),f=r(d),p=e("./button"),m=r(p),h=e("./form"),b=r(h),v=e("../services/ajax"),y=r(v),g=e("../services/snackbar"),_=r(g),E=e("../utils/validators"),w=n(E),O=e("../utils/banned-page"),k=r(O),N=a.RequestLinkForm=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={isLoading:!1,email:"",validators:{email:[w.email()]}},a}return s(t,e),i(t,[{key:"clean",value:function(){return!!this.isValid()||(_["default"].error(gettext("Enter a valid email address.")),!1)}},{key:"send",value:function(){return y["default"].post(f["default"].get("SEND_ACTIVATION_API"),{email:this.state.email})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){["already_active","inactive_admin"].indexOf(e.code)>-1?_["default"].info(e.detail):403===e.status&&e.ban?(0,k["default"])(e.ban):_["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement("div",{className:"well well-form well-form-request-activation-link"},c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"form-group"},c["default"].createElement("div",{className:"control-input"},c["default"].createElement("input",{type:"text",className:"form-control",placeholder:gettext("Your e-mail address"),disabled:this.state.isLoading,onChange:this.bindInput("email"),value:this.state.email}))),c["default"].createElement(m["default"],{className:"btn-primary btn-block",loading:this.state.isLoading},gettext("Send link"))))}}]),t}(b["default"]),x=a.LinkSent=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"getMessage",value:function(){return interpolate(gettext("Activation link was sent to %(email)s"),{email:this.props.user.email},!0)}},{key:"render",value:function(){return c["default"].createElement("div",{className:"well well-form well-form-request-activation-link well-done"},c["default"].createElement("div",{className:"done-message"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"check")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",null,this.getMessage())),c["default"].createElement("button",{className:"btn btn-primary btn-block",type:"button",onClick:this.props.callback},gettext("Request another link"))))}}]),t}(c["default"].Component),j=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.complete=function(e){a.setState({complete:e})},a.reset=function(){a.setState({complete:!1})},a.state={complete:!1},a}return s(t,e),i(t,[{key:"render",value:function(){return this.state.complete?c["default"].createElement(x,{user:this.state.complete,callback:this.reset}):c["default"].createElement(N,{callback:this.complete})}}]),t}(c["default"].Component);a["default"]=j},{"../index":276,"../services/ajax":337,"../services/snackbar":348,"../utils/banned-page":351,"../utils/validators":365,"./button":5,"./form":52,react:"react"}],179:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.AccountInactivePage=a.LinkSent=a.RequestResetForm=void 0;var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("react-dom"),f=r(d),p=e("../index"),m=r(p),h=e("./button"),b=r(h),v=e("./form"),y=r(v),g=e("../services/ajax"),_=r(g),E=e("../services/snackbar"),w=r(E),O=e("../utils/validators"),k=n(O),N=e("../utils/banned-page"),x=r(N),j=a.RequestResetForm=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={isLoading:!1,email:"",validators:{email:[k.email()]}},a}return s(t,e),i(t,[{key:"clean",value:function(){return!!this.isValid()||(w["default"].error(gettext("Enter a valid email address.")),!1)}},{key:"send",value:function(){return _["default"].post(m["default"].get("SEND_PASSWORD_RESET_API"),{email:this.state.email})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){["inactive_user","inactive_admin"].indexOf(e.code)>-1?this.props.showInactivePage(e):403===e.status&&e.ban?(0,x["default"])(e.ban):w["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement("div",{className:"well well-form well-form-request-password-reset"},c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"form-group"},c["default"].createElement("div",{className:"control-input"},c["default"].createElement("input",{type:"text",className:"form-control",placeholder:gettext("Your e-mail address"),disabled:this.state.isLoading,onChange:this.bindInput("email"),value:this.state.email}))),c["default"].createElement(b["default"],{className:"btn-primary btn-block",loading:this.state.isLoading},gettext("Send link"))))}}]),t}(y["default"]),P=a.LinkSent=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"getMessage",value:function(){return interpolate(gettext("Reset password link was sent to %(email)s"),{email:this.props.user.email},!0)}},{key:"render",value:function(){return c["default"].createElement("div",{className:"well well-form well-form-request-password-reset well-done"},c["default"].createElement("div",{className:"done-message"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"check")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",null,this.getMessage())),c["default"].createElement("button",{type:"button",className:"btn btn-primary btn-block",onClick:this.props.callback},gettext("Request another link"))))}}]),t}(c["default"].Component),C=a.AccountInactivePage=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"getActivateButton",value:function(){return"inactive_user"===this.props.activation?c["default"].createElement("p",null,c["default"].createElement("a",{href:m["default"].get("REQUEST_ACTIVATION_URL")},gettext("Activate your account."))):null}},{key:"render",value:function(){return c["default"].createElement("div",{className:"page page-message page-message-info page-forgotten-password-inactive"},c["default"].createElement("div",{className:"container"},c["default"].createElement("div",{className:"message-panel"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"info_outline")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",{className:"lead"},gettext("Your account is inactive.")),c["default"].createElement("p",null,this.props.message),this.getActivateButton()))))}}]),t}(c["default"].Component),S=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.complete=function(e){a.setState({complete:e})},a.reset=function(){a.setState({complete:!1})},a.state={complete:!1},a}return s(t,e),i(t,[{key:"showInactivePage",value:function(e){f["default"].render(c["default"].createElement(C,{activation:e.code,message:e.detail}),document.getElementById("page-mount"))}},{key:"render",value:function(){return this.state.complete?c["default"].createElement(P,{callback:this.reset,user:this.state.complete}):c["default"].createElement(j,{callback:this.complete,showInactivePage:this.showInactivePage})}}]),t}(c["default"].Component);a["default"]=S},{"../index":276,"../services/ajax":337,"../services/snackbar":348,"../utils/banned-page":351,"../utils/validators":365,"./button":5,"./form":52,react:"react","react-dom":"react-dom"}],180:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.PasswordChangedPage=a.ResetPasswordForm=void 0;var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("react-dom"),d=n(c),f=e("../index"),p=n(f),m=e("./button"),h=n(m),b=e("./form"),v=n(b),y=e("./sign-in.js"),g=n(y),_=e("../services/ajax"),E=n(_),w=e("../services/auth"),O=n(w),k=e("../services/modal"),N=n(k),x=e("../services/snackbar"),j=n(x),P=e("../utils/banned-page"),C=n(P),S=a.ResetPasswordForm=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={isLoading:!1,password:""},a}return l(t,e),s(t,[{key:"clean",value:function(){return!!this.state.password.trim().length||(j["default"].error(gettext("Enter new password.")),!1)}},{key:"send",value:function(){return E["default"].post(p["default"].get("CHANGE_PASSWORD_API"),{password:this.state.password})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){403===e.status&&e.ban?(0,C["default"])(e.ban):j["default"].apiError(e)}},{key:"render",value:function(){return u["default"].createElement("div",{className:"well well-form well-form-reset-password"},u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"form-group"},u["default"].createElement("div",{className:"control-input"},u["default"].createElement("input",{type:"password",className:"form-control",placeholder:gettext("Enter new password"),disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password}))),u["default"].createElement(h["default"],{className:"btn-primary btn-block",loading:this.state.isLoading},gettext("Change password"))))}}]),t}(v["default"]),M=a.PasswordChangedPage=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"getMessage",value:function(){return interpolate(gettext("%(username)s, your password has been changed successfully."),{username:this.props.user.username},!0)}},{key:"showSignIn",value:function(){N["default"].show(g["default"])}},{key:"render",value:function(){return u["default"].createElement("div",{className:"page page-message page-message-success page-forgotten-password-changed"},u["default"].createElement("div",{className:"container"},u["default"].createElement("div",{className:"message-panel"},u["default"].createElement("div",{className:"message-icon"},u["default"].createElement("span",{className:"material-icon"},"check")),u["default"].createElement("div",{className:"message-body"},u["default"].createElement("p",{className:"lead"},this.getMessage()),u["default"].createElement("p",null,gettext("You will have to sign in using new password before continuing.")),u["default"].createElement("p",null,u["default"].createElement("button",{type:"button",className:"btn btn-primary",onClick:this.showSignIn},gettext("Sign in")))))))}}]),t}(u["default"].Component),T=function(e){function t(){var e,a,n,l;r(this,t);for(var s=arguments.length,i=Array(s),c=0;c<s;c++)i[c]=arguments[c];return a=n=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.complete=function(e){O["default"].softSignOut(),$('#hidden-login-form input[name="redirect_to"]').remove(),d["default"].render(u["default"].createElement(M,{user:e}),document.getElementById("page-mount"))},l=a,o(n,l)}return l(t,e),s(t,[{key:"render",value:function(){return u["default"].createElement(S,{callback:this.complete})}}]),t}(u["default"].Component);a["default"]=T},{"../index":276,"../services/ajax":337,"../services/auth":338,"../services/modal":343,"../services/snackbar":348,"../utils/banned-page":351,"./button":5,"./form":52,"./sign-in.js":189,react:"react","react-dom":"react-dom"}],181:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../.."),d=n(c),f=e("../form"),p=n(f),m=e("../../reducers/posts"),h=e("../../reducers/search"),b=e("../../reducers/users"),v=e("../../services/ajax"),y=n(v),g=e("../../services/snackbar"),_=n(g),E=e("../../services/store"),w=n(E),O=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onQueryChange=function(e){a.changeValue("query",e.target.value)},a.state={isLoading:!1,query:e.search.query},a}return l(t,e),s(t,[{key:"clean",value:function(){return!!this.state.query.trim().length||(_["default"].error(gettext("You have to enter search query.")),!1)}},{key:"send",value:function(){return w["default"].dispatch((0,h.update)({isLoading:!0})),y["default"].get(d["default"].get("SEARCH_API"),{q:this.state.query.trim()})}},{key:"handleSuccess",value:function(e){w["default"].dispatch((0,h.update)({query:this.state.query.trim(),isLoading:!1,providers:e})),e.forEach(function(e){"users"===e.id?w["default"].dispatch((0,b.hydrate)(e.results.results)):"threads"===e.id&&w["default"].dispatch((0,m.load)(e.results))})}},{key:"handleError",value:function(e){_["default"].apiError(e),w["default"].dispatch((0,h.update)({isLoading:!1}))}},{key:"render",value:function(){return u["default"].createElement("div",{className:"page-header-bg"},u["default"].createElement("div",{className:"page-header page-search-form"},u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"container"},u["default"].createElement("div",{className:"row"},u["default"].createElement("div",{className:"col-xs-12 col-md-3"},u["default"].createElement("h1",null,gettext("Search"))),u["default"].createElement("div",{className:"col-xs-12 col-md-9"},u["default"].createElement("div",{className:"row xs-margin-top sm-margin-top"},u["default"].createElement("div",{className:"col-xs-12 col-sm-8 col-md-9"},u["default"].createElement("div",{className:"form-group"},u["default"].createElement("input",{className:"form-control",disabled:this.props.search.isLoading||this.state.isLoading,onChange:this.onQueryChange,type:"text",value:this.state.query}))),u["default"].createElement("div",{className:"col-xs-12 col-sm-4 col-md-3"},u["default"].createElement("button",{className:"btn btn-primary btn-block btn-outline",disabled:this.props.search.isLoading||this.state.isLoading},gettext("Search"))))))))))}}]),t}(p["default"]);a["default"]=O},{"../..":276,"../../reducers/posts":326,"../../reducers/search":329,"../../reducers/users":336,"../../services/ajax":337,"../../services/snackbar":348,"../../services/store":349,"../form":52,react:"react"}],182:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return{posts:e.posts,search:e.search,tick:e.tick.tick,user:e.auth.user,users:e.users}}Object.defineProperty(a,"__esModule",{value:!0}),a.select=r,a["default"]=function(e){return e.map(function(e){return{path:e.url,component:(0,o.connect)(r)(c[e.id]),provider:e}})};var o=e("react-redux"),l=e("./threads"),s=n(l),i=e("./users"),u=n(i),c={threads:s["default"],users:u["default"]}},{"./threads":185,"./users":187,"react-redux":"react-redux"}],183:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=null;if(e.search.providers.forEach(function(a){a.id===e.provider.id&&(t=a.time)}),null===t)return null;var a=gettext("Search took %(time)s s to complete");return l["default"].createElement("footer",{className:"search-footer"},l["default"].createElement("p",null,interpolate(a,{time:t},!0)))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return l["default"].createElement("div",{className:"page page-search"},l["default"].createElement(i["default"],{provider:e.provider,search:e.search}),l["default"].createElement("div",{className:"container"},l["default"].createElement("div",{className:"row"},l["default"].createElement("div",{className:"col-md-3"},l["default"].createElement(c["default"],{providers:e.search.providers})),l["default"].createElement("div",{className:"col-md-9"},e.children,l["default"].createElement(r,{provider:e.provider,search:e.search})))))},a.SearchTime=r;var o=e("react"),l=n(o),s=e("./form"),i=n(s),u=e("./sidenav"),c=n(u)},{"./form":181,"./sidenav":184,react:"react"}],184:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){if(!e.results)return null;var t=e.results.count;return t>1e6?t=Math.ceil(t/1e6)+"KK":t>1e3&&(t=Math.ceil(t/1e3)+"K"),l["default"].createElement("span",{className:"badge"},t)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return l["default"].createElement("div",{className:"list-group nav-side"},e.providers.map(function(e){return l["default"].createElement(s.Link,{activeClassName:"active",className:"list-group-item",key:e.id,to:e.url},l["default"].createElement("span",{className:"material-icon"},e.icon),e.name,l["default"].createElement(r,{results:e.results}))}))},a.Badge=r;var o=e("react"),l=n(o),s=e("react-router")},{react:"react","react-router":"react-router"}],185:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.posts&&e.posts.count?e.children:e.query.length?s["default"].createElement("p",{className:"lead"},gettext("No threads matching search query have been found.")):s["default"].createElement("p",{className:"lead"},gettext("Enter at least two characters to search threads."))}Object.defineProperty(a,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e};a["default"]=function(e){return s["default"].createElement(u["default"],{provider:e.route.provider,search:e.search},s["default"].createElement(r,{query:e.search.query,posts:e.posts},s["default"].createElement(d["default"],o({provider:e.route.provider,query:e.search.query},e.posts))))},a.Blankslate=r;var l=e("react"),s=n(l),i=e("../page"),u=n(i),c=e("./results"),d=n(c)},{"../page":183,"./results":186,react:"react"}],186:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.LoadMore=void 0;var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a["default"]=function(e){return u["default"].createElement("div",null,u["default"].createElement(d["default"],{isReady:!0,posts:e.results}),u["default"].createElement(O,e))};var i=e("react"),u=n(i),c=e("../../post-feed"),d=n(c),f=e("../../button"),p=n(f),m=e("../../misago-markup"),h=(n(m),e("../../../reducers/posts")),b=e("../../../reducers/search"),v=e("../../../services/ajax"),y=n(v),g=e("../../../services/snackbar"),_=n(g),E=e("../../../services/store"),w=n(E),O=a.LoadMore=function(e){function t(){var e,a,n,l;r(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){w["default"].dispatch((0,h.update)({isBusy:!0})),y["default"].get(n.props.provider.api,{q:n.props.query,page:n.props.next}).then(function(e){e.forEach(function(e){"threads"===e.id&&(w["default"].dispatch((0,h.append)(e.results)),w["default"].dispatch((0,b.updateProvider)(e)))}),w["default"].dispatch((0,h.update)({isBusy:!1}))},function(e){_["default"].apiError(e),w["default"].dispatch((0,h.update)({isBusy:!1}))})},l=a,o(n,l)}return l(t,e),s(t,[{key:"render",value:function(){return this.props.more?u["default"].createElement("div",{className:"pager-more"},u["default"].createElement(p["default"],{className:"btn btn-default btn-outline",loading:this.props.isBusy,onClick:this.onClick},gettext("Show more"))):null}}]),t}(u["default"].Component)},{"../../../reducers/posts":326,"../../../reducers/search":329,"../../../services/ajax":337,"../../../services/snackbar":348,"../../../services/store":349,"../../button":5,"../../misago-markup":56,"../../post-feed":100,react:"react"}],187:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.users.length?e.children:e.query.length?l["default"].createElement("p",{className:"lead"},gettext("No users matching search query have been found.")):l["default"].createElement("p",{className:"lead"},gettext("Enter at least two characters to search users."))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return l["default"].createElement(i["default"],{provider:e.route.provider,search:e.search},l["default"].createElement(r,{query:e.search.query,users:e.users},l["default"].createElement(c["default"],{cols:3,isReady:!0,users:e.users})))},a.Blankslate=r;var o=e("react"),l=n(o),s=e("../page"),i=n(s),u=e("../../users-list"),c=n(u)},{"../../users-list":258,"../page":183,react:"react"}],188:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){var t=e.icon;return t?c["default"].createElement("span",{className:"material-icon"},t):null}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.Icon=s;var u=e("react"),c=n(u),d=function(e){function t(){var e,a,n,l;r(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.change=function(e){return function(){n.props.onChange({target:{value:e}})}},l=a,o(n,l)}return l(t,e),i(t,[{key:"getChoice",value:function(){var e=this,t=null;return this.props.choices.map(function(a){a.value===e.props.value&&(t=a)}),t}},{key:"getIcon",value:function(){return this.getChoice().icon}},{key:"getLabel",value:function(){return this.getChoice().label}},{key:"render",value:function(){var e=this;return c["default"].createElement("div",{className:"btn-group btn-select-group"},c["default"].createElement("button",{type:"button",className:"btn btn-select dropdown-toggle",id:this.props.id||null,"data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-describedby":this.props["aria-describedby"]||null,disabled:this.props.disabled||!1},c["default"].createElement(s,{icon:this.getIcon()}),this.getLabel()),c["default"].createElement("ul",{className:"dropdown-menu"},this.props.choices.map(function(t,a){return c["default"].createElement("li",{key:a},c["default"].createElement("button",{type:"button",className:"btn-link",onClick:e.change(t.value)},c["default"].createElement(s,{icon:t.icon}),t.label))})))}}]),t}(c["default"].Component);a["default"]=d},{react:"react"}],189:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../index"),d=n(c),f=e("./button"),p=n(f),m=e("./form"),h=n(m),b=e("../services/ajax"),v=n(b),y=e("../services/modal"),g=n(y),_=e("../services/snackbar"),E=n(_),w=e("../utils/banned-page"),O=n(w),k=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={isLoading:!1,showActivation:!1,username:"",password:"",validators:{username:[],password:[]}},a}return l(t,e),s(t,[{key:"clean",value:function(){return!!this.isValid()||(E["default"].error(gettext("Fill out both fields.")),!1)}},{key:"send",value:function(){return v["default"].post(d["default"].get("AUTH_API"),{username:this.state.username,password:this.state.password})}},{key:"handleSuccess",value:function(){var e=$("#hidden-login-form");e.append('<input type="text" name="username" />'),e.append('<input type="password" name="password" />'),e.find('input[type="hidden"]').val(v["default"].getCsrfToken()),e.find('input[name="redirect_to"]').val(window.location.pathname),e.find('input[name="username"]').val(this.state.username),e.find('input[name="password"]').val(this.state.password),e.submit(),this.setState({isLoading:!0})}},{key:"handleError",value:function(e){400===e.status?"inactive_admin"===e.code?E["default"].info(e.detail):"inactive_user"===e.code?(E["default"].info(e.detail),this.setState({showActivation:!0})):"banned"===e.code?((0,O["default"])(e.detail),g["default"].hide()):E["default"].error(e.detail):403===e.status&&e.ban?((0,O["default"])(e.ban),g["default"].hide()):E["default"].apiError(e)}},{key:"getActivationButton",value:function(){return this.state.showActivation?u["default"].createElement("a",{className:"btn btn-success btn-block",href:d["default"].get("REQUEST_ACTIVATION_URL")},gettext("Activate account")):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"modal-dialog modal-sm modal-sign-in",role:"document"},u["default"].createElement("div",{className:"modal-content"},u["default"].createElement("div",{className:"modal-header"},u["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},u["default"].createElement("span",{"aria-hidden":"true"},"×")),u["default"].createElement("h4",{className:"modal-title"},gettext("Sign in"))),u["default"].createElement("form",{onSubmit:this.handleSubmit},u["default"].createElement("div",{className:"modal-body"},u["default"].createElement("div",{className:"form-group"},u["default"].createElement("div",{
 className:"control-input"},u["default"].createElement("input",{className:"form-control input-lg",disabled:this.state.isLoading,id:"id_username",onChange:this.bindInput("username"),placeholder:gettext("Username or e-mail"),type:"text",value:this.state.username}))),u["default"].createElement("div",{className:"form-group"},u["default"].createElement("div",{className:"control-input"},u["default"].createElement("input",{className:"form-control input-lg",disabled:this.state.isLoading,id:"id_password",onChange:this.bindInput("password"),placeholder:gettext("Password"),type:"password",value:this.state.password})))),u["default"].createElement("div",{className:"modal-footer"},this.getActivationButton(),u["default"].createElement(p["default"],{className:"btn-primary btn-block",loading:this.state.isLoading},gettext("Sign in")),u["default"].createElement("a",{className:"btn btn-default btn-block",href:d["default"].get("FORGOTTEN_PASSWORD_URL")},gettext("Forgot password?"))))))}}]),t}(h["default"]);a["default"]=k},{"../index":276,"../services/ajax":337,"../services/modal":343,"../services/snackbar":348,"../utils/banned-page":351,"./button":5,"./form":52,react:"react"}],190:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return e.snackbar}Object.defineProperty(a,"__esModule",{value:!0}),a.Snackbar=void 0;var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.select=s;var u=e("react"),c=n(u),d={info:"alert-info",success:"alert-success",warning:"alert-warning",error:"alert-danger"};a.Snackbar=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),i(t,[{key:"getSnackbarClass",value:function(){var e="alerts-snackbar";return e+=this.props.isVisible?" in":" out"}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getSnackbarClass()},c["default"].createElement("p",{className:"alert "+d[this.props.type]},this.props.message))}}]),t}(c["default"].Component)},{react:"react"}],191:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return s["default"].createElement("li",null,s["default"].createElement("a",{href:e.node.url.index},e.node.name))}function o(e){var t=e.path[e.path.length-1];return s["default"].createElement("a",{href:t.url.index,className:"go-back-sm visible-xs-block"},s["default"].createElement("span",{className:"material-icon"},"chevron_left"),t.name)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return s["default"].createElement("div",{className:"page-breadcrumbs"},s["default"].createElement("div",{className:"container"},s["default"].createElement("ol",{className:"breadcrumb hidden-xs"},e.path.map(function(e){return s["default"].createElement(r,{key:e.id,node:e})})),s["default"].createElement(o,e)))},a.Breadcrumb=r,a.GoBack=o;var l=e("react"),s=n(l)},{react:"react"}],192:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return f["default"].createElement("div",{className:e.isSingle?"col-xs-12":"col-xs-6"},f["default"].createElement("div",{className:"btn-group btn-group-justified"},f["default"].createElement("div",{className:"btn-group"},f["default"].createElement("button",{"aria-expanded":"false","aria-haspopup":"true",className:"btn btn-default btn-outline dropdown-toggle","data-toggle":"dropdown",disabled:e.thread.isBusy,type:"button"},f["default"].createElement("span",{className:"material-icon"},"settings"),f["default"].createElement("span",{className:e.isSingle?"":"hidden-sm"},gettext("Moderation"))),f["default"].createElement(h.ModerationControls,{posts:e.posts,thread:e.thread,user:e.user}))))}Object.defineProperty(a,"__esModule",{value:!0});var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},c=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.Moderation=i;var d=e("react"),f=r(d),p=e("./breadcrumbs"),m=r(p),h=e("../moderation/thread"),b=e("./stats"),v=r(b),y=e("../../form"),g=r(y),_=e("../../posting/utils/validators"),E=e("../../../services/ajax"),w=r(E),O=e("../../../services/snackbar"),k=r(O),N=e("../../../services/store"),x=r(N),j=e("../../../reducers/thread"),P=n(j),C=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onChange=function(e){a.changeValue("title",e.target.value)},a.onEdit=function(){a.setState({isEditing:!0})},a.onCancel=function(){a.setState({title:a.props.thread.title,isEditing:!1})},a.state={isEditing:!1,isLoading:!1,title:e.thread.title,validators:{title:(0,_.getTitleValidators)()},errors:{}},a}return s(t,e),c(t,[{key:"clean",value:function(){if(!this.state.title.trim().length)return k["default"].error(gettext("You have to enter thread title.")),!1;var e=this.validate();return!e.title||(k["default"].error(e.title[0]),!1)}},{key:"send",value:function(){return w["default"].patch(this.props.thread.api.index,[{op:"replace",path:"title",value:this.state.title}])}},{key:"handleSuccess",value:function(e){x["default"].dispatch(P.update(e)),this.setState({isEditing:!1})}},{key:"handleError",value:function(e){400===e.status?k["default"].error(e.detail[0]):k["default"].apiError(e)}},{key:"render",value:function(){var e=this.props,t=e.thread,a=e.user,n=!!a.id&&(0,h.isModerationVisible)(t);return this.state.isEditing?f["default"].createElement("div",{className:"page-header"},f["default"].createElement(m["default"],{path:t.path}),f["default"].createElement("div",{className:"container"},f["default"].createElement("div",{className:"row xs-margin-top title-edit-form"},f["default"].createElement("form",{onSubmit:this.handleSubmit},f["default"].createElement("div",{className:"col-sm-6 col-md-6"},f["default"].createElement("input",{className:"form-control",type:"text",value:this.state.title,onChange:this.onChange})),f["default"].createElement("div",{className:"col-sm-6 col-md-4"},f["default"].createElement("div",{className:"row xs-margin-top-half sm-margin-top-no md-margin-top-no"},f["default"].createElement("div",{className:"col-xs-6"},f["default"].createElement("button",{className:"btn btn-primary btn-block btn-outline",disabled:this.state.isLoading,title:gettext("Change title")},gettext("Save changes"))),f["default"].createElement("div",{className:"col-xs-6"},f["default"].createElement("button",{className:"btn btn-default btn-block btn-outline",disabled:this.state.isLoading,onClick:this.onCancel,title:gettext("Cancel"),type:"button"},gettext("Cancel")))))))),f["default"].createElement(v["default"],{thread:t})):a.id&&t.acl.can_edit?f["default"].createElement("div",{className:"page-header"},f["default"].createElement(m["default"],{path:t.path}),f["default"].createElement("div",{className:"container"},f["default"].createElement("div",{className:"row"},f["default"].createElement("div",{className:n?"col-sm-9 col-md-8":"col-sm-10 col-md-10"},f["default"].createElement("h1",null,t.title)),f["default"].createElement("div",{className:n?"col-sm-3 col-md-4":"col-sm-3 col-md-2"},f["default"].createElement("div",{className:"row xs-margin-top md-margin-top-no"},f["default"].createElement("div",{className:n?"col-xs-6":"col-xs-12"},f["default"].createElement("button",{className:"btn btn-default btn-block btn-outline",onClick:this.onEdit,title:gettext("Edit title"),type:"button"},f["default"].createElement("span",{className:"material-icon"},"edit"),f["default"].createElement("span",{className:"hidden-sm"},gettext("Edit")))),n&&f["default"].createElement(i,this.props))))),f["default"].createElement(v["default"],{thread:t})):n?f["default"].createElement("div",{className:"page-header"},f["default"].createElement(m["default"],{path:t.path}),f["default"].createElement("div",{className:"container"},f["default"].createElement("div",{className:"row"},f["default"].createElement("div",{className:"col-sm-9 col-md-10"},f["default"].createElement("h1",null,t.title)),f["default"].createElement("div",{className:"col-sm-3 col-md-2"},f["default"].createElement("div",{className:"row xs-margin-top md-margin-top-no"},f["default"].createElement(i,u({isSingle:!0},this.props)))))),f["default"].createElement(v["default"],{thread:t})):f["default"].createElement("div",{className:"page-header"},f["default"].createElement(m["default"],{path:t.path}),f["default"].createElement("div",{className:"container"},f["default"].createElement("h1",null,t.title)),f["default"].createElement(v["default"],{thread:t}))}}]),t}(g["default"]);a["default"]=C},{"../../../reducers/thread":332,"../../../services/ajax":337,"../../../services/snackbar":348,"../../../services/store":349,"../../form":52,"../../posting/utils/validators":122,"../moderation/thread":201,"./breadcrumbs":191,"./stats":193,react:"react"}],193:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return 2==e.thread.weight?d["default"].createElement("li",{className:"thread-pinned-globally"},d["default"].createElement("span",{className:"material-icon"},"bookmark"),d["default"].createElement("span",{className:"icon-legend"},gettext("Pinned globally"))):1==e.thread.weight?d["default"].createElement("li",{className:"thread-pinned-locally"},d["default"].createElement("span",{className:"material-icon"},"bookmark_border"),d["default"].createElement("span",{className:"icon-legend"},gettext("Pinned locally"))):null}function o(e){return e.thread.is_unapproved?d["default"].createElement("li",{className:"thread-unapproved"},d["default"].createElement("span",{className:"material-icon"},"remove_circle"),d["default"].createElement("span",{className:"icon-legend"},gettext("Unapproved"))):e.thread.has_unapproved_posts?d["default"].createElement("li",{className:"thread-unapproved-posts"},d["default"].createElement("span",{className:"material-icon"},"remove_circle_outline"),d["default"].createElement("span",{className:"icon-legend"},gettext("Unapproved posts"))):null}function l(e){return e.thread.is_hidden?d["default"].createElement("li",{className:"thread-hidden"},d["default"].createElement("span",{className:"material-icon"},"visibility_off"),d["default"].createElement("span",{className:"icon-legend"},gettext("Hidden"))):null}function s(e){return e.thread.is_closed?d["default"].createElement("li",{className:"thread-closed"},d["default"].createElement("span",{className:"material-icon"},"lock_outline"),d["default"].createElement("span",{className:"icon-legend"},gettext("Closed"))):null}function i(e){var t=ngettext("%(replies)s reply","%(replies)s replies",e.thread.replies),a=interpolate(t,{replies:e.thread.replies},!0);return d["default"].createElement("li",{className:"thread-replies"},d["default"].createElement("span",{className:"material-icon"},"forum"),d["default"].createElement("span",{className:"icon-legend"},a))}function u(e){var t=null;t=e.thread.url.last_poster?interpolate(m,{url:(0,p["default"])(e.thread.url.last_poster),user:(0,p["default"])(e.thread.last_poster_name)},!0):interpolate(h,{user:(0,p["default"])(e.thread.last_poster_name)},!0);var a=interpolate(b,{absolute:(0,p["default"])(e.thread.last_post_on.format("LLL")),relative:(0,p["default"])(e.thread.last_post_on.fromNow())},!0),n=interpolate((0,p["default"])(gettext("last reply by %(user)s %(date)s")),{date:a,user:t},!0);return d["default"].createElement("li",{className:"thread-last-reply",dangerouslySetInnerHTML:{__html:n}})}Object.defineProperty(a,"__esModule",{value:!0}),a.Weight=r,a.Unapproved=o,a.IsHidden=l,a.IsClosed=s,a.Replies=i,a.LastReply=u,a["default"]=function(e){return d["default"].createElement("div",{className:"header-stats"},d["default"].createElement("div",{className:"container"},d["default"].createElement("ul",{className:"list-inline"},d["default"].createElement(r,{thread:e.thread}),d["default"].createElement(o,{thread:e.thread}),d["default"].createElement(l,{thread:e.thread}),d["default"].createElement(s,{thread:e.thread}),d["default"].createElement(i,{thread:e.thread}),d["default"].createElement(u,{thread:e.thread}))))};var c=e("react"),d=n(c),f=e("../../../utils/escape-html"),p=n(f),m='<a href="%(url)s" class="poster-title">%(user)s</a>',h='<span class="poster-title">%(user)s</span>',b='<abbr class="last-title" title="%(absolute)s">%(relative)s</abbr>'},{"../../../utils/escape-html":355,react:"react"}],194:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e){var t=e.selection,a=[{op:"replace",path:"is-unapproved",value:!1}],n=t.map(function(e){return{id:e.id,is_unapproved:!1}}),r=t.map(function(e){return{id:e.id,is_unapproved:e.is_unapproved}});c(e,a,n,r)}function l(e){var t=e.selection,a=[{op:"replace",path:"is-protected",value:!0}],n=t.map(function(e){return{id:e.id,is_protected:!0}}),r=t.map(function(e){return{id:e.id,is_protected:e.is_protected}});c(e,a,n,r)}function s(e){var t=e.selection,a=[{op:"replace",path:"is-protected",value:!1}],n=t.map(function(e){return{id:e.id,is_protected:!1}}),r=t.map(function(e){return{id:e.id,is_protected:e.is_protected}});c(e,a,n,r)}function i(e){var t=e.selection,a=[{op:"replace",path:"is-hidden",value:!0}],n=t.map(function(t){return{id:t.id,is_hidden:!0,hidden_on:(0,m["default"])(),hidden_by_name:e.user.username,url:Object.assign(t.url,{hidden_by:e.user.url})}}),r=t.map(function(e){return{id:e.id,is_hidden:e.is_hidden,hidden_on:e.hidden_on,hidden_by_name:e.hidden_by_name,url:e.url}});c(e,a,n,r)}function u(e){var t=e.selection,a=[{op:"replace",path:"is-hidden",value:!1}],n=t.map(function(t){return{id:t.id,is_hidden:!1,hidden_on:(0,m["default"])(),hidden_by_name:e.user.username,url:Object.assign(t.url,{hidden_by:e.user.url})}}),r=t.map(function(e){return{id:e.id,is_hidden:e.is_hidden,hidden_on:e.hidden_on,hidden_by_name:e.hidden_by_name,url:e.url}});c(e,a,n,r)}function c(e,t,a,n){var r=e.selection,o=e.thread;a.forEach(function(e){y.patch(e,e)}),P["default"].dispatch(_.deselectAll());var l={ops:t,ids:r.map(function(e){return e.id})};w["default"].patch(o.api.posts.index,l).then(function(e){e.forEach(function(e){P["default"].dispatch(y.patch(e,e))})},function(e){if(400!==e.status)return n.forEach(function(e){P["default"].dispatch(y.patch(e,e))}),x["default"].apiError(e);var t=[],a=[];e.forEach(function(e){e.detail?(t.push(e),a.push(e.id)):P["default"].dispatch(y.patch(e,e)),n.forEach(function(e){a.indexOf(e)!==-1&&P["default"].dispatch(y.patch(e,e))})});var o={};r.forEach(function(e){o[e.id]=e}),k["default"].show(b["default"].createElement(S["default"],{errors:t,posts:o}))})}function d(e){var t=confirm(gettext("Are you sure you want to merge selected posts? This action is not reversible!"));t&&(e.selection.slice(1).map(function(e){P["default"].dispatch(y.patch(e,{isDeleted:!0}))}),w["default"].post(e.thread.api.posts.merge,{posts:e.selection.map(function(e){return e.id})}).then(function(e){P["default"].dispatch(y.patch(e,y.hydrate(e)))},function(t){400===t.status?x["default"].error(t.detail):x["default"].apiError(t),e.selection.slice(1).map(function(e){P["default"].dispatch(y.patch(e,{isDeleted:!1}))})}),P["default"].dispatch(_.deselectAll()))}function f(e){var t=confirm(gettext("Are you sure you want to delete selected posts? This action is not reversible!"));if(t){e.selection.map(function(e){P["default"].dispatch(y.patch(e,{isDeleted:!0}))});var a=e.selection.map(function(e){return e.id});w["default"]["delete"](e.thread.api.posts.index,a).then(function(){},function(t){400===t.status?x["default"].error(t.detail):x["default"].apiError(t),e.selection.map(function(e){P["default"].dispatch(y.patch(e,{isDeleted:!1}))})}),P["default"].dispatch(_.deselectAll())}}Object.defineProperty(a,"__esModule",{value:!0}),a.approve=o,a.protect=l,a.unprotect=s,a.hide=i,a.unhide=u,a.patch=c,a.merge=d,a.remove=f;var p=e("moment"),m=r(p),h=e("react"),b=r(h),v=e("../../../../reducers/post"),y=n(v),g=e("../../../../reducers/posts"),_=n(g),E=e("../../../../services/ajax"),w=r(E),O=e("../../../../services/modal"),k=r(O),N=e("../../../../services/snackbar"),x=r(N),j=e("../../../../services/store"),P=r(j),C=e("./errors-list"),S=r(C)},{"../../../../reducers/post":325,"../../../../reducers/posts":326,"../../../../services/ajax":337,"../../../../services/modal":343,"../../../../services/snackbar":348,"../../../../services/store":349,"./errors-list":196,moment:"moment",react:"react"}],195:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.Delete=a.Unhide=a.Hide=a.Unprotect=a.Protect=a.Split=a.Move=a.Merge=a.Approve=void 0;var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a["default"]=function(e){return c["default"].createElement("ul",{className:"dropdown-menu"},c["default"].createElement(g,e),c["default"].createElement(_,e),c["default"].createElement(E,e),c["default"].createElement(w,e),c["default"].createElement(O,e),c["default"].createElement(k,e),c["default"].createElement(x,e),c["default"].createElement(N,e),c["default"].createElement(j,e))};var u=e("react"),c=r(u),d=e("../../../../services/modal"),f=r(d),p=e("./actions"),m=n(p),h=e("./move"),b=r(h),v=e("./split"),y=r(v),g=a.Approve=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){m.approve(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.acl.can_approve&&e.is_unapproved});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"done"),gettext("Approve"))):null}}]),t}(c["default"].Component),_=a.Merge=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){m.merge(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.length>1&&this.props.selection.find(function(e){return e.acl.can_merge});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"call_merge"),gettext("Merge"))):null}}]),t}(c["default"].Component),E=a.Move=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){f["default"].show(c["default"].createElement(b["default"],n.props))},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.acl.can_move});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"arrow_forward"),gettext("Move"))):null}}]),t}(c["default"].Component),w=a.Split=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){f["default"].show(c["default"].createElement(y["default"],n.props))},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.acl.can_move});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"call_split"),gettext("Split"))):null}}]),t}(c["default"].Component),O=a.Protect=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){m.protect(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return!e.is_protected&&e.acl.can_protect});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"lock_outline"),gettext("Protect"))):null}}]),t}(c["default"].Component),k=a.Unprotect=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){m.unprotect(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.is_protected&&e.acl.can_protect});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"lock_open"),gettext("Unprotect"))):null}}]),t}(c["default"].Component),N=a.Hide=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){m.hide(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.acl.can_hide&&!e.is_hidden});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"visibility_off"),gettext("Hide"))):null}}]),t}(c["default"].Component),x=a.Unhide=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){m.unhide(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.acl.can_unhide&&e.is_hidden});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"visibility"),gettext("Unhide"))):null}}]),t}(c["default"].Component),j=a.Delete=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){m.remove(n.props)},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){var e=this.props.selection.find(function(e){return e.acl.can_delete});return e?c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn btn-link",onClick:this.onClick},c["default"].createElement("span",{className:"material-icon"},"clear"),gettext("Delete"))):null}}]),t}(c["default"].Component)},{"../../../../services/modal":343,"./actions":194,"./move":198,"./split":199,react:"react"}],196:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.errors,a=e.post,n=interpolate(gettext("%(username)s on %(posted_on)s"),{posted_on:a.posted_on.format("LL, LT"),username:a.poster_name},!0);return l["default"].createElement("li",null,l["default"].createElement("h5",null,n,":"),t.map(function(e,t){return l["default"].createElement("p",{key:t},e)}))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.errors,a=e.posts;return l["default"].createElement("div",{className:"modal-dialog",role:"document"},l["default"].createElement("div",{className:"modal-content"},l["default"].createElement("div",{className:"modal-header"},l["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},l["default"].createElement("span",{"aria-hidden":"true"},"×")),l["default"].createElement("h4",{className:"modal-title"},gettext("Moderation"))),l["default"].createElement("div",{className:"modal-body"},l["default"].createElement("p",{className:"lead"},gettext("One or more posts could not be changed:")),l["default"].createElement("ul",{className:"list-unstyled list-errored-items"},t.map(function(e){return l["default"].createElement(r,{errors:e.detail,key:e.id,post:a[e.id]})})))))},a.PostErrors=r;var o=e("react"),l=n(o)},{react:"react"}],197:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(e.acl.can_merge_posts&&t.length>1)return!0;var a=!1;return t.forEach(function(e){if(!e.is_event){var t=e.acl.can_approve&&e.is_unapproved||e.acl.can_delete||!e.is_hidden&&e.acl.can_hide||e.acl.can_move||e.acl.can_merge||e.acl.can_protect||e.is_hidden&&e.acl.can_unhide||e.acl.can_unprotect;t&&(a=!0)}}),a}Object.defineProperty(a,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e};a["default"]=function(e){if(!e.user.id||!r(e.thread,e.posts.results))return null;var t=e.posts.results.filter(function(e){return e.isSelected});return s["default"].createElement("div",{className:"dropup"},s["default"].createElement("button",{"aria-expanded":"true","aria-haspopup":"true",className:"btn btn-default dropdown-toggle btn-block btn-outline","data-toggle":"dropdown",disabled:!t.length,type:"button"},gettext("Posts options")),s["default"].createElement(u["default"],o({selection:t},e)))},a.isVisible=r;var l=e("react"),s=n(l),i=e("./dropdown"),u=n(i)},{"./dropdown":195,react:"react"}],198:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return d["default"].createElement("div",{className:"modal-header"},d["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},d["default"].createElement("span",{"aria-hidden":"true"},"×")),d["default"].createElement("h4",{className:"modal-title"},gettext("Move posts")))}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.ModalHeader=i;var c=e("react"),d=r(c),f=e("../../../button"),p=(r(f),e("../../../form")),m=r(p),h=e("../../../form-group"),b=r(h),v=e("../../../../reducers/post"),y=n(v),g=e("../../../../services/ajax"),_=r(g),E=e("../../../../services/modal"),w=r(E),O=e("../../../../services/snackbar"),k=r(O),N=e("../../../../services/store"),x=r(N),j=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onUrlChange=function(e){a.changeValue("url",e.target.value)},a.state={isLoading:!1,url:"",validators:{url:[]},errors:{}},a}return s(t,e),u(t,[{key:"clean",value:function(){return!!this.state.url.trim().length||(k["default"].error(gettext("You have to enter link to the other thread.")),!1)}},{key:"send",value:function(){return _["default"].post(this.props.thread.api.posts.move,{thread_url:this.state.url,posts:this.props.selection.map(function(e){return e.id})})}},{key:"handleSuccess",value:function(e){this.props.selection.forEach(function(e){x["default"].dispatch(y.patch(e,{isDeleted:!0}))}),w["default"].hide(),k["default"].success(gettext("Selected posts were moved to the other thread."))}},{key:"handleError",value:function(e){400===e.status?k["default"].error(e.detail):k["default"].apiError(e)}},{key:"render",value:function(){return d["default"].createElement("div",{className:"modal-dialog",role:"document"},d["default"].createElement("form",{onSubmit:this.handleSubmit},d["default"].createElement("div",{className:"modal-content"},d["default"].createElement(i,null),d["default"].createElement("div",{className:"modal-body"},d["default"].createElement(b["default"],{"for":"id_url",label:gettext("Link to thread you want to move posts to")
 },d["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading,id:"id_url",onChange:this.onUrlChange,value:this.state.url}))),d["default"].createElement("div",{className:"modal-footer"},d["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},gettext("Cancel")),d["default"].createElement("button",{className:"btn btn-primary",loading:this.state.isLoading},gettext("Move posts"))))))}}]),t}(m["default"]);a["default"]=j},{"../../../../reducers/post":325,"../../../../services/ajax":337,"../../../../services/modal":343,"../../../../services/snackbar":348,"../../../../services/store":349,"../../../button":5,"../../../form":52,"../../../form-group":51,react:"react"}],199:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(){return m["default"].createElement(c,{className:"modal-dialog"},m["default"].createElement(k["default"],null))}function u(e){return m["default"].createElement(c,{className:"modal-dialog modal-message"},m["default"].createElement("div",{className:"message-icon"},m["default"].createElement("span",{className:"material-icon"},"info_outline")),m["default"].createElement("div",{className:"message-body"},m["default"].createElement("p",{className:"lead"},gettext("You can't move selected posts at the moment.")),m["default"].createElement("p",null,e.message),m["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},gettext("Ok"))))}function c(e){return m["default"].createElement("div",{className:e.className,role:"document"},m["default"].createElement("div",{className:"modal-content"},m["default"].createElement("div",{className:"modal-header"},m["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},m["default"].createElement("span",{"aria-hidden":"true"},"×")),m["default"].createElement("h4",{className:"modal-title"},gettext("Split posts into new thread"))),e.children))}Object.defineProperty(a,"__esModule",{value:!0}),a.ModerationForm=a.PostingConfig=void 0;var d=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e};a["default"]=function(e){return m["default"].createElement(B,f({},e,{Form:H}))},a.Loader=i,a.Error=u,a.Modal=c;var p=e("react"),m=r(p),h=e("../../../button"),b=r(h),v=e("../../../form"),y=r(v),g=e("../../../form-group"),_=r(g),E=e("../../../category-select"),w=r(E),O=e("../../../modal-loader"),k=r(O),N=e("../../../select"),x=r(N),j=e("../../../../reducers/post"),P=n(j),C=e("../../../../services/ajax"),S=r(C),M=e("../../../../services/modal"),T=r(M),L=e("../../../../services/snackbar"),R=r(L),A=e("../../../../services/store"),I=r(A),D=e("../../../../utils/validators"),U=n(D),B=a.PostingConfig=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={isLoaded:!1,isError:!1,categories:[]},a}return s(t,e),d(t,[{key:"componentDidMount",value:function(){var e=this;S["default"].get(misago.get("THREAD_EDITOR_API")).then(function(t){var a=t.map(function(e){return Object.assign(e,{disabled:e.post===!1,label:e.name,value:e.id,post:e.post})});e.setState({isLoaded:!0,categories:a})},function(t){e.setState({isError:t.detail})})}},{key:"render",value:function(){return this.state.isError?m["default"].createElement(u,{message:this.state.isError}):this.state.isLoaded?m["default"].createElement(H,f({},this.props,{categories:this.state.categories})):m["default"].createElement(i,null)}}]),t}(m["default"].Component),H=a.ModerationForm=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onCategoryChange=function(e){var t=e.target.value,n={category:t};a.acl[t].can_pin_threads<n.weight&&(n.weight=0),a.acl[t].can_hide_threads||(n.is_hidden=0),a.acl[t].can_close_threads||(n.is_closed=!1),a.setState(n)},a.state={isLoading:!1,title:"",category:null,categories:e.categories,weight:0,is_hidden:0,is_closed:!1,validators:{title:[U.required()]},errors:{}},a.isHiddenChoices=[{value:0,icon:"visibility",label:gettext("No")},{value:1,icon:"visibility_off",label:gettext("Yes")}],a.isClosedChoices=[{value:!1,icon:"lock_outline",label:gettext("No")},{value:!0,icon:"lock",label:gettext("Yes")}],a.acl={},a.props.categories.forEach(function(e){e.post&&(a.state.category||(a.state.category=e.id),a.acl[e.id]={can_pin_threads:e.post.pin,can_close_threads:e.post.close,can_hide_threads:e.post.hide})}),a}return s(t,e),d(t,[{key:"clean",value:function(){return!!this.isValid()||(R["default"].error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return S["default"].post(this.props.thread.api.posts.split,{title:this.state.title,category:this.state.category,weight:this.state.weight,is_hidden:this.state.is_hidden,is_closed:this.state.is_closed,posts:this.props.selection.map(function(e){return e.id})})}},{key:"handleSuccess",value:function(e){this.props.selection.forEach(function(e){I["default"].dispatch(P.patch(e,{isDeleted:!0}))}),T["default"].hide(),R["default"].success(gettext("Selected posts were split into new thread."))}},{key:"handleError",value:function(e){400===e.status?(this.setState({errors:Object.assign({},this.state.errors,e)}),R["default"].error(gettext("Form contains errors."))):403===e.status&&Array.isArray(e)?T["default"].show(m["default"].createElement(ErrorsModal,{errors:e})):R["default"].apiError(e)}},{key:"getWeightChoices",value:function(){var e=[{value:0,icon:"remove",label:gettext("Not pinned")},{value:1,icon:"bookmark_border",label:gettext("Pinned locally")}];return 2==this.acl[this.state.category].can_pin_threads&&e.push({value:2,icon:"bookmark",label:gettext("Pinned globally")}),e}},{key:"renderWeightField",value:function(){return this.acl[this.state.category].can_pin_threads?m["default"].createElement(_["default"],{label:gettext("Thread weight"),"for":"id_weight",labelClass:"col-sm-4",controlClass:"col-sm-8"},m["default"].createElement(x["default"],{id:"id_weight",onChange:this.bindInput("weight"),value:this.state.weight,choices:this.getWeightChoices()})):null}},{key:"renderHiddenField",value:function(){return this.acl[this.state.category].can_hide_threads?m["default"].createElement(_["default"],{label:gettext("Hide thread"),"for":"id_is_hidden",labelClass:"col-sm-4",controlClass:"col-sm-8"},m["default"].createElement(x["default"],{id:"id_is_closed",onChange:this.bindInput("is_hidden"),value:this.state.is_hidden,choices:this.isHiddenChoices})):null}},{key:"renderClosedField",value:function(){return this.acl[this.state.category].can_close_threads?m["default"].createElement(_["default"],{label:gettext("Close thread"),"for":"id_is_closed",labelClass:"col-sm-4",controlClass:"col-sm-8"},m["default"].createElement(x["default"],{id:"id_is_closed",onChange:this.bindInput("is_closed"),value:this.state.is_closed,choices:this.isClosedChoices})):null}},{key:"render",value:function(){return m["default"].createElement(c,{className:"modal-dialog"},m["default"].createElement("form",{onSubmit:this.handleSubmit},m["default"].createElement("div",{className:"modal-body"},m["default"].createElement(_["default"],{label:gettext("Thread title"),"for":"id_title",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.title},m["default"].createElement("input",{id:"id_title",className:"form-control",type:"text",onChange:this.bindInput("title"),value:this.state.title})),m["default"].createElement("div",{className:"clearfix"}),m["default"].createElement(_["default"],{label:gettext("Category"),"for":"id_category",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.category},m["default"].createElement(w["default"],{id:"id_category",onChange:this.onCategoryChange,value:this.state.category,choices:this.state.categories})),m["default"].createElement("div",{className:"clearfix"}),this.renderWeightField(),this.renderHiddenField(),this.renderClosedField()),m["default"].createElement("div",{className:"modal-footer"},m["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},gettext("Cancel")),m["default"].createElement(b["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Split posts")))))}}]),t}(y["default"])},{"../../../../reducers/post":325,"../../../../services/ajax":337,"../../../../services/modal":343,"../../../../services/snackbar":348,"../../../../services/store":349,"../../../../utils/validators":365,"../../../button":5,"../../../category-select":18,"../../../form":52,"../../../form-group":51,"../../../modal-loader":57,"../../../select":188,react:"react"}],200:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("./merge"),f=r(d),p=e("./move"),m=r(p),h=e("../../../../reducers/thread"),b=n(h),v=e("../../../../services/ajax"),y=r(v),g=e("../../../../services/modal"),_=r(g),E=e("../../../../services/snackbar"),w=r(E),O=e("../../../../services/store"),k=r(O),N=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.callApi=function(e,t){k["default"].dispatch(b.busy()),e.push({op:"add",path:"acl",value:!0}),y["default"].patch(n.props.thread.api.index,e).then(function(e){k["default"].dispatch(b.update(e)),k["default"].dispatch(b.release()),w["default"].success(t)},function(e){k["default"].dispatch(b.release()),400===e.status?w["default"].error(e.detail[0]):w["default"].apiError(e)})},n.pinGlobally=function(){n.callApi([{op:"replace",path:"weight",value:2}],gettext("Thread has been pinned globally."))},n.pinLocally=function(){n.callApi([{op:"replace",path:"weight",value:1}],gettext("Thread has been pinned locally."))},n.unpin=function(){n.callApi([{op:"replace",path:"weight",value:0}],gettext("Thread has been unpinned."))},n.approve=function(){n.callApi([{op:"replace",path:"is-unapproved",value:!1}],gettext("Thread has been approved."))},n.open=function(){n.callApi([{op:"replace",path:"is-closed",value:!1}],gettext("Thread has been opened."))},n.close=function(){n.callApi([{op:"replace",path:"is-closed",value:!0}],gettext("Thread has been closed."))},n.unhide=function(){n.callApi([{op:"replace",path:"is-hidden",value:!1}],gettext("Thread has been made visible."))},n.hide=function(){n.callApi([{op:"replace",path:"is-hidden",value:!0}],gettext("Thread has been made hidden."))},n.move=function(){_["default"].show(c["default"].createElement(m["default"],{posts:n.props.posts,thread:n.props.thread}))},n.merge=function(){_["default"].show(c["default"].createElement(f["default"],{thread:n.props.thread}))},n["delete"]=function(){confirm(gettext("Are you sure you want to delete this thread?"))&&(k["default"].dispatch(b.busy()),y["default"]["delete"](n.props.thread.api.index).then(function(e){w["default"].success(gettext("Thread has been deleted.")),window.location=n.props.thread.category.url.index},function(e){k["default"].dispatch(b.release()),w["default"].apiError(e)}))},r=a,l(n,r)}return s(t,e),i(t,[{key:"getPinGloballyButton",value:function(){return 2===this.props.thread.weight?null:this.props.thread.acl.can_pin_globally?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.pinGlobally,type:"button"},c["default"].createElement("span",{className:"material-icon"},"bookmark"),gettext("Pin globally"))):null}},{key:"getPinLocallyButton",value:function(){return 1===this.props.thread.weight?null:this.props.thread.acl.can_pin?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.pinLocally,type:"button"},c["default"].createElement("span",{className:"material-icon"},"bookmark_border"),gettext("Pin locally"))):null}},{key:"getUnpinButton",value:function(){return 0===this.props.thread.weight?null:this.props.thread.acl.can_pin?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.unpin,type:"button"},c["default"].createElement("span",{className:"material-icon"},"panorama_fish_eye"),gettext("Unpin"))):null}},{key:"getMoveButton",value:function(){return this.props.thread.acl.can_move?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.move,type:"button"},c["default"].createElement("span",{className:"material-icon"},"arrow_forward"),gettext("Move"))):null}},{key:"getMergeButton",value:function(){return this.props.thread.acl.can_merge?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.merge,type:"button"},c["default"].createElement("span",{className:"material-icon"},"call_merge"),gettext("Merge"))):null}},{key:"getApproveButton",value:function(){return this.props.thread.is_unapproved&&this.props.thread.acl.can_approve?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.approve,type:"button"},c["default"].createElement("span",{className:"material-icon"},"done"),gettext("Approve"))):null}},{key:"getOpenButton",value:function(){return this.props.thread.is_closed&&this.props.thread.acl.can_close?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.open,type:"button"},c["default"].createElement("span",{className:"material-icon"},"lock_open"),gettext("Open"))):null}},{key:"getCloseButton",value:function(){return this.props.thread.is_closed?null:this.props.thread.acl.can_close?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.close,type:"button"},c["default"].createElement("span",{className:"material-icon"},"lock_outline"),gettext("Close"))):null}},{key:"getUnhideButton",value:function(){return this.props.thread.is_hidden&&this.props.thread.acl.can_unhide?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.unhide,type:"button"},c["default"].createElement("span",{className:"material-icon"},"visibility"),gettext("Unhide"))):null}},{key:"getHideButton",value:function(){return this.props.thread.is_hidden?null:this.props.thread.acl.can_hide?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.hide,type:"button"},c["default"].createElement("span",{className:"material-icon"},"visibility_off"),gettext("Hide"))):null}},{key:"getDeleteButton",value:function(){return this.props.thread.acl.can_delete?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this["delete"],type:"button"},c["default"].createElement("span",{className:"material-icon"},"clear"),gettext("Delete"))):null}},{key:"render",value:function(){return c["default"].createElement("ul",{className:"dropdown-menu dropdown-menu-right stick-to-bottom"},this.getPinGloballyButton(),this.getPinLocallyButton(),this.getUnpinButton(),this.getMoveButton(),this.getMergeButton(),this.getApproveButton(),this.getOpenButton(),this.getCloseButton(),this.getUnhideButton(),this.getHideButton(),this.getDeleteButton())}}]),t}(c["default"].Component);a["default"]=N},{"../../../../reducers/thread":332,"../../../../services/ajax":337,"../../../../services/modal":343,"../../../../services/snackbar":348,"../../../../services/store":349,"./merge":203,"./move":204,react:"react"}],201:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a.isModerationVisible=a.ModerationControls=void 0;var r=e("./controls"),o=n(r),l=e("./is-visible"),s=n(l);a.ModerationControls=o["default"],a.isModerationVisible=s["default"]},{"./controls":200,"./is-visible":202}],202:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return!!(e.acl.can_approve&&e.is_unapproved||e.acl.can_close||e.acl.can_delete||e.acl.can_hide||e.acl.can_move||e.acl.can_pin||e.acl.can_pin_globally||e.acl.can_unhide)}},{}],203:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return d["default"].createElement("div",{className:"modal-header"},d["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},d["default"].createElement("span",{"aria-hidden":"true"},"×")),d["default"].createElement("h4",{className:"modal-title"},gettext("Merge thread")))}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.ModalHeader=i;var c=e("react"),d=r(c),f=e("../../../form"),p=r(f),m=e("../../../form-group"),h=r(m),b=e("../../../merge-polls"),v=r(b),y=e("../../../../reducers/thread"),g=n(y),_=e("../../../../services/ajax"),E=r(_),w=e("../../../../services/modal"),O=r(w),k=e("../../../../services/snackbar"),N=r(k),x=e("../../../../services/store"),j=r(x),P=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.handleSuccess=function(e){a.handleSuccessUnmounted(e),a.setState({isLoading:!0})},a.handleSuccessUnmounted=function(e){N["default"].success(gettext("Thread has been merged with other one.")),window.location=e.url},a.handleError=function(e){j["default"].dispatch(g.release()),400===e.status?e.polls?O["default"].show(d["default"].createElement(v["default"],{api:a.props.thread.api.merge,data:{thread_url:a.state.url},polls:e.polls,onError:a.handleError,onSuccess:a.handleSuccessUnmounted})):N["default"].error(e.detail):N["default"].apiError(e)},a.onUrlChange=function(e){a.changeValue("url",e.target.value)},a.state={isLoading:!1,url:"",validators:{url:[]},errors:{}},a}return s(t,e),u(t,[{key:"clean",value:function(){return!!this.state.url.trim().length||(N["default"].error(gettext("You have to enter link to the other thread.")),!1)}},{key:"send",value:function(){return j["default"].dispatch(g.busy()),E["default"].post(this.props.thread.api.merge,{thread_url:this.state.url})}},{key:"render",value:function(){return d["default"].createElement("div",{className:"modal-dialog",role:"document"},d["default"].createElement("form",{onSubmit:this.handleSubmit},d["default"].createElement("div",{className:"modal-content"},d["default"].createElement(i,null),d["default"].createElement("div",{className:"modal-body"},d["default"].createElement(h["default"],{"for":"id_url",label:gettext("Link to thread you want to merge with"),help_text:gettext("Merge will delete current thread and move its contents to the thread specified here.")},d["default"].createElement("input",{className:"form-control",disabled:this.state.isLoading||this.props.thread.isBusy,id:"id_url",onChange:this.onUrlChange,value:this.state.url}))),d["default"].createElement("div",{className:"modal-footer"},d["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},gettext("Cancel")),d["default"].createElement("button",{className:"btn btn-primary",loading:this.state.isLoading||this.props.thread.isBusy},gettext("Merge thread"))))))}}]),t}(p["default"]);a["default"]=P},{"../../../../reducers/thread":332,"../../../../services/ajax":337,"../../../../services/modal":343,"../../../../services/snackbar":348,"../../../../services/store":349,"../../../form":52,"../../../form-group":51,"../../../merge-polls":55,react:"react"}],204:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return p["default"].createElement("div",{className:"modal-header"},p["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},p["default"].createElement("span",{"aria-hidden":"true"},"×")),p["default"].createElement("h4",{className:"modal-title"},gettext("Move thread")))}function u(e){return p["default"].createElement("div",{className:"modal-dialog",role:"document"},p["default"].createElement("div",{className:"modal-content"},p["default"].createElement(i,null),p["default"].createElement(E["default"],null)))}function c(e){return p["default"].createElement("div",{className:"modal-dialog modal-message",role:"document"},p["default"].createElement("div",{className:"modal-content"},p["default"].createElement(i,null),p["default"].createElement("div",{className:"message-icon"},p["default"].createElement("span",{className:"material-icon"},"info_outline")),p["default"].createElement("div",{className:"message-body"},p["default"].createElement("p",{className:"lead"},gettext("You can't move this thread at the moment.")),p["default"].createElement("p",null,e.message),p["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},gettext("Ok")))))}Object.defineProperty(a,"__esModule",{value:!0});var d=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.ModalHeader=i,a.ModalLoading=u,a.ModalMessage=c;var f=e("react"),p=r(f),m=e("../../../form"),h=r(m),b=e("../../../form-group"),v=r(b),y=e("../../../category-select"),g=r(y),_=e("../../../modal-loader"),E=r(_),w=e("../../../../reducers/posts"),O=n(w),k=e("../../../../reducers/thread"),N=n(k),x=e("../../../.."),j=r(x),P=e("../../../../services/ajax"),C=r(P),S=e("../../../../services/modal"),M=r(S),T=e("../../../../services/snackbar"),L=r(T),R=e("../../../../services/store"),A=r(R),I=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.onCategoryChange=function(e){a.changeValue("category",e.target.value)},a.state={isReady:!1,isLoading:!1,isError:!1,category:null,categories:[]},a}return s(t,e),d(t,[{key:"componentDidMount",value:function(){var e=this;C["default"].get(j["default"].get("THREAD_EDITOR_API")).then(function(t){var a=null,n=t.map(function(e){return e.post===!1||a||(a=e.id),Object.assign(e,{disabled:e.post===!1,label:e.name,value:e.id})});e.setState({isReady:!0,category:a,categories:n})},function(t){e.setState({isError:t.detail})})}},{key:"send",value:function(){return A["default"].dispatch(N.busy()),C["default"].patch(this.props.thread.api.index,[{op:"replace",path:"category",value:this.state.category}])}},{key:"handleSuccess",value:function(){C["default"].get(this.props.thread.api.posts.index,{page:this.props.posts.page}).then(function(e){A["default"].dispatch(N.replace(e)),A["default"].dispatch(O.load(e.post_set)),A["default"].dispatch(N.release()),L["default"].success(gettext("Thread has been moved.")),M["default"].hide()},function(e){A["default"].dispatch(N.release()),L["default"].apiError(e)})}},{key:"handleError",value:function(e){400===e.status?L["default"].error(e.detail[0]):L["default"].apiError(e)}},{key:"render",value:function(){return this.state.isReady?p["default"].createElement("div",{className:"modal-dialog",role:"document"},p["default"].createElement("form",{onSubmit:this.handleSubmit},p["default"].createElement("div",{className:"modal-content"},p["default"].createElement(i,null),p["default"].createElement("div",{className:"modal-body"},p["default"].createElement(v["default"],{"for":"id_category",label:gettext("New category")},p["default"].createElement(g["default"],{choices:this.state.categories,disabled:this.state.isLoading||this.props.thread.isBusy,id:"id_category",onChange:this.onCategoryChange,value:this.state.category}))),p["default"].createElement("div",{className:"modal-footer"},p["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},gettext("Cancel")),p["default"].createElement("button",{className:"btn btn-primary",loading:this.state.isLoading||this.props.thread.isBusy},gettext("Move thread")))))):this.state.isError?p["default"].createElement(c,{message:this.state.isError}):p["default"].createElement(u,null)}}]),t}(h["default"]);a["default"]=I},{"../../../..":276,"../../../../reducers/posts":326,"../../../../reducers/thread":332,"../../../../services/ajax":337,"../../../../services/modal":343,"../../../../services/snackbar":348,"../../../../services/store":349,"../../../category-select":18,"../../../form":52,"../../../form-group":51,"../../../modal-loader":57,react:"react"}],205:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return d["default"].createElement("div",{className:"row row-paginator"},d["default"].createElement("div",{className:"col-xs-3"},d["default"].createElement(o,e)),d["default"].createElement("div",{className:"col-xs-3"},d["default"].createElement(l,e)),d["default"].createElement("div",{className:"col-xs-3"},d["default"].createElement(s,e)),d["default"].createElement("div",{className:"col-xs-3"},d["default"].createElement(i,e)))}function o(e){return e.posts.isLoaded&&e.posts.first?d["default"].createElement(f.Link,{className:"btn btn-default btn-block btn-outline btn-icon",to:e.thread.url.index,title:gettext("Go to first page")},d["default"].createElement("span",{className:"material-icon"},"first_page")):d["default"].createElement("span",{className:"btn btn-default btn-block btn-outline btn-icon disabled",title:gettext("Go to first page")},d["default"].createElement("span",{className:"material-icon"},"first_page"))}function l(e){if(e.posts.isLoaded&&e.posts.page>1){var t="";return e.posts.previous&&(t=e.posts.previous+"/"),d["default"].createElement(f.Link,{className:"btn btn-default btn-block btn-outline btn-icon",to:e.thread.url.index+t,title:gettext("Go to previous page")},d["default"].createElement("span",{className:"material-icon"},"chevron_left"))}return d["default"].createElement("span",{className:"btn btn-default btn-block btn-outline btn-icon disabled",title:gettext("Go to previous page")},d["default"].createElement("span",{className:"material-icon"},"chevron_left"))}function s(e){if(e.posts.isLoaded&&e.posts.more){var t="";return e.posts.next&&(t=e.posts.next+"/"),d["default"].createElement(f.Link,{className:"btn btn-default btn-block btn-outline btn-icon",to:e.thread.url.index+t,title:gettext("Go to next page")},d["default"].createElement("span",{className:"material-icon"},"chevron_right"))}return d["default"].createElement("span",{className:"btn btn-default btn-block btn-outline btn-icon disabled",title:gettext("Go to next page")},d["default"].createElement("span",{className:"material-icon"},"chevron_right"))}function i(e){return e.posts.isLoaded&&e.posts.last?d["default"].createElement(f.Link,{className:"btn btn-default btn-block btn-outline btn-icon",to:e.thread.url.index+e.posts.last+"/",title:gettext("Go to last page")},d["default"].createElement("span",{className:"material-icon"},"last_page")):d["default"].createElement("span",{className:"btn btn-default btn-block btn-outline btn-icon disabled",title:gettext("Go to last page")},d["default"].createElement("span",{className:"material-icon"},"last_page"))}function u(e){var t=null;return e.more?(t=ngettext("There is %(more)s more post in this thread.","There are %(more)s more posts in this thread.",e.more),t=interpolate(t,{more:e.more},!0)):t=gettext("There are no more posts in this thread."),d["default"].createElement("p",null,t)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return d["default"].createElement("nav",{className:"misago-pagination pull-left"},d["default"].createElement(r,e),d["default"].createElement(u,{more:e.posts.more}))},a.Pager=r,a.FirstPage=o,a.PreviousPage=l,a.NextPage=s,a.LastPage=i,a.More=u;var c=e("react"),d=n(c),f=e("react-router")},{react:"react","react-router":"react-router"}],206:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("button",{className:e.className||"btn btn-primary btn-outline",onClick:e.onClick,type:"button"},o["default"].createElement("span",{
 className:"material-icon"},"chat"),gettext("Reply"))};var r=e("react"),o=n(r)},{react:"react"}],207:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return{participants:e.participants,poll:e.poll,posts:e.posts,thread:e.thread,tick:e.tick.tick,user:e.auth.user}}function o(){var e=c["default"].get("THREAD"),t=e.url.index.replace(e.slug+"-"+e.pk,":slug");return[{path:t,component:(0,l.connect)(r)(i["default"])},{path:t+":page/",component:(0,l.connect)(r)(i["default"])}]}Object.defineProperty(a,"__esModule",{value:!0}),a.select=r,a.paths=o;var l=e("react-redux"),s=e("./route"),i=n(s),u=e("../../index"),c=n(u)},{"../../index":276,"./route":208,"react-redux":"react-redux"}],208:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),c=e("react"),d=r(c),f=e("../participants"),p=r(f),m=e("../poll"),h=e("../posts-list"),b=r(h),v=e("./header"),y=r(v),g=e("./toolbar-top"),_=r(g),E=e("./toolbar-bottom"),w=r(E),O=e("../../reducers/participants"),k=n(O),N=e("../../reducers/poll"),x=n(N),j=e("../../reducers/posts"),P=n(j),C=e("../../reducers/thread"),S=n(C),M=e("../../services/ajax"),T=r(M),L=e("../../services/polls"),R=r(L),A=e("../../services/snackbar"),I=r(A),D=e("../../services/posting"),U=r(D),B=e("../../services/store"),H=r(B),z=e("../../services/page-title"),F=r(z),q=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.update=function(e){H["default"].dispatch(S.replace(e)),H["default"].dispatch(P.load(e.post_set)),e.participants&&H["default"].dispatch(k.replace(e.participants)),e.poll&&H["default"].dispatch(x.replace(e.poll)),n.setPageTitle()},n.openReplyForm=function(){U["default"].open({mode:"REPLY",config:n.props.thread.api.editor,submit:n.props.thread.api.posts.index})},r=a,l(n,r)}return s(t,e),u(t,[{key:"componentDidMount",value:function(){this.shouldFetchData()&&(this.fetchData(),this.setPageTitle()),this.startPollingApi()}},{key:"componentDidUpdate",value:function(){this.shouldFetchData()&&(this.fetchData(),this.startPollingApi(),this.setPageTitle())}},{key:"componentWillUnmount",value:function(){this.stopPollingApi()}},{key:"shouldFetchData",value:function(){if(this.props.posts.isLoaded){var e=1*(this.props.params.page||1);return e!=this.props.posts.page}return!1}},{key:"fetchData",value:function(){var e=this;H["default"].dispatch(P.unload()),T["default"].get(this.props.thread.api.posts.index,{page:this.props.params.page||1},"posts").then(function(t){e.update(t)},function(e){I["default"].apiError(e)})}},{key:"startPollingApi",value:function(){R["default"].start({poll:"thread-posts",url:this.props.thread.api.posts.index,data:{page:this.props.params.page||1},update:this.update,frequency:12e4,delayed:!0})}},{key:"stopPollingApi",value:function(){R["default"].stop("thread-posts")}},{key:"setPageTitle",value:function(){F["default"].set({title:this.props.thread.title,parent:this.props.thread.category.name,page:1*(this.props.params.page||1)})}},{key:"render",value:function(){var e="page page-thread";return this.props.thread.category.css_class&&(e+=" page-thread-"+this.props.thread.category.css_class),d["default"].createElement("div",{className:e},d["default"].createElement("div",{className:"page-header-bg"},d["default"].createElement(y["default"],this.props)),d["default"].createElement("div",{className:"container"},d["default"].createElement(_["default"],i({openReplyForm:this.openReplyForm},this.props)),d["default"].createElement(m.Poll,{poll:this.props.poll,thread:this.props.thread,user:this.props.user}),d["default"].createElement(p["default"],{participants:this.props.participants,thread:this.props.thread,user:this.props.user}),d["default"].createElement(b["default"],this.props),d["default"].createElement(w["default"],i({openReplyForm:this.openReplyForm},this.props))))}}]),t}(d["default"].Component);a["default"]=q},{"../../reducers/participants":323,"../../reducers/poll":324,"../../reducers/posts":326,"../../reducers/thread":332,"../../services/ajax":337,"../../services/page-title":345,"../../services/polls":346,"../../services/posting":347,"../../services/snackbar":348,"../../services/store":349,"../participants":79,"../poll":84,"../posts-list":129,"./header":192,"./toolbar-bottom":210,"./toolbar-top":211,react:"react"}],209:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){return e===!0?"star":e===!1?"star_half":"star_border"}function u(e){return e===!0?gettext("E-mail"):e===!1?gettext("Enabled"):gettext("Disabled")}function c(e){return m["default"].createElement("ul",{className:e.dropdownClassName||"dropdown-menu stick-to-bottom"},m["default"].createElement(O,e),m["default"].createElement(k,e),m["default"].createElement(N,e))}function d(e,t,a){var n={subscription:e.subscription};w["default"].dispatch(b.update({subscription:t})),y["default"].patch(e.api.index,[{op:"replace",path:"subscription",value:a}]).then(function(e){w["default"].dispatch(b.update(e))},function(e){400===e.status?_["default"].error(e.detail[0]):_["default"].apiError(e),w["default"].dispatch(b.update(n))})}Object.defineProperty(a,"__esModule",{value:!0}),a.Email=a.Enable=a.Disable=void 0;var f=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a["default"]=function(e){return e.user.id?m["default"].createElement("div",{className:e.className},m["default"].createElement("button",{"aria-expanded":"true","aria-haspopup":"true",className:"btn btn-default dropdown-toggle btn-block btn-outline","data-toggle":"dropdown",type:"button"},m["default"].createElement("span",{className:"material-icon"},i(e.thread.subscription)),u(e.thread.subscription)),m["default"].createElement(c,e)):null},a.getIcon=i,a.getLabel=u,a.Dropdown=c,a.update=d;var p=e("react"),m=r(p),h=e("../../reducers/thread"),b=n(h),v=e("../../services/ajax"),y=r(v),g=e("../../services/snackbar"),_=r(g),E=e("../../services/store"),w=r(E),O=a.Disable=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){null!==n.props.thread.subscription&&d(n.props.thread,null,"unsubscribe")},r=a,l(n,r)}return s(t,e),f(t,[{key:"render",value:function(){return m["default"].createElement("li",null,m["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick},m["default"].createElement("span",{className:"material-icon"},"star_border"),gettext("Unsubscribe")))}}]),t}(m["default"].Component),k=a.Enable=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){n.props.thread.subscription!==!1&&d(n.props.thread,!1,"notify")},r=a,l(n,r)}return s(t,e),f(t,[{key:"render",value:function(){return m["default"].createElement("li",null,m["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick},m["default"].createElement("span",{className:"material-icon"},"star_half"),gettext("Subscribe")))}}]),t}(m["default"].Component),N=a.Email=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){n.props.thread.subscription!==!0&&d(n.props.thread,!0,"email")},r=a,l(n,r)}return s(t,e),f(t,[{key:"render",value:function(){return m["default"].createElement("li",null,m["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick},m["default"].createElement("span",{className:"material-icon"},"star"),gettext("Subscribe with e-mail")))}}]),t}(m["default"].Component)},{"../../reducers/thread":332,"../../services/ajax":337,"../../services/snackbar":348,"../../services/store":349,react:"react"}],210:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.visible?d["default"].createElement("div",{className:"col-md-5"},e.children):null}function o(e){return e.user.id?d["default"].createElement("div",{className:"col-sm-4 hidden-xs"},d["default"].createElement(m["default"],e)):null}function l(e){var t="col-xs-6";return e.thread.acl.can_reply||(t="col-xs-12"),d["default"].createElement("div",{className:t+" col-sm-4"},d["default"].createElement(y["default"],u({btnClassName:"btn-block",className:"dropup"},e)))}function s(e){return e.thread.acl.can_reply?d["default"].createElement("div",{className:"col-xs-6 col-sm-4"},d["default"].createElement(b["default"],{className:"btn btn-primary btn-block btn-outline",onClick:e.onClick})):null}function i(e){return e.thread.acl.can_reply?null:d["default"].createElement("div",{className:"hidden-xs hidden-sm col-sm-4"})}Object.defineProperty(a,"__esModule",{value:!0});var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e};a["default"]=function(e){return d["default"].createElement("div",{className:"row row-toolbar"},d["default"].createElement("div",{className:"col-xs-12 text-center visible-xs-block"},d["default"].createElement(f.More,{more:e.posts.more}),d["default"].createElement("div",{className:"toolbar-vertical-spacer"})),d["default"].createElement("div",{className:"col-md-7"},d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-sm-4 col-md-5"},d["default"].createElement(f.Pager,e)),d["default"].createElement("div",{className:"col-sm-8 col-md-7 hidden-xs"},d["default"].createElement(f.More,{more:e.posts.more})))),d["default"].createElement(r,{visible:!!e.user.id},d["default"].createElement("div",{className:"toolbar-vertical-spacer hidden-md hidden-lg"}),d["default"].createElement("div",{className:"row"},d["default"].createElement(i,e),d["default"].createElement(o,e),d["default"].createElement(l,e),d["default"].createElement(s,{thread:e.thread,onClick:e.openReplyForm}))))},a.Options=r,a.Moderation=o,a.Subscription=l,a.Reply=s,a.Spacer=i;var c=e("react"),d=n(c),f=e("./paginator"),p=e("./moderation/posts"),m=n(p),h=e("./reply-button"),b=n(h),v=e("./subscription"),y=n(v)},{"./moderation/posts":197,"./paginator":205,"./reply-button":206,"./subscription":209,react:"react"}],211:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){var t=e.user,a="col-xs-3 col-sm-3 col-md-5";return t.is_anonymous&&(a="col-xs-12 col-sm-3 col-md-5"),E["default"].createElement("div",{className:a},E["default"].createElement("div",{className:"row hidden-xs hidden-sm"},E["default"].createElement(c,{thread:e.thread}),E["default"].createElement(i,{thread:e.thread}),E["default"].createElement(u,{thread:e.thread})),E["default"].createElement(d,e))}function i(e){return e.thread.is_new?E["default"].createElement("div",{className:"col-sm-4"},E["default"].createElement("a",{href:e.thread.url.new_post,className:"btn btn-default btn-block btn-outline",title:gettext("Go to first new post")},gettext("New"))):null}function u(e){return e.thread.has_unapproved_posts&&e.thread.acl.can_approve?E["default"].createElement("div",{className:"col-sm-4"},E["default"].createElement("a",{href:e.thread.url.unapproved_post,className:"btn btn-default btn-block btn-outline",title:gettext("Go to first unapproved post")},gettext("Unapproved"))):null}function c(e){return E["default"].createElement("div",{className:"col-sm-4"},E["default"].createElement("a",{href:e.thread.url.last_post,className:"btn btn-default btn-block btn-outline",title:gettext("Go to last post")},gettext("Last")))}function d(e){var t=e.user;return t.is_anonymous?E["default"].createElement("div",{className:"visible-xs-block visible-sm-block"},E["default"].createElement("a",{href:e.thread.url.last_post,className:"btn btn-default btn-block btn-outline"},gettext("Last post"))):E["default"].createElement("div",{className:"dropdown visible-xs-block visible-sm-block"},E["default"].createElement("button",{"aria-expanded":"true","aria-haspopup":"true",className:"btn btn-default dropdown-toggle btn-block btn-outline","data-toggle":"dropdown",type:"button"},E["default"].createElement("span",{className:"material-icon"},"expand_more"),E["default"].createElement("span",{className:"btn-text hidden-xs"},gettext("Options"))),E["default"].createElement("ul",{className:"dropdown-menu"},E["default"].createElement(C,e),E["default"].createElement(f,e),E["default"].createElement(p,e),E["default"].createElement(m,e)))}function f(e){return e.thread.is_new?E["default"].createElement("li",null,E["default"].createElement("a",{href:e.thread.url.new_post,className:"btn btn-link"},gettext("Go to first new post"))):null}function p(e){return e.thread.has_unapproved_posts&&e.thread.acl.can_approve?E["default"].createElement("li",null,E["default"].createElement("a",{href:e.thread.url.unapproved_post,className:"btn btn-link"},gettext("Go to first unapproved post"))):null}function m(e){return E["default"].createElement("li",null,E["default"].createElement("a",{href:e.thread.url.last_post,className:"btn btn-link"},gettext("Go to last post")))}function h(e){return e.thread.acl.can_reply?E["default"].createElement("div",{className:"col-sm-4 hidden-xs"},E["default"].createElement(O["default"],{className:"btn btn-primary btn-block btn-outline",onClick:e.openReplyForm})):null}function b(e){return e.user.id?E["default"].createElement("div",{className:"col-xs-12 col-sm-4"},E["default"].createElement(N["default"],g({className:"dropdown",dropdownClassName:"dropdown-menu dropdown-menu-right stick-to-bottom"},e))):null}function v(e){return e.visible?E["default"].createElement("div",{className:"col-sm-4 hidden-xs"}):null}Object.defineProperty(a,"__esModule",{value:!0}),a.StartPollCompact=a.StartPoll=void 0;var y=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),g=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e};a["default"]=function(e){var t=!e.thread.acl.can_start_poll||e.thread.poll;return E["default"].createElement("div",{className:"row row-toolbar row-toolbar-bottom-margin"},E["default"].createElement(s,e),E["default"].createElement("div",{className:"col-xs-9 col-md-5 col-md-offset-2"},E["default"].createElement("div",{className:"row"},E["default"].createElement(v,{visible:!e.user.id}),E["default"].createElement(v,{visible:t}),E["default"].createElement(b,e),E["default"].createElement(P,e),E["default"].createElement(h,e))))},a.GotoMenu=s,a.GotoNew=i,a.GotoUnapproved=u,a.GotoLast=c,a.CompactOptions=d,a.GotoNewCompact=f,a.GotoUnapprovedCompact=p,a.GotoLastCompact=m,a.Reply=h,a.SubscriptionMenu=b,a.Spacer=v;var _=e("react"),E=n(_),w=e("./reply-button"),O=n(w),k=e("./subscription"),N=n(k),x=e("../../services/posting"),j=n(x),P=a.StartPoll=function(e){function t(){var e,a,n,l;r(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.onClick=function(){j["default"].open({mode:"POLL",submit:n.props.thread.api.poll,thread:n.props.thread,poll:null})},l=a,o(n,l)}return l(t,e),y(t,[{key:"render",value:function(){return!this.props.thread.acl.can_start_poll||this.props.thread.poll?null:E["default"].createElement("div",{className:"col-sm-4 hidden-xs"},E["default"].createElement("button",{className:"btn btn-default btn-block btn-outline",onClick:this.onClick,type:"button"},E["default"].createElement("span",{className:"material-icon"},"poll"),gettext("Add poll")))}}]),t}(E["default"].Component),C=a.StartPollCompact=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),y(t,[{key:"render",value:function(){return!this.props.thread.acl.can_start_poll||this.props.thread.poll?null:E["default"].createElement("li",null,E["default"].createElement("button",{className:"btn btn-link",onClick:this.onClick,type:"button"},gettext("Add poll")))}}]),t}(P)},{"../../services/posting":347,"./reply-button":206,"./subscription":209,react:"react"}],212:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return e.isLoaded?0===e.threads.length?o["default"].createElement(s["default"],{diffSize:e.diffSize,applyDiff:e.applyDiff},e.children):o["default"].createElement(u["default"],{activeCategory:e.category,categories:e.categories,list:e.list,threads:e.threads,diffSize:e.diffSize,applyDiff:e.applyDiff,showOptions:e.showOptions,selection:e.selection,busyThreads:e.busyThreads}):o["default"].createElement(d["default"],null)};var r=e("react"),o=n(r),l=e("./list/empty"),s=n(l),i=e("./list/ready"),u=n(i),c=e("./list/preview"),d=n(c)},{"./list/empty":214,"./list/preview":215,"./list/ready":216,react:"react"}],213:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=ngettext("There is %(threads)s new or updated thread. Click this message to show it.","There are %(threads)s new or updated threads. Click this message to show them.",e);return interpolate(t,{threads:e},!0)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.diffSize,a=e.applyDiff;return 0===t?null:l["default"].createElement("li",{className:"list-group-item threads-diff-message"},l["default"].createElement("button",{type:"button",className:"btn btn-block btn-default",onClick:a},l["default"].createElement("span",{className:"material-icon"},"cached"),l["default"].createElement("span",{className:"diff-message"},r(t))))},a.getMessage=r;var o=e("react"),l=n(o)},{react:"react"}],214:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./diff-message"),d=n(c),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"getDiffMessage",value:function(){return 0===this.props.diffSize?null:u["default"].createElement(d["default"],{applyDiff:this.props.applyDiff,diffSize:this.props.diffSize})}},{key:"render",value:function(){return u["default"].createElement("div",{className:"threads-list ui-ready"},u["default"].createElement("ul",{className:"list-group"},this.getDiffMessage(),this.props.children))}}]),t}(u["default"].Component);a["default"]=f},{"./diff-message":213,react:"react"}],215:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../thread/preview"),d=n(c),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return u["default"].createElement("div",{className:"threads-list ui-preview"},u["default"].createElement("ul",{className:"list-group"},u["default"].createElement(d["default"],null)))}}]),t}(u["default"].Component);a["default"]=f},{"../thread/preview":223,react:"react"}],216:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("div",{className:"threads-list ui-ready"},o["default"].createElement("ul",{className:"list-group"},o["default"].createElement(s["default"],{diffSize:e.diffSize,applyDiff:e.applyDiff}),e.threads.map(function(t){return o["default"].createElement(u["default"],{activeCategory:e.activeCategory,categories:e.categories,list:e.list,thread:t,showOptions:e.showOptions,isSelected:e.selection.indexOf(t.id)>=0,isBusy:e.busyThreads.indexOf(t.id)>=0,key:t.id})})))};var r=e("react"),o=n(r),l=e("./diff-message"),s=n(l),i=e("../thread/ready"),u=n(i)},{"../thread/ready":224,"./diff-message":213,react:"react"}],217:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.display,a=e.textClassName;return t?d["default"].createElement("span",{className:"thread-detail-hidden"},d["default"].createElement("span",{className:"material-icon"},"visibility_off"),d["default"].createElement("span",{className:a},gettext("Hidden"))):null}function o(e){var t=e.display,a=e.textClassName;return t?d["default"].createElement("span",{className:"thread-detail-closed"},d["default"].createElement("span",{className:"material-icon"},"lock_outline"),d["default"].createElement("span",{className:a},gettext("Closed"))):null}function l(e){var t=e.display,a=e.textClassName;return t?d["default"].createElement("span",{className:"thread-detail-poll"},d["default"].createElement("span",{className:"material-icon"},"assessment"),d["default"].createElement("span",{className:a},gettext("Poll"))):null}function s(e){var t=e.replies,a=e.forceFullText,n=ngettext("%(replies)s reply","%(replies)s replies",t),r="",o="";return a?(r="detail-text hide",o="detail-text"):(r="detail-text visible-xs-inline-block",o="detail-text hidden-xs"),d["default"].createElement("span",{className:"thread-detail-replies"},d["default"].createElement("span",{className:"material-icon"},"forum"),d["default"].createElement("span",{className:r},t),d["default"].createElement("span",{className:o},interpolate(n,{replies:t},!0)))}function i(e){var t=e.datetime,a=e.url;return d["default"].createElement("a",{className:"visible-sm-inline-block thread-detail-last-reply",href:a,title:t.format("LLL")},t.fromNow(!0))}function u(e){var t=e.posterName,a=e.url,n="visible-sm-inline-block item-title thread-last-poster";return a?d["default"].createElement("a",{className:n,href:a},t):d["default"].createElement("span",{className:n},t)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.category,a=e.isBusy,n=e.showOptions,c=e.isSelected,f=e.thread,h="col-xs-12 col-sm-12";n&&(h=f.moderation.length?"col-xs-6 col-sm-12":"col-xs-9 col-sm-12");var b=0;f.is_hidden&&(b+=1),f.is_closed&&(b+=1),f.has_poll&&(b+=1);var v=n&&3===b,y="detail-text hidden-xs";return v&&(y+=" hidden-sm"),d["default"].createElement("div",{className:"row thread-details-bottom"},d["default"].createElement("div",{className:h},d["default"].createElement(p["default"],{className:"item-title thread-detail-category hidden-xs",category:t}),d["default"].createElement(r,{textClassName:y,display:f.is_hidden}),d["default"].createElement(o,{textClassName:y,display:f.is_closed}),d["default"].createElement(l,{textClassName:y,display:f.has_poll}),d["default"].createElement(s,{forceFullText:!n||b<2,replies:f.replies}),d["default"].createElement(i,{datetime:f.last_post_on,url:f.url.last_post}),d["default"].createElement(u,{posterName:f.last_poster_name,url:f.url.last_poster})),d["default"].createElement(m.OptionsXs,{disabled:a,display:n,isSelected:c,thread:f}))},a.HiddenLabel=r,a.ClosedLabel=o,a.PollLabel=l,a.RepliesLabel=s,a.LastReplyLabel=i,a.LastPoster=u;var c=e("react"),d=n(c),f=e("./category"),p=n(f),m=e("../options")},{"../options":222,"./category":218,react:"react"}],218:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.category,a=e.className;return t?(t.css_class&&(a+=" thread-detail-category-"+t.css_class),o["default"].createElement("a",{className:a,href:t.url.index},t.name)):null};var r=e("react"),o=n(r)},{react:"react"}],219:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a.TopDetails=a.BottomDetails=void 0;var r=e("./bottom"),o=n(r),l=e("./top"),s=n(l);a.BottomDetails=o["default"],a.TopDetails=s["default"]},{"./bottom":217,"./top":220}],220:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.isRead,a=e.url;return t?null:c["default"].createElement("a",{className:"thread-detail-new",href:a},c["default"].createElement("span",{className:"material-icon"},"comment"),c["default"].createElement("span",{className:"detail-text"},gettext("New posts")))}function o(e){var t=e.weight;if(0===t)return null;var a="thread-detail-pinned-globally",n="bookmark",r=gettext("Pinned globally");return 1===t&&(a="thread-detail-pinned-locally",n="bookmark_border",r=gettext("Pinned locally")),c["default"].createElement("span",{className:a},c["default"].createElement("span",{className:"material-icon"},n),c["default"].createElement("span",{className:"detail-text"},r))}function l(e){var t=e.posts,a=e.thread;if(!t&&!a)return null;var n="thread-detail-unapproved-posts",r="remove_circle_outline",o=gettext("Unapproved posts");return a&&(n="thread-detail-unapproved",r="remove_circle",o=gettext("Unapproved")),c["default"].createElement("span",{className:n},c["default"].createElement("span",{className:"material-icon"},r),c["default"].createElement("span",{className:"detail-text"},o))}function s(e){var t=e.datetime,a=e.url;return c["default"].createElement("a",{className:"visible-xs-inline-block thread-detail-last-reply",href:a,title:t.format("LLL")},t.fromNow(!0))}function i(e){var t=e.posterName,a=e.url;return a?c["default"].createElement("a",{className:"visible-xs-inline-block item-title thread-last-poster",href:a},t):c["default"].createElement("span",{className:"visible-xs-inline-block item-title thread-last-poster"},t)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.category,a=e.thread;return c["default"].createElement("div",{className:"thread-details-top"},c["default"].createElement(r,{isRead:a.is_read,url:a.url.new_post}),c["default"].createElement(o,{weight:a.weight}),c["default"].createElement(l,{thread:a.is_unapproved,posts:a.has_unapproved_posts}),c["default"].createElement(f["default"],{className:"item-title thread-detail-category visible-xs-inline-block",category:t}),c["default"].createElement(s,{datetime:a.last_post_on,url:a.url.last_post}),c["default"].createElement(i,{posterName:a.last_poster_name,url:a.url.last_poster}))},a.NewLabel=r,a.PinnedLabel=o,a.UnapprovedLabel=l,a.LastReplyLabel=s,a.LastPoster=i;var u=e("react"),c=n(u),d=e("./category"),f=n(d)},{"./category":218,react:"react"}],221:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.datetime,a=e.url;return l["default"].createElement("a",{className:"thread-last-reply",href:a,title:t.format("LLL")},t.fromNow(!0))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.thread;return l["default"].createElement("div",{className:"media"},l["default"].createElement("div",{className:"media-left"},l["default"].createElement(c["default"],{className:"thread-last-poster-avatar",title:t.last_poster_name,url:t.url.last_poster},l["default"].createElement(i["default"],{className:"media-object",size:40,user:t.last_poster}))),l["default"].createElement("div",{className:"media-body"},l["default"].createElement(c["default"],{className:"item-title thread-last-poster",url:t.url.last_poster},t.last_poster_name),l["default"].createElement(r,{datetime:t.last_post_on,url:t.url.last_post})))},a.Timestamp=r;var o=e("react"),l=n(o),s=e("../../avatar"),i=n(s),u=e("./user-url"),c=n(u);
 },{"../../avatar":3,"./user-url":229,react:"react"}],222:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function i(e){var t=e.display,a=e.disabled,n=e.isSelected,r=e.thread;if(!t)return null;var o="col-sm-2 col-md-2 hidden-xs";return r.moderation.length&&(o="col-sm-3 col-md-2 hidden-xs"),f["default"].createElement("div",{className:o},f["default"].createElement("div",{className:"row thread-options"},f["default"].createElement(b["default"],{thread:r,disabled:a}),f["default"].createElement(m["default"],{thread:r,disabled:a}),f["default"].createElement(E,{thread:r,disabled:a,isSelected:n})))}function u(e){var t=e.display,a=e.disabled,n=e.isSelected,r=e.thread;if(!t)return null;var o="";return o+=r.moderation.length?"col-xs-6":"col-xs-3",o+=" visible-xs-block thread-options-xs",f["default"].createElement("div",{className:o},f["default"].createElement("div",{className:"row thread-options"},f["default"].createElement(b["default"],{thread:r,disabled:a}),f["default"].createElement(m["default"],{thread:r,disabled:a}),f["default"].createElement(E,{thread:r,disabled:a,isSelected:n})))}Object.defineProperty(a,"__esModule",{value:!0}),a.Checkbox=void 0;var c=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.Options=i,a.OptionsXs=u;var d=e("react"),f=r(d),p=e("./subscription/compact"),m=r(p),h=e("./subscription/full"),b=r(h),v=e("../../../reducers/selection"),y=n(v),g=e("../../../services/store"),_=r(g),E=a.Checkbox=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.toggleSelection=function(){_["default"].dispatch(y.item(n.props.thread.id))},r=a,l(n,r)}return s(t,e),c(t,[{key:"render",value:function(){var e=this.props,t=e.disabled,a=e.isSelected,n=e.thread;return n.moderation.length?f["default"].createElement("div",{className:"col-xs-6"},f["default"].createElement("button",{className:"btn btn-default btn-icon btn-block",onClick:this.toggleSelection,disabled:t},f["default"].createElement("span",{className:"material-icon"},a?"check_box":"check_box_outline_blank"))):null}}]),t}(f["default"].Component)},{"../../../reducers/selection":330,"../../../services/store":349,"./subscription/compact":225,"./subscription/full":226,react:"react"}],223:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../../../utils/random"),f=n(d),p=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return c["default"].createElement("li",{className:"list-group-item thread-preview"},c["default"].createElement("div",{className:"thread-details-top visible-xs-block"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](30,80)+"px"}}," "),c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](30,80)+"px"}}," "),c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](30,80)+"px"}}," ")),c["default"].createElement("span",{className:"item-title thread-title"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](60,200)+"px"}}," "),c["default"].createElement("span",{className:"ui-preview-text hidden-xs",style:{width:f["int"](60,200)+"px"}}," "),c["default"].createElement("span",{className:"ui-preview-text hidden-xs",style:{width:f["int"](60,200)+"px"}}," ")),c["default"].createElement("div",{className:"thread-details-bottom"},c["default"].createElement("div",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](30,80)+"px"}}," "),c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](30,80)+"px"}}," "),c["default"].createElement("span",{className:"ui-preview-text",style:{width:f["int"](30,80)+"px"}}," "))))}}]),t}(c["default"].Component);a["default"]=p},{"../../../utils/random":360,react:"react"}],224:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t,a,n){var r=["list-group-item"];return n&&n.css_class&&(r.push("list-group-category-has-flavor"),r.push("list-group-item-category-"+n.css_class)),e?r.push("thread-read"):r.push("thread-new"),t?r.push("thread-busy"):a&&r.push("thread-selected"),r.join(" ")}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.activeCategory,a=e.categories,n=(e.list,e.thread),o=e.isBusy,s=e.isSelected,c=e.showOptions,p=null;t.id!==n.category&&(p=a[n.category]);var h=p||t,b="thread-main col-xs-12";return b+=c?n.moderation.length?" col-sm-9 col-md-7":" col-sm-10 col-md-7":" col-sm-12 col-md-9",l["default"].createElement("li",{className:r(n.is_read,o,s,h)},l["default"].createElement(u.TopDetails,{category:p,thread:n}),l["default"].createElement("div",{className:"row thread-row"},l["default"].createElement("div",{className:b},l["default"].createElement("div",{className:"media"},l["default"].createElement("div",{className:"media-left hidden-xs"},l["default"].createElement(m["default"],{className:"thread-starter-avatar",title:n.starter_name,url:n.url.starter},l["default"].createElement(i["default"],{size:40,user:n.starter}))),l["default"].createElement("div",{className:"media-body"},l["default"].createElement("a",{href:n.url.index,className:"item-title thread-title"},n.title),l["default"].createElement(u.BottomDetails,{category:p,disabled:o,isSelected:s,showOptions:c,thread:n})))),l["default"].createElement("div",{className:"col-md-3 hidden-xs hidden-sm thread-last-action"},l["default"].createElement(d["default"],{thread:n})),l["default"].createElement(f.Options,{disabled:o,display:c,isSelected:s,thread:n})))},a.getClassName=r;var o=e("react"),l=n(o),s=e("../../avatar"),i=n(s),u=e("./details"),c=e("./last-action"),d=n(c),f=e("./options"),p=e("./user-url"),m=n(p)},{"../../avatar":3,"./details":219,"./last-action":221,"./options":222,"./user-url":229,react:"react"}],225:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./full"),d=n(c),f=e("./modal"),p=n(f),m=e("../../../../services/modal"),h=n(m),b=function(e){function t(){var e,a,n,l;r(this,t);for(var s=arguments.length,i=Array(s),c=0;c<s;c++)i[c]=arguments[c];return a=n=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.showOptions=function(){h["default"].show(u["default"].createElement(p["default"],{thread:n.props.thread}))},l=a,o(n,l)}return l(t,e),s(t,[{key:"render",value:function(){var e=this.props.thread.moderation,t="";return t+=e.length?"col-xs-6":"col-xs-12",t+=" hidden-md hidden-lg",u["default"].createElement("div",{className:t},u["default"].createElement("button",{type:"button",className:this.getClassName(),disabled:this.props.disabled,onClick:this.showOptions},u["default"].createElement("span",{className:"material-icon"},this.getIcon())))}}]),t}(d["default"]);a["default"]=b},{"../../../../services/modal":343,"./full":226,"./modal":227,react:"react"}],226:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){var t=e.moderation,a=e.subscription;if(t.length)return null;var n=gettext("Disabled");return a===!0?n=gettext("E-mail"):a===!1&&(n=gettext("Enabled")),c["default"].createElement("span",{className:"btn-text"},n)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.Label=s;var u=e("react"),c=n(u),d=e("./options"),f=n(d),p=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),i(t,[{key:"getIcon",value:function(){return this.props.thread.subscription===!0?"star":this.props.thread.subscription===!1?"star_half":"star_border"}},{key:"getClassName",value:function(){return this.props.thread.subscription===!0?"btn btn-default btn-icon btn-block btn-subscribe btn-subscribe-full dropdown-toggle":this.props.thread.subscription===!1?"btn btn-default btn-icon btn-block btn-subscribe btn-subscribe-half dropdown-toggle":"btn btn-default btn-icon btn-block btn-subscribe dropdown-toggle"}},{key:"render",value:function(){var e=this.props.thread,t=e.moderation,a=e.subscription,n=!t.length,r=n?"col-xs-12":"col-xs-6";return r+=" hidden-xs hidden-sm",c["default"].createElement("div",{className:r},c["default"].createElement("div",{className:"btn-group btn-group-justified"},c["default"].createElement("div",{className:"btn-group"},c["default"].createElement("button",{type:"button",className:this.getClassName(),disabled:this.props.disabled,"data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},c["default"].createElement("span",{className:"material-icon"},this.getIcon()),c["default"].createElement(s,{moderation:t,subscription:a})),c["default"].createElement(f["default"],{className:"dropdown-menu dropdown-menu-right",thread:this.props.thread}))))}}]),t}(c["default"].Component);a["default"]=p},{"./options":228,react:"react"}],227:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./options"),d=n(c),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"render",value:function(){return u["default"].createElement("div",{className:"modal-dialog modal-sm",role:"document"},u["default"].createElement("div",{className:"modal-content"},u["default"].createElement("div",{className:"modal-header"},u["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},u["default"].createElement("span",{"aria-hidden":"true"},"×")),u["default"].createElement("h4",{className:"modal-title"},gettext("Change subscription"))),u["default"].createElement(d["default"],{className:"modal-menu",thread:this.props.thread})))}}]),t}(u["default"].Component);a["default"]=f},{"./options":228,react:"react"}],228:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../../../button"),d=(n(c),e("../../../../reducers/threads")),f=e("../../../../services/ajax"),p=n(f),m=e("../../../../services/modal"),h=n(m),b=e("../../../../services/snackbar"),v=n(b),y=e("../../../../services/store"),g=n(y),_={unsubscribe:null,notify:!1,email:!0},E=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.setSubscription=function(e){h["default"].hide(),a.setState({isLoading:!0});var t=a.props.thread.subscription;g["default"].dispatch((0,d.patch)(a.props.thread,{subscription:_[e]})),p["default"].patch(a.props.thread.api.index,[{op:"replace",path:"subscription",value:e}]).then(function(){a.setState({isLoading:!1})},function(e){a.setState({isLoading:!1}),g["default"].dispatch((0,d.patch)(a.props.thread,{subscription:_[t]})),v["default"].apiError(e)})},a.unsubscribe=function(){a.setSubscription("unsubscribe")},a.notify=function(){a.setSubscription("notify")},a.email=function(){a.setSubscription("email")},a.state={isLoading:!1},a}return l(t,e),s(t,[{key:"render",value:function(){return u["default"].createElement("ul",{className:this.props.className},u["default"].createElement("li",null,u["default"].createElement("button",{className:"btn-link",onClick:this.unsubscribe},u["default"].createElement("span",{className:"material-icon"},"star_border"),gettext("Unsubscribe"))),u["default"].createElement("li",null,u["default"].createElement("button",{className:"btn-link",onClick:this.notify},u["default"].createElement("span",{className:"material-icon"},"star_half"),gettext("Subscribe"))),u["default"].createElement("li",null,u["default"].createElement("button",{className:"btn-link",onClick:this.email},u["default"].createElement("span",{className:"material-icon"},"star"),gettext("Subscribe with e-mail"))))}}]),t}(u["default"].Component);a["default"]=E},{"../../../../reducers/threads":333,"../../../../services/ajax":337,"../../../../services/modal":343,"../../../../services/snackbar":348,"../../../../services/store":349,"../../../button":5,react:"react"}],229:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.children,a=e.className,n=e.title,r=e.url;return r?o["default"].createElement("a",{className:a,href:r,title:n},t):o["default"].createElement("span",{className:a,title:n},t)};var r=e("react"),o=n(r)},{react:"react"}],230:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.Subcategory=void 0;var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("react-router"),d=a.Subcategory=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"getUrl",value:function(){return this.props.listPath?this.props.category.url.index+this.props.listPath:this.props.category.url.index}},{key:"render",value:function(){return u["default"].createElement("li",null,u["default"].createElement(c.Link,{to:this.getUrl(),className:"btn btn-link"},this.props.category.name))}}]),t}(u["default"].Component),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"render",value:function(){var e=this;return u["default"].createElement("div",{className:"dropdown category-picker"},u["default"].createElement("button",{type:"button",className:"btn btn-default btn-outline dropdown-toggle btn-block","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},u["default"].createElement("span",{className:"material-icon"},"label_outline"),u["default"].createElement("span",{className:"hidden-xs"},gettext("Category"))),u["default"].createElement("ul",{className:"dropdown-menu stick-to-bottom categories-menu"},this.props.choices.map(function(t){return e.props.categories[t]?u["default"].createElement(d,{category:e.props.categories[t],listPath:e.props.list.path,key:t}):null})))}}]),t}(u["default"].Component);a["default"]=f},{react:"react","react-router":"react-router"}],231:[function(e,t,a){"use strict";function n(e,t){return e.last_post>t.last_post?-1:e.last_post<t.last_post?1:0}function r(e,t){return 2===e.weight&&e.weight>t.weight?-1:2===t.weight&&e.weight<t.weight?1:n(e,t)}function o(e,t){return e.weight>t.weight?-1:e.weight<t.weight?1:n(e,t)}Object.defineProperty(a,"__esModule",{value:!0}),a.compareLastPostAge=n,a.compareGlobalWeight=r,a.compareWeight=o},{}],232:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../page-lead"),d=n(c),f=e("./toolbar"),p=n(f),m=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"getCategoryDescription",value:function(){return this.props.pageLead?u["default"].createElement("div",{className:"category-description"},u["default"].createElement("div",{className:"page-lead"},u["default"].createElement("p",null,this.props.pageLead))):this.props.route.category.description?u["default"].createElement("div",{className:"category-description"},u["default"].createElement(d["default"],{copy:this.props.route.category.description.html})):null}},{key:"getDisableToolbar",value:function(){return!this.props.isLoaded||this.props.isBusy||this.props.busyThreads.length}},{key:"getToolbar",value:function(){var e=this.props.subcategories.length||this.props.user.id;return e?u["default"].createElement(p["default"],{subcategories:this.props.subcategories,categories:this.props.route.categories,categoriesMap:this.props.route.categoriesMap,list:this.props.route.list,threads:this.props.threads,moderation:this.props.moderation,selection:this.props.selection,selectAllThreads:this.props.selectAllThreads,selectNoneThreads:this.props.selectNoneThreads,addThreads:this.props.addThreads,freezeThread:this.props.freezeThread,deleteThread:this.props.deleteThread,updateThread:this.props.updateThread,api:this.props.api,route:this.props.route,disabled:this.getDisableToolbar(),user:this.props.user}):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"container"},this.getCategoryDescription(),this.getToolbar(),this.props.children)}}]),t}(u["default"].Component);a["default"]=m},{"../page-lead":70,"./toolbar":243,react:"react"}],233:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){var t=e.categories,a=e.category;if(!a)return null;var n=t[a];return c["default"].createElement(d.Link,{className:"go-back-sm visible-xs-block",to:n.url.index},c["default"].createElement("span",{className:"material-icon"},"chevron_left"),n.parent?n.name:gettext("Threads"))}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.ParentCategory=s;var u=e("react"),c=n(u),d=e("react-router"),f=e("../button"),p=n(f),m=e("../dropdown-toggle"),h=(n(m),e("./nav")),b=n(h),v=e("../../reducers/threads"),y=e("../../services/ajax"),g=n(y),_=e("../../services/posting"),E=n(_),w=e("../../services/snackbar"),O=n(w),k=e("../../services/store"),N=n(k),x=e("../.."),j=n(x),P=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.markAsRead=function(){var e=gettext("Are you sure you want to mark those threads as read? This action is not reversible.");a.props.route.category.parent&&(e=gettext("Are you sure you want to mark threads in this category as read? This action is not reversible."));var t=confirm(e);return!!t&&(a.setState({isBusy:!0}),void g["default"].post(a.props.route.category.api.read).then(function(){N["default"].dispatch((0,v.read)(a.props.route.categoriesMap,a.props.route.category)),a.setState({isBusy:!1}),O["default"].success(gettext("Threads have been marked as read."))},function(e){a.setState({isBusy:!1}),O["default"].apiError(e)}))},a.startThread=function(){E["default"].open(a.props.startThread||{mode:"START",config:j["default"].get("THREAD_EDITOR_API"),submit:j["default"].get("THREADS_API"),category:a.props.route.category.id})},a.state={isBusy:!1},a}return l(t,e),i(t,[{key:"hasGoBackButton",value:function(){return!!this.props.route.category.parent}},{key:"getGoBackButton",value:function(){if(!this.props.route.category.parent)return null;var e=this.props.categories[this.props.route.category.parent];return c["default"].createElement("div",{className:"hidden-xs col-sm-2 col-lg-1"},c["default"].createElement(d.Link,{className:"btn btn-default btn-icon btn-aligned btn-go-back btn-block btn-outline",to:e.url.index+this.props.route.list.path},c["default"].createElement("span",{className:"material-icon"},"keyboard_arrow_left")))}},{key:"getStartThreadButton",value:function(){return this.props.user.id?c["default"].createElement("div",{className:"col-xs-6"},c["default"].createElement(p["default"],{className:"btn-primary btn-block btn-outline",onClick:this.startThread,disabled:this.props.disabled},c["default"].createElement("span",{className:"material-icon"},"chat"),gettext("Start thread"))):null}},{key:"getMarkAsReadButton",value:function(){return this.props.user.id?c["default"].createElement("div",{className:"col-xs-6"},c["default"].createElement(p["default"],{className:"btn-default btn-block btn-outline",onClick:this.markAsRead,loading:this.state.isBusy,disabled:this.props.disabled},c["default"].createElement("span",{className:"material-icon"},"playlist_add_check"),gettext("Mark as read"))):null}},{key:"render",value:function(){var e="col-xs-12";this.hasGoBackButton()&&(e+=" col-sm-10 col-lg-11 sm-align-row-buttons");var t=!!this.props.user.id;return c["default"].createElement("div",{className:"page-header-bg"},c["default"].createElement("div",{className:"page-header"},c["default"].createElement("div",{className:"container"},c["default"].createElement("div",{className:"row"},c["default"].createElement("div",{className:t?"col-sm-6 col-md-8":"col-xs-12"},c["default"].createElement("div",{className:"row"},this.getGoBackButton(),c["default"].createElement("div",{className:e},c["default"].createElement(s,{categories:this.props.categories,category:this.props.route.category.parent}),c["default"].createElement("h1",null,this.props.title)))),t&&c["default"].createElement("div",{className:"col-sm-6 col-md-4 xs-margin-top"},c["default"].createElement("div",{className:"row"},this.getMarkAsReadButton(),this.getStartThreadButton())))),c["default"].createElement(b["default"],{baseUrl:this.props.route.category.url.index,list:this.props.route.list,lists:this.props.route.lists})))}}]),t}(c["default"].Component);a["default"]=P},{"../..":276,"../../reducers/threads":333,"../../services/ajax":337,"../../services/posting":347,"../../services/snackbar":348,"../../services/store":349,"../button":5,"../dropdown-toggle":24,"./nav":240,react:"react","react-router":"react-router"}],234:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"render",value:function(){return"all"===this.props.list.type?this.props.emptyMessage?u["default"].createElement("li",{className:"list-group-item empty-message"},u["default"].createElement("p",{className:"lead"},this.props.emptyMessage),u["default"].createElement("p",null,gettext("Why not start one yourself?"))):u["default"].createElement("li",{className:"list-group-item empty-message"},u["default"].createElement("p",{className:"lead"},this.props.category.special_role?gettext("There are no threads on this forum... yet!"):gettext("There are no threads in this category.")),u["default"].createElement("p",null,gettext("Why not start one yourself?"))):u["default"].createElement("li",{className:"list-group-item empty-message"},gettext("No threads matching specified criteria were found."))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],235:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("./errors-list"),f=r(d),p=e("./merge"),m=r(p),h=e("./move"),b=r(h),v=e("../../../reducers/selection"),y=(n(v),
 e("../../../services/ajax")),g=r(y),_=e("../../../services/modal"),E=r(_),w=e("../../../services/snackbar"),O=r(w),k=e("../../../services/store"),N=(r(k),e("../../../utils/countdown")),x=(r(N),function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.callApi=function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;n.props.threads.forEach(function(e){n.props.freezeThread(e.id)});var r=n.props.threads.map(function(e){return e.id});e.push({op:"add",path:"acl",value:!0}),g["default"].patch(n.props.api,{ids:r,ops:e}).then(function(e){n.props.threads.forEach(function(e){n.props.freezeThread(e.id)}),e.forEach(function(e){n.props.updateThread(e)}),O["default"].success(t),a&&a()},function(e){if(n.props.threads.forEach(function(e){n.props.freezeThread(e.id)}),400!==e.status)return O["default"].apiError(e);var t=[],a={};n.props.threads.forEach(function(e){a[e.id]=e}),e.forEach(function(e){var n=e.id,r=e.detail;"undefined"!=typeof a[n]&&t.push({errors:r,thread:a[n]})}),E["default"].show(c["default"].createElement(f["default"],{errors:t}))})},n.pinGlobally=function(){n.callApi([{op:"replace",path:"weight",value:2}],gettext("Selected threads were pinned globally."))},n.pinLocally=function(){n.callApi([{op:"replace",path:"weight",value:1}],gettext("Selected threads were pinned locally."))},n.unpin=function(){n.callApi([{op:"replace",path:"weight",value:0}],gettext("Selected threads were unpinned."))},n.approve=function(){n.callApi([{op:"replace",path:"is-unapproved",value:!1}],gettext("Selected threads were approved."))},n.open=function(){n.callApi([{op:"replace",path:"is-closed",value:!1}],gettext("Selected threads were opened."))},n.close=function(){n.callApi([{op:"replace",path:"is-closed",value:!0}],gettext("Selected threads were closed."))},n.unhide=function(){n.callApi([{op:"replace",path:"is-hidden",value:!1}],gettext("Selected threads were unhidden."))},n.hide=function(){n.callApi([{op:"replace",path:"is-hidden",value:!0}],gettext("Selected threads were hidden."))},n.move=function(){E["default"].show(c["default"].createElement(b["default"],{callApi:n.callApi,categories:n.props.categories,categoriesMap:n.props.categoriesMap,route:n.props.route,user:n.props.user}))},n.merge=function(){var e=[];if(n.props.threads.forEach(function(t){t.acl.can_merge||e.append({id:t.id,title:t.title,errors:[gettext("You don't have permission to merge this thread with others.")]})}),n.props.threads.length<2)O["default"].info(gettext("You have to select at least two threads to merge."));else{if(e.length)return void E["default"].show(c["default"].createElement(f["default"],{errors:e}));E["default"].show(c["default"].createElement(m["default"],n.props))}},n["delete"]=function(){if(confirm(gettext("Are you sure you want to delete selected threads?"))){n.props.threads.map(function(e){n.props.freezeThread(e.id)});var e=n.props.threads.map(function(e){return e.id});g["default"]["delete"](n.props.api,e).then(function(){n.props.threads.map(function(e){n.props.freezeThread(e.id),n.props.deleteThread(e)}),O["default"].success(gettext("Selected threads were deleted."))},function(e){400===e.status?!function(){var t=e.map(function(e){return e.id});n.props.threads.map(function(e){n.props.freezeThread(e.id),t.indexOf(e.id)===-1&&n.props.deleteThread(e)}),E["default"].show(c["default"].createElement(f["default"],{errors:e}))}():O["default"].apiError(e)})}},r=a,l(n,r)}return s(t,e),i(t,[{key:"getPinGloballyButton",value:function(){return this.props.moderation.can_pin_globally?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.pinGlobally,type:"button"},c["default"].createElement("span",{className:"material-icon"},"bookmark"),gettext("Pin threads globally"))):null}},{key:"getPinLocallyButton",value:function(){return this.props.moderation.can_pin?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.pinLocally,type:"button"},c["default"].createElement("span",{className:"material-icon"},"bookmark_border"),gettext("Pin threads locally"))):null}},{key:"getUnpinButton",value:function(){return this.props.moderation.can_pin?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.unpin,type:"button"},c["default"].createElement("span",{className:"material-icon"},"panorama_fish_eye"),gettext("Unpin threads"))):null}},{key:"getMoveButton",value:function(){return this.props.moderation.can_move?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.move,type:"button"},c["default"].createElement("span",{className:"material-icon"},"arrow_forward"),gettext("Move threads"))):null}},{key:"getMergeButton",value:function(){return this.props.moderation.can_merge?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.merge,type:"button"},c["default"].createElement("span",{className:"material-icon"},"call_merge"),gettext("Merge threads"))):null}},{key:"getApproveButton",value:function(){return this.props.moderation.can_approve?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.approve,type:"button"},c["default"].createElement("span",{className:"material-icon"},"done"),gettext("Approve threads"))):null}},{key:"getOpenButton",value:function(){return this.props.moderation.can_close?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.open,type:"button"},c["default"].createElement("span",{className:"material-icon"},"lock_open"),gettext("Open threads"))):null}},{key:"getCloseButton",value:function(){return this.props.moderation.can_close?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.close,type:"button"},c["default"].createElement("span",{className:"material-icon"},"lock_outline"),gettext("Close threads"))):null}},{key:"getUnhideButton",value:function(){return this.props.moderation.can_unhide?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this.unhide,type:"button"},c["default"].createElement("span",{className:"material-icon"},"visibility"),gettext("Unhide threads"))):null}},{key:"getHideButton",value:function(){return this.props.moderation.can_hide?c["default"].createElement("li",null,c["default"].createElement("button",{onClick:this.hide,type:"button",className:"btn btn-link"},c["default"].createElement("span",{className:"material-icon"},"visibility_off"),gettext("Hide threads"))):null}},{key:"getDeleteButton",value:function(){return this.props.moderation.can_delete?c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",onClick:this["delete"],type:"button"},c["default"].createElement("span",{className:"material-icon"},"clear"),gettext("Delete threads"))):null}},{key:"render",value:function(){return c["default"].createElement("ul",{className:this.props.className},this.getPinGloballyButton(),this.getPinLocallyButton(),this.getUnpinButton(),this.getMoveButton(),this.getMergeButton(),this.getApproveButton(),this.getOpenButton(),this.getCloseButton(),this.getUnhideButton(),this.getHideButton(),this.getDeleteButton())}}]),t}(c["default"].Component));a["default"]=x},{"../../../reducers/selection":330,"../../../services/ajax":337,"../../../services/modal":343,"../../../services/snackbar":348,"../../../services/store":349,"../../../utils/countdown":354,"./errors-list":236,"./merge":237,"./move":238,react:"react"}],236:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){var t=e.errors,a=e.thread;return c["default"].createElement("li",null,c["default"].createElement("h5",null,a.title),t.map(function(e,t){return c["default"].createElement("p",null,e)}))}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.ThreadErrors=s;var u=e("react"),c=n(u),d=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),i(t,[{key:"render",value:function(){return c["default"].createElement("div",{className:"modal-dialog",role:"document"},c["default"].createElement("div",{className:"modal-content"},c["default"].createElement("div",{className:"modal-header"},c["default"].createElement("button",{"aria-label":gettext("Close"),className:"close","data-dismiss":"modal",type:"button"},c["default"].createElement("span",{"aria-hidden":"true"},"×")),c["default"].createElement("h4",{className:"modal-title"},gettext("Threads moderation"))),c["default"].createElement("div",{className:"modal-body"},c["default"].createElement("p",{className:"lead"},gettext("One or more threads could not be deleted:")),c["default"].createElement("ul",{className:"list-unstyled list-errored-items"},this.props.errors.map(function(e){return c["default"].createElement(s,{errors:e.errors,key:e.thread.id,thread:e.thread})})))))}}]),t}(c["default"].Component);a["default"]=d},{react:"react"}],237:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../../button"),f=r(d),p=e("../../form"),m=r(p),h=e("../../form-group"),b=r(h),v=e("../../category-select"),y=r(v),g=e("../../select"),_=r(g),E=e("../../../index"),w=r(E),O=e("../../../reducers/threads"),k=e("../../../reducers/selection"),N=n(k),x=e("./errors-list"),j=r(x),P=e("../../merge-polls"),C=r(P),S=e("../../../services/ajax"),M=r(S),T=e("../../../services/modal"),L=r(T),R=e("../../../services/snackbar"),A=r(R),I=e("../../../services/store"),D=r(I),U=e("../../../utils/validators"),B=n(U),H=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));a.getFormdata=function(){return{threads:a.props.threads.map(function(e){return e.id}),title:a.state.title,category:a.state.category,weight:a.state.weight,is_hidden:a.state.is_hidden,is_closed:a.state.is_closed}},a.handleSuccess=function(e){a.props.threads.forEach(function(e){a.props.freezeThread(e.id),a.props.deleteThread(e)}),D["default"].dispatch(N.none()),a.props.addThreads([e]),D["default"].dispatch((0,O.filterThreads)(a.props.route.category,a.props.categoriesMap)),L["default"].hide()},a.handleError=function(e){400===e.status?e.polls?L["default"].show(c["default"].createElement(C["default"],{api:w["default"].get("MERGE_THREADS_API"),data:a.getFormdata(),polls:e.polls,onError:a.handleError,onSuccess:a.handleSuccess})):(a.setState({errors:Object.assign({},a.state.errors,e)}),A["default"].error(gettext("Form contains errors."))):403===e.status&&Array.isArray(e)?L["default"].show(c["default"].createElement(j["default"],{errors:e})):A["default"].apiError(e)},a.onCategoryChange=function(e){var t=e.target.value,n={category:t};a.acl[t].can_pin_threads<n.weight&&(n.weight=0),a.acl[t].can_hide_threads||(n.is_hidden=0),a.acl[t].can_close_threads||(n.is_closed=!1),a.setState(n)},a.state={isLoading:!1,title:"",category:null,weight:0,is_hidden:0,is_closed:!1,validators:{title:[B.required()]},errors:{}},a.acl={};for(var n in e.user.acl.categories)if(e.user.acl.categories.hasOwnProperty(n)){var r=e.user.acl.categories[n];a.acl[r.id]=r}return a.categoryChoices=[],e.categories.forEach(function(e){if(e.level>0){var t=a.acl[e.id],n=!t.can_start_threads||e.is_closed&&!t.can_close_threads;a.categoryChoices.push({value:e.id,disabled:n,level:e.level-1,label:e.name}),n||a.state.category||(a.state.category=e.id)}}),a.isHiddenChoices=[{value:0,icon:"visibility",label:gettext("No")},{value:1,icon:"visibility_off",label:gettext("Yes")}],a.isClosedChoices=[{value:!1,icon:"lock_outline",label:gettext("No")},{value:!0,icon:"lock",label:gettext("Yes")}],a}return s(t,e),i(t,[{key:"clean",value:function(){return!!this.isValid()||(A["default"].error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return M["default"].post(w["default"].get("MERGE_THREADS_API"),this.getFormdata())}},{key:"getWeightChoices",value:function(){var e=[{value:0,icon:"remove",label:gettext("Not pinned")},{value:1,icon:"bookmark_border",label:gettext("Pinned locally")}];return 2==this.acl[this.state.category].can_pin_threads&&e.push({value:2,icon:"bookmark",label:gettext("Pinned globally")}),e}},{key:"renderWeightField",value:function(){return this.acl[this.state.category].can_pin_threads?c["default"].createElement(b["default"],{label:gettext("Thread weight"),"for":"id_weight"},c["default"].createElement(_["default"],{id:"id_weight",onChange:this.bindInput("weight"),value:this.state.weight,choices:this.getWeightChoices()})):null}},{key:"renderHiddenField",value:function(){return this.acl[this.state.category].can_hide_threads?c["default"].createElement(b["default"],{label:gettext("Hide thread"),"for":"id_is_hidden"},c["default"].createElement(_["default"],{id:"id_is_closed",onChange:this.bindInput("is_hidden"),value:this.state.is_hidden,choices:this.isHiddenChoices})):null}},{key:"renderClosedField",value:function(){return this.acl[this.state.category].can_close_threads?c["default"].createElement(b["default"],{label:gettext("Close thread"),"for":"id_is_closed"},c["default"].createElement(_["default"],{id:"id_is_closed",onChange:this.bindInput("is_closed"),value:this.state.is_closed,choices:this.isClosedChoices})):null}},{key:"renderForm",value:function(){return c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"modal-body"},c["default"].createElement(b["default"],{label:gettext("Thread title"),"for":"id_title",validation:this.state.errors.title},c["default"].createElement("input",{id:"id_title",className:"form-control",type:"text",onChange:this.bindInput("title"),value:this.state.title})),c["default"].createElement("div",{className:"clearfix"}),c["default"].createElement(b["default"],{label:gettext("Category"),"for":"id_category",validation:this.state.errors.category},c["default"].createElement(y["default"],{id:"id_category",onChange:this.onCategoryChange,value:this.state.category,choices:this.categoryChoices})),c["default"].createElement("div",{className:"clearfix"}),this.renderWeightField(),this.renderHiddenField(),this.renderClosedField()),c["default"].createElement("div",{className:"modal-footer"},c["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},gettext("Cancel")),c["default"].createElement(f["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Merge threads"))))}},{key:"renderCantMergeMessage",value:function(){return c["default"].createElement("div",{className:"modal-body"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"info_outline")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",{className:"lead"},gettext("You can't move threads because there are no categories you are allowed to move them to.")),c["default"].createElement("p",null,gettext("You need permission to start threads in category to be able to merge threads to it.")),c["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},gettext("Ok"))))}},{key:"getClassName",value:function(){return this.state.category?"modal-dialog":"modal-dialog modal-message"}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName(),role:"document"},c["default"].createElement("div",{className:"modal-content"},c["default"].createElement("div",{className:"modal-header"},c["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},c["default"].createElement("span",{"aria-hidden":"true"},"×")),c["default"].createElement("h4",{className:"modal-title"},gettext("Merge threads"))),this.state.category?this.renderForm():this.renderCantMergeMessage()))}}]),t}(m["default"]);a["default"]=H},{"../../../index":276,"../../../reducers/selection":330,"../../../reducers/threads":333,"../../../services/ajax":337,"../../../services/modal":343,"../../../services/snackbar":348,"../../../services/store":349,"../../../utils/validators":365,"../../button":5,"../../category-select":18,"../../form":52,"../../form-group":51,"../../merge-polls":55,"../../select":188,"./errors-list":236,react:"react"}],238:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../../form"),f=r(d),p=e("../../form-group"),m=r(p),h=e("../../category-select"),b=r(h),v=e("../../../reducers/selection"),y=n(v),g=e("../../../reducers/threads"),_=e("../../../services/modal"),E=r(_),w=e("../../../services/store"),O=r(w),k=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));a.handleSubmit=function(e){e.preventDefault(),E["default"].hide();var t=function(){O["default"].dispatch((0,g.filterThreads)(a.props.route.category,a.props.categoriesMap));var e=O["default"].getState(),t=e.threads.map(function(e){return e.id});O["default"].dispatch(y.all(e.selection.filter(function(e){return t.indexOf(e)!==-1})))};a.props.callApi([{op:"replace",path:"category",value:a.state.category},{op:"replace",path:"flatten-categories",value:null},{op:"add",path:"acl",value:!0}],gettext("Selected threads were moved."),t)},a.state={category:null};var n={};for(var r in e.user.acl.categories)if(e.user.acl.categories.hasOwnProperty(r)){var s=e.user.acl.categories[r];n[s.id]=s}return a.categoryChoices=[],e.categories.forEach(function(e){if(e.level>0){var t=n[e.id],r=!t.can_start_threads||e.is_closed&&!t.can_close_threads;a.categoryChoices.push({value:e.id,disabled:r,level:e.level-1,label:e.name}),r||a.state.category||(a.state.category=e.id)}}),a}return s(t,e),i(t,[{key:"getClassName",value:function(){return this.state.category?"modal-dialog":"modal-dialog modal-message"}},{key:"renderForm",value:function(){return c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"modal-body"},c["default"].createElement(m["default"],{label:gettext("New category"),"for":"id_new_category"},c["default"].createElement(b["default"],{id:"id_new_category",onChange:this.bindInput("category"),value:this.state.category,choices:this.categoryChoices}))),c["default"].createElement("div",{className:"modal-footer"},c["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",disabled:this.state.isLoading,type:"button"},gettext("Cancel")),c["default"].createElement("button",{className:"btn btn-primary"},gettext("Move threads"))))}},{key:"renderCantMoveMessage",value:function(){return c["default"].createElement("div",{className:"modal-body"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"info_outline")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",{className:"lead"},gettext("You can't move threads because there are no categories you are allowed to move them to.")),c["default"].createElement("p",null,gettext("You need permission to start threads in category to be able to move threads to it.")),c["default"].createElement("button",{className:"btn btn-default","data-dismiss":"modal",type:"button"},gettext("Ok"))))}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName(),role:"document"},c["default"].createElement("div",{className:"modal-content"},c["default"].createElement("div",{className:"modal-header"},c["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},c["default"].createElement("span",{"aria-hidden":"true"},"×")),c["default"].createElement("h4",{className:"modal-title"},gettext("Move threads"))),this.state.category?this.renderForm():this.renderCantMoveMessage()))}}]),t}(f["default"]);a["default"]=k},{"../../../reducers/selection":330,"../../../reducers/threads":333,"../../../services/modal":343,"../../../services/store":349,"../../category-select":18,"../../form":52,"../../form-group":51,react:"react"}],239:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../../../reducers/selection"),f=n(d),p=e("../../../services/store"),m=r(p),h=function(e){function t(){var e,a,n,r;o(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=l(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.selectAll=function(){m["default"].dispatch(f.all(n.props.threads.map(function(e){return e.id})))},n.selectNone=function(){m["default"].dispatch(f.none())},r=a,l(n,r)}return s(t,e),i(t,[{key:"render",value:function(){return c["default"].createElement("ul",{className:this.props.className},c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",type:"button",onClick:this.selectAll},c["default"].createElement("span",{className:"material-icon"},"check_box"),gettext("Select all"))),c["default"].createElement("li",null,c["default"].createElement("button",{className:"btn btn-link",type:"button",onClick:this.selectNone},c["default"].createElement("span",{className:"material-icon"},"check_box_outline_blank"),gettext("Select none"))))}}]),t}(c["default"].Component);a["default"]=h},{"../../../reducers/selection":330,"../../../services/store":349,react:"react"}],240:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.baseUrl,a=e.list,n=e.lists;return n.length<2?null:o["default"].createElement("div",{className:"page-tabs"},o["default"].createElement("div",{className:"container"},o["default"].createElement("ul",{className:"nav nav-pills"},n.map(function(e){return o["default"].createElement(i["default"],{isControlled:!0,isActive:e.path===a.path,key:t+e.path},o["default"].createElement(l.Link,{to:t+e.path},e.name))}))))};var r=e("react"),o=n(r),l=e("react-router"),s=e("../li"),i=n(s)},{"../li":53,react:"react","react-router":"react-router"}],241:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return function(t){return{options:e,selection:t.selection,threads:t.threads,tick:t.tick.tick,user:t.auth.user}}}function o(e){var t=[{type:"all",path:"",name:gettext("All"),longName:gettext("All threads")}];return e.id&&(t.push({type:"my",path:"my/",name:gettext("My"),longName:gettext("My threads")}),t.push({type:"new",path:"new/",name:gettext("New"),longName:gettext("New threads")}),t.push({type:"unread",path:"unread/",name:gettext("Unread"),longName:gettext("Unread threads")}),t.push({type:"subscribed",path:"subscribed/",name:gettext("Subscribed"),longName:gettext("Subscribed threads")}),e.acl.can_see_unapproved_content_lists&&t.push({type:"unapproved",path:"unapproved/",name:gettext("Unapproved"),longName:gettext("Unapproved content")})),t}function l(e,t){var a=o(e),n=[],l={};return d["default"].get("CATEGORIES").forEach(function(e){a.forEach(function(o){l[e.id]=e,n.push({path:e.url.index+o.path,component:(0,s.connect)(r(t))(u["default"]),categories:d["default"].get("CATEGORIES"),categoriesMap:l,category:e,lists:a,list:o})})}),n}Object.defineProperty(a,"__esModule",{value:!0}),a.getSelect=r,a.getLists=o,a.paths=l;var s=e("react-redux"),i=e("./route"),u=n(i),c=e("../../index"),d=n(c)},{"../../index":276,"./route":242,"react-redux":"react-redux"}],242:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../button"),f=r(d),p=e("./compare"),m=e("./container"),h=r(m),b=e("./header"),v=r(b),y=e("./utils"),g=e("../threads-list"),_=r(g),E=e("./list-empty"),w=r(E),O=e("../with-dropdown"),k=r(O),N=e("../../index"),x=r(N),j=e("../../reducers/selection"),P=n(j),C=e("../../reducers/threads"),S=e("../../services/ajax"),M=r(S),T=e("../../services/polls"),L=r(T),R=e("../../services/snackbar"),A=r(R),I=e("../../services/store"),D=r(I),U=e("../../services/page-title"),B=r(U),H=e("../../utils/sets"),z=n(H),F=function(e){function t(e){o(this,t);var a=l(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));a.loadMore=function(){a.setState({isBusy:!0}),a.loadThreads(a.getCategory(),a.state.page+1)},a.pollResponse=function(e){a.setState({diff:Object.assign({},e,{results:(0,y.diffThreads)(a.props.threads,e.results)})})},a.addThreads=function(e){D["default"].dispatch((0,C.append)(e,a.getSorting()))},a.applyDiff=function(){a.addThreads(a.state.diff.results),a.setState(Object.assign({},a.state.diff,{moderation:(0,y.getModerationActions)(D["default"].getState().threads),diff:{results:[]}}))},a.freezeThread=function(e){a.setState(function(t){return{busyThreads:z.toggle(t.busyThreads,e)}})},a.updateThread=function(e){D["default"].dispatch((0,C.patch)(e,e,a.getSorting()))},a.deleteThread=function(e){D["default"].dispatch((0,C.deleteThread)(e))},a.state={isMounted:!0,isLoaded:!1,isBusy:!1,diff:{results:[]},moderation:[],busyThreads:[],dropdown:!1,subcategories:[],count:0,more:0,page:1,pages:1};var n=a.getCategory();return x["default"].has("THREADS")?a.initWithPreloadedData(n,x["default"].get("THREADS")):a.initWithoutPreloadedData(n),a}return s(t,e),i(t,[{key:"getCategory",value:function(){return this.props.route.category.special_role?null:this.props.route.category.id}},{key:"initWithPreloadedData",value:function(e,t){this.state=Object.assign(this.state,{moderation:(0,y.getModerationActions)(t.results),subcategories:t.subcategories,count:t.count,more:t.more,page:t.page,pages:t.pages}),this.startPolling(e)}},{key:"initWithoutPreloadedData",value:function(e){this.loadThreads(e)}},{key:"loadThreads",value:function(e){var t=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;M["default"].get(this.props.options.api,{category:e,list:this.props.route.list.type,page:a||1},"threads").then(function(n){t.state.isMounted&&(1===a?D["default"].dispatch((0,C.hydrate)(n.results)):D["default"].dispatch((0,C.append)(n.results,t.getSorting())),t.setState({isLoaded:!0,isBusy:!1,moderation:(0,y.getModerationActions)(D["default"].getState().threads),subcategories:n.subcategories,count:n.count,more:n.more,page:n.page,pages:n.pages}),t.startPolling(e))},function(e){A["default"].apiError(e)})}},{key:"startPolling",value:function(e){L["default"].start({poll:"threads",url:this.props.options.api,data:{category:e,list:this.props.route.list.type},frequency:12e4,update:this.pollResponse})}},{key:"componentDidMount",value:function(){this.setPageTitle(),x["default"].has("THREADS")&&(D["default"].dispatch((0,C.hydrate)(x["default"].pop("THREADS").results)),this.setState({isLoaded:!0})),D["default"].dispatch(P.none())}},{key:"componentWillUnmount",
-value:function(){this.state.isMounted=!1,L["default"].stop("threads")}},{key:"getTitle",value:function(){return this.props.options.title?this.props.options.title:(0,y.getTitle)(this.props.route)}},{key:"setPageTitle",value:function(){this.props.route.category.level||!x["default"].get("THREADS_ON_INDEX")?B["default"].set((0,y.getPageTitle)(this.props.route)):this.props.options.title?B["default"].set(this.props.options.title):x["default"].get("SETTINGS").forum_index_title?document.title=x["default"].get("SETTINGS").forum_index_title:document.title=x["default"].get("SETTINGS").forum_name}},{key:"getSorting",value:function(){return this.props.route.category.level?p.compareWeight:p.compareGlobalWeight}},{key:"getMoreButton",value:function(){return this.state.more?c["default"].createElement("div",{className:"pager-more"},c["default"].createElement(f["default"],{className:"btn btn-default btn-outline",loading:this.state.isBusy||this.state.busyThreads.length,onClick:this.loadMore},gettext("Show more"))):null}},{key:"getClassName",value:function(){var e="page page-threads";return e+=" page-threads-"+this.props.route.list.type,this.props.route.category.css_class&&(e+=" page-threads-"+this.props.route.category.css_class),e}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName()},c["default"].createElement(v["default"],{categories:this.props.route.categoriesMap,disabled:!this.state.isLoaded,startThread:this.props.options.startThread,threads:this.props.threads,title:this.getTitle(),toggleNav:this.toggleNav,route:this.props.route,user:this.props.user}),c["default"].createElement(h["default"],{api:this.props.options.api,route:this.props.route,subcategories:this.state.subcategories,user:this.props.user,pageLead:this.props.options.pageLead,threads:this.props.threads,threadsCount:this.state.count,moderation:this.state.moderation,selection:this.props.selection,busyThreads:this.state.busyThreads,addThreads:this.addThreads,freezeThread:this.freezeThread,deleteThread:this.deleteThread,updateThread:this.updateThread,isLoaded:this.state.isLoaded,isBusy:this.state.isBusy},c["default"].createElement(_["default"],{category:this.props.route.category,categories:this.props.route.categoriesMap,list:this.props.route.list,selection:this.props.selection,threads:this.props.threads,diffSize:this.state.diff.results.length,applyDiff:this.applyDiff,showOptions:!!this.props.user.id,isLoaded:this.state.isLoaded,busyThreads:this.state.busyThreads},c["default"].createElement(w["default"],{category:this.props.route.category,emptyMessage:this.props.options.emptyMessage,list:this.props.route.list})),this.getMoreButton()))}}]),t}(k["default"]);a["default"]=F},{"../../index":276,"../../reducers/selection":330,"../../reducers/threads":333,"../../services/ajax":337,"../../services/page-title":345,"../../services/polls":346,"../../services/snackbar":348,"../../services/store":349,"../../utils/sets":363,"../button":5,"../threads-list":212,"../with-dropdown":273,"./compare":231,"./container":232,"./header":233,"./list-empty":234,"./utils":244,react:"react"}],243:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./category-picker"),d=n(c),f=e("./moderation/controls"),p=n(f),m=e("./moderation/selection"),h=n(m),b=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"getCategoryPicker",value:function(){return this.props.subcategories.length?u["default"].createElement(d["default"],{categories:this.props.categoriesMap,choices:this.props.subcategories,list:this.props.list}):null}},{key:"showModerationOptions",value:function(){return this.props.user.id&&this.props.moderation.allow}},{key:"getSelectedThreads",value:function(){var e=this;return this.props.threads.filter(function(t){return e.props.selection.indexOf(t.id)>=0})}},{key:"getModerationButton",value:function(){return this.showModerationOptions()?u["default"].createElement("div",{className:"col-xs-6 col-sm-3 col-md-2"},u["default"].createElement("div",{className:"btn-group btn-group-justified"},u["default"].createElement("div",{className:"btn-group dropdown"},u["default"].createElement("button",{type:"button",className:"btn btn-default btn-outline dropdown-toggle","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",disabled:this.props.disabled||!this.props.selection.length},u["default"].createElement("span",{className:"material-icon"},"settings"),gettext("Options")),u["default"].createElement(p["default"],{addThreads:this.props.addThreads,api:this.props.api,categories:this.props.categories,categoriesMap:this.props.categoriesMap,className:"dropdown-menu dropdown-menu-right stick-to-bottom",deleteThread:this.props.deleteThread,freezeThread:this.props.freezeThread,moderation:this.props.moderation,route:this.props.route,threads:this.getSelectedThreads(),updateThread:this.props.updateThread,user:this.props.user})))):null}},{key:"getSelectionButton",value:function(){return this.showModerationOptions()?u["default"].createElement("div",{className:"col-xs-3 col-sm-2 col-md-1"},u["default"].createElement("div",{className:"btn-group btn-group-justified"},u["default"].createElement("div",{className:"btn-group dropdown"},u["default"].createElement("button",{type:"button",className:"btn btn-default btn-outline btn-icon dropdown-toggle","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",disabled:this.props.disabled},u["default"].createElement("span",{className:"material-icon"},"select_all")),u["default"].createElement(h["default"],{className:"dropdown-menu dropdown-menu-right stick-to-bottom",threads:this.props.threads})))):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"row row-toolbar row-toolbar-bottom-margin"},u["default"].createElement("div",{className:"col-xs-3 col-sm-3 col-md-2 dropdown"},this.getCategoryPicker()),u["default"].createElement("div",{className:"hidden-xs col-sm-4 col-md-7"}),this.getModerationButton(),this.getSelectionButton())}}]),t}(u["default"].Component);a["default"]=b},{"./category-picker":230,"./moderation/controls":235,"./moderation/selection":239,react:"react"}],244:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.category.level?e.list.path?{title:e.list.longName,parent:e.category.name}:{title:e.category.name}:c["default"].get("THREADS_ON_INDEX")?e.list.path?{title:e.list.longName}:null:e.list.path?{title:e.list.longName,parent:gettext("Threads")}:{title:gettext("Threads")}}function o(e){return e.category.level?e.category.name:c["default"].get("THREADS_ON_INDEX")?c["default"].get("SETTINGS").forum_index_title?c["default"].get("SETTINGS").forum_index_title:c["default"].get("SETTINGS").forum_name:gettext("Threads")}function l(e,t){return[e.title===t.title,e.weight===t.weight,e.category===t.category,e.last_post===t.last_post,e.last_poster_name===t.last_poster_name].indexOf(!1)>=0}function s(e,t){var a={};return e.forEach(function(e){a[e.id]=e}),t.filter(function(e){return!a[e.id]||l(a[e.id],e)})}function i(e){var t={allow:!1,can_approve:0,can_close:0,can_delete:0,can_hide:0,can_merge:0,can_move:0,can_pin:0,can_pin_globally:0,can_unhide:0};return e.forEach(function(e){e.is_unapproved&&e.acl.can_approve>t.can_approve&&(t.can_approve=e.acl.can_approve),e.acl.can_close>t.can_close&&(t.can_close=e.acl.can_close),e.acl.can_delete>t.can_delete&&(t.can_delete=e.acl.can_delete),e.acl.can_hide>t.can_hide&&(t.can_hide=e.acl.can_hide),e.acl.can_merge>t.can_merge&&(t.can_merge=e.acl.can_merge),e.acl.can_move>t.can_move&&(t.can_move=e.acl.can_move),e.acl.can_pin>t.can_pin&&(t.can_pin=e.acl.can_pin),e.acl.can_pin_globally>t.can_pin_globally&&(t.can_pin_globally=e.acl.can_pin_globally),e.acl.can_unhide>t.can_unhide&&(t.can_unhide=e.acl.can_unhide),t.allow=t.can_approve||t.can_close||t.can_delete||t.can_hide||t.can_merge||t.can_move||t.can_pin||t.can_pin_globally||t.can_unhide}),t}Object.defineProperty(a,"__esModule",{value:!0}),a.getPageTitle=r,a.getTitle=o,a.isThreadChanged=l,a.diffThreads=s,a.getModerationActions=i;var u=e("../../index"),c=n(u)},{"../../index":276}],245:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.CompactGuestNav=a.GuestNav=a.GuestMenu=void 0;var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../avatar"),d=n(c),f=e("../register-button"),p=n(f),m=e("../sign-in.js"),h=n(m),b=e("../../services/mobile-navbar-dropdown"),v=n(b),y=e("../../services/modal"),g=n(y),_=a.GuestMenu=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"showSignInModal",value:function(){g["default"].show(h["default"])}},{key:"render",value:function(){return u["default"].createElement("ul",{className:"dropdown-menu user-dropdown dropdown-menu-right",role:"menu"},u["default"].createElement("li",{className:"guest-preview"},u["default"].createElement("h4",null,gettext("You are browsing as guest.")),u["default"].createElement("p",null,gettext("Sign in or register to start and participate in discussions.")),u["default"].createElement("div",{className:"row"},u["default"].createElement("div",{className:"col-xs-6"},u["default"].createElement("button",{className:"btn btn-default btn-block",onClick:this.showSignInModal,type:"button"},gettext("Sign in"))),u["default"].createElement("div",{className:"col-xs-6"},u["default"].createElement(p["default"],{className:"btn-success btn-block"},gettext("Register"))))))}}]),t}(u["default"].Component);a.GuestNav=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"render",value:function(){return u["default"].createElement("div",{className:"nav nav-guest"},u["default"].createElement("button",{className:"btn navbar-btn btn-default",onClick:this.showSignInModal,type:"button"},gettext("Sign in")),u["default"].createElement(p["default"],{className:"navbar-btn btn-success btn-outline"},gettext("Register")))}}]),t}(_),a.CompactGuestNav=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"showGuestMenu",value:function(){v["default"].show(_)}},{key:"render",value:function(){return u["default"].createElement("button",{type:"button",onClick:this.showGuestMenu},u["default"].createElement(d["default"],{size:"64"}))}}]),t}(u["default"].Component)},{"../../services/mobile-navbar-dropdown":342,"../../services/modal":343,"../avatar":3,"../register-button":176,"../sign-in.js":189,react:"react"}],246:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return e.auth}Object.defineProperty(a,"__esModule",{value:!0}),a.CompactUserMenu=a.UserMenu=void 0;var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.select=s;var u=e("react"),c=n(u),d=e("./guest-nav"),f=e("./user-nav");a.UserMenu=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),i(t,[{key:"render",value:function(){return this.props.isAuthenticated?c["default"].createElement(f.UserNav,{user:this.props.user}):c["default"].createElement(d.GuestNav,null)}}]),t}(c["default"].Component),a.CompactUserMenu=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),i(t,[{key:"render",value:function(){return this.props.isAuthenticated?c["default"].createElement(f.CompactUserNav,{user:this.props.user}):c["default"].createElement(d.CompactGuestNav,null)}}]),t}(c["default"].Component)},{"./guest-nav":245,"./user-nav":247,react:"react"}],247:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){var t=e.user;return t.unread_private_threads?p["default"].createElement("span",{className:"badge"},t.unread_private_threads):null}function i(e){var t=e.user;return p["default"].createElement("ul",{className:"ul nav navbar-nav nav-user"},p["default"].createElement(u,{user:t}),p["default"].createElement("li",{className:"dropdown"},p["default"].createElement("a",{"aria-haspopup":"true","aria-expanded":"false",className:"dropdown-toggle","data-toggle":"dropdown",href:t.url,role:"button"},p["default"].createElement(b["default"],{user:t,size:"64"})),p["default"].createElement(N,{user:t})))}function u(e){return e.user.unread_private_threads?p["default"].createElement("li",null,p["default"].createElement("a",{className:"navbar-notification",href:_["default"].get("PRIVATE_THREADS_URL"),title:gettext("You have unread private threads.")},p["default"].createElement("span",{className:"material-icon"},"message"),p["default"].createElement("span",{className:"badge"},e.user.unread_private_threads))):null}function c(e){return{user:e.auth.user}}Object.defineProperty(a,"__esModule",{value:!0}),a.CompactUserNav=a.UserMenu=void 0;var d=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.PrivateThreadsBadge=s,a.UserNav=i,a.UserPrivateThreadsLink=u,a.selectUserMenu=c;var f=e("react"),p=n(f),m=e("react-redux"),h=e("../avatar"),b=n(h),v=e("../change-avatar/root"),y=n(v),g=e("../.."),_=n(g),E=e("../../services/mobile-navbar-dropdown"),w=n(E),O=e("../../services/modal"),k=n(O),N=a.UserMenu=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),d(t,[{key:"logout",value:function(){var e=confirm(gettext("Are you sure you want to sign out?"));e&&$("#hidden-logout-form").submit()}},{key:"changeAvatar",value:function(){k["default"].show((0,m.connect)(v.select)(y["default"]))}},{key:"render",value:function(){var e=this.props.user;return p["default"].createElement("ul",{className:"dropdown-menu user-dropdown dropdown-menu-right",role:"menu"},p["default"].createElement("li",{className:"dropdown-header"},p["default"].createElement("strong",null,e.username),p["default"].createElement("ul",{className:"list-unstyled list-inline user-stats"},p["default"].createElement("li",null,p["default"].createElement("span",{className:"material-icon"},"message"),e.posts),p["default"].createElement("li",null,p["default"].createElement("span",{className:"material-icon"},"forum"),e.threads),p["default"].createElement("li",null,p["default"].createElement("span",{className:"material-icon"},"favorite"),e.followers),p["default"].createElement("li",null,p["default"].createElement("span",{className:"material-icon"},"favorite_outline"),e.following))),p["default"].createElement("li",{className:"divider"}),p["default"].createElement("li",null,p["default"].createElement("a",{href:e.url},p["default"].createElement("span",{className:"material-icon"},"account_circle"),gettext("See your profile"))),p["default"].createElement("li",null,p["default"].createElement("a",{href:_["default"].get("USERCP_URL")},p["default"].createElement("span",{className:"material-icon"},"done_all"),gettext("Change options"))),p["default"].createElement("li",null,p["default"].createElement("button",{className:"btn-link",onClick:this.changeAvatar,type:"button"},p["default"].createElement("span",{className:"material-icon"},"portrait"),gettext("Change avatar"))),p["default"].createElement("li",null,p["default"].createElement("a",{href:_["default"].get("PRIVATE_THREADS_URL")},p["default"].createElement("span",{className:"material-icon"},"message"),gettext("Private threads"),p["default"].createElement(s,{user:e}))),p["default"].createElement("li",{className:"divider"}),p["default"].createElement("li",{className:"dropdown-buttons"},p["default"].createElement("button",{className:"btn btn-default btn-block",onClick:this.logout,type:"button"},gettext("Log out"))))}}]),t}(p["default"].Component);a.CompactUserNav=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),d(t,[{key:"showUserMenu",value:function(){w["default"].showConnected("user-menu",(0,m.connect)(c)(N))}},{key:"render",value:function(){return p["default"].createElement("button",{type:"button",onClick:this.showUserMenu},p["default"].createElement(b["default"],{user:this.props.user,size:"50"}))}}]),t}(p["default"].Component)},{"../..":276,"../../services/mobile-navbar-dropdown":342,"../../services/modal":343,"../avatar":3,"../change-avatar/root":22,react:"react","react-redux":"react-redux"}],248:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){var t="";return e.is_banned?t="banned":e.is_hidden?t="offline":e.is_online_hidden?t="online":e.is_offline_hidden?t="offline":e.is_online?t="online":e.is_offline&&(t="offline"),"user-status user-"+t}function i(e,t){return t.is_banned?t.banned_until?interpolate(gettext("%(username)s is banned until %(ban_expires)s"),{username:e.username,ban_expires:t.banned_until.format("LL, LT")},!0):interpolate(gettext("%(username)s is banned"),{username:e.username},!0):t.is_hidden?interpolate(gettext("%(username)s is hiding presence"),{username:e.username},!0):t.is_online_hidden?interpolate(gettext("%(username)s is online (hidden)"),{username:e.username},!0):t.is_offline_hidden?interpolate(gettext("%(username)s was last seen %(last_click)s (hidden)"),{username:e.username,last_click:t.last_click.fromNow()},!0):t.is_online?interpolate(gettext("%(username)s is online"),{username:e.username},!0):t.is_offline?interpolate(gettext("%(username)s was last seen %(last_click)s"),{username:e.username,last_click:t.last_click.fromNow()},!0):void 0}Object.defineProperty(a,"__esModule",{value:!0}),a.StatusLabel=a.StatusIcon=void 0;var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.getStatusClassName=s,a.getStatusDescription=i;var c=e("react"),d=n(c),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),u(t,[{key:"getClass",value:function(){return s(this.props.status)}},{key:"render",value:function(){return d["default"].createElement("span",{className:this.getClass()},this.props.children)}}]),t}(d["default"].Component);a["default"]=f;a.StatusIcon=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),u(t,[{key:"getIcon",value:function(){return this.props.status.is_banned?"remove_circle_outline":this.props.status.is_hidden?"help_outline":this.props.status.is_online_hidden?"label":this.props.status.is_offline_hidden?"label_outline":this.props.status.is_online?"lens":this.props.status.is_offline?"panorama_fish_eye":void 0}},{key:"render",value:function(){return d["default"].createElement("span",{className:"material-icon status-icon"},this.getIcon())}}]),t}(d["default"].Component),a.StatusLabel=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),u(t,[{key:"getHelp",value:function(){return i(this.props.user,this.props.status)}},{key:"getLabel",value:function(){return this.props.status.is_banned?gettext("Banned"):this.props.status.is_hidden?gettext("Hidden"):this.props.status.is_online_hidden?gettext("Online (hidden)"):this.props.status.is_offline_hidden?gettext("Offline (hidden)"):this.props.status.is_online?gettext("Online"):this.props.status.is_offline?gettext("Offline"):void 0}},{key:"render",value:function(){return d["default"].createElement("span",{className:this.props.className||"status-label",title:this.getHelp()},this.getLabel())}}]),t}(d["default"].Component)},{react:"react"}],249:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../avatar"),f=r(d),p=e("../../utils/random"),m=n(p),h=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"getClassName",value:function(){return this.props.hiddenOnMobile?"list-group-item hidden-xs hidden-sm":"list-group-item"}},{key:"render",value:function(){return c["default"].createElement("li",{className:this.getClassName()},c["default"].createElement("div",{className:"change-avatar"},c["default"].createElement("span",{className:"user-avatar"},c["default"].createElement(f["default"],{size:"100"}))),c["default"].createElement("div",{className:"change-author"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](30,100)+"px"}}," ")),c["default"].createElement("div",{className:"change"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](30,70)+"px"}}," "),c["default"].createElement("span",{className:"material-icon"},"arrow_forward"),c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](30,70)+"px"}}," ")),c["default"].createElement("div",{className:"change-date"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](80,140)+"px"}}," ")))}}]),t}(c["default"].Component);a["default"]=h},{"../../utils/random":360,"../avatar":3,react:"react"}],250:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../avatar"),d=n(c),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"renderUserAvatar",value:function(){return this.props.change.changed_by?u["default"].createElement("a",{href:this.props.change.changed_by.url,className:"user-avatar-wrapper"},u["default"].createElement(d["default"],{user:this.props.change.changed_by,size:"100"})):u["default"].createElement("span",{className:"user-avatar-wrapper"},u["default"].createElement(d["default"],{size:"100"}))}},{key:"renderUsername",value:function(){return this.props.change.changed_by?u["default"].createElement("a",{href:this.props.change.changed_by.url,className:"item-title"},this.props.change.changed_by.username):u["default"].createElement("span",{className:"item-title"},this.props.change.changed_by_username)}},{key:"render",value:function(){return u["default"].createElement("li",{className:"list-group-item",key:this.props.change.id},u["default"].createElement("div",{className:"change-avatar"},this.renderUserAvatar()),u["default"].createElement("div",{className:"change-author"},this.renderUsername()),u["default"].createElement("div",{className:"change"},u["default"].createElement("span",{className:"old-username"},this.props.change.old_username),u["default"].createElement("span",{className:"material-icon"},"arrow_forward"),u["default"].createElement("span",{className:"new-username"},this.props.change.new_username)),u["default"].createElement("div",{className:"change-date"},u["default"].createElement("abbr",{title:this.props.change.changed_on.format("LLL")},this.props.change.changed_on.fromNow())))}}]),t}(u["default"].Component);a["default"]=f},{"../avatar":3,react:"react"}],251:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"getEmptyMessage",value:function(){return this.props.emptyMessage?this.props.emptyMessage:gettext("No name changes have been recorded for your account.")}},{key:"render",value:function(){return u["default"].createElement("div",{className:"username-history ui-ready"},u["default"].createElement("ul",{className:"list-group"},u["default"].createElement("li",{className:"list-group-item empty-message"},this.getEmptyMessage())))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],252:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./change-preview"),d=n(c),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return u["default"].createElement("div",{className:"username-history ui-preview"},u["default"].createElement("ul",{className:"list-group"},[0,1,2].map(function(e){return u["default"].createElement(d["default"],{hiddenOnMobile:e>0,key:e})})))}}]),t}(u["default"].Component);a["default"]=f},{"./change-preview":249,
-react:"react"}],253:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./change"),d=n(c),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"render",value:function(){return u["default"].createElement("div",{className:"username-history ui-ready"},u["default"].createElement("ul",{className:"list-group"},this.props.changes.map(function(e){return u["default"].createElement(d["default"],{change:e,key:e.id})})))}}]),t}(u["default"].Component);a["default"]=f},{"./change":250,react:"react"}],254:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./list-empty"),d=n(c),f=e("./list-ready"),p=n(f),m=e("./list-preview"),h=n(m),b=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"render",value:function(){return this.props.isLoaded?this.props.changes.length?u["default"].createElement(p["default"],{changes:this.props.changes}):u["default"].createElement(d["default"],{emptyMessage:this.props.emptyMessage}):u["default"].createElement(h["default"],null)}}]),t}(u["default"].Component);a["default"]=b},{"./list-empty":251,"./list-preview":252,"./list-ready":253,react:"react"}],255:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.showStatus,a=e.user,n=a.rank,r="panel user-card";return n.css_class&&(r+=" user-card-"+n.css_class),o["default"].createElement("div",{className:r},o["default"].createElement("div",{className:"panel-body"},o["default"].createElement("div",{className:"row"},o["default"].createElement("div",{className:"col-xs-3 user-card-left"},o["default"].createElement("div",{className:"user-card-small-avatar"},o["default"].createElement("a",{href:a.url},o["default"].createElement(s["default"],{size:"50",size2x:"80",user:a})))),o["default"].createElement("div",{className:"col-xs-9 col-sm-12 user-card-body"},o["default"].createElement("div",{className:"user-card-avatar"},o["default"].createElement("a",{href:a.url},o["default"].createElement(s["default"],{size:"150",size2x:"200",user:a}))),o["default"].createElement("div",{className:"user-card-username"},o["default"].createElement("a",{href:a.url},a.username)),o["default"].createElement("div",{className:"user-card-title"},o["default"].createElement(d["default"],{rank:n,title:a.title})),o["default"].createElement("div",{className:"user-card-stats"},o["default"].createElement(u["default"],{showStatus:t,user:a}))))))};var r=e("react"),o=n(r),l=e("../../avatar"),s=n(l),i=e("./stats"),u=n(i),c=e("./user-title"),d=n(c)},{"../../avatar":3,"./stats":256,"./user-title":257,react:"react"}],256:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.showStatus,a=e.user;return t?d["default"].createElement("li",{className:"user-stat-status"},d["default"].createElement(p["default"],{status:a.status},d["default"].createElement(f.StatusLabel,{status:a.status,user:a}))):null}function o(e){var t=e.user,a=t.joined_on,n=interpolate(gettext("Joined on %(joined_on)s"),{joined_on:a.format("LL, LT")},!0),r=interpolate(gettext("Joined %(joined_on)s"),{joined_on:a.fromNow()},!0);return d["default"].createElement("li",{className:"user-stat-join-date"},d["default"].createElement("abbr",{title:n},r))}function l(e){var t=e.user,a=u("user-stat-posts",t.posts),n=ngettext("%(posts)s post","%(posts)s posts",t.posts);return d["default"].createElement("li",{className:a},interpolate(n,{posts:t.posts},!0))}function s(e){var t=e.user,a=u("user-stat-threads",t.threads),n=ngettext("%(threads)s thread","%(threads)s threads",t.threads);return d["default"].createElement("li",{className:a},interpolate(n,{threads:t.threads},!0))}function i(e){var t=e.user,a=u("user-stat-followers",t.followers),n=ngettext("%(followers)s follower","%(followers)s followers",t.followers);return d["default"].createElement("li",{className:a},interpolate(n,{followers:t.followers},!0))}function u(e,t){return 0===t?e+" user-stat-empty":e}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.showStatus,a=e.user;return d["default"].createElement("ul",{className:"list-unstyled"},d["default"].createElement(r,{showStatus:t,user:a}),d["default"].createElement(o,{user:a}),d["default"].createElement("li",{className:"user-stat-divider"}),d["default"].createElement(l,{user:a}),d["default"].createElement(s,{user:a}),d["default"].createElement(i,{user:a}))},a.Status=r,a.JoinDate=o,a.Posts=l,a.Threads=s,a.Followers=i,a.getStatClassName=u;var c=e("react"),d=n(c),f=e("../../user-status"),p=n(f)},{"../../user-status":248,react:"react"}],257:[function(e,t,a){arguments[4][108][0].apply(a,arguments)},{dup:108,react:"react"}],258:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.cols,a=e.isReady,n=e.showStatus,r=e.users,l="col-xs-12 col-sm-4";return 4===t&&(l+=" col-md-3"),a?o["default"].createElement("div",{className:"users-cards-list ui-ready"},o["default"].createElement("div",{className:"row"},r.map(function(e){return o["default"].createElement("div",{className:l,key:e.id},o["default"].createElement(s["default"],{showStatus:n,user:e}))}))):o["default"].createElement(u["default"],{colClassName:l,cols:t})};var r=e("react"),o=n(r),l=e("./card"),s=n(l),i=e("./preview"),u=n(i)},{"./card":255,"./preview":260,react:"react"}],259:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../../avatar"),f=r(d),p=e("../../../utils/random"),m=n(p),h=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return c["default"].createElement("div",{className:"panel user-card user-card-preview"},c["default"].createElement("div",{className:"panel-body"},c["default"].createElement("div",{className:"row"},c["default"].createElement("div",{className:"col-xs-3 user-card-left"},c["default"].createElement("div",{className:"user-card-small-avatar"},c["default"].createElement("span",null,c["default"].createElement(f["default"],{size:"50",size2x:"80"})))),c["default"].createElement("div",{className:"col-xs-9 col-sm-12 user-card-body"},c["default"].createElement("div",{className:"user-card-avatar"},c["default"].createElement("span",null,c["default"].createElement(f["default"],{size:"150",size2x:"200"}))),c["default"].createElement("div",{className:"user-card-username"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](60,150)+"px"}}," ")),c["default"].createElement("div",{className:"user-card-title"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](60,150)+"px"}}," ")),c["default"].createElement("div",{className:"user-card-stats"},c["default"].createElement("ul",{className:"list-unstyled"},c["default"].createElement("li",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](30,70)+"px"}}," ")),c["default"].createElement("li",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](30,70)+"px"}}," ")),c["default"].createElement("li",{className:"user-stat-divider"}),c["default"].createElement("li",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](30,70)+"px"}}," ")),c["default"].createElement("li",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](30,70)+"px"}}," "))))))))}}]),t}(c["default"].Component);a["default"]=h},{"../../../utils/random":360,"../../avatar":3,react:"react"}],260:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.colClassName,a=e.cols,n=Array.apply(null,{length:a}).map(Number.call,Number);return o["default"].createElement("div",{className:"users-cards-list ui-preview"},o["default"].createElement("div",{className:"row"},n.map(function(e){var a=t;return 0!==e&&(a+=" hidden-xs"),3===e&&(a+=" hidden-sm"),o["default"].createElement("div",{className:a,key:e},o["default"].createElement(s["default"],null))})))};var r=e("react"),o=n(r),l=e("./card"),s=n(l)},{"./card":259,react:"react"}],261:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"getEmptyMessage",value:function(){return interpolate(gettext("No users have posted any new messages during last %(days)s days."),{days:this.props.trackedPeriod},!0)}},{key:"render",value:function(){return u["default"].createElement("div",{className:"active-posters-list"},u["default"].createElement("div",{className:"container"},u["default"].createElement("p",{className:"lead"},this.getEmptyMessage())))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],262:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../../avatar"),f=r(d),p=e("../../../utils/random"),m=n(p),h=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"getClassName",value:function(){return this.props.hiddenOnMobile?"list-group-item hidden-xs hidden-sm":"list-group-item"}},{key:"render",value:function(){return c["default"].createElement("li",{className:this.getClassName()},c["default"].createElement("div",{className:"rank-user-avatar"},c["default"].createElement("span",null,c["default"].createElement(f["default"],{size:"50"}))),c["default"].createElement("div",{className:"rank-user"},c["default"].createElement("div",{className:"user-name"},c["default"].createElement("span",{className:"item-title"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](30,80)+"px"}}," "))),c["default"].createElement("div",{className:"user-details"},c["default"].createElement("span",{className:"user-status"},c["default"].createElement("span",{className:"status-icon ui-preview-text"}," "),c["default"].createElement("span",{className:"status-label ui-preview-text hidden-xs hidden-sm",style:{width:m["int"](30,50)+"px"}}," ")),c["default"].createElement("span",{className:"rank-name"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](30,50)+"px"}}," ")),c["default"].createElement("span",{className:"user-title hidden-xs hidden-sm"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](30,50)+"px"}}," "))),c["default"].createElement("div",{className:"user-compact-stats visible-xs-block"},c["default"].createElement("span",{className:"rank-position"},c["default"].createElement("strong",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](20,30)+"px"}}," ")),c["default"].createElement("small",null,gettext("Rank"))),c["default"].createElement("span",{className:"rank-posts-counted"},c["default"].createElement("strong",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](20,30)+"px"}}," ")),c["default"].createElement("small",null,gettext("Ranked posts"))))),c["default"].createElement("div",{className:"rank-position hidden-xs"},c["default"].createElement("strong",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](20,30)+"px"}}," ")),c["default"].createElement("small",null,gettext("Rank"))),c["default"].createElement("div",{className:"rank-posts-counted hidden-xs"},c["default"].createElement("strong",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](20,30)+"px"}}," ")),c["default"].createElement("small",null,gettext("Ranked posts"))),c["default"].createElement("div",{className:"rank-posts-total hidden-xs"},c["default"].createElement("strong",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](20,30)+"px"}}," ")),c["default"].createElement("small",null,gettext("Total posts"))))}}]),t}(c["default"].Component);a["default"]=h},{"../../../utils/random":360,"../../avatar":3,react:"react"}],263:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("react-router"),f=e("../../avatar"),p=r(f),m=e("../../user-status"),h=r(m),b=e("../../../index"),v=r(b),y=e("../../../utils/random"),g=n(y),_=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"getClassName",value:function(){return this.props.rank.css_class?"list-group-item list-group-rank-"+this.props.rank.css_class:"list-group-item"}},{key:"getUserStatus",value:function(){return this.props.user.status?c["default"].createElement(h["default"],{user:this.props.user,status:this.props.user.status},c["default"].createElement(m.StatusIcon,{user:this.props.user,status:this.props.user.status}),c["default"].createElement(m.StatusLabel,{user:this.props.user,status:this.props.user.status,className:"status-label hidden-xs hidden-sm"})):c["default"].createElement("span",{className:"user-status"},c["default"].createElement("span",{className:"status-icon ui-preview-text"}," "),c["default"].createElement("span",{className:"status-label ui-preview-text hidden-xs hidden-sm",style:{width:g["int"](30,50)+"px"}}," "))}},{key:"getRankName",value:function(){if(!this.props.rank.is_tab)return c["default"].createElement("span",{className:"rank-name item-title"},this.props.rank.name);var e=v["default"].get("USERS_LIST_URL")+this.props.rank.slug+"/";return c["default"].createElement(d.Link,{to:e,className:"rank-name item-title"},this.props.rank.name)}},{key:"getUserTitle",value:function(){return this.props.user.title?c["default"].createElement("span",{className:"user-title hidden-xs hidden-sm"},this.props.user.title):null}},{key:"render",value:function(){return c["default"].createElement("li",{className:this.getClassName()},c["default"].createElement("div",{className:"rank-user-avatar"},c["default"].createElement("a",{href:this.props.user.url},c["default"].createElement(p["default"],{user:this.props.user,size:50,size2x:64}))),c["default"].createElement("div",{className:"rank-user"},c["default"].createElement("div",{className:"user-name"},c["default"].createElement("a",{href:this.props.user.url,className:"item-title"},this.props.user.username)),c["default"].createElement("div",{className:"user-details"},this.getUserStatus(),this.getRankName(),this.getUserTitle()),c["default"].createElement("div",{className:"user-compact-stats visible-xs-block"},c["default"].createElement("span",{className:"rank-position"},c["default"].createElement("strong",null,"#",this.props.counter),c["default"].createElement("small",null,gettext("Rank"))),c["default"].createElement("span",{className:"rank-posts-counted"},c["default"].createElement("strong",null,this.props.user.meta.score),c["default"].createElement("small",null,gettext("Ranked posts"))))),c["default"].createElement("div",{className:"rank-position hidden-xs"},c["default"].createElement("strong",null,"#",this.props.counter),c["default"].createElement("small",null,gettext("Rank"))),c["default"].createElement("div",{className:"rank-posts-counted hidden-xs"},c["default"].createElement("strong",null,this.props.user.meta.score),c["default"].createElement("small",null,gettext("Ranked posts"))),c["default"].createElement("div",{className:"rank-posts-total hidden-xs"},c["default"].createElement("strong",null,this.props.user.posts),c["default"].createElement("small",null,gettext("Total posts"))))}}]),t}(c["default"].Component);a["default"]=_},{"../../../index":276,"../../../utils/random":360,"../../avatar":3,"../../user-status":248,react:"react","react-router":"react-router"}],264:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("./list-item-preview"),f=r(d),p=e("../../../utils/random"),m=n(p),h=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return c["default"].createElement("div",{className:"active-posters-list"},c["default"].createElement("div",{className:"container"},c["default"].createElement("p",{className:"lead ui-preview"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](50,220)+"px"}}," ")),c["default"].createElement("div",{className:"active-posters ui-preview"},c["default"].createElement("ul",{className:"list-group"},[0,1,2].map(function(e){return c["default"].createElement(f["default"],{hiddenOnMobile:e>0,key:e})})))))}}]),t}(c["default"].Component);a["default"]=h},{"../../../utils/random":360,"./list-item-preview":262,react:"react"}],265:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./list-item"),d=n(c),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"getLeadMessage",value:function(){var e=ngettext("%(posters)s most active poster from last %(days)s days.","%(posters)s most active posters from last %(days)s days.",this.props.count);return interpolate(e,{posters:this.props.count,days:this.props.trackedPeriod},!0)}},{key:"render",value:function(){return u["default"].createElement("div",{className:"active-posters-list"},u["default"].createElement("div",{className:"container"},u["default"].createElement("p",{className:"lead"},this.getLeadMessage()),u["default"].createElement("div",{className:"active-posters ui-ready"},u["default"].createElement("ul",{className:"list-group"},this.props.users.map(function(e,t){return u["default"].createElement(d["default"],{user:e,rank:e.rank,counter:t+1,key:e.id})})))))}}]),t}(u["default"].Component);a["default"]=f},{"./list-item":263,react:"react"}],266:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./list-empty"),d=n(c),f=e("./list-preview"),p=n(f),m=e("./list-ready"),h=n(m),b=e("../../../index"),v=n(b),y=e("../../../reducers/users"),g=e("../../../services/polls"),_=n(g),E=e("../../../services/store"),w=n(E),O=e("../../../services/page-title"),k=n(O),N=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.update=function(e){w["default"].dispatch((0,y.hydrate)(e.results)),a.setState({isLoaded:!0,trackedPeriod:e.tracked_period,count:e.count})},v["default"].has("USERS")?a.initWithPreloadedData(v["default"].pop("USERS")):a.initWithoutPreloadedData(),a.startPolling(),a}return l(t,e),s(t,[{key:"initWithPreloadedData",value:function(e){this.state={isLoaded:!0,trackedPeriod:e.tracked_period,count:e.count},w["default"].dispatch((0,y.hydrate)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1}}},{key:"startPolling",value:function(){_["default"].start({poll:"active-posters",url:v["default"].get("USERS_API"),data:{list:"active"},frequency:9e4,update:this.update})}},{key:"componentDidMount",value:function(){k["default"].set({title:this.props.route.extra.name,parent:gettext("Users")})}},{key:"componentWillUnmount",value:function(){_["default"].stop("active-posters")}},{key:"render",value:function(){return this.state.isLoaded?this.state.count>0?u["default"].createElement(h["default"],{users:this.props.users,trackedPeriod:this.state.trackedPeriod,count:this.state.count}):u["default"].createElement(d["default"],{trackedPeriod:this.state.trackedPeriod}):u["default"].createElement(p["default"],null)}}]),t}(u["default"].Component);a["default"]=N},{"../../../index":276,"../../../reducers/users":336,"../../../services/page-title":345,"../../../services/polls":346,"../../../services/store":349,"./list-empty":261,"./list-preview":264,"./list-ready":265,react:"react"}],267:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.baseUrl,a=e.lists;return o["default"].createElement("ul",{className:"nav nav-pills"},a.map(function(e){var a=c(t,e);return o["default"].createElement(i["default"],{path:a,key:a},o["default"].createElement(l.Link,{to:a},e.name))}))};var r=e("react"),o=n(r),l=e("react-router"),s=e("../li"),i=n(s),u=e("../../index"),c=(n(u),function(e,t){var a=e;return a+="rank"===t.component?t.slug:t.component,a+"/"})},{"../../index":276,"../li":53,react:"react","react-router":"react-router"}],268:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../../users-list"),d=n(c),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return u["default"].createElement("div",null,u["default"].createElement(d["default"],{cols:4,isReady:!1}))}}]),t}(u["default"].Component);a["default"]=f},{"../../users-list":258,react:"react"}],269:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("div",null,o["default"].createElement(u["default"],{cols:4,isReady:!0,showStatus:!0,users:e.users}),o["default"].createElement(s["default"],e))};var r=e("react"),o=n(r),l=e("./pager"),s=n(l),i=e("../../users-list"),u=n(i)},{"../../users-list":258,"./pager":270,react:"react"}],270:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return d["default"].createElement("div",{className:"row row-paginator"},d["default"].createElement("div",{className:"col-xs-3"},d["default"].createElement(o,e)),d["default"].createElement("div",{className:"col-xs-3"},d["default"].createElement(l,e)),d["default"].createElement("div",{className:"col-xs-3"},d["default"].createElement(s,e)),d["default"].createElement("div",{className:"col-xs-3"},d["default"].createElement(i,e)))}function o(e){return e.isLoaded&&e.first?d["default"].createElement(f.Link,{
-className:"btn btn-default btn-block btn-icon btn-outline",onClick:m["default"],to:e.baseUrl,title:gettext("Go to first page")},d["default"].createElement("span",{className:"material-icon"},"first_page")):d["default"].createElement("span",{className:"btn btn-default btn-block btn-icon btn-outline disabled",title:gettext("Go to first page")},d["default"].createElement("span",{className:"material-icon"},"first_page"))}function l(e){if(e.isLoaded&&e.page>1){var t="";return e.previous&&(t=e.previous+"/"),d["default"].createElement(f.Link,{className:"btn btn-default btn-block btn-icon btn-outline",onClick:m["default"],to:e.baseUrl+t,title:gettext("Go to previous page")},d["default"].createElement("span",{className:"material-icon"},"chevron_left"))}return d["default"].createElement("span",{className:"btn btn-default btn-block btn-icon btn-outline disabled",title:gettext("Go to previous page")},d["default"].createElement("span",{className:"material-icon"},"chevron_left"))}function s(e){if(e.isLoaded&&e.more){var t="";return e.next&&(t=e.next+"/"),d["default"].createElement(f.Link,{className:"btn btn-default btn-block btn-icon btn-outline",onClick:m["default"],to:e.baseUrl+t,title:gettext("Go to next page")},d["default"].createElement("span",{className:"material-icon"},"chevron_right"))}return d["default"].createElement("span",{className:"btn btn-default btn-block btn-icon btn-outline disabled",title:gettext("Go to next page")},d["default"].createElement("span",{className:"material-icon"},"chevron_right"))}function i(e){return e.isLoaded&&e.last?d["default"].createElement(f.Link,{className:"btn btn-default btn-block btn-icon btn-outline",onClick:m["default"],to:e.baseUrl+e.last+"/",title:gettext("Go to last page")},d["default"].createElement("span",{className:"material-icon"},"last_page")):d["default"].createElement("span",{className:"btn btn-default btn-block btn-icon btn-outline disabled",title:gettext("Go to last page")},d["default"].createElement("span",{className:"material-icon"},"last_page"))}function u(e){var t=null;return e.more?(t=ngettext("There is %(more)s more member with this role.","There are %(more)s more members with this role.",e.more),t=interpolate(t,{more:e.more},!0)):t=gettext("There are no more members with this role."),d["default"].createElement("p",null,t)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return 1===e.pages?null:d["default"].createElement("div",{className:"row row-toolbar"},d["default"].createElement("div",{className:"col-xs-12 text-center visible-xs-block"},d["default"].createElement(u,{more:e.more}),d["default"].createElement("div",{className:"toolbar-vertical-spacer"})),d["default"].createElement("div",{className:"col-md-7"},d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-sm-4 col-md-5"},d["default"].createElement(r,e)),d["default"].createElement("div",{className:"col-sm-8 col-md-7 hidden-xs"},d["default"].createElement(u,{more:e.more})))))},a.Pager=r,a.FirstPage=o,a.PreviousPage=l,a.NextPage=s,a.LastPage=i,a.More=u;var c=e("react"),d=n(c),f=e("react-router"),p=e("../../../utils/reset-scroll"),m=n(p)},{"../../../utils/reset-scroll":361,react:"react","react-router":"react-router"}],271:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=n(u),d=e("../../page-lead"),f=n(d),p=e("./list"),m=n(p),h=e("./list-loading"),b=n(h),v=e("../../../index"),y=n(v),g=e("../../../reducers/users"),_=e("../../../services/polls"),E=n(_),w=e("../../../services/store"),O=n(w),k=e("../../../services/page-title"),N=n(k),x=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.update=function(e){O["default"].dispatch((0,g.hydrate)(e.results)),e.isLoaded=!0,a.setState(e)},y["default"].has("USERS")?a.initWithPreloadedData(y["default"].pop("USERS")):a.initWithoutPreloadedData(),a.startPolling(e.params.page||1),a}return l(t,e),i(t,[{key:"initWithPreloadedData",value:function(e){this.state=Object.assign(e,{isLoaded:!0}),O["default"].dispatch((0,g.hydrate)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1}}},{key:"startPolling",value:function(e){E["default"].start({poll:"rank-users",url:y["default"].get("USERS_API"),data:{rank:this.props.route.rank.id,page:e},frequency:9e4,update:this.update})}},{key:"componentDidMount",value:function(){N["default"].set({title:this.props.route.rank.name,page:this.props.params.page||null,parent:gettext("Users")})}},{key:"componentWillUnmount",value:function(){E["default"].stop("rank-users")}},{key:"componentWillReceiveProps",value:function(e){this.props.params.page!==e.params.page&&(N["default"].set({title:this.props.route.rank.name,page:e.params.page||null,parent:gettext("Users")}),this.setState({isLoaded:!1}),E["default"].stop("rank-users"),this.startPolling(e.params.page))}},{key:"getClassName",value:function(){return this.props.route.rank.css_class?"rank-users-list rank-users-"+this.props.route.rank.css_class:"rank-users-list"}},{key:"getRankDescription",value:function(){return this.props.route.rank.description?c["default"].createElement("div",{className:"rank-description"},c["default"].createElement(f["default"],{copy:this.props.route.rank.description.html})):null}},{key:"getComponent",value:function(){if(this.state.isLoaded){if(this.state.count>0){var e=y["default"].get("USERS_LIST_URL")+this.props.route.rank.slug+"/";return c["default"].createElement(m["default"],s({baseUrl:e,users:this.props.users},this.state))}return c["default"].createElement("p",{className:"lead"},gettext("There are no users with this rank at the moment."))}return c["default"].createElement(b["default"],null)}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName()},c["default"].createElement("div",{className:"container"},this.getRankDescription(),this.getComponent()))}}]),t}(c["default"].Component);a["default"]=x},{"../../../index":276,"../../../reducers/users":336,"../../../services/page-title":345,"../../../services/polls":346,"../../../services/store":349,"../../page-lead":70,"./list":269,"./list-loading":268,react:"react"}],272:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return{tick:e.tick.tick,user:e.auth.user,users:e.users}}function i(){var e=[];return O["default"].get("USERS_LISTS").forEach(function(t){"rank"===t.component?(e.push({path:O["default"].get("USERS_LIST_URL")+t.slug+"/:page/",component:(0,f.connect)(s)(g["default"]),rank:t}),e.push({path:O["default"].get("USERS_LIST_URL")+t.slug+"/",component:(0,f.connect)(s)(g["default"]),rank:t})):"active-posters"===t.component&&e.push({path:O["default"].get("USERS_LIST_URL")+t.component+"/",component:(0,f.connect)(s)(v["default"]),extra:{name:t.name}})}),e}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.select=s,a.paths=i;var c=e("react"),d=n(c),f=e("react-redux"),p=e("../dropdown-toggle"),m=(n(p),e("./nav")),h=n(m),b=e("./active-posters/root"),v=n(b),y=e("./rank/root"),g=n(y),_=e("../with-dropdown"),E=n(_),w=e("../../index"),O=n(w),k=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),u(t,[{key:"render",value:function(){return d["default"].createElement("div",{className:"page page-users-lists"},d["default"].createElement("div",{className:"page-header-bg"},d["default"].createElement("div",{className:"page-header"},d["default"].createElement("div",{className:"container"},d["default"].createElement("h1",null,gettext("Users"))),d["default"].createElement("div",{className:"page-tabs"},d["default"].createElement("div",{className:"container"},d["default"].createElement(h["default"],{lists:O["default"].get("USERS_LISTS"),baseUrl:O["default"].get("USERS_LIST_URL")}))))),this.props.children)}}]),t}(E["default"]);a["default"]=k},{"../../index":276,"../dropdown-toggle":24,"../with-dropdown":273,"./active-posters/root":266,"./nav":267,"./rank/root":271,react:"react","react-redux":"react-redux"}],273:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.toggleNav=function(){a.setState({dropdown:!a.state.dropdown})},a.hideNav=function(){a.setState({dropdown:!1})},a.state={dropdown:!1},a}return l(t,e),s(t,[{key:"getCompactNavClassName",value:function(){return this.state.dropdown?"compact-nav open":"compact-nav"}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],274:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=function(e){function t(){var e,a,n,l;r(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.toggle=function(){n.props.onChange({target:{value:!n.props.value}})},l=a,o(n,l)}return l(t,e),s(t,[{key:"getClassName",value:function(){return this.props.value?"btn btn-yes-no btn-yes-no-on":"btn btn-yes-no btn-yes-no-off"}},{key:"getIcon",value:function(){return this.props.value?this.props.iconOn||"check_box":this.props.iconOff||"check_box_outline_blank"}},{key:"getLabel",value:function(){return this.props.value?this.props.labelOn||gettext("yes"):this.props.labelOff||gettext("no")}},{key:"render",value:function(){return u["default"].createElement("button",{type:"button",onClick:this.toggle,className:this.getClassName(),id:this.props.id||null,"aria-describedby":this.props["aria-describedby"]||null,disabled:this.props.disabled||!1},u["default"].createElement("span",{className:"material-icon"},this.getIcon()),u["default"].createElement("span",{className:"btn-text"},this.getLabel()))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],275:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../reducers/profile-details"),d=e("../services/ajax"),f=n(d),p=e("../services/snackbar"),m=n(p),h=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"componentDidMount",value:function(){var e=this.props,t=e.data,a=e.dispatch,n=e.user;t&&t.id===n.id||f["default"].get(this.props.user.api.details).then(function(e){a((0,c.load)(e))},function(e){m["default"].apiError(e)})}},{key:"render",value:function(){return this.props.children}}]),t}(u["default"].Component);a["default"]=h},{"../reducers/profile-details":327,"../services/ajax":337,"../services/snackbar":348,react:"react"}],276:[function(e,t,a){(function(t){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0}),a.Misago=void 0;var o=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),l=e("./utils/ordered-list"),s=n(l),i=a.Misago=function(){function e(){r(this,e),this._initializers=[],this._context={}}return o(e,[{key:"addInitializer",value:function(e){this._initializers.push({key:e.name,item:e.initializer,after:e.after,before:e.before})}},{key:"init",value:function(e){var t=this;this._context=e;var a=new s["default"](this._initializers).orderedValues();a.forEach(function(e){e(t)})}},{key:"has",value:function(e){return!!this._context[e]}},{key:"get",value:function(e,t){return this.has(e)?this._context[e]:t||void 0}},{key:"pop",value:function(e){if(this.has(e)){var t=this._context[e];return this._context[e]=null,t}}}]),e}(),u=new i;t.misago=u,a["default"]=u}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./utils/ordered-list":359}],277:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){i["default"].init(l["default"].get("CSRF_COOKIE_NAME"))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../services/ajax"),i=n(s);l["default"].addInitializer({name:"ajax",initializer:r})},{"../index":276,"../services/ajax":337}],278:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.get("isAuthenticated")&&window.setInterval(function(){u["default"].get(e.get("AUTH_API")).then(function(e){p["default"].dispatch((0,s.patch)(e))},function(e){d["default"].apiError(e)})},1e3*m)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../reducers/auth"),i=e("../services/ajax"),u=n(i),c=e("../services/snackbar"),d=n(c),f=e("../services/store"),p=n(f),m=45;l["default"].addInitializer({name:"auth-sync",initializer:r,after:"auth"})},{"../index":276,"../reducers/auth":322,"../services/ajax":337,"../services/snackbar":348,"../services/store":349}],279:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){i["default"].init(f["default"],m["default"],c["default"])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../services/auth"),i=n(s),u=e("../services/modal"),c=n(u),d=e("../services/store"),f=n(d),p=e("../services/local-storage"),m=n(p);l["default"].addInitializer({name:"auth",initializer:r,after:"store"})},{"../index":276,"../services/auth":338,"../services/local-storage":341,"../services/modal":343,"../services/store":349}],280:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){c["default"].init(e,i["default"],f["default"],m["default"])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../services/ajax"),i=n(s),u=e("../services/captcha"),c=n(u),d=e("../services/include"),f=n(d),p=e("../services/snackbar"),m=n(p);l["default"].addInitializer({name:"captcha",initializer:r})},{"../index":276,"../services/ajax":337,"../services/captcha":339,"../services/include":340,"../services/snackbar":348}],281:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){(0,d["default"])((0,o.connect)(i.select)(u["default"]),"auth-message-mount")}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("react-redux"),l=e("../../index"),s=n(l),i=e("../../components/auth-message"),u=n(i),c=e("../../utils/mount-component"),d=n(c);s["default"].addInitializer({name:"component:auth-message",initializer:r,after:"store"})},{"../../components/auth-message":2,"../../index":276,"../../utils/mount-component":358,"react-redux":"react-redux"}],282:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.has("BAN_MESSAGE")&&(0,i["default"])(e.get("BAN_MESSAGE"),!1)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../utils/banned-page"),i=n(s);l["default"].addInitializer({name:"component:banmed-page",initializer:r,after:"store"})},{"../../index":276,"../../utils/banned-page":351}],283:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){document.getElementById("categories-mount")&&(0,d["default"])((0,o.connect)(l.select)(s["default"]),"categories-mount")}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("react-redux"),l=e("../../components/categories"),s=n(l),i=e("../../index"),u=n(i),c=e("../../utils/mount-component"),d=n(c);u["default"].addInitializer({name:"component:categories",initializer:r,after:"store"})},{"../../components/categories":17,"../../index":276,"../../utils/mount-component":358,"react-redux":"react-redux"}],284:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.has("USER_OPTIONS")&&(0,c["default"])({root:i["default"].get("USERCP_URL"),component:l["default"],paths:(0,o.paths)()})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../components/options/root"),l=n(o),s=e("../../index"),i=n(s),u=e("../../utils/routed-component"),c=n(u);i["default"].addInitializer({name:"component:options",initializer:r,after:"store"})},{"../../components/options/root":66,"../../index":276,"../../utils/routed-component":362}],285:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.has("PROFILE")&&e.has("PROFILE_PAGES")&&(0,d["default"])({root:u["default"].get("PROFILE").url,component:(0,o.connect)(l.select)(s["default"]),paths:(0,l.paths)()})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("react-redux"),l=e("../../components/profile/root"),s=n(l),i=e("../../index"),u=n(i),c=e("../../utils/routed-component"),d=n(c);u["default"].addInitializer({name:"component:profile",initializer:r,after:"reducer:profile-hydrate"})},{"../../components/profile/root":173,"../../index":276,"../../utils/routed-component":362,"react-redux":"react-redux"}],286:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){document.getElementById("request-activation-link-mount")&&(0,c["default"])(i["default"],"request-activation-link-mount",!1)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../components/request-activation-link"),i=n(s),u=e("../../utils/mount-component"),c=n(u);l["default"].addInitializer({name:"component:request-activation-link",initializer:r,after:"store"})},{"../../components/request-activation-link":178,"../../index":276,"../../utils/mount-component":358}],287:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){document.getElementById("request-password-reset-mount")&&(0,c["default"])(i["default"],"request-password-reset-mount",!1)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../components/request-password-reset"),i=n(s),u=e("../../utils/mount-component"),c=n(u);l["default"].addInitializer({name:"component:request-password-reset",initializer:r,after:"store"})},{"../../components/request-password-reset":179,"../../index":276,"../../utils/mount-component":358}],288:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){document.getElementById("reset-password-form-mount")&&(0,c["default"])(i["default"],"reset-password-form-mount",!1)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../.."),l=n(o),s=e("../../components/reset-password-form"),i=n(s),u=e("../../utils/mount-component"),c=n(u);l["default"].addInitializer({name:"component:reset-password-form",initializer:r,after:"store"})},{"../..":276,"../../components/reset-password-form":180,"../../utils/mount-component":358}],289:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){"misago:search"===e.get("CURRENT_LINK")&&(0,c["default"])({paths:(0,l["default"])(i["default"].get("SEARCH_PROVIDERS"))})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../components/search"),l=n(o),s=e("../.."),i=n(s),u=e("../../utils/routed-component"),c=n(u);i["default"].addInitializer({name:"component:search",initializer:r,after:"store"})},{"../..":276,"../../components/search":182,"../../utils/routed-component":362}],290:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){(0,c["default"])((0,o.connect)(i.select)(i.Snackbar),"snackbar-mount")}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("react-redux"),l=e("../../index"),s=n(l),i=e("../../components/snackbar"),u=e("../../utils/mount-component"),c=n(u);s["default"].addInitializer({name:"component:snackbar",initializer:r,after:"snackbar"})},{"../../components/snackbar":190,"../../index":276,"../../utils/mount-component":358,"react-redux":"react-redux"}],291:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.has("THREAD")&&e.has("POSTS")&&(0,u["default"])({paths:(0,o.paths)()})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../components/thread/root"),l=e("../../index"),s=n(l),i=e("../../utils/routed-component"),u=n(i);s["default"].addInitializer({name:"component:thread",initializer:r,after:"store"})},{"../../components/thread/root":207,"../../index":276,"../../utils/routed-component":362}],292:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.has("THREADS")&&e.has("CATEGORIES")&&(0,c["default"])({paths:(0,l.paths)(e.get("user"),o(e))})}function o(e){var t=e.get("CURRENT_LINK");return t.substr(0,d.length)===d?{api:e.get("PRIVATE_THREADS_API"),startThread:{mode:"START_PRIVATE",submit:i["default"].get("PRIVATE_THREADS_API")},title:gettext("Private threads"),pageLead:gettext("Private threads are threads which only those that started them and those they have invited may see and participate in."),emptyMessage:gettext("You aren't participating in any private threads.")}:{api:e.get("THREADS_API")}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r,a.getListOptions=o;var l=e("../../components/threads/root"),s=e("../../index"),i=n(s),u=e("../../utils/routed-component"),c=n(u),d="misago:private-threads";i["default"].addInitializer({name:"component:threads",initializer:r,after:"store"})},{"../../components/threads/root":241,"../../index":276,"../../utils/routed-component":362}],293:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){(0,c["default"])((0,o.connect)(i.select)(i.UserMenu),"user-menu-mount"),(0,c["default"])((0,o.connect)(i.select)(i.CompactUserMenu),"user-menu-compact-mount")}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("react-redux"),l=e("../../index"),s=n(l),i=e("../../components/user-menu/root"),u=e("../../utils/mount-component"),c=n(u);s["default"].addInitializer({name:"component:user-menu",initializer:r,after:"store"})},{"../../components/user-menu/root":246,"../../index":276,"../../utils/mount-component":358,"react-redux":"react-redux"}],294:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.has("USERS_LISTS")&&(0,c["default"])({root:i["default"].get("USERS_LIST_URL"),component:l["default"],paths:(0,o.paths)()})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../components/users/root"),l=n(o),s=e("../../index"),i=n(s),u=e("../../utils/routed-component"),c=n(u);i["default"].addInitializer({name:"component:users",initializer:r,after:"store"})},{"../../components/users/root":272,"../../index":276,"../../utils/routed-component":362}],295:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){i["default"].init(e.get("STATIC_URL"))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../services/include"),i=n(s);l["default"].addInitializer({name:"include",initializer:r})},{"../index":276,"../services/include":340}],296:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){i["default"].init("misago_")}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../services/local-storage"),i=n(s);l["default"].addInitializer({name:"local-storage",initializer:r})},{"../index":276,"../services/local-storage":341}],297:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=document.getElementById("mobile-navbar-dropdown-mount");e&&i["default"].init(e)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../services/mobile-navbar-dropdown"),i=n(s);l["default"].addInitializer({name:"dropdown",initializer:r,before:"store"})},{"../index":276,"../services/mobile-navbar-dropdown":342}],298:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=document.getElementById("modal-mount");e&&i["default"].init(e)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../services/modal"),i=n(s);l["default"].addInitializer({name:"modal",initializer:r,before:"store"})},{"../index":276,"../services/modal":343}],299:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){l["default"].locale($("html").attr("lang"))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("moment"),l=n(o),s=e("../index"),i=n(s);i["default"].addInitializer({name:"moment",initializer:r})},{"../index":276,moment:"moment"}],300:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){i["default"].init(e.get("SETTINGS").forum_index_title,e.get("SETTINGS").forum_name)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../services/page-title"),i=n(s);l["default"].addInitializer({name:"page-title",initializer:r})},{"../index":276,"../services/page-title":345}],301:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){f["default"].init(i["default"],c["default"])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../services/ajax"),i=n(s),u=e("../services/snackbar"),c=n(u),d=e("../services/polls"),f=n(d);l["default"].addInitializer({name:"polls",initializer:r})},{"../index":276,"../services/ajax":337,"../services/polls":346,"../services/snackbar":348}],302:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].init(i["default"],f["default"],document.getElementById("posting-placeholder"))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../services/ajax"),i=n(s),u=e("../services/posting"),c=n(u),d=e("../services/snackbar"),f=n(d);l["default"].addInitializer({name:"posting",initializer:r})},{"../index":276,"../services/ajax":337,"../services/posting":347,"../services/snackbar":348}],303:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){c["default"].addReducer("auth",i["default"],Object.assign({isAuthenticated:e.get("isAuthenticated"),isAnonymous:!e.get("isAuthenticated"),user:e.get("user")},s.initialState))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/auth"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:auth",initializer:r,before:"store"})},{"../../index":276,"../../reducers/auth":322,"../../services/store":349}],304:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=null;l["default"].has("THREAD")&&(e=l["default"].get("THREAD").participants),c["default"].addReducer("participants",i["default"],e||[])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/participants"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:participants",initializer:r,before:"store"})},{"../../index":276,"../../reducers/participants":323,"../../services/store":349}],305:[function(e,t,a){"use strict";
-function n(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=null;e=l["default"].has("THREAD")&&l["default"].get("THREAD").poll?(0,s.hydrate)(l["default"].get("THREAD").poll):{isBusy:!1},c["default"].addReducer("poll",i["default"],e)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/poll"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:poll",initializer:r,before:"store"})},{"../../index":276,"../../reducers/poll":324,"../../services/store":349}],306:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=null;e=l["default"].has("POSTS")?(0,s.hydrate)(l["default"].get("POSTS")):{isLoaded:!1,isBusy:!1},c["default"].addReducer("posts",i["default"],e)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/posts"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:posts",initializer:r,before:"store"})},{"../../index":276,"../../reducers/posts":326,"../../services/store":349}],307:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=null;l["default"].has("PROFILE_DETAILS")&&(e=l["default"].get("PROFILE_DETAILS")),c["default"].addReducer("profile-details",i["default"],e||{})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/profile-details"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:profile-details",initializer:r,before:"store"})},{"../../index":276,"../../reducers/profile-details":327,"../../services/store":349}],308:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){l["default"].has("PROFILE")&&u["default"].dispatch((0,s.hydrate)(l["default"].get("PROFILE")))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/profile"),i=e("../../services/store"),u=n(i);l["default"].addInitializer({name:"reducer:profile-hydrate",initializer:r,after:"store"})},{"../../index":276,"../../reducers/profile":328,"../../services/store":349}],309:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("profile",i["default"],{})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/profile"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:profile",initializer:r,before:"store"})},{"../../index":276,"../../reducers/profile":328,"../../services/store":349}],310:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("search",i["default"],Object.assign({},s.initialState,{providers:l["default"].get("SEARCH_PROVIDERS")||[]}))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../.."),l=n(o),s=e("../../reducers/search"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:search",initializer:r,before:"store"})},{"../..":276,"../../reducers/search":329,"../../services/store":349}],311:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("selection",i["default"],[])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/selection"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:selection",initializer:r,before:"store"})},{"../../index":276,"../../reducers/selection":330,"../../services/store":349}],312:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("snackbar",i["default"],s.initialState)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/snackbar"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:snackbar",initializer:r,before:"store"})},{"../../index":276,"../../reducers/snackbar":331,"../../services/store":349}],313:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=null;e=l["default"].has("THREAD")?(0,s.hydrate)(l["default"].get("THREAD")):{isBusy:!1},c["default"].addReducer("thread",i["default"],e)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/thread"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:thread",initializer:r,before:"store"})},{"../../index":276,"../../reducers/thread":332,"../../services/store":349}],314:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("threads",i["default"],[])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/threads"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:threads",initializer:r,before:"store"})},{"../../index":276,"../../reducers/threads":333,"../../services/store":349}],315:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("tick",i["default"],s.initialState)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/tick"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:tick",initializer:r,before:"store"})},{"../../index":276,"../../reducers/tick":334,"../../services/store":349}],316:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("username-history",i["default"],[])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/username-history"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:username-history",initializer:r,before:"store"})},{"../../index":276,"../../reducers/username-history":335,"../../services/store":349}],317:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("users",i["default"],[])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/users"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:users",initializer:r,before:"store"})},{"../../index":276,"../../reducers/users":336,"../../services/store":349}],318:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){i["default"].init(c["default"])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../services/snackbar"),i=n(s),u=e("../services/store"),c=n(u);l["default"].addInitializer({name:"snackbar",initializer:r,after:"store"})},{"../index":276,"../services/snackbar":348,"../services/store":349}],319:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){i["default"].init()}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../services/store"),i=n(s);l["default"].addInitializer({name:"store",initializer:r,before:"_end"})},{"../index":276,"../services/store":349}],320:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){window.setInterval(function(){u["default"].dispatch((0,s.doTick)())},c)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../reducers/tick"),i=e("../services/store"),u=n(i),c=5e4;l["default"].addInitializer({name:"tick-start",initializer:r,after:"store"})},{"../index":276,"../reducers/tick":334,"../services/store":349}],321:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].init(i["default"])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../services/include"),i=n(s),u=e("../services/zxcvbn"),c=n(u);l["default"].addInitializer({name:"zxcvbn",initializer:r})},{"../index":276,"../services/include":340,"../services/zxcvbn":350}],322:[function(e,t,a){"use strict";function n(e){return{type:u,patch:e}}function r(e){return{type:c,user:e}}function o(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return{type:d,soft:e}}function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case u:var a=Object.assign({},e);return a.user=Object.assign({},e.user,t.patch),a;case c:return Object.assign({},e,{signedIn:t.user});case d:return Object.assign({},e,{isAuthenticated:!1,isAnonymous:!0,signedOut:!t.soft});case s.UPDATE_AVATAR:if(e.isAuthenticated&&e.user.id===t.userId){var n=Object.assign({},e);return n.user=Object.assign({},e.user,{avatars:t.avatars}),n}return e;case s.UPDATE_USERNAME:if(e.isAuthenticated&&e.user.id===t.userId){var r=Object.assign({},e);return r.user=Object.assign({},e.user,{username:t.username,slug:t.slug}),r}return e;default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.SIGN_OUT=a.SIGN_IN=a.PATCH_USER=a.initialState=void 0,a.patch=n,a.signIn=r,a.signOut=o,a["default"]=l;var s=e("./users"),i=a.initialState={signedIn:!1,signedOut:!1},u=a.PATCH_USER="PATCH_USER",c=a.SIGN_IN="SIGN_IN",d=a.SIGN_OUT="SIGN_OUT"},{"./users":336}],323:[function(e,t,a){"use strict";function n(e){return{type:o,state:e}}function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case o:return t.state;default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.replace=n,a["default"]=r;var o=a.REPLACE_PARTICIPANTS="REPLACE_PARTICIPANTS"},{}],324:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=!1;for(var a in e.choices){var n=e.choices[a];if(n.selected){t=!0;break}}return Object.assign({},e,{posted_on:(0,f["default"])(e.posted_on),hasSelectedChoices:t,endsOn:e.length?(0,f["default"])(e.posted_on).add(e.length,"days"):null,isBusy:!1})}function o(){return{type:p}}function l(){return{type:m}}function s(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:b,state:t?e:r(e)}}function i(e){return{type:v,data:e}}function u(){return{type:h}}function c(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case p:return Object.assign({},e,{isBusy:!0});case m:return Object.assign({},e,{isBusy:!1});case h:return{isBusy:!1};case b:return t.state;case v:return Object.assign({},e,t.data);default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.UPDATE_POLL=a.REPLACE_POLL=a.REMOVE_POLL=a.RELEASE_POLL=a.BUSY_POLL=void 0,a.hydrate=r,a.busy=o,a.release=l,a.replace=s,a.update=i,a.remove=u,a["default"]=c;var d=e("moment"),f=n(d),p=a.BUSY_POLL="BUSY_POLL",m=a.RELEASE_POLL="RELEASE_POLL",h=a.REMOVE_POLL="REMOVE_POLL",b=a.REPLACE_POLL="REPLACE_POLL",v=a.UPDATE_POLL="UPDATE_POLL"},{moment:"moment"}],325:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return Object.assign({},e,{posted_on:(0,u["default"])(e.posted_on),updated_on:(0,u["default"])(e.updated_on),hidden_on:(0,u["default"])(e.hidden_on),attachments:e.attachments?e.attachments.map(o):null,poster:e.poster?(0,c.hydrateUser)(e.poster):null,isSelected:!1,isBusy:!1,isDeleted:!1})}function o(e){return Object.assign({},e,{uploaded_on:(0,u["default"])(e.uploaded_on)})}function l(e,t){return{type:d,post:e,patch:t}}function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case d:return e.id==t.post.id?Object.assign({},e,t.patch):e;default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.PATCH_POST=void 0,a.hydrate=r,a.hydrateAttachment=o,a.patch=l,a["default"]=s;var i=e("moment"),u=n(i),c=e("./users"),d=a.PATCH_POST="PATCH_POST"},{"./users":336,moment:"moment"}],326:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return{type:v,post:e}}function o(e){return{type:y,post:e}}function l(){return{type:g}}function s(e){return Object.assign({},e,{results:e.results.map(m.hydrate),isLoaded:!0,isBusy:!1,isSelected:!1})}function i(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:_,state:t?e:s(e)}}function u(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:b,state:t?e:s(e)}}function c(){return{type:E}}function d(e){return{type:w,update:e}}function f(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=function(){switch(t.type){case v:var a=e.results.map(function(e){return e.id==t.post.id?Object.assign({},e,{isSelected:!0}):e});return{v:Object.assign({},e,{results:a})};case y:var n=e.results.map(function(e){return e.id==t.post.id?Object.assign({},e,{isSelected:!1}):e});return{v:Object.assign({},e,{results:n})};case g:var r=e.results.map(function(e){return Object.assign({},e,{isSelected:!1})});return{v:Object.assign({},e,{results:r})};case b:var o=e.results.slice(),l=e.results.map(function(e){return e.id});return t.state.results.map(function(e){l.indexOf(e.id)===-1&&o.push(e)}),{v:Object.assign({},t.state,{results:o})};case _:return{v:t.state};case E:return{v:Object.assign({},e,{isLoaded:!1})};case w:return{v:Object.assign({},e,t.update)};case m.PATCH_POST:var s=e.results.map(function(e){return(0,h["default"])(e,t)});return{v:Object.assign({},e,{results:s})};default:return{v:e}}}();if("object"===("undefined"==typeof a?"undefined":p(a)))return a.v}Object.defineProperty(a,"__esModule",{value:!0}),a.UPDATE_POSTS=a.UNLOAD_POSTS=a.LOAD_POSTS=a.DESELECT_POSTS=a.DESELECT_POST=a.SELECT_POST=a.APPEND_POSTS=void 0;var p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};a.select=r,a.deselect=o,a.deselectAll=l,a.hydrate=s,a.load=i,a.append=u,a.unload=c,a.update=d,a["default"]=f;var m=e("./post"),h=n(m),b=a.APPEND_POSTS="APPEND_POSTS",v=a.SELECT_POST="SELECT_POST",y=a.DESELECT_POST="DESELECT_POST",g=a.DESELECT_POSTS="DESELECT_POSTS",_=a.LOAD_POSTS="LOAD_POSTS",E=a.UNLOAD_POSTS="UNLOAD_POSTS",w=a.UPDATE_POSTS="UPDATE_POSTS"},{"./post":325}],327:[function(e,t,a){"use strict";function n(e){return{type:o,newState:e}}function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case o:return t.newState;default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.load=n,a["default"]=r;var o=a.LOAD_DETAILS="LOAD_DETAILS"},{}],328:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return{type:c,profile:e}}function o(e){return{type:d,patch:e}}function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case c:return Object.assign({},t.profile,{joined_on:(0,i["default"])(t.profile.joined_on),status:(0,u.hydrateStatus)(t.profile.status)});case d:return Object.assign({},e,t.patch);case u.UPDATE_AVATAR:return e.id===t.userId?Object.assign({},e,{avatars:t.avatars}):e;case u.UPDATE_USERNAME:return e.id===t.userId?Object.assign({},e,{username:t.username,slug:t.slug}):e;default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.PATCH_PROFILE=a.HYDRATE_PROFILE=void 0,a.hydrate=r,a.patch=o,a["default"]=l;var s=e("moment"),i=n(s),u=e("./users"),c=a.HYDRATE_PROFILE="HYDRATE_PROFILE",d=a.PATCH_PROFILE="PATCH_PROFILE"},{"./users":336,moment:"moment"}],329:[function(e,t,a){"use strict";function n(e){return{type:s,state:{isLoading:!1,providers:e}}}function r(e){return{type:i,update:e}}function o(e){return{type:u,provider:e}}function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case s:return t.state;case i:return Object.assign({},e,t.update);case u:return Object.assign({},e,{providers:e.providers.map(function(e){return e.id===t.provider.id?t.provider:e})});default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.replace=n,a.update=r,a.updateProvider=o,a["default"]=l;var s=a.REPLACE_SEARCH="REPLACE_SEARCH",i=a.UPDATE_SEARCH="UPDATE_SEARCH",u=a.UPDATE_SEARCH_PROVIDER="UPDATE_SEARCH_PROVIDER";a.initialState={isLoading:!1,query:"",providers:[]}},{}],330:[function(e,t,a){"use strict";function n(e){return{type:i,items:e}}function r(){return{type:u}}function o(e){return{type:c,item:e}}function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case i:return t.items;case u:return[];case c:return(0,s.toggle)(e,t.item);default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.SELECT_ITEM=a.SELECT_NONE=a.SELECT_ALL=void 0,a.all=n,a.none=r,a.item=o,a["default"]=l;var s=e("../utils/sets"),i=a.SELECT_ALL="SELECT_ALL",u=a.SELECT_NONE="SELECT_NONE",c=a.SELECT_ITEM="SELECT_ITEM"},{"../utils/sets":363}],331:[function(e,t,a){"use strict";function n(e,t){return{type:s,message:e,messageType:t}}function r(){return{type:i}}function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return t.type===s?{type:t.messageType,message:t.message,isVisible:!0}:t.type===i?Object.assign({},e,{isVisible:!1}):e}Object.defineProperty(a,"__esModule",{value:!0}),a.showSnackbar=n,a.hideSnackbar=r,a["default"]=o;var l=a.initialState={type:"info",message:"",isVisible:!1},s=a.SHOW_SNACKBAR="SHOW_SNACKBAR",i=a.HIDE_SNACKBAR="HIDE_SNACKBAR"},{}],332:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return Object.assign({},e,{started_on:(0,f["default"])(e.started_on),last_post_on:(0,f["default"])(e.last_post_on),isBusy:!1})}function o(){return{type:m}}function l(){return{type:h}}function s(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:b,state:t?e:r(e)}}function i(e){return{type:v,data:e}}function u(e){return{type:y,data:e}}function c(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case m:return Object.assign({},e,{isBusy:!0});case h:return Object.assign({},e,{isBusy:!1});case p.REMOVE_POLL:return Object.assign({},e,{poll:null});case p.REPLACE_POLL:return Object.assign({},e,{poll:t.state});case b:return t.state;case v:return Object.assign({},e,t.data);case y:var a=Object.assign({},e.acl,t.data);return Object.assign({},e,{acl:a});default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.UPDATE_THREAD_ACL=a.UPDATE_THREAD=a.REPLACE_THREAD=a.RELEASE_THREAD=a.BUSY_THREAD=void 0,a.hydrate=r,a.busy=o,a.release=l,a.replace=s,a.update=i,a.updateAcl=u,a["default"]=c;var d=e("moment"),f=n(d),p=e("./poll"),m=a.BUSY_THREAD="BUSY_THREAD",h=a.RELEASE_THREAD="RELEASE_THREAD",b=a.REPLACE_THREAD="REPLACE_THREAD",v=a.UPDATE_THREAD="UPDATE_THREAD",y=a.UPDATE_THREAD_ACL="UPDATE_THREAD_ACL"},{"./poll":324,moment:"moment"}],333:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){return{type:y,items:e,sorting:t}}function o(e){return{type:g,thread:e}}function l(e,t){return{type:_,category:e,categoriesMap:t}}function s(e){return{type:E,items:e}}function i(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return{type:w,thread:e,patch:t,sorting:a}}function u(e,t){return{type:O,categoriesMap:e,category:t}}function c(e){return{type:k,sorting:e}}function d(e){var t=[];return N.forEach(function(a){e[a]&&t.push(a)}),t}function f(e){return Object.assign({},e,{started_on:(0,h["default"])(e.started_on),last_post_on:(0,h["default"])(e.last_post_on),moderation:d(e.acl)})}function p(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case y:var a=(0,v["default"])(t.items.map(f),e);return a.sort(t.sorting);case g:return e.filter(function(e){return e.id!==t.thread.id});case _:return e.filter(function(e){var a=t.categoriesMap[e.category];return a.lft>=t.category.lft&&a.rght<=t.category.rght||2==e.weight});case E:return t.items.map(f);case w:var n=e.map(function(e){return e.id===t.thread.id?Object.assign({},e,t.patch):e});return t.sorting?n.sort(t.sorting):n;case O:return e.map(function(e){var a=t.categoriesMap[e.category];return a.lft>=t.category.lft&&a.rght<=t.category.rght?Object.assign({},e,{is_read:!0}):e});case k:return e.sort(t.sorting);default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.MODERATION_PERMISSIONS=a.SORT_THREADS=a.READ_THREADS=a.PATCH_THREAD=a.HYDRATE_THREADS=a.FILTER_THREADS=a.DELETE_THREAD=a.APPEND_THREADS=void 0,a.append=r,a.deleteThread=o,a.filterThreads=l,a.hydrate=s,a.patch=i,a.read=u,a.sort=c,a.getThreadModerationOptions=d,a.hydrateThread=f,a["default"]=p;var m=e("moment"),h=n(m),b=e("../utils/concat-unique"),v=n(b),y=a.APPEND_THREADS="APPEND_THREADS",g=a.DELETE_THREAD="DELETE_THREAD",_=a.FILTER_THREADS="FILTER_THREADS",E=a.HYDRATE_THREADS="HYDRATE_THREADS",w=a.PATCH_THREAD="PATCH_THREAD",O=a.READ_THREADS="READ_THREADS",k=a.SORT_THREADS="SORT_THREADS",N=a.MODERATION_PERMISSIONS=["can_announce","can_approve","can_close","can_hide","can_move","can_merge","can_pin","can_review"]},{"../utils/concat-unique":353,moment:"moment"}],334:[function(e,t,a){"use strict";function n(){return{type:l}}function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return t.type===l?Object.assign({},e,{tick:e.tick+1}):e}Object.defineProperty(a,"__esModule",{value:!0}),a.doTick=n,a["default"]=r;var o=a.initialState={tick:0},l=a.TICK="TICK"},{}],335:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t,a){return{type:m,change:e,user:t,changedBy:a}}function o(e){return{type:h,items:e}}function l(e){return{type:b,items:e}}function s(e){return Object.assign({},e,{changed_on:(0,c["default"])(e.changed_on)})}function i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case m:var a=e.slice();return a.unshift({id:Math.floor(Date.now()/1e3),changed_by:t.changedBy,changed_by_username:t.changedBy.username,changed_on:(0,c["default"])(),new_username:t.change.username,old_username:t.user.username}),a;case h:return(0,p["default"])(e,t.items.map(s));case b:return t.items.map(s);case d.UPDATE_AVATAR:return e.map(function(e){return e=Object.assign({},e),e.changed_by&&e.changed_by.id===t.userId&&(e.changed_by=Object.assign({},e.changed_by,{avatars:t.avatars})),e});case d.UPDATE_USERNAME:return e.map(function(e){return e=Object.assign({},e),e.changed_by&&e.changed_by.id===t.userId&&(e.changed_by=Object.assign({},e.changed_by,{username:t.username,slug:t.slug})),Object.assign({},e)});default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.HYDRATE_HISTORY=a.APPEND_HISTORY=a.ADD_NAME_CHANGE=void 0,a.addNameChange=r,a.append=o,a.hydrate=l,a.hydrateNamechange=s,a["default"]=i;var u=e("moment"),c=n(u),d=e("./users"),f=e("../utils/concat-unique"),p=n(f),m=a.ADD_NAME_CHANGE="ADD_NAME_CHANGE",h=a.APPEND_HISTORY="APPEND_HISTORY",b=a.HYDRATE_HISTORY="HYDRATE_HISTORY"},{"../utils/concat-unique":353,"./users":336,moment:"moment"}],336:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return{type:h,items:e}}function o(e){return{type:b,items:e}}function l(e){return e?Object.assign({},e,{last_click:e.last_click?(0,f["default"])(e.last_click):null,banned_until:e.banned_until?(0,f["default"])(e.banned_until):null}):null}function s(e){return Object.assign({},e,{joined_on:(0,f["default"])(e.joined_on),status:l(e.status)})}function i(e,t){return{type:v,userId:e.id,avatars:t}}function u(e,t,a){return{type:y,userId:e.id,username:t,slug:a}}function c(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case h:return(0,m["default"])(e,t.items.map(s));case b:return t.items.map(s);case v:return e.map(function(e){return e=Object.assign({},e),e.id===t.userId&&(e.avatars=t.avatars),e});default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.UPDATE_USERNAME=a.UPDATE_AVATAR=a.HYDRATE_USERS=a.APPEND_USERS=void 0,a.append=r,a.hydrate=o,a.hydrateStatus=l,a.hydrateUser=s,a.updateAvatar=i,a.updateUsername=u,a["default"]=c;var d=e("moment"),f=n(d),p=e("../utils/concat-unique"),m=n(p),h=a.APPEND_USERS="APPEND_USERS",b=a.HYDRATE_USERS="HYDRATE_USERS",v=a.UPDATE_AVATAR="UPDATE_AVATAR",y=a.UPDATE_USERNAME="UPDATE_USERNAME"},{"../utils/concat-unique":353,moment:"moment"}],337:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),l=a.Ajax=function(){function e(){n(this,e),this._cookieName=null,this._csrfToken=null,this._locks={}}return o(e,[{key:"init",value:function(e){this._cookieName=e}},{key:"getCsrfToken",value:function(){if(document.cookie.indexOf(this._cookieName)!==-1){var e=new RegExp(this._cookieName+"=([^;]*)"),t=document.cookie.match(e)[0];return t?t.split("=")[1]:null}return null}},{key:"request",value:function(e,t,a){var n=this;return new Promise(function(r,o){var l={url:t,method:e,headers:{"X-CSRFToken":n.getCsrfToken()},data:a?JSON.stringify(a):null,contentType:"application/json; charset=utf-8",dataType:"json",success:function(e){r(e)},error:function(e){var t=e.responseJSON||{};t.status=e.status,0===t.status&&(t.detail=gettext("Lost connection with application.")),404===t.status&&(t.detail&&"NOT FOUND"!==t.detail||(t.detail=gettext("Action link is invalid."))),500!==t.status||t.detail||(t.detail=gettext("Unknown error has occured.")),t.statusText=e.statusText,o(t)}};$.ajax(l)})}},{key:"get",value:function(e,t,a){var n=this;if(t&&(e+="?"+$.param(t)),!a)return this.request("GET",e);var o=function(){var t=n;return n._locks[a]&&(n._locks[a].url=e),n._locks[a]&&n._locks[a].waiter?{v:{then:function(){}}}:n._locks[a]&&n._locks[a].wait?(n._locks[a].waiter=!0,{v:new Promise(function(n,r){var o=function l(e){t._locks[a].wait?window.setTimeout(function(){l(e)},300):t._locks[a].url!==e?l(t._locks[a].url):(t._locks[a].waiter=!1,t.request("GET",t._locks[a].url).then(function(r){t._locks[a].url===e?n(r):(t._locks[a].waiter=!0,l(t._locks[a].url))},function(n){t._locks[a].url===e?r(n):(t._locks[a].waiter=!0,l(t._locks[a].url))}))};window.setTimeout(function(){o(e)},300)})}):(n._locks[a]={url:e,wait:!0,waiter:!1},{v:new Promise(function(n,r){t.request("GET",e).then(function(r){t._locks[a].wait=!1,t._locks[a].url===e&&n(r)},function(n){t._locks[a].wait=!1,t._locks[a].url===e&&r(n)})})})}();return"object"===("undefined"==typeof o?"undefined":r(o))?o.v:void 0}},{key:"post",value:function(e,t){return this.request("POST",e,t)}},{key:"patch",value:function(e,t){return this.request("PATCH",e,t)}},{key:"put",value:function(e,t){return this.request("PUT",e,t)}},{key:"delete",value:function(e,t){return this.request("DELETE",e,t)}},{key:"upload",value:function(e,t,a){var n=this;return new Promise(function(r,o){var l={url:e,method:"POST",headers:{"X-CSRFToken":n.getCsrfToken()},data:t,contentType:!1,processData:!1,xhr:function s(){var s=new window.XMLHttpRequest;return s.upload.addEventListener("progress",function(e){e.lengthComputable&&a(Math.round(e.loaded/e.total*100))},!1),s},success:function(e){r(e)},error:function(e){var t=e.responseJSON||{};t.status=e.status,0===t.status&&(t.detail=gettext("Lost connection with application.")),413!==t.status||t.detail||(t.detail=gettext("Upload was rejected by server as too large.")),404===t.status&&(t.detail&&"NOT FOUND"!==t.detail||(t.detail=gettext("Action link is invalid."))),500!==t.status||t.detail||(t.detail=gettext("Unknown error has occured.")),t.statusText=e.statusText,o(t)}};$.ajax(l)})}}]),e}();a["default"]=new l},{}],338:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0}),a.Auth=void 0;var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),o=e("../reducers/auth"),l=a.Auth=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e,t,a){this._store=e,this._local=t,this._modal=a,this.syncSession(),this.watchState()}},{key:"syncSession",value:function(){var e=this._store.getState().auth;e.isAuthenticated?this._local.set("auth",{isAuthenticated:!0,username:e.user.username}):this._local.set("auth",{isAuthenticated:!1})}},{key:"watchState",value:function(){var e=this;this._local.watch("auth",function(t){t.isAuthenticated?e._store.dispatch((0,o.signIn)({username:t.username})):e._store.dispatch((0,o.signOut)())}),this._modal.hide()}},{key:"signIn",value:function(e){this._store.dispatch((0,o.signIn)(e)),this._local.set("auth",{isAuthenticated:!0,username:e.username}),this._modal.hide()}},{key:"signOut",value:function(){this._store.dispatch((0,o.signOut)()),this._local.set("auth",{isAuthenticated:!1}),this._modal.hide()}},{key:"softSignOut",value:function(){this._store.dispatch((0,o.signOut)(!0)),this._local.set("auth",{isAuthenticated:!1}),this._modal.hide()}}]),e}();a["default"]=new l},{"../reducers/auth":322}],339:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0}),a.Captcha=a.ReCaptcha=a.ReCaptchaComponent=a.QACaptcha=a.NoCaptcha=a.BaseCaptcha=void 0;var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../components/form-group"),d=n(c),f=a.BaseCaptcha=function(){function e(){l(this,e)}return s(e,[{key:"init",value:function(e,t,a,n){this._context=e,this._ajax=t,this._include=a,this._snackbar=n}}]),e}(),p=a.NoCaptcha=function(e){
-function t(){return l(this,t),r(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return o(t,e),s(t,[{key:"load",value:function(){return new Promise(function(e){e()})}},{key:"validator",value:function(){return null}},{key:"component",value:function(){return null}}]),t}(f),m=a.QACaptcha=function(e){function t(){return l(this,t),r(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return o(t,e),s(t,[{key:"load",value:function(){var e=this;return new Promise(function(t,a){e._ajax.get(e._context.get("CAPTCHA_API")).then(function(a){e.question=a.question,e.helpText=a.help_text,t()},function(){e._snackbar.error(gettext("Failed to load CAPTCHA.")),a()})})}},{key:"validator",value:function(){return[]}},{key:"component",value:function(e){return u["default"].createElement(d["default"],{label:this.question,"for":"id_captcha",labelClass:e.labelClass||"",controlClass:e.controlClass||"",validation:e.form.state.errors.captcha,helpText:this.helpText||null},u["default"].createElement("input",{"aria-describedby":"id_captcha_status",className:"form-control",disabled:e.form.state.isLoading,id:"id_captcha",onChange:e.form.bindInput("captcha"),type:"text",value:e.form.state.captcha}))}}]),t}(f),h=a.ReCaptchaComponent=function(e){function t(){return l(this,t),r(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return o(t,e),s(t,[{key:"componentDidMount",value:function(){var e=this;grecaptcha.render("recaptcha",{sitekey:this.props.siteKey,callback:function(t){e.props.binding({target:{value:t}})}})}},{key:"render",value:function(){return u["default"].createElement("div",{id:"recaptcha"})}}]),t}(u["default"].Component),b=a.ReCaptcha=function(e){function t(){return l(this,t),r(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return o(t,e),s(t,[{key:"load",value:function(){return this._include.include("https://www.google.com/recaptcha/api.js",!0),new Promise(function(e){var t=function a(){"undefined"==typeof grecaptcha?window.setTimeout(function(){a()},200):e()};t()})}},{key:"validator",value:function(){return[]}},{key:"component",value:function(e){return u["default"].createElement(d["default"],{label:gettext("Please solve the quick test"),"for":"id_captcha",labelClass:e.labelClass||"",controlClass:e.controlClass||"",validation:e.form.state.errors.captcha,helpText:gettext("This test helps us prevent automated spam registrations on our site.")},u["default"].createElement(h,{binding:e.form.bindInput("captcha"),siteKey:this._context.get("SETTINGS").recaptcha_site_key}))}}]),t}(f),v=a.Captcha=function(){function e(){l(this,e)}return s(e,[{key:"init",value:function(e,t,a,n){switch(e.get("SETTINGS").captcha_type){case"no":this._captcha=new p;break;case"qa":this._captcha=new m;break;case"re":this._captcha=new b}this._captcha.init(e,t,a,n)}},{key:"load",value:function(){return this._captcha.load()}},{key:"validator",value:function(){return this._captcha.validator()}},{key:"component",value:function(e){return this._captcha.component(e)}}]),e}();a["default"]=new v},{"../components/form-group":51,react:"react"}],340:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),o=a.Include=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e){this._staticUrl=e,this._included=[]}},{key:"include",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._included.indexOf(e)===-1&&(this._included.push(e),this._include(e,t))}},{key:"_include",value:function(e,t){$.ajax({url:(t?"":this._staticUrl)+e,cache:!0,dataType:"script"})}}]),e}();a["default"]=new o},{}],341:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),o=window.localStorage,l=a.LocalStorage=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e){var t=this;this._prefix=e,this._watchers=[],window.addEventListener("storage",function(e){var a=JSON.parse(e.newValue);t._watchers.forEach(function(t){t.key===e.key&&e.oldValue!==e.newValue&&t.callback(a)})})}},{key:"set",value:function(e,t){o.setItem(this._prefix+e,JSON.stringify(t))}},{key:"get",value:function(e){var t=o.getItem(this._prefix+e);return t?JSON.parse(t):null}},{key:"watch",value:function(e,t){this._watchers.push({key:this._prefix+e,callback:t})}}]),e}();a["default"]=new l},{}],342:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0}),a.MobileNavbarDropdown=void 0;var o=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),l=e("../utils/mount-component"),s=n(l),i=a.MobileNavbarDropdown=function(){function e(){r(this,e)}return o(e,[{key:"init",value:function(e){this._element=e,this._component=null}},{key:"show",value:function(e){this._component===e?this.hide():(this._component=e,(0,s["default"])(e,this._element.id),$(this._element).addClass("open"))}},{key:"showConnected",value:function(e,t){this._component===e?this.hide():(this._component=e,(0,s["default"])(t,this._element.id,!0),$(this._element).addClass("open"))}},{key:"hide",value:function(){$(this._element).removeClass("open"),this._component=null}}]),e}();a["default"]=new i},{"../utils/mount-component":358}],343:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0}),a.Modal=void 0;var o=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),l=e("react-dom"),s=n(l),i=e("../utils/mount-component"),u=n(i),c=a.Modal=function(){function e(){r(this,e)}return o(e,[{key:"init",value:function(e){var t=this;this._element=e,this._modal=$(e).modal({show:!1}),this._modal.on("hidden.bs.modal",function(){s["default"].unmountComponentAtNode(t._element)})}},{key:"show",value:function(e){(0,u["default"])(e,this._element.id),this._modal.modal("show")}},{key:"hide",value:function(){this._modal.modal("hide")}}]),e}();a["default"]=new c},{"../utils/mount-component":358,"react-dom":"react-dom"}],344:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e){var t=o(e),a=l(t);if(!a)return null;var n=0;if(t.indexOf("?")>0){var r=t.substr(t.indexOf("?")+1),s=r.split("&").filter(function(e){return"t="===e.substr(0,2)})[0];if(s){var i=s.substr(2).split("m");"s"===i[0].substr(-1)?n+=parseInt(i[0].substr(0,i[0].length-1)):(n+=60*parseInt(i[0]),i[1]&&"s"===i[1].substr(-1)&&(n+=parseInt(i[1].substr(0,i[1].length-1))))}}return{start:n,video:a}}function o(e){var t=e;return"https://"===e.substr(0,8)?t=t.substr(8):"http://"===e.substr(0,7)&&(t=t.substr(7)),"www."===t.substr(0,4)&&(t=t.substr(4)),t}function l(e){if(e.indexOf("youtu")===-1)return null;var t=e.match(i);return t?t[1]:null}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.parseYoutubeUrl=r,a.cleanUrl=o,a.getVideoIdFromUrl=l;var i=new RegExp("^.*(?:(?:youtu.be/|v/|vi/|u/w/|embed/)|(?:(?:watch)??v(?:i)?=|&v(?:i)?=))([^#&?]*).*"),u=a.OneBox=function(){function e(){var t=this;n(this,e),this.render=function(e){e&&(t.highlightCode(e),t.embedYoutubePlayers(e))},this._youtube={}}return s(e,[{key:"highlightCode",value:function(e){for(var t=e.querySelectorAll("pre>code"),a=0;a<t.length;a++){var n=t[a];hljs.highlightBlock(n)}}},{key:"embedYoutubePlayers",value:function(e){for(var t=e.querySelectorAll("p>a"),a=0;a<t.length;a++){var n=t[a],o=n.parentNode,l=1===o.childNodes.length;this._youtube[n.href]||(this._youtube[n.href]=r(n.href));var s=this._youtube[n.href];l&&s&&s.data!==!1&&this.swapYoutubePlayer(n,s)}}},{key:"swapYoutubePlayer",value:function(e,t){var a="https://www.youtube.com/embed/";a+=t.video,a+="?rel=0",t.start&&(a+="&start="+t.start);var n=$('<iframe class="embed-responsive-item" src="'+a+'" allowfullscreen></iframe>');$(e).replaceWith(n),n.wrap('<div class="embed-responsive embed-responsive-16by9"></div>')}}]),e}();a["default"]=new u},{}],345:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),o=a.PageTitle=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e,t){this._indexTitle=e,this._forumName=t}},{key:"set",value:function(e){if(!e)return void(document.title=this._indexTitle||this._forumName);"string"==typeof e&&(e={title:e});var t=e.title;if(e.page>1){var a=interpolate(gettext("page: %(page)s"),{page:e.page},!0);t+=" ("+a+")"}e.parent&&(t+=" | "+e.parent),document.title=t+" | "+this._forumName}}]),e}();a["default"]=new o},{}],346:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),o=a.Polls=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e,t){this._ajax=e,this._snackbar=t,this._polls={}}},{key:"start",value:function(e){var t=this;this.stop(e.poll);var a=function n(){t._polls[e.poll]=e,t._ajax.get(e.url,e.data||null).then(function(a){t._polls[e.poll]._stopped||(e.update(a),t._polls[e.poll].timeout=window.setTimeout(n,e.frequency))},function(a){t._polls[e.poll]._stopped||(e.error?e.error(a):t._snackbar.apiError(a))})};e.delayed?this._polls[e.poll]={timeout:window.setTimeout(a,e.frequency)}:a()}},{key:"stop",value:function(e){this._polls[e]&&(window.clearTimeout(this._polls[e].timeout),this._polls[e]._stopped=!0)}}]),e}();a["default"]=new o},{}],347:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0}),a.Posting=void 0;var o=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),l=e("react"),s=n(l),i=e("react-dom"),u=n(i),c=e("../components/poll"),d=e("../components/posting"),f=n(d),p=e("../utils/mount-component"),m=n(p),h=a.Posting=function(){function e(){var t=this;r(this,e),this.close=function(){t._isOpen&&!t._isClosing&&(t._isClosing=!0,t._placeholder.removeClass("slide-in"),window.setTimeout(function(){u["default"].unmountComponentAtNode(document.getElementById("posting-mount")),t._isClosing=!1,t._isOpen=!1},300))}}return o(e,[{key:"init",value:function(e,t,a){this._ajax=e,this._snackbar=t,this._placeholder=$(a),this._mode=null,this._isOpen=!1,this._isClosing=!1}},{key:"open",value:function(e){if(this._isOpen===!1)this._mode=e.mode,this._isOpen=e.submit,this._realOpen(e);else if(this._isOpen!==e.submit){var t=gettext("You are already working on other message. Do you want to discard it?");"POLL"==this._mode&&(t=gettext("You are already working on a poll. Do you want to discard it?"));var a=confirm(t);a&&(this._mode=e.mode,this._isOpen=e.submit,this._realOpen(e))}else"REPLY"==this._mode&&"REPLY"==e.mode&&this._realOpen(e)}},{key:"_realOpen",value:function(e){"POLL"==e.mode?(0,m["default"])(s["default"].createElement(c.PollForm,e),"posting-mount"):(0,m["default"])(s["default"].createElement(f["default"],e),"posting-mount"),this._placeholder.addClass("slide-in"),$("html, body").animate({scrollTop:this._placeholder.offset().top},1e3)}}]),e}();a["default"]=new h},{"../components/poll":84,"../components/posting":112,"../utils/mount-component":358,react:"react","react-dom":"react-dom"}],348:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0}),a.Snackbar=void 0;var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),o=e("../reducers/snackbar"),l=300,s=5e3,i=a.Snackbar=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e){this._store=e,this._timeout=null}},{key:"alert",value:function(e,t){var a=this;this._timeout?(window.clearTimeout(this._timeout),this._store.dispatch((0,o.hideSnackbar)()),this._timeout=window.setTimeout(function(){a._timeout=null,a.alert(e,t)},l)):(this._store.dispatch((0,o.showSnackbar)(e,t)),this._timeout=window.setTimeout(function(){a._store.dispatch((0,o.hideSnackbar)()),a._timeout=null},s))}},{key:"info",value:function(e){this.alert(e,"info")}},{key:"success",value:function(e){this.alert(e,"success")}},{key:"warning",value:function(e){this.alert(e,"warning")}},{key:"error",value:function(e){this.alert(e,"error")}},{key:"apiError",value:function(e){var t=e.detail;t||(t=404===e.status?gettext("Action link is invalid."):gettext("Unknown error has occured.")),403===e.status&&"Permission denied"===t&&(t=gettext("You don't have permission to perform this action.")),this.error(t)}}]),e}();a["default"]=new i},{"../reducers/snackbar":331}],349:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0}),a.StoreWrapper=void 0;var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),o=e("redux"),l=a.StoreWrapper=function(){function e(){n(this,e),this._store=null,this._reducers={},this._initialState={}}return r(e,[{key:"addReducer",value:function(e,t,a){this._reducers[e]=t,this._initialState[e]=a}},{key:"init",value:function(){this._store=(0,o.createStore)((0,o.combineReducers)(this._reducers),this._initialState)}},{key:"getStore",value:function(){return this._store}},{key:"getState",value:function(){return this._store.getState()}},{key:"dispatch",value:function(e){return this._store.dispatch(e)}}]),e}();a["default"]=new l},{redux:"redux"}],350:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),o=a.Zxcvbn=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e){this._include=e,this._isLoaded=!1}},{key:"scorePassword",value:function(e,t){return this._isLoaded?zxcvbn(e,t).score:0}},{key:"load",value:function(){return this._isLoaded?this._loadedPromise():(this._include.include("misago/js/zxcvbn.js"),this._loadingPromise())}},{key:"_loadingPromise",value:function(){var e=this;return new Promise(function(t,a){var n=function r(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;n+=1,n>200?a():"undefined"==typeof zxcvbn?window.setTimeout(function(){r(n)},200):(e._isLoaded=!0,t())};n()})}},{key:"_loadedPromise",value:function(){return new Promise(function(e){e()})}}]),e}();a["default"]=new o},{}],351:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e,t){if(u["default"].render(s["default"].createElement(c.Provider,{store:b["default"].getStore()},s["default"].createElement(y,{message:e.message,expires:e.expires_on?(0,o["default"])(e.expires_on):null})),document.getElementById("page-mount")),"undefined"==typeof t||t){var a=m["default"].get("SETTINGS").forum_name;document.title=gettext("You are banned")+" | "+a,window.history.pushState({},"",m["default"].get("BANNED_URL"))}};var r=e("moment"),o=n(r),l=e("react"),s=n(l),i=e("react-dom"),u=n(i),c=e("react-redux"),d=e("../components/banned-page"),f=n(d),p=e("../index"),m=n(p),h=e("../services/store"),b=n(h),v=function(e){return e.tick},y=(0,c.connect)(v)(f["default"])},{"../components/banned-page":4,"../index":276,"../services/store":349,moment:"moment",react:"react","react-dom":"react-dom","react-redux":"react-redux"}],352:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e,t){var a=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=[],r=[];if(e.forEach(function(e){r.push(e),r.length===t&&(n.push(r),r=[])}),a!==!1&&r.length>0&&r.length<t)for(var o=r.length;o<t;o++)r.push(a);return r.length&&n.push(r),n}},{}],353:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e,t){var a=[];return e.concat(t).filter(function(e){return a.indexOf(e.id)===-1&&(a.push(e.id),!0)})}},{}],354:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),o=function(){function e(t,a){n(this,e),this._callback=t,this._count=a}return r(e,[{key:"count",value:function(){this._count-=1,0===this._count&&this._callback()}}]),e}();a["default"]=o},{}],355:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return e.replace(/[&<>"']/g,function(e){return n[e]})};var n={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"}},{}],356:[function(e,t,a){"use strict";function n(e){return e.toFixed(1)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return e>1073741824?n(e/1073741824)+" GB":e>1048576?n(e/1048576)+" MB":e>1024?n(e/1024)+" KB":n(e)+" B"},a.roundSize=n},{}],357:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return n.test($.trim(e))};var n=new RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$","i")},{}],358:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e,t){var a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=document.getElementById(t),r=e.props?e:o["default"].createElement(e,null);n&&(a?s["default"].render(o["default"].createElement(i.Provider,{store:c["default"].getStore()},r),n):s["default"].render(r,n))};var r=e("react"),o=n(r),l=e("react-dom"),s=n(l),i=e("react-redux"),u=e("../services/store"),c=n(u)},{"../services/store":349,react:"react","react-dom":"react-dom","react-redux":"react-redux"}],359:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),o=function(){function e(t){n(this,e),this.isOrdered=!1,this._items=t||[]}return r(e,[{key:"add",value:function(e,t,a){this._items.push({key:e,item:t,after:a?a.after||null:null,before:a?a.before||null:null})}},{key:"get",value:function(e,t){for(var a=0;a<this._items.length;a++)if(this._items[a].key===e)return this._items[a].item;return t}},{key:"has",value:function(e){return void 0!==this.get(e)}},{key:"values",value:function t(){for(var t=[],e=0;e<this._items.length;e++)t.push(this._items[e].item);return t}},{key:"order",value:function(e){return this.isOrdered||(this._items=this._order(this._items),this.isOrdered=!0),e||"undefined"==typeof e?this.values():this._items}},{key:"orderedValues",value:function(){return this.order(!0)}},{key:"_order",value:function(e){function t(e){var t=-1;r.indexOf(e.key)===-1&&(e.after?(t=r.indexOf(e.after),t!==-1&&(t+=1)):e.before&&(t=r.indexOf(e.before)),t!==-1&&(n.splice(t,0,e),r.splice(t,0,e.key)))}var a=[];e.forEach(function(e){a.push(e.key)});var n=[],r=[];e.forEach(function(e){e.after||e.before||(n.push(e),r.push(e.key))}),e.forEach(function(e){"_end"===e.before&&(n.push(e),r.push(e.key))});for(var o=200;o>0&&a.length!==r.length;)o-=1,e.forEach(t);return n}}]),e}();a["default"]=o},{}],360:[function(e,t,a){"use strict";function n(e,t){return Math.floor(Math.random()*(t-e+1))+e}function r(e,t){for(var a=new Array(n(e,t)),r=0;r<a.length;r++)a[r]=r;return a}Object.defineProperty(a,"__esModule",{value:!0}),a["int"]=n,a.range=r},{}],361:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(){window.scrollTo(0,0)}},{}],362:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t={component:e.component||null,childRoutes:[]};e.root?t.childRoutes=[{path:e.root,onEnter:function(t,a){a(null,e.paths[0].path)}}].concat(e.paths):t.childRoutes=e.paths,s["default"].render(o["default"].createElement(i.Provider,{store:d["default"].getStore()},o["default"].createElement(u.Router,{routes:t,history:u.browserHistory})),f)};var r=e("react"),o=n(r),l=e("react-dom"),s=n(l),i=e("react-redux"),u=e("react-router"),c=e("../services/store"),d=n(c),f=document.getElementById("page-mount")},{"../services/store":349,react:"react","react-dom":"react-dom","react-redux":"react-redux","react-router":"react-router"}],363:[function(e,t,a){"use strict";function n(e,t){if(e.indexOf(t)===-1){var a=e.slice();return a.push(t),a}return e}function r(e,t){return e.indexOf(t)>=0?e.filter(function(e){return e!==t}):e}function o(e,t){if(e.indexOf(t)===-1){var a=e.slice();return a.push(t),a}return e.filter(function(e){return e!==t})}Object.defineProperty(a,"__esModule",{value:!0}),a.push=n,a.remove=r,a.toggle=o},{}],364:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e,t){if(e=(e+"").toLowerCase(),t=(t+"").toLowerCase(),t.length<=0)return 0;for(var a=0,n=0,r=t.length;;){if(n=e.indexOf(t,n),!(n>=0))break;a+=1,n+=r}return a}},{}],365:[function(e,t,a){"use strict";function n(){return function(e){if(0===$.trim(e).length)return gettext("This field is required.")}}function r(e){return function(t){if(!d.test(t))return e||gettext("Enter a valid email address.")}}function o(e,t){return function(a){var n="",r=$.trim(a).length;if(r<e)return n=t?t(e,r):ngettext("Ensure this value has at least %(limit_value)s character (it has %(show_value)s).","Ensure this value has at least %(limit_value)s characters (it has %(show_value)s).",e),interpolate(n,{limit_value:e,show_value:r},!0)}}function l(e,t){return function(a){var n="",r=$.trim(a).length;if(r>e)return n=t?t(e,r):ngettext("Ensure this value has at most %(limit_value)s character (it has %(show_value)s).","Ensure this value has at most %(limit_value)s characters (it has %(show_value)s).",e),interpolate(n,{limit_value:e,show_value:r},!0)}}function s(e){var t=function(e){return ngettext("Username must be at least %(limit_value)s character long.","Username must be at least %(limit_value)s characters long.",e)};return o(e,t)}function i(e){var t=function(e){return ngettext("Username cannot be longer than %(limit_value)s character.","Username cannot be longer than %(limit_value)s characters.",e)};return l(e,t)}function u(){return function(e){if(!f.test($.trim(e)))return gettext("Username can only contain latin alphabet letters and digits.")}}function c(e){return function(t){var a=t.length;if(a<e){var n=ngettext("Valid password must be at least %(limit_value)s character long.","Valid password must be at least %(limit_value)s characters long.",e);return interpolate(n,{limit_value:e,show_value:a},!0)}}}Object.defineProperty(a,"__esModule",{value:!0}),a.required=n,a.email=r,a.minLength=o,a.maxLength=l,a.usernameMinLength=s,a.usernameMaxLength=i,a.usernameContent=u,a.passwordMinLength=c;var d=/^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i,f=new RegExp("^[0-9a-z]+$","i")},{}]},{},[276,277,278,279,280,295,296,297,298,299,300,301,302,318,319,320,321,281,282,283,284,285,286,287,288,289,290,291,292,293,294,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317]);
+value:function(){this.state.isMounted=!1,L["default"].stop("threads")}},{key:"getTitle",value:function(){return this.props.options.title?this.props.options.title:(0,y.getTitle)(this.props.route)}},{key:"setPageTitle",value:function(){this.props.route.category.level||!x["default"].get("THREADS_ON_INDEX")?B["default"].set((0,y.getPageTitle)(this.props.route)):this.props.options.title?B["default"].set(this.props.options.title):x["default"].get("SETTINGS").forum_index_title?document.title=x["default"].get("SETTINGS").forum_index_title:document.title=x["default"].get("SETTINGS").forum_name}},{key:"getSorting",value:function(){return this.props.route.category.level?p.compareWeight:p.compareGlobalWeight}},{key:"getMoreButton",value:function(){return this.state.more?c["default"].createElement("div",{className:"pager-more"},c["default"].createElement(f["default"],{className:"btn btn-default btn-outline",loading:this.state.isBusy||this.state.busyThreads.length,onClick:this.loadMore},gettext("Show more"))):null}},{key:"getClassName",value:function(){var e="page page-threads";return e+=" page-threads-"+this.props.route.list.type,this.props.route.category.css_class&&(e+=" page-threads-"+this.props.route.category.css_class),e}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName()},c["default"].createElement(v["default"],{categories:this.props.route.categoriesMap,disabled:!this.state.isLoaded,startThread:this.props.options.startThread,threads:this.props.threads,title:this.getTitle(),toggleNav:this.toggleNav,route:this.props.route,user:this.props.user}),c["default"].createElement(h["default"],{api:this.props.options.api,route:this.props.route,subcategories:this.state.subcategories,user:this.props.user,pageLead:this.props.options.pageLead,threads:this.props.threads,threadsCount:this.state.count,moderation:this.state.moderation,selection:this.props.selection,busyThreads:this.state.busyThreads,addThreads:this.addThreads,freezeThread:this.freezeThread,deleteThread:this.deleteThread,updateThread:this.updateThread,isLoaded:this.state.isLoaded,isBusy:this.state.isBusy},c["default"].createElement(_["default"],{category:this.props.route.category,categories:this.props.route.categoriesMap,list:this.props.route.list,selection:this.props.selection,threads:this.props.threads,diffSize:this.state.diff.results.length,applyDiff:this.applyDiff,showOptions:!!this.props.user.id,isLoaded:this.state.isLoaded,busyThreads:this.state.busyThreads},c["default"].createElement(w["default"],{category:this.props.route.category,emptyMessage:this.props.options.emptyMessage,list:this.props.route.list})),this.getMoreButton()))}}]),t}(k["default"]);a["default"]=F},{"../../index":276,"../../reducers/selection":330,"../../reducers/threads":333,"../../services/ajax":337,"../../services/page-title":345,"../../services/polls":346,"../../services/snackbar":348,"../../services/store":349,"../../utils/sets":363,"../button":5,"../threads-list":212,"../with-dropdown":273,"./compare":231,"./container":232,"./header":233,"./list-empty":234,"./utils":244,react:"react"}],243:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./category-picker"),d=n(c),f=e("./moderation/controls"),p=n(f),m=e("./moderation/selection"),h=n(m),b=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"getCategoryPicker",value:function(){return this.props.subcategories.length?u["default"].createElement(d["default"],{categories:this.props.categoriesMap,choices:this.props.subcategories,list:this.props.list}):null}},{key:"showModerationOptions",value:function(){return this.props.user.id&&this.props.moderation.allow}},{key:"getSelectedThreads",value:function(){var e=this;return this.props.threads.filter(function(t){return e.props.selection.indexOf(t.id)>=0})}},{key:"getModerationButton",value:function(){return this.showModerationOptions()?u["default"].createElement("div",{className:"col-xs-6 col-sm-3 col-md-2"},u["default"].createElement("div",{className:"btn-group btn-group-justified"},u["default"].createElement("div",{className:"btn-group dropdown"},u["default"].createElement("button",{type:"button",className:"btn btn-default btn-outline dropdown-toggle","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",disabled:this.props.disabled||!this.props.selection.length},u["default"].createElement("span",{className:"material-icon"},"settings"),gettext("Options")),u["default"].createElement(p["default"],{addThreads:this.props.addThreads,api:this.props.api,categories:this.props.categories,categoriesMap:this.props.categoriesMap,className:"dropdown-menu dropdown-menu-right stick-to-bottom",deleteThread:this.props.deleteThread,freezeThread:this.props.freezeThread,moderation:this.props.moderation,route:this.props.route,threads:this.getSelectedThreads(),updateThread:this.props.updateThread,user:this.props.user})))):null}},{key:"getSelectionButton",value:function(){return this.showModerationOptions()?u["default"].createElement("div",{className:"col-xs-3 col-sm-2 col-md-1"},u["default"].createElement("div",{className:"btn-group btn-group-justified"},u["default"].createElement("div",{className:"btn-group dropdown"},u["default"].createElement("button",{type:"button",className:"btn btn-default btn-outline btn-icon dropdown-toggle","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",disabled:this.props.disabled},u["default"].createElement("span",{className:"material-icon"},"select_all")),u["default"].createElement(h["default"],{className:"dropdown-menu dropdown-menu-right stick-to-bottom",threads:this.props.threads})))):null}},{key:"render",value:function(){return u["default"].createElement("div",{className:"row row-toolbar row-toolbar-bottom-margin"},u["default"].createElement("div",{className:"col-xs-3 col-sm-3 col-md-2 dropdown"},this.getCategoryPicker()),u["default"].createElement("div",{className:"hidden-xs col-sm-4 col-md-7"}),this.getModerationButton(),this.getSelectionButton())}}]),t}(u["default"].Component);a["default"]=b},{"./category-picker":230,"./moderation/controls":235,"./moderation/selection":239,react:"react"}],244:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.category.level?e.list.path?{title:e.list.longName,parent:e.category.name}:{title:e.category.name}:c["default"].get("THREADS_ON_INDEX")?e.list.path?{title:e.list.longName}:null:e.list.path?{title:e.list.longName,parent:gettext("Threads")}:{title:gettext("Threads")}}function o(e){return e.category.level?e.category.name:c["default"].get("THREADS_ON_INDEX")?c["default"].get("SETTINGS").forum_index_title?c["default"].get("SETTINGS").forum_index_title:c["default"].get("SETTINGS").forum_name:gettext("Threads")}function l(e,t){return[e.title===t.title,e.weight===t.weight,e.category===t.category,e.last_post===t.last_post,e.last_poster_name===t.last_poster_name].indexOf(!1)>=0}function s(e,t){var a={};return e.forEach(function(e){a[e.id]=e}),t.filter(function(e){return!a[e.id]||l(a[e.id],e)})}function i(e){var t={allow:!1,can_approve:0,can_close:0,can_delete:0,can_hide:0,can_merge:0,can_move:0,can_pin:0,can_pin_globally:0,can_unhide:0};return e.forEach(function(e){e.is_unapproved&&e.acl.can_approve>t.can_approve&&(t.can_approve=e.acl.can_approve),e.acl.can_close>t.can_close&&(t.can_close=e.acl.can_close),e.acl.can_delete>t.can_delete&&(t.can_delete=e.acl.can_delete),e.acl.can_hide>t.can_hide&&(t.can_hide=e.acl.can_hide),e.acl.can_merge>t.can_merge&&(t.can_merge=e.acl.can_merge),e.acl.can_move>t.can_move&&(t.can_move=e.acl.can_move),e.acl.can_pin>t.can_pin&&(t.can_pin=e.acl.can_pin),e.acl.can_pin_globally>t.can_pin_globally&&(t.can_pin_globally=e.acl.can_pin_globally),e.acl.can_unhide>t.can_unhide&&(t.can_unhide=e.acl.can_unhide),t.allow=t.can_approve||t.can_close||t.can_delete||t.can_hide||t.can_merge||t.can_move||t.can_pin||t.can_pin_globally||t.can_unhide}),t}Object.defineProperty(a,"__esModule",{value:!0}),a.getPageTitle=r,a.getTitle=o,a.isThreadChanged=l,a.diffThreads=s,a.getModerationActions=i;var u=e("../../index"),c=n(u)},{"../../index":276}],245:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0}),a.CompactGuestNav=a.GuestNav=a.GuestMenu=void 0;var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../avatar"),d=n(c),f=e("../register-button"),p=n(f),m=e("../sign-in.js"),h=n(m),b=e("../../services/mobile-navbar-dropdown"),v=n(b),y=e("../../services/modal"),g=n(y),_=a.GuestMenu=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"showSignInModal",value:function(){g["default"].show(h["default"])}},{key:"render",value:function(){return u["default"].createElement("ul",{className:"dropdown-menu user-dropdown dropdown-menu-right",role:"menu"},u["default"].createElement("li",{className:"guest-preview"},u["default"].createElement("h4",null,gettext("You are browsing as guest.")),u["default"].createElement("p",null,gettext("Sign in or register to start and participate in discussions.")),u["default"].createElement("div",{className:"row"},u["default"].createElement("div",{className:"col-xs-6"},u["default"].createElement("button",{className:"btn btn-default btn-block",onClick:this.showSignInModal,type:"button"},gettext("Sign in"))),u["default"].createElement("div",{className:"col-xs-6"},u["default"].createElement(p["default"],{className:"btn-success btn-block"},gettext("Register"))))))}}]),t}(u["default"].Component);a.GuestNav=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"render",value:function(){return u["default"].createElement("div",{className:"nav nav-guest"},u["default"].createElement("button",{className:"btn navbar-btn btn-default",onClick:this.showSignInModal,type:"button"},gettext("Sign in")),u["default"].createElement(p["default"],{className:"navbar-btn btn-success btn-outline"},gettext("Register")))}}]),t}(_),a.CompactGuestNav=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"showGuestMenu",value:function(){v["default"].show(_)}},{key:"render",value:function(){return u["default"].createElement("button",{type:"button",onClick:this.showGuestMenu},u["default"].createElement(d["default"],{size:"64"}))}}]),t}(u["default"].Component)},{"../../services/mobile-navbar-dropdown":342,"../../services/modal":343,"../avatar":3,"../register-button":176,"../sign-in.js":189,react:"react"}],246:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return e.auth}Object.defineProperty(a,"__esModule",{value:!0}),a.CompactUserMenu=a.UserMenu=void 0;var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.select=s;var u=e("react"),c=n(u),d=e("./guest-nav"),f=e("./user-nav");a.UserMenu=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),i(t,[{key:"render",value:function(){return this.props.isAuthenticated?c["default"].createElement(f.UserNav,{user:this.props.user}):c["default"].createElement(d.GuestNav,null)}}]),t}(c["default"].Component),a.CompactUserMenu=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),i(t,[{key:"render",value:function(){return this.props.isAuthenticated?c["default"].createElement(f.CompactUserNav,{user:this.props.user}):c["default"].createElement(d.CompactGuestNav,null)}}]),t}(c["default"].Component)},{"./guest-nav":245,"./user-nav":247,react:"react"}],247:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){var t=e.user;return t.unread_private_threads?p["default"].createElement("span",{className:"badge"},t.unread_private_threads):null}function i(e){var t=e.user;return p["default"].createElement("ul",{className:"ul nav navbar-nav nav-user"},p["default"].createElement(u,{user:t}),p["default"].createElement("li",{className:"dropdown"},p["default"].createElement("a",{"aria-haspopup":"true","aria-expanded":"false",className:"dropdown-toggle","data-toggle":"dropdown",href:t.url,role:"button"},p["default"].createElement(b["default"],{user:t,size:"64"})),p["default"].createElement(N,{user:t})))}function u(e){var t=e.user;return t.acl.can_use_private_threads?p["default"].createElement("li",null,p["default"].createElement("a",{className:"navbar-notification",href:_["default"].get("PRIVATE_THREADS_URL"),title:gettext("You have unread private threads.")},p["default"].createElement("span",{className:"material-icon"},"message"),t.unread_private_threads>0&&p["default"].createElement("span",{className:"badge"},t.unread_private_threads))):null}function c(e){return{user:e.auth.user}}Object.defineProperty(a,"__esModule",{value:!0}),a.CompactUserNav=a.UserMenu=void 0;var d=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.PrivateThreadsBadge=s,a.UserNav=i,a.UserPrivateThreadsLink=u,a.selectUserMenu=c;var f=e("react"),p=n(f),m=e("react-redux"),h=e("../avatar"),b=n(h),v=e("../change-avatar/root"),y=n(v),g=e("../.."),_=n(g),E=e("../../services/mobile-navbar-dropdown"),w=n(E),O=e("../../services/modal"),k=n(O),N=a.UserMenu=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),d(t,[{key:"logout",value:function(){var e=confirm(gettext("Are you sure you want to sign out?"));e&&$("#hidden-logout-form").submit()}},{key:"changeAvatar",value:function(){k["default"].show((0,m.connect)(v.select)(y["default"]))}},{key:"render",value:function(){var e=this.props.user;return p["default"].createElement("ul",{className:"dropdown-menu user-dropdown dropdown-menu-right",role:"menu"},p["default"].createElement("li",{className:"dropdown-header"},p["default"].createElement("strong",null,e.username),p["default"].createElement("ul",{className:"list-unstyled list-inline user-stats"},p["default"].createElement("li",null,p["default"].createElement("span",{className:"material-icon"},"message"),e.posts),p["default"].createElement("li",null,p["default"].createElement("span",{className:"material-icon"},"forum"),e.threads),p["default"].createElement("li",null,p["default"].createElement("span",{className:"material-icon"},"favorite"),e.followers),p["default"].createElement("li",null,p["default"].createElement("span",{className:"material-icon"},"favorite_outline"),e.following))),p["default"].createElement("li",{className:"divider"}),p["default"].createElement("li",null,p["default"].createElement("a",{href:e.url},p["default"].createElement("span",{className:"material-icon"},"account_circle"),gettext("See your profile"))),p["default"].createElement("li",null,p["default"].createElement("a",{href:_["default"].get("USERCP_URL")},p["default"].createElement("span",{className:"material-icon"},"done_all"),gettext("Change options"))),p["default"].createElement("li",null,p["default"].createElement("button",{className:"btn-link",onClick:this.changeAvatar,type:"button"},p["default"].createElement("span",{className:"material-icon"},"portrait"),gettext("Change avatar"))),!!e.acl.can_use_private_threads&&p["default"].createElement("li",null,p["default"].createElement("a",{href:_["default"].get("PRIVATE_THREADS_URL")},p["default"].createElement("span",{className:"material-icon"},"message"),gettext("Private threads"),p["default"].createElement(s,{user:e}))),p["default"].createElement("li",{className:"divider"}),p["default"].createElement("li",{className:"dropdown-buttons"},p["default"].createElement("button",{className:"btn btn-default btn-block",onClick:this.logout,type:"button"},gettext("Log out"))))}}]),t}(p["default"].Component);a.CompactUserNav=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),d(t,[{key:"showUserMenu",value:function(){w["default"].showConnected("user-menu",(0,m.connect)(c)(N))}},{key:"render",value:function(){return p["default"].createElement("button",{type:"button",onClick:this.showUserMenu},p["default"].createElement(b["default"],{user:this.props.user,size:"50"}))}}]),t}(p["default"].Component)},{"../..":276,"../../services/mobile-navbar-dropdown":342,"../../services/modal":343,"../avatar":3,"../change-avatar/root":22,react:"react","react-redux":"react-redux"}],248:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){var t="";return e.is_banned?t="banned":e.is_hidden?t="offline":e.is_online_hidden?t="online":e.is_offline_hidden?t="offline":e.is_online?t="online":e.is_offline&&(t="offline"),"user-status user-"+t}function i(e,t){return t.is_banned?t.banned_until?interpolate(gettext("%(username)s is banned until %(ban_expires)s"),{username:e.username,ban_expires:t.banned_until.format("LL, LT")},!0):interpolate(gettext("%(username)s is banned"),{username:e.username},!0):t.is_hidden?interpolate(gettext("%(username)s is hiding presence"),{username:e.username},!0):t.is_online_hidden?interpolate(gettext("%(username)s is online (hidden)"),{username:e.username},!0):t.is_offline_hidden?interpolate(gettext("%(username)s was last seen %(last_click)s (hidden)"),{username:e.username,last_click:t.last_click.fromNow()},!0):t.is_online?interpolate(gettext("%(username)s is online"),{username:e.username},!0):t.is_offline?interpolate(gettext("%(username)s was last seen %(last_click)s"),{username:e.username,last_click:t.last_click.fromNow()},!0):void 0}Object.defineProperty(a,"__esModule",{value:!0}),a.StatusLabel=a.StatusIcon=void 0;var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.getStatusClassName=s,a.getStatusDescription=i;var c=e("react"),d=n(c),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),u(t,[{key:"getClass",value:function(){return s(this.props.status)}},{key:"render",value:function(){return d["default"].createElement("span",{className:this.getClass()},this.props.children)}}]),t}(d["default"].Component);a["default"]=f;a.StatusIcon=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),u(t,[{key:"getIcon",value:function(){return this.props.status.is_banned?"remove_circle_outline":this.props.status.is_hidden?"help_outline":this.props.status.is_online_hidden?"label":this.props.status.is_offline_hidden?"label_outline":this.props.status.is_online?"lens":this.props.status.is_offline?"panorama_fish_eye":void 0}},{key:"render",value:function(){return d["default"].createElement("span",{className:"material-icon status-icon"},this.getIcon())}}]),t}(d["default"].Component),a.StatusLabel=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),u(t,[{key:"getHelp",value:function(){return i(this.props.user,this.props.status)}},{key:"getLabel",value:function(){return this.props.status.is_banned?gettext("Banned"):this.props.status.is_hidden?gettext("Hidden"):this.props.status.is_online_hidden?gettext("Online (hidden)"):this.props.status.is_offline_hidden?gettext("Offline (hidden)"):this.props.status.is_online?gettext("Online"):this.props.status.is_offline?gettext("Offline"):void 0}},{key:"render",value:function(){return d["default"].createElement("span",{className:this.props.className||"status-label",title:this.getHelp()},this.getLabel())}}]),t}(d["default"].Component)},{react:"react"}],249:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../avatar"),f=r(d),p=e("../../utils/random"),m=n(p),h=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"getClassName",value:function(){return this.props.hiddenOnMobile?"list-group-item hidden-xs hidden-sm":"list-group-item"}},{key:"render",value:function(){return c["default"].createElement("li",{className:this.getClassName()},c["default"].createElement("div",{className:"change-avatar"},c["default"].createElement("span",{className:"user-avatar"},c["default"].createElement(f["default"],{size:"100"}))),c["default"].createElement("div",{className:"change-author"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](30,100)+"px"}}," ")),c["default"].createElement("div",{className:"change"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](30,70)+"px"}}," "),c["default"].createElement("span",{className:"material-icon"},"arrow_forward"),c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](30,70)+"px"}}," ")),c["default"].createElement("div",{className:"change-date"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](80,140)+"px"}}," ")))}}]),t}(c["default"].Component);a["default"]=h},{"../../utils/random":360,"../avatar":3,react:"react"}],250:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../avatar"),d=n(c),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"renderUserAvatar",value:function(){return this.props.change.changed_by?u["default"].createElement("a",{href:this.props.change.changed_by.url,className:"user-avatar-wrapper"},u["default"].createElement(d["default"],{user:this.props.change.changed_by,size:"100"})):u["default"].createElement("span",{className:"user-avatar-wrapper"},u["default"].createElement(d["default"],{size:"100"}))}},{key:"renderUsername",value:function(){return this.props.change.changed_by?u["default"].createElement("a",{href:this.props.change.changed_by.url,className:"item-title"},this.props.change.changed_by.username):u["default"].createElement("span",{className:"item-title"},this.props.change.changed_by_username)}},{key:"render",value:function(){return u["default"].createElement("li",{className:"list-group-item",key:this.props.change.id},u["default"].createElement("div",{className:"change-avatar"},this.renderUserAvatar()),u["default"].createElement("div",{className:"change-author"},this.renderUsername()),u["default"].createElement("div",{className:"change"},u["default"].createElement("span",{className:"old-username"},this.props.change.old_username),u["default"].createElement("span",{className:"material-icon"},"arrow_forward"),u["default"].createElement("span",{className:"new-username"},this.props.change.new_username)),u["default"].createElement("div",{className:"change-date"},u["default"].createElement("abbr",{title:this.props.change.changed_on.format("LLL")},this.props.change.changed_on.fromNow())))}}]),t}(u["default"].Component);a["default"]=f},{"../avatar":3,react:"react"}],251:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"getEmptyMessage",value:function(){return this.props.emptyMessage?this.props.emptyMessage:gettext("No name changes have been recorded for your account.")}},{key:"render",value:function(){return u["default"].createElement("div",{className:"username-history ui-ready"},u["default"].createElement("ul",{className:"list-group"},u["default"].createElement("li",{className:"list-group-item empty-message"},this.getEmptyMessage())))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],252:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./change-preview"),d=n(c),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return u["default"].createElement("div",{className:"username-history ui-preview"},u["default"].createElement("ul",{className:"list-group"},[0,1,2].map(function(e){return u["default"].createElement(d["default"],{hiddenOnMobile:e>0,
+key:e})})))}}]),t}(u["default"].Component);a["default"]=f},{"./change-preview":249,react:"react"}],253:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./change"),d=n(c),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"render",value:function(){return u["default"].createElement("div",{className:"username-history ui-ready"},u["default"].createElement("ul",{className:"list-group"},this.props.changes.map(function(e){return u["default"].createElement(d["default"],{change:e,key:e.id})})))}}]),t}(u["default"].Component);a["default"]=f},{"./change":250,react:"react"}],254:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./list-empty"),d=n(c),f=e("./list-ready"),p=n(f),m=e("./list-preview"),h=n(m),b=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"render",value:function(){return this.props.isLoaded?this.props.changes.length?u["default"].createElement(p["default"],{changes:this.props.changes}):u["default"].createElement(d["default"],{emptyMessage:this.props.emptyMessage}):u["default"].createElement(h["default"],null)}}]),t}(u["default"].Component);a["default"]=b},{"./list-empty":251,"./list-preview":252,"./list-ready":253,react:"react"}],255:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.showStatus,a=e.user,n=a.rank,r="panel user-card";return n.css_class&&(r+=" user-card-"+n.css_class),o["default"].createElement("div",{className:r},o["default"].createElement("div",{className:"panel-body"},o["default"].createElement("div",{className:"row"},o["default"].createElement("div",{className:"col-xs-3 user-card-left"},o["default"].createElement("div",{className:"user-card-small-avatar"},o["default"].createElement("a",{href:a.url},o["default"].createElement(s["default"],{size:"50",size2x:"80",user:a})))),o["default"].createElement("div",{className:"col-xs-9 col-sm-12 user-card-body"},o["default"].createElement("div",{className:"user-card-avatar"},o["default"].createElement("a",{href:a.url},o["default"].createElement(s["default"],{size:"150",size2x:"200",user:a}))),o["default"].createElement("div",{className:"user-card-username"},o["default"].createElement("a",{href:a.url},a.username)),o["default"].createElement("div",{className:"user-card-title"},o["default"].createElement(d["default"],{rank:n,title:a.title})),o["default"].createElement("div",{className:"user-card-stats"},o["default"].createElement(u["default"],{showStatus:t,user:a}))))))};var r=e("react"),o=n(r),l=e("../../avatar"),s=n(l),i=e("./stats"),u=n(i),c=e("./user-title"),d=n(c)},{"../../avatar":3,"./stats":256,"./user-title":257,react:"react"}],256:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=e.showStatus,a=e.user;return t?d["default"].createElement("li",{className:"user-stat-status"},d["default"].createElement(p["default"],{status:a.status},d["default"].createElement(f.StatusLabel,{status:a.status,user:a}))):null}function o(e){var t=e.user,a=t.joined_on,n=interpolate(gettext("Joined on %(joined_on)s"),{joined_on:a.format("LL, LT")},!0),r=interpolate(gettext("Joined %(joined_on)s"),{joined_on:a.fromNow()},!0);return d["default"].createElement("li",{className:"user-stat-join-date"},d["default"].createElement("abbr",{title:n},r))}function l(e){var t=e.user,a=u("user-stat-posts",t.posts),n=ngettext("%(posts)s post","%(posts)s posts",t.posts);return d["default"].createElement("li",{className:a},interpolate(n,{posts:t.posts},!0))}function s(e){var t=e.user,a=u("user-stat-threads",t.threads),n=ngettext("%(threads)s thread","%(threads)s threads",t.threads);return d["default"].createElement("li",{className:a},interpolate(n,{threads:t.threads},!0))}function i(e){var t=e.user,a=u("user-stat-followers",t.followers),n=ngettext("%(followers)s follower","%(followers)s followers",t.followers);return d["default"].createElement("li",{className:a},interpolate(n,{followers:t.followers},!0))}function u(e,t){return 0===t?e+" user-stat-empty":e}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.showStatus,a=e.user;return d["default"].createElement("ul",{className:"list-unstyled"},d["default"].createElement(r,{showStatus:t,user:a}),d["default"].createElement(o,{user:a}),d["default"].createElement("li",{className:"user-stat-divider"}),d["default"].createElement(l,{user:a}),d["default"].createElement(s,{user:a}),d["default"].createElement(i,{user:a}))},a.Status=r,a.JoinDate=o,a.Posts=l,a.Threads=s,a.Followers=i,a.getStatClassName=u;var c=e("react"),d=n(c),f=e("../../user-status"),p=n(f)},{"../../user-status":248,react:"react"}],257:[function(e,t,a){arguments[4][108][0].apply(a,arguments)},{dup:108,react:"react"}],258:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.cols,a=e.isReady,n=e.showStatus,r=e.users,l="col-xs-12 col-sm-4";return 4===t&&(l+=" col-md-3"),a?o["default"].createElement("div",{className:"users-cards-list ui-ready"},o["default"].createElement("div",{className:"row"},r.map(function(e){return o["default"].createElement("div",{className:l,key:e.id},o["default"].createElement(s["default"],{showStatus:n,user:e}))}))):o["default"].createElement(u["default"],{colClassName:l,cols:t})};var r=e("react"),o=n(r),l=e("./card"),s=n(l),i=e("./preview"),u=n(i)},{"./card":255,"./preview":260,react:"react"}],259:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../../avatar"),f=r(d),p=e("../../../utils/random"),m=n(p),h=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return c["default"].createElement("div",{className:"panel user-card user-card-preview"},c["default"].createElement("div",{className:"panel-body"},c["default"].createElement("div",{className:"row"},c["default"].createElement("div",{className:"col-xs-3 user-card-left"},c["default"].createElement("div",{className:"user-card-small-avatar"},c["default"].createElement("span",null,c["default"].createElement(f["default"],{size:"50",size2x:"80"})))),c["default"].createElement("div",{className:"col-xs-9 col-sm-12 user-card-body"},c["default"].createElement("div",{className:"user-card-avatar"},c["default"].createElement("span",null,c["default"].createElement(f["default"],{size:"150",size2x:"200"}))),c["default"].createElement("div",{className:"user-card-username"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](60,150)+"px"}}," ")),c["default"].createElement("div",{className:"user-card-title"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](60,150)+"px"}}," ")),c["default"].createElement("div",{className:"user-card-stats"},c["default"].createElement("ul",{className:"list-unstyled"},c["default"].createElement("li",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](30,70)+"px"}}," ")),c["default"].createElement("li",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](30,70)+"px"}}," ")),c["default"].createElement("li",{className:"user-stat-divider"}),c["default"].createElement("li",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](30,70)+"px"}}," ")),c["default"].createElement("li",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](30,70)+"px"}}," "))))))))}}]),t}(c["default"].Component);a["default"]=h},{"../../../utils/random":360,"../../avatar":3,react:"react"}],260:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.colClassName,a=e.cols,n=Array.apply(null,{length:a}).map(Number.call,Number);return o["default"].createElement("div",{className:"users-cards-list ui-preview"},o["default"].createElement("div",{className:"row"},n.map(function(e){var a=t;return 0!==e&&(a+=" hidden-xs"),3===e&&(a+=" hidden-sm"),o["default"].createElement("div",{className:a,key:e},o["default"].createElement(s["default"],null))})))};var r=e("react"),o=n(r),l=e("./card"),s=n(l)},{"./card":259,react:"react"}],261:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"getEmptyMessage",value:function(){return interpolate(gettext("No users have posted any new messages during last %(days)s days."),{days:this.props.trackedPeriod},!0)}},{key:"render",value:function(){return u["default"].createElement("div",{className:"active-posters-list"},u["default"].createElement("div",{className:"container"},u["default"].createElement("p",{className:"lead"},this.getEmptyMessage())))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],262:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("../../avatar"),f=r(d),p=e("../../../utils/random"),m=n(p),h=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"getClassName",value:function(){return this.props.hiddenOnMobile?"list-group-item hidden-xs hidden-sm":"list-group-item"}},{key:"render",value:function(){return c["default"].createElement("li",{className:this.getClassName()},c["default"].createElement("div",{className:"rank-user-avatar"},c["default"].createElement("span",null,c["default"].createElement(f["default"],{size:"50"}))),c["default"].createElement("div",{className:"rank-user"},c["default"].createElement("div",{className:"user-name"},c["default"].createElement("span",{className:"item-title"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](30,80)+"px"}}," "))),c["default"].createElement("div",{className:"user-details"},c["default"].createElement("span",{className:"user-status"},c["default"].createElement("span",{className:"status-icon ui-preview-text"}," "),c["default"].createElement("span",{className:"status-label ui-preview-text hidden-xs hidden-sm",style:{width:m["int"](30,50)+"px"}}," ")),c["default"].createElement("span",{className:"rank-name"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](30,50)+"px"}}," ")),c["default"].createElement("span",{className:"user-title hidden-xs hidden-sm"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](30,50)+"px"}}," "))),c["default"].createElement("div",{className:"user-compact-stats visible-xs-block"},c["default"].createElement("span",{className:"rank-position"},c["default"].createElement("strong",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](20,30)+"px"}}," ")),c["default"].createElement("small",null,gettext("Rank"))),c["default"].createElement("span",{className:"rank-posts-counted"},c["default"].createElement("strong",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](20,30)+"px"}}," ")),c["default"].createElement("small",null,gettext("Ranked posts"))))),c["default"].createElement("div",{className:"rank-position hidden-xs"},c["default"].createElement("strong",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](20,30)+"px"}}," ")),c["default"].createElement("small",null,gettext("Rank"))),c["default"].createElement("div",{className:"rank-posts-counted hidden-xs"},c["default"].createElement("strong",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](20,30)+"px"}}," ")),c["default"].createElement("small",null,gettext("Ranked posts"))),c["default"].createElement("div",{className:"rank-posts-total hidden-xs"},c["default"].createElement("strong",null,c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](20,30)+"px"}}," ")),c["default"].createElement("small",null,gettext("Total posts"))))}}]),t}(c["default"].Component);a["default"]=h},{"../../../utils/random":360,"../../avatar":3,react:"react"}],263:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("react-router"),f=e("../../avatar"),p=r(f),m=e("../../user-status"),h=r(m),b=e("../../../index"),v=r(b),y=e("../../../utils/random"),g=n(y),_=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"getClassName",value:function(){return this.props.rank.css_class?"list-group-item list-group-rank-"+this.props.rank.css_class:"list-group-item"}},{key:"getUserStatus",value:function(){return this.props.user.status?c["default"].createElement(h["default"],{user:this.props.user,status:this.props.user.status},c["default"].createElement(m.StatusIcon,{user:this.props.user,status:this.props.user.status}),c["default"].createElement(m.StatusLabel,{user:this.props.user,status:this.props.user.status,className:"status-label hidden-xs hidden-sm"})):c["default"].createElement("span",{className:"user-status"},c["default"].createElement("span",{className:"status-icon ui-preview-text"}," "),c["default"].createElement("span",{className:"status-label ui-preview-text hidden-xs hidden-sm",style:{width:g["int"](30,50)+"px"}}," "))}},{key:"getRankName",value:function(){if(!this.props.rank.is_tab)return c["default"].createElement("span",{className:"rank-name item-title"},this.props.rank.name);var e=v["default"].get("USERS_LIST_URL")+this.props.rank.slug+"/";return c["default"].createElement(d.Link,{to:e,className:"rank-name item-title"},this.props.rank.name)}},{key:"getUserTitle",value:function(){return this.props.user.title?c["default"].createElement("span",{className:"user-title hidden-xs hidden-sm"},this.props.user.title):null}},{key:"render",value:function(){return c["default"].createElement("li",{className:this.getClassName()},c["default"].createElement("div",{className:"rank-user-avatar"},c["default"].createElement("a",{href:this.props.user.url},c["default"].createElement(p["default"],{user:this.props.user,size:50,size2x:64}))),c["default"].createElement("div",{className:"rank-user"},c["default"].createElement("div",{className:"user-name"},c["default"].createElement("a",{href:this.props.user.url,className:"item-title"},this.props.user.username)),c["default"].createElement("div",{className:"user-details"},this.getUserStatus(),this.getRankName(),this.getUserTitle()),c["default"].createElement("div",{className:"user-compact-stats visible-xs-block"},c["default"].createElement("span",{className:"rank-position"},c["default"].createElement("strong",null,"#",this.props.counter),c["default"].createElement("small",null,gettext("Rank"))),c["default"].createElement("span",{className:"rank-posts-counted"},c["default"].createElement("strong",null,this.props.user.meta.score),c["default"].createElement("small",null,gettext("Ranked posts"))))),c["default"].createElement("div",{className:"rank-position hidden-xs"},c["default"].createElement("strong",null,"#",this.props.counter),c["default"].createElement("small",null,gettext("Rank"))),c["default"].createElement("div",{className:"rank-posts-counted hidden-xs"},c["default"].createElement("strong",null,this.props.user.meta.score),c["default"].createElement("small",null,gettext("Ranked posts"))),c["default"].createElement("div",{className:"rank-posts-total hidden-xs"},c["default"].createElement("strong",null,this.props.user.posts),c["default"].createElement("small",null,gettext("Total posts"))))}}]),t}(c["default"].Component);a["default"]=_},{"../../../index":276,"../../../utils/random":360,"../../avatar":3,"../../user-status":248,react:"react","react-router":"react-router"}],264:[function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=r(u),d=e("./list-item-preview"),f=r(d),p=e("../../../utils/random"),m=n(p),h=function(e){function t(){return o(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),i(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return c["default"].createElement("div",{className:"active-posters-list"},c["default"].createElement("div",{className:"container"},c["default"].createElement("p",{className:"lead ui-preview"},c["default"].createElement("span",{className:"ui-preview-text",style:{width:m["int"](50,220)+"px"}}," ")),c["default"].createElement("div",{className:"active-posters ui-preview"},c["default"].createElement("ul",{className:"list-group"},[0,1,2].map(function(e){return c["default"].createElement(f["default"],{hiddenOnMobile:e>0,key:e})})))))}}]),t}(c["default"].Component);a["default"]=h},{"../../../utils/random":360,"./list-item-preview":262,react:"react"}],265:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./list-item"),d=n(c),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"getLeadMessage",value:function(){var e=ngettext("%(posters)s most active poster from last %(days)s days.","%(posters)s most active posters from last %(days)s days.",this.props.count);return interpolate(e,{posters:this.props.count,days:this.props.trackedPeriod},!0)}},{key:"render",value:function(){return u["default"].createElement("div",{className:"active-posters-list"},u["default"].createElement("div",{className:"container"},u["default"].createElement("p",{className:"lead"},this.getLeadMessage()),u["default"].createElement("div",{className:"active-posters ui-ready"},u["default"].createElement("ul",{className:"list-group"},this.props.users.map(function(e,t){return u["default"].createElement(d["default"],{user:e,rank:e.rank,counter:t+1,key:e.id})})))))}}]),t}(u["default"].Component);a["default"]=f},{"./list-item":263,react:"react"}],266:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("./list-empty"),d=n(c),f=e("./list-preview"),p=n(f),m=e("./list-ready"),h=n(m),b=e("../../../index"),v=n(b),y=e("../../../reducers/users"),g=e("../../../services/polls"),_=n(g),E=e("../../../services/store"),w=n(E),O=e("../../../services/page-title"),k=n(O),N=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.update=function(e){w["default"].dispatch((0,y.hydrate)(e.results)),a.setState({isLoaded:!0,trackedPeriod:e.tracked_period,count:e.count})},v["default"].has("USERS")?a.initWithPreloadedData(v["default"].pop("USERS")):a.initWithoutPreloadedData(),a.startPolling(),a}return l(t,e),s(t,[{key:"initWithPreloadedData",value:function(e){this.state={isLoaded:!0,trackedPeriod:e.tracked_period,count:e.count},w["default"].dispatch((0,y.hydrate)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1}}},{key:"startPolling",value:function(){_["default"].start({poll:"active-posters",url:v["default"].get("USERS_API"),data:{list:"active"},frequency:9e4,update:this.update})}},{key:"componentDidMount",value:function(){k["default"].set({title:this.props.route.extra.name,parent:gettext("Users")})}},{key:"componentWillUnmount",value:function(){_["default"].stop("active-posters")}},{key:"render",value:function(){return this.state.isLoaded?this.state.count>0?u["default"].createElement(h["default"],{users:this.props.users,trackedPeriod:this.state.trackedPeriod,count:this.state.count}):u["default"].createElement(d["default"],{trackedPeriod:this.state.trackedPeriod}):u["default"].createElement(p["default"],null)}}]),t}(u["default"].Component);a["default"]=N},{"../../../index":276,"../../../reducers/users":336,"../../../services/page-title":345,"../../../services/polls":346,"../../../services/store":349,"./list-empty":261,"./list-preview":264,"./list-ready":265,react:"react"}],267:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t=e.baseUrl,a=e.lists;return o["default"].createElement("ul",{className:"nav nav-pills"},a.map(function(e){var a=c(t,e);return o["default"].createElement(i["default"],{path:a,key:a},o["default"].createElement(l.Link,{to:a},e.name))}))};var r=e("react"),o=n(r),l=e("react-router"),s=e("../li"),i=n(s),u=e("../../index"),c=(n(u),function(e,t){var a=e;return a+="rank"===t.component?t.slug:t.component,a+"/"})},{"../../index":276,"../li":53,react:"react","react-router":"react-router"}],268:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../../users-list"),d=n(c),f=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return u["default"].createElement("div",null,u["default"].createElement(d["default"],{cols:4,isReady:!1}))}}]),t}(u["default"].Component);a["default"]=f},{"../../users-list":258,react:"react"}],269:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return o["default"].createElement("div",null,o["default"].createElement(u["default"],{cols:4,isReady:!0,showStatus:!0,users:e.users}),o["default"].createElement(s["default"],e))};var r=e("react"),o=n(r),l=e("./pager"),s=n(l),i=e("../../users-list"),u=n(i)},{"../../users-list":258,"./pager":270,react:"react"}],270:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return d["default"].createElement("div",{className:"row row-paginator"},d["default"].createElement("div",{className:"col-xs-3"},d["default"].createElement(o,e)),d["default"].createElement("div",{className:"col-xs-3"},d["default"].createElement(l,e)),d["default"].createElement("div",{className:"col-xs-3"},d["default"].createElement(s,e)),d["default"].createElement("div",{className:"col-xs-3"},d["default"].createElement(i,e)));
+}function o(e){return e.isLoaded&&e.first?d["default"].createElement(f.Link,{className:"btn btn-default btn-block btn-icon btn-outline",onClick:m["default"],to:e.baseUrl,title:gettext("Go to first page")},d["default"].createElement("span",{className:"material-icon"},"first_page")):d["default"].createElement("span",{className:"btn btn-default btn-block btn-icon btn-outline disabled",title:gettext("Go to first page")},d["default"].createElement("span",{className:"material-icon"},"first_page"))}function l(e){if(e.isLoaded&&e.page>1){var t="";return e.previous&&(t=e.previous+"/"),d["default"].createElement(f.Link,{className:"btn btn-default btn-block btn-icon btn-outline",onClick:m["default"],to:e.baseUrl+t,title:gettext("Go to previous page")},d["default"].createElement("span",{className:"material-icon"},"chevron_left"))}return d["default"].createElement("span",{className:"btn btn-default btn-block btn-icon btn-outline disabled",title:gettext("Go to previous page")},d["default"].createElement("span",{className:"material-icon"},"chevron_left"))}function s(e){if(e.isLoaded&&e.more){var t="";return e.next&&(t=e.next+"/"),d["default"].createElement(f.Link,{className:"btn btn-default btn-block btn-icon btn-outline",onClick:m["default"],to:e.baseUrl+t,title:gettext("Go to next page")},d["default"].createElement("span",{className:"material-icon"},"chevron_right"))}return d["default"].createElement("span",{className:"btn btn-default btn-block btn-icon btn-outline disabled",title:gettext("Go to next page")},d["default"].createElement("span",{className:"material-icon"},"chevron_right"))}function i(e){return e.isLoaded&&e.last?d["default"].createElement(f.Link,{className:"btn btn-default btn-block btn-icon btn-outline",onClick:m["default"],to:e.baseUrl+e.last+"/",title:gettext("Go to last page")},d["default"].createElement("span",{className:"material-icon"},"last_page")):d["default"].createElement("span",{className:"btn btn-default btn-block btn-icon btn-outline disabled",title:gettext("Go to last page")},d["default"].createElement("span",{className:"material-icon"},"last_page"))}function u(e){var t=null;return e.more?(t=ngettext("There is %(more)s more member with this role.","There are %(more)s more members with this role.",e.more),t=interpolate(t,{more:e.more},!0)):t=gettext("There are no more members with this role."),d["default"].createElement("p",null,t)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return 1===e.pages?null:d["default"].createElement("div",{className:"row row-toolbar"},d["default"].createElement("div",{className:"col-xs-12 text-center visible-xs-block"},d["default"].createElement(u,{more:e.more}),d["default"].createElement("div",{className:"toolbar-vertical-spacer"})),d["default"].createElement("div",{className:"col-md-7"},d["default"].createElement("div",{className:"row"},d["default"].createElement("div",{className:"col-sm-4 col-md-5"},d["default"].createElement(r,e)),d["default"].createElement("div",{className:"col-sm-8 col-md-7 hidden-xs"},d["default"].createElement(u,{more:e.more})))))},a.Pager=r,a.FirstPage=o,a.PreviousPage=l,a.NextPage=s,a.LastPage=i,a.More=u;var c=e("react"),d=n(c),f=e("react-router"),p=e("../../../utils/reset-scroll"),m=n(p)},{"../../../utils/reset-scroll":361,react:"react","react-router":"react-router"}],271:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},i=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),u=e("react"),c=n(u),d=e("../../page-lead"),f=n(d),p=e("./list"),m=n(p),h=e("./list-loading"),b=n(h),v=e("../../../index"),y=n(v),g=e("../../../reducers/users"),_=e("../../../services/polls"),E=n(_),w=e("../../../services/store"),O=n(w),k=e("../../../services/page-title"),N=n(k),x=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.update=function(e){O["default"].dispatch((0,g.hydrate)(e.results)),e.isLoaded=!0,a.setState(e)},y["default"].has("USERS")?a.initWithPreloadedData(y["default"].pop("USERS")):a.initWithoutPreloadedData(),a.startPolling(e.params.page||1),a}return l(t,e),i(t,[{key:"initWithPreloadedData",value:function(e){this.state=Object.assign(e,{isLoaded:!0}),O["default"].dispatch((0,g.hydrate)(e.results))}},{key:"initWithoutPreloadedData",value:function(){this.state={isLoaded:!1}}},{key:"startPolling",value:function(e){E["default"].start({poll:"rank-users",url:y["default"].get("USERS_API"),data:{rank:this.props.route.rank.id,page:e},frequency:9e4,update:this.update})}},{key:"componentDidMount",value:function(){N["default"].set({title:this.props.route.rank.name,page:this.props.params.page||null,parent:gettext("Users")})}},{key:"componentWillUnmount",value:function(){E["default"].stop("rank-users")}},{key:"componentWillReceiveProps",value:function(e){this.props.params.page!==e.params.page&&(N["default"].set({title:this.props.route.rank.name,page:e.params.page||null,parent:gettext("Users")}),this.setState({isLoaded:!1}),E["default"].stop("rank-users"),this.startPolling(e.params.page))}},{key:"getClassName",value:function(){return this.props.route.rank.css_class?"rank-users-list rank-users-"+this.props.route.rank.css_class:"rank-users-list"}},{key:"getRankDescription",value:function(){return this.props.route.rank.description?c["default"].createElement("div",{className:"rank-description"},c["default"].createElement(f["default"],{copy:this.props.route.rank.description.html})):null}},{key:"getComponent",value:function(){if(this.state.isLoaded){if(this.state.count>0){var e=y["default"].get("USERS_LIST_URL")+this.props.route.rank.slug+"/";return c["default"].createElement(m["default"],s({baseUrl:e,users:this.props.users},this.state))}return c["default"].createElement("p",{className:"lead"},gettext("There are no users with this rank at the moment."))}return c["default"].createElement(b["default"],null)}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName()},c["default"].createElement("div",{className:"container"},this.getRankDescription(),this.getComponent()))}}]),t}(c["default"].Component);a["default"]=x},{"../../../index":276,"../../../reducers/users":336,"../../../services/page-title":345,"../../../services/polls":346,"../../../services/store":349,"../../page-lead":70,"./list":269,"./list-loading":268,react:"react"}],272:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return{tick:e.tick.tick,user:e.auth.user,users:e.users}}function i(){var e=[];return O["default"].get("USERS_LISTS").forEach(function(t){"rank"===t.component?(e.push({path:O["default"].get("USERS_LIST_URL")+t.slug+"/:page/",component:(0,f.connect)(s)(g["default"]),rank:t}),e.push({path:O["default"].get("USERS_LIST_URL")+t.slug+"/",component:(0,f.connect)(s)(g["default"]),rank:t})):"active-posters"===t.component&&e.push({path:O["default"].get("USERS_LIST_URL")+t.component+"/",component:(0,f.connect)(s)(v["default"]),extra:{name:t.name}})}),e}Object.defineProperty(a,"__esModule",{value:!0});var u=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.select=s,a.paths=i;var c=e("react"),d=n(c),f=e("react-redux"),p=e("../dropdown-toggle"),m=(n(p),e("./nav")),h=n(m),b=e("./active-posters/root"),v=n(b),y=e("./rank/root"),g=n(y),_=e("../with-dropdown"),E=n(_),w=e("../../index"),O=n(w),k=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),u(t,[{key:"render",value:function(){return d["default"].createElement("div",{className:"page page-users-lists"},d["default"].createElement("div",{className:"page-header-bg"},d["default"].createElement("div",{className:"page-header"},d["default"].createElement("div",{className:"container"},d["default"].createElement("h1",null,gettext("Users"))),d["default"].createElement("div",{className:"page-tabs"},d["default"].createElement("div",{className:"container"},d["default"].createElement(h["default"],{lists:O["default"].get("USERS_LISTS"),baseUrl:O["default"].get("USERS_LIST_URL")}))))),this.props.children)}}]),t}(E["default"]);a["default"]=k},{"../../index":276,"../dropdown-toggle":24,"../with-dropdown":273,"./active-posters/root":266,"./nav":267,"./rank/root":271,react:"react","react-redux":"react-redux"}],273:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=function(e){function t(e){r(this,t);var a=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.toggleNav=function(){a.setState({dropdown:!a.state.dropdown})},a.hideNav=function(){a.setState({dropdown:!1})},a.state={dropdown:!1},a}return l(t,e),s(t,[{key:"getCompactNavClassName",value:function(){return this.state.dropdown?"compact-nav open":"compact-nav"}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],274:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=function(e){function t(){var e,a,n,l;r(this,t);for(var s=arguments.length,i=Array(s),u=0;u<s;u++)i[u]=arguments[u];return a=n=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),n.toggle=function(){n.props.onChange({target:{value:!n.props.value}})},l=a,o(n,l)}return l(t,e),s(t,[{key:"getClassName",value:function(){return this.props.value?"btn btn-yes-no btn-yes-no-on":"btn btn-yes-no btn-yes-no-off"}},{key:"getIcon",value:function(){return this.props.value?this.props.iconOn||"check_box":this.props.iconOff||"check_box_outline_blank"}},{key:"getLabel",value:function(){return this.props.value?this.props.labelOn||gettext("yes"):this.props.labelOff||gettext("no")}},{key:"render",value:function(){return u["default"].createElement("button",{type:"button",onClick:this.toggle,className:this.getClassName(),id:this.props.id||null,"aria-describedby":this.props["aria-describedby"]||null,disabled:this.props.disabled||!1},u["default"].createElement("span",{className:"material-icon"},this.getIcon()),u["default"].createElement("span",{className:"btn-text"},this.getLabel()))}}]),t}(u["default"].Component);a["default"]=c},{react:"react"}],275:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../reducers/profile-details"),d=e("../services/ajax"),f=n(d),p=e("../services/snackbar"),m=n(p),h=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return l(t,e),s(t,[{key:"componentDidMount",value:function(){var e=this.props,t=e.data,a=e.dispatch,n=e.user;t&&t.id===n.id||f["default"].get(this.props.user.api.details).then(function(e){a((0,c.load)(e))},function(e){m["default"].apiError(e)})}},{key:"render",value:function(){return this.props.children}}]),t}(u["default"].Component);a["default"]=h},{"../reducers/profile-details":327,"../services/ajax":337,"../services/snackbar":348,react:"react"}],276:[function(e,t,a){(function(t){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0}),a.Misago=void 0;var o=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),l=e("./utils/ordered-list"),s=n(l),i=a.Misago=function(){function e(){r(this,e),this._initializers=[],this._context={}}return o(e,[{key:"addInitializer",value:function(e){this._initializers.push({key:e.name,item:e.initializer,after:e.after,before:e.before})}},{key:"init",value:function(e){var t=this;this._context=e;var a=new s["default"](this._initializers).orderedValues();a.forEach(function(e){e(t)})}},{key:"has",value:function(e){return!!this._context[e]}},{key:"get",value:function(e,t){return this.has(e)?this._context[e]:t||void 0}},{key:"pop",value:function(e){if(this.has(e)){var t=this._context[e];return this._context[e]=null,t}}}]),e}(),u=new i;t.misago=u,a["default"]=u}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./utils/ordered-list":359}],277:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){i["default"].init(l["default"].get("CSRF_COOKIE_NAME"))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../services/ajax"),i=n(s);l["default"].addInitializer({name:"ajax",initializer:r})},{"../index":276,"../services/ajax":337}],278:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.get("isAuthenticated")&&window.setInterval(function(){u["default"].get(e.get("AUTH_API")).then(function(e){p["default"].dispatch((0,s.patch)(e))},function(e){d["default"].apiError(e)})},1e3*m)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../reducers/auth"),i=e("../services/ajax"),u=n(i),c=e("../services/snackbar"),d=n(c),f=e("../services/store"),p=n(f),m=45;l["default"].addInitializer({name:"auth-sync",initializer:r,after:"auth"})},{"../index":276,"../reducers/auth":322,"../services/ajax":337,"../services/snackbar":348,"../services/store":349}],279:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){i["default"].init(f["default"],m["default"],c["default"])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../services/auth"),i=n(s),u=e("../services/modal"),c=n(u),d=e("../services/store"),f=n(d),p=e("../services/local-storage"),m=n(p);l["default"].addInitializer({name:"auth",initializer:r,after:"store"})},{"../index":276,"../services/auth":338,"../services/local-storage":341,"../services/modal":343,"../services/store":349}],280:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){c["default"].init(e,i["default"],f["default"],m["default"])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../services/ajax"),i=n(s),u=e("../services/captcha"),c=n(u),d=e("../services/include"),f=n(d),p=e("../services/snackbar"),m=n(p);l["default"].addInitializer({name:"captcha",initializer:r})},{"../index":276,"../services/ajax":337,"../services/captcha":339,"../services/include":340,"../services/snackbar":348}],281:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){(0,d["default"])((0,o.connect)(i.select)(u["default"]),"auth-message-mount")}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("react-redux"),l=e("../../index"),s=n(l),i=e("../../components/auth-message"),u=n(i),c=e("../../utils/mount-component"),d=n(c);s["default"].addInitializer({name:"component:auth-message",initializer:r,after:"store"})},{"../../components/auth-message":2,"../../index":276,"../../utils/mount-component":358,"react-redux":"react-redux"}],282:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.has("BAN_MESSAGE")&&(0,i["default"])(e.get("BAN_MESSAGE"),!1)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../utils/banned-page"),i=n(s);l["default"].addInitializer({name:"component:banmed-page",initializer:r,after:"store"})},{"../../index":276,"../../utils/banned-page":351}],283:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){document.getElementById("categories-mount")&&(0,d["default"])((0,o.connect)(l.select)(s["default"]),"categories-mount")}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("react-redux"),l=e("../../components/categories"),s=n(l),i=e("../../index"),u=n(i),c=e("../../utils/mount-component"),d=n(c);u["default"].addInitializer({name:"component:categories",initializer:r,after:"store"})},{"../../components/categories":17,"../../index":276,"../../utils/mount-component":358,"react-redux":"react-redux"}],284:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.has("USER_OPTIONS")&&(0,c["default"])({root:i["default"].get("USERCP_URL"),component:l["default"],paths:(0,o.paths)()})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../components/options/root"),l=n(o),s=e("../../index"),i=n(s),u=e("../../utils/routed-component"),c=n(u);i["default"].addInitializer({name:"component:options",initializer:r,after:"store"})},{"../../components/options/root":66,"../../index":276,"../../utils/routed-component":362}],285:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.has("PROFILE")&&e.has("PROFILE_PAGES")&&(0,d["default"])({root:u["default"].get("PROFILE").url,component:(0,o.connect)(l.select)(s["default"]),paths:(0,l.paths)()})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("react-redux"),l=e("../../components/profile/root"),s=n(l),i=e("../../index"),u=n(i),c=e("../../utils/routed-component"),d=n(c);u["default"].addInitializer({name:"component:profile",initializer:r,after:"reducer:profile-hydrate"})},{"../../components/profile/root":173,"../../index":276,"../../utils/routed-component":362,"react-redux":"react-redux"}],286:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){document.getElementById("request-activation-link-mount")&&(0,c["default"])(i["default"],"request-activation-link-mount",!1)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../components/request-activation-link"),i=n(s),u=e("../../utils/mount-component"),c=n(u);l["default"].addInitializer({name:"component:request-activation-link",initializer:r,after:"store"})},{"../../components/request-activation-link":178,"../../index":276,"../../utils/mount-component":358}],287:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){document.getElementById("request-password-reset-mount")&&(0,c["default"])(i["default"],"request-password-reset-mount",!1)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../components/request-password-reset"),i=n(s),u=e("../../utils/mount-component"),c=n(u);l["default"].addInitializer({name:"component:request-password-reset",initializer:r,after:"store"})},{"../../components/request-password-reset":179,"../../index":276,"../../utils/mount-component":358}],288:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){document.getElementById("reset-password-form-mount")&&(0,c["default"])(i["default"],"reset-password-form-mount",!1)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../.."),l=n(o),s=e("../../components/reset-password-form"),i=n(s),u=e("../../utils/mount-component"),c=n(u);l["default"].addInitializer({name:"component:reset-password-form",initializer:r,after:"store"})},{"../..":276,"../../components/reset-password-form":180,"../../utils/mount-component":358}],289:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){"misago:search"===e.get("CURRENT_LINK")&&(0,c["default"])({paths:(0,l["default"])(i["default"].get("SEARCH_PROVIDERS"))})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../components/search"),l=n(o),s=e("../.."),i=n(s),u=e("../../utils/routed-component"),c=n(u);i["default"].addInitializer({name:"component:search",initializer:r,after:"store"})},{"../..":276,"../../components/search":182,"../../utils/routed-component":362}],290:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){(0,c["default"])((0,o.connect)(i.select)(i.Snackbar),"snackbar-mount")}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("react-redux"),l=e("../../index"),s=n(l),i=e("../../components/snackbar"),u=e("../../utils/mount-component"),c=n(u);s["default"].addInitializer({name:"component:snackbar",initializer:r,after:"snackbar"})},{"../../components/snackbar":190,"../../index":276,"../../utils/mount-component":358,"react-redux":"react-redux"}],291:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.has("THREAD")&&e.has("POSTS")&&(0,u["default"])({paths:(0,o.paths)()})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../components/thread/root"),l=e("../../index"),s=n(l),i=e("../../utils/routed-component"),u=n(i);s["default"].addInitializer({name:"component:thread",initializer:r,after:"store"})},{"../../components/thread/root":207,"../../index":276,"../../utils/routed-component":362}],292:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.has("THREADS")&&e.has("CATEGORIES")&&(0,c["default"])({paths:(0,l.paths)(e.get("user"),o(e))})}function o(e){var t=e.get("CURRENT_LINK");return t.substr(0,d.length)===d?{api:e.get("PRIVATE_THREADS_API"),startThread:{mode:"START_PRIVATE",submit:i["default"].get("PRIVATE_THREADS_API")},title:gettext("Private threads"),pageLead:gettext("Private threads are threads which only those that started them and those they have invited may see and participate in."),emptyMessage:gettext("You aren't participating in any private threads.")}:{api:e.get("THREADS_API")}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r,a.getListOptions=o;var l=e("../../components/threads/root"),s=e("../../index"),i=n(s),u=e("../../utils/routed-component"),c=n(u),d="misago:private-threads";i["default"].addInitializer({name:"component:threads",initializer:r,after:"store"})},{"../../components/threads/root":241,"../../index":276,"../../utils/routed-component":362}],293:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){(0,c["default"])((0,o.connect)(i.select)(i.UserMenu),"user-menu-mount"),(0,c["default"])((0,o.connect)(i.select)(i.CompactUserMenu),"user-menu-compact-mount")}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("react-redux"),l=e("../../index"),s=n(l),i=e("../../components/user-menu/root"),u=e("../../utils/mount-component"),c=n(u);s["default"].addInitializer({name:"component:user-menu",initializer:r,after:"store"})},{"../../components/user-menu/root":246,"../../index":276,"../../utils/mount-component":358,"react-redux":"react-redux"}],294:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.has("USERS_LISTS")&&(0,c["default"])({root:i["default"].get("USERS_LIST_URL"),component:l["default"],paths:(0,o.paths)()})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../components/users/root"),l=n(o),s=e("../../index"),i=n(s),u=e("../../utils/routed-component"),c=n(u);i["default"].addInitializer({name:"component:users",initializer:r,after:"store"})},{"../../components/users/root":272,"../../index":276,"../../utils/routed-component":362}],295:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){i["default"].init(e.get("STATIC_URL"))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../services/include"),i=n(s);l["default"].addInitializer({name:"include",initializer:r})},{"../index":276,"../services/include":340}],296:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){i["default"].init("misago_")}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../services/local-storage"),i=n(s);l["default"].addInitializer({name:"local-storage",initializer:r})},{"../index":276,"../services/local-storage":341}],297:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=document.getElementById("mobile-navbar-dropdown-mount");e&&i["default"].init(e)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../services/mobile-navbar-dropdown"),i=n(s);l["default"].addInitializer({name:"dropdown",initializer:r,before:"store"})},{"../index":276,"../services/mobile-navbar-dropdown":342}],298:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=document.getElementById("modal-mount");e&&i["default"].init(e)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../services/modal"),i=n(s);l["default"].addInitializer({name:"modal",initializer:r,before:"store"})},{"../index":276,"../services/modal":343}],299:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){l["default"].locale($("html").attr("lang"))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("moment"),l=n(o),s=e("../index"),i=n(s);i["default"].addInitializer({name:"moment",initializer:r})},{"../index":276,moment:"moment"}],300:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){i["default"].init(e.get("SETTINGS").forum_index_title,e.get("SETTINGS").forum_name)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../services/page-title"),i=n(s);l["default"].addInitializer({name:"page-title",initializer:r})},{"../index":276,"../services/page-title":345}],301:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){f["default"].init(i["default"],c["default"])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../services/ajax"),i=n(s),u=e("../services/snackbar"),c=n(u),d=e("../services/polls"),f=n(d);l["default"].addInitializer({name:"polls",initializer:r})},{"../index":276,"../services/ajax":337,"../services/polls":346,"../services/snackbar":348}],302:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].init(i["default"],f["default"],document.getElementById("posting-placeholder"))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../services/ajax"),i=n(s),u=e("../services/posting"),c=n(u),d=e("../services/snackbar"),f=n(d);l["default"].addInitializer({name:"posting",initializer:r})},{"../index":276,"../services/ajax":337,"../services/posting":347,"../services/snackbar":348}],303:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){c["default"].addReducer("auth",i["default"],Object.assign({isAuthenticated:e.get("isAuthenticated"),isAnonymous:!e.get("isAuthenticated"),user:e.get("user")},s.initialState))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/auth"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:auth",initializer:r,before:"store"})},{"../../index":276,"../../reducers/auth":322,"../../services/store":349}],304:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=null;l["default"].has("THREAD")&&(e=l["default"].get("THREAD").participants),c["default"].addReducer("participants",i["default"],e||[])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/participants"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:participants",initializer:r,before:"store"})},{"../../index":276,"../../reducers/participants":323,
+"../../services/store":349}],305:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=null;e=l["default"].has("THREAD")&&l["default"].get("THREAD").poll?(0,s.hydrate)(l["default"].get("THREAD").poll):{isBusy:!1},c["default"].addReducer("poll",i["default"],e)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/poll"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:poll",initializer:r,before:"store"})},{"../../index":276,"../../reducers/poll":324,"../../services/store":349}],306:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=null;e=l["default"].has("POSTS")?(0,s.hydrate)(l["default"].get("POSTS")):{isLoaded:!1,isBusy:!1},c["default"].addReducer("posts",i["default"],e)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/posts"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:posts",initializer:r,before:"store"})},{"../../index":276,"../../reducers/posts":326,"../../services/store":349}],307:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=null;l["default"].has("PROFILE_DETAILS")&&(e=l["default"].get("PROFILE_DETAILS")),c["default"].addReducer("profile-details",i["default"],e||{})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/profile-details"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:profile-details",initializer:r,before:"store"})},{"../../index":276,"../../reducers/profile-details":327,"../../services/store":349}],308:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){l["default"].has("PROFILE")&&u["default"].dispatch((0,s.hydrate)(l["default"].get("PROFILE")))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/profile"),i=e("../../services/store"),u=n(i);l["default"].addInitializer({name:"reducer:profile-hydrate",initializer:r,after:"store"})},{"../../index":276,"../../reducers/profile":328,"../../services/store":349}],309:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("profile",i["default"],{})}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/profile"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:profile",initializer:r,before:"store"})},{"../../index":276,"../../reducers/profile":328,"../../services/store":349}],310:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("search",i["default"],Object.assign({},s.initialState,{providers:l["default"].get("SEARCH_PROVIDERS")||[]}))}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../.."),l=n(o),s=e("../../reducers/search"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:search",initializer:r,before:"store"})},{"../..":276,"../../reducers/search":329,"../../services/store":349}],311:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("selection",i["default"],[])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/selection"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:selection",initializer:r,before:"store"})},{"../../index":276,"../../reducers/selection":330,"../../services/store":349}],312:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("snackbar",i["default"],s.initialState)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/snackbar"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:snackbar",initializer:r,before:"store"})},{"../../index":276,"../../reducers/snackbar":331,"../../services/store":349}],313:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=null;e=l["default"].has("THREAD")?(0,s.hydrate)(l["default"].get("THREAD")):{isBusy:!1},c["default"].addReducer("thread",i["default"],e)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/thread"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:thread",initializer:r,before:"store"})},{"../../index":276,"../../reducers/thread":332,"../../services/store":349}],314:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("threads",i["default"],[])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/threads"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:threads",initializer:r,before:"store"})},{"../../index":276,"../../reducers/threads":333,"../../services/store":349}],315:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("tick",i["default"],s.initialState)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/tick"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:tick",initializer:r,before:"store"})},{"../../index":276,"../../reducers/tick":334,"../../services/store":349}],316:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("username-history",i["default"],[])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/username-history"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:username-history",initializer:r,before:"store"})},{"../../index":276,"../../reducers/username-history":335,"../../services/store":349}],317:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("users",i["default"],[])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../../index"),l=n(o),s=e("../../reducers/users"),i=n(s),u=e("../../services/store"),c=n(u);l["default"].addInitializer({name:"reducer:users",initializer:r,before:"store"})},{"../../index":276,"../../reducers/users":336,"../../services/store":349}],318:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){i["default"].init(c["default"])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../services/snackbar"),i=n(s),u=e("../services/store"),c=n(u);l["default"].addInitializer({name:"snackbar",initializer:r,after:"store"})},{"../index":276,"../services/snackbar":348,"../services/store":349}],319:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){i["default"].init()}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../services/store"),i=n(s);l["default"].addInitializer({name:"store",initializer:r,before:"_end"})},{"../index":276,"../services/store":349}],320:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){window.setInterval(function(){u["default"].dispatch((0,s.doTick)())},c)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../reducers/tick"),i=e("../services/store"),u=n(i),c=5e4;l["default"].addInitializer({name:"tick-start",initializer:r,after:"store"})},{"../index":276,"../reducers/tick":334,"../services/store":349}],321:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].init(i["default"])}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=r;var o=e("../index"),l=n(o),s=e("../services/include"),i=n(s),u=e("../services/zxcvbn"),c=n(u);l["default"].addInitializer({name:"zxcvbn",initializer:r})},{"../index":276,"../services/include":340,"../services/zxcvbn":350}],322:[function(e,t,a){"use strict";function n(e){return{type:u,patch:e}}function r(e){return{type:c,user:e}}function o(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return{type:d,soft:e}}function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case u:var a=Object.assign({},e);return a.user=Object.assign({},e.user,t.patch),a;case c:return Object.assign({},e,{signedIn:t.user});case d:return Object.assign({},e,{isAuthenticated:!1,isAnonymous:!0,signedOut:!t.soft});case s.UPDATE_AVATAR:if(e.isAuthenticated&&e.user.id===t.userId){var n=Object.assign({},e);return n.user=Object.assign({},e.user,{avatars:t.avatars}),n}return e;case s.UPDATE_USERNAME:if(e.isAuthenticated&&e.user.id===t.userId){var r=Object.assign({},e);return r.user=Object.assign({},e.user,{username:t.username,slug:t.slug}),r}return e;default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.SIGN_OUT=a.SIGN_IN=a.PATCH_USER=a.initialState=void 0,a.patch=n,a.signIn=r,a.signOut=o,a["default"]=l;var s=e("./users"),i=a.initialState={signedIn:!1,signedOut:!1},u=a.PATCH_USER="PATCH_USER",c=a.SIGN_IN="SIGN_IN",d=a.SIGN_OUT="SIGN_OUT"},{"./users":336}],323:[function(e,t,a){"use strict";function n(e){return{type:o,state:e}}function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case o:return t.state;default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.replace=n,a["default"]=r;var o=a.REPLACE_PARTICIPANTS="REPLACE_PARTICIPANTS"},{}],324:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=!1;for(var a in e.choices){var n=e.choices[a];if(n.selected){t=!0;break}}return Object.assign({},e,{posted_on:(0,f["default"])(e.posted_on),hasSelectedChoices:t,endsOn:e.length?(0,f["default"])(e.posted_on).add(e.length,"days"):null,isBusy:!1})}function o(){return{type:p}}function l(){return{type:m}}function s(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:b,state:t?e:r(e)}}function i(e){return{type:v,data:e}}function u(){return{type:h}}function c(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case p:return Object.assign({},e,{isBusy:!0});case m:return Object.assign({},e,{isBusy:!1});case h:return{isBusy:!1};case b:return t.state;case v:return Object.assign({},e,t.data);default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.UPDATE_POLL=a.REPLACE_POLL=a.REMOVE_POLL=a.RELEASE_POLL=a.BUSY_POLL=void 0,a.hydrate=r,a.busy=o,a.release=l,a.replace=s,a.update=i,a.remove=u,a["default"]=c;var d=e("moment"),f=n(d),p=a.BUSY_POLL="BUSY_POLL",m=a.RELEASE_POLL="RELEASE_POLL",h=a.REMOVE_POLL="REMOVE_POLL",b=a.REPLACE_POLL="REPLACE_POLL",v=a.UPDATE_POLL="UPDATE_POLL"},{moment:"moment"}],325:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return Object.assign({},e,{posted_on:(0,u["default"])(e.posted_on),updated_on:(0,u["default"])(e.updated_on),hidden_on:(0,u["default"])(e.hidden_on),attachments:e.attachments?e.attachments.map(o):null,poster:e.poster?(0,c.hydrateUser)(e.poster):null,isSelected:!1,isBusy:!1,isDeleted:!1})}function o(e){return Object.assign({},e,{uploaded_on:(0,u["default"])(e.uploaded_on)})}function l(e,t){return{type:d,post:e,patch:t}}function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case d:return e.id==t.post.id?Object.assign({},e,t.patch):e;default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.PATCH_POST=void 0,a.hydrate=r,a.hydrateAttachment=o,a.patch=l,a["default"]=s;var i=e("moment"),u=n(i),c=e("./users"),d=a.PATCH_POST="PATCH_POST"},{"./users":336,moment:"moment"}],326:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return{type:v,post:e}}function o(e){return{type:y,post:e}}function l(){return{type:g}}function s(e){return Object.assign({},e,{results:e.results.map(m.hydrate),isLoaded:!0,isBusy:!1,isSelected:!1})}function i(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:_,state:t?e:s(e)}}function u(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:b,state:t?e:s(e)}}function c(){return{type:E}}function d(e){return{type:w,update:e}}function f(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=function(){switch(t.type){case v:var a=e.results.map(function(e){return e.id==t.post.id?Object.assign({},e,{isSelected:!0}):e});return{v:Object.assign({},e,{results:a})};case y:var n=e.results.map(function(e){return e.id==t.post.id?Object.assign({},e,{isSelected:!1}):e});return{v:Object.assign({},e,{results:n})};case g:var r=e.results.map(function(e){return Object.assign({},e,{isSelected:!1})});return{v:Object.assign({},e,{results:r})};case b:var o=e.results.slice(),l=e.results.map(function(e){return e.id});return t.state.results.map(function(e){l.indexOf(e.id)===-1&&o.push(e)}),{v:Object.assign({},t.state,{results:o})};case _:return{v:t.state};case E:return{v:Object.assign({},e,{isLoaded:!1})};case w:return{v:Object.assign({},e,t.update)};case m.PATCH_POST:var s=e.results.map(function(e){return(0,h["default"])(e,t)});return{v:Object.assign({},e,{results:s})};default:return{v:e}}}();if("object"===("undefined"==typeof a?"undefined":p(a)))return a.v}Object.defineProperty(a,"__esModule",{value:!0}),a.UPDATE_POSTS=a.UNLOAD_POSTS=a.LOAD_POSTS=a.DESELECT_POSTS=a.DESELECT_POST=a.SELECT_POST=a.APPEND_POSTS=void 0;var p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};a.select=r,a.deselect=o,a.deselectAll=l,a.hydrate=s,a.load=i,a.append=u,a.unload=c,a.update=d,a["default"]=f;var m=e("./post"),h=n(m),b=a.APPEND_POSTS="APPEND_POSTS",v=a.SELECT_POST="SELECT_POST",y=a.DESELECT_POST="DESELECT_POST",g=a.DESELECT_POSTS="DESELECT_POSTS",_=a.LOAD_POSTS="LOAD_POSTS",E=a.UNLOAD_POSTS="UNLOAD_POSTS",w=a.UPDATE_POSTS="UPDATE_POSTS"},{"./post":325}],327:[function(e,t,a){"use strict";function n(e){return{type:o,newState:e}}function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case o:return t.newState;default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.load=n,a["default"]=r;var o=a.LOAD_DETAILS="LOAD_DETAILS"},{}],328:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return{type:c,profile:e}}function o(e){return{type:d,patch:e}}function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case c:return Object.assign({},t.profile,{joined_on:(0,i["default"])(t.profile.joined_on),status:(0,u.hydrateStatus)(t.profile.status)});case d:return Object.assign({},e,t.patch);case u.UPDATE_AVATAR:return e.id===t.userId?Object.assign({},e,{avatars:t.avatars}):e;case u.UPDATE_USERNAME:return e.id===t.userId?Object.assign({},e,{username:t.username,slug:t.slug}):e;default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.PATCH_PROFILE=a.HYDRATE_PROFILE=void 0,a.hydrate=r,a.patch=o,a["default"]=l;var s=e("moment"),i=n(s),u=e("./users"),c=a.HYDRATE_PROFILE="HYDRATE_PROFILE",d=a.PATCH_PROFILE="PATCH_PROFILE"},{"./users":336,moment:"moment"}],329:[function(e,t,a){"use strict";function n(e){return{type:s,state:{isLoading:!1,providers:e}}}function r(e){return{type:i,update:e}}function o(e){return{type:u,provider:e}}function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case s:return t.state;case i:return Object.assign({},e,t.update);case u:return Object.assign({},e,{providers:e.providers.map(function(e){return e.id===t.provider.id?t.provider:e})});default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.replace=n,a.update=r,a.updateProvider=o,a["default"]=l;var s=a.REPLACE_SEARCH="REPLACE_SEARCH",i=a.UPDATE_SEARCH="UPDATE_SEARCH",u=a.UPDATE_SEARCH_PROVIDER="UPDATE_SEARCH_PROVIDER";a.initialState={isLoading:!1,query:"",providers:[]}},{}],330:[function(e,t,a){"use strict";function n(e){return{type:i,items:e}}function r(){return{type:u}}function o(e){return{type:c,item:e}}function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case i:return t.items;case u:return[];case c:return(0,s.toggle)(e,t.item);default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.SELECT_ITEM=a.SELECT_NONE=a.SELECT_ALL=void 0,a.all=n,a.none=r,a.item=o,a["default"]=l;var s=e("../utils/sets"),i=a.SELECT_ALL="SELECT_ALL",u=a.SELECT_NONE="SELECT_NONE",c=a.SELECT_ITEM="SELECT_ITEM"},{"../utils/sets":363}],331:[function(e,t,a){"use strict";function n(e,t){return{type:s,message:e,messageType:t}}function r(){return{type:i}}function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return t.type===s?{type:t.messageType,message:t.message,isVisible:!0}:t.type===i?Object.assign({},e,{isVisible:!1}):e}Object.defineProperty(a,"__esModule",{value:!0}),a.showSnackbar=n,a.hideSnackbar=r,a["default"]=o;var l=a.initialState={type:"info",message:"",isVisible:!1},s=a.SHOW_SNACKBAR="SHOW_SNACKBAR",i=a.HIDE_SNACKBAR="HIDE_SNACKBAR"},{}],332:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return Object.assign({},e,{started_on:(0,f["default"])(e.started_on),last_post_on:(0,f["default"])(e.last_post_on),isBusy:!1})}function o(){return{type:m}}function l(){return{type:h}}function s(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:b,state:t?e:r(e)}}function i(e){return{type:v,data:e}}function u(e){return{type:y,data:e}}function c(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case m:return Object.assign({},e,{isBusy:!0});case h:return Object.assign({},e,{isBusy:!1});case p.REMOVE_POLL:return Object.assign({},e,{poll:null});case p.REPLACE_POLL:return Object.assign({},e,{poll:t.state});case b:return t.state;case v:return Object.assign({},e,t.data);case y:var a=Object.assign({},e.acl,t.data);return Object.assign({},e,{acl:a});default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.UPDATE_THREAD_ACL=a.UPDATE_THREAD=a.REPLACE_THREAD=a.RELEASE_THREAD=a.BUSY_THREAD=void 0,a.hydrate=r,a.busy=o,a.release=l,a.replace=s,a.update=i,a.updateAcl=u,a["default"]=c;var d=e("moment"),f=n(d),p=e("./poll"),m=a.BUSY_THREAD="BUSY_THREAD",h=a.RELEASE_THREAD="RELEASE_THREAD",b=a.REPLACE_THREAD="REPLACE_THREAD",v=a.UPDATE_THREAD="UPDATE_THREAD",y=a.UPDATE_THREAD_ACL="UPDATE_THREAD_ACL"},{"./poll":324,moment:"moment"}],333:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){return{type:y,items:e,sorting:t}}function o(e){return{type:g,thread:e}}function l(e,t){return{type:_,category:e,categoriesMap:t}}function s(e){return{type:E,items:e}}function i(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return{type:w,thread:e,patch:t,sorting:a}}function u(e,t){return{type:O,categoriesMap:e,category:t}}function c(e){return{type:k,sorting:e}}function d(e){var t=[];return N.forEach(function(a){e[a]&&t.push(a)}),t}function f(e){return Object.assign({},e,{started_on:(0,h["default"])(e.started_on),last_post_on:(0,h["default"])(e.last_post_on),moderation:d(e.acl)})}function p(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case y:var a=(0,v["default"])(t.items.map(f),e);return a.sort(t.sorting);case g:return e.filter(function(e){return e.id!==t.thread.id});case _:return e.filter(function(e){var a=t.categoriesMap[e.category];return a.lft>=t.category.lft&&a.rght<=t.category.rght||2==e.weight});case E:return t.items.map(f);case w:var n=e.map(function(e){return e.id===t.thread.id?Object.assign({},e,t.patch):e});return t.sorting?n.sort(t.sorting):n;case O:return e.map(function(e){var a=t.categoriesMap[e.category];return a.lft>=t.category.lft&&a.rght<=t.category.rght?Object.assign({},e,{is_read:!0}):e});case k:return e.sort(t.sorting);default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.MODERATION_PERMISSIONS=a.SORT_THREADS=a.READ_THREADS=a.PATCH_THREAD=a.HYDRATE_THREADS=a.FILTER_THREADS=a.DELETE_THREAD=a.APPEND_THREADS=void 0,a.append=r,a.deleteThread=o,a.filterThreads=l,a.hydrate=s,a.patch=i,a.read=u,a.sort=c,a.getThreadModerationOptions=d,a.hydrateThread=f,a["default"]=p;var m=e("moment"),h=n(m),b=e("../utils/concat-unique"),v=n(b),y=a.APPEND_THREADS="APPEND_THREADS",g=a.DELETE_THREAD="DELETE_THREAD",_=a.FILTER_THREADS="FILTER_THREADS",E=a.HYDRATE_THREADS="HYDRATE_THREADS",w=a.PATCH_THREAD="PATCH_THREAD",O=a.READ_THREADS="READ_THREADS",k=a.SORT_THREADS="SORT_THREADS",N=a.MODERATION_PERMISSIONS=["can_announce","can_approve","can_close","can_hide","can_move","can_merge","can_pin","can_review"]},{"../utils/concat-unique":353,moment:"moment"}],334:[function(e,t,a){"use strict";function n(){return{type:l}}function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return t.type===l?Object.assign({},e,{tick:e.tick+1}):e}Object.defineProperty(a,"__esModule",{value:!0}),a.doTick=n,a["default"]=r;var o=a.initialState={tick:0},l=a.TICK="TICK"},{}],335:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t,a){return{type:m,change:e,user:t,changedBy:a}}function o(e){return{type:h,items:e}}function l(e){return{type:b,items:e}}function s(e){return Object.assign({},e,{changed_on:(0,c["default"])(e.changed_on)})}function i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case m:var a=e.slice();return a.unshift({id:Math.floor(Date.now()/1e3),changed_by:t.changedBy,changed_by_username:t.changedBy.username,changed_on:(0,c["default"])(),new_username:t.change.username,old_username:t.user.username}),a;case h:return(0,p["default"])(e,t.items.map(s));case b:return t.items.map(s);case d.UPDATE_AVATAR:return e.map(function(e){return e=Object.assign({},e),e.changed_by&&e.changed_by.id===t.userId&&(e.changed_by=Object.assign({},e.changed_by,{avatars:t.avatars})),e});case d.UPDATE_USERNAME:return e.map(function(e){return e=Object.assign({},e),e.changed_by&&e.changed_by.id===t.userId&&(e.changed_by=Object.assign({},e.changed_by,{username:t.username,slug:t.slug})),Object.assign({},e)});default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.HYDRATE_HISTORY=a.APPEND_HISTORY=a.ADD_NAME_CHANGE=void 0,a.addNameChange=r,a.append=o,a.hydrate=l,a.hydrateNamechange=s,a["default"]=i;var u=e("moment"),c=n(u),d=e("./users"),f=e("../utils/concat-unique"),p=n(f),m=a.ADD_NAME_CHANGE="ADD_NAME_CHANGE",h=a.APPEND_HISTORY="APPEND_HISTORY",b=a.HYDRATE_HISTORY="HYDRATE_HISTORY"},{"../utils/concat-unique":353,"./users":336,moment:"moment"}],336:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e){return{type:h,items:e}}function o(e){return{type:b,items:e}}function l(e){return e?Object.assign({},e,{last_click:e.last_click?(0,f["default"])(e.last_click):null,banned_until:e.banned_until?(0,f["default"])(e.banned_until):null}):null}function s(e){return Object.assign({},e,{joined_on:(0,f["default"])(e.joined_on),status:l(e.status)})}function i(e,t){return{type:v,userId:e.id,avatars:t}}function u(e,t,a){return{type:y,userId:e.id,username:t,slug:a}}function c(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(t.type){case h:return(0,m["default"])(e,t.items.map(s));case b:return t.items.map(s);case v:return e.map(function(e){return e=Object.assign({},e),e.id===t.userId&&(e.avatars=t.avatars),e});default:return e}}Object.defineProperty(a,"__esModule",{value:!0}),a.UPDATE_USERNAME=a.UPDATE_AVATAR=a.HYDRATE_USERS=a.APPEND_USERS=void 0,a.append=r,a.hydrate=o,a.hydrateStatus=l,a.hydrateUser=s,a.updateAvatar=i,a.updateUsername=u,a["default"]=c;var d=e("moment"),f=n(d),p=e("../utils/concat-unique"),m=n(p),h=a.APPEND_USERS="APPEND_USERS",b=a.HYDRATE_USERS="HYDRATE_USERS",v=a.UPDATE_AVATAR="UPDATE_AVATAR",y=a.UPDATE_USERNAME="UPDATE_USERNAME"},{"../utils/concat-unique":353,moment:"moment"}],337:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),l=a.Ajax=function(){function e(){n(this,e),this._cookieName=null,this._csrfToken=null,this._locks={}}return o(e,[{key:"init",value:function(e){this._cookieName=e}},{key:"getCsrfToken",value:function(){if(document.cookie.indexOf(this._cookieName)!==-1){var e=new RegExp(this._cookieName+"=([^;]*)"),t=document.cookie.match(e)[0];return t?t.split("=")[1]:null}return null}},{key:"request",value:function(e,t,a){var n=this;return new Promise(function(r,o){var l={url:t,method:e,headers:{"X-CSRFToken":n.getCsrfToken()},data:a?JSON.stringify(a):null,contentType:"application/json; charset=utf-8",dataType:"json",success:function(e){r(e)},error:function(e){var t=e.responseJSON||{};t.status=e.status,0===t.status&&(t.detail=gettext("Lost connection with application.")),404===t.status&&(t.detail&&"NOT FOUND"!==t.detail||(t.detail=gettext("Action link is invalid."))),500!==t.status||t.detail||(t.detail=gettext("Unknown error has occured.")),t.statusText=e.statusText,o(t)}};$.ajax(l)})}},{key:"get",value:function(e,t,a){var n=this;if(t&&(e+="?"+$.param(t)),!a)return this.request("GET",e);var o=function(){var t=n;return n._locks[a]&&(n._locks[a].url=e),n._locks[a]&&n._locks[a].waiter?{v:{then:function(){}}}:n._locks[a]&&n._locks[a].wait?(n._locks[a].waiter=!0,{v:new Promise(function(n,r){var o=function l(e){t._locks[a].wait?window.setTimeout(function(){l(e)},300):t._locks[a].url!==e?l(t._locks[a].url):(t._locks[a].waiter=!1,t.request("GET",t._locks[a].url).then(function(r){t._locks[a].url===e?n(r):(t._locks[a].waiter=!0,l(t._locks[a].url))},function(n){t._locks[a].url===e?r(n):(t._locks[a].waiter=!0,l(t._locks[a].url))}))};window.setTimeout(function(){o(e)},300)})}):(n._locks[a]={url:e,wait:!0,waiter:!1},{v:new Promise(function(n,r){t.request("GET",e).then(function(r){t._locks[a].wait=!1,t._locks[a].url===e&&n(r)},function(n){t._locks[a].wait=!1,t._locks[a].url===e&&r(n)})})})}();return"object"===("undefined"==typeof o?"undefined":r(o))?o.v:void 0}},{key:"post",value:function(e,t){return this.request("POST",e,t)}},{key:"patch",value:function(e,t){return this.request("PATCH",e,t)}},{key:"put",value:function(e,t){return this.request("PUT",e,t)}},{key:"delete",value:function(e,t){return this.request("DELETE",e,t)}},{key:"upload",value:function(e,t,a){var n=this;return new Promise(function(r,o){var l={url:e,method:"POST",headers:{"X-CSRFToken":n.getCsrfToken()},data:t,contentType:!1,processData:!1,xhr:function s(){var s=new window.XMLHttpRequest;return s.upload.addEventListener("progress",function(e){e.lengthComputable&&a(Math.round(e.loaded/e.total*100))},!1),s},success:function(e){r(e)},error:function(e){var t=e.responseJSON||{};t.status=e.status,0===t.status&&(t.detail=gettext("Lost connection with application.")),413!==t.status||t.detail||(t.detail=gettext("Upload was rejected by server as too large.")),404===t.status&&(t.detail&&"NOT FOUND"!==t.detail||(t.detail=gettext("Action link is invalid."))),500!==t.status||t.detail||(t.detail=gettext("Unknown error has occured.")),t.statusText=e.statusText,o(t)}};$.ajax(l)})}}]),e}();a["default"]=new l},{}],338:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0}),a.Auth=void 0;var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),o=e("../reducers/auth"),l=a.Auth=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e,t,a){this._store=e,this._local=t,this._modal=a,this.syncSession(),this.watchState()}},{key:"syncSession",value:function(){var e=this._store.getState().auth;e.isAuthenticated?this._local.set("auth",{isAuthenticated:!0,username:e.user.username}):this._local.set("auth",{isAuthenticated:!1})}},{key:"watchState",value:function(){var e=this;this._local.watch("auth",function(t){t.isAuthenticated?e._store.dispatch((0,o.signIn)({username:t.username})):e._store.dispatch((0,o.signOut)())}),this._modal.hide()}},{key:"signIn",value:function(e){this._store.dispatch((0,o.signIn)(e)),this._local.set("auth",{isAuthenticated:!0,username:e.username}),this._modal.hide()}},{key:"signOut",value:function(){this._store.dispatch((0,o.signOut)()),this._local.set("auth",{isAuthenticated:!1}),this._modal.hide()}},{key:"softSignOut",value:function(){this._store.dispatch((0,o.signOut)(!0)),this._local.set("auth",{isAuthenticated:!1}),this._modal.hide()}}]),e}();a["default"]=new l},{"../reducers/auth":322}],339:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0}),a.Captcha=a.ReCaptcha=a.ReCaptchaComponent=a.QACaptcha=a.NoCaptcha=a.BaseCaptcha=void 0;var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=e("react"),u=n(i),c=e("../components/form-group"),d=n(c),f=a.BaseCaptcha=function(){function e(){l(this,e)}return s(e,[{key:"init",value:function(e,t,a,n){this._context=e,this._ajax=t,
+this._include=a,this._snackbar=n}}]),e}(),p=a.NoCaptcha=function(e){function t(){return l(this,t),r(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return o(t,e),s(t,[{key:"load",value:function(){return new Promise(function(e){e()})}},{key:"validator",value:function(){return null}},{key:"component",value:function(){return null}}]),t}(f),m=a.QACaptcha=function(e){function t(){return l(this,t),r(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return o(t,e),s(t,[{key:"load",value:function(){var e=this;return new Promise(function(t,a){e._ajax.get(e._context.get("CAPTCHA_API")).then(function(a){e.question=a.question,e.helpText=a.help_text,t()},function(){e._snackbar.error(gettext("Failed to load CAPTCHA.")),a()})})}},{key:"validator",value:function(){return[]}},{key:"component",value:function(e){return u["default"].createElement(d["default"],{label:this.question,"for":"id_captcha",labelClass:e.labelClass||"",controlClass:e.controlClass||"",validation:e.form.state.errors.captcha,helpText:this.helpText||null},u["default"].createElement("input",{"aria-describedby":"id_captcha_status",className:"form-control",disabled:e.form.state.isLoading,id:"id_captcha",onChange:e.form.bindInput("captcha"),type:"text",value:e.form.state.captcha}))}}]),t}(f),h=a.ReCaptchaComponent=function(e){function t(){return l(this,t),r(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return o(t,e),s(t,[{key:"componentDidMount",value:function(){var e=this;grecaptcha.render("recaptcha",{sitekey:this.props.siteKey,callback:function(t){e.props.binding({target:{value:t}})}})}},{key:"render",value:function(){return u["default"].createElement("div",{id:"recaptcha"})}}]),t}(u["default"].Component),b=a.ReCaptcha=function(e){function t(){return l(this,t),r(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return o(t,e),s(t,[{key:"load",value:function(){return this._include.include("https://www.google.com/recaptcha/api.js",!0),new Promise(function(e){var t=function a(){"undefined"==typeof grecaptcha?window.setTimeout(function(){a()},200):e()};t()})}},{key:"validator",value:function(){return[]}},{key:"component",value:function(e){return u["default"].createElement(d["default"],{label:gettext("Please solve the quick test"),"for":"id_captcha",labelClass:e.labelClass||"",controlClass:e.controlClass||"",validation:e.form.state.errors.captcha,helpText:gettext("This test helps us prevent automated spam registrations on our site.")},u["default"].createElement(h,{binding:e.form.bindInput("captcha"),siteKey:this._context.get("SETTINGS").recaptcha_site_key}))}}]),t}(f),v=a.Captcha=function(){function e(){l(this,e)}return s(e,[{key:"init",value:function(e,t,a,n){switch(e.get("SETTINGS").captcha_type){case"no":this._captcha=new p;break;case"qa":this._captcha=new m;break;case"re":this._captcha=new b}this._captcha.init(e,t,a,n)}},{key:"load",value:function(){return this._captcha.load()}},{key:"validator",value:function(){return this._captcha.validator()}},{key:"component",value:function(e){return this._captcha.component(e)}}]),e}();a["default"]=new v},{"../components/form-group":51,react:"react"}],340:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),o=a.Include=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e){this._staticUrl=e,this._included=[]}},{key:"include",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._included.indexOf(e)===-1&&(this._included.push(e),this._include(e,t))}},{key:"_include",value:function(e,t){$.ajax({url:(t?"":this._staticUrl)+e,cache:!0,dataType:"script"})}}]),e}();a["default"]=new o},{}],341:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),o=window.localStorage,l=a.LocalStorage=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e){var t=this;this._prefix=e,this._watchers=[],window.addEventListener("storage",function(e){var a=JSON.parse(e.newValue);t._watchers.forEach(function(t){t.key===e.key&&e.oldValue!==e.newValue&&t.callback(a)})})}},{key:"set",value:function(e,t){o.setItem(this._prefix+e,JSON.stringify(t))}},{key:"get",value:function(e){var t=o.getItem(this._prefix+e);return t?JSON.parse(t):null}},{key:"watch",value:function(e,t){this._watchers.push({key:this._prefix+e,callback:t})}}]),e}();a["default"]=new l},{}],342:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0}),a.MobileNavbarDropdown=void 0;var o=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),l=e("../utils/mount-component"),s=n(l),i=a.MobileNavbarDropdown=function(){function e(){r(this,e)}return o(e,[{key:"init",value:function(e){this._element=e,this._component=null}},{key:"show",value:function(e){this._component===e?this.hide():(this._component=e,(0,s["default"])(e,this._element.id),$(this._element).addClass("open"))}},{key:"showConnected",value:function(e,t){this._component===e?this.hide():(this._component=e,(0,s["default"])(t,this._element.id,!0),$(this._element).addClass("open"))}},{key:"hide",value:function(){$(this._element).removeClass("open"),this._component=null}}]),e}();a["default"]=new i},{"../utils/mount-component":358}],343:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0}),a.Modal=void 0;var o=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),l=e("react-dom"),s=n(l),i=e("../utils/mount-component"),u=n(i),c=a.Modal=function(){function e(){r(this,e)}return o(e,[{key:"init",value:function(e){var t=this;this._element=e,this._modal=$(e).modal({show:!1}),this._modal.on("hidden.bs.modal",function(){s["default"].unmountComponentAtNode(t._element)})}},{key:"show",value:function(e){(0,u["default"])(e,this._element.id),this._modal.modal("show")}},{key:"hide",value:function(){this._modal.modal("hide")}}]),e}();a["default"]=new c},{"../utils/mount-component":358,"react-dom":"react-dom"}],344:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e){var t=o(e),a=l(t);if(!a)return null;var n=0;if(t.indexOf("?")>0){var r=t.substr(t.indexOf("?")+1),s=r.split("&").filter(function(e){return"t="===e.substr(0,2)})[0];if(s){var i=s.substr(2).split("m");"s"===i[0].substr(-1)?n+=parseInt(i[0].substr(0,i[0].length-1)):(n+=60*parseInt(i[0]),i[1]&&"s"===i[1].substr(-1)&&(n+=parseInt(i[1].substr(0,i[1].length-1))))}}return{start:n,video:a}}function o(e){var t=e;return"https://"===e.substr(0,8)?t=t.substr(8):"http://"===e.substr(0,7)&&(t=t.substr(7)),"www."===t.substr(0,4)&&(t=t.substr(4)),t}function l(e){if(e.indexOf("youtu")===-1)return null;var t=e.match(i);return t?t[1]:null}Object.defineProperty(a,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();a.parseYoutubeUrl=r,a.cleanUrl=o,a.getVideoIdFromUrl=l;var i=new RegExp("^.*(?:(?:youtu.be/|v/|vi/|u/w/|embed/)|(?:(?:watch)??v(?:i)?=|&v(?:i)?=))([^#&?]*).*"),u=a.OneBox=function(){function e(){var t=this;n(this,e),this.render=function(e){e&&(t.highlightCode(e),t.embedYoutubePlayers(e))},this._youtube={}}return s(e,[{key:"highlightCode",value:function(e){for(var t=e.querySelectorAll("pre>code"),a=0;a<t.length;a++){var n=t[a];hljs.highlightBlock(n)}}},{key:"embedYoutubePlayers",value:function(e){for(var t=e.querySelectorAll("p>a"),a=0;a<t.length;a++){var n=t[a],o=n.parentNode,l=1===o.childNodes.length;this._youtube[n.href]||(this._youtube[n.href]=r(n.href));var s=this._youtube[n.href];l&&s&&s.data!==!1&&this.swapYoutubePlayer(n,s)}}},{key:"swapYoutubePlayer",value:function(e,t){var a="https://www.youtube.com/embed/";a+=t.video,a+="?rel=0",t.start&&(a+="&start="+t.start);var n=$('<iframe class="embed-responsive-item" src="'+a+'" allowfullscreen></iframe>');$(e).replaceWith(n),n.wrap('<div class="embed-responsive embed-responsive-16by9"></div>')}}]),e}();a["default"]=new u},{}],345:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),o=a.PageTitle=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e,t){this._indexTitle=e,this._forumName=t}},{key:"set",value:function(e){if(!e)return void(document.title=this._indexTitle||this._forumName);"string"==typeof e&&(e={title:e});var t=e.title;if(e.page>1){var a=interpolate(gettext("page: %(page)s"),{page:e.page},!0);t+=" ("+a+")"}e.parent&&(t+=" | "+e.parent),document.title=t+" | "+this._forumName}}]),e}();a["default"]=new o},{}],346:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),o=a.Polls=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e,t){this._ajax=e,this._snackbar=t,this._polls={}}},{key:"start",value:function(e){var t=this;this.stop(e.poll);var a=function n(){t._polls[e.poll]=e,t._ajax.get(e.url,e.data||null).then(function(a){t._polls[e.poll]._stopped||(e.update(a),t._polls[e.poll].timeout=window.setTimeout(n,e.frequency))},function(a){t._polls[e.poll]._stopped||(e.error?e.error(a):t._snackbar.apiError(a))})};e.delayed?this._polls[e.poll]={timeout:window.setTimeout(a,e.frequency)}:a()}},{key:"stop",value:function(e){this._polls[e]&&(window.clearTimeout(this._polls[e].timeout),this._polls[e]._stopped=!0)}}]),e}();a["default"]=new o},{}],347:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0}),a.Posting=void 0;var o=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),l=e("react"),s=n(l),i=e("react-dom"),u=n(i),c=e("../components/poll"),d=e("../components/posting"),f=n(d),p=e("../utils/mount-component"),m=n(p),h=a.Posting=function(){function e(){var t=this;r(this,e),this.close=function(){t._isOpen&&!t._isClosing&&(t._isClosing=!0,t._placeholder.removeClass("slide-in"),window.setTimeout(function(){u["default"].unmountComponentAtNode(document.getElementById("posting-mount")),t._isClosing=!1,t._isOpen=!1},300))}}return o(e,[{key:"init",value:function(e,t,a){this._ajax=e,this._snackbar=t,this._placeholder=$(a),this._mode=null,this._isOpen=!1,this._isClosing=!1}},{key:"open",value:function(e){if(this._isOpen===!1)this._mode=e.mode,this._isOpen=e.submit,this._realOpen(e);else if(this._isOpen!==e.submit){var t=gettext("You are already working on other message. Do you want to discard it?");"POLL"==this._mode&&(t=gettext("You are already working on a poll. Do you want to discard it?"));var a=confirm(t);a&&(this._mode=e.mode,this._isOpen=e.submit,this._realOpen(e))}else"REPLY"==this._mode&&"REPLY"==e.mode&&this._realOpen(e)}},{key:"_realOpen",value:function(e){"POLL"==e.mode?(0,m["default"])(s["default"].createElement(c.PollForm,e),"posting-mount"):(0,m["default"])(s["default"].createElement(f["default"],e),"posting-mount"),this._placeholder.addClass("slide-in"),$("html, body").animate({scrollTop:this._placeholder.offset().top},1e3)}}]),e}();a["default"]=new h},{"../components/poll":84,"../components/posting":112,"../utils/mount-component":358,react:"react","react-dom":"react-dom"}],348:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0}),a.Snackbar=void 0;var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),o=e("../reducers/snackbar"),l=300,s=5e3,i=a.Snackbar=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e){this._store=e,this._timeout=null}},{key:"alert",value:function(e,t){var a=this;this._timeout?(window.clearTimeout(this._timeout),this._store.dispatch((0,o.hideSnackbar)()),this._timeout=window.setTimeout(function(){a._timeout=null,a.alert(e,t)},l)):(this._store.dispatch((0,o.showSnackbar)(e,t)),this._timeout=window.setTimeout(function(){a._store.dispatch((0,o.hideSnackbar)()),a._timeout=null},s))}},{key:"info",value:function(e){this.alert(e,"info")}},{key:"success",value:function(e){this.alert(e,"success")}},{key:"warning",value:function(e){this.alert(e,"warning")}},{key:"error",value:function(e){this.alert(e,"error")}},{key:"apiError",value:function(e){var t=e.detail;t||(t=404===e.status?gettext("Action link is invalid."):gettext("Unknown error has occured.")),403===e.status&&"Permission denied"===t&&(t=gettext("You don't have permission to perform this action.")),this.error(t)}}]),e}();a["default"]=new i},{"../reducers/snackbar":331}],349:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0}),a.StoreWrapper=void 0;var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),o=e("redux"),l=a.StoreWrapper=function(){function e(){n(this,e),this._store=null,this._reducers={},this._initialState={}}return r(e,[{key:"addReducer",value:function(e,t,a){this._reducers[e]=t,this._initialState[e]=a}},{key:"init",value:function(){this._store=(0,o.createStore)((0,o.combineReducers)(this._reducers),this._initialState)}},{key:"getStore",value:function(){return this._store}},{key:"getState",value:function(){return this._store.getState()}},{key:"dispatch",value:function(e){return this._store.dispatch(e)}}]),e}();a["default"]=new l},{redux:"redux"}],350:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),o=a.Zxcvbn=function(){function e(){n(this,e)}return r(e,[{key:"init",value:function(e){this._include=e,this._isLoaded=!1}},{key:"scorePassword",value:function(e,t){return this._isLoaded?zxcvbn(e,t).score:0}},{key:"load",value:function(){return this._isLoaded?this._loadedPromise():(this._include.include("misago/js/zxcvbn.js"),this._loadingPromise())}},{key:"_loadingPromise",value:function(){var e=this;return new Promise(function(t,a){var n=function r(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;n+=1,n>200?a():"undefined"==typeof zxcvbn?window.setTimeout(function(){r(n)},200):(e._isLoaded=!0,t())};n()})}},{key:"_loadedPromise",value:function(){return new Promise(function(e){e()})}}]),e}();a["default"]=new o},{}],351:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e,t){if(u["default"].render(s["default"].createElement(c.Provider,{store:b["default"].getStore()},s["default"].createElement(y,{message:e.message,expires:e.expires_on?(0,o["default"])(e.expires_on):null})),document.getElementById("page-mount")),"undefined"==typeof t||t){var a=m["default"].get("SETTINGS").forum_name;document.title=gettext("You are banned")+" | "+a,window.history.pushState({},"",m["default"].get("BANNED_URL"))}};var r=e("moment"),o=n(r),l=e("react"),s=n(l),i=e("react-dom"),u=n(i),c=e("react-redux"),d=e("../components/banned-page"),f=n(d),p=e("../index"),m=n(p),h=e("../services/store"),b=n(h),v=function(e){return e.tick},y=(0,c.connect)(v)(f["default"])},{"../components/banned-page":4,"../index":276,"../services/store":349,moment:"moment",react:"react","react-dom":"react-dom","react-redux":"react-redux"}],352:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e,t){var a=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=[],r=[];if(e.forEach(function(e){r.push(e),r.length===t&&(n.push(r),r=[])}),a!==!1&&r.length>0&&r.length<t)for(var o=r.length;o<t;o++)r.push(a);return r.length&&n.push(r),n}},{}],353:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e,t){var a=[];return e.concat(t).filter(function(e){return a.indexOf(e.id)===-1&&(a.push(e.id),!0)})}},{}],354:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),o=function(){function e(t,a){n(this,e),this._callback=t,this._count=a}return r(e,[{key:"count",value:function(){this._count-=1,0===this._count&&this._callback()}}]),e}();a["default"]=o},{}],355:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return e.replace(/[&<>"']/g,function(e){return n[e]})};var n={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"}},{}],356:[function(e,t,a){"use strict";function n(e){return e.toFixed(1)}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return e>1073741824?n(e/1073741824)+" GB":e>1048576?n(e/1048576)+" MB":e>1024?n(e/1024)+" KB":n(e)+" B"},a.roundSize=n},{}],357:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){return n.test($.trim(e))};var n=new RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$","i")},{}],358:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e,t){var a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=document.getElementById(t),r=e.props?e:o["default"].createElement(e,null);n&&(a?s["default"].render(o["default"].createElement(i.Provider,{store:c["default"].getStore()},r),n):s["default"].render(r,n))};var r=e("react"),o=n(r),l=e("react-dom"),s=n(l),i=e("react-redux"),u=e("../services/store"),c=n(u)},{"../services/store":349,react:"react","react-dom":"react-dom","react-redux":"react-redux"}],359:[function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(a,"__esModule",{value:!0});var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),o=function(){function e(t){n(this,e),this.isOrdered=!1,this._items=t||[]}return r(e,[{key:"add",value:function(e,t,a){this._items.push({key:e,item:t,after:a?a.after||null:null,before:a?a.before||null:null})}},{key:"get",value:function(e,t){for(var a=0;a<this._items.length;a++)if(this._items[a].key===e)return this._items[a].item;return t}},{key:"has",value:function(e){return void 0!==this.get(e)}},{key:"values",value:function t(){for(var t=[],e=0;e<this._items.length;e++)t.push(this._items[e].item);return t}},{key:"order",value:function(e){return this.isOrdered||(this._items=this._order(this._items),this.isOrdered=!0),e||"undefined"==typeof e?this.values():this._items}},{key:"orderedValues",value:function(){return this.order(!0)}},{key:"_order",value:function(e){function t(e){var t=-1;r.indexOf(e.key)===-1&&(e.after?(t=r.indexOf(e.after),t!==-1&&(t+=1)):e.before&&(t=r.indexOf(e.before)),t!==-1&&(n.splice(t,0,e),r.splice(t,0,e.key)))}var a=[];e.forEach(function(e){a.push(e.key)});var n=[],r=[];e.forEach(function(e){e.after||e.before||(n.push(e),r.push(e.key))}),e.forEach(function(e){"_end"===e.before&&(n.push(e),r.push(e.key))});for(var o=200;o>0&&a.length!==r.length;)o-=1,e.forEach(t);return n}}]),e}();a["default"]=o},{}],360:[function(e,t,a){"use strict";function n(e,t){return Math.floor(Math.random()*(t-e+1))+e}function r(e,t){for(var a=new Array(n(e,t)),r=0;r<a.length;r++)a[r]=r;return a}Object.defineProperty(a,"__esModule",{value:!0}),a["int"]=n,a.range=r},{}],361:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(){window.scrollTo(0,0)}},{}],362:[function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e){var t={component:e.component||null,childRoutes:[]};e.root?t.childRoutes=[{path:e.root,onEnter:function(t,a){a(null,e.paths[0].path)}}].concat(e.paths):t.childRoutes=e.paths,s["default"].render(o["default"].createElement(i.Provider,{store:d["default"].getStore()},o["default"].createElement(u.Router,{routes:t,history:u.browserHistory})),f)};var r=e("react"),o=n(r),l=e("react-dom"),s=n(l),i=e("react-redux"),u=e("react-router"),c=e("../services/store"),d=n(c),f=document.getElementById("page-mount")},{"../services/store":349,react:"react","react-dom":"react-dom","react-redux":"react-redux","react-router":"react-router"}],363:[function(e,t,a){"use strict";function n(e,t){if(e.indexOf(t)===-1){var a=e.slice();return a.push(t),a}return e}function r(e,t){return e.indexOf(t)>=0?e.filter(function(e){return e!==t}):e}function o(e,t){if(e.indexOf(t)===-1){var a=e.slice();return a.push(t),a}return e.filter(function(e){return e!==t})}Object.defineProperty(a,"__esModule",{value:!0}),a.push=n,a.remove=r,a.toggle=o},{}],364:[function(e,t,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=function(e,t){if(e=(e+"").toLowerCase(),t=(t+"").toLowerCase(),t.length<=0)return 0;for(var a=0,n=0,r=t.length;;){if(n=e.indexOf(t,n),!(n>=0))break;a+=1,n+=r}return a}},{}],365:[function(e,t,a){"use strict";function n(){return function(e){if(0===$.trim(e).length)return gettext("This field is required.")}}function r(e){return function(t){if(!d.test(t))return e||gettext("Enter a valid email address.")}}function o(e,t){return function(a){var n="",r=$.trim(a).length;if(r<e)return n=t?t(e,r):ngettext("Ensure this value has at least %(limit_value)s character (it has %(show_value)s).","Ensure this value has at least %(limit_value)s characters (it has %(show_value)s).",e),interpolate(n,{limit_value:e,show_value:r},!0)}}function l(e,t){return function(a){var n="",r=$.trim(a).length;if(r>e)return n=t?t(e,r):ngettext("Ensure this value has at most %(limit_value)s character (it has %(show_value)s).","Ensure this value has at most %(limit_value)s characters (it has %(show_value)s).",e),interpolate(n,{limit_value:e,show_value:r},!0)}}function s(e){var t=function(e){return ngettext("Username must be at least %(limit_value)s character long.","Username must be at least %(limit_value)s characters long.",e)};return o(e,t)}function i(e){var t=function(e){return ngettext("Username cannot be longer than %(limit_value)s character.","Username cannot be longer than %(limit_value)s characters.",e)};return l(e,t)}function u(){return function(e){if(!f.test($.trim(e)))return gettext("Username can only contain latin alphabet letters and digits.")}}function c(e){return function(t){var a=t.length;if(a<e){var n=ngettext("Valid password must be at least %(limit_value)s character long.","Valid password must be at least %(limit_value)s characters long.",e);return interpolate(n,{limit_value:e,show_value:a},!0)}}}Object.defineProperty(a,"__esModule",{value:!0}),a.required=n,a.email=r,a.minLength=o,a.maxLength=l,a.usernameMinLength=s,a.usernameMaxLength=i,a.usernameContent=u,a.passwordMinLength=c;var d=/^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i,f=new RegExp("^[0-9a-z]+$","i")},{}]},{},[276,277,278,279,280,295,296,297,298,299,300,301,302,318,319,320,321,281,282,283,284,285,286,287,288,289,290,291,292,293,294,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317]);
 //# sourceMappingURL=misago.js.map

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
misago/static/misago/js/misago.js.map


+ 1 - 0
misago/threads/permissions/privatethreads.py

@@ -93,6 +93,7 @@ def build_acl(acl, roles, key_name):
     )
 
     if not new_acl['can_use_private_threads']:
+        new_acl['can_start_private_threads'] = 0
         return new_acl
 
     private_category = Category.objects.private_threads()

Некоторые файлы не были показаны из-за большого количества измененных файлов