Bug 1560689 - Remove react-intl dependencies and script loading r=dmose
authorEd Lee <edilee@mozilla.com>
Wed, 03 Jul 2019 23:48:14 +0000
changeset 481198 c61360a7302855cce84d8ad75cdc70c01160995a
parent 481197 fe000c5de938fa50a86b04544763730344622cb9
child 481199 c385e1de2be7392caff3a34e36f8b0b08420ba33
push id36235
push userncsoregi@mozilla.com
push dateThu, 04 Jul 2019 09:45:30 +0000
treeherdermozilla-central@6a2bd09a6bf9 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdmose
bugs1560689
milestone69.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1560689 - Remove react-intl dependencies and script loading r=dmose Depends on D36764 Differential Revision: https://phabricator.services.mozilla.com/D36835
browser/components/newtab/AboutNewTabService.jsm
browser/components/newtab/bin/render-activity-stream-html.js
browser/components/newtab/bin/vendor.js
browser/components/newtab/jar.mn
browser/components/newtab/package-lock.json
browser/components/newtab/package.json
browser/components/newtab/prerendered/locales/en-US/activity-stream.html
browser/components/newtab/prerendered/static/activity-stream-debug.html
browser/components/newtab/vendor/REACT_INTL_LICENSE
browser/components/newtab/vendor/react-intl.js
browser/components/newtab/webpack.system-addon.config.js
toolkit/content/license.html
--- a/browser/components/newtab/AboutNewTabService.jsm
+++ b/browser/components/newtab/AboutNewTabService.jsm
@@ -140,17 +140,16 @@ AboutNewTabService.prototype = {
 
           // This list must match any similar ones in render-activity-stream-html.js.
           const scripts = [
             "chrome://browser/content/contentSearchUI.js",
             "chrome://browser/content/contentTheme.js",
             `${BASE_URL}vendor/react${debugString}.js`,
             `${BASE_URL}vendor/react-dom${debugString}.js`,
             `${BASE_URL}vendor/prop-types.js`,
-            `${BASE_URL}vendor/react-intl.js`,
             `${BASE_URL}vendor/redux.js`,
             `${BASE_URL}vendor/react-redux.js`,
             `${BASE_URL}prerendered/${this.activityStreamLocale}/activity-stream-strings.js`,
             `${BASE_URL}data/content/activity-stream.bundle.js`,
           ];
 
           for (let script of scripts) {
             Services.scriptloader.loadSubScript(script, win); // Synchronous call
--- a/browser/components/newtab/bin/render-activity-stream-html.js
+++ b/browser/components/newtab/bin/render-activity-stream-html.js
@@ -66,17 +66,16 @@ function getTextDirection(locale) {
 function templateHTML(options) {
   const debugString = options.debug ? "-dev" : "";
   const scripts = [
     "chrome://browser/content/contentSearchUI.js",
     "chrome://browser/content/contentTheme.js",
     `${options.baseUrl}vendor/react${debugString}.js`,
     `${options.baseUrl}vendor/react-dom${debugString}.js`,
     `${options.baseUrl}vendor/prop-types.js`,
-    `${options.baseUrl}vendor/react-intl.js`,
     `${options.baseUrl}vendor/redux.js`,
     `${options.baseUrl}vendor/react-redux.js`,
     `${options.baseUrl}prerendered/${options.locale}/activity-stream-strings.js`,
     `${options.baseUrl}data/content/activity-stream.bundle.js`,
   ];
 
   // Add spacing and script tags
   const scriptRender = `\n${scripts.map(script => `    <script src="${script}"></script>`).join("\n")}`;
--- a/browser/components/newtab/bin/vendor.js
+++ b/browser/components/newtab/bin/vendor.js
@@ -8,18 +8,16 @@ const path = require("path");
 const filesToVendor = {
   // XXX currently these two licenses are identical.  Perhaps we should check
   // in case that changes at some point in the future.
   "react/LICENSE": "REACT_AND_REACT_DOM_LICENSE",
   "react/umd/react.production.min.js": "react.js",
   "react/umd/react.development.js": "react-dev.js",
   "react-dom/umd/react-dom.production.min.js": "react-dom.js",
   "react-dom/umd/react-dom.development.js": "react-dom-dev.js",
-  "react-intl/LICENSE.md": "REACT_INTL_LICENSE",
-  "react-intl/dist/react-intl.min.js": "react-intl.js",
   "react-redux/LICENSE.md": "REACT_REDUX_LICENSE",
   "react-redux/dist/react-redux.min.js": "react-redux.js",
 };
 
 set("-v"); // Echo all the copy commands so the user can see what's going on
 for (let srcPath of Object.keys(filesToVendor)) {
   cp(path.join("node_modules", srcPath),
     path.join("vendor", filesToVendor[srcPath]));
--- a/browser/components/newtab/jar.mn
+++ b/browser/components/newtab/jar.mn
@@ -9,17 +9,16 @@ browser.jar:
   res/activity-stream/vendor/Redux.jsm (./vendor/Redux.jsm)
   res/activity-stream/vendor/react.js (./vendor/react.js)
   res/activity-stream/vendor/react-dom.js (./vendor/react-dom.js)
 #ifndef RELEASE_OR_BETA
   res/activity-stream/vendor/react-dev.js (./vendor/react-dev.js)
   res/activity-stream/vendor/react-dom-dev.js (./vendor/react-dom-dev.js)
 #endif
   res/activity-stream/vendor/prop-types.js (./vendor/prop-types.js)
-  res/activity-stream/vendor/react-intl.js (./vendor/react-intl.js)
   res/activity-stream/vendor/redux.js (./vendor/redux.js)
   res/activity-stream/vendor/react-redux.js (./vendor/react-redux.js)
   res/activity-stream/data/content/assets/ (./data/content/assets/*)
   res/activity-stream/data/content/tippytop/ (./data/content/tippytop/*)
   res/activity-stream/data/content/activity-stream.bundle.js (./data/content/activity-stream.bundle.js)
 #ifdef XP_MACOSX
   res/activity-stream/css/activity-stream.css (./css/activity-stream-mac.css)
 #elifdef XP_WIN
--- a/browser/components/newtab/package-lock.json
+++ b/browser/components/newtab/package-lock.json
@@ -5356,42 +5356,16 @@
       }
     },
     "interpret": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz",
       "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==",
       "dev": true
     },
-    "intl-format-cache": {
-      "version": "2.2.2",
-      "resolved": "https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-2.2.2.tgz",
-      "integrity": "sha512-B5XmTTcF7Yz5VACwVLmAUkqK27RnOCvgi0kwA6Al/vzVPHy+h+G8J7SCyzZDMjb/UB8fqBEyrzecyn1ksRIi9A=="
-    },
-    "intl-messageformat": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-2.2.0.tgz",
-      "integrity": "sha1-NFvNRt5jC3aDMwwuUhd/9eq0hPw=",
-      "requires": {
-        "intl-messageformat-parser": "1.4.0"
-      }
-    },
-    "intl-messageformat-parser": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.4.0.tgz",
-      "integrity": "sha1-tD1FqXRoytvkQzHXS7Ho3qRPwHU="
-    },
-    "intl-relativeformat": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/intl-relativeformat/-/intl-relativeformat-2.1.1.tgz",
-      "integrity": "sha512-bAhhgiCiN+MVjQeK2v9YqCRJQ8FfV0tk9WVh1RYkRJerpYhmpBe2I4XxpneY232Cp9ujHVl3Q465UJkHQEQdmQ==",
-      "requires": {
-        "intl-messageformat": "^2.0.0"
-      }
-    },
     "invariant": {
       "version": "2.2.4",
       "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
       "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
       "requires": {
         "loose-envify": "^1.0.0"
       }
     },
@@ -8713,28 +8687,16 @@
           "integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==",
           "requires": {
             "loose-envify": "^1.1.0",
             "object-assign": "^4.1.1"
           }
         }
       }
     },
-    "react-intl": {
-      "version": "2.9.0",
-      "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-2.9.0.tgz",
-      "integrity": "sha512-27jnDlb/d2A7mSJwrbOBnUgD+rPep+abmoJE511Tf8BnoONIAUehy/U1zZCHGO17mnOwMWxqN4qC0nW11cD6rA==",
-      "requires": {
-        "hoist-non-react-statics": "^3.3.0",
-        "intl-format-cache": "^2.0.5",
-        "intl-messageformat": "^2.1.0",
-        "intl-relativeformat": "^2.1.0",
-        "invariant": "^2.1.1"
-      }
-    },
     "react-is": {
       "version": "16.8.4",
       "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.4.tgz",
       "integrity": "sha512-PVadd+WaUDOAciICm/J1waJaSvgq+4rHE/K70j0PFqKhkTBsPv/82UGQJNXAngz1fOQLLxI6z1sEDmJDQhCTAA=="
     },
     "react-redux": {
       "version": "7.0.3",
       "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.0.3.tgz",
--- a/browser/components/newtab/package.json
+++ b/browser/components/newtab/package.json
@@ -6,17 +6,16 @@
   "bugs": {
     "url": "https://github.com/mozilla/activity-stream/issues"
   },
   "dependencies": {
     "fluent": "0.12.0",
     "fluent-react": "0.8.4",
     "react": "16.8.6",
     "react-dom": "16.8.6",
-    "react-intl": "2.9.0",
     "react-redux": "7.0.3",
     "redux": "4.0.1",
     "reselect": "4.0.0"
   },
   "devDependencies": {
     "@babel/core": "7.4.5",
     "@babel/plugin-proposal-async-generator-functions": "7.2.0",
     "@babel/preset-react": "7.0.0",
--- a/browser/components/newtab/prerendered/locales/en-US/activity-stream.html
+++ b/browser/components/newtab/prerendered/locales/en-US/activity-stream.html
@@ -14,15 +14,14 @@
     <div id="header-asrouter-container" role="presentation"></div>
     <div id="root"></div>
     <div id="footer-asrouter-container" role="presentation"></div>
     <script src="chrome://browser/content/contentSearchUI.js"></script>
     <script src="chrome://browser/content/contentTheme.js"></script>
     <script src="resource://activity-stream/vendor/react.js"></script>
     <script src="resource://activity-stream/vendor/react-dom.js"></script>
     <script src="resource://activity-stream/vendor/prop-types.js"></script>
-    <script src="resource://activity-stream/vendor/react-intl.js"></script>
     <script src="resource://activity-stream/vendor/redux.js"></script>
     <script src="resource://activity-stream/vendor/react-redux.js"></script>
     <script src="resource://activity-stream/prerendered/en-US/activity-stream-strings.js"></script>
     <script src="resource://activity-stream/data/content/activity-stream.bundle.js"></script>
   </body>
 </html>
--- a/browser/components/newtab/prerendered/static/activity-stream-debug.html
+++ b/browser/components/newtab/prerendered/static/activity-stream-debug.html
@@ -14,15 +14,14 @@
     <div id="header-asrouter-container" role="presentation"></div>
     <div id="root"></div>
     <div id="footer-asrouter-container" role="presentation"></div>
     <script src="chrome://browser/content/contentSearchUI.js"></script>
     <script src="chrome://browser/content/contentTheme.js"></script>
     <script src="resource://activity-stream/vendor/react-dev.js"></script>
     <script src="resource://activity-stream/vendor/react-dom-dev.js"></script>
     <script src="resource://activity-stream/vendor/prop-types.js"></script>
-    <script src="resource://activity-stream/vendor/react-intl.js"></script>
     <script src="resource://activity-stream/vendor/redux.js"></script>
     <script src="resource://activity-stream/vendor/react-redux.js"></script>
     <script src="resource://activity-stream/prerendered/en-US/activity-stream-strings.js"></script>
     <script src="resource://activity-stream/data/content/activity-stream.bundle.js"></script>
   </body>
 </html>
deleted file mode 100644
--- a/browser/components/newtab/vendor/REACT_INTL_LICENSE
+++ /dev/null
@@ -1,27 +0,0 @@
-Copyright 2014 Yahoo Inc.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in the
-      documentation and/or other materials provided with the distribution.
-
-    * Neither the name of the Yahoo Inc. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL YAHOO! INC. BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
deleted file mode 100644
--- a/browser/components/newtab/vendor/react-intl.js
+++ /dev/null
@@ -1,2 +0,0 @@
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("prop-types"),require("react")):"function"==typeof define&&define.amd?define(["exports","prop-types","react"],t):t(e.ReactIntl={},e.PropTypes,e.React)}(this,function(e,t,r){"use strict";function n(e){var t,r,n,o,a=Array.prototype.slice.call(arguments,1);for(t=0,r=a.length;t<r;t+=1)if(n=a[t])for(o in n)L.call(n,o)&&(e[o]=n[o]);return e}function o(e,t,r){this.locales=e,this.formats=t,this.pluralFn=r}function a(e){this.id=e}function i(e,t,r,n,o){this.id=e,this.useOrdinal=t,this.offset=r,this.options=n,this.pluralFn=o}function s(e,t,r,n){this.id=e,this.offset=t,this.numberFormat=r,this.string=n}function l(e,t){this.id=e,this.options=t}function u(e,t,r){var n="string"==typeof e?u.__parse(e):e;if(!n||"messageFormatPattern"!==n.type)throw new TypeError("A message must be provided as a String or AST.");r=this._mergeFormats(u.formats,r),S(this,"_locale",{value:this._resolveLocale(t)});var o=this._findPluralRuleFunction(this._locale),a=this._compilePattern(n,t,r,o),i=this;this.format=function(t){try{return i._format(a,t)}catch(t){throw t.variableId?new Error("The intl string context variable '"+t.variableId+"' was not provided to the string '"+e+"'"):t}}}function c(e){return 400*e/146097}function f(e,t){t=t||{},z(e)&&(e=e.concat()),B(this,"_locale",{value:this._resolveLocale(e)}),B(this,"_options",{value:{style:this._resolveStyle(t.style),units:this._isValidUnits(t.units)&&t.units}}),B(this,"_locales",{value:e}),B(this,"_fields",{value:this._findFields(this._locale)}),B(this,"_messages",{value:J(null)});var r=this;this.format=function(e,t){return r._format(e,t)}}function p(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];(Array.isArray(e)?e:[e]).forEach(function(e){e&&e.locale&&(u.__addLocaleData(e),f.__addLocaleData(e))})}function h(e){for(var t=(e||"").split("-");t.length>0;){if(m(t.join("-")))return!0;t.pop()}return!1}function m(e){var t=e&&e.toLowerCase();return!(!u.__localeData__[t]||!f.__localeData__[t])}function d(e,t,r){if("string"!=typeof t){if(Ie){var n=De(t);n&&n!==Ie&&d(e,n,r)}var o=Ae(t);Me&&(o=o.concat(Me(t)));for(var a=0;a<o.length;++a){var i=o[a];if(!(Ce[i]||ke[i]||r&&r[i])){var s=Re(t,i);try{Ee(e,i,s)}catch(e){}}}return e}return e}function y(e){return(""+e).replace(qe,function(e){return Ze[e]})}function v(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return t.reduce(function(t,n){return e.hasOwnProperty(n)?t[n]=e[n]:r.hasOwnProperty(n)&&(t[n]=r[n]),t},{})}function g(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).intl;Se(e,"[React Intl] Could not find required `intl` object. <IntlProvider> needs to exist in the component ancestry.")}function _(e,t){if(e===t)return!0;if("object"!==(void 0===e?"undefined":ee(e))||null===e||"object"!==(void 0===t?"undefined":ee(t))||null===t)return!1;var r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(var o=Object.prototype.hasOwnProperty.bind(t),a=0;a<r.length;a++)if(!o(r[a])||e[r[a]]!==t[r[a]])return!1;return!0}function b(e,t,r){var n=e.props,o=e.state,a=e.context,i=void 0===a?{}:a,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},l=i.intl,u=void 0===l?{}:l,c=s.intl,f=void 0===c?{}:c;return!_(t,n)||!_(r,o)||!(f===u||_(v(f,Ue),v(u,Ue)))}function w(e,t){return"[React Intl] "+e+(t?"\n"+t:"")}function F(e){}function O(e){return e.displayName||e.name||"Component"}function x(e){return u.prototype._resolveLocale(e)}function T(e){return u.prototype._findPluralRuleFunction(e)}function P(e){var t=Be(null);return function(){var r=Array.prototype.slice.call(arguments),n=j(r),o=n&&t[n];return o||(o=new(He.apply(e,[null].concat(r))),n&&(t[n]=o)),o}}function j(e){if("undefined"!=typeof JSON){var t,r,n,o=[];for(t=0,r=e.length;t<r;t+=1)(n=e[t])&&"object"==typeof n?o.push(N(n)):o.push(n);return JSON.stringify(o)}}function N(e){var t,r,n,o,a=[],i=[];for(t in e)e.hasOwnProperty(t)&&i.push(t);var s=i.sort();for(r=0,n=s.length;r<n;r+=1)(o={})[t=s[r]]=e[t],a[r]=o;return a}function C(e){var t=f.thresholds;t.second=e.second,t.minute=e.minute,t.hour=e.hour,t.day=e.day,t.month=e.month,t["second-short"]=e["second-short"],t["minute-short"]=e["minute-short"],t["hour-short"]=e["hour-short"],t["day-short"]=e["day-short"],t["month-short"]=e["month-short"]}function k(e,t,r,n){var o=e&&e[t]&&e[t][r];if(o)return o;n(w("No "+t+" format named: "+r))}function E(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=e.locale,a=e.formats,i=e.messages,s=e.defaultLocale,l=e.defaultFormats,u=r.id,c=r.defaultMessage;Se(u,"[React Intl] An `id` must be provided to format a message.");var f=i&&i[u];if(!(Object.keys(n).length>0))return f||c||u;var p=void 0,h=e.onError||F;if(f)try{p=t.getMessageFormat(f,o,a).format(n)}catch(e){h(w('Error formatting message: "'+u+'" for locale: "'+o+'"'+(c?", using default message as fallback.":""),e))}else(!c||o&&o.toLowerCase()!==s.toLowerCase())&&h(w('Missing message: "'+u+'" for locale: "'+o+'"'+(c?", using default message as fallback.":"")));if(!p&&c)try{p=t.getMessageFormat(c,s,l).format(n)}catch(e){h(w('Error formatting the default message for: "'+u+'"',e))}return p||h(w('Cannot format message: "'+u+'", using message '+(f||c?"source":"id")+" as fallback.")),p||f||c||u}function A(e){var t=Math.abs(e);return t<it?"second":t<st?"minute":t<lt?"hour":"day"}function M(e){switch(e){case"second":return at;case"minute":return it;case"hour":return st;case"day":return lt;default:return ut}}function R(e,t){if(e===t)return!0;var r=new Date(e).getTime(),n=new Date(t).getTime();return isFinite(r)&&isFinite(n)&&r===n}if(void 0===r)throw new ReferenceError("React must be loaded before ReactIntl.");t=t&&t.hasOwnProperty("default")?t.default:t;var D="default"in r?r.default:r,I={locale:"en",pluralRuleFunction:function(e,t){var r=String(e).split("."),n=!r[1],o=Number(r[0])==e,a=o&&r[0].slice(-1),i=o&&r[0].slice(-2);return t?1==a&&11!=i?"one":2==a&&12!=i?"two":3==a&&13!=i?"few":"other":1==e&&n?"one":"other"},fields:{year:{displayName:"year",relative:{0:"this year",1:"next year","-1":"last year"},relativeTime:{future:{one:"in {0} year",other:"in {0} years"},past:{one:"{0} year ago",other:"{0} years ago"}}},"year-short":{displayName:"yr.",relative:{0:"this yr.",1:"next yr.","-1":"last yr."},relativeTime:{future:{one:"in {0} yr.",other:"in {0} yr."},past:{one:"{0} yr. ago",other:"{0} yr. ago"}}},month:{displayName:"month",relative:{0:"this month",1:"next month","-1":"last month"},relativeTime:{future:{one:"in {0} month",other:"in {0} months"},past:{one:"{0} month ago",other:"{0} months ago"}}},"month-short":{displayName:"mo.",relative:{0:"this mo.",1:"next mo.","-1":"last mo."},relativeTime:{future:{one:"in {0} mo.",other:"in {0} mo."},past:{one:"{0} mo. ago",other:"{0} mo. ago"}}},day:{displayName:"day",relative:{0:"today",1:"tomorrow","-1":"yesterday"},relativeTime:{future:{one:"in {0} day",other:"in {0} days"},past:{one:"{0} day ago",other:"{0} days ago"}}},"day-short":{displayName:"day",relative:{0:"today",1:"tomorrow","-1":"yesterday"},relativeTime:{future:{one:"in {0} day",other:"in {0} days"},past:{one:"{0} day ago",other:"{0} days ago"}}},hour:{displayName:"hour",relative:{0:"this hour"},relativeTime:{future:{one:"in {0} hour",other:"in {0} hours"},past:{one:"{0} hour ago",other:"{0} hours ago"}}},"hour-short":{displayName:"hr.",relative:{0:"this hour"},relativeTime:{future:{one:"in {0} hr.",other:"in {0} hr."},past:{one:"{0} hr. ago",other:"{0} hr. ago"}}},minute:{displayName:"minute",relative:{0:"this minute"},relativeTime:{future:{one:"in {0} minute",other:"in {0} minutes"},past:{one:"{0} minute ago",other:"{0} minutes ago"}}},"minute-short":{displayName:"min.",relative:{0:"this minute"},relativeTime:{future:{one:"in {0} min.",other:"in {0} min."},past:{one:"{0} min. ago",other:"{0} min. ago"}}},second:{displayName:"second",relative:{0:"now"},relativeTime:{future:{one:"in {0} second",other:"in {0} seconds"},past:{one:"{0} second ago",other:"{0} seconds ago"}}},"second-short":{displayName:"sec.",relative:{0:"now"},relativeTime:{future:{one:"in {0} sec.",other:"in {0} sec."},past:{one:"{0} sec. ago",other:"{0} sec. ago"}}}}},L=Object.prototype.hasOwnProperty,S=function(){try{return!!Object.defineProperty({},"a",{})}catch(e){return!1}}()?Object.defineProperty:function(e,t,r){"get"in r&&e.__defineGetter__?e.__defineGetter__(t,r.get):(!L.call(e,t)||"value"in r)&&(e[t]=r.value)},U=Object.create||function(e,t){function r(){}var n,o;r.prototype=e,n=new r;for(o in t)L.call(t,o)&&S(n,o,t[o]);return n};o.prototype.compile=function(e){return this.pluralStack=[],this.currentPlural=null,this.pluralNumberFormat=null,this.compileMessage(e)},o.prototype.compileMessage=function(e){if(!e||"messageFormatPattern"!==e.type)throw new Error('Message AST is not of type: "messageFormatPattern"');var t,r,n,o=e.elements,a=[];for(t=0,r=o.length;t<r;t+=1)switch((n=o[t]).type){case"messageTextElement":a.push(this.compileMessageText(n));break;case"argumentElement":a.push(this.compileArgument(n));break;default:throw new Error("Message element does not have a valid type")}return a},o.prototype.compileMessageText=function(e){return this.currentPlural&&/(^|[^\\])#/g.test(e.value)?(this.pluralNumberFormat||(this.pluralNumberFormat=new Intl.NumberFormat(this.locales)),new s(this.currentPlural.id,this.currentPlural.format.offset,this.pluralNumberFormat,e.value)):e.value.replace(/\\#/g,"#")},o.prototype.compileArgument=function(e){var t=e.format;if(!t)return new a(e.id);var r,n=this.formats,o=this.locales,s=this.pluralFn;switch(t.type){case"numberFormat":return r=n.number[t.style],{id:e.id,format:new Intl.NumberFormat(o,r).format};case"dateFormat":return r=n.date[t.style],{id:e.id,format:new Intl.DateTimeFormat(o,r).format};case"timeFormat":return r=n.time[t.style],{id:e.id,format:new Intl.DateTimeFormat(o,r).format};case"pluralFormat":return r=this.compileOptions(e),new i(e.id,t.ordinal,t.offset,r,s);case"selectFormat":return r=this.compileOptions(e),new l(e.id,r);default:throw new Error("Message element does not have a valid format type")}},o.prototype.compileOptions=function(e){var t=e.format,r=t.options,n={};this.pluralStack.push(this.currentPlural),this.currentPlural="pluralFormat"===t.type?e:null;var o,a,i;for(o=0,a=r.length;o<a;o+=1)n[(i=r[o]).selector]=this.compileMessage(i.value);return this.currentPlural=this.pluralStack.pop(),n},a.prototype.format=function(e){return e||"number"==typeof e?"string"==typeof e?e:String(e):""},i.prototype.getOption=function(e){var t=this.options;return t["="+e]||t[this.pluralFn(e-this.offset,this.useOrdinal)]||t.other},s.prototype.format=function(e){var t=this.numberFormat.format(e-this.offset);return this.string.replace(/(^|[^\\])#/g,"$1"+t).replace(/\\#/g,"#")},l.prototype.getOption=function(e){var t=this.options;return t[e]||t.other};var Z=function(){function e(e,t,r,n,o,a){this.message=e,this.expected=t,this.found=r,this.offset=n,this.line=o,this.column=a,this.name="SyntaxError"}return function(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}(e,Error),{SyntaxError:e,parse:function(t){function r(e){return Je!==e&&(Je>e&&(Je=0,$e={line:1,column:1,seenCR:!1}),function(e,r,n){var o,a;for(o=Je;o<n;o++)"\n"===(a=t.charAt(o))?(e.seenCR||e.line++,e.column=1,e.seenCR=!1):"\r"===a||"\u2028"===a||"\u2029"===a?(e.line++,e.column=1,e.seenCR=!0):(e.column++,e.seenCR=!1)}($e,0,e),Je=e),$e}function n(e){Be<ze||(Be>ze&&(ze=Be,Ke=[]),Ke.push(e))}function o(){return a()}function a(){var e,t;for(e=[],t=i();t!==C;)e.push(t),t=i();return e!==C&&(e=A(e)),e}function i(){var e;return(e=l())===C&&(e=c()),e}function s(){var e,r,n,o,a,i;if(e=Be,r=[],n=Be,(o=w())!==C&&(a=P())!==C&&(i=w())!==C?n=o=[o,a,i]:(Be=n,n=M),n!==C)for(;n!==C;)r.push(n),n=Be,(o=w())!==C&&(a=P())!==C&&(i=w())!==C?n=o=[o,a,i]:(Be=n,n=M);else r=M;return r!==C&&(r=R(r)),(e=r)===C&&(e=Be,(r=b())!==C&&(r=t.substring(e,Be)),e=r),e}function l(){var e;return(e=s())!==C&&(e=D(e)),e}function u(){var e,r,o;if((e=x())===C){if(e=Be,r=[],I.test(t.charAt(Be))?(o=t.charAt(Be),Be++):(o=C,0===Qe&&n(L)),o!==C)for(;o!==C;)r.push(o),I.test(t.charAt(Be))?(o=t.charAt(Be),Be++):(o=C,0===Qe&&n(L));else r=M;r!==C&&(r=t.substring(e,Be)),e=r}return e}function c(){var e,r,o,a,i,s,l;return e=Be,123===t.charCodeAt(Be)?(r=S,Be++):(r=C,0===Qe&&n(U)),r!==C&&w()!==C&&(o=u())!==C&&w()!==C?(a=Be,44===t.charCodeAt(Be)?(i=q,Be++):(i=C,0===Qe&&n(G)),i!==C&&(s=w())!==C&&(l=f())!==C?a=i=[i,s,l]:(Be=a,a=M),a===C&&(a=Z),a!==C&&(i=w())!==C?(125===t.charCodeAt(Be)?(s=H,Be++):(s=C,0===Qe&&n(W)),s!==C?e=r=V(o,a):(Be=e,e=M)):(Be=e,e=M)):(Be=e,e=M),e}function f(){var e;return(e=p())===C&&(e=h())===C&&(e=m())===C&&(e=d()),e}function p(){var e,r,o,a,i,s;return e=Be,t.substr(Be,6)===B?(r=B,Be+=6):(r=C,0===Qe&&n(J)),r===C&&(t.substr(Be,4)===$?(r=$,Be+=4):(r=C,0===Qe&&n(z)),r===C&&(t.substr(Be,4)===K?(r=K,Be+=4):(r=C,0===Qe&&n(Q)))),r!==C&&w()!==C?(o=Be,44===t.charCodeAt(Be)?(a=q,Be++):(a=C,0===Qe&&n(G)),a!==C&&(i=w())!==C&&(s=P())!==C?o=a=[a,i,s]:(Be=o,o=M),o===C&&(o=Z),o!==C?e=r=X(r,o):(Be=e,e=M)):(Be=e,e=M),e}function h(){var e,r,o,a;return e=Be,t.substr(Be,6)===Y?(r=Y,Be+=6):(r=C,0===Qe&&n(ee)),r!==C&&w()!==C?(44===t.charCodeAt(Be)?(o=q,Be++):(o=C,0===Qe&&n(G)),o!==C&&w()!==C&&(a=_())!==C?e=r=te(a):(Be=e,e=M)):(Be=e,e=M),e}function m(){var e,r,o,a;return e=Be,t.substr(Be,13)===re?(r=re,Be+=13):(r=C,0===Qe&&n(ne)),r!==C&&w()!==C?(44===t.charCodeAt(Be)?(o=q,Be++):(o=C,0===Qe&&n(G)),o!==C&&w()!==C&&(a=_())!==C?e=r=oe(a):(Be=e,e=M)):(Be=e,e=M),e}function d(){var e,r,o,a,i;if(e=Be,t.substr(Be,6)===ae?(r=ae,Be+=6):(r=C,0===Qe&&n(ie)),r!==C)if(w()!==C)if(44===t.charCodeAt(Be)?(o=q,Be++):(o=C,0===Qe&&n(G)),o!==C)if(w()!==C){if(a=[],(i=v())!==C)for(;i!==C;)a.push(i),i=v();else a=M;a!==C?e=r=se(a):(Be=e,e=M)}else Be=e,e=M;else Be=e,e=M;else Be=e,e=M;else Be=e,e=M;return e}function y(){var e,r,o,a;return e=Be,r=Be,61===t.charCodeAt(Be)?(o=le,Be++):(o=C,0===Qe&&n(ue)),o!==C&&(a=x())!==C?r=o=[o,a]:(Be=r,r=M),r!==C&&(r=t.substring(e,Be)),(e=r)===C&&(e=P()),e}function v(){var e,r,o,i,s;return e=Be,w()!==C&&(r=y())!==C&&w()!==C?(123===t.charCodeAt(Be)?(o=S,Be++):(o=C,0===Qe&&n(U)),o!==C&&w()!==C&&(i=a())!==C&&w()!==C?(125===t.charCodeAt(Be)?(s=H,Be++):(s=C,0===Qe&&n(W)),s!==C?e=ce(r,i):(Be=e,e=M)):(Be=e,e=M)):(Be=e,e=M),e}function g(){var e,r,o;return e=Be,t.substr(Be,7)===fe?(r=fe,Be+=7):(r=C,0===Qe&&n(pe)),r!==C&&w()!==C&&(o=x())!==C?e=r=he(o):(Be=e,e=M),e}function _(){var e,t,r,n;if(e=Be,(t=g())===C&&(t=Z),t!==C)if(w()!==C){if(r=[],(n=v())!==C)for(;n!==C;)r.push(n),n=v();else r=M;r!==C?e=t=me(t,r):(Be=e,e=M)}else Be=e,e=M;else Be=e,e=M;return e}function b(){var e,r;if(Qe++,e=[],ye.test(t.charAt(Be))?(r=t.charAt(Be),Be++):(r=C,0===Qe&&n(ve)),r!==C)for(;r!==C;)e.push(r),ye.test(t.charAt(Be))?(r=t.charAt(Be),Be++):(r=C,0===Qe&&n(ve));else e=M;return Qe--,e===C&&(r=C,0===Qe&&n(de)),e}function w(){var e,r,o;for(Qe++,e=Be,r=[],o=b();o!==C;)r.push(o),o=b();return r!==C&&(r=t.substring(e,Be)),e=r,Qe--,e===C&&(r=C,0===Qe&&n(ge)),e}function F(){var e;return _e.test(t.charAt(Be))?(e=t.charAt(Be),Be++):(e=C,0===Qe&&n(be)),e}function O(){var e;return we.test(t.charAt(Be))?(e=t.charAt(Be),Be++):(e=C,0===Qe&&n(Fe)),e}function x(){var e,r,o,a,i;if(48===t.charCodeAt(Be)?(e=Oe,Be++):(e=C,0===Qe&&n(xe)),e===C){if(e=Be,r=Be,Te.test(t.charAt(Be))?(o=t.charAt(Be),Be++):(o=C,0===Qe&&n(Pe)),o!==C){for(a=[],i=F();i!==C;)a.push(i),i=F();a!==C?r=o=[o,a]:(Be=r,r=M)}else Be=r,r=M;r!==C&&(r=t.substring(e,Be)),e=r}return e!==C&&(e=je(e)),e}function T(){var e,r,o,a,i,s,l,u;return Ne.test(t.charAt(Be))?(e=t.charAt(Be),Be++):(e=C,0===Qe&&n(Ce)),e===C&&(e=Be,t.substr(Be,2)===ke?(r=ke,Be+=2):(r=C,0===Qe&&n(Ee)),r!==C&&(r=Ae()),(e=r)===C&&(e=Be,t.substr(Be,2)===Me?(r=Me,Be+=2):(r=C,0===Qe&&n(Re)),r!==C&&(r=De()),(e=r)===C&&(e=Be,t.substr(Be,2)===Ie?(r=Ie,Be+=2):(r=C,0===Qe&&n(Le)),r!==C&&(r=Se()),(e=r)===C&&(e=Be,t.substr(Be,2)===Ue?(r=Ue,Be+=2):(r=C,0===Qe&&n(Ze)),r!==C&&(r=qe()),(e=r)===C&&(e=Be,t.substr(Be,2)===Ge?(r=Ge,Be+=2):(r=C,0===Qe&&n(He)),r!==C?(o=Be,a=Be,(i=O())!==C&&(s=O())!==C&&(l=O())!==C&&(u=O())!==C?a=i=[i,s,l,u]:(Be=a,a=M),a!==C&&(a=t.substring(o,Be)),(o=a)!==C?e=r=We(o):(Be=e,e=M)):(Be=e,e=M)))))),e}function P(){var e,t;if(e=[],(t=T())!==C)for(;t!==C;)e.push(t),t=T();else e=M;return e!==C&&(e=Ve(e)),e}var j,N=arguments.length>1?arguments[1]:{},C={},k={start:o},E=o,A=function(e){return{type:"messageFormatPattern",elements:e}},M=C,R=function(e){var t,r,n,o,a,i="";for(t=0,n=e.length;t<n;t+=1)for(r=0,a=(o=e[t]).length;r<a;r+=1)i+=o[r];return i},D=function(e){return{type:"messageTextElement",value:e}},I=/^[^ \t\n\r,.+={}#]/,L={type:"class",value:"[^ \\t\\n\\r,.+={}#]",description:"[^ \\t\\n\\r,.+={}#]"},S="{",U={type:"literal",value:"{",description:'"{"'},Z=null,q=",",G={type:"literal",value:",",description:'","'},H="}",W={type:"literal",value:"}",description:'"}"'},V=function(e,t){return{type:"argumentElement",id:e,format:t&&t[2]}},B="number",J={type:"literal",value:"number",description:'"number"'},$="date",z={type:"literal",value:"date",description:'"date"'},K="time",Q={type:"literal",value:"time",description:'"time"'},X=function(e,t){return{type:e+"Format",style:t&&t[2]}},Y="plural",ee={type:"literal",value:"plural",description:'"plural"'},te=function(e){return{type:e.type,ordinal:!1,offset:e.offset||0,options:e.options}},re="selectordinal",ne={type:"literal",value:"selectordinal",description:'"selectordinal"'},oe=function(e){return{type:e.type,ordinal:!0,offset:e.offset||0,options:e.options}},ae="select",ie={type:"literal",value:"select",description:'"select"'},se=function(e){return{type:"selectFormat",options:e}},le="=",ue={type:"literal",value:"=",description:'"="'},ce=function(e,t){return{type:"optionalFormatPattern",selector:e,value:t}},fe="offset:",pe={type:"literal",value:"offset:",description:'"offset:"'},he=function(e){return e},me=function(e,t){return{type:"pluralFormat",offset:e,options:t}},de={type:"other",description:"whitespace"},ye=/^[ \t\n\r]/,ve={type:"class",value:"[ \\t\\n\\r]",description:"[ \\t\\n\\r]"},ge={type:"other",description:"optionalWhitespace"},_e=/^[0-9]/,be={type:"class",value:"[0-9]",description:"[0-9]"},we=/^[0-9a-f]/i,Fe={type:"class",value:"[0-9a-f]i",description:"[0-9a-f]i"},Oe="0",xe={type:"literal",value:"0",description:'"0"'},Te=/^[1-9]/,Pe={type:"class",value:"[1-9]",description:"[1-9]"},je=function(e){return parseInt(e,10)},Ne=/^[^{}\\\0-\x1F \t\n\r]/,Ce={type:"class",value:"[^{}\\\\\\0-\\x1F \\t\\n\\r]",description:"[^{}\\\\\\0-\\x1F \\t\\n\\r]"},ke="\\\\",Ee={type:"literal",value:"\\\\",description:'"\\\\\\\\"'},Ae=function(){return"\\"},Me="\\#",Re={type:"literal",value:"\\#",description:'"\\\\#"'},De=function(){return"\\#"},Ie="\\{",Le={type:"literal",value:"\\{",description:'"\\\\{"'},Se=function(){return"{"},Ue="\\}",Ze={type:"literal",value:"\\}",description:'"\\\\}"'},qe=function(){return"}"},Ge="\\u",He={type:"literal",value:"\\u",description:'"\\\\u"'},We=function(e){return String.fromCharCode(parseInt(e,16))},Ve=function(e){return e.join("")},Be=0,Je=0,$e={line:1,column:1,seenCR:!1},ze=0,Ke=[],Qe=0;if("startRule"in N){if(!(N.startRule in k))throw new Error("Can't start parsing from rule \""+N.startRule+'".');E=k[N.startRule]}if((j=E())!==C&&Be===t.length)return j;throw j!==C&&Be<t.length&&n({type:"end",description:"end of input"}),function(n,o,a){var i=r(a),s=a<t.length?t.charAt(a):null;return null!==o&&function(e){var t=1;for(e.sort(function(e,t){return e.description<t.description?-1:e.description>t.description?1:0});t<e.length;)e[t-1]===e[t]?e.splice(t,1):t++}(o),new e(null!==n?n:function(e,t){var r,n,o,a=new Array(e.length);for(o=0;o<e.length;o++)a[o]=e[o].description;return r=e.length>1?a.slice(0,-1).join(", ")+" or "+a[e.length-1]:a[0],n=t?'"'+function(e){function r(e){return e.charCodeAt(0).toString(16).toUpperCase()}return t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E\x0F]/g,function(e){return"\\x0"+r(e)}).replace(/[\x10-\x1F\x80-\xFF]/g,function(e){return"\\x"+r(e)}).replace(/[\u0180-\u0FFF]/g,function(e){return"\\u0"+r(e)}).replace(/[\u1080-\uFFFF]/g,function(e){return"\\u"+r(e)})}()+'"':"end of input","Expected "+r+" but "+n+" found."}(o,s),o,s,a,i.line,i.column)}(null,Ke,ze)}}}();S(u,"formats",{enumerable:!0,value:{number:{currency:{style:"currency"},percent:{style:"percent"}},date:{short:{month:"numeric",day:"numeric",year:"2-digit"},medium:{month:"short",day:"numeric",year:"numeric"},long:{month:"long",day:"numeric",year:"numeric"},full:{weekday:"long",month:"long",day:"numeric",year:"numeric"}},time:{short:{hour:"numeric",minute:"numeric"},medium:{hour:"numeric",minute:"numeric",second:"numeric"},long:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"},full:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"}}}}),S(u,"__localeData__",{value:U(null)}),S(u,"__addLocaleData",{value:function(e){if(!e||!e.locale)throw new Error("Locale data provided to IntlMessageFormat is missing a `locale` property");u.__localeData__[e.locale.toLowerCase()]=e}}),S(u,"__parse",{value:Z.parse}),S(u,"defaultLocale",{enumerable:!0,writable:!0,value:void 0}),u.prototype.resolvedOptions=function(){return{locale:this._locale}},u.prototype._compilePattern=function(e,t,r,n){return new o(t,r,n).compile(e)},u.prototype._findPluralRuleFunction=function(e){for(var t=u.__localeData__,r=t[e.toLowerCase()];r;){if(r.pluralRuleFunction)return r.pluralRuleFunction;r=r.parentLocale&&t[r.parentLocale.toLowerCase()]}throw new Error("Locale data added to IntlMessageFormat is missing a `pluralRuleFunction` for :"+e)},u.prototype._format=function(e,t){var r,n,o,a,i,s,l="";for(r=0,n=e.length;r<n;r+=1)if("string"!=typeof(o=e[r])){if(a=o.id,!t||!L.call(t,a))throw s=new Error("A value must be provided for: "+a),s.variableId=a,s;i=t[a],o.options?l+=this._format(o.getOption(i),t):l+=o.format(i)}else l+=o;return l},u.prototype._mergeFormats=function(e,t){var r,o,a={};for(r in e)L.call(e,r)&&(a[r]=o=U(e[r]),t&&L.call(t,r)&&n(o,t[r]));return a},u.prototype._resolveLocale=function(e){"string"==typeof e&&(e=[e]),e=(e||[]).concat(u.defaultLocale);var t,r,n,o,a=u.__localeData__;for(t=0,r=e.length;t<r;t+=1)for(n=e[t].toLowerCase().split("-");n.length;){if(o=a[n.join("-")])return o.locale;n.pop()}var i=e.pop();throw new Error("No locale data has been added to IntlMessageFormat for: "+e.join(", ")+", or the default locale: "+i)};var q={locale:"en",pluralRuleFunction:function(e,t){var r=String(e).split("."),n=!r[1],o=Number(r[0])==e,a=o&&r[0].slice(-1),i=o&&r[0].slice(-2);return t?1==a&&11!=i?"one":2==a&&12!=i?"two":3==a&&13!=i?"few":"other":1==e&&n?"one":"other"}};u.__addLocaleData(q),u.defaultLocale="en";var G=Math.round,H=function(e,t){var r=G((t=+t)-(e=+e)),n=G(r/1e3),o=G(n/60),a=G(o/60),i=G(a/24),s=G(i/7),l=c(i),u=G(12*l),f=G(l);return{millisecond:r,second:n,"second-short":n,minute:o,"minute-short":o,hour:a,"hour-short":a,day:i,"day-short":i,week:s,"week-short":s,month:u,"month-short":u,year:f,"year-short":f}},W=Object.prototype.hasOwnProperty,V=Object.prototype.toString,B=function(){try{return!!Object.defineProperty({},"a",{})}catch(e){return!1}}()?Object.defineProperty:function(e,t,r){"get"in r&&e.__defineGetter__?e.__defineGetter__(t,r.get):(!W.call(e,t)||"value"in r)&&(e[t]=r.value)},J=Object.create||function(e,t){function r(){}var n,o;r.prototype=e,n=new r;for(o in t)W.call(t,o)&&B(n,o,t[o]);return n},$=Array.prototype.indexOf||function(e,t){var r=this;if(!r.length)return-1;for(var n=t||0,o=r.length;n<o;n++)if(r[n]===e)return n;return-1},z=Array.isArray||function(e){return"[object Array]"===V.call(e)},K=Date.now||function(){return(new Date).getTime()},Q=["second","second-short","minute","minute-short","hour","hour-short","day","day-short","month","month-short","year","year-short"],X=["best fit","numeric"];B(f,"__localeData__",{value:J(null)}),B(f,"__addLocaleData",{value:function(e){if(!e||!e.locale)throw new Error("Locale data provided to IntlRelativeFormat is missing a `locale` property value");f.__localeData__[e.locale.toLowerCase()]=e,u.__addLocaleData(e)}}),B(f,"defaultLocale",{enumerable:!0,writable:!0,value:void 0}),B(f,"thresholds",{enumerable:!0,value:{second:45,"second-short":45,minute:45,"minute-short":45,hour:22,"hour-short":22,day:26,"day-short":26,month:11,"month-short":11}}),f.prototype.resolvedOptions=function(){return{locale:this._locale,style:this._options.style,units:this._options.units}},f.prototype._compileMessage=function(e){var t,r=this._locales,n=this._fields[e].relativeTime,o="",a="";for(t in n.future)n.future.hasOwnProperty(t)&&(o+=" "+t+" {"+n.future[t].replace("{0}","#")+"}");for(t in n.past)n.past.hasOwnProperty(t)&&(a+=" "+t+" {"+n.past[t].replace("{0}","#")+"}");return new u("{when, select, future {{0, plural, "+o+"}}past {{0, plural, "+a+"}}}",r)},f.prototype._getMessage=function(e){var t=this._messages;return t[e]||(t[e]=this._compileMessage(e)),t[e]},f.prototype._getRelativeUnits=function(e,t){var r=this._fields[t];if(r.relative)return r.relative[e]},f.prototype._findFields=function(e){for(var t=f.__localeData__,r=t[e.toLowerCase()];r;){if(r.fields)return r.fields;r=r.parentLocale&&t[r.parentLocale.toLowerCase()]}throw new Error("Locale data added to IntlRelativeFormat is missing `fields` for :"+e)},f.prototype._format=function(e,t){var r=t&&void 0!==t.now?t.now:K();if(void 0===e&&(e=r),!isFinite(r))throw new RangeError("The `now` option provided to IntlRelativeFormat#format() is not in valid range.");if(!isFinite(e))throw new RangeError("The date value provided to IntlRelativeFormat#format() is not in valid range.");var n=H(r,e),o=this._options.units||this._selectUnits(n),a=n[o];if("numeric"!==this._options.style){var i=this._getRelativeUnits(a,o);if(i)return i}return this._getMessage(o).format({0:Math.abs(a),when:a<0?"past":"future"})},f.prototype._isValidUnits=function(e){if(!e||$.call(Q,e)>=0)return!0;if("string"==typeof e){var t=/s$/.test(e)&&e.substr(0,e.length-1);if(t&&$.call(Q,t)>=0)throw new Error('"'+e+'" is not a valid IntlRelativeFormat `units` value, did you mean: '+t)}throw new Error('"'+e+'" is not a valid IntlRelativeFormat `units` value, it must be one of: "'+Q.join('", "')+'"')},f.prototype._resolveLocale=function(e){"string"==typeof e&&(e=[e]),e=(e||[]).concat(f.defaultLocale);var t,r,n,o,a=f.__localeData__;for(t=0,r=e.length;t<r;t+=1)for(n=e[t].toLowerCase().split("-");n.length;){if(o=a[n.join("-")])return o.locale;n.pop()}var i=e.pop();throw new Error("No locale data has been added to IntlRelativeFormat for: "+e.join(", ")+", or the default locale: "+i)},f.prototype._resolveStyle=function(e){if(!e)return X[0];if($.call(X,e)>=0)return e;throw new Error('"'+e+'" is not a valid IntlRelativeFormat `style` value, it must be one of: "'+X.join('", "')+'"')},f.prototype._selectUnits=function(e){var t,r,n,o=Q.filter(function(e){return e.indexOf("-short")<1});for(t=0,r=o.length;t<r&&(n=o[t],!(Math.abs(e[n])<f.thresholds[n]));t+=1);return n};var Y={locale:"en",pluralRuleFunction:function(e,t){var r=String(e).split("."),n=!r[1],o=Number(r[0])==e,a=o&&r[0].slice(-1),i=o&&r[0].slice(-2);return t?1==a&&11!=i?"one":2==a&&12!=i?"two":3==a&&13!=i?"few":"other":1==e&&n?"one":"other"},fields:{year:{displayName:"year",relative:{0:"this year",1:"next year","-1":"last year"},relativeTime:{future:{one:"in {0} year",other:"in {0} years"},past:{one:"{0} year ago",other:"{0} years ago"}}},"year-short":{displayName:"yr.",relative:{0:"this yr.",1:"next yr.","-1":"last yr."},relativeTime:{future:{one:"in {0} yr.",other:"in {0} yr."},past:{one:"{0} yr. ago",other:"{0} yr. ago"}}},month:{displayName:"month",relative:{0:"this month",1:"next month","-1":"last month"},relativeTime:{future:{one:"in {0} month",other:"in {0} months"},past:{one:"{0} month ago",other:"{0} months ago"}}},"month-short":{displayName:"mo.",relative:{0:"this mo.",1:"next mo.","-1":"last mo."},relativeTime:{future:{one:"in {0} mo.",other:"in {0} mo."},past:{one:"{0} mo. ago",other:"{0} mo. ago"}}},day:{displayName:"day",relative:{0:"today",1:"tomorrow","-1":"yesterday"},relativeTime:{future:{one:"in {0} day",other:"in {0} days"},past:{one:"{0} day ago",other:"{0} days ago"}}},"day-short":{displayName:"day",relative:{0:"today",1:"tomorrow","-1":"yesterday"},relativeTime:{future:{one:"in {0} day",other:"in {0} days"},past:{one:"{0} day ago",other:"{0} days ago"}}},hour:{displayName:"hour",relative:{0:"this hour"},relativeTime:{future:{one:"in {0} hour",other:"in {0} hours"},past:{one:"{0} hour ago",other:"{0} hours ago"}}},"hour-short":{displayName:"hr.",relative:{0:"this hour"},relativeTime:{future:{one:"in {0} hr.",other:"in {0} hr."},past:{one:"{0} hr. ago",other:"{0} hr. ago"}}},minute:{displayName:"minute",relative:{0:"this minute"},relativeTime:{future:{one:"in {0} minute",other:"in {0} minutes"},past:{one:"{0} minute ago",other:"{0} minutes ago"}}},"minute-short":{displayName:"min.",relative:{0:"this minute"},relativeTime:{future:{one:"in {0} min.",other:"in {0} min."},past:{one:"{0} min. ago",other:"{0} min. ago"}}},second:{displayName:"second",relative:{0:"now"},relativeTime:{future:{one:"in {0} second",other:"in {0} seconds"},past:{one:"{0} second ago",other:"{0} seconds ago"}}},"second-short":{displayName:"sec.",relative:{0:"now"},relativeTime:{future:{one:"in {0} sec.",other:"in {0} sec."},past:{one:"{0} sec. ago",other:"{0} sec. ago"}}}}};f.__addLocaleData(Y),f.defaultLocale="en";var ee="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},te=(function(){function e(e){this.value=e}function t(t){function r(o,a){try{var i=t[o](a),s=i.value;s instanceof e?Promise.resolve(s.value).then(function(e){r("next",e)},function(e){r("throw",e)}):n(i.done?"return":"normal",i.value)}catch(e){n("throw",e)}}function n(e,t){switch(e){case"return":o.resolve({value:t,done:!0});break;case"throw":o.reject(t);break;default:o.resolve({value:t,done:!1})}(o=o.next)?r(o.key,o.arg):a=null}var o,a;this._invoke=function(e,t){return new Promise(function(n,i){var s={key:e,arg:t,resolve:n,reject:i,next:null};a?a=a.next=s:(o=a=s,r(e,t))})},"function"!=typeof t.return&&(this.return=void 0)}"function"==typeof Symbol&&Symbol.asyncIterator&&(t.prototype[Symbol.asyncIterator]=function(){return this}),t.prototype.next=function(e){return this._invoke("next",e)},t.prototype.throw=function(e){return this._invoke("throw",e)},t.prototype.return=function(e){return this._invoke("return",e)}}(),function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}),re=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),ne=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},oe=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},ae=function(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)},ie=function(e,t){var r={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r},se=function(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},le=function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)},ue=t.bool,ce=t.number,fe=t.string,pe=t.func,he=t.object,me=t.oneOf,de=t.shape,ye=t.any,ve=t.oneOfType,ge=me(["best fit","lookup"]),_e=me(["narrow","short","long"]),be=me(["numeric","2-digit"]),we=pe.isRequired,Fe={locale:fe,timeZone:fe,formats:he,messages:he,textComponent:ye,defaultLocale:fe,defaultFormats:he,onError:pe},Oe={formatDate:we,formatTime:we,formatRelative:we,formatNumber:we,formatPlural:we,formatMessage:we,formatHTMLMessage:we},xe=de(oe({},Fe,Oe,{formatters:he,now:we})),Te=(fe.isRequired,ve([fe,he]),{localeMatcher:ge,formatMatcher:me(["basic","best fit"]),timeZone:fe,hour12:ue,weekday:_e,era:_e,year:be,month:me(["numeric","2-digit","narrow","short","long"]),day:be,hour:be,minute:be,second:be,timeZoneName:me(["short","long"])}),Pe={localeMatcher:ge,style:me(["decimal","currency","percent"]),currency:fe,currencyDisplay:me(["symbol","code","name"]),useGrouping:ue,minimumIntegerDigits:ce,minimumFractionDigits:ce,maximumFractionDigits:ce,minimumSignificantDigits:ce,maximumSignificantDigits:ce},je={style:me(["best fit","numeric"]),units:me(["second","minute","hour","day","month","year","second-short","minute-short","hour-short","day-short","month-short","year-short"])},Ne={style:me(["cardinal","ordinal"])},Ce={childContextTypes:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},ke={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},Ee=Object.defineProperty,Ae=Object.getOwnPropertyNames,Me=Object.getOwnPropertySymbols,Re=Object.getOwnPropertyDescriptor,De=Object.getPrototypeOf,Ie=De&&De(Object),Le=d,Se=function(e,t,r,n,o,a,i,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[r,n,o,a,i,s],c=0;(l=new Error(t.replace(/%s/g,function(){return u[c++]}))).name="Invariant Violation"}throw l.framesToPop=1,l}},Ue=Object.keys(Fe),Ze={"&":"&amp;",">":"&gt;","<":"&lt;",'"':"&quot;","'":"&#x27;"},qe=/[&><"']/g,Ge=function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};te(this,e);var n="ordinal"===r.style,o=T(x(t));this.format=function(e){return o(e,n)}},He=Function.prototype.bind||function(e){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var t=Array.prototype.slice.call(arguments,1),r=this,n=function(){},o=function(){return r.apply(this instanceof n?this:e,t.concat(Array.prototype.slice.call(arguments)))};return this.prototype&&(n.prototype=this.prototype),o.prototype=new n,o},We=Object.prototype.hasOwnProperty,Ve=function(){try{return!!Object.defineProperty({},"a",{})}catch(e){return!1}}()?Object.defineProperty:function(e,t,r){"get"in r&&e.__defineGetter__?e.__defineGetter__(t,r.get):(!We.call(e,t)||"value"in r)&&(e[t]=r.value)},Be=Object.create||function(e,t){function r(){}var n,o;r.prototype=e,n=new r;for(o in t)We.call(t,o)&&Ve(n,o,t[o]);return n},Je=Object.keys(Te),$e=Object.keys(Pe),ze=Object.keys(je),Ke=Object.keys(Ne),Qe={second:60,minute:60,hour:24,day:30,month:12},Xe=Object.freeze({formatDate:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=e.locale,a=e.formats,i=e.timeZone,s=n.format,l=e.onError||F,u=new Date(r),c=oe({},i&&{timeZone:i},s&&k(a,"date",s,l)),f=v(n,Je,c);try{return t.getDateTimeFormat(o,f).format(u)}catch(e){l(w("Error formatting date.",e))}return String(u)},formatTime:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=e.locale,a=e.formats,i=e.timeZone,s=n.format,l=e.onError||F,u=new Date(r),c=oe({},i&&{timeZone:i},s&&k(a,"time",s,l)),f=v(n,Je,c);f.hour||f.minute||f.second||(f=oe({},f,{hour:"numeric",minute:"numeric"}));try{return t.getDateTimeFormat(o,f).format(u)}catch(e){l(w("Error formatting time.",e))}return String(u)},formatRelative:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=e.locale,a=e.formats,i=n.format,s=e.onError||F,l=new Date(r),u=new Date(n.now),c=i&&k(a,"relative",i,s),p=v(n,ze,c),h=oe({},f.thresholds);C(Qe);try{return t.getRelativeFormat(o,p).format(l,{now:isFinite(u)?u:t.now()})}catch(e){s(w("Error formatting relative time.",e))}finally{C(h)}return String(l)},formatNumber:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=e.locale,a=e.formats,i=n.format,s=e.onError||F,l=i&&k(a,"number",i,s),u=v(n,$e,l);try{return t.getNumberFormat(o,u).format(r)}catch(e){s(w("Error formatting number.",e))}return String(r)},formatPlural:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=e.locale,a=v(n,Ke),i=e.onError||F;try{return t.getPluralFormat(o,a).format(r)}catch(e){i(w("Error formatting plural.",e))}return"other"},formatMessage:E,formatHTMLMessage:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return E(e,t,r,Object.keys(n).reduce(function(e,t){var r=n[t];return e[t]="string"==typeof r?y(r):r,e},{}))}}),Ye=Object.keys(Fe),et=Object.keys(Oe),tt={formats:{},messages:{},timeZone:null,textComponent:"span",defaultLocale:"en",defaultFormats:{},onError:F},rt=function(e){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};te(this,t);var n=se(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,r));Se("undefined"!=typeof Intl,"[React Intl] The `Intl` APIs must be available in the runtime, and do not appear to be built-in. An `Intl` polyfill should be loaded.\nSee: http://formatjs.io/guides/runtime-environments/");var o=r.intl,a=void 0;a=isFinite(e.initialNow)?Number(e.initialNow):o?o.now():Date.now();var i=(o||{}).formatters,s=void 0===i?{getDateTimeFormat:P(Intl.DateTimeFormat),getNumberFormat:P(Intl.NumberFormat),getMessageFormat:P(u),getRelativeFormat:P(f),getPluralFormat:P(Ge)}:i;return n.state=oe({},s,{now:function(){return n._didDisplay?Date.now():a}}),n}return ae(t,e),re(t,[{key:"getConfig",value:function(){var e=this.context.intl,t=v(this.props,Ye,e);for(var r in tt)void 0===t[r]&&(t[r]=tt[r]);if(!h(t.locale)){var n=t,o=n.locale,a=n.defaultLocale,i=n.defaultFormats;(0,n.onError)(w('Missing locale data for locale: "'+o+'". Using default locale: "'+a+'" as fallback.')),t=oe({},t,{locale:a,formats:i,messages:tt.messages})}return t}},{key:"getBoundFormatFns",value:function(e,t){return et.reduce(function(r,n){return r[n]=Xe[n].bind(null,e,t),r},{})}},{key:"getChildContext",value:function(){var e=this.getConfig(),t=this.getBoundFormatFns(e,this.state),r=this.state,n=r.now,o=ie(r,["now"]);return{intl:oe({},e,t,{formatters:o,now:n})}}},{key:"shouldComponentUpdate",value:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return b.apply(void 0,[this].concat(t))}},{key:"componentDidMount",value:function(){this._didDisplay=!0}},{key:"render",value:function(){return r.Children.only(this.props.children)}}]),t}(r.Component);rt.displayName="IntlProvider",rt.contextTypes={intl:xe},rt.childContextTypes={intl:xe.isRequired};var nt=function(e){function t(e,r){te(this,t);var n=se(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,r));return g(r),n}return ae(t,e),re(t,[{key:"shouldComponentUpdate",value:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return b.apply(void 0,[this].concat(t))}},{key:"render",value:function(){var e=this.context.intl,t=e.formatDate,r=e.textComponent,n=this.props,o=n.value,a=n.children,i=t(o,this.props);return"function"==typeof a?a(i):D.createElement(r,null,i)}}]),t}(r.Component);nt.displayName="FormattedDate",nt.contextTypes={intl:xe};var ot=function(e){function t(e,r){te(this,t);var n=se(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,r));return g(r),n}return ae(t,e),re(t,[{key:"shouldComponentUpdate",value:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return b.apply(void 0,[this].concat(t))}},{key:"render",value:function(){var e=this.context.intl,t=e.formatTime,r=e.textComponent,n=this.props,o=n.value,a=n.children,i=t(o,this.props);return"function"==typeof a?a(i):D.createElement(r,null,i)}}]),t}(r.Component);ot.displayName="FormattedTime",ot.contextTypes={intl:xe};var at=1e3,it=6e4,st=36e5,lt=864e5,ut=2147483647,ct=function(e){function t(e,r){te(this,t);var n=se(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,r));g(r);var o=isFinite(e.initialNow)?Number(e.initialNow):r.intl.now();return n.state={now:o},n}return ae(t,e),re(t,[{key:"scheduleNextUpdate",value:function(e,t){var r=this;clearTimeout(this._timer);var n=e.value,o=e.units,a=e.updateInterval,i=new Date(n).getTime();if(a&&isFinite(i)){var s=i-t.now,l=M(o||A(s)),u=Math.abs(s%l),c=s<0?Math.max(a,l-u):Math.max(a,u);this._timer=setTimeout(function(){r.setState({now:r.context.intl.now()})},c)}}},{key:"componentDidMount",value:function(){this.scheduleNextUpdate(this.props,this.state)}},{key:"componentWillReceiveProps",value:function(e){R(e.value,this.props.value)||this.setState({now:this.context.intl.now()})}},{key:"shouldComponentUpdate",value:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return b.apply(void 0,[this].concat(t))}},{key:"componentWillUpdate",value:function(e,t){this.scheduleNextUpdate(e,t)}},{key:"componentWillUnmount",value:function(){clearTimeout(this._timer)}},{key:"render",value:function(){var e=this.context.intl,t=e.formatRelative,r=e.textComponent,n=this.props,o=n.value,a=n.children,i=t(o,oe({},this.props,this.state));return"function"==typeof a?a(i):D.createElement(r,null,i)}}]),t}(r.Component);ct.displayName="FormattedRelative",ct.contextTypes={intl:xe},ct.defaultProps={updateInterval:1e4};var ft=function(e){function t(e,r){te(this,t);var n=se(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,r));return g(r),n}return ae(t,e),re(t,[{key:"shouldComponentUpdate",value:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return b.apply(void 0,[this].concat(t))}},{key:"render",value:function(){var e=this.context.intl,t=e.formatNumber,r=e.textComponent,n=this.props,o=n.value,a=n.children,i=t(o,this.props);return"function"==typeof a?a(i):D.createElement(r,null,i)}}]),t}(r.Component);ft.displayName="FormattedNumber",ft.contextTypes={intl:xe};var pt=function(e){function t(e,r){te(this,t);var n=se(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,r));return g(r),n}return ae(t,e),re(t,[{key:"shouldComponentUpdate",value:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return b.apply(void 0,[this].concat(t))}},{key:"render",value:function(){var e=this.context.intl,t=e.formatPlural,r=e.textComponent,n=this.props,o=n.value,a=n.other,i=n.children,s=t(o,this.props),l=this.props[s]||a;return"function"==typeof i?i(l):D.createElement(r,null,l)}}]),t}(r.Component);pt.displayName="FormattedPlural",pt.contextTypes={intl:xe},pt.defaultProps={style:"cardinal"};var ht=function(e,t){return E({},{getMessageFormat:P(u)},e,t)},mt=function(e){function t(e,r){te(this,t);var n=se(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,r));return e.defaultMessage||g(r),n}return ae(t,e),re(t,[{key:"shouldComponentUpdate",value:function(e){var t=this.props.values;if(!_(e.values,t))return!0;for(var r=oe({},e,{values:t}),n=arguments.length,o=Array(n>1?n-1:0),a=1;a<n;a++)o[a-1]=arguments[a];return b.apply(void 0,[this,r].concat(o))}},{key:"render",value:function(){var e=this.context.intl||{},t=e.formatMessage,n=void 0===t?ht:t,o=e.textComponent,a=void 0===o?"span":o,i=this.props,s=i.id,l=i.description,u=i.defaultMessage,c=i.values,f=i.tagName,p=void 0===f?a:f,h=i.children,m=void 0,d=void 0,y=void 0;if(c&&Object.keys(c).length>0){var v=Math.floor(1099511627776*Math.random()).toString(16),g=function(){var e=0;return function(){return"ELEMENT-"+v+"-"+(e+=1)}}();m="@__"+v+"__@",d={},y={},Object.keys(c).forEach(function(e){var t=c[e];if(r.isValidElement(t)){var n=g();d[e]=m+n+m,y[n]=t}else d[e]=t})}var _=n({id:s,description:l,defaultMessage:u},d||c),b=void 0;return b=y&&Object.keys(y).length>0?_.split(m).filter(function(e){return!!e}).map(function(e){return y[e]||e}):[_],"function"==typeof h?h.apply(void 0,le(b)):r.createElement.apply(void 0,[p,null].concat(le(b)))}}]),t}(r.Component);mt.displayName="FormattedMessage",mt.contextTypes={intl:xe},mt.defaultProps={values:{}};var dt=function(e){function t(e,r){te(this,t);var n=se(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,r));return g(r),n}return ae(t,e),re(t,[{key:"shouldComponentUpdate",value:function(e){var t=this.props.values;if(!_(e.values,t))return!0;for(var r=oe({},e,{values:t}),n=arguments.length,o=Array(n>1?n-1:0),a=1;a<n;a++)o[a-1]=arguments[a];return b.apply(void 0,[this,r].concat(o))}},{key:"render",value:function(){var e=this.context.intl,t=e.formatHTMLMessage,r=e.textComponent,n=this.props,o=n.id,a=n.description,i=n.defaultMessage,s=n.values,l=n.tagName,u=void 0===l?r:l,c=n.children,f=t({id:o,description:a,defaultMessage:i},s);if("function"==typeof c)return c(f);var p={__html:f};return D.createElement(u,{dangerouslySetInnerHTML:p})}}]),t}(r.Component);dt.displayName="FormattedHTMLMessage",dt.contextTypes={intl:xe},dt.defaultProps={values:{}},p(I),e.addLocaleData=p,e.intlShape=xe,e.injectIntl=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.intlPropName,o=void 0===n?"intl":n,a=t.withRef,i=void 0!==a&&a,s=function(t){function r(e,t){te(this,r);var n=se(this,(r.__proto__||Object.getPrototypeOf(r)).call(this,e,t));return g(t),n}return ae(r,t),re(r,[{key:"getWrappedInstance",value:function(){return Se(i,"[React Intl] To access the wrapped instance, the `{withRef: true}` option must be set when calling: `injectIntl()`"),this._wrappedInstance}},{key:"render",value:function(){var t=this;return D.createElement(e,oe({},this.props,ne({},o,this.context.intl),{ref:i?function(e){return t._wrappedInstance=e}:null}))}}]),r}(r.Component);return s.displayName="InjectIntl("+O(e)+")",s.contextTypes={intl:xe},s.WrappedComponent=e,Le(s,e)},e.defineMessages=function(e){return e},e.IntlProvider=rt,e.FormattedDate=nt,e.FormattedTime=ot,e.FormattedRelative=ct,e.FormattedNumber=ft,e.FormattedPlural=pt,e.FormattedMessage=mt,e.FormattedHTMLMessage=dt,Object.defineProperty(e,"__esModule",{value:!0})});
-//# sourceMappingURL=react-intl.min.js.map
--- a/browser/components/newtab/webpack.system-addon.config.js
+++ b/browser/components/newtab/webpack.system-addon.config.js
@@ -44,13 +44,12 @@ module.exports = (env = {}) => ({
       "node_modules",
       ".",
     ],
   },
   externals: {
     "prop-types": "PropTypes",
     "react": "React",
     "react-dom": "ReactDOM",
-    "react-intl": "ReactIntl",
     "redux": "Redux",
     "react-redux": "ReactRedux",
   },
 });
--- a/toolkit/content/license.html
+++ b/toolkit/content/license.html
@@ -152,17 +152,16 @@
       <li><a href="about:license#praton1">praton and inet_ntop License</a></li>
       <li><a href="about:license#precomputed-hash">precomputed-hash License</a></li>
       <li><a href="about:license#prop-types">prop-types License</a></li>
       <li><a href="about:license#qcms">qcms License</a></li>
       <li><a href="about:license#qrcode-generator">QR Code Generator License</a></li>
       <li><a href="about:license#raven-js">Raven.js License</a></li>
       <li><a href="about:license#react">React License</a></li>
       <li><a href="about:license#react-mit">React MIT License</a></li>
-      <li><a href="about:license#react-intl">React Intl License</a></li>
       <li><a href="about:license#react-redux">React-Redux License</a></li>
       <li><a href="about:license#react-router">React Router License</a></li>
       <li><a href="about:license#xdg">Red Hat xdg_user_dir_lookup License</a></li>
       <li><a href="about:license#redox_syscall">redox_syscall License</a></li>
       <li><a href="about:license#redux">Redux License</a></li>
       <li><a href="about:license#reselect">Reselect License</a></li>
       <li><a href="about:license#hunspell-ru">Russian Spellchecking Dictionary License</a></li>
       <li><a href="about:license#sctp">SCTP Licenses</a></li>
@@ -5718,52 +5717,16 @@ FITNESS FOR A PARTICULAR PURPOSE AND NON
 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 SOFTWARE.
   </pre>
 
   <hr>
 
-    <h1><a id="react-intl"></a>React Intl License</h1>
-
-    <p>This license applies to the files
-    <code>browser/components/newtab/vendor/react-intl.js</code>.</p>
-<pre>
-Copyright 2014 Yahoo Inc.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in the
-      documentation and/or other materials provided with the distribution.
-
-    * Neither the name of the Yahoo Inc. nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL YAHOO! INC. BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</pre>
-
-    <hr>
-
     <h1><a id="react-redux"></a>React-Redux License</h1>
 
     <p>This license applies to the files
     <code>devtools/client/shared/vendor/react-redux.js</code> and
     <code>browser/components/newtab/vendor/react-redux.js</code>.</p>
 <pre>
 Copyright (c) 2015 Dan Abramov