From ede3f5dec5a1779e4ff5f91cd139ec4637e0300a Mon Sep 17 00:00:00 2001
From: "Collin M. Barrett"
Date: Mon, 30 Oct 2017 20:21:04 -0500
Subject: [PATCH] Revert "replace react with simple Razor Pages template"
This reverts commit f5d341a04a3e3500e78c4dbe51ab729443593dbb.
---
FilterLists.sln | 10 +-
src/FilterLists.Web/.bowerrc | 3 -
src/FilterLists.Web/ClientApp/boot.tsx | 28 +
.../ClientApp/components/Home.tsx | 58 +
.../ClientApp/components/Layout.tsx | 21 +
.../ClientApp/components/NavMenu.tsx | 24 +
src/FilterLists.Web/ClientApp/css/site.css | 67 +
src/FilterLists.Web/ClientApp/routes.tsx | 8 +
.../Controllers/HomeController.cs | 19 +
src/FilterLists.Web/FilterLists.Web.csproj | 27 +-
src/FilterLists.Web/Pages/About.cshtml | 9 -
src/FilterLists.Web/Pages/About.cshtml.cs | 18 -
src/FilterLists.Web/Pages/Contact.cshtml | 19 -
src/FilterLists.Web/Pages/Contact.cshtml.cs | 18 -
src/FilterLists.Web/Pages/Error.cshtml.cs | 21 -
src/FilterLists.Web/Pages/Index.cshtml | 110 -
src/FilterLists.Web/Pages/Index.cshtml.cs | 17 -
src/FilterLists.Web/Pages/_Layout.cshtml | 71 -
.../Pages/_ValidationScriptsPartial.cshtml | 18 -
src/FilterLists.Web/Program.cs | 16 +-
src/FilterLists.Web/Startup.cs | 25 +-
src/FilterLists.Web/Views/Home/Index.cshtml | 9 +
.../{Pages => Views/Shared}/Error.cshtml | 8 +-
.../Views/Shared/_Layout.cshtml | 20 +
.../{Pages => Views}/_ViewImports.cshtml | 2 +-
.../{Pages => Views}/_ViewStart.cshtml | 4 +-
.../appsettings.Development.json | 10 -
src/FilterLists.Web/bower.json | 10 -
src/FilterLists.Web/bundleconfig.json | 24 -
src/FilterLists.Web/npm-shrinkwrap.json | 4922 +++++++++
src/FilterLists.Web/package.json | 34 +
src/FilterLists.Web/tsconfig.json | 17 +
src/FilterLists.Web/webpack.config.js | 43 +
src/FilterLists.Web/webpack.config.vendor.js | 42 +
src/FilterLists.Web/wwwroot/css/site.css | 35 -
src/FilterLists.Web/wwwroot/css/site.min.css | 1 -
.../89889688147bd7575d6327160d64e760.svg} | 0
src/FilterLists.Web/wwwroot/dist/main.js | 1 +
src/FilterLists.Web/wwwroot/dist/main.js.map | Bin 0 -> 506901 bytes
src/FilterLists.Web/wwwroot/dist/site.css | 1 +
.../wwwroot/dist/vendor-manifest.json | 1 +
src/FilterLists.Web/wwwroot/dist/vendor.css | 7 +
src/FilterLists.Web/wwwroot/dist/vendor.js | 48 +
.../wwwroot/images/banner1.svg | 1 -
.../wwwroot/images/banner2.svg | 1 -
.../wwwroot/images/banner3.svg | 1 -
.../wwwroot/images/banner4.svg | 1 -
src/FilterLists.Web/wwwroot/js/site.js | 1 -
src/FilterLists.Web/wwwroot/js/site.min.js | 0
.../wwwroot/lib/bootstrap/.bower.json | 45 -
.../wwwroot/lib/bootstrap/LICENSE | 21 -
.../bootstrap/dist/css/bootstrap-theme.css | 587 -
.../dist/css/bootstrap-theme.css.map | Bin 47706 -> 0 bytes
.../dist/css/bootstrap-theme.min.css.map | Bin 25648 -> 0 bytes
.../lib/bootstrap/dist/css/bootstrap.css | 6757 -----------
.../lib/bootstrap/dist/css/bootstrap.css.map | Bin 389287 -> 0 bytes
.../bootstrap/dist/css/bootstrap.min.css.map | Bin 542194 -> 0 bytes
.../fonts/glyphicons-halflings-regular.eot | Bin 20127 -> 0 bytes
.../fonts/glyphicons-halflings-regular.ttf | Bin 45404 -> 0 bytes
.../fonts/glyphicons-halflings-regular.woff | Bin 23424 -> 0 bytes
.../fonts/glyphicons-halflings-regular.woff2 | Bin 18028 -> 0 bytes
.../lib/bootstrap/dist/js/bootstrap.js | 2377 ----
.../wwwroot/lib/bootstrap/dist/js/npm.js | 13 -
.../jquery-validation-unobtrusive/.bower.json | 44 -
.../jquery.validate.unobtrusive.js | 416 -
.../jquery.validate.unobtrusive.min.js | 5 -
.../wwwroot/lib/jquery-validation/.bower.json | 40 -
.../wwwroot/lib/jquery-validation/LICENSE.md | 22 -
.../dist/additional-methods.js | 998 --
.../jquery-validation/dist/jquery.validate.js | 1398 ---
.../wwwroot/lib/jquery/.bower.json | 25 -
.../wwwroot/lib/jquery/LICENSE.txt | 36 -
.../wwwroot/lib/jquery/dist/jquery.js | 9831 -----------------
.../wwwroot/lib/jquery/dist/jquery.min.map | Bin 129544 -> 0 bytes
74 files changed, 5427 insertions(+), 23039 deletions(-)
delete mode 100644 src/FilterLists.Web/.bowerrc
create mode 100644 src/FilterLists.Web/ClientApp/boot.tsx
create mode 100644 src/FilterLists.Web/ClientApp/components/Home.tsx
create mode 100644 src/FilterLists.Web/ClientApp/components/Layout.tsx
create mode 100644 src/FilterLists.Web/ClientApp/components/NavMenu.tsx
create mode 100644 src/FilterLists.Web/ClientApp/css/site.css
create mode 100644 src/FilterLists.Web/ClientApp/routes.tsx
create mode 100644 src/FilterLists.Web/Controllers/HomeController.cs
delete mode 100644 src/FilterLists.Web/Pages/About.cshtml
delete mode 100644 src/FilterLists.Web/Pages/About.cshtml.cs
delete mode 100644 src/FilterLists.Web/Pages/Contact.cshtml
delete mode 100644 src/FilterLists.Web/Pages/Contact.cshtml.cs
delete mode 100644 src/FilterLists.Web/Pages/Error.cshtml.cs
delete mode 100644 src/FilterLists.Web/Pages/Index.cshtml
delete mode 100644 src/FilterLists.Web/Pages/Index.cshtml.cs
delete mode 100644 src/FilterLists.Web/Pages/_Layout.cshtml
delete mode 100644 src/FilterLists.Web/Pages/_ValidationScriptsPartial.cshtml
create mode 100644 src/FilterLists.Web/Views/Home/Index.cshtml
rename src/FilterLists.Web/{Pages => Views/Shared}/Error.cshtml (84%)
create mode 100644 src/FilterLists.Web/Views/Shared/_Layout.cshtml
rename src/FilterLists.Web/{Pages => Views}/_ViewImports.cshtml (60%)
rename src/FilterLists.Web/{Pages => Views}/_ViewStart.cshtml (75%)
delete mode 100644 src/FilterLists.Web/appsettings.Development.json
delete mode 100644 src/FilterLists.Web/bower.json
delete mode 100644 src/FilterLists.Web/bundleconfig.json
create mode 100644 src/FilterLists.Web/npm-shrinkwrap.json
create mode 100644 src/FilterLists.Web/package.json
create mode 100644 src/FilterLists.Web/tsconfig.json
create mode 100644 src/FilterLists.Web/webpack.config.js
create mode 100644 src/FilterLists.Web/webpack.config.vendor.js
delete mode 100644 src/FilterLists.Web/wwwroot/css/site.css
delete mode 100644 src/FilterLists.Web/wwwroot/css/site.min.css
rename src/FilterLists.Web/wwwroot/{lib/bootstrap/dist/fonts/glyphicons-halflings-regular.svg => dist/89889688147bd7575d6327160d64e760.svg} (100%)
create mode 100644 src/FilterLists.Web/wwwroot/dist/main.js
create mode 100644 src/FilterLists.Web/wwwroot/dist/main.js.map
create mode 100644 src/FilterLists.Web/wwwroot/dist/site.css
create mode 100644 src/FilterLists.Web/wwwroot/dist/vendor-manifest.json
create mode 100644 src/FilterLists.Web/wwwroot/dist/vendor.css
create mode 100644 src/FilterLists.Web/wwwroot/dist/vendor.js
delete mode 100644 src/FilterLists.Web/wwwroot/images/banner1.svg
delete mode 100644 src/FilterLists.Web/wwwroot/images/banner2.svg
delete mode 100644 src/FilterLists.Web/wwwroot/images/banner3.svg
delete mode 100644 src/FilterLists.Web/wwwroot/images/banner4.svg
delete mode 100644 src/FilterLists.Web/wwwroot/js/site.js
delete mode 100644 src/FilterLists.Web/wwwroot/js/site.min.js
delete mode 100644 src/FilterLists.Web/wwwroot/lib/bootstrap/.bower.json
delete mode 100644 src/FilterLists.Web/wwwroot/lib/bootstrap/LICENSE
delete mode 100644 src/FilterLists.Web/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css
delete mode 100644 src/FilterLists.Web/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css.map
delete mode 100644 src/FilterLists.Web/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.min.css.map
delete mode 100644 src/FilterLists.Web/wwwroot/lib/bootstrap/dist/css/bootstrap.css
delete mode 100644 src/FilterLists.Web/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map
delete mode 100644 src/FilterLists.Web/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map
delete mode 100644 src/FilterLists.Web/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot
delete mode 100644 src/FilterLists.Web/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf
delete mode 100644 src/FilterLists.Web/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff
delete mode 100644 src/FilterLists.Web/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2
delete mode 100644 src/FilterLists.Web/wwwroot/lib/bootstrap/dist/js/bootstrap.js
delete mode 100644 src/FilterLists.Web/wwwroot/lib/bootstrap/dist/js/npm.js
delete mode 100644 src/FilterLists.Web/wwwroot/lib/jquery-validation-unobtrusive/.bower.json
delete mode 100644 src/FilterLists.Web/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js
delete mode 100644 src/FilterLists.Web/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js
delete mode 100644 src/FilterLists.Web/wwwroot/lib/jquery-validation/.bower.json
delete mode 100644 src/FilterLists.Web/wwwroot/lib/jquery-validation/LICENSE.md
delete mode 100644 src/FilterLists.Web/wwwroot/lib/jquery-validation/dist/additional-methods.js
delete mode 100644 src/FilterLists.Web/wwwroot/lib/jquery-validation/dist/jquery.validate.js
delete mode 100644 src/FilterLists.Web/wwwroot/lib/jquery/.bower.json
delete mode 100644 src/FilterLists.Web/wwwroot/lib/jquery/LICENSE.txt
delete mode 100644 src/FilterLists.Web/wwwroot/lib/jquery/dist/jquery.js
delete mode 100644 src/FilterLists.Web/wwwroot/lib/jquery/dist/jquery.min.map
diff --git a/FilterLists.sln b/FilterLists.sln
index 0cb175806..81bdb930b 100644
--- a/FilterLists.sln
+++ b/FilterLists.sln
@@ -8,7 +8,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FilterLists.Data", "src\Fil
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FilterLists.Services", "src\FilterLists.Services\FilterLists.Services.csproj", "{9F296ECF-97C9-47E6-A794-5AD900ECFE6C}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FilterLists.Web", "src\FilterLists.Web\FilterLists.Web.csproj", "{CC033D68-84C7-4A73-9E41-7DD3666DC4E8}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FilterLists.Web", "src\FilterLists.Web\FilterLists.Web.csproj", "{A633502A-C434-41E2-9639-2D699CE4F5FA}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -28,10 +28,10 @@ Global
{9F296ECF-97C9-47E6-A794-5AD900ECFE6C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9F296ECF-97C9-47E6-A794-5AD900ECFE6C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9F296ECF-97C9-47E6-A794-5AD900ECFE6C}.Release|Any CPU.Build.0 = Release|Any CPU
- {CC033D68-84C7-4A73-9E41-7DD3666DC4E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {CC033D68-84C7-4A73-9E41-7DD3666DC4E8}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {CC033D68-84C7-4A73-9E41-7DD3666DC4E8}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {CC033D68-84C7-4A73-9E41-7DD3666DC4E8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A633502A-C434-41E2-9639-2D699CE4F5FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A633502A-C434-41E2-9639-2D699CE4F5FA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A633502A-C434-41E2-9639-2D699CE4F5FA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A633502A-C434-41E2-9639-2D699CE4F5FA}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/src/FilterLists.Web/.bowerrc b/src/FilterLists.Web/.bowerrc
deleted file mode 100644
index 6406626ab..000000000
--- a/src/FilterLists.Web/.bowerrc
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "directory": "wwwroot/lib"
-}
diff --git a/src/FilterLists.Web/ClientApp/boot.tsx b/src/FilterLists.Web/ClientApp/boot.tsx
new file mode 100644
index 000000000..508f8a698
--- /dev/null
+++ b/src/FilterLists.Web/ClientApp/boot.tsx
@@ -0,0 +1,28 @@
+import "./css/site.css";
+import "bootstrap";
+import * as React from "react";
+import * as ReactDOM from "react-dom";
+import { AppContainer } from "react-hot-loader";
+import { BrowserRouter } from "react-router-dom";
+import * as RoutesModule from "./routes";
+let routes = RoutesModule.routes;
+
+function renderApp() {
+ const baseUrl = document.getElementsByTagName("base")[0].getAttribute("href")!;
+ ReactDOM.render(
+
+
+ ,
+ document.getElementById("react-app")
+ );
+}
+
+renderApp();
+
+if (module.hot) {
+ module.hot.accept("./routes",
+ () => {
+ routes = require("./routes").routes;
+ renderApp();
+ });
+}
\ No newline at end of file
diff --git a/src/FilterLists.Web/ClientApp/components/Home.tsx b/src/FilterLists.Web/ClientApp/components/Home.tsx
new file mode 100644
index 000000000..4ace527d5
--- /dev/null
+++ b/src/FilterLists.Web/ClientApp/components/Home.tsx
@@ -0,0 +1,58 @@
+import * as React from "react";
+import { RouteComponentProps } from "react-router";
+import "isomorphic-fetch";
+
+interface IFilterListsState {
+ filterLists: IFilterList[];
+ loading: boolean;
+}
+
+export class Home extends React.Component, IFilterListsState> {
+ constructor() {
+ super();
+ this.state = { filterLists: [], loading: true };
+
+ fetch("https://api.filterlists.com/v1/lists")
+ .then(response => response.json() as Promise)
+ .then(data => {
+ this.setState({ filterLists: data, loading: false });
+ });
+ }
+
+ render() {
+ const contents = this.state.loading
+ ?
+ Loading...
+
+ : Home.renderFilterListsTable(this.state.filterLists);
+
+ return
+ { contents }
+
;
+ }
+
+ private static renderFilterListsTable(filterLists: IFilterList[]) {
+ return
+
+
+ Name
+ Description
+
+
+
+ {filterLists.map(filterList =>
+
+ { filterList.name }
+ { filterList.description }
+
+ )}
+
+
;
+ }
+}
+
+interface IFilterList {
+ id: number;
+ name: string;
+ description: string;
+}
\ No newline at end of file
diff --git a/src/FilterLists.Web/ClientApp/components/Layout.tsx b/src/FilterLists.Web/ClientApp/components/Layout.tsx
new file mode 100644
index 000000000..fdd5edf7c
--- /dev/null
+++ b/src/FilterLists.Web/ClientApp/components/Layout.tsx
@@ -0,0 +1,21 @@
+import * as React from "react";
+import { NavMenu } from "./NavMenu";
+
+export interface ILayoutProps {
+ children?: React.ReactNode;
+}
+
+export class Layout extends React.Component {
+ render() {
+ return
+
+
+
+
+
+ { this.props.children }
+
+
+
;
+ }
+}
\ No newline at end of file
diff --git a/src/FilterLists.Web/ClientApp/components/NavMenu.tsx b/src/FilterLists.Web/ClientApp/components/NavMenu.tsx
new file mode 100644
index 000000000..110a16732
--- /dev/null
+++ b/src/FilterLists.Web/ClientApp/components/NavMenu.tsx
@@ -0,0 +1,24 @@
+import * as React from "react";
+import { Link, NavLink } from "react-router-dom";
+
+export class NavMenu extends React.Component<{}, {}> {
+ render() {
+ return ;
+ }
+}
\ No newline at end of file
diff --git a/src/FilterLists.Web/ClientApp/css/site.css b/src/FilterLists.Web/ClientApp/css/site.css
new file mode 100644
index 000000000..085cb564e
--- /dev/null
+++ b/src/FilterLists.Web/ClientApp/css/site.css
@@ -0,0 +1,67 @@
+.main-nav li .glyphicon { margin-right: 10px; }
+
+/* Highlighting rules for nav menu items */
+
+.main-nav li a.active,
+.main-nav li a.active:hover,
+.main-nav li a.active:focus {
+ background-color: #4189C7;
+ color: white;
+}
+
+/* Keep the nav menu independent of scrolling and on top of other items */
+
+.main-nav {
+ left: 0;
+ position: fixed;
+ right: 0;
+ top: 0;
+ z-index: 1;
+}
+
+@media (max-width: 767px) {
+ /* On small screens, the nav menu spans the full width of the screen. Leave a space for it. */
+ body { padding-top: 50px; }
+}
+
+@media (min-width: 768px) {
+ /* On small screens, convert the nav menu to a vertical sidebar */
+ .main-nav {
+ height: 100%;
+ width: calc(25% - 20px);
+ }
+
+ .main-nav .navbar {
+ border-radius: 0px;
+ border-width: 0px;
+ height: 100%;
+ }
+
+ .main-nav .navbar-header { float: none; }
+
+ .main-nav .navbar-collapse {
+ border-top: 1px solid #444;
+ padding: 0px;
+ }
+
+ .main-nav .navbar ul { float: none; }
+
+ .main-nav .navbar li {
+ float: none;
+ font-size: 15px;
+ margin: 6px;
+ }
+
+ .main-nav .navbar li a {
+ border-radius: 4px;
+ padding: 10px 16px;
+ }
+
+ .main-nav .navbar a {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ /* If a menu item's text is too long, truncate it */
+ width: 100%;
+ }
+}
\ No newline at end of file
diff --git a/src/FilterLists.Web/ClientApp/routes.tsx b/src/FilterLists.Web/ClientApp/routes.tsx
new file mode 100644
index 000000000..5a14cda26
--- /dev/null
+++ b/src/FilterLists.Web/ClientApp/routes.tsx
@@ -0,0 +1,8 @@
+import * as React from "react";
+import { Route } from "react-router-dom";
+import { Layout } from "./components/Layout";
+import { Home } from "./components/Home";
+
+export const routes =
+
+ ;
\ No newline at end of file
diff --git a/src/FilterLists.Web/Controllers/HomeController.cs b/src/FilterLists.Web/Controllers/HomeController.cs
new file mode 100644
index 000000000..24b36aff6
--- /dev/null
+++ b/src/FilterLists.Web/Controllers/HomeController.cs
@@ -0,0 +1,19 @@
+using System.Diagnostics;
+using Microsoft.AspNetCore.Mvc;
+
+namespace FilterLists.Web.Controllers
+{
+ public class HomeController : Controller
+ {
+ public IActionResult Index()
+ {
+ return View();
+ }
+
+ public IActionResult Error()
+ {
+ ViewData["RequestId"] = Activity.Current?.Id ?? HttpContext.TraceIdentifier;
+ return View();
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/FilterLists.Web/FilterLists.Web.csproj b/src/FilterLists.Web/FilterLists.Web.csproj
index 09a1fe093..8b8b10bdb 100644
--- a/src/FilterLists.Web/FilterLists.Web.csproj
+++ b/src/FilterLists.Web/FilterLists.Web.csproj
@@ -1,11 +1,36 @@
netcoreapp2.0
+ true
+ Latest
+ false
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %(DistFiles.Identity)
+ PreserveNewest
+
+
+
+
\ No newline at end of file
diff --git a/src/FilterLists.Web/Pages/About.cshtml b/src/FilterLists.Web/Pages/About.cshtml
deleted file mode 100644
index 3c090d15f..000000000
--- a/src/FilterLists.Web/Pages/About.cshtml
+++ /dev/null
@@ -1,9 +0,0 @@
-@page
-@model AboutModel
-@{
- ViewData["Title"] = "About";
-}
-@ViewData["Title"]
-@Model.Message
-
-Use this area to provide additional information.
diff --git a/src/FilterLists.Web/Pages/About.cshtml.cs b/src/FilterLists.Web/Pages/About.cshtml.cs
deleted file mode 100644
index c70ef7d76..000000000
--- a/src/FilterLists.Web/Pages/About.cshtml.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
-using Microsoft.AspNetCore.Mvc.RazorPages;
-
-namespace FilterLists.Web.Pages
-{
- public class AboutModel : PageModel
- {
- public string Message { get; set; }
-
- public void OnGet()
- {
- Message = "Your application description page.";
- }
- }
-}
diff --git a/src/FilterLists.Web/Pages/Contact.cshtml b/src/FilterLists.Web/Pages/Contact.cshtml
deleted file mode 100644
index b683c8216..000000000
--- a/src/FilterLists.Web/Pages/Contact.cshtml
+++ /dev/null
@@ -1,19 +0,0 @@
-@page
-@model ContactModel
-@{
- ViewData["Title"] = "Contact";
-}
-@ViewData["Title"]
-@Model.Message
-
-
- One Microsoft Way
- Redmond, WA 98052-6399
- P:
- 425.555.0100
-
-
-
- Support: Support@example.com
- Marketing: Marketing@example.com
-
diff --git a/src/FilterLists.Web/Pages/Contact.cshtml.cs b/src/FilterLists.Web/Pages/Contact.cshtml.cs
deleted file mode 100644
index 80341a258..000000000
--- a/src/FilterLists.Web/Pages/Contact.cshtml.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
-using Microsoft.AspNetCore.Mvc.RazorPages;
-
-namespace FilterLists.Web.Pages
-{
- public class ContactModel : PageModel
- {
- public string Message { get; set; }
-
- public void OnGet()
- {
- Message = "Your contact page.";
- }
- }
-}
diff --git a/src/FilterLists.Web/Pages/Error.cshtml.cs b/src/FilterLists.Web/Pages/Error.cshtml.cs
deleted file mode 100644
index a4c497040..000000000
--- a/src/FilterLists.Web/Pages/Error.cshtml.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Linq;
-using System.Threading.Tasks;
-using Microsoft.AspNetCore.Mvc.RazorPages;
-
-namespace FilterLists.Web.Pages
-{
- public class ErrorModel : PageModel
- {
- public string RequestId { get; set; }
-
- public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
-
- public void OnGet()
- {
- RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier;
- }
- }
-}
diff --git a/src/FilterLists.Web/Pages/Index.cshtml b/src/FilterLists.Web/Pages/Index.cshtml
deleted file mode 100644
index c7f588fa3..000000000
--- a/src/FilterLists.Web/Pages/Index.cshtml
+++ /dev/null
@@ -1,110 +0,0 @@
-@page
-@model IndexModel
-@{
- ViewData["Title"] = "Home page";
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
- Learn how to build ASP.NET apps that can run anywhere.
-
- Learn More
-
-
-
-
-
-
-
-
- There are powerful new features in Visual Studio for building modern web apps.
-
- Learn More
-
-
-
-
-
-
-
-
- Bring in libraries from NuGet, Bower, and npm, and automate tasks using Grunt or Gulp.
-
- Learn More
-
-
-
-
-
-
-
-
- Learn how Microsoft's Azure cloud platform allows you to build, deploy, and scale web apps.
-
- Learn More
-
-
-
-
-
-
-
- Previous
-
-
-
- Next
-
-
-
-
-
-
Application uses
-
- Sample pages using ASP.NET Core Razor Pages
- Bower for managing client-side libraries
- Theming using Bootstrap
-
-
-
-
-
-
diff --git a/src/FilterLists.Web/Pages/Index.cshtml.cs b/src/FilterLists.Web/Pages/Index.cshtml.cs
deleted file mode 100644
index 3d70b0f6a..000000000
--- a/src/FilterLists.Web/Pages/Index.cshtml.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
-using Microsoft.AspNetCore.Mvc;
-using Microsoft.AspNetCore.Mvc.RazorPages;
-
-namespace FilterLists.Web.Pages
-{
- public class IndexModel : PageModel
- {
- public void OnGet()
- {
-
- }
- }
-}
diff --git a/src/FilterLists.Web/Pages/_Layout.cshtml b/src/FilterLists.Web/Pages/_Layout.cshtml
deleted file mode 100644
index 118d0a7ae..000000000
--- a/src/FilterLists.Web/Pages/_Layout.cshtml
+++ /dev/null
@@ -1,71 +0,0 @@
-
-
-
-
-
- @ViewData["Title"] - FilterLists.Web
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- @RenderBody()
-
-
- © 2017 - FilterLists.Web
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- @RenderSection("Scripts", required: false)
-
-
diff --git a/src/FilterLists.Web/Pages/_ValidationScriptsPartial.cshtml b/src/FilterLists.Web/Pages/_ValidationScriptsPartial.cshtml
deleted file mode 100644
index a2b13b317..000000000
--- a/src/FilterLists.Web/Pages/_ValidationScriptsPartial.cshtml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/src/FilterLists.Web/Program.cs b/src/FilterLists.Web/Program.cs
index fd165710c..42485e17e 100644
--- a/src/FilterLists.Web/Program.cs
+++ b/src/FilterLists.Web/Program.cs
@@ -1,12 +1,5 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Threading.Tasks;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
-using Microsoft.Extensions.Configuration;
-using Microsoft.Extensions.Logging;
namespace FilterLists.Web
{
@@ -17,9 +10,12 @@ public static void Main(string[] args)
BuildWebHost(args).Run();
}
- public static IWebHost BuildWebHost(string[] args) =>
- WebHost.CreateDefaultBuilder(args)
+ public static IWebHost BuildWebHost(string[] args)
+ {
+ return WebHost.CreateDefaultBuilder(args)
+ .UseUrls("http://localhost:5001;")
.UseStartup()
.Build();
+ }
}
-}
+}
\ No newline at end of file
diff --git a/src/FilterLists.Web/Startup.cs b/src/FilterLists.Web/Startup.cs
index 4c71530ad..91f8bb47a 100644
--- a/src/FilterLists.Web/Startup.cs
+++ b/src/FilterLists.Web/Startup.cs
@@ -1,9 +1,6 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
+using Microsoft.AspNetCore.SpaServices.Webpack;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
@@ -18,23 +15,25 @@ public Startup(IConfiguration configuration)
public IConfiguration Configuration { get; }
- // This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
}
- // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
- app.UseBrowserLink();
+ app.UseWebpackDevMiddleware(new WebpackDevMiddlewareOptions
+ {
+ HotModuleReplacement = true,
+ ReactHotModuleReplacement = true
+ });
}
else
{
- app.UseExceptionHandler("/Error");
+ app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
@@ -42,9 +41,13 @@ public void Configure(IApplicationBuilder app, IHostingEnvironment env)
app.UseMvc(routes =>
{
routes.MapRoute(
- name: "default",
- template: "{controller}/{action=Index}/{id?}");
+ "default",
+ "{controller=Home}/{action=Index}/{id?}");
+
+ routes.MapSpaFallbackRoute(
+ "spa-fallback",
+ new {controller = "Home", action = "Index"});
});
}
}
-}
+}
\ No newline at end of file
diff --git a/src/FilterLists.Web/Views/Home/Index.cshtml b/src/FilterLists.Web/Views/Home/Index.cshtml
new file mode 100644
index 000000000..507f3cfa0
--- /dev/null
+++ b/src/FilterLists.Web/Views/Home/Index.cshtml
@@ -0,0 +1,9 @@
+@{
+ ViewData["Title"] = "Home Page";
+}
+
+Loading...
+
+@section scripts {
+
+}
\ No newline at end of file
diff --git a/src/FilterLists.Web/Pages/Error.cshtml b/src/FilterLists.Web/Views/Shared/Error.cshtml
similarity index 84%
rename from src/FilterLists.Web/Pages/Error.cshtml
rename to src/FilterLists.Web/Views/Shared/Error.cshtml
index b1f3143a4..6c38a0b5a 100644
--- a/src/FilterLists.Web/Pages/Error.cshtml
+++ b/src/FilterLists.Web/Views/Shared/Error.cshtml
@@ -1,5 +1,3 @@
-@page
-@model ErrorModel
@{
ViewData["Title"] = "Error";
}
@@ -7,10 +5,10 @@
Error.
An error occurred while processing your request.
-@if (Model.ShowRequestId)
+@if (!string.IsNullOrEmpty((string) ViewData["RequestId"]))
{
- Request ID: @Model.RequestId
+ Request ID: @ViewData["RequestId"]
}
@@ -20,4 +18,4 @@
Development environment should not be enabled in deployed applications , as it can result in sensitive information from exceptions being displayed to end users. For local debugging, development environment can be enabled by setting the ASPNETCORE_ENVIRONMENT environment variable to Development , and restarting the application.
-
+
\ No newline at end of file
diff --git a/src/FilterLists.Web/Views/Shared/_Layout.cshtml b/src/FilterLists.Web/Views/Shared/_Layout.cshtml
new file mode 100644
index 000000000..dd28063af
--- /dev/null
+++ b/src/FilterLists.Web/Views/Shared/_Layout.cshtml
@@ -0,0 +1,20 @@
+
+
+
+
+
+ @ViewData["Title"] - FilterLists.Web
+
+
+
+
+
+
+
+
+@RenderBody()
+
+
+@RenderSection("scripts", false)
+
+
\ No newline at end of file
diff --git a/src/FilterLists.Web/Pages/_ViewImports.cshtml b/src/FilterLists.Web/Views/_ViewImports.cshtml
similarity index 60%
rename from src/FilterLists.Web/Pages/_ViewImports.cshtml
rename to src/FilterLists.Web/Views/_ViewImports.cshtml
index fdbfd1b5e..2933db932 100644
--- a/src/FilterLists.Web/Pages/_ViewImports.cshtml
+++ b/src/FilterLists.Web/Views/_ViewImports.cshtml
@@ -1,3 +1,3 @@
@using FilterLists.Web
-@namespace FilterLists.Web.Pages
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
+@addTagHelper *, Microsoft.AspNetCore.SpaServices
\ No newline at end of file
diff --git a/src/FilterLists.Web/Pages/_ViewStart.cshtml b/src/FilterLists.Web/Views/_ViewStart.cshtml
similarity index 75%
rename from src/FilterLists.Web/Pages/_ViewStart.cshtml
rename to src/FilterLists.Web/Views/_ViewStart.cshtml
index a5f10045d..d641c67f3 100644
--- a/src/FilterLists.Web/Pages/_ViewStart.cshtml
+++ b/src/FilterLists.Web/Views/_ViewStart.cshtml
@@ -1,3 +1,3 @@
-@{
+@{
Layout = "_Layout";
-}
+}
\ No newline at end of file
diff --git a/src/FilterLists.Web/appsettings.Development.json b/src/FilterLists.Web/appsettings.Development.json
deleted file mode 100644
index fa8ce71a9..000000000
--- a/src/FilterLists.Web/appsettings.Development.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "Logging": {
- "IncludeScopes": false,
- "LogLevel": {
- "Default": "Debug",
- "System": "Information",
- "Microsoft": "Information"
- }
- }
-}
diff --git a/src/FilterLists.Web/bower.json b/src/FilterLists.Web/bower.json
deleted file mode 100644
index b07e3cc5a..000000000
--- a/src/FilterLists.Web/bower.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "name": "asp.net",
- "private": true,
- "dependencies": {
- "bootstrap": "3.3.7",
- "jquery": "2.2.0",
- "jquery-validation": "1.14.0",
- "jquery-validation-unobtrusive": "3.2.6"
- }
-}
diff --git a/src/FilterLists.Web/bundleconfig.json b/src/FilterLists.Web/bundleconfig.json
deleted file mode 100644
index 6d3f9a57a..000000000
--- a/src/FilterLists.Web/bundleconfig.json
+++ /dev/null
@@ -1,24 +0,0 @@
-// Configure bundling and minification for the project.
-// More info at https://go.microsoft.com/fwlink/?LinkId=808241
-[
- {
- "outputFileName": "wwwroot/css/site.min.css",
- // An array of relative input file paths. Globbing patterns supported
- "inputFiles": [
- "wwwroot/css/site.css"
- ]
- },
- {
- "outputFileName": "wwwroot/js/site.min.js",
- "inputFiles": [
- "wwwroot/js/site.js"
- ],
- // Optionally specify minification options
- "minify": {
- "enabled": true,
- "renameLocals": true
- },
- // Optionally generate .map file
- "sourceMap": false
- }
-]
diff --git a/src/FilterLists.Web/npm-shrinkwrap.json b/src/FilterLists.Web/npm-shrinkwrap.json
new file mode 100644
index 000000000..088bffa8d
--- /dev/null
+++ b/src/FilterLists.Web/npm-shrinkwrap.json
@@ -0,0 +1,4922 @@
+{
+ "name": "FilterLists.Web",
+ "version": "0.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@types/history": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/@types/history/-/history-4.6.0.tgz",
+ "integrity": "sha1-CT1n7XgNiJyVQ/bcok6+4La5/EU=",
+ "dev": true
+ },
+ "@types/react": {
+ "version": "15.0.35",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-15.0.35.tgz",
+ "integrity": "sha1-RnKSPNUC0D4UgNA4FuvFpxn7hto=",
+ "dev": true
+ },
+ "@types/react-dom": {
+ "version": "15.5.1",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-15.5.1.tgz",
+ "integrity": "sha1-88PhTGgnhZI8fWRYNTffMZRC3sE=",
+ "dev": true,
+ "requires": {
+ "@types/react": "15.0.35"
+ }
+ },
+ "@types/react-hot-loader": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/react-hot-loader/-/react-hot-loader-3.0.3.tgz",
+ "integrity": "sha1-7gKxmZwicTQY4ZjMPrCQt+ds5ZI=",
+ "dev": true,
+ "requires": {
+ "@types/react": "15.0.35"
+ }
+ },
+ "@types/react-router": {
+ "version": "4.0.12",
+ "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-4.0.12.tgz",
+ "integrity": "sha1-fM80M3QTk+Iu3hSbXNczq/5ZT/w=",
+ "dev": true,
+ "requires": {
+ "@types/history": "4.6.0",
+ "@types/react": "15.0.35"
+ }
+ },
+ "@types/react-router-dom": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-4.0.5.tgz",
+ "integrity": "sha1-Y4+JypBToPOTfRYE8u1j2sYXLs4=",
+ "dev": true,
+ "requires": {
+ "@types/history": "4.6.0",
+ "@types/react": "15.0.35",
+ "@types/react-router": "4.0.12"
+ }
+ },
+ "@types/webpack-env": {
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.13.0.tgz",
+ "integrity": "sha1-MEQ4FkfhHulzxa8uklMjkw9pHYA=",
+ "dev": true
+ },
+ "acorn": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.0.3.tgz",
+ "integrity": "sha1-xGDfCEkUY/AozLguqzcwvwEIez0=",
+ "dev": true
+ },
+ "acorn-dynamic-import": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz",
+ "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=",
+ "dev": true,
+ "requires": {
+ "acorn": "4.0.13"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "4.0.13",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
+ "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
+ "dev": true
+ }
+ }
+ },
+ "ajv": {
+ "version": "4.11.8",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
+ "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
+ "dev": true,
+ "requires": {
+ "co": "4.6.0",
+ "json-stable-stringify": "1.0.1"
+ }
+ },
+ "ajv-keywords": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz",
+ "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=",
+ "dev": true
+ },
+ "align-text": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
+ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2",
+ "longest": "1.0.1",
+ "repeat-string": "1.6.1"
+ }
+ },
+ "alphanum-sort": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
+ "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
+ "dev": true
+ },
+ "amdefine": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
+ "dev": true
+ },
+ "ansi-html": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
+ "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
+ "dev": true
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "anymatch": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz",
+ "integrity": "sha1-o+Uvo5FoyCX/V7AkgSbOWo/5VQc=",
+ "dev": true,
+ "requires": {
+ "arrify": "1.0.1",
+ "micromatch": "2.3.11"
+ }
+ },
+ "argparse": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz",
+ "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=",
+ "dev": true,
+ "requires": {
+ "sprintf-js": "1.0.3"
+ }
+ },
+ "arr-diff": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "1.0.3"
+ }
+ },
+ "arr-flatten": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.3.tgz",
+ "integrity": "sha1-onTthawIhJtr14R8RYB0XcUa37E=",
+ "dev": true
+ },
+ "arr-union": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+ "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
+ "dev": true
+ },
+ "arrify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "dev": true
+ },
+ "asap": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.5.tgz",
+ "integrity": "sha1-UidltQw1EEkOUtfc/ghe+bqWlY8=",
+ "dev": true
+ },
+ "asn1.js": {
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.1.tgz",
+ "integrity": "sha1-SLokC0WpKA6UdImQull9IWYX/UA=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.7",
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.0"
+ }
+ },
+ "aspnet-webpack": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/aspnet-webpack/-/aspnet-webpack-2.0.1.tgz",
+ "integrity": "sha1-TZyh3BIM5+LlzdX3nCrJgDuq7/s=",
+ "dev": true,
+ "requires": {
+ "connect": "3.6.2",
+ "es6-promise": "3.3.1",
+ "memory-fs": "0.3.0",
+ "require-from-string": "1.2.1",
+ "webpack-dev-middleware": "1.11.0",
+ "webpack-node-externals": "1.6.0"
+ }
+ },
+ "aspnet-webpack-react": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/aspnet-webpack-react/-/aspnet-webpack-react-3.0.0.tgz",
+ "integrity": "sha1-5dwTG3OreVFTLJewD4po4jcyMQU=",
+ "dev": true
+ },
+ "assert": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
+ "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
+ "dev": true,
+ "requires": {
+ "util": "0.10.3"
+ }
+ },
+ "async": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz",
+ "integrity": "sha1-hDGQ/WtzV6C54clW7d3V7IRitU0=",
+ "dev": true,
+ "requires": {
+ "lodash": "4.17.4"
+ }
+ },
+ "async-each": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
+ "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
+ "dev": true
+ },
+ "atob": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz",
+ "integrity": "sha1-GcenYEc3dEaPILLS0DNyrX1Mv10=",
+ "dev": true
+ },
+ "autoprefixer": {
+ "version": "6.7.7",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz",
+ "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=",
+ "dev": true,
+ "requires": {
+ "browserslist": "1.7.7",
+ "caniuse-db": "1.0.30000697",
+ "normalize-range": "0.1.2",
+ "num2fraction": "1.2.2",
+ "postcss": "5.2.17",
+ "postcss-value-parser": "3.3.0"
+ }
+ },
+ "awesome-typescript-loader": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/awesome-typescript-loader/-/awesome-typescript-loader-3.2.1.tgz",
+ "integrity": "sha1-YA9dVS2j5VAePlwZqj6JhgWfiUc=",
+ "dev": true,
+ "requires": {
+ "colors": "1.1.2",
+ "enhanced-resolve": "3.1.0",
+ "loader-utils": "1.1.0",
+ "lodash": "4.17.4",
+ "micromatch": "3.0.3",
+ "mkdirp": "0.5.1",
+ "object-assign": "4.1.1",
+ "source-map-support": "0.4.15"
+ },
+ "dependencies": {
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "dev": true
+ },
+ "braces": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.2.2.tgz",
+ "integrity": "sha1-JB+GjCsmkNn+vu5afIP7vyXQCxs=",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "1.0.3",
+ "array-unique": "0.3.2",
+ "define-property": "1.0.0",
+ "extend-shallow": "2.0.1",
+ "fill-range": "4.0.0",
+ "isobject": "3.0.1",
+ "repeat-element": "1.1.2",
+ "snapdragon": "0.8.1",
+ "snapdragon-node": "2.1.1",
+ "split-string": "2.1.1",
+ "to-regex": "3.0.1"
+ }
+ },
+ "expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.7",
+ "define-property": "0.2.5",
+ "extend-shallow": "2.0.1",
+ "posix-character-classes": "0.1.1",
+ "regex-not": "1.0.0",
+ "snapdragon": "0.8.1",
+ "to-regex": "3.0.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.5"
+ }
+ }
+ }
+ },
+ "extglob": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-1.1.0.tgz",
+ "integrity": "sha1-Bni04s5FwOTlD15er7Gw2rW05CQ=",
+ "dev": true,
+ "requires": {
+ "array-unique": "0.3.2",
+ "define-property": "0.2.5",
+ "expand-brackets": "2.1.4",
+ "extend-shallow": "2.0.1",
+ "fragment-cache": "0.2.1",
+ "regex-not": "1.0.0",
+ "snapdragon": "0.8.1",
+ "to-regex": "2.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.5"
+ }
+ },
+ "to-regex": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-2.1.0.tgz",
+ "integrity": "sha1-4606QM/hGVWaBa6kPkyu+sxekB0=",
+ "dev": true,
+ "requires": {
+ "define-property": "0.2.5",
+ "extend-shallow": "2.0.1",
+ "regex-not": "0.1.2"
+ },
+ "dependencies": {
+ "regex-not": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-0.1.2.tgz",
+ "integrity": "sha1-vH8cSUSxGINT0H3uuRK5TgreJds=",
+ "dev": true
+ }
+ }
+ }
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "2.0.1",
+ "is-number": "3.0.0",
+ "repeat-string": "1.6.1",
+ "to-regex-range": "2.1.1"
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.5.tgz",
+ "integrity": "sha1-4/uLSrZfOjc3M4jhi0AdeMWMvqc=",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "0.1.6",
+ "is-data-descriptor": "0.1.4",
+ "kind-of": "3.2.2",
+ "lazy-cache": "2.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.5"
+ }
+ }
+ }
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.5"
+ }
+ }
+ }
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.5"
+ }
+ },
+ "lazy-cache": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
+ "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
+ "dev": true,
+ "requires": {
+ "set-getter": "0.1.0"
+ }
+ },
+ "micromatch": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.0.3.tgz",
+ "integrity": "sha1-rzM5ZAFX3a05uBoJlW2Id8xLQho=",
+ "dev": true,
+ "requires": {
+ "arr-diff": "4.0.0",
+ "array-unique": "0.3.2",
+ "braces": "2.2.2",
+ "define-property": "1.0.0",
+ "extend-shallow": "2.0.1",
+ "extglob": "1.1.0",
+ "fragment-cache": "0.2.1",
+ "kind-of": "4.0.0",
+ "nanomatch": "1.2.0",
+ "object.pick": "1.2.0",
+ "regex-not": "1.0.0",
+ "snapdragon": "0.8.1",
+ "to-regex": "3.0.1"
+ }
+ }
+ }
+ },
+ "babel-code-frame": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz",
+ "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "esutils": "2.0.2",
+ "js-tokens": "3.0.1"
+ }
+ },
+ "babel-messages": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0"
+ }
+ },
+ "babel-runtime": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
+ "integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=",
+ "dev": true,
+ "requires": {
+ "core-js": "2.4.1",
+ "regenerator-runtime": "0.10.5"
+ },
+ "dependencies": {
+ "core-js": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+ "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=",
+ "dev": true
+ }
+ }
+ },
+ "babel-template": {
+ "version": "6.25.0",
+ "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz",
+ "integrity": "sha1-ZlJBFmt8KqTGGdceGSlpVSsQwHE=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0",
+ "babel-traverse": "6.25.0",
+ "babel-types": "6.25.0",
+ "babylon": "6.17.4",
+ "lodash": "4.17.4"
+ }
+ },
+ "babel-traverse": {
+ "version": "6.25.0",
+ "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz",
+ "integrity": "sha1-IldJfi/NGbie3BPEyROB+VEklvE=",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "6.22.0",
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.23.0",
+ "babel-types": "6.25.0",
+ "babylon": "6.17.4",
+ "debug": "2.6.7",
+ "globals": "9.18.0",
+ "invariant": "2.2.2",
+ "lodash": "4.17.4"
+ }
+ },
+ "babel-types": {
+ "version": "6.25.0",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz",
+ "integrity": "sha1-cK+ySNVmDl0Y+BHZHIMDtUE0oY4=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0",
+ "esutils": "2.0.2",
+ "lodash": "4.17.4",
+ "to-fast-properties": "1.0.3"
+ }
+ },
+ "babylon": {
+ "version": "6.17.4",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.17.4.tgz",
+ "integrity": "sha1-Pot0AriNIsNCPhN6FXeIOxX/hpo=",
+ "dev": true
+ },
+ "balanced-match": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
+ "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=",
+ "dev": true
+ },
+ "base": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/base/-/base-0.11.1.tgz",
+ "integrity": "sha1-s2p/ERE4U6NCoVaR2Y4tzIpswnA=",
+ "dev": true,
+ "requires": {
+ "arr-union": "3.1.0",
+ "cache-base": "0.8.5",
+ "class-utils": "0.3.5",
+ "component-emitter": "1.2.1",
+ "define-property": "0.2.5",
+ "isobject": "2.1.0",
+ "lazy-cache": "2.0.2",
+ "mixin-deep": "1.2.0",
+ "pascalcase": "0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.5"
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.5.tgz",
+ "integrity": "sha1-4/uLSrZfOjc3M4jhi0AdeMWMvqc=",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "0.1.6",
+ "is-data-descriptor": "0.1.4",
+ "kind-of": "3.2.2",
+ "lazy-cache": "2.0.2"
+ }
+ },
+ "lazy-cache": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
+ "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
+ "dev": true,
+ "requires": {
+ "set-getter": "0.1.0"
+ }
+ }
+ }
+ },
+ "base64-js": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz",
+ "integrity": "sha1-qRlH2h9KUW6jjltOwOw3c2deCIY=",
+ "dev": true
+ },
+ "big.js": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz",
+ "integrity": "sha1-TK2iGTZS6zyp7I5VyQFWacmAaXg=",
+ "dev": true
+ },
+ "binary-extensions": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.8.0.tgz",
+ "integrity": "sha1-SOyNFt9Dd+rl+liEaCSAr02Vx3Q=",
+ "dev": true
+ },
+ "bn.js": {
+ "version": "4.11.7",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.7.tgz",
+ "integrity": "sha1-3bBI5Q2UgnkAlME+s/z8gzznq0Y=",
+ "dev": true
+ },
+ "bootstrap": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-3.3.7.tgz",
+ "integrity": "sha1-WjiTlFSfIzMIdaOxUGVldPip63E=",
+ "dev": true
+ },
+ "brace-expansion": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
+ "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
+ "dev": true,
+ "requires": {
+ "balanced-match": "1.0.0",
+ "concat-map": "0.0.1"
+ },
+ "dependencies": {
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "dev": true
+ }
+ }
+ },
+ "braces": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
+ "dev": true,
+ "requires": {
+ "expand-range": "1.8.2",
+ "preserve": "0.2.0",
+ "repeat-element": "1.1.2"
+ }
+ },
+ "brorand": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
+ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
+ "dev": true
+ },
+ "browserify-aes": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz",
+ "integrity": "sha1-Xncl297x/Vkw1OurSFZ85FHEigo=",
+ "dev": true,
+ "requires": {
+ "buffer-xor": "1.0.3",
+ "cipher-base": "1.0.3",
+ "create-hash": "1.1.3",
+ "evp_bytestokey": "1.0.0",
+ "inherits": "2.0.3"
+ }
+ },
+ "browserify-cipher": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz",
+ "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=",
+ "dev": true,
+ "requires": {
+ "browserify-aes": "1.0.6",
+ "browserify-des": "1.0.0",
+ "evp_bytestokey": "1.0.0"
+ }
+ },
+ "browserify-des": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz",
+ "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=",
+ "dev": true,
+ "requires": {
+ "cipher-base": "1.0.3",
+ "des.js": "1.0.0",
+ "inherits": "2.0.3"
+ }
+ },
+ "browserify-rsa": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
+ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.7",
+ "randombytes": "2.0.5"
+ }
+ },
+ "browserify-sign": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
+ "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.7",
+ "browserify-rsa": "4.0.1",
+ "create-hash": "1.1.3",
+ "create-hmac": "1.1.6",
+ "elliptic": "6.4.0",
+ "inherits": "2.0.3",
+ "parse-asn1": "5.1.0"
+ }
+ },
+ "browserify-zlib": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz",
+ "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=",
+ "dev": true,
+ "requires": {
+ "pako": "0.2.9"
+ }
+ },
+ "browserslist": {
+ "version": "1.7.7",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
+ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
+ "dev": true,
+ "requires": {
+ "caniuse-db": "1.0.30000697",
+ "electron-to-chromium": "1.3.15"
+ }
+ },
+ "buffer": {
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
+ "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
+ "dev": true,
+ "requires": {
+ "base64-js": "1.2.1",
+ "ieee754": "1.1.8",
+ "isarray": "1.0.0"
+ }
+ },
+ "buffer-xor": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
+ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
+ "dev": true
+ },
+ "builtin-modules": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
+ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
+ "dev": true
+ },
+ "builtin-status-codes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
+ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
+ "dev": true
+ },
+ "cache-base": {
+ "version": "0.8.5",
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-0.8.5.tgz",
+ "integrity": "sha1-YM6zUEAh7O7HAR/TOEt/TpVym/o=",
+ "dev": true,
+ "requires": {
+ "collection-visit": "0.2.3",
+ "component-emitter": "1.2.1",
+ "get-value": "2.0.6",
+ "has-value": "0.3.1",
+ "isobject": "3.0.1",
+ "lazy-cache": "2.0.2",
+ "set-value": "0.4.3",
+ "to-object-path": "0.3.0",
+ "union-value": "0.2.4",
+ "unset-value": "0.1.2"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "lazy-cache": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
+ "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
+ "dev": true,
+ "requires": {
+ "set-getter": "0.1.0"
+ }
+ }
+ }
+ },
+ "camelcase": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+ "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
+ "dev": true
+ },
+ "caniuse-api": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz",
+ "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=",
+ "dev": true,
+ "requires": {
+ "browserslist": "1.7.7",
+ "caniuse-db": "1.0.30000697",
+ "lodash.memoize": "4.1.2",
+ "lodash.uniq": "4.5.0"
+ }
+ },
+ "caniuse-db": {
+ "version": "1.0.30000697",
+ "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000697.tgz",
+ "integrity": "sha1-IM5qnO7vTvShXcjoDy6PuQSejXc=",
+ "dev": true
+ },
+ "center-align": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
+ "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
+ "dev": true,
+ "requires": {
+ "align-text": "0.1.4",
+ "lazy-cache": "1.0.4"
+ }
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
+ }
+ },
+ "chokidar": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
+ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
+ "dev": true,
+ "requires": {
+ "anymatch": "1.3.0",
+ "async-each": "1.0.1",
+ "glob-parent": "2.0.0",
+ "inherits": "2.0.3",
+ "is-binary-path": "1.0.1",
+ "is-glob": "2.0.1",
+ "path-is-absolute": "1.0.1",
+ "readdirp": "2.1.0"
+ }
+ },
+ "cipher-base": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.3.tgz",
+ "integrity": "sha1-7qvxlEGc6QDaMBjCB9IS8qbfCgc=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3"
+ }
+ },
+ "clap": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.0.tgz",
+ "integrity": "sha1-WckP4+E3EEdG/xlGmiemNP9oyFc=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3"
+ }
+ },
+ "class-utils": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.5.tgz",
+ "integrity": "sha1-F+eTEDdQ+WJ7IXbqNM/RtWWQPIA=",
+ "dev": true,
+ "requires": {
+ "arr-union": "3.1.0",
+ "define-property": "0.2.5",
+ "isobject": "3.0.1",
+ "lazy-cache": "2.0.2",
+ "static-extend": "0.1.2"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.5"
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.5.tgz",
+ "integrity": "sha1-4/uLSrZfOjc3M4jhi0AdeMWMvqc=",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "0.1.6",
+ "is-data-descriptor": "0.1.4",
+ "kind-of": "3.2.2",
+ "lazy-cache": "2.0.2"
+ }
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "lazy-cache": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
+ "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
+ "dev": true,
+ "requires": {
+ "set-getter": "0.1.0"
+ }
+ }
+ }
+ },
+ "cliui": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
+ "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
+ "dev": true,
+ "requires": {
+ "center-align": "0.1.3",
+ "right-align": "0.1.3",
+ "wordwrap": "0.0.2"
+ }
+ },
+ "clone": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz",
+ "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=",
+ "dev": true
+ },
+ "co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+ "dev": true
+ },
+ "coa": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.3.tgz",
+ "integrity": "sha1-G1Sl4dz3fJkEVdTe6pjFZEFtyJM=",
+ "dev": true,
+ "requires": {
+ "q": "1.5.0"
+ }
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+ "dev": true
+ },
+ "collection-visit": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-0.2.3.tgz",
+ "integrity": "sha1-L2JIPK7MlfCDuaRUo+6eYTmteVc=",
+ "dev": true,
+ "requires": {
+ "lazy-cache": "2.0.2",
+ "map-visit": "0.1.5",
+ "object-visit": "0.3.4"
+ },
+ "dependencies": {
+ "lazy-cache": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
+ "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
+ "dev": true,
+ "requires": {
+ "set-getter": "0.1.0"
+ }
+ }
+ }
+ },
+ "color": {
+ "version": "0.11.4",
+ "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz",
+ "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=",
+ "dev": true,
+ "requires": {
+ "clone": "1.0.2",
+ "color-convert": "1.9.0",
+ "color-string": "0.3.0"
+ }
+ },
+ "color-convert": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz",
+ "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.2"
+ }
+ },
+ "color-name": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.2.tgz",
+ "integrity": "sha1-XIq3K2S9IhXWF66VWeuxSEdc+Y0=",
+ "dev": true
+ },
+ "color-string": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz",
+ "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.2"
+ }
+ },
+ "colormin": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz",
+ "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=",
+ "dev": true,
+ "requires": {
+ "color": "0.11.4",
+ "css-color-names": "0.0.4",
+ "has": "1.0.1"
+ }
+ },
+ "colors": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
+ "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
+ "dev": true
+ },
+ "component-emitter": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+ "dev": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "connect": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.2.tgz",
+ "integrity": "sha1-aU6NIGgb/kkCgsiriGvpjwn0L+c=",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.7",
+ "finalhandler": "1.0.3",
+ "parseurl": "1.3.1",
+ "utils-merge": "1.0.0"
+ }
+ },
+ "console-browserify": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
+ "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
+ "dev": true,
+ "requires": {
+ "date-now": "0.1.4"
+ }
+ },
+ "constants-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
+ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
+ "dev": true
+ },
+ "copy-descriptor": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+ "dev": true
+ },
+ "core-js": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
+ "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=",
+ "dev": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+ "dev": true
+ },
+ "create-ecdh": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz",
+ "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.7",
+ "elliptic": "6.4.0"
+ }
+ },
+ "create-hash": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz",
+ "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=",
+ "dev": true,
+ "requires": {
+ "cipher-base": "1.0.3",
+ "inherits": "2.0.3",
+ "ripemd160": "2.0.1",
+ "sha.js": "2.4.8"
+ }
+ },
+ "create-hmac": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz",
+ "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=",
+ "dev": true,
+ "requires": {
+ "cipher-base": "1.0.3",
+ "create-hash": "1.1.3",
+ "inherits": "2.0.3",
+ "ripemd160": "2.0.1",
+ "safe-buffer": "5.1.1",
+ "sha.js": "2.4.8"
+ }
+ },
+ "create-react-class": {
+ "version": "15.6.0",
+ "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.0.tgz",
+ "integrity": "sha1-q0SEl8JlZuHilBPogyB9V8/nvtQ=",
+ "dev": true,
+ "requires": {
+ "fbjs": "0.8.12",
+ "loose-envify": "1.3.1",
+ "object-assign": "4.1.1"
+ }
+ },
+ "crypto-browserify": {
+ "version": "3.11.0",
+ "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.0.tgz",
+ "integrity": "sha1-NlKgkGq5sqfgw85mpAjpV6JIVSI=",
+ "dev": true,
+ "requires": {
+ "browserify-cipher": "1.0.0",
+ "browserify-sign": "4.0.4",
+ "create-ecdh": "4.0.0",
+ "create-hash": "1.1.3",
+ "create-hmac": "1.1.6",
+ "diffie-hellman": "5.0.2",
+ "inherits": "2.0.3",
+ "pbkdf2": "3.0.12",
+ "public-encrypt": "4.0.0",
+ "randombytes": "2.0.5"
+ }
+ },
+ "css-color-names": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
+ "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=",
+ "dev": true
+ },
+ "css-loader": {
+ "version": "0.28.4",
+ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.4.tgz",
+ "integrity": "sha1-bPNXkZLONV6LONX0Ldeh8uyJjQ8=",
+ "dev": true,
+ "requires": {
+ "babel-code-frame": "6.22.0",
+ "css-selector-tokenizer": "0.7.0",
+ "cssnano": "3.10.0",
+ "icss-utils": "2.1.0",
+ "loader-utils": "1.1.0",
+ "lodash.camelcase": "4.3.0",
+ "object-assign": "4.1.1",
+ "postcss": "5.2.17",
+ "postcss-modules-extract-imports": "1.1.0",
+ "postcss-modules-local-by-default": "1.2.0",
+ "postcss-modules-scope": "1.1.0",
+ "postcss-modules-values": "1.3.0",
+ "postcss-value-parser": "3.3.0",
+ "source-list-map": "0.1.8"
+ }
+ },
+ "css-selector-tokenizer": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz",
+ "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=",
+ "dev": true,
+ "requires": {
+ "cssesc": "0.1.0",
+ "fastparse": "1.1.1",
+ "regexpu-core": "1.0.0"
+ }
+ },
+ "cssesc": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz",
+ "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=",
+ "dev": true
+ },
+ "cssnano": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz",
+ "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=",
+ "dev": true,
+ "requires": {
+ "autoprefixer": "6.7.7",
+ "decamelize": "1.2.0",
+ "defined": "1.0.0",
+ "has": "1.0.1",
+ "object-assign": "4.1.1",
+ "postcss": "5.2.17",
+ "postcss-calc": "5.3.1",
+ "postcss-colormin": "2.2.2",
+ "postcss-convert-values": "2.6.1",
+ "postcss-discard-comments": "2.0.4",
+ "postcss-discard-duplicates": "2.1.0",
+ "postcss-discard-empty": "2.1.0",
+ "postcss-discard-overridden": "0.1.1",
+ "postcss-discard-unused": "2.2.3",
+ "postcss-filter-plugins": "2.0.2",
+ "postcss-merge-idents": "2.1.7",
+ "postcss-merge-longhand": "2.0.2",
+ "postcss-merge-rules": "2.1.2",
+ "postcss-minify-font-values": "1.0.5",
+ "postcss-minify-gradients": "1.0.5",
+ "postcss-minify-params": "1.2.2",
+ "postcss-minify-selectors": "2.1.1",
+ "postcss-normalize-charset": "1.1.1",
+ "postcss-normalize-url": "3.0.8",
+ "postcss-ordered-values": "2.2.3",
+ "postcss-reduce-idents": "2.4.0",
+ "postcss-reduce-initial": "1.0.1",
+ "postcss-reduce-transforms": "1.0.4",
+ "postcss-svgo": "2.1.6",
+ "postcss-unique-selectors": "2.0.2",
+ "postcss-value-parser": "3.3.0",
+ "postcss-zindex": "2.2.0"
+ }
+ },
+ "csso": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz",
+ "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=",
+ "dev": true,
+ "requires": {
+ "clap": "1.2.0",
+ "source-map": "0.5.6"
+ }
+ },
+ "date-now": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
+ "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
+ "dev": true
+ },
+ "debug": {
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz",
+ "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true
+ },
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "1.0.0"
+ }
+ },
+ "defined": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+ "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
+ "dev": true
+ },
+ "des.js": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
+ "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.0"
+ }
+ },
+ "diffie-hellman": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz",
+ "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.7",
+ "miller-rabin": "4.0.0",
+ "randombytes": "2.0.5"
+ }
+ },
+ "dom-walk": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz",
+ "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=",
+ "dev": true
+ },
+ "domain-browser": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz",
+ "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=",
+ "dev": true
+ },
+ "ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
+ "dev": true
+ },
+ "electron-to-chromium": {
+ "version": "1.3.15",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.15.tgz",
+ "integrity": "sha1-CDl5NIkcvPrrvRi4KpW1pIETg2k=",
+ "dev": true
+ },
+ "elliptic": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz",
+ "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.7",
+ "brorand": "1.1.0",
+ "hash.js": "1.1.1",
+ "hmac-drbg": "1.0.1",
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.0",
+ "minimalistic-crypto-utils": "1.0.1"
+ }
+ },
+ "emojis-list": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
+ "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
+ "dev": true
+ },
+ "encodeurl": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz",
+ "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=",
+ "dev": true
+ },
+ "encoding": {
+ "version": "0.1.12",
+ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
+ "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
+ "dev": true,
+ "requires": {
+ "iconv-lite": "0.4.18"
+ }
+ },
+ "enhanced-resolve": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.1.0.tgz",
+ "integrity": "sha1-n0tib1dyRe3PSyrYPYbhf09CHew=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "memory-fs": "0.4.1",
+ "object-assign": "4.1.1",
+ "tapable": "0.2.6"
+ },
+ "dependencies": {
+ "memory-fs": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
+ "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
+ "dev": true,
+ "requires": {
+ "errno": "0.1.4",
+ "readable-stream": "2.3.2"
+ }
+ }
+ }
+ },
+ "errno": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz",
+ "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=",
+ "dev": true,
+ "requires": {
+ "prr": "0.0.0"
+ }
+ },
+ "error-ex": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
+ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
+ "dev": true,
+ "requires": {
+ "is-arrayish": "0.2.1"
+ }
+ },
+ "error-stack-parser": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-1.3.6.tgz",
+ "integrity": "sha1-4Oc7k+QXE40c18C3RrGkoUhUwpI=",
+ "dev": true,
+ "requires": {
+ "stackframe": "0.3.1"
+ }
+ },
+ "es6-promise": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
+ "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=",
+ "dev": true
+ },
+ "escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
+ "dev": true
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ },
+ "esprima": {
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+ "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
+ "dev": true
+ },
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+ "dev": true
+ },
+ "event-source-polyfill": {
+ "version": "0.0.9",
+ "resolved": "https://registry.npmjs.org/event-source-polyfill/-/event-source-polyfill-0.0.9.tgz",
+ "integrity": "sha1-GMYgXRcKsJ24if/OqjPw5JPxSlA=",
+ "dev": true
+ },
+ "events": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
+ "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=",
+ "dev": true
+ },
+ "evp_bytestokey": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz",
+ "integrity": "sha1-SXtmrZ/vZc18CKYYCCS6FHa2blM=",
+ "dev": true,
+ "requires": {
+ "create-hash": "1.1.3"
+ }
+ },
+ "expand-brackets": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
+ "dev": true,
+ "requires": {
+ "is-posix-bracket": "0.1.1"
+ }
+ },
+ "expand-range": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
+ "dev": true,
+ "requires": {
+ "fill-range": "2.2.3"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
+ },
+ "extglob": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
+ },
+ "extract-text-webpack-plugin": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-2.1.2.tgz",
+ "integrity": "sha1-dW7076gVXDaBgz+8NNpTuUF0bWw=",
+ "dev": true,
+ "requires": {
+ "async": "2.5.0",
+ "loader-utils": "1.1.0",
+ "schema-utils": "0.3.0",
+ "webpack-sources": "1.0.1"
+ }
+ },
+ "fast-deep-equal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz",
+ "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=",
+ "dev": true
+ },
+ "fastparse": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz",
+ "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=",
+ "dev": true
+ },
+ "fbjs": {
+ "version": "0.8.12",
+ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.12.tgz",
+ "integrity": "sha1-ELXZL3bUVXX9Y6IX1OoCvqL47QQ=",
+ "dev": true,
+ "requires": {
+ "core-js": "1.2.7",
+ "isomorphic-fetch": "2.2.1",
+ "loose-envify": "1.3.1",
+ "object-assign": "4.1.1",
+ "promise": "7.3.1",
+ "setimmediate": "1.0.5",
+ "ua-parser-js": "0.7.13"
+ }
+ },
+ "file-loader": {
+ "version": "0.11.2",
+ "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-0.11.2.tgz",
+ "integrity": "sha1-T/HfKK84cZpgmAk7iMgscdF5SjQ=",
+ "dev": true,
+ "requires": {
+ "loader-utils": "1.1.0"
+ }
+ },
+ "filename-regex": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
+ "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
+ "dev": true
+ },
+ "fill-range": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
+ "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
+ "dev": true,
+ "requires": {
+ "is-number": "2.1.0",
+ "isobject": "2.1.0",
+ "randomatic": "1.1.7",
+ "repeat-element": "1.1.2",
+ "repeat-string": "1.6.1"
+ }
+ },
+ "finalhandler": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.3.tgz",
+ "integrity": "sha1-70fneVDpmXgOhgIqVg4yF+DQzIk=",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.7",
+ "encodeurl": "1.0.1",
+ "escape-html": "1.0.3",
+ "on-finished": "2.3.0",
+ "parseurl": "1.3.1",
+ "statuses": "1.3.1",
+ "unpipe": "1.0.0"
+ }
+ },
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "dev": true,
+ "requires": {
+ "path-exists": "2.1.0",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "flatten": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz",
+ "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=",
+ "dev": true
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+ "dev": true
+ },
+ "for-own": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
+ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
+ "dev": true,
+ "requires": {
+ "for-in": "1.0.2"
+ }
+ },
+ "fragment-cache": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+ "dev": true,
+ "requires": {
+ "map-cache": "0.2.2"
+ }
+ },
+ "function-bind": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz",
+ "integrity": "sha1-FhdnFMgBeY5Ojyz391KUZ7tKV3E=",
+ "dev": true
+ },
+ "get-caller-file": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
+ "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=",
+ "dev": true
+ },
+ "get-value": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+ "dev": true
+ },
+ "glob-base": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
+ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
+ "dev": true,
+ "requires": {
+ "glob-parent": "2.0.0",
+ "is-glob": "2.0.1"
+ }
+ },
+ "glob-parent": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
+ "dev": true,
+ "requires": {
+ "is-glob": "2.0.1"
+ }
+ },
+ "global": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz",
+ "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=",
+ "dev": true,
+ "requires": {
+ "min-document": "2.19.0",
+ "process": "0.5.2"
+ }
+ },
+ "globals": {
+ "version": "9.18.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
+ "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=",
+ "dev": true
+ },
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ },
+ "has": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
+ "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=",
+ "dev": true,
+ "requires": {
+ "function-bind": "1.1.0"
+ }
+ },
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "has-value": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+ "dev": true,
+ "requires": {
+ "get-value": "2.0.6",
+ "has-values": "0.1.4",
+ "isobject": "2.1.0"
+ }
+ },
+ "has-values": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+ "dev": true
+ },
+ "hash-base": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz",
+ "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3"
+ }
+ },
+ "hash.js": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.1.tgz",
+ "integrity": "sha1-XLLnlkmSJOaf0LAO0B0tShbnoyM=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.0"
+ }
+ },
+ "history": {
+ "version": "4.6.3",
+ "resolved": "https://registry.npmjs.org/history/-/history-4.6.3.tgz",
+ "integrity": "sha1-bXI6hxLFgda+836MJvSu3G64aWc=",
+ "dev": true,
+ "requires": {
+ "invariant": "2.2.2",
+ "loose-envify": "1.3.1",
+ "resolve-pathname": "2.1.0",
+ "value-equal": "0.2.1",
+ "warning": "3.0.0"
+ }
+ },
+ "hmac-drbg": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
+ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
+ "dev": true,
+ "requires": {
+ "hash.js": "1.1.1",
+ "minimalistic-assert": "1.0.0",
+ "minimalistic-crypto-utils": "1.0.1"
+ }
+ },
+ "hoist-non-react-statics": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz",
+ "integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=",
+ "dev": true
+ },
+ "hosted-git-info": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.4.2.tgz",
+ "integrity": "sha1-AHa59GonBQbduq6lZJaJdGBhKmc=",
+ "dev": true
+ },
+ "html-comment-regex": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz",
+ "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=",
+ "dev": true
+ },
+ "html-entities": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz",
+ "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=",
+ "dev": true
+ },
+ "https-browserify": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz",
+ "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=",
+ "dev": true
+ },
+ "iconv-lite": {
+ "version": "0.4.18",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz",
+ "integrity": "sha1-I9hlaxaq5nQqwpcy6o8DNqR4nPI=",
+ "dev": true
+ },
+ "icss-replace-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
+ "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
+ "dev": true
+ },
+ "icss-utils": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz",
+ "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=",
+ "dev": true,
+ "requires": {
+ "postcss": "6.0.6"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz",
+ "integrity": "sha1-CcIC1ckX7CMYjKpcnLkXnNlUd1A=",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz",
+ "integrity": "sha1-2+xJQ20q4V9TYRTnbRRlbNvA9E0=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.1.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.2.0"
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "6.0.6",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.6.tgz",
+ "integrity": "sha1-u6TVjohPx4yEDRU54Q7dqruPc70=",
+ "dev": true,
+ "requires": {
+ "chalk": "2.0.1",
+ "source-map": "0.5.6",
+ "supports-color": "4.2.0"
+ }
+ },
+ "supports-color": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.0.tgz",
+ "integrity": "sha1-rZhtx+sjFdAJtNd8gWnCIxpoQDc=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "ieee754": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz",
+ "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=",
+ "dev": true
+ },
+ "indexes-of": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
+ "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
+ "dev": true
+ },
+ "indexof": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
+ "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
+ "dev": true
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "dev": true
+ },
+ "interpret": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.3.tgz",
+ "integrity": "sha1-y8NcYu7uc/Gat7EKgBURQBr8D5A=",
+ "dev": true
+ },
+ "invariant": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz",
+ "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=",
+ "dev": true,
+ "requires": {
+ "loose-envify": "1.3.1"
+ }
+ },
+ "invert-kv": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
+ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
+ "dev": true
+ },
+ "is-absolute-url": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz",
+ "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=",
+ "dev": true
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ }
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
+ "is-binary-path": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+ "dev": true,
+ "requires": {
+ "binary-extensions": "1.8.0"
+ }
+ },
+ "is-buffer": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz",
+ "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=",
+ "dev": true
+ },
+ "is-builtin-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
+ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
+ "dev": true,
+ "requires": {
+ "builtin-modules": "1.1.1"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ }
+ },
+ "is-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.0.tgz",
+ "integrity": "sha1-1uxobyOPawLyN1er4Sz2suonkPk=",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "0.1.6",
+ "is-data-descriptor": "0.1.4",
+ "kind-of": "3.2.2",
+ "lazy-cache": "2.0.2"
+ },
+ "dependencies": {
+ "lazy-cache": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
+ "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
+ "dev": true,
+ "requires": {
+ "set-getter": "0.1.0"
+ }
+ }
+ }
+ },
+ "is-dotfile": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
+ "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
+ "dev": true
+ },
+ "is-equal-shallow": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
+ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
+ "dev": true,
+ "requires": {
+ "is-primitive": "2.0.0"
+ }
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+ "dev": true
+ },
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
+ },
+ "is-number": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
+ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ }
+ },
+ "is-odd": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-1.0.0.tgz",
+ "integrity": "sha1-O4qTLrAos3dcObsJ6RdnrM22kIg=",
+ "dev": true,
+ "requires": {
+ "is-number": "3.0.0"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ }
+ }
+ }
+ },
+ "is-plain-obj": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
+ "dev": true
+ },
+ "is-plain-object": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.3.tgz",
+ "integrity": "sha1-wVvz5LZrYtcu+vKSWEhmPsvGGbY=",
+ "dev": true,
+ "requires": {
+ "isobject": "3.0.1"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ }
+ }
+ },
+ "is-posix-bracket": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
+ "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
+ "dev": true
+ },
+ "is-primitive": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
+ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
+ "dev": true
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "dev": true
+ },
+ "is-svg": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz",
+ "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=",
+ "dev": true,
+ "requires": {
+ "html-comment-regex": "1.1.1"
+ }
+ },
+ "is-utf8": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ },
+ "isomorphic-fetch": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
+ "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
+ "dev": true,
+ "requires": {
+ "node-fetch": "1.7.1",
+ "whatwg-fetch": "2.0.3"
+ }
+ },
+ "jquery": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.2.1.tgz",
+ "integrity": "sha1-XE2d5lKvbNCncBVKYxu6ErAVx4c=",
+ "dev": true
+ },
+ "js-base64": {
+ "version": "2.1.9",
+ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz",
+ "integrity": "sha1-8OgK4DmkvWVLXygfyT8EqRSn/M4=",
+ "dev": true
+ },
+ "js-tokens": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz",
+ "integrity": "sha1-COnxMkhKLEWjCQfp3E1VZ7fxFNc=",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz",
+ "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=",
+ "dev": true,
+ "requires": {
+ "argparse": "1.0.9",
+ "esprima": "2.7.3"
+ }
+ },
+ "jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+ "dev": true
+ },
+ "json-loader": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.4.tgz",
+ "integrity": "sha1-i6oTZaYy9Yo8RtIBdfxgAsluN94=",
+ "dev": true
+ },
+ "json-schema-traverse": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
+ "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
+ "dev": true
+ },
+ "json-stable-stringify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+ "dev": true,
+ "requires": {
+ "jsonify": "0.0.0"
+ }
+ },
+ "json5": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
+ "dev": true
+ },
+ "jsonify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.5"
+ }
+ },
+ "lazy-cache": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
+ "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
+ "dev": true
+ },
+ "lcid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "dev": true,
+ "requires": {
+ "invert-kv": "1.0.0"
+ }
+ },
+ "load-json-file": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1",
+ "strip-bom": "2.0.0"
+ }
+ },
+ "loader-runner": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz",
+ "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=",
+ "dev": true
+ },
+ "loader-utils": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
+ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
+ "dev": true,
+ "requires": {
+ "big.js": "3.1.3",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1"
+ }
+ },
+ "lodash": {
+ "version": "4.17.4",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+ "dev": true
+ },
+ "lodash.camelcase": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
+ "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
+ "dev": true
+ },
+ "lodash.memoize": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
+ "dev": true
+ },
+ "lodash.uniq": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
+ "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
+ "dev": true
+ },
+ "longest": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
+ "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
+ "dev": true
+ },
+ "loose-envify": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
+ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "dev": true,
+ "requires": {
+ "js-tokens": "3.0.1"
+ }
+ },
+ "macaddress": {
+ "version": "0.2.8",
+ "resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.2.8.tgz",
+ "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI=",
+ "dev": true
+ },
+ "map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+ "dev": true
+ },
+ "map-visit": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-0.1.5.tgz",
+ "integrity": "sha1-2+Q5J85VJbgN/BVzpE1oxR8mgWs=",
+ "dev": true,
+ "requires": {
+ "lazy-cache": "2.0.2",
+ "object-visit": "0.3.4"
+ },
+ "dependencies": {
+ "lazy-cache": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
+ "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
+ "dev": true,
+ "requires": {
+ "set-getter": "0.1.0"
+ }
+ }
+ }
+ },
+ "math-expression-evaluator": {
+ "version": "1.2.17",
+ "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz",
+ "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=",
+ "dev": true
+ },
+ "memory-fs": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz",
+ "integrity": "sha1-e8xrYp46Q+hx1+Kaymrop/FcuyA=",
+ "dev": true,
+ "requires": {
+ "errno": "0.1.4",
+ "readable-stream": "2.3.2"
+ }
+ },
+ "micromatch": {
+ "version": "2.3.11",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
+ "dev": true,
+ "requires": {
+ "arr-diff": "2.0.0",
+ "array-unique": "0.2.1",
+ "braces": "1.8.5",
+ "expand-brackets": "0.1.5",
+ "extglob": "0.3.2",
+ "filename-regex": "2.0.1",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1",
+ "kind-of": "3.2.2",
+ "normalize-path": "2.1.1",
+ "object.omit": "2.0.1",
+ "parse-glob": "3.0.4",
+ "regex-cache": "0.4.3"
+ }
+ },
+ "miller-rabin": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.0.tgz",
+ "integrity": "sha1-SmL7HUKTPAVYOYL0xxb2+55sbT0=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.7",
+ "brorand": "1.1.0"
+ }
+ },
+ "mime": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.6.tgz",
+ "integrity": "sha1-WR2E02U6awtKO5343lqoEI5y5eA=",
+ "dev": true
+ },
+ "min-document": {
+ "version": "2.19.0",
+ "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
+ "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=",
+ "dev": true,
+ "requires": {
+ "dom-walk": "0.1.1"
+ }
+ },
+ "minimalistic-assert": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz",
+ "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=",
+ "dev": true
+ },
+ "minimalistic-crypto-utils": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
+ "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "1.1.8"
+ }
+ },
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "dev": true
+ },
+ "mixin-deep": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.2.0.tgz",
+ "integrity": "sha1-0CuMb4ttS49ZgtP9AJxJGYUcP+I=",
+ "dev": true,
+ "requires": {
+ "for-in": "1.0.2",
+ "is-extendable": "0.1.1"
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ },
+ "nanomatch": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.0.tgz",
+ "integrity": "sha1-dv2z1K52F+N3GeekBHuECFfAyxw=",
+ "dev": true,
+ "requires": {
+ "arr-diff": "4.0.0",
+ "array-unique": "0.3.2",
+ "define-property": "1.0.0",
+ "extend-shallow": "2.0.1",
+ "fragment-cache": "0.2.1",
+ "is-extglob": "2.1.1",
+ "is-odd": "1.0.0",
+ "kind-of": "4.0.0",
+ "object.pick": "1.2.0",
+ "regex-not": "1.0.0",
+ "snapdragon": "0.8.1",
+ "to-regex": "3.0.1"
+ },
+ "dependencies": {
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "dev": true
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.5"
+ }
+ }
+ }
+ },
+ "node-fetch": {
+ "version": "1.7.1",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.1.tgz",
+ "integrity": "sha1-iZyz0KPJL5UsR/G4dvTIrqvUANU=",
+ "dev": true,
+ "requires": {
+ "encoding": "0.1.12",
+ "is-stream": "1.1.0"
+ }
+ },
+ "node-libs-browser": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.0.0.tgz",
+ "integrity": "sha1-o6WeyXAkmFtG6Vg3lkb5bEthZkY=",
+ "dev": true,
+ "requires": {
+ "assert": "1.4.1",
+ "browserify-zlib": "0.1.4",
+ "buffer": "4.9.1",
+ "console-browserify": "1.1.0",
+ "constants-browserify": "1.0.0",
+ "crypto-browserify": "3.11.0",
+ "domain-browser": "1.1.7",
+ "events": "1.1.1",
+ "https-browserify": "0.0.1",
+ "os-browserify": "0.2.1",
+ "path-browserify": "0.0.0",
+ "process": "0.11.10",
+ "punycode": "1.4.1",
+ "querystring-es3": "0.2.1",
+ "readable-stream": "2.3.2",
+ "stream-browserify": "2.0.1",
+ "stream-http": "2.7.2",
+ "string_decoder": "0.10.31",
+ "timers-browserify": "2.0.2",
+ "tty-browserify": "0.0.0",
+ "url": "0.11.0",
+ "util": "0.10.3",
+ "vm-browserify": "0.0.4"
+ },
+ "dependencies": {
+ "process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
+ "dev": true
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true
+ }
+ }
+ },
+ "normalize-package-data": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.8.tgz",
+ "integrity": "sha1-2Bntoqne29H/pWPqQHHZNngilbs=",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "2.4.2",
+ "is-builtin-module": "1.0.0",
+ "semver": "5.3.0",
+ "validate-npm-package-license": "3.0.1"
+ }
+ },
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "dev": true,
+ "requires": {
+ "remove-trailing-separator": "1.0.2"
+ }
+ },
+ "normalize-range": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
+ "dev": true
+ },
+ "normalize-url": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
+ "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
+ "dev": true,
+ "requires": {
+ "object-assign": "4.1.1",
+ "prepend-http": "1.0.4",
+ "query-string": "4.3.4",
+ "sort-keys": "1.1.2"
+ }
+ },
+ "num2fraction": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
+ "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
+ "dev": true
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ },
+ "object-copy": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+ "dev": true,
+ "requires": {
+ "copy-descriptor": "0.1.1",
+ "define-property": "0.2.5",
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.5"
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.5.tgz",
+ "integrity": "sha1-4/uLSrZfOjc3M4jhi0AdeMWMvqc=",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "0.1.6",
+ "is-data-descriptor": "0.1.4",
+ "kind-of": "3.2.2",
+ "lazy-cache": "2.0.2"
+ }
+ },
+ "lazy-cache": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
+ "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
+ "dev": true,
+ "requires": {
+ "set-getter": "0.1.0"
+ }
+ }
+ }
+ },
+ "object-visit": {
+ "version": "0.3.4",
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-0.3.4.tgz",
+ "integrity": "sha1-rhXPhvCy/dVRdxY2RIRSxUw9qCk=",
+ "dev": true,
+ "requires": {
+ "isobject": "2.1.0"
+ }
+ },
+ "object.omit": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
+ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
+ "dev": true,
+ "requires": {
+ "for-own": "0.1.5",
+ "is-extendable": "0.1.1"
+ }
+ },
+ "object.pick": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.2.0.tgz",
+ "integrity": "sha1-tTkr7peC2m2ft9avr1OXefEjTCs=",
+ "dev": true,
+ "requires": {
+ "isobject": "2.1.0"
+ }
+ },
+ "on-finished": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+ "dev": true,
+ "requires": {
+ "ee-first": "1.1.1"
+ }
+ },
+ "os-browserify": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz",
+ "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=",
+ "dev": true
+ },
+ "os-locale": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+ "dev": true,
+ "requires": {
+ "lcid": "1.0.0"
+ }
+ },
+ "pako": {
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
+ "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=",
+ "dev": true
+ },
+ "parse-asn1": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz",
+ "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=",
+ "dev": true,
+ "requires": {
+ "asn1.js": "4.9.1",
+ "browserify-aes": "1.0.6",
+ "create-hash": "1.1.3",
+ "evp_bytestokey": "1.0.0",
+ "pbkdf2": "3.0.12"
+ }
+ },
+ "parse-glob": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
+ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
+ "dev": true,
+ "requires": {
+ "glob-base": "0.3.0",
+ "is-dotfile": "1.0.3",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1"
+ }
+ },
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "dev": true,
+ "requires": {
+ "error-ex": "1.3.1"
+ }
+ },
+ "parseurl": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz",
+ "integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY=",
+ "dev": true
+ },
+ "pascalcase": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+ "dev": true
+ },
+ "path-browserify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
+ "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=",
+ "dev": true
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true
+ },
+ "path-to-regexp": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz",
+ "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=",
+ "dev": true,
+ "requires": {
+ "isarray": "0.0.1"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ }
+ }
+ },
+ "path-type": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "pbkdf2": {
+ "version": "3.0.12",
+ "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.12.tgz",
+ "integrity": "sha1-vjZ4XFBn6kjYBv+SMojF91C2uKI=",
+ "dev": true,
+ "requires": {
+ "create-hash": "1.1.3",
+ "create-hmac": "1.1.6",
+ "ripemd160": "2.0.1",
+ "safe-buffer": "5.1.1",
+ "sha.js": "2.4.8"
+ }
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ },
+ "pinkie": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+ "dev": true
+ },
+ "pinkie-promise": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "dev": true,
+ "requires": {
+ "pinkie": "2.0.4"
+ }
+ },
+ "posix-character-classes": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.17",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
+ "integrity": "sha1-z09Ze4ZNZcikkrLqvp1wbIecOIs=",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "js-base64": "2.1.9",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-calc": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz",
+ "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17",
+ "postcss-message-helpers": "2.0.0",
+ "reduce-css-calc": "1.3.0"
+ }
+ },
+ "postcss-colormin": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz",
+ "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=",
+ "dev": true,
+ "requires": {
+ "colormin": "1.1.2",
+ "postcss": "5.2.17",
+ "postcss-value-parser": "3.3.0"
+ }
+ },
+ "postcss-convert-values": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz",
+ "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17",
+ "postcss-value-parser": "3.3.0"
+ }
+ },
+ "postcss-discard-comments": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz",
+ "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17"
+ }
+ },
+ "postcss-discard-duplicates": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz",
+ "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17"
+ }
+ },
+ "postcss-discard-empty": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz",
+ "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17"
+ }
+ },
+ "postcss-discard-overridden": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz",
+ "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17"
+ }
+ },
+ "postcss-discard-unused": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz",
+ "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17",
+ "uniqs": "2.0.0"
+ }
+ },
+ "postcss-filter-plugins": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz",
+ "integrity": "sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17",
+ "uniqid": "4.1.1"
+ }
+ },
+ "postcss-merge-idents": {
+ "version": "2.1.7",
+ "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz",
+ "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=",
+ "dev": true,
+ "requires": {
+ "has": "1.0.1",
+ "postcss": "5.2.17",
+ "postcss-value-parser": "3.3.0"
+ }
+ },
+ "postcss-merge-longhand": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz",
+ "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17"
+ }
+ },
+ "postcss-merge-rules": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz",
+ "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=",
+ "dev": true,
+ "requires": {
+ "browserslist": "1.7.7",
+ "caniuse-api": "1.6.1",
+ "postcss": "5.2.17",
+ "postcss-selector-parser": "2.2.3",
+ "vendors": "1.0.1"
+ }
+ },
+ "postcss-message-helpers": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz",
+ "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=",
+ "dev": true
+ },
+ "postcss-minify-font-values": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz",
+ "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=",
+ "dev": true,
+ "requires": {
+ "object-assign": "4.1.1",
+ "postcss": "5.2.17",
+ "postcss-value-parser": "3.3.0"
+ }
+ },
+ "postcss-minify-gradients": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz",
+ "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17",
+ "postcss-value-parser": "3.3.0"
+ }
+ },
+ "postcss-minify-params": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz",
+ "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "1.0.2",
+ "postcss": "5.2.17",
+ "postcss-value-parser": "3.3.0",
+ "uniqs": "2.0.0"
+ }
+ },
+ "postcss-minify-selectors": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz",
+ "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "1.0.2",
+ "has": "1.0.1",
+ "postcss": "5.2.17",
+ "postcss-selector-parser": "2.2.3"
+ }
+ },
+ "postcss-modules-extract-imports": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz",
+ "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=",
+ "dev": true,
+ "requires": {
+ "postcss": "6.0.6"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz",
+ "integrity": "sha1-CcIC1ckX7CMYjKpcnLkXnNlUd1A=",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz",
+ "integrity": "sha1-2+xJQ20q4V9TYRTnbRRlbNvA9E0=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.1.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.2.0"
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "6.0.6",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.6.tgz",
+ "integrity": "sha1-u6TVjohPx4yEDRU54Q7dqruPc70=",
+ "dev": true,
+ "requires": {
+ "chalk": "2.0.1",
+ "source-map": "0.5.6",
+ "supports-color": "4.2.0"
+ }
+ },
+ "supports-color": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.0.tgz",
+ "integrity": "sha1-rZhtx+sjFdAJtNd8gWnCIxpoQDc=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "postcss-modules-local-by-default": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz",
+ "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=",
+ "dev": true,
+ "requires": {
+ "css-selector-tokenizer": "0.7.0",
+ "postcss": "6.0.6"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz",
+ "integrity": "sha1-CcIC1ckX7CMYjKpcnLkXnNlUd1A=",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz",
+ "integrity": "sha1-2+xJQ20q4V9TYRTnbRRlbNvA9E0=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.1.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.2.0"
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "6.0.6",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.6.tgz",
+ "integrity": "sha1-u6TVjohPx4yEDRU54Q7dqruPc70=",
+ "dev": true,
+ "requires": {
+ "chalk": "2.0.1",
+ "source-map": "0.5.6",
+ "supports-color": "4.2.0"
+ }
+ },
+ "supports-color": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.0.tgz",
+ "integrity": "sha1-rZhtx+sjFdAJtNd8gWnCIxpoQDc=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "postcss-modules-scope": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz",
+ "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=",
+ "dev": true,
+ "requires": {
+ "css-selector-tokenizer": "0.7.0",
+ "postcss": "6.0.6"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz",
+ "integrity": "sha1-CcIC1ckX7CMYjKpcnLkXnNlUd1A=",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz",
+ "integrity": "sha1-2+xJQ20q4V9TYRTnbRRlbNvA9E0=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.1.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.2.0"
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "6.0.6",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.6.tgz",
+ "integrity": "sha1-u6TVjohPx4yEDRU54Q7dqruPc70=",
+ "dev": true,
+ "requires": {
+ "chalk": "2.0.1",
+ "source-map": "0.5.6",
+ "supports-color": "4.2.0"
+ }
+ },
+ "supports-color": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.0.tgz",
+ "integrity": "sha1-rZhtx+sjFdAJtNd8gWnCIxpoQDc=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "postcss-modules-values": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz",
+ "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=",
+ "dev": true,
+ "requires": {
+ "icss-replace-symbols": "1.1.0",
+ "postcss": "6.0.6"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz",
+ "integrity": "sha1-CcIC1ckX7CMYjKpcnLkXnNlUd1A=",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz",
+ "integrity": "sha1-2+xJQ20q4V9TYRTnbRRlbNvA9E0=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.1.0",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.2.0"
+ }
+ },
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "6.0.6",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.6.tgz",
+ "integrity": "sha1-u6TVjohPx4yEDRU54Q7dqruPc70=",
+ "dev": true,
+ "requires": {
+ "chalk": "2.0.1",
+ "source-map": "0.5.6",
+ "supports-color": "4.2.0"
+ }
+ },
+ "supports-color": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.0.tgz",
+ "integrity": "sha1-rZhtx+sjFdAJtNd8gWnCIxpoQDc=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
+ }
+ }
+ },
+ "postcss-normalize-charset": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz",
+ "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17"
+ }
+ },
+ "postcss-normalize-url": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz",
+ "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=",
+ "dev": true,
+ "requires": {
+ "is-absolute-url": "2.1.0",
+ "normalize-url": "1.9.1",
+ "postcss": "5.2.17",
+ "postcss-value-parser": "3.3.0"
+ }
+ },
+ "postcss-ordered-values": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz",
+ "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17",
+ "postcss-value-parser": "3.3.0"
+ }
+ },
+ "postcss-reduce-idents": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz",
+ "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17",
+ "postcss-value-parser": "3.3.0"
+ }
+ },
+ "postcss-reduce-initial": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz",
+ "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=",
+ "dev": true,
+ "requires": {
+ "postcss": "5.2.17"
+ }
+ },
+ "postcss-reduce-transforms": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz",
+ "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=",
+ "dev": true,
+ "requires": {
+ "has": "1.0.1",
+ "postcss": "5.2.17",
+ "postcss-value-parser": "3.3.0"
+ }
+ },
+ "postcss-selector-parser": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz",
+ "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=",
+ "dev": true,
+ "requires": {
+ "flatten": "1.0.2",
+ "indexes-of": "1.0.1",
+ "uniq": "1.0.1"
+ }
+ },
+ "postcss-svgo": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz",
+ "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=",
+ "dev": true,
+ "requires": {
+ "is-svg": "2.1.0",
+ "postcss": "5.2.17",
+ "postcss-value-parser": "3.3.0",
+ "svgo": "0.7.2"
+ }
+ },
+ "postcss-unique-selectors": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz",
+ "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=",
+ "dev": true,
+ "requires": {
+ "alphanum-sort": "1.0.2",
+ "postcss": "5.2.17",
+ "uniqs": "2.0.0"
+ }
+ },
+ "postcss-value-parser": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz",
+ "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=",
+ "dev": true
+ },
+ "postcss-zindex": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz",
+ "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=",
+ "dev": true,
+ "requires": {
+ "has": "1.0.1",
+ "postcss": "5.2.17",
+ "uniqs": "2.0.0"
+ }
+ },
+ "prepend-http": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
+ "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
+ "dev": true
+ },
+ "preserve": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
+ "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
+ "dev": true
+ },
+ "process": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz",
+ "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=",
+ "dev": true
+ },
+ "process-nextick-args": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
+ "dev": true
+ },
+ "promise": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
+ "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=",
+ "dev": true,
+ "requires": {
+ "asap": "2.0.5"
+ }
+ },
+ "prop-types": {
+ "version": "15.5.10",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz",
+ "integrity": "sha1-J5ffwxJhguOpXj37suiT3ddFYVQ=",
+ "dev": true,
+ "requires": {
+ "fbjs": "0.8.12",
+ "loose-envify": "1.3.1"
+ }
+ },
+ "prr": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz",
+ "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=",
+ "dev": true
+ },
+ "public-encrypt": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz",
+ "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.7",
+ "browserify-rsa": "4.0.1",
+ "create-hash": "1.1.3",
+ "parse-asn1": "5.1.0",
+ "randombytes": "2.0.5"
+ }
+ },
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+ "dev": true
+ },
+ "q": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/q/-/q-1.5.0.tgz",
+ "integrity": "sha1-3QG6ydBtMObyGa7LglPunr3DCPE=",
+ "dev": true
+ },
+ "query-string": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
+ "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
+ "dev": true,
+ "requires": {
+ "object-assign": "4.1.1",
+ "strict-uri-encode": "1.1.0"
+ }
+ },
+ "querystring": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
+ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
+ "dev": true
+ },
+ "querystring-es3": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
+ "dev": true
+ },
+ "randomatic": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
+ "integrity": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=",
+ "dev": true,
+ "requires": {
+ "is-number": "3.0.0",
+ "kind-of": "4.0.0"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.5"
+ }
+ }
+ }
+ },
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.5"
+ }
+ }
+ }
+ },
+ "randombytes": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz",
+ "integrity": "sha1-3ACaJGuNCaF3tLegrne8Vw9LG3k=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "range-parser": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
+ "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=",
+ "dev": true
+ },
+ "react": {
+ "version": "15.6.1",
+ "resolved": "https://registry.npmjs.org/react/-/react-15.6.1.tgz",
+ "integrity": "sha1-uqhDTsZ4C96ZfNw4C3nNM7ljk98=",
+ "dev": true,
+ "requires": {
+ "create-react-class": "15.6.0",
+ "fbjs": "0.8.12",
+ "loose-envify": "1.3.1",
+ "object-assign": "4.1.1",
+ "prop-types": "15.5.10"
+ }
+ },
+ "react-deep-force-update": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/react-deep-force-update/-/react-deep-force-update-2.0.1.tgz",
+ "integrity": "sha1-T39sEsPn3kLzRZkqPFGCNvoeytM=",
+ "dev": true
+ },
+ "react-dom": {
+ "version": "15.6.1",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.6.1.tgz",
+ "integrity": "sha1-LLDtQZEDjlPCCes6eaI+Kkz5lHA=",
+ "dev": true,
+ "requires": {
+ "fbjs": "0.8.12",
+ "loose-envify": "1.3.1",
+ "object-assign": "4.1.1",
+ "prop-types": "15.5.10"
+ }
+ },
+ "react-hot-loader": {
+ "version": "3.0.0-beta.7",
+ "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-3.0.0-beta.7.tgz",
+ "integrity": "sha1-1YR7gWXXMcTVsw2G1dRxYieg+oM=",
+ "dev": true,
+ "requires": {
+ "babel-template": "6.25.0",
+ "global": "4.3.2",
+ "react-deep-force-update": "2.0.1",
+ "react-proxy": "3.0.0-alpha.1",
+ "redbox-react": "1.4.2",
+ "source-map": "0.4.4"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+ "dev": true,
+ "requires": {
+ "amdefine": "1.0.1"
+ }
+ }
+ }
+ },
+ "react-proxy": {
+ "version": "3.0.0-alpha.1",
+ "resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-3.0.0-alpha.1.tgz",
+ "integrity": "sha1-RABCa8+oDKpnJMd1VpUxUgn6Swc=",
+ "dev": true,
+ "requires": {
+ "lodash": "4.17.4"
+ }
+ },
+ "react-router": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-4.1.1.tgz",
+ "integrity": "sha1-1Ejzt8G0Kab7sDOVCZlJxgax/pU=",
+ "dev": true,
+ "requires": {
+ "history": "4.6.3",
+ "hoist-non-react-statics": "1.2.0",
+ "invariant": "2.2.2",
+ "loose-envify": "1.3.1",
+ "path-to-regexp": "1.7.0",
+ "prop-types": "15.5.10",
+ "warning": "3.0.0"
+ }
+ },
+ "react-router-dom": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-4.1.1.tgz",
+ "integrity": "sha1-MCGt4fLBYK+Xz5TiVZTF8pRYMCU=",
+ "dev": true,
+ "requires": {
+ "history": "4.6.3",
+ "loose-envify": "1.3.1",
+ "prop-types": "15.5.10",
+ "react-router": "4.1.1"
+ }
+ },
+ "read-pkg": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "1.1.0",
+ "normalize-package-data": "2.3.8",
+ "path-type": "1.1.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "dev": true,
+ "requires": {
+ "find-up": "1.1.2",
+ "read-pkg": "1.1.0"
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.2.tgz",
+ "integrity": "sha1-WgTfBeT1f+Pw3Gj90R3FyXx+b00=",
+ "dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.1",
+ "string_decoder": "1.0.3",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "readdirp": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
+ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "minimatch": "3.0.4",
+ "readable-stream": "2.3.2",
+ "set-immediate-shim": "1.0.1"
+ }
+ },
+ "redbox-react": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/redbox-react/-/redbox-react-1.4.2.tgz",
+ "integrity": "sha1-f+NdPFZzAel5OMx/1qEJGPQkxrQ=",
+ "dev": true,
+ "requires": {
+ "error-stack-parser": "1.3.6",
+ "object-assign": "4.1.1",
+ "prop-types": "15.5.10",
+ "sourcemapped-stacktrace": "1.1.6"
+ }
+ },
+ "reduce-css-calc": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz",
+ "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=",
+ "dev": true,
+ "requires": {
+ "balanced-match": "0.4.2",
+ "math-expression-evaluator": "1.2.17",
+ "reduce-function-call": "1.0.2"
+ }
+ },
+ "reduce-function-call": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz",
+ "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=",
+ "dev": true,
+ "requires": {
+ "balanced-match": "0.4.2"
+ }
+ },
+ "regenerate": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.2.tgz",
+ "integrity": "sha1-0ZQcZ7rUN+G+dkM63Vs4X5WxkmA=",
+ "dev": true
+ },
+ "regenerator-runtime": {
+ "version": "0.10.5",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz",
+ "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=",
+ "dev": true
+ },
+ "regex-cache": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz",
+ "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=",
+ "dev": true,
+ "requires": {
+ "is-equal-shallow": "0.1.3",
+ "is-primitive": "2.0.0"
+ }
+ },
+ "regex-not": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.0.tgz",
+ "integrity": "sha1-Qvg+OXcWIt+CawKvF2Ul1qXxV/k=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "2.0.1"
+ }
+ },
+ "regexpu-core": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz",
+ "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=",
+ "dev": true,
+ "requires": {
+ "regenerate": "1.3.2",
+ "regjsgen": "0.2.0",
+ "regjsparser": "0.1.5"
+ }
+ },
+ "regjsgen": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
+ "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
+ "dev": true
+ },
+ "regjsparser": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
+ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
+ "dev": true,
+ "requires": {
+ "jsesc": "0.5.0"
+ }
+ },
+ "remove-trailing-separator": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz",
+ "integrity": "sha1-abBi2XhyetFNxrVrpKt3L9jXBRE=",
+ "dev": true
+ },
+ "repeat-element": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
+ "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
+ "dev": true
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "dev": true
+ },
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+ "dev": true
+ },
+ "require-from-string": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz",
+ "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=",
+ "dev": true
+ },
+ "require-main-filename": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+ "dev": true
+ },
+ "resolve-pathname": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-2.1.0.tgz",
+ "integrity": "sha1-6DWIAbhrg7F1YNTjw4LXrvIQCUQ=",
+ "dev": true
+ },
+ "resolve-url": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+ "dev": true
+ },
+ "right-align": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
+ "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+ "dev": true,
+ "requires": {
+ "align-text": "0.1.4"
+ }
+ },
+ "ripemd160": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz",
+ "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=",
+ "dev": true,
+ "requires": {
+ "hash-base": "2.0.2",
+ "inherits": "2.0.3"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=",
+ "dev": true
+ },
+ "sax": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=",
+ "dev": true
+ },
+ "schema-utils": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz",
+ "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=",
+ "dev": true,
+ "requires": {
+ "ajv": "5.2.1"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.1.tgz",
+ "integrity": "sha1-3NAwRRdYg7obY25a6ew9+auFMjo=",
+ "dev": true,
+ "requires": {
+ "co": "4.6.0",
+ "fast-deep-equal": "1.0.0",
+ "json-schema-traverse": "0.3.1",
+ "json-stable-stringify": "1.0.1"
+ }
+ }
+ }
+ },
+ "semver": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+ "dev": true
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "dev": true
+ },
+ "set-getter": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz",
+ "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=",
+ "dev": true,
+ "requires": {
+ "to-object-path": "0.3.0"
+ }
+ },
+ "set-immediate-shim": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
+ "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
+ "dev": true
+ },
+ "set-value": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
+ "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "2.0.1",
+ "is-extendable": "0.1.1",
+ "is-plain-object": "2.0.3",
+ "to-object-path": "0.3.0"
+ }
+ },
+ "setimmediate": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
+ "dev": true
+ },
+ "sha.js": {
+ "version": "2.4.8",
+ "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.8.tgz",
+ "integrity": "sha1-NwaMLEdra69ALRSknGf1l5IfY08=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3"
+ }
+ },
+ "snapdragon": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz",
+ "integrity": "sha1-4StUh/re0+PeoKyR6UAL91tAE3A=",
+ "dev": true,
+ "requires": {
+ "base": "0.11.1",
+ "debug": "2.6.7",
+ "define-property": "0.2.5",
+ "extend-shallow": "2.0.1",
+ "map-cache": "0.2.2",
+ "source-map": "0.5.6",
+ "source-map-resolve": "0.5.0",
+ "use": "2.0.2"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.5"
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.5.tgz",
+ "integrity": "sha1-4/uLSrZfOjc3M4jhi0AdeMWMvqc=",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "0.1.6",
+ "is-data-descriptor": "0.1.4",
+ "kind-of": "3.2.2",
+ "lazy-cache": "2.0.2"
+ }
+ },
+ "lazy-cache": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
+ "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
+ "dev": true,
+ "requires": {
+ "set-getter": "0.1.0"
+ }
+ }
+ }
+ },
+ "snapdragon-node": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=",
+ "dev": true,
+ "requires": {
+ "define-property": "1.0.0",
+ "isobject": "3.0.1",
+ "snapdragon-util": "3.0.1"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ }
+ }
+ },
+ "snapdragon-util": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+ "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ }
+ },
+ "sort-keys": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
+ "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
+ "dev": true,
+ "requires": {
+ "is-plain-obj": "1.1.0"
+ }
+ },
+ "source-list-map": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz",
+ "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "source-map-resolve": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.0.tgz",
+ "integrity": "sha1-/K0LZLcK+ydpnkJZUMtevNQQvCA=",
+ "dev": true,
+ "requires": {
+ "atob": "2.0.3",
+ "resolve-url": "0.2.1",
+ "source-map-url": "0.4.0",
+ "urix": "0.1.0"
+ }
+ },
+ "source-map-support": {
+ "version": "0.4.15",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.15.tgz",
+ "integrity": "sha1-AyAt9lwG0r2MfsI2KhkwVv7407E=",
+ "dev": true,
+ "requires": {
+ "source-map": "0.5.6"
+ }
+ },
+ "source-map-url": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+ "dev": true
+ },
+ "sourcemapped-stacktrace": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/sourcemapped-stacktrace/-/sourcemapped-stacktrace-1.1.6.tgz",
+ "integrity": "sha1-ES2HSclCw807Yw36yVFFd7hqOlE=",
+ "dev": true,
+ "requires": {
+ "source-map": "0.5.6"
+ }
+ },
+ "spdx-correct": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz",
+ "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=",
+ "dev": true,
+ "requires": {
+ "spdx-license-ids": "1.2.2"
+ }
+ },
+ "spdx-expression-parse": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz",
+ "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=",
+ "dev": true
+ },
+ "spdx-license-ids": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz",
+ "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=",
+ "dev": true
+ },
+ "split-string": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-2.1.1.tgz",
+ "integrity": "sha1-r0sG2CFWBCZEbDzZMc2mGJQNN9A=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "2.0.1"
+ }
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "dev": true
+ },
+ "stackframe": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-0.3.1.tgz",
+ "integrity": "sha1-M6qE8Rd6VUjIk1Uzy/6zQgl19aQ=",
+ "dev": true
+ },
+ "static-extend": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "dev": true,
+ "requires": {
+ "define-property": "0.2.5",
+ "object-copy": "0.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.5"
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.5.tgz",
+ "integrity": "sha1-4/uLSrZfOjc3M4jhi0AdeMWMvqc=",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "0.1.6",
+ "is-data-descriptor": "0.1.4",
+ "kind-of": "3.2.2",
+ "lazy-cache": "2.0.2"
+ }
+ },
+ "lazy-cache": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
+ "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
+ "dev": true,
+ "requires": {
+ "set-getter": "0.1.0"
+ }
+ }
+ }
+ },
+ "statuses": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
+ "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=",
+ "dev": true
+ },
+ "stream-browserify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
+ "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.2"
+ }
+ },
+ "stream-http": {
+ "version": "2.7.2",
+ "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz",
+ "integrity": "sha1-QKBQ7I3DtTsz2ZCUFcAsC/Gr+60=",
+ "dev": true,
+ "requires": {
+ "builtin-status-codes": "3.0.0",
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.2",
+ "to-arraybuffer": "1.0.1",
+ "xtend": "4.0.1"
+ }
+ },
+ "strict-uri-encode": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
+ "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
+ "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
+ },
+ "strip-bom": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true,
+ "requires": {
+ "is-utf8": "0.2.1"
+ }
+ },
+ "style-loader": {
+ "version": "0.18.2",
+ "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.18.2.tgz",
+ "integrity": "sha1-zDFFmvvNbYC3Ig7lSykan9Zv9es=",
+ "dev": true,
+ "requires": {
+ "loader-utils": "1.1.0",
+ "schema-utils": "0.3.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ },
+ "svgo": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz",
+ "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=",
+ "dev": true,
+ "requires": {
+ "coa": "1.0.3",
+ "colors": "1.1.2",
+ "csso": "2.3.2",
+ "js-yaml": "3.7.0",
+ "mkdirp": "0.5.1",
+ "sax": "1.2.4",
+ "whet.extend": "0.9.9"
+ }
+ },
+ "tapable": {
+ "version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.6.tgz",
+ "integrity": "sha1-IGvo4YiGC1FEJTdebxrom/sB/Y0=",
+ "dev": true
+ },
+ "timers-browserify": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.2.tgz",
+ "integrity": "sha1-q0iDz1l9zVCvIRNJoA+8pWrIa4Y=",
+ "dev": true,
+ "requires": {
+ "setimmediate": "1.0.5"
+ }
+ },
+ "to-arraybuffer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
+ "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
+ "dev": true
+ },
+ "to-fast-properties": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
+ "dev": true
+ },
+ "to-object-path": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ }
+ },
+ "to-regex": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.1.tgz",
+ "integrity": "sha1-FTWL7kosg712N3uh3ASdDxiDeq4=",
+ "dev": true,
+ "requires": {
+ "define-property": "0.2.5",
+ "extend-shallow": "2.0.1",
+ "regex-not": "1.0.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.5"
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.5.tgz",
+ "integrity": "sha1-4/uLSrZfOjc3M4jhi0AdeMWMvqc=",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "0.1.6",
+ "is-data-descriptor": "0.1.4",
+ "kind-of": "3.2.2",
+ "lazy-cache": "2.0.2"
+ }
+ },
+ "lazy-cache": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
+ "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
+ "dev": true,
+ "requires": {
+ "set-getter": "0.1.0"
+ }
+ }
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "dev": true,
+ "requires": {
+ "is-number": "3.0.0",
+ "repeat-string": "1.6.1"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ }
+ }
+ }
+ },
+ "tty-browserify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
+ "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
+ "dev": true
+ },
+ "typescript": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.4.1.tgz",
+ "integrity": "sha1-w8yxbdqgsjFN4DHn5v7onlujRrw=",
+ "dev": true
+ },
+ "ua-parser-js": {
+ "version": "0.7.13",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.13.tgz",
+ "integrity": "sha1-zZ3S+GSTs/RNvu7zeA/adMXuFL4=",
+ "dev": true
+ },
+ "uglify-js": {
+ "version": "2.8.29",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
+ "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
+ "dev": true,
+ "requires": {
+ "source-map": "0.5.6",
+ "uglify-to-browserify": "1.0.2",
+ "yargs": "3.10.0"
+ },
+ "dependencies": {
+ "yargs": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
+ "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+ "dev": true,
+ "requires": {
+ "camelcase": "1.2.1",
+ "cliui": "2.1.0",
+ "decamelize": "1.2.0",
+ "window-size": "0.1.0"
+ }
+ }
+ }
+ },
+ "uglify-to-browserify": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
+ "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
+ "dev": true,
+ "optional": true
+ },
+ "union-value": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-0.2.4.tgz",
+ "integrity": "sha1-c3UVJ4ZnkFfns3qmdug0aPwCdPA=",
+ "dev": true,
+ "requires": {
+ "arr-union": "3.1.0",
+ "get-value": "2.0.6",
+ "is-extendable": "0.1.1",
+ "set-value": "0.4.3"
+ }
+ },
+ "uniq": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
+ "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
+ "dev": true
+ },
+ "uniqid": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz",
+ "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=",
+ "dev": true,
+ "requires": {
+ "macaddress": "0.2.8"
+ }
+ },
+ "uniqs": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
+ "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=",
+ "dev": true
+ },
+ "unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
+ "dev": true
+ },
+ "unset-value": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-0.1.2.tgz",
+ "integrity": "sha1-UGgQuGfyfCpabpsEgzYx9t5Y0xA=",
+ "dev": true,
+ "requires": {
+ "has-value": "0.3.1",
+ "isobject": "3.0.1"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ }
+ }
+ },
+ "urix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+ "dev": true
+ },
+ "url": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+ "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+ "dev": true,
+ "requires": {
+ "punycode": "1.3.2",
+ "querystring": "0.2.0"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
+ "dev": true
+ }
+ }
+ },
+ "url-loader": {
+ "version": "0.5.9",
+ "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.5.9.tgz",
+ "integrity": "sha1-zI/qgse5Bud3cBklCGnlaemVwpU=",
+ "dev": true,
+ "requires": {
+ "loader-utils": "1.1.0",
+ "mime": "1.3.6"
+ }
+ },
+ "use": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/use/-/use-2.0.2.tgz",
+ "integrity": "sha1-riig1y+TvyJCKhii43mZMRLeyOg=",
+ "dev": true,
+ "requires": {
+ "define-property": "0.2.5",
+ "isobject": "3.0.1",
+ "lazy-cache": "2.0.2"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.5"
+ }
+ },
+ "is-descriptor": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.5.tgz",
+ "integrity": "sha1-4/uLSrZfOjc3M4jhi0AdeMWMvqc=",
+ "dev": true,
+ "requires": {
+ "is-accessor-descriptor": "0.1.6",
+ "is-data-descriptor": "0.1.4",
+ "kind-of": "3.2.2",
+ "lazy-cache": "2.0.2"
+ }
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "lazy-cache": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
+ "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
+ "dev": true,
+ "requires": {
+ "set-getter": "0.1.0"
+ }
+ }
+ }
+ },
+ "util": {
+ "version": "0.10.3",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
+ "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.1"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+ "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
+ "dev": true
+ }
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "dev": true
+ },
+ "utils-merge": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz",
+ "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=",
+ "dev": true
+ },
+ "validate-npm-package-license": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz",
+ "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=",
+ "dev": true,
+ "requires": {
+ "spdx-correct": "1.0.2",
+ "spdx-expression-parse": "1.0.4"
+ }
+ },
+ "value-equal": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-0.2.1.tgz",
+ "integrity": "sha1-wiCjBDYfzmmU277ao8fhobiVhx0=",
+ "dev": true
+ },
+ "vendors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.1.tgz",
+ "integrity": "sha1-N61zyO5Bf7PVgOeFMSMH0nSEfyI=",
+ "dev": true
+ },
+ "vm-browserify": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
+ "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
+ "dev": true,
+ "requires": {
+ "indexof": "0.0.1"
+ }
+ },
+ "warning": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz",
+ "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=",
+ "dev": true,
+ "requires": {
+ "loose-envify": "1.3.1"
+ }
+ },
+ "watchpack": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.3.1.tgz",
+ "integrity": "sha1-fYaTkHsozmAT5/NhCqKhrPB9rYc=",
+ "dev": true,
+ "requires": {
+ "async": "2.5.0",
+ "chokidar": "1.7.0",
+ "graceful-fs": "4.1.11"
+ }
+ },
+ "webpack": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-2.5.1.tgz",
+ "integrity": "sha1-YXQvDPivVVuHRgqc2Lui8ePuL84=",
+ "dev": true,
+ "requires": {
+ "acorn": "5.0.3",
+ "acorn-dynamic-import": "2.0.2",
+ "ajv": "4.11.8",
+ "ajv-keywords": "1.5.1",
+ "async": "2.5.0",
+ "enhanced-resolve": "3.1.0",
+ "interpret": "1.0.3",
+ "json-loader": "0.5.4",
+ "json5": "0.5.1",
+ "loader-runner": "2.3.0",
+ "loader-utils": "0.2.17",
+ "memory-fs": "0.4.1",
+ "mkdirp": "0.5.1",
+ "node-libs-browser": "2.0.0",
+ "source-map": "0.5.6",
+ "supports-color": "3.2.3",
+ "tapable": "0.2.6",
+ "uglify-js": "2.8.29",
+ "watchpack": "1.3.1",
+ "webpack-sources": "0.2.3",
+ "yargs": "6.6.0"
+ },
+ "dependencies": {
+ "loader-utils": {
+ "version": "0.2.17",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+ "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
+ "dev": true,
+ "requires": {
+ "big.js": "3.1.3",
+ "emojis-list": "2.1.0",
+ "json5": "0.5.1",
+ "object-assign": "4.1.1"
+ }
+ },
+ "memory-fs": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
+ "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
+ "dev": true,
+ "requires": {
+ "errno": "0.1.4",
+ "readable-stream": "2.3.2"
+ }
+ },
+ "source-list-map": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-1.1.2.tgz",
+ "integrity": "sha1-mIkBnRAkzOVc3AaUmDN+9hhqEaE=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ }
+ },
+ "webpack-sources": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-0.2.3.tgz",
+ "integrity": "sha1-F8Yr+vE8cH+dAsR54Nzd6DgGl/s=",
+ "dev": true,
+ "requires": {
+ "source-list-map": "1.1.2",
+ "source-map": "0.5.6"
+ }
+ }
+ }
+ },
+ "webpack-dev-middleware": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.11.0.tgz",
+ "integrity": "sha1-CWkdCXOjCtH4Ksc6EuIIfwpHVPk=",
+ "dev": true,
+ "requires": {
+ "memory-fs": "0.4.1",
+ "mime": "1.3.6",
+ "path-is-absolute": "1.0.1",
+ "range-parser": "1.2.0"
+ },
+ "dependencies": {
+ "memory-fs": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
+ "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
+ "dev": true,
+ "requires": {
+ "errno": "0.1.4",
+ "readable-stream": "2.3.2"
+ }
+ }
+ }
+ },
+ "webpack-hot-middleware": {
+ "version": "2.18.2",
+ "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.18.2.tgz",
+ "integrity": "sha1-hN7mQ/A3w9WcneFCVIQwNxqo07I=",
+ "dev": true,
+ "requires": {
+ "ansi-html": "0.0.7",
+ "html-entities": "1.2.1",
+ "querystring": "0.2.0",
+ "strip-ansi": "3.0.1"
+ }
+ },
+ "webpack-node-externals": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-1.6.0.tgz",
+ "integrity": "sha1-Iyxi7GCSsQBjWj0p2DwXRxKN+b0=",
+ "dev": true
+ },
+ "webpack-sources": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.0.1.tgz",
+ "integrity": "sha1-xzVkNqTRMSO+LiQmoF0drZy+Zc8=",
+ "dev": true,
+ "requires": {
+ "source-list-map": "2.0.0",
+ "source-map": "0.5.6"
+ },
+ "dependencies": {
+ "source-list-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz",
+ "integrity": "sha1-qqR0A/eyRakvvJfqCPJQ1gh+0IU=",
+ "dev": true
+ }
+ }
+ },
+ "whatwg-fetch": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz",
+ "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=",
+ "dev": true
+ },
+ "whet.extend": {
+ "version": "0.9.9",
+ "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz",
+ "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=",
+ "dev": true
+ },
+ "which-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
+ "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
+ "dev": true
+ },
+ "window-size": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
+ "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
+ "dev": true
+ },
+ "wordwrap": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
+ "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
+ "dev": true
+ },
+ "wrap-ansi": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "dev": true,
+ "requires": {
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1"
+ }
+ },
+ "xtend": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+ "dev": true
+ },
+ "y18n": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "6.6.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz",
+ "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=",
+ "dev": true,
+ "requires": {
+ "camelcase": "3.0.0",
+ "cliui": "3.2.0",
+ "decamelize": "1.2.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "1.4.0",
+ "read-pkg-up": "1.0.1",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "1.0.2",
+ "which-module": "1.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "4.2.1"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+ "dev": true
+ },
+ "cliui": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "dev": true,
+ "requires": {
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wrap-ansi": "2.1.0"
+ }
+ }
+ }
+ },
+ "yargs-parser": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz",
+ "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=",
+ "dev": true,
+ "requires": {
+ "camelcase": "3.0.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+ "dev": true
+ }
+ }
+ }
+ }
+}
diff --git a/src/FilterLists.Web/package.json b/src/FilterLists.Web/package.json
new file mode 100644
index 000000000..bb4a891c6
--- /dev/null
+++ b/src/FilterLists.Web/package.json
@@ -0,0 +1,34 @@
+{
+ "name": "FilterLists.Web",
+ "private": true,
+ "version": "0.0.0",
+ "devDependencies": {
+ "@types/history": "4.6.0",
+ "@types/react": "15.0.35",
+ "@types/react-dom": "15.5.1",
+ "@types/react-hot-loader": "3.0.3",
+ "@types/react-router": "4.0.12",
+ "@types/react-router-dom": "4.0.5",
+ "@types/webpack-env": "1.13.0",
+ "aspnet-webpack": "^2.0.1",
+ "aspnet-webpack-react": "^3.0.0",
+ "awesome-typescript-loader": "3.2.1",
+ "bootstrap": "3.3.7",
+ "css-loader": "0.28.4",
+ "event-source-polyfill": "0.0.9",
+ "extract-text-webpack-plugin": "2.1.2",
+ "file-loader": "0.11.2",
+ "isomorphic-fetch": "2.2.1",
+ "jquery": "3.2.1",
+ "json-loader": "0.5.4",
+ "react": "15.6.1",
+ "react-dom": "15.6.1",
+ "react-hot-loader": "3.0.0-beta.7",
+ "react-router-dom": "4.1.1",
+ "style-loader": "0.18.2",
+ "typescript": "2.4.1",
+ "url-loader": "0.5.9",
+ "webpack": "2.5.1",
+ "webpack-hot-middleware": "2.18.2"
+ }
+}
diff --git a/src/FilterLists.Web/tsconfig.json b/src/FilterLists.Web/tsconfig.json
new file mode 100644
index 000000000..ed5310109
--- /dev/null
+++ b/src/FilterLists.Web/tsconfig.json
@@ -0,0 +1,17 @@
+{
+ "compilerOptions": {
+ "baseUrl": ".",
+ "module": "es2015",
+ "moduleResolution": "node",
+ "target": "es5",
+ "jsx": "react",
+ "sourceMap": true,
+ "skipDefaultLibCheck": true,
+ "strict": true,
+ "types": ["webpack-env"]
+ },
+ "exclude": [
+ "bin",
+ "node_modules"
+ ]
+}
diff --git a/src/FilterLists.Web/webpack.config.js b/src/FilterLists.Web/webpack.config.js
new file mode 100644
index 000000000..01e45ea48
--- /dev/null
+++ b/src/FilterLists.Web/webpack.config.js
@@ -0,0 +1,43 @@
+const path = require('path');
+const webpack = require('webpack');
+const ExtractTextPlugin = require('extract-text-webpack-plugin');
+const CheckerPlugin = require('awesome-typescript-loader').CheckerPlugin;
+const bundleOutputDir = './wwwroot/dist';
+
+module.exports = (env) => {
+ const isDevBuild = !(env && env.prod);
+ return [{
+ stats: { modules: false },
+ entry: { 'main': './ClientApp/boot.tsx' },
+ resolve: { extensions: ['.js', '.jsx', '.ts', '.tsx'] },
+ output: {
+ path: path.join(__dirname, bundleOutputDir),
+ filename: '[name].js',
+ publicPath: 'dist/'
+ },
+ module: {
+ rules: [
+ { test: /\.tsx?$/, include: /ClientApp/, use: 'awesome-typescript-loader?silent=true' },
+ { test: /\.css$/, use: isDevBuild ? ['style-loader', 'css-loader'] : ExtractTextPlugin.extract({ use: 'css-loader?minimize' }) },
+ { test: /\.(png|jpg|jpeg|gif|svg)$/, use: 'url-loader?limit=25000' }
+ ]
+ },
+ plugins: [
+ new CheckerPlugin(),
+ new webpack.DllReferencePlugin({
+ context: __dirname,
+ manifest: require('./wwwroot/dist/vendor-manifest.json')
+ })
+ ].concat(isDevBuild ? [
+ // Plugins that apply in development builds only
+ new webpack.SourceMapDevToolPlugin({
+ filename: '[file].map', // Remove this line if you prefer inline source maps
+ moduleFilenameTemplate: path.relative(bundleOutputDir, '[resourcePath]') // Point sourcemap entries to the original file locations on disk
+ })
+ ] : [
+ // Plugins that apply in production builds only
+ new webpack.optimize.UglifyJsPlugin(),
+ new ExtractTextPlugin('site.css')
+ ])
+ }];
+};
\ No newline at end of file
diff --git a/src/FilterLists.Web/webpack.config.vendor.js b/src/FilterLists.Web/webpack.config.vendor.js
new file mode 100644
index 000000000..d23ac4ffb
--- /dev/null
+++ b/src/FilterLists.Web/webpack.config.vendor.js
@@ -0,0 +1,42 @@
+const path = require('path');
+const webpack = require('webpack');
+const ExtractTextPlugin = require('extract-text-webpack-plugin');
+
+module.exports = (env) => {
+ const extractCSS = new ExtractTextPlugin('vendor.css');
+ const isDevBuild = !(env && env.prod);
+ return [{
+ stats: { modules: false },
+ resolve: {
+ extensions: [ '.js' ]
+ },
+ module: {
+ rules: [
+ { test: /\.(png|woff|woff2|eot|ttf|svg)(\?|$)/, use: 'url-loader?limit=100000' },
+ { test: /\.css(\?|$)/, use: extractCSS.extract([ isDevBuild ? 'css-loader' : 'css-loader?minimize' ]) }
+ ]
+ },
+ entry: {
+ vendor: ['bootstrap', 'bootstrap/dist/css/bootstrap.css', 'event-source-polyfill', 'isomorphic-fetch', 'react', 'react-dom', 'react-router-dom', 'jquery'],
+ },
+ output: {
+ path: path.join(__dirname, 'wwwroot', 'dist'),
+ publicPath: 'dist/',
+ filename: '[name].js',
+ library: '[name]_[hash]',
+ },
+ plugins: [
+ extractCSS,
+ new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery' }), // Maps these identifiers to the jQuery package (because Bootstrap expects it to be a global variable)
+ new webpack.DllPlugin({
+ path: path.join(__dirname, 'wwwroot', 'dist', '[name]-manifest.json'),
+ name: '[name]_[hash]'
+ }),
+ new webpack.DefinePlugin({
+ 'process.env.NODE_ENV': isDevBuild ? '"development"' : '"production"'
+ })
+ ].concat(isDevBuild ? [] : [
+ new webpack.optimize.UglifyJsPlugin()
+ ])
+ }];
+};
diff --git a/src/FilterLists.Web/wwwroot/css/site.css b/src/FilterLists.Web/wwwroot/css/site.css
deleted file mode 100644
index 465ee540f..000000000
--- a/src/FilterLists.Web/wwwroot/css/site.css
+++ /dev/null
@@ -1,35 +0,0 @@
-body {
- padding-top: 50px;
- padding-bottom: 20px;
-}
-
-/* Wrapping element */
-/* Set some basic padding to keep content from hitting the edges */
-.body-content {
- padding-left: 15px;
- padding-right: 15px;
-}
-
-/* Carousel */
-.carousel-caption p {
- font-size: 20px;
- line-height: 1.4;
-}
-
-/* Make .svg files in the carousel display properly in older browsers */
-.carousel-inner .item img[src$=".svg"] {
- width: 100%;
-}
-
-/* QR code generator */
-#qrCode {
- margin: 15px;
-}
-
-/* Hide/rearrange for smaller screens */
-@media screen and (max-width: 767px) {
- /* Hide captions */
- .carousel-caption {
- display: none;
- }
-}
diff --git a/src/FilterLists.Web/wwwroot/css/site.min.css b/src/FilterLists.Web/wwwroot/css/site.min.css
deleted file mode 100644
index 5e93e30ae..000000000
--- a/src/FilterLists.Web/wwwroot/css/site.min.css
+++ /dev/null
@@ -1 +0,0 @@
-body{padding-top:50px;padding-bottom:20px}.body-content{padding-left:15px;padding-right:15px}.carousel-caption p{font-size:20px;line-height:1.4}.carousel-inner .item img[src$=".svg"]{width:100%}#qrCode{margin:15px}@media screen and (max-width:767px){.carousel-caption{display:none}}
\ No newline at end of file
diff --git a/src/FilterLists.Web/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.svg b/src/FilterLists.Web/wwwroot/dist/89889688147bd7575d6327160d64e760.svg
similarity index 100%
rename from src/FilterLists.Web/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.svg
rename to src/FilterLists.Web/wwwroot/dist/89889688147bd7575d6327160d64e760.svg
diff --git a/src/FilterLists.Web/wwwroot/dist/main.js b/src/FilterLists.Web/wwwroot/dist/main.js
new file mode 100644
index 000000000..e535aec5a
--- /dev/null
+++ b/src/FilterLists.Web/wwwroot/dist/main.js
@@ -0,0 +1 @@
+!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="dist/",t(t.s=8)}([function(e,t,n){e.exports=n(1)(7)},function(e,t){e.exports=vendor_c889ec5b88b44f1aff8b},function(e,t,n){e.exports=n(1)(96)},function(e,t,n){"use strict";n.d(t,"a",function(){return i});var r=n(0),o=(n.n(r),n(2)),c=n(10),a=n(9),i=r.createElement(c.a,null,r.createElement(o.Route,{exact:!0,path:"/",component:a.a}))},function(e,t){},function(e,t,n){e.exports=n(14)},function(e,t,n){e.exports=n(1)(91)},function(e,t,n){e.exports=n(1)(95)},function(e,t,n){"use strict";function r(){var e=document.getElementsByTagName("base")[0].getAttribute("href");i.render(a.createElement(s.AppContainer,null,a.createElement(u.BrowserRouter,{children:p,basename:e})),document.getElementById("react-app"))}Object.defineProperty(t,"__esModule",{value:!0});var o=n(4),c=(n.n(o),n(6)),a=(n.n(c),n(0)),i=(n.n(a),n(7)),s=(n.n(i),n(5)),u=(n.n(s),n(2)),l=n(3),p=l.a;r()},function(e,t,n){"use strict";n.d(t,"a",function(){return a});var r=n(0),o=(n.n(r),n(16)),c=(n.n(o),this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}()),a=function(e){function t(){var t=e.call(this)||this;return t.state={filterLists:[],loading:!0},fetch("https://api.filterlists.com/v1/lists").then(function(e){return e.json()}).then(function(e){t.setState({filterLists:e,loading:!1})}),t}return c(t,e),t.prototype.render=function(){var e=this.state.loading?r.createElement("p",null,r.createElement("em",null,"Loading...")):t.renderFilterListsTable(this.state.filterLists);return r.createElement("div",null,e)},t.renderFilterListsTable=function(e){return r.createElement("table",{className:"table"},r.createElement("thead",null,r.createElement("tr",null,r.createElement("th",null,"Name"),r.createElement("th",null,"Description"))),r.createElement("tbody",null,e.map(function(e){return r.createElement("tr",{key:e.id},r.createElement("td",null,e.name),r.createElement("td",null,e.description))})))},t}(r.Component)},function(e,t,n){"use strict";n.d(t,"a",function(){return a});var r=n(0),o=(n.n(r),n(11)),c=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return c(t,e),t.prototype.render=function(){return r.createElement("div",{className:"container-fluid"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col-sm-3"},r.createElement(o.a,null)),r.createElement("div",{className:"col-sm-9"},this.props.children)))},t}(r.Component)},function(e,t,n){"use strict";n.d(t,"a",function(){return a});var r=n(0),o=(n.n(r),n(2)),c=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return c(t,e),t.prototype.render=function(){return r.createElement("div",{className:"main-nav"},r.createElement("div",{className:"navbar navbar-inverse"},r.createElement("div",{className:"navbar-header"},r.createElement(o.Link,{className:"navbar-brand",to:"/"},"FilterLists")),r.createElement("div",{className:"clearfix"}),r.createElement("div",{className:"navbar-collapse collapse"},r.createElement("ul",{className:"nav navbar-nav"},r.createElement("li",null,r.createElement(o.NavLink,{to:"/",exact:!0,activeClassName:"active"},r.createElement("span",{className:"glyphicon glyphicon-home"})," All"))))))},t}(r.Component)},function(e,t,n){"use strict";e.exports=n(13)},function(e,t,n){"use strict";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 c(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)}var a=function(){function e(e,t){for(var n=0;n4U5U@xajt#@{1C!<8gV`
z>JNv@EL4#i_U-yCeM%F
z6}{<`!TWlkH!m*Fj>=&zk~c@)N%5$dzU-dV!nihUq@&ElNS2&p-B~@F4Tk-}X!W!^
zJ}XC;%hKX8w5i*hCxgkf)9sx$)T}$1l)cBJe(~w~aXli)@oD#bzdP;L!;Dza9cbUQ
zf!?(IzDN|=a9n(-#Xp$LX@vL1cL84ilkbnpCpbzIJ-#bjkV`DE0!D%q1^dDN{m
zbU@RCl1>JwARY`NQ-wDWRLVx^=E$7WAcG0FMm>tbq)CES^;IK)$CHB(vuc0vio%BPF@_2B`8mA*SWM~%IL7nSs5`FL+c!NjWZ!n{wH6SQ
z=?~phZLOsH#qnTN{4g%hi*Z9Ac~elWdCYAfcRVhNM_GFjGZr&7$NZ4p
zxf!EVsnj{OOw7#6Y8W}lE36xSmPs~egMNQlTy)39YLADl7*}n@3OHxeW${Os&&%QE
z@nASyPsr*n
zqcf1FSWT)HlW}|X0&QDfRI}p|LKPsXMGU0F$Y#SZQZ4bxj6_v7)Y&IT>gPd`VN@Yt
z=PJ4stO{((*&ru9Esk-mp88LN(R8P#t15y&7v1;G!`k`zu)$dKsP}L%#L!UB2m?JH
z^@g)PT(i2#&zlJB&x0oW&Y>|yW>X{?Bhr{l4TGU%d
zogVBBhs}HuGPL~TIjDGKZ*tcO&*KIBJQ==ajNdPc2ESD>KFyi9pq2vktoy84T#qMn
z=46horXj^P(|nmS-%Tn;oI9ZT&H({m4Qjq@(P3YftPU_IQWmO%CqGisWh6U?Kgv4a4$P2HhKKoMes&J={Dwdca0udZBmWB2$i4#23H0te$grSL#-63QPcpMD@BHxH_%K@G0%EF
zYw#i2L7$^*3^PyB7^qRp7^1n}G+TJlWVR5F$NYM(-$Y=elb2UJ)R&Qc83k~
zoM{Q4f}*i?bBAg9cr?Ylw0>Bemd|EqM~wh=z2(EK7+;FYEEkiztNo$}yHe#Pg~Nnm
zAvm-%2S<}>sstYTaMzcQORPaH&(8bs!Z@hXSi}Ti7KN(>YWl^;Y6UBykV-LVLq?&q
z<%G4x>0G5M0(%8!B&M@CGuaqWO#n<_bIgRGQ4bNpazwHE)o*FK8ZTei@REUi(!IoD
z$6~P0x*wkwqge%5c?NqX0(S%f?#-s<1N?njOi#;x#_N?IpfiN+{DCmm=}@i|
z3P=F;3MKpO=l(Q$KPoRq*W$QVt@=mhCoHAX5-X|sqHuuCRXV{onO^3CzY@oTCk4+(
zVq;id?iH(j_^qoonN?~$kRFe_XT@rG%z=#u=gSn*vz2pekoQ+tS0lAE>tWyYi;aF_
zthhop^4IP6Ur;48ic^7|jfV-CUxLaq8m0^7wS}N&)C^hZHz$5h%IB|Hp_4OY9;ir@RX`dbJ?QQH+{$2hRsP>=t
z_8xtW)Prx^<^JB@W``iQ_&1A32vC8&_F89e?>&PK=M{+AYIpbcz9&pi1YMk)q_ul{
zdrv9tS;$y4jZ3tPy}jr3^g}?9duso6Z|^Z>eD^i};n|630=evP1$U*I?GhE=d_bUE
z585B_a*toOAG9y=GU%{C-*wtw;cdocJ}x4lT&)sDuOzvoEWa*5BUfzEG~o}>2a7cA
z9IS+9ue}2yPFQ?XBg9zjwhdCGj3rG((`D7Wz4>5ouYAxx!JiXu)N@0Wu{1ZqH4)^H
z=F$uYRIfQg&SA)DJol4ko7A{#tt@8Hi4OK#OkE&*g>>5qXikD-;ai6MJ|
zrv)(NM3YMcsv7Mv7KC+o6Q-kNb9-)#Zf*H&Mvie~s&c&Kiezz9;iQJ)bqxe!9D2I{7iJ{VZht^)c6o#m@8g$zbCO6*D;|qTQ{upDzd8+S6jXB#n?a|0!i)QR~4@F^dhJ|zqGbDdcu$}hz^aNLmi#{eFt0P7E
z=>=vfl=g`I!pD^JxZT<7j63+XKi8Nw|xjL;n**s~rd!AK6C(u@>OdlSU4
z7DDK;7$W~51#Mf(aQ=4tJ*sxL@4Ojy8Qbr_L)7KF_In_C-{HB_hX+#c52(+FM{Zo>
zN$JG{*Q?l3ZlA#^Lez9j9Un~R6SKM8@GU^v3Wfd8S@T}zvmmq!J7W>f(=su>18B>E@m
zYudMd|1p#a8!E0cbOq9_Be)0A;t#V5WF8x3WW(U)j0tfyB3uI-kBMOak(vfUWa%J3-7cpYy?
z2nUogBkSr=1c30A77aP{G>;{QZbsqkluD(EnUtEmlXD6ZaPzr`@vMg4Yo=QD+(?cx
z;#~%=ga66%5E|u1c^GNS7^d@&ogtW0)~SfAapY#{h@4_>eL%6cXkMn|Hxs^3
zjwfwa<3iiEs>Pmk$@%OM(Mouo#ilGA3CBTdT*Q=XkT*{UwB%J+aio$~TQe$Pr4nZg
z+o2ZBi}E_H3|w*HP{)OzVs_&=x8!9=2$RYc>|m;~bGVL))~p&;h|ED6_>9pXWryAh
z%h@W_D?v=-ZxtGIWEUDZOIOW%&5%-8RT@Hagr%}t8HY4jF&ha}#r@gVD8-q+2Y%>D
zsA&}t0p=>E?`pp^?w)E>`flJC>7UIkBG(RD=GBxlj{!WJ7_x8Vi3LVH{e^x^LxdqH
z$ynqSFm~qq(BZYoh?agECCB8MinM0X-#LvT=oyctgiu6{u3m>o27TX%jZualse#ca
z*3YCys(x2Bxp5`u_*1cXg)b$n-lg(c9p`=NoLc14l3^Ab2}CHuvk~HzA3ZBU%HipX
z8dHl)*c1Z=O&x2`FzhE~>vLkjo8mCW8YGZD314bz&$S|4-0*B38!_J$`<5*Tm}W*U
zDUL!V>mzMl`9K-$nn}1$fRT$4LY3S^6YL=5Yui3hA@$QpnbQON2beF|L*o7JeN;D$zAjk(Wu$qDZC_x>(>(H9iV_CDJ{wGj0elmR>hX!27?
zQ$BeaY`24uZ|9h|A_@5(ZNFp=+1fc?J0IP88EW!O7z2m&EYJ){OIptfe8TZ+i`*BdGQU*V1KCq)Jzkj#
zRr-st?{#FabN7Mn2SerRhX~fvf5s1~pJ7Y*N8>ca?MeK^YE#7$v`Njx6C{}WohoU!
z78D6yU3?51QKPNL3ACU9=M|e_au&&EnB0#cXdZKrl$ISb6W|5Vq|65lrm%U;<(rMt
zI64;2%Iu~SK;E#4Wo5S>OkI}fe=@5!X|=MX0~4926a#_8(P27Rm045Bk;)+>maW$F
ziZ0U3xurS9gi?-Pg8Luw+E$+}JxRy|HF1zS_6u_bKx-eQTsDy#=^BF60eAZcI#cIN
zCz?k)X&|P$hwU1VWyD}RO|NV%){PPhqj59;OQmtO5_9WD4~X2DUvajyg)w`j2@qAK
zA(qL=7pQJqc3KdmJ;a!lY;V9P@Mm-v#?7md1Z|9b#quZE(#j^B$ZJw23p2mvYdg&x
ze1ZBL6TvJ5=q%bKyZsZq6$1QOpwsLy&P^YPC;=Zr%#x;S+zQS
z$k49W(KEKYEK(_kF@U~LuYPZhuG?qB9xHcg{s~
zi#{#F7UK$lxmQW66`d$9hZepH+b2F5Pr~qvN7pL#lDZN?FDpZ&HfnUq9#yx;%FGy
zZGw90rXJXe!K?L}ZMSK8i~)E0Bo$DmYPKtKAsK@W*_2CWL-U(9xd_cGGe_I+nv3RH
zRLLBPpmfJf%^t8=AdTCYw63}vCJ@Ssrk-$ft&j`Fi23rzcXCoR=<<(oA(2|byfUjh
z6Sb~Q?HZ$<(^gWeq{srVu^dkK>ph9QHkfY33ab@uREK81VwR@510z>xk@jH8nN{$*P>fFV<>?xg77Gop$5+1)&EwlK!u~8o)d;A5_FaXlmRH}aLN<(;
z$2vLYg5}1o$`y+Ru)yXSk3_1LR{b;eDQ3s-lk!B7k9Y$MHKnY9G2L~njZp2DF_CC)
zFIh1;LsJ_{drxBW3`=Yo^u1w|R$`TXjSVB_F=kBU5O|nljRcSCI&HLz(Pdu^aq}1o
zn#BBL0F9sWji?gS?Vss;gL5g=e5En4=Ks`
zdR?wPm1M-Px&Erc3pe5-#N!q^(s^H?@1KMQAx0U0TI=dGj;$%1BVEO=F$wd&a1BER
zcvT#)-zGwBQi_UXxs_8s>bpyA1rr{;E9cpD0Q{a}N#8>udJ>)!O;q2g$-9ivfJjr{
z=3HS!ZIIuDUdvxzoGLzbl!;e{Bo=VfeOBhR6>>Mju>7z?*zlP?X5Tr{|IBd{;`)Dt
zyiC>O%uIyNQ(-3a)l^lRYxfM{1?t5Vn|~_XW-86xOy@J}L&)3i`X2hY0q(d!lH0(P
za*lTsE^azFYa6JU|C9zpr$vNtHY+67J&A-=k?UqL^YT?gGDh;+vz#2qX;l-L#j~#u
zIj7{p94&%JU{vQbj8V!IPJa@oLy?W+jnei)%n@rA9P!9}{H$wZb3sQ>!b!
z90;mO;is58>dH6F(i{=R^l4czPd{PXzgFbH8mn?}tJ&IYbElD2Zakrd_!4ds>Q|CL
z^OQPpLr*ESr0U7*!U`J`fk+~SNnT@#)eHqGqgP`kCV`GC2?-bA&YT9w^wENmFx
zbPgXe;Y`b9SU{ObTrmz9X~TT}F+t#8g?m+Hw+*S`lM4pB$AL7O41p62I*1KX
zauJ-Yb}5_MC29sSrk;?CO+k)7O1qv^v`%nmuT!O5&(a!KZA^|rz2svl_?s$>gz7|r
zlD2W@yvB6u?$1e(TvghEqnKRd6)1sbp4=Q=`pmYyl1=!h>5o%et!qs%I4{3?*IydR
zH(IKsjcu5e4UNc8!bxg+^?h!bkXRCKh>SVLnaF{03MA2o<`W1w5o^V+3=uMOLcib6ptWUMuOT$0RHAXA`FK*Bf{Ay{SE7a`9*^c`;?K
zY@WQDOpPHb`Kz!Kh}9Bj4(9wwVHM()?{~gplQGjV$)RdZs8IZLMG`UgqwH))P?}a?
z+joQJ!PGOZ47WyJDds6bL&YSknJ81vljqti`Dzz1*cTvir6>vGCn=|z
zd*x~ELc?9)C8joagH>L`)U?$&gIbro(uS(%k=M_*V%{U{lC?myGW81KtNDXLnpb~{
z>+r6@-xDUaGwULyir(#yPy4>UFXqIuFw9TPTr!tWg)6`r2~?yz$0}t|Fi(m1QXQ-5
zPNb||lqwkp^N)3erFdO#rFyJ9dfmd<9aN}qh&sG;s3ykEoC&)oLOxtdf(bVx)Py+`
z&O`t~5fjb=w0>+wO|t!jgCLkf?6H*ax{PO
zNW2kIrWO2do2&CL3{!&;3G6aXy+nRj-P90-Hf3tg<%YAc3O?SKloMRpaKZtasiY9G
zXQone>yus|py>6^4=-r_V8;f|#BcDHiJFTPe2GBAJmJx-!v7MPRLSG==CK(c<<4#S
ztRPje73(W<3s+6ub(il|Qm9&1l5$>8FLh8!o~G9mxzC2W?=caQg}#1DfS=Vtl0G=y
zzoHu?Vpg%~G$Pest+ty<>8nv!{lFCY4t&6X?FrxeM|HegIqP}#iUW_)vMcw|xiw`g
zn)7}1yR+_=7;iGEVhtZwzDC=|RrJ1zBrhm2si!uPYq4CluEAd|3o+x=Hil>OSc~9#
z8B$j>9HiE^eq@Z!UE34cHz}6u)k-+HhSW?EdDMBpr|KwdU>ms<5gUV0D^g&D*`~2L
zV*oG`#yJFCogp@|!UPh7M;{BFU#QJYe~z1Ah~UxKp~ho)o-<+KYP~R~lZ*EXgePKn
zjMK6vL2Z6zsH{bE;~B!gDk=F5k`i;j0NH3NTmiDyfa~_(#{hkr~wL
zTK-Hd#dp-dt}=D_-DP0;Lx8$*)_YA6B*h%XW+`NalqQ;Y^BBlw6FHl6)U(r3Ho9>v
zS2i2BGl1ris3hRYD}ZCOkdzkV0d47wqRo4udN=qav{McmIGhKX<1Jez2K00Fm-T0P
z361@%9^SQQrWDe5g49+oaK|_mtwsfMr3liF$F6m7SrHn?6!7V|3DP8o(n(?xh)T)S
zmNS3}M#)JMv%1H~6F?~)a&Rq^j$(I7UG+sTzHPfN&u$>tu+h;^^SZBP(m<^9%L`2G
zFZLCjzGyt#cUQLZTuOc}k$$<~{s1Tc!$JEV-tPI21M_w0?EMqZ?+~@5d*TQC?gp&(
z8s66SWnxAUAHP!o_K{}zHty`9kdbF@pxx(Mp6-?MwV#9>}+a-7}~2
z&kSD{p2^9ZE!Lz+KTzDg8wtxJ|GEeUp8Xfn3}9&Y%+sPelj}l6uSqi(z@4DYmIzhh
zFH!I8`wO79@$G^j8{$R~P@=md*2JwcwNH!Z-*G#**VT33MVYed;Qy*@q6(&6@{bF&
zMnhxTCJB2r4JD60QK|6SKEeLzlkdGUt$vTa4)xCdQQ+wpdV#q4_NLS9qma7
zTC3vxORJ2CAjqNqJv#~{5;CQIdn9S0J(3K0#ji7c`tkMN(fGCBoq1i~itR`aOK9n!tA#ib)z`
z<}v1-iRaX2j=TaEL0wN^vHXCKpA0(lm;eRHc8RgSe8`~+z<1s~qTlK;I0sjPzZTkC
z73}x%`-&3iIfh6bt>`aU{)!YA-Y*<0%vNwS_}T+L9EyAI@wu0G5Ah|Ky**s!jZer>
zr+W^6`cFS2@rOs$i1ZO0e4~cWm~i`vlf#k4;MVXHdv5&1*PZhd56gerJ2>4J42(;z
z=9k)Zu`J|1BE)&*1^$VzFDHZTJ`$w(Hu-Zl_~;NoFWt9kfZ(p&cP@F@5Rh16b#;AU%`s@c{W#`D_q-
zp-hWQGX;L)s8f$l_kN9_D;i)2g!%JH+ocJD}
z3Ud75D@i{}#ZU#Ta!@{MbI@bQ8y^hRV&D^NZ1v0z*eANC5&$z1_#Bs+HejiaY{n#$S7gPB&^C3#c9Mk3AKQX$G
zxak|EAA1daBv<+~7%~o+1keuf^3>$1oSriPJ^+&fsL<$hNu6N_EPeX~kB`2mcM?*E
zbH2k9%LoKar#>Wt9~eRKd0Coqsh@)VbpfLUlb
zjWq*)*@jc`c(3brp+DaH+aq3AvpPmWT%k>$yZYWVh#Nm4V*2b&l1UoKg2k1qX&&z!
zpw`3Ife$FxY10JjIkhl-!>aQm7krj22W_RsRjE6(!L8)_plf@QCzM--8g#Jpge-0>
z)T50c(=I+NU;B^LPel5jZ5|f*!OFb{tkyHOedjDwR8MJ-9z0@exR_K~IFKo1lgdr}
z3Kq_=Q^_qTazIjDSE)`QRsJxV+*~Z(s7K!xgAVi8y$2_N=B(pPS06%G67
znQmu9Aj4gmhZiy$)RhlpU}Bqn3DXA`CZxLXS18W`D1MEr#a~^Kbl^bz%>KT_KSLpCwMB-z>SPz#O1RSS|}w3SP;7Pk(b4jWh^TZw`vxCv&j
zT|zNRjC|-zh_LEv##mw_fqZkV#p?sU^y_R)LkO{}0gxwxikPv-Er=N_2!2m~sLU12
z@to2NU<>sUNl+2@0lhh;O}2UT90kM;bv6afqsM_XRjq6`CsuD>H>5p+O6`1(A+l(i
zVa7a$(jhTVHsmiR8^&x3nRib00l%8h2YAjZifNFV#{lnD8oAmO;VCI%#B4HrS4xG|cPA#OwmC!6)B+#p9!S6#*IEyQtrp=*TpPkJi^~F6o
zbtI+U$gNqAOv+_R1Q?TT9z#AqagN3^#q&TCCiL`M(aB087njro@j}IYnM#ZMoCJAL
zk~D+69`R$oXIe2AlyBv4-t&(+J`7}>tsm0HBKz*sittQ_j*9`G+KMddYb8pdYZaZt
zPIGp>Tae`?AY0(67DFIvY%1O5o0Kqf1(ziN=66AJ$|c(ObUL}yL42Wx94h8axVl#6
zJHp!acCh-pBdfpbe^OW3UG7%=-#zX4XRe0TX~E~DH))V=A#k&we}O#)riYkbfJZe+
z{A8faJ4vZ#I5P$KG4xQpDry5niP6_w1uQ`5?hT%>0(#YiXBrC{dUJ^+uoWHd9j^V6M
zb(uKBBroUrkB{9IK?yoGz+Z7-hZ6GZq1TWNkkyNYS!4)iBKb+EIeQgXOT^%U&&a|W
zMhuX=&cVrTU}lf22Az-!3-en>d>y+%7FJ&U4U$gf-IZZJO{Nsf4$MkJid
z&V6h|+}t0Ua|2V&aEs(pE#__x;F_5FW@YwxZ&g`>jr$e30ztaHglS|IReO8;XYnT5F|xkeO}2IK-O3l)5l
zP)SaS^E=b>(lZjyb=-
zr{*H~l&-GBVd}Js$bUM5nO?Ezv`MH7VMBiIW2k!`)JUx1(PZV(nAAYglv?aD6gBwF
zW61YUrXhVAN;tEXs*2CBEs_#wcsE)3M<$TZl2rQ}xS3ll0rjs&lYqIgD~B@PHdrb6
zY{3)1&Ld-5K`Q8rFVq4ay26mbmVcz8hI$rLzNDnuUoM;n_IN{ma#TYu&@{G2g^Wo^
zi<+$bV}`qmBo~00$Gsu$u_4X%HGaakoYnSWd)JROmJemj3^zgX*{|7#$&J0l`ey?t
z>|zcf0-)pWmAPUpth6Xrjd|LEV;p$IX%f6=KH`LAb?F&j^6oAnpu!*ROvQlZ9|alm
zH0+TFGpSU97x$6Y`I&xfjTw-4o((vj@Q!~iL{flX1-<-+{Cq0q^Q@MS6$3_N0QBf`
zbdA@_LdxiTADfzbwErl9ltkXq18i44rJPoP8KNx^+%e7F63lA&@ij?7(hMQMzj}d(
z>@gr*8Lc4(0-5X+Bg^J+;WRsaucc56n6FbUo{%9Jvv{+Kp=9k7m($Z!yxD|J1|^?A
z#IKcJqVpzr!8j_3E-oyvL+6)n!O^2x00~GXL^ZPtW9-$2wwyE#%HA
zlFd#N`Q3?Gloj|#mH9+kjG0Ii&3omsk`Stq#g%0HSFb-J?}f$(Ul>e8_Qo)kH)MtSra<*M^^ja<@$3{beGe=&
zKP_C&0Gh`-ftrp|b7^JZ{WG$Q3Geb3>jO{*_lpHqvBGp<{%8S72w)^k~(
zlki{w&0_+Tyv_lX>^VRQ%74zSQs3M4x5-(J9?naTytD;?>v^z^QSx-
zW@eF}1?nVd57w*NbTi%JSN0lQuoOc6(%250H
zPsXkhaPkU{)V2!a{B9mY{?(su2+ab7{~46pV#mD!M0hyn)L05n~H=LM7cO@2aN-RQ)miQqsOmopq?X@B$15OEQzbq$1s!ORWI_;Z9k`}i&AkUGDtw8seMg$09^E`nf(;?)u0m|u3LEFasqf0
zDv@yh4}EQK;@*%=))U+cCpX}rX1ErMe(gRUSKn)Tm6g(xz%=rY3Hjz%gQ6L*Hg^sN
z$({q0K`!$zD)$|JAkeF!$U-lkNE9m^2pd3hGZWS#A7xy_uCED2Q7!I;kN<~?2HzAc8I{l_+tL61f-Z11%7>+DUR}ww1Jo_Qr2}Kfh
zFRA#=FHFk)TDKWD_UB(jMq-Fj^ZHBFv!tlCbW&5v10tN6lFXsrPg>o?S)3WC*
z+y^oIMS;W>U5lxF(P!ur)WVJ7$vkF3lf=yHyu(exLP96$Vig=rN6I86ExJ5_DNuQ=
zl;8vno6FKYl4?%?7=%F-5e~U;nQ-7Hg8;7E0^Fh5t
zNpQ0J_mgvIB`|s0dse4)wN8;~3@lO;b&HUpq^z-+qsY
z!ux%5cgH8!dkvZVV~~jvzOckZ;)6`4@?6mW`0X3ABRP3BRSc-J^eT`@fR&M7!|Uff
z=9tbCNU8Xe%%*qE8g@CR81mK0iYq3@6th2q(nBwTtHOmZou!aeqE-p!Hxps1*seJh
z$TGVS4+-B=w>i`nDP!x&@VTFaPFg0jQ^TF>ah8t@AV^fHzKmA57j5dND%%>^R>A>^GC`SCa|XxGDISBbMl!xw>WAN%QE+@*O6y
ztIg+GmEK7d?9mN%Kt5HkSp#U~1i!b}@I8~YhuneI-B=hr1Ny)M??vK#cYzejX$z+)Lk>Ts+39-%
z9$pQgJXR6{Z00GQK2&flP=-MaSzkmZl$2vHoAlYpQ0de?rR)W`EIpmMr?)8^G`VuZ
zNPSMA+WfQ#235e(<2`>bBE*oq;EO{1k8^f9x7xRk2gBml{aa_U#uNmw&{{7e;x6Zp`Q2Dl;{&e2&PKyr89Cdr|TYqRxPY07%
zhqo?@qjMy9h{IbBM}0mDAC8%VXFJ8Bbd>*g>#Q6XPs{#nSWHlv*6M1jm<$J_>2iNC
z=^hP>WxN!vQMo)D%_c>E8O%={mBT5dve)msDpUE`7J1x3>NV#A3W@l)=m6Kw6Ff8bC^5F7i_vBgktXMj{MPP@w
z?z~zJv!)!1v-n>~kZ+(Swhqv&@DK96ia0-Ol
znT=U>yOUGNK-%(*wHO`Ak|HszbkEO=5qiU5*k2NkecgUj;Ur3HTJC9gG&n9M)1|Ao
z*SMI@#-rA#xM=+_F3$#&VoAHj(zuwE!;eL~H7?#2y(#r#ZKuO2bd-c$9=HDT^vSo=
z>G_Y44R~n%;SVg)QNK7wpP&{tr4FZ#prBkLx(DNNIYz5KD_ck7@?ugz1!m{x<#>v+
zUJPVCrsK5D8+UF~mLuDk#HHhBr9_jWT8|E19^N7u
zGM7ZP-I|VPMZ%eunhws2az<*ozJ`B6B`xX+lx1l&8xA8RzqNYZY43EY7?0z&N~KN!
z7O__`%l!zQu73$TJuT2xMkmy-ylSNQp$%FAF7|?owZ4EVY~DfDNyjWfRv#@uBxV!V
zo3#}0;S{FUi6l}ZsuC$>q(RybRM@R)iB5|CXN1qakx}+rkTW`LtYe4M-&)0Rf-x#o
z$#A&2h6>q!K+OUkM`cTTcMCRWFr+b|!Y}uxR3mGtk?=Ow)>{AZAIkoUkI
zPtkvl!NP1@<=`_UMktGZy|^+mnap}{6~Z`3qRMq*N+rYZ1o(&6cQ2klTfqnjW28y~
zTXbHICdEtG^+l?uHvN$`x1}@jcYR|}V?XZ*aqm1xNXYA~;
z>v|=@iYA|tvGh)^a~xkOPUG*u$b4~DsEN#Z8mbI}_;>`w%C&ZmSnGlEtXM&XR=RM?
zKLUB&HIZN8%=NO@DJ34!T}w|JhoLhkfd9^AVlTCZ_>QsJe7=
zHp_8k*tvEc#Auc>VkAu{EVNN)h|~!np%@tgk!z1!G}PMH*_FK0%2XNc;NiJy3T)}P
z0U)kd54Nrx7AqIsG5HX$zJ2=R>(*>kd^*RNSM-@*IHJf3qZ^NGcUs4A<64-O&@8Nv
zi3?3yWE51Xc-xf9#7HoboHcUJf6Ms9UL8a2yeSdweSSm(&_n2D2~RF4ax2PM8ex7A
zYoa4skRbOd9hFgZyK6
z2zM{(hKJLP2n97H!$pD|i6PqvMy}@Z7;ZG#Y~l~rCudD!E}+sP`IYl=IW5VbUpehg
zo?nbG7dS7*)610}rrb*zPTNf74tXa`j(n2CTLrwSq@Ip|%mx(g((y1U{R
zcsd@fMBb<7(sGGopX73i(S)nLP9`=gF}Bh9~WfS0Aa@9*j=D
z`pV|k>&i-@6Z1PO@XSU_m=g^qr;N*?Y6mUMIPO*W)PbCyV$#$?QOi;AKTMa4rxlR-1?g+TNZrJP2MZyt5t5>x3O^+sbkydUKI&BE*iVOi3DI2NM#MjR
zBv09bhf(p$;V0+D!K(aflmT;=^YP##P17dR+3~T-deep9evV;gzo4i@G3pJ9$$dD6
z*2ul-7d;AkH3LnG;qjis28-Cm#418U`TGu0F5it~-*!j+VKD|1uU<#xDKL4Ty*G)s
z*ioHKk`8&kP_PdWfQYuW_rqgTd-0m81BwX6nDu^f-o}huLXxQpLjzrS1Yq-GBCKjF
zZ>+G;T6QWxN_{xhd1(c+YE5d}@`%Av+<|KGmONlrvFb=O0Gn%Hw+3*2fOKV8j83Mf
zc>n6Fs`m$lUdd|KD-?Y-c>NlzVY_Rbz;*Vc@@lwz77$IKE)DCSv*xEWmSSy)ZE00L0Dn8+Ly3u9Z~7_`};!3
znUdd`-ncj`KNeReNv3+x{{)$3E35OYY<+puqr(4%K6xjPU~)bj^ok`wwOi|vgA=3`
zTgdLHd%~gn#7g!~i{5*&y!7PlE4m_L*~3fD;^2nOk^q*G{V;80*v&7H=!Qv1K^!>S
zu-w@tS;qxYgCrVi38Vd^5=|_4q6=e})?S!E)XGt*FqMw$Qf=F$*i{>LFhZDcFqO$7
z9Jh~y5?-?FTx^C-C&$uT*AB8WY*M%=gfu+3G1U;Ho0{8U`45=Ky0wAOs-e9#E%A$-
z6BAb({RBZIM>>K)&f%>Ad{hfRe+ir<-n>LC}}*s#7y0
zRsb;o%3O=0`j{Jeew1D!4|p#Z2t^cFWs}uA_|>r>th0>@_>}}Fr)WBp$+yMfs{zA$b0W*3ws$?H2fGJ!=p+)4+fS|E2}#)_nt$
zG?gb0Halc2m)JsD`Z8Y;4dhi5Ro**T=%(o%^ue!_vFXK9-(b=zN5jh&Jkat2p&rcm
zN#o(p)08)wz=CobXl5R~pvZp;z2Wc{(}+-n9;&k;U2R#?sjb@uur%XfwymGc0CVYL
z%+35;I&CyI`Ctt7jli;o14}i~A+{0@vt^5t
z6cMo)T89NTYITH6uCOZ0a?svH-O+UzVu1d0OS<y~`KW=s
zAc$fFNA>B+CJ^L#8$_%$?V=c#qhk4JSoYq>t4FI}o(#()%pyI~FIOWb!O3D#1K&r%
zN!0sf`P#RR3m7EU5+;Ec=0MKsQ$Cd7rK24u4I@}yTsLz%5L6=w+(TE#vqg59TseF|
z9vP}o=@dSCLz6XvsB}LMVJCx9!BDZrg3uX`83b@0bai4+RxjS1WAp*6FBIQ22xv4mv|IA3u?29|jkEN}oFZw_J`6ubk0;@nYj^OjKyk{`Be&=9IB;(H*mQNZ
z3vk6?5g-t0vRD#q>KC#I9zh#ERmBn$~_>EOIXGaq!C(y*F`K;M+Ss=H=2C6ySDlsVET4yAh78P9}m!MPAL=-fIy*)ui^c
zO1W?1xo&
ze{Dk^RASJlc}avMa?gTSLC`#*Tw*3&D7W=r6iSK-QpFkO@w7NYWd#1bJWtm~2vC~t
zF>MF+WmfELN=3<)h@dznG&%taHb7N&5-6RhiDcH{3PBm=iMK{Xv3Bd85E(4KW0@-K
z!=W_Bl_Jm}ZYm-_VTmP2SSWOVAF&CF^)GAC6#E0CHex2ERapwvT&?eYFX041)XcH<
zsZ@m)QLa&i*+|!k{?YtY7AV_-*NHo1tqL1ySRj@8I_5slydMowI5Wq
z<`U4O5V$08`43U*z2Wd>33qa-89}>c)FRc_Itx~nuRD&>Oe;mN&`)`yG!frNg<;$k
zsgoNXXk%B^8nV{i$7G()mn@=uG@vP|)Z!(iy_ZCarm*TI)N~xR&Z;G8mr;Gc?*cs{
zg2(+>{}Tb-PsjT_wAHOp#HMN`s6wGpDs}T7kX5H{yLA-XkBkvLidJwFyUBi<4EaYD
zBZ*GZ^;_ZwfXeQN>x!;$eyD(Ho@zrO1l*mrj*1g_^$2u2xlf$snY6G~$BWm?2ZgZN
z2BWOD1h&aZR1`}aBMPvccTZ^N1NMiDHchbIo61}wo<6!gZHWRf7Tv+;u`lNNMGm6t
zDoM8|MC54?3U~Gf`5E7lz-S-fPk#F!MOv`?58%G7vjB7+#Iwy-;VPR7X_mL58t*n2
zLSSx@NVgV7LE@m6+R?n0HOx_BQ`k5iO!!$J`O>lM$e2kf
zNWC((P|~Rhl9L3s4I(^gh8eTn{>{_?QE??!aqT0sK#<-v;8`l(J;Je?13GX+%0t_6
zVj+;O^-G>bHUYSW?RpTl=#Q~r0}whU6;pwzMV8neoAo`D;)l9FUVAQPx8y|g-d9#r
z8A0Ba1KKUyTK+F&rfp$5!r^psF`$z&jtesT)#mPX5rnUJ>h~i&Bv;hN&3ISJk)IM&
zz~B?ewA?`DVkv}@k$$1@gOd@CA2wl*n$@lq?NNJUZRn`zb#XAUh2vT@^FTO?H*dv4
zRK0q!cA7fR)@FRXhkoV
zgQ|8V5Mcdq^+=z}q`3vb5mt(Gn+SA_9!YsuHi0L4yshFqv?B`3k~jH1I_*2>DU-?Vxa#v(#C(w}SjXV_%KE=*rWCJe>rI0_Vw
z5GNMcgBewI7Uq3%IpMX&bm!Nd6}0R@7k;-+Tm6BKXr7AZ0kwt=2ee0nCogF~LowF_
z>lS-$A2u@4K0u0!-LawnPy&ars!FBHHUW5%1r(#CH7h3q0eba~9Z1SdL5gI;%vvv*
z{n18F;LXGs_zZi80xYg!Tc_^Gh0!9O97emSX&qK*yZCjSYuThu{SM%W*T19V0x_iT
z)bDU~AW{ZQEsjtufq(Tb8D)D%OH@0fjkcwEtAN{!`jkiBc=sw1Kxxl!5F3mlNYfER
zSJBoIT`i-D6E%es*-FcKt~HG0jEv-X2?)ls?}(!8Csu-dptFZ=6FOt{A|0vKB#gEB
zx;V@@<|apX(ap!SzK=6Lg{uN7K_%uTyIoEDxf&^8Q~QzHFdQmfqtgDEEZQ|`SQvvZ
zxO7IlWv0yg@K(d#H6oLKs8|8mB?L;Oy##FztI@T|5Q-jZ-O$rrqV%NdJOesZe
zM4DBxbC2`W&rk_Umom>Y4p)Fny+&ogIzVxEgSZ!R6myswJVaN)S_OFAuQt1siP@tD
zs;@W{EXP--Q?MG;D0NPxP5Mnd^?f6Ohk6DpW{b*_DrzC$5qvN`V2*4X6=d5V6j{gy
z3{9#VD{uVPtjfwT++*VZh`{}tZS#hNFCp6fdtvIli$P50~D+W4kh!p*k0KW
z<}g+B$XkvTXi@!+P|Q_qV|US%QQ5rmHOrXJ_vjKtWgMoy&rTsI#rwokG35Hf^`w!*
zG*>9#ug2V0dV7730g@c?yi~=@(bG}YO=8mF&D5fvuJ7=4mN9Wi7VqxWy#(ycxSk4?
zuRjs#LXL@9oK}G&*Gh#YYYa{jRfQ)61kP0R
zVI0mvcg5e}fT&nv^@_)v_$@&CCml23NYR}MNqjA&)%pkXz3oW=K
z>N+t;Y_($asywk)P*p7^zJAWunw2l~+Knn^)-Bby+ckxqM!hzCLKy73TYJA+AQ!1=4xqF#{DTmn=
zR1%V-^P;pj$+3dS6B;Kl#A;RVWm7xI#mjzetR8p;w~Jx7z(g)#CJP`%Aq=^Rrq$)C
zmt$p#RN@>rmEssVZbB|)vlNNyjw=|V6p&FpT@s+@a$tL)vOdIdeYrYDQyi;uDUBvV
z9psogHYiNpbwLi_D4T%^T6TjDxg74x9tiszRG9*iDDZVWB&qQ}s3I2Dl+-juh7<5E+WP>wpy!&D(~y_;MmhlnDd
z1(AE=T3(}2J1p7LUF6uKM$2+qvPC>8FRqDdNz!o*Ex6=>^}aU28w?ALR5`ZGxFDaQ
z(mvrLjKV35K3_E#!?%r1z!b3@nXCR1TYz!7a?_tuI-G*v`%V~631Qht@%cV_v2j*>
zfZvx*4+m@xy&zbEz4Gk5I~^PihScEPmZNe6mr@$p=~}H|quVDupGn5pCY!OScz7w%Sn^AyO?b)n?-8
zS)u0Vvm+eYdIMEBee>i2!Vb{$yf$jJ%sWLijtlhg~tgLfoaOFM4(R04$?uquH(BlBjEs_5&mlOFVi5Lw6gktR)=LDsD+Hu<+a=)9%-M|#8VWHLC$26mRrsP%SlJnmk;RZ&n$F8xQ^
zen05R^I1XntUNz%QP=sh^~cEotB{K?#WP6(@8>>=WEOFG=v(x@WClzx++E
zMrHS$`Jgs{&)IvwB7h>vN$XcA->~S8erx^6L*=CPmb@0QecUoNz;S>svD}ue+HZMm
zdFyZ$pSow~xI;*5@n&T(;R-IjT5q>D+O4~<*~ooKS498ezt}Cx0Q(PN9F=|CsOoMI
zj!H7wOwrrjqaJHN#3D56Am6Nv%JMvq)O8ETJQ|iOp_R!in*;tleRD{18n<4naTUGK
zS)--9ckV20OGhD0=|9FETPIGU6Hj#Xqu*Lt9bpaWjZmAc!b9#&>m-5FUN2C>&5!<=H^;=XLo1o-sbVv+WNMw3-_lDn-cY>O6?lZI^m~vb5=G}JNS{s
z7_lY{I}K>DAwTW^cWp{DzqPG#mu{4U-6B-!KSrNnxVAZ{ZSYZ@qsg-SCP>^`I0!(W
z7FczeH_&36wGyBa4=_@&$D@N
zJf57{+p1Nw#(`Fv5FO%uvC`Uem7)v4cvj5mG_Z-};dQ*FmEpIn7!;;~p9#O^tvEw(
zAu!r=OwEiVa_)*(ZeP))`D69w%Gy6+tTvTZy_!2*Kj-Q_f!vmUm1&<2q~r}yeYwsw
zvK!C^hj&w=Y52`ip!TU9tbN~zm|}Owbqwi-P7l72jR54+I(Jt*BjfKvrSnQ}DSV#Z
zTTD64zgMgI)XSZ(Yz-?V1w+|-FdGb~%ZPqT<@~rjS@C}Vi_5d4lHybB=E@sas?yg@
z-qi*y>r4xhTwNoFAR11ou7OSWu@Rc>NTMA;e(YZ0V`mrXG5NV$C*Z&
zZ$)?iZR*N-qmYv;DXXw@`;}m9Jwwv#+Z5)+KW|$Tpr6#{zP`=PK+~uNnsIV@rqvOI
zPGH|S$*m~Ulp9-i=$Mt*K6Rc%(W!Vt#c@`;~+aV=wPC
zt7T)t0W&m4WEyCvv~Qi(H{n@C=NcA`(`r#DObah1O+a(uxKYp#MS~ny6obXTZ^%^;
z1$7ycjsxv%h_zi^CJ5)vQm8d6&h`6fK$PpJJB>DJFnOpSwv1f9knTI-VDg0TK99Sf
zriOk8Y1B-mc@|n7;1T(pAi#{}aG9q@Lp@{T19ZXvGQ&L^O1F{eE&R(a`DK{!Vzs6?
zL2UShR|UqDgMLA)fnT;@kuZIL%lCHeEk};4m)ro-eZ#v7l!V3M?@BuXrM%banpU0Nmt*SdZJy%DFy^I2EeK
z(rKMS@uy$D2wh=bk2XXw@fMW5zl4CwoH!MgpA~u
zJOYXBM96ZfSUFjdu008t=;2Z9B_77;tDg!yyrqNP((jhm?!0Yt_vAzw`j>9szVntz
zFqwblkegI);qE8WTF`-CG&bjuW;#u!i#bppW@)U{DTI&3#l6dc+pa}!AE^Mw2kW8}
zG97cptu?+p@70Qe)(9C35(Kh!j=*C}eh^iU{B!%8)F;>3*6ZWO6_;BXUMj}}-VpVa
zSF>nBgQ3UmkBPEY+&aP!f`Y*_
z!s$h~NG8k(JFX5sVykO$ngA5;Y$_3OYyc0|U;V14;Amr}O*>_H|B=?1w-i;DE?F3q
z1y9O+rohXIvixoi$D!PcEjhA_1t4xq5~a>#4R-|M6Sb}(s6cf^^*U?~yzt$AGD3X?
zwsg5_LEa2zCznKl&|d3~B_}24EDJbiVP%r4%KxQN%=*CVlB0BI^$62cd?9SrEeS6>
zPBLpQ>-8aUQtu(w4Lh`*rh{b+x~|2}jpI!3hWg}v`ObPxA<3!SFU)oYD(
z;ydjWq&@Er#&B}6kVNuk!N9iuJ5zgmCIaVMJZ@vs5AxYx&RP8{rIDZKR+CU@Syn2!W9r>G${OwdtK&H&T)
zgCSOJZ_`nJUqDnaUxGduZ(*T(HGmY?G)SRzHGmL=1%$Q%Ftfz!`R8l`S=p_^bc6n%%3%eVd*mS*i50>CCvXRw8sii7lF5Da=)0ghJ?
zq%yknKxaHK=jHyXe&X_aH9Ug#=d$-0aVGlyEHl`qYMLJEyCdg@Zs+@$04y*2zD2Q>
z;)7s&CAqJ;0})~mEQPgU{W>Vnqc2m_Z(ZT=;h5DZc^tVcu6dg5=dKr!*pIbhaTzdtV@XR
zHmv<^eZ1eg4NG-;`?Zw2FZ_X2t!e~bKT|ORqO4jpuX>_zcFEJHd$kB*T^UDUzx=6k
z3Or$ki~TzIp)kr6(`q^
z^YQL@Q1GT+i2hv=#};4vvhAeP^84b_#gZhVP1e}XnWIjI8L^7h74r7kbzBwzgyXC-
zHIG~V#CM*={rjqg$O(hEGVU5JrnJU;#g<6M41I@EmsR?AsGBbXhQFwTMOC0-ud1S*
zTrqB>>w6W9Bdd?~i)*S9KNMrA)*1Y1ZrE3EU*IdzKa>0Ww_;qr^^vZHqg)e|XNmlR
z@)FtN-Ld1r1j{T(#q^>ma1+=?DRN`avJXFSd`8=o(W(f!;p0`X3$zLbOmI();{CqS
zW7@_$7Ej+gFeP{z^VlR$TtA)|Lv6>~Blq5K6yKV8|
z^ZIP@A=_V@7l^~6RXh`T6EghdT7!HP&5xmNju~^VwDK!vTUKHH+OG^_VNI7+BO6su
z_J_9KO3}C2p*=Xmx4^NP3WJWQ>OZXSf5v7}H$E=Zg=tHPRCh`Ktl-e?xQoz4R>NKY
z@@1+kKfce{&fwu$wcX(7`a*ToR{d#@J+1F!
zMRE-Hzrdk*PtIYyeL9Fo;#arVa0KV}I?p!gM1-#zb07^G8w#V`&Tk;UmIbJt$*13E
z>p)#blTgXLIUst-l>e?3M
zAF=(Xz@aGK?(JZf$CNl;?w4mN_>=A>?HBU!E34%4;$xMVnypG^TIAdE%n*nQP?iIy
zH3yl=%3KdS*uVpsu>Taa|3wgFv-AJ{Qz`o=zil`2;V=L7ba(5C&@50{n5sO+h;5THuNmj6zx-GlHVsnjq?n
z?L)3?(VYxnoq!q}gXo*XBqMM$!R}-_5Gn_vAfp!O$x<7LR_4S`Q`kZ*ZXc>^Z9*<*
zC^qWX*h1i_!j}f$4{xoktm1#sL6P2Mvdl}l<5iqbSfy9;7Kl2O$IFsTJf!T7{i+Rg
zE6Cc}-N$p>9WeMX8m$xKGjM~^@~Ha}t0k?Kli}q#qWhRq|BB!wT_v)NMe}A
zf5HL9L$nFd^Y7}Ht#6SzBmiprF}`Ffn;Hon_A<`UiUooI7#B>jh+=mIHUyq|TOhJ|
z_fJd2ml`3C%O1Wc|EnM&qjl8ny+47m81?7S)E=rwJHqsz$4bJAy-@-kw8c&}_Mi{qd~m54tS`ravuT4Eod4`>pMJ
z+vlIi%y=?r-RJ1rj?s3@Cd`8(aV0TE0}!UvYh_(imbp@3-znIScR&7P=`DNz-peI7#weOk|{6>sKaPp-A=?RlmRmCxbpN
zoJg8wij#lK0j7WfJfD#3J3i^m1x{us5HK;1arb)|DzIaiaFYWwElXSo
zGCG0H8Dn2G4pG8#L_L#fi1k`ui~69G^KZ1xh`tBJdk}bl)IC1enkIy?_zUZjB6$_I
zx>&&j6Oj=fH+#eT+t{#4mBSf+Z40342hjNppYB5f^Ny_C#F`iuEXiTjb+{#>iOC(3
zU9h3zyCCcH=3H-pA?r#tFCm|G&%;iTM0Qc0m!GC)_bSDil`@YiJBhRaaw^c+7gEC!
zaw^c+98v>~oVpkfFKYAlA&uK(Ae->#6flWhWY@*-vv=vKYnK04wk~OXDR`#OHY(%x
z(y6xa-a7P`DrmHANx}WDr7FDJw4{(w!z|hrYy^OIDH!xG4<;Ly6s&f?lJfESU7kB{
zw%^z95y0A_zZS#Kb!EP>$P#vXcm#6UU0d5;-`(BV+T7k;+ufz88?3dGp{cCg|1ra<
zn3EAAo_dyr!{26ke2nATKOqx1SO0tIoBL~jf3?26`}**(|K*+kZ&lH9XfC^Q(WUSz
z#tRODxkESPzeBB>_DtoM#<7*j-%sIoxabZjx4-BQsVroR;_MuuVfc}lG;w5Dx#Fn=
zv(oybkAXHUM!se7@Rc1Aip)ZW4Hyn4yt7J|+hn5?O-T@mk{5_qAKW3-Z(31M%2PWSh4D#xCc4ZSMXb_g2D-Wm0XZKVrYB13f!)Fqi<6!x&lK_E?P|1%20e0g-98vqXl^h3
zUbn>f<$URbv^B=5hwl{JIejY8H}+T9+5z-AYy#O6b#o076{mV{!-je2qi;+
zwCyXoZfOrU7_tOYg*Tfo-!g!#T2>d>ns&4>P4a(nW7Ep8JXylpxw}+R7nx*B2QL*y
zi)XnFBEBp$1P{${?3obxMNBhH=VUmoY~}>A>lboX5l>`
ze3u!8{^+y{U#j30O}A}wNRV$+lb!;r4ddqzTfu-$OELp2D(j)Kv!lz<9ABgbZ)fmu
z_#z;NEByR|hXcB-54a5_@{>)br?SBH0cu+xPY%K=dyG5>q9j-uvp(SvYy3lOS>rwR
zu7&<*U3KsCs0tc@DIrk>1mlw^<#n
zsf&tiaM2#L4mJXdnYk+t9n>>E(X;aO@v}ES?>+hHAS&cLv+w?{6uuBY7~v+}#h`EB
zjd!|uwDFwP;m!>HwNp%;NphL_6UjeR=D5^*YdWv6^SM1&uw=V!{a%<#aM;^B$syMW
z>+;cI=j6z&2hmU4tYEPf4ktzb)Zt`AA-bH41h^-crRf)!Z
z{-vRJ>o=>A3v}@8<>Qx+v6B;B>ecPNE`2osJN;g*@7{fl)4kY6=#w@!wj^l}AEE!q
zP#ar24$36$x}+ZA+1b8#Pv844VOtXp6r$bQS$DJsGQC^P6Tw-Hw?Vc72Ny^{e$rzg-
z1hpg9^+_8WS_|y`K(K=e;C5G6wPA678Yk@y@rh(g+FjQc@F|^)YE4EbuGqbM+AO1!A*V%9XOn)H1+~6*@1Cc7Ldi!$
z0m6v9qIkhC75PQQ6({;y;-fpnL(oqNg~>)X!uwg);Oa?mf|VxlAf
zQ8AwnxQ0kk31g2GmAb3FlD-l8&|RWN89Tni;v<>k@)M^Snv{m~?gZ({?9m0aloTYS
zDH|I~2)mmY1dB(WUz4`$#Ic9#%1>C1JKH;24Uzw*syVuTDhojYfh{W2o`s|i{aZ=qyC^fcE(|M$EgqY
zM}5T9ml|$I$0MX&6rv%!N(ei8BRsssg~Wj|*F=pRR3hDK|(xABtEhS;dd!DKwMo
zOX*s_!O7%z1FPzyZ7z|4mDF4g<6HInPo|paBvb7
zSet)v0%diI3C(mOdEXtE7gEtJ?I}k?bd_QG3xWb-6V|rxDnZJc;9kWs=fFOxa419B
zQU?r>d0J(UO@_#JoAxVb>bqS~}@l8(u2I_v;%1wXRY}(xyvNfehc@
z)g*2AVc8R0_tv!Fh%0&z-$>Zm+)ycu_?R!@+u2!*v!1Em?5aC=g!MfJ-PQ5vff>j=
zPLsB&EV_a_UeU|xv=nn^(k`Y0>DIezs(a<9BN>q31n5|dls?<<-Ax@XDCr4{Wy_n1
z^3%RRZF!YNl0vDZP*8MuQ%7~e^`pZT*w`1SEgcI0wXaaxg5@Xf_q&_k)RdpTb(mC1
z0K?XIcWXTq`_?6ya;N)J&>Kgf(xkxEDI2ZbE%lPY)weEb+YMSsI{nGvG88q*x6mgX
z0e7a>`yVK)y>e&gUZ{dM6G#or%v_`RK3RU6IdQ8)1B5@hMll6{QmDZ4%r%NyV-%b@
zajUOIxLl)n3xgzu3f%GlfJOtycNzqqN-CT~o|8oqATF_p^gi*NT!Hlppzl
z%hk|#JtS!jgWCPx5atN*YvqEYA&v_j>58YP3
z=RqaqXiVFzNnY#Tl35?lS&|1XZO4z3N0Z`=huNJCU!SUrgB0!ZDjF;}>IB3)ElA@g
z)7HWJ>15`>)_u>#{(1u2@iW~cq+owwlBTZYj-s2LogZ)&*LKyNIzpOowyo~e14?p!
zur2D-oH}9GmYZMW22vTGunEy8IVgAIlheZx
z>LjeD7fIsxdgr9my&Ph52BX~6R_!THs+4Q}jxW2RAp?LpbQ?N+ba1YAz)g**g{!Mi
z+R!n+qfXL>+L~TSQJF=4zP1*m=DZ-xjTAr9COl-(^xi>soG3T6Z}fbE%FT1CTH2wM
zp-jCstrvT$+J1<}vRZmILP9at=2N}waO%DruQj!2d`V|1I+BDws+#((`rvAyd#9SB
z4k#}jOXpZyQyrqcbJ)DkJ_dG`YkCLgUeVWf?>gz?PELN;(1416d)=8cO3?1J>r4ry
z(T-5~bLvH5KvI!}Oz%S>SLtyszN#e(xwECpA?ZqfXGc8(q1C7Fa1o;z&KwgRF5zSf
zcx_EV#I|)^2NZ|o1y^;`cPR#a8U|JMrv>#7&H)E*Z455(Qax~FgjzW%h6HD>?iryu
zYh_Z7bqWi&-S?&e?s{Q&W1aSLI_1Xp71V;Lke}rmr$b)k#b8o&aEPOvjUPk#5SSAa
z>!%03;p~Vz%Wkktlr+Q9MAC(jiUVdmBT(UYGy!uv?f#U+6`>f1c0HdM;sbOj4bCf3
zu!(19+^;l_hLg6~Xh%Ta0^sbe6k1bZBIVdcAADy=ntY$23Ol5WpE-GROSRa~|J7Tg
z>92NER78~usn}TM!U}M>o%C&}L1k~#Lh(#9cpgHWY10X=<6Q9_!zqF}-1Z-}T@?2uV-snF6;jaX;t_cJ&VWrvG)FHluZLu&>b5ut~KXxHC_?FsJ$K}MC
zUhFy+`E)|swwn8n@j<-pHEHTM_Pm#{t2#zWPQ`Y$Wst^dfj*(`B_(+<9T=vrQ4v&B
zQ#k9R5;7L8ZRu38$EmJEZEb4hW>}_UDSJ1gH!CI*=->6@`fTXMqLK9;r#Tk=6bHi;
zyagHcX$(~xIkVn^j#M)o1#zmc(K6>8z=O~M!UYg^HR25j2SoTC6jD?S&@89JGki&x
zwF7Xf*KQOg{ISb03k|P>b&u2B_`0QWd87_6ix0H8naYhbCbOPqsD-8y8Z_AT;|!&S
zu)(edO@JRuo}$%WdI*}OqmOp7ndaHS$5%H)*2mR6#W=F4L^ZMqQ>cn{IqXfj2V(!d
zlXAa%f^S5yB>ck2zD@IR@OouL+tR5tsVSG-(vf{%Q|@WNq`&82?rCT7Bjbk7X7({w
z`aq+T3qf%j22j@y{UaNZ(c1SZ3PN1?h|zxV?sO*9H%U&m`|6dbW$$Z(h9WSA8`-EF
ze5K*AilXi(eyyy%>}+X(WglbyxGQt?^|dWsMCwE1CopHPDnGg}Tp&IQd3t!&oH23EZi|^-Y?NVy^YqRZ{2~u{M-b2ePxN
zv2MV4XU&;BPI6`8!nq!ck_Ys)8y4lZPLBWHZvkgnLpC;cmtu83&mf`
z5)NDw-xZmgC-5dC^y_OI+G|{C2NBaCFxLhFtO}wghiS#xsHE!(f`D@!n>%nUou%cH
zKb@P(=`>1;{dAs)PQ5Y7{@L9(fYm9{23b|O!c;pRQf-olj(sUawr|f_Pi`dVM6Q8aL62!DsWYUMMkdIlAm$Cw>nu{
ze#mhU5Py`feV^DR43ZfnrU9%tU#RQKI^}8G#>joQZ~ztTUV9<{S2$=fCu23pD
z9zNNA&jsu9Z?+3vvQ*9_hlCI-A?{RHc2k(Qh?@7HK
zinzGVVrtxr6E{QN^)fq|IJPlLsKYP5C?z;eJFp=Q9htF-ize*i4XtZH2zOPmbT_r9
z;4FejZr4k5XlXjtJ@EUeG&oj-6vqa;yNrEX=N+7c)75e60j=J@pqq7GgoWB|bxnfT
zyyNk335*++Qr_#uJxk~7cbU$*`k$P(>C)Wvh0G@Z5-*qh7z>}o)sQYLDJyin93qVSo@+iiE)RR``M
zY)moO{ALvoNBbn)Oi!ml#Ru)3rZaxX^v2?YU+d9n9g?ubJw2H^OA)kJGU%g*R7KKQ
zm5#cCR2}V)l*WMSF0jMsXAan--4ApFVtyB(G8q*3(a?i*Yavs#k8rK@48?Dx^5$QE114$x&5u(j+-}OuAo4
z>wBP6O_h{;*X;xcFL|xf&*WW*U_-YT9_TJ8or4sbpz-x$HkJ)KcQu|`eCn|d`k~+x
zzCI%&*FouklDNUpQI+{m^sN&9_$vc%`o8!{Zf?W^6i<~fG1s9e6GkF=1ep8LaK=ykGn
z9FjDE8If>Od5CqPqF=RmP6;GCZ{GfY_P&L!%_CX!uPDxJ5VjHbi<~QQu+0P;58%us
z;DZGcpjb#m7uz`T{`P&}x^;h_By7i-IeYe55`$EI@2;w@s;;g!j{=m4n0kV6JmWBuI_o!1)o})~?39)T
zw5)jJ99v+*_ZQudL_n*S&Gs~btr^T4W(ykz%bHm7CVV}RZ^`SkX<&Wou(Rm$jDS2_
zHi%_w!YP#bRy?1tEnutOJyXk=Z`I2hHzRD_VX1q%g}}D!1Oi3Y%?IA$TuQdyJxE;3
zrsO>2!f?-i7-kX|?33Zdts;^~P9*BS2$IP_Hn-3pj0N!QgUmGrcoh#Sca29yJWt;bgvz>FZ
z9@c#~KR266s-yLr9(ko&Y*!^Ja+5LyILE1ih}GCk-5d|tcrNQTin@$~Yyb+IC)6;-
zpx)(}x|ZP&`dl#aBR}?YZ7+;;4-*@7@$fuAI7U`dJy&1a4YwIT)bD8=mLUOPJyTY*
z>O0rNWGQp>OqMc-*ctpn2tnss%SOz9N7f9};1c_J=T{q(v#axNpr&IOLGDM*vOcaj
z*bJQMI!-vw*pVhD-d7SJU-QW2vQ-?kKg?LL+Xms}DeMw%=Zk(W70QI~w+|&AdLLqu
z+1vux@{}DD&48-L6fN}u{A=>EPIg+WW%3y_c4E+|Gp5@T_9-PsrI-pwYD-U&UR-*4
zm~kkVhR%aS`Tln9(-!3jX&F)YH37mL&3%^6he1s)jsWBb<~ZLn%$1GE)$WG}tU10(
z+D2gYd9nngDmza@rT2ri^I=G_oC;(55TXk>7Az2OSK`+KMThP(f?d{eXozSwE^()2
zMZG{bhZA|7{)c^sf+rXfAouu`A|~Q6$JruVc$HATknjj`Pel-jqmv81|EL;O*aj{d
z9Yty1)-M{Dh?T&3#z~|N?a}6592fb~Fia(JV&t^U^N(1=Rktz`D)p`U;$LjK>BaX*
z<`G|G7&~ltePjZbVZsG0&DtwB>O6{V$EWlnL2Nz|K@{&pu^hZ6Y%~f>&J+P=G)ZY9
zu3sT2H2e+(27iA=$%~A?dRG;+vEsvd)b8Nnzu`V(&uXWADlcC0xxnzNb|D|&*E!e+
z-SfFycRqa4yBwNLbKPg+qSt##J18={&D?cbCW#d^Pcue%k+UIeZq=eTx+z#-n82bJlT@flN+%1fM}#
zGx=BMcHMVWLW0YI$2ksM(`Qk#hU#&FXw!O1y%EaWc8FU`E@9w^Ei7}!h}(KPzT|eD
z?Z7!#4cY-Yg>+W{^jY@5`u?53veFupn4YPs8|OY(&PVS$Bk_@cSI}gOI7S3XZZTSxmASj71t5B;RJ=)Fj94#__PsZ
zR_{!J;~LJ|$>+M;6k`%`NzePqc{TTbPOUeJDDG-+jh-SK&Yz{x5S?u8uufKP+kB|j
z14rqbW@bz*leLO$na7$JMs47f%6mt7riCy1@ZcE%>%
zovoe0+zWBra5|)DNAh~C>V(m?lQ7~erJZw7o3ZWSpl&CM{p_n4{$$G%?!1TxW4
z{RrVz@67o{zn1}V1Qm#^C^SPa7wY`7FT~3XWOMeTchrsNv7o;9{uooZ;L63z04@5y
zf|n5x&Y#%0?8EypIZRt)FO$QxQQ(iUs_t3w(wBA7x0D~VrEn~JnZexu?Z<2>T+4Xr
zFkGv5ow>8=qF3C`-U(@7*##l^UYUTf>{kRjjdYFzbD`@O9p1oKHn`$4^iJdQq-m>W
zL+vDxBNUW3^@&k5n1D=fwpfj^eth&c#_*<^JY`zoI>HB+U)3pF!8tBRjnVPxk9G5^-s4y>X{~&az8{(Q{J?y!7=Syd1)pd~0W)6%c5-vzP
zP=bgMK~VG>F>%~9Km#tD+0)b|f$
z!YggE#^J|L*r4MG;)l@+9eG}x-JLj8UXBURK!$KT8JqAyXCMsrd?)JsTeVKsHHa-*XZ4xHY3SNv2YU5~mBwTepr(sANzsGFh{4mx
z99RrVis?ElZWLzP14J>?$*Q~IsRJ-pi|#&6x23PSOr0f~ul1Vm5=`PhnL3lYUAiH>
zq!@>NVh3rZDJ`Ux%7wO7tkWCJR$L0&NG#cpccLtO?cfcW7TbAIbgD4xzJ)Qhsfa?
zal~Lf0Km=7UQ6kS!FRR%h{1W9?;<#a_Xhni8(X+vn}sDYKVpc!3DmgXMsU;Czz+a$
zq?uhjL@nt^BX}h&)kVvwb9*F&y5Y{=G-bUCJG^95
zW@S4e6feZu1t`=~jgthku#ZWPx;Sr+1&`9E=6D9iA{#tz?|CkOWOoP1agQLAbJkqx
z?OdF6RD@Xboo*+|+%DxLncE>0q?AB{t?FjK5!;My{%$tvh%>d_xTw3TzS99MW;`z>
z(2kD@(wlRcPRITG)_s0
z0-LNAcArjIm)ztJgr>L)l*y$lsb$1A1e0qf3LW>d6qJ;_VF6BZsR!+JSn53x)h6qw#Q4kFoVSL
zHnYU>l8(Z?9*ljEtk^3><-j0MlERvn76GNShjGzvC(|~4LJ)E+of!Jk=b>VPp7TI4
zN!;wc_M5lsp<4A`LxEu1?(ejN7eMKMt8rP(vD*RS)bC!z%oRd{
zZ(DAkuk(A!U_b`Ch<
z@l8=bxOOKyN{uQh63Qyo-9p#NB}5-8ExS${!HkMWu8}qTw4F4tp4vu;hGh1Fe(>h@
zl^XV+2K5DMjr!2u9K0H;!>FIUx>rMuE*+_E6vd!)q*_ey!-hpSSZ9uIhBSc4Tta7e
zg9|~efuTu2@uU$a6I;HMD%hS9fzMjvgHYR|e)7ho1-ToL=FOOxA&0_UF><+wfd-Tc
z;h1K#dMQ`CwNLAg%#U3YcXx+N2e{~dneH>XN$=9V!g09n-GD>;sNX_3M>9yJV1thl
zykT^ij!KvO_~bF4_roK|dZe}D^629bmlpi=>@q-LKPm-YUMPL7cx{($TwsvVxgi(=
zf-zUWaR3Mm$~pyjoyltQ=zp#^AeRXni!M>iRVp=%LDKSa9{eZ76v?I{T3oqOn3-VK
z{oM00gB(OagYeM4?3^0bAWE4v16zimO&nTZcHLze9=6^YJVUK6zK~L^2H3lh(|ZiKW5asA2)Brk
zE=FatVqPsC5NL=*48KuhtlfqH)f}+m{+R-07qW~e>b$Y&T)WGNIyw&k0bTKZrKkUo+QJb8#uce$Y`$17!BGVXOIGNYGK%hLT@}mKYUmx3G_p0v*4ZvCn?#=u-r@eGL4fBG_Ga1+wIHzdO}}HD6J*f&J&d+Q%4b=ydw*_eF7sGL-(Oe
zO%moWn8~?=P0Ydj35s?R^%y1fU=_Y=c^eR43_)G7?Iu?#KgH`_gz8cE?V_tv@VZL_
zT??^Ucisws?mP9U#_ncBnI}o%cXpW+euubh2OYxEEjz}s&88b$QgFj$H_ylG)^(SZ
zr=NAmXJcmgjP;eJB~jK$e8vhbIMBv7Pm(}>B$D6s0mpCN|4wd$wTv#w&>xsdjR|Uib;_ybdpqGn&{|9j~aaFt!
z$H&%?DJjazhKsKNPrJ~Z3Ks9?8ET?rW`1@K@6cq}!;PnGvY4JA@>PooCl<{RPp${|VYiisD
zl~3FAX%{cZH=dPMd2hsco=sb~H;m24#Xy2$xe7pEF6UR0)0fM(cl7WnpZaSmYsINW
zqG?Zv1>lK$Y2coxI72v!NL0Ir$0FdER^$-YQ8X{+vI*!?nw&y5!#~~1-=dUXU-C$7}u)YGX$Gr;jy(!^SEzWGF)CRalw6r6-%REhPOqj_vL{j
zic0i9)f)lm(RqPJ&!NF39F(LY?+yn>FPT;9DkYL2$V((3cLu=Q&&IYO(cx~NUAc(>
z2wfBO;G}8I6Jj@%VPKMhx?zw>Dmbh!P`Pz((!J`@ibDK^pzY)6TGX^4E&vcXO|jT1
z1uzQ|mS+QLimY8GJ?7R{iX_>k8Q5-4;l1m;YsoT)zwY&=Piz4#X=rVIk|X1tZr8G|krs
zO{mQzF76WIeP7MDS|%uJ1j8UG^}WDpEGhaP$Rs6F--}HQfGJeYPMLYi7
zfpXE%G+(LqzD9dmY=PZZkHAe7y;ognfaiIBv%wpC<@zw3Uj4YC`^q)lg~HYfxGdEg
zu`X*Zsc|?4DJD68WbHAQ#KYjzS~Cg?HVnd&y4}dI9lhg@g#QM&RM__IDlMo&8~U
zROIL--0%xCyAeKd*;!dH0~uEJEbtsmNN&;cOBR^$$b=B;!p(6A;in_J{>Im`6JyWc
z_*(WYsCO2J4r_i|u^ZMg1pl<&2MFCTkUf?ZZ*c6UdpmBU>m`s&5k19mcGFO(=eO$s
zb5iPE$Z2cceMx#IMIfH0?G3$T4RVKtUMCxiPdj7fx$DiEADK`pQRcc73+6{>Yi@qn
z^%J*cR|0woVv6AICG4<7h1Ao4xD8@gPJcudji9i-4Cc4<0P_`ePcVS|9B0Ejx|X(tA0veE6FgpW*Mi8ArMcRO2h93*0JP@ESm8|o
zRJ18UqzIRyf)=eKv18j=^Lh}JAGb#U+FrkDC-uSe1Z3Boa-ba1EjnLEE7oOtGy_Z0K
z5vFJFB49GDqq}MMbt49>46z~G?gtRw`Dut6L^hEM$MZiCVLC5m82B!h|GHD})rH4XM+_Ek|H2}+*F*7pDhB?rVO;4~=QDU|;`CxX?#q?8WjhFN
zd35!r0Iah<27zf{;}zfHnNcIg$#(DRF>5ERJsL?R^ojNF+?3t3zj#}?$9uZi0*F~ZzW15oUs}Y
zoMpnG=gfsgLrF6+ik;04&(TtlGgFct<)$Vn;9_pwr8q!sO8r>-s=wuv>J@^QD0CFBZ^W*mub&>>rV*yx%|`o0Rac%`Y0lE
zsZ4{%5Pcas|$x8<+TwB=V`uEdzTzWks6Vtyco&*ne8>kvGA$NbG<9FDCJLc!oBbQg1M
zDC6n}6HfxTFIY2I@CKAZjow;1tc1k16=r-OsBrIKG
zjFDjYLTkPeQRH>Qvi0CaUc#cyV*
zRJ|bpfpLd1Ytrv9y6n$Wqtx#^qQ%%%?swzYm78
zeqP=$+;udp?=zsFk$<$I%)+^!=Y&(TZCdeKB!yFlxj)HX4l`=&=QkZ4J+hmQj#ufX
zqp_%de$&zCx_Hykdo56tE!G^(_mZoV>p=)(;NDLjd1EiRIt8L;An!|d)6vHeHyv#R
zdoHxPauGMcUE@Vi9Tm9o@`*2Cvy-kcuDQ2pKfC`J89@|^vP-Ta;Mo|wHZ)n`jAG&F
z?9|n2DC1u7>x%FJh%IKtox2DO`Mr?Ual`7{Gx;gircdL*`P7%z0{1!#+}nC6)E(a^
zo!I%LTH06~QX8M0_B~^4m^@M`Y#r`-)Gu7$@p;Lw?*vTo83Diop>>nN*_|UGjD^y9
zJQm>~c=iadgFB(u1dyO3K(>R?=RIA`F}m7QN7lN#()8`SZz1^ZSNaX>
z(^n(nb!81(3J`47&DYF{<%I@${@py*zuB>-%s_mWV2Yj;sw=M=`7V9v17@Z
zMvJ{nx{^(Cl9*^!Te7=i_gPkc6$(4=VJhwv6z-C`d?f=ZT^G%lIz@^%1oi^ONp*I?
zrp9iJ8spWHM>XO
ztsUQ>z(|-2?}z)k0HWJ=5FC%0M4v>itepEHV*UIWZEw_R{m|+(t~LG@Qi9=)I_W-6
zTtw@?kuI*d^>#l~KddDfpF$(CE)Gu81Q{L-!oxju$NePGIprXi%Xn@w-#6($&PCk^
zz|9BA1t0f=|?G5%G<-2buN5K=D$Cqk%uvft$xRL^$uc!Ot)`-2!*vln~S7
z;?RU%>FLPPaGXG+JwI0+WN!LCCguvKU?W=w7L)04+Vt0v{V-?HVoXJyu~j!B;qX2k
z=&ZYei%@e^OrSSfJv=sSw)exF5J!rG07bkefILP;_-FHCnyejebJ#rYKf0eHANfRH
zWRJz#+U=)YJ{u`MlF`OKT}dd_Y{oRji#(E6l)@scNYMqwdnQou&k1&ZsZ4gbyd~?G
zB<2tNtokjo!G*@Ta!c8M`&}1V+%46P>g#UI0l>UVv2pkf
zCIFR{t^3_4LflElsUfay#v6yokU!D<|esm;mjz5g=117C!mJv
zh1`M_a4&HrN^V{ou~8A0D$R3dm8RTyQAtptzUC%m^*m+w%dqXS*pNP%T4q1<5%b~X
zDVaXtbKuE1z8mXwF)b_Xz1IxSXrtBHPOF7s86R@%&)_%pb&7EUP|o5+4X+mGk1i+D
zTI>kyFj|X!g33=*0!%VUO5jZr8;pIXnEd;ry#LM?-
z5afaR7Z==!iW}#W=x3R(Dg&Ca!xb9EoPGLQ0;HTL
zoC65SiaITfPIzrpJ6v~b67q&zc63;(F+VzVj?2b;HoZP}
zt#owgB*m2M=+K!v!8UJjd5xt$ogf&GPA?8FG$c80P`kipZyv3?xplt`7>xAb1A<>P
zdbKEP;&u!$*(CwE_5;AO0-U@17UJGK`v!1KHR@xOCCqB}+)_it7>C
zWW`1GVXFg201h3Gk{EwE2)z!shOJY
z1#S4Fd^iHJiMc?lIti)83GF@F-Fw1p5u0-ewN+$|@LdbPx_GQQ@&43tdXgk&6FQw_
zEnmzrGL*EeuIMP;I84)^rO}5ZU>OsRXKa{+N&lVuiyh65up?T4pXa9t_`_bykM!I-
zW!Sqq(bIc8%;)v@uEKY=?wT_)S}%+RA7tu`b6I2(>66dW_%=_NJp=}>;hvep-XOZ-
zXr1{rxSE$K>tU=56;c~}H(rXA`bYSJUDp28Ci)`S%AgVn?o
z=eO=b?WKf&BHp3nv=tFUt=8ryD=#5QQJpaeB-*})NwGNv%&0Z1J*-4P3)jjI`t2(i
zHZ2-NVju*&V!z>50o1CVakPs%Uhyq>wMDSnfL^uU+VhEUy|fV?xN1Ok!6(;YR2Pg1
zAB4@$jUvM^+PUg+kgQ0);|&LHMp|@yK1i{pf_-KnXZo+(Y8k`bcIQy9dw5i($>qZi
z9)>z!Dorh$)P44!g<&`1UX2pSw^t}(s@Q~4>6t^~6nC^~dBTXzJbqIEXFKlT`RpXl
z-F>Tr(C;<~ccwrtoGcT!;%!Fc3XmbxGdI*OxyUjKhzsJ++~nb=$&mxx_i)sV(YO-x
zEZswJOUWn$*=me(*8rRFQQj0Y2ts;7v+Vkg`BulX^Uu0)b+ACbb`WeRj@G#K#YNo{m2DNn~-sUtOP3-0JE
z=7y)nI-up*`aO#$D4cJP62xoEc)p*lj53(ZiDr*Y=bOILBUpHyR1-~QPs?Y(lrvG5
z<}4bW!<~cLNb%WtQ_Df;j>bSaQ~X&-om*#9
zeg(~@Y$dns&zQDH^T=j4V@`jtnArBCMD@%8uFXL&Xp4V!xMnhoSy{p>l(`({d-$`f
z(h!Acc^IeKNmsJIqaMdobbNO~U3R%4FlE<^5y9qD5bNeU*8S;;u=tJrt#4K=b
zxEsZm5wr2k?^HOi7yc6`y;z34aASM-8*kOg-x>`i94%C36|z@$?4l*@i@bc6*eb
zEkKs<-hh|wY6K}xx$s5E1gBeoeNQy#0c_X9`zVPUu>xX%g$SDe<0AUONv`7
zMcZ_qA(UCTk!JCuB}+*So|+-*z-{$n9Z3ap)dm$~fkoPM=@EV)spp=Uh&{YWUIpt5
zT>L2n{<WS-jI~o=TTH+=vToOJU)RJ%v3fPf{-*84$Wse1e!Rm
zeifh)b8+d`qsGQO#N
zi8DlZd3xg$hRB|_+Hd0M&;`afO+#Ji&X(z4F+hax(baepphXwr-?%KE#o~VBvE>Le
zO8%E_JnjVXM!&i?_$C=>BbNA^bl-i+ZGLYoWG5@ONqCb&(iwig@hjBOk9|-5SGEj}
z4{tJ2Lv<0H&FV$3FM>wc{6q+s~wrt%_1H#``K}7
z*~#}hL2Ma*_G+ACT|2;$?pj~$3e(chfnGSuQH;9|(4uS4KgXk&9yR3JU%d?1>7TQu
zbqVk~gSqi}ohZ?okxneZ0{!QkiP3%?^*OW(S|C|-EOUf|?~tC?2Q+k62H
zHGeT!dPnjXUp_9Wmvk7H)K=&1Yk3|VqYFUSAz1b2UmkUj5F4&v!BvEd#y0f$HV&{Oce0`RDNO19k+U~5oK#qOrevr_B)?b}D)%I(T`2x|*7*yt2u3IX#+-80-j
z<1LuVqv2&|bqkk4@et>rI*W$cpD0P;=CbnpKDc)G{9OgLXpQ|AV*Yjqkz&;rYO6tV
z81{zOSFKvJb&B}S7?-zOMNMc7#qiTUt5iP&pz_Bb75=StS_nCM5$VjM4OV7mFfx8e
zH#0B`$wk-GR(1Z1>gV4c9v!_tI%+<@GyCPY^XGT7cJEeN9PM?XcAe?I)y<08C(T&n
z5^N5u3$vB4zy7*%bnEk@TZO{RE*0nyi=`H|)XbZi%D38OX7?XV?*J<~^roo54Exok
z+1jut4EJ#1YQ5;TUKfj1XRV-MH#_%fotj2XEd-_h
zw@?$Y82Gm%c`wgFhMT(2+S>Qkw-dJ^&JC(&kl`P3>rQ}$hl6vQk
zjf&s+^KK#@Gi9v(nVG!*QaGVCzuw%o&Ga2IoiC1Vq4(Ot9en?i{|AY%F8;K~dP^wS
zKMwUqtx|!UHd9rpQC|#Mh^%aCq{xJ|Br<*)))#52b~CcyK#E%MKSGKKGW_h|0Wj~c
z-rk7S|1p9@|9#1W{<3ACO0=grlK+1q{ZA07%re;P@{(-Ym2WDGOOOzLPh?EGPozBa
z#pg3%AE)>?^QDVW%rcporGkzSWgd|6j{gpJa5KTZmnmrR{}gN3+`qrQ{r@;~FogWN
zvb4H-10DjM4uLN@!ypz;*q|~5OV~ISjZvqf{(o*q0uJ4{upfeiQo(!BaQEa_+!K1I
zTtzj(rwzPC*{qyggTl|?m4%l~Y8XBgJyX}bObAw$X+?5X@I&-UXEEFiDDrJRIoLkf
z-r64*6OVP-2FP^i>+OQ!+*|=iSQ(W=uk5hx1&AC>b;+uAxKK{w7}-ecaB)0|s)}S7
zFV|=`@1rO(K&b2|UW(7gO{pJI*@4oxrhL}FEeO}OZ_BDU`L~rqT7Aj}nt??I)Xo%U
zMF?Y(kc>_}w{ZzR90~xv6{7)*@h2l7-;)QJqOm4)TkkK$Ockb)HOb^_OY)J8?@!YI
zE}+uinU=IfC5_ejk0VI!3NKk#eL24PA_@5%*b-ZlW<{s<8NGeC3~8-#^{F|6}FB?(V_Xo`7oe|9k!d
zW|}!sjbWyl@3c<@vKpY;uLH@ejaS-Dw7a~NgHA6--Iwgn!mYcvxaf}?SNHjpC_w!d
zuG#ln)tTD-v4dx3@9MbV{VVx4o2)d?nx%~8e$-%FlX4?vreL2E)^%TuT7ycXTfu>E
z}uaa*n69Nkf;Q~9>CP`T%w
z4uzW2iv#sR?fAIa7&eZNQIIwTUje~TW0`mEXmej#8$rfW0f@)?cPQDOE3E+?1tWo0
zT)fK`{8gI+j`f8P>jehvpEG+MDnw@{B#>5-GDtXqUQWn&AC2h45asuIB`+D_4zn|4)-1
zSQva&2TFUTI&UCCc8oSsmd!|zWP?FYBBEHoC?@12SqJU6To#tD@iS7U(g|A@BH@RO
zLQV}4(&D3*{bHuWnWmtC>>H9%7k)fv4Yv@`BgummpOC=_iVY|=mD;KeQVm#R)G%Qu
zk}{IS=BeWVT
zJ#H?1bc<=V{4);T9gS|5v@27zJGGEC(xx$99G|tvsfzN7??~8hTqmD
zxX?gQR`>W9vYkpBWD^xTaVy9pMLd+ef=l`dScrYGeRf^MzfBcZOp+*yDny@d^F7G+
zBJ0!`emxbLn@!v`x#R=UOZ!vCrQX?@@*in4DT5So-iJz3x;Cx!4nu5Y0L8)-W@Kcq;7yFINmdr7o3SK;~B9_16|R
z#K5Ht0*UajwO;>R!AomP^Xs*R`OguAWp04-(xfh3}SMyj(L#W{EPjNQ(#kn&7v^)0FR0c;`Te6oZt>VG^5Z{XPZA4Hhfs45IyW{W-j0|V(bG(Lqg0L3%
zDsZo9g=jU?lGlPJCdu5Rfc#A*UgKh2mS3BBXEIaa#94_$$Pz><)!dBxrJ4Ff{4dou
zkp?!V(tv9MH(~Q}4IH7lP0`V?Ss^=(!O);NGEY(vDj%yHh&WLc%6Ly0miHplOXBP%6mX!NE
z&nx>>sLsGOMK$7n$i#}=BVcX3ZD7@eR^lDV)e>#qww}udo?`${RvcCAdoj1D0&c#o
z5E&kzs0_mumY5m1UHK68qx3o3Y{Fiai;Y1O+9e#SdnGU~S7Ycfsx88(Hn&((SqeF%
zin%%D8#AB5euCV_p#K6Okx$BT)oJ$P}0ZbgD}pR_5#KHQ(AOa0-p
z))hxf1|%OQNL%P+nPebr<A)h(RRnwwOP&{eH1s>OzC
zMg!2IRe28(|%df@t|B8Ikh0tA8h78h>m8UQcl0ij&)5V4Jt9U>bb6bAp$df9wm^`4O8v1SB|7|&X~>HBoZQHSY=)8NQyG!fG?5uC
zzLyz27ICY5Udqu}N-&`eHbsY=kRwXBo3NbFpi$Vx9h$NYHfb0v`
z8#Jr_`|PJ+OnP+t^>NKRt;DZLCH$!iwm1|+NH>hq<;^^?5vN$tRxx*ZH{Z5CI^zFM
z^1)%r4~R90GYUDIW+g9p-Jy5(0%DSQNyC`Y0M6s;FVsZo)~g;4=Npy3Zy&&lcTQ`^
ze&Y-oDs^^~b?&!X6`HUHuwfy~p!T|T^0GY?;}!Ip*T(?XPS4xlwwqrsuC6UCuZX$s
zlIP=1+>~i|ghh#Sv3AF(4zxDod~&AD6l4w)6^?O*a(-WdVv(`-lxL2$)>d?~>Eyuq
z^Q~Ao4Cx)gH4hwk%+fs
z%RRk6{F*hGm^`)Mbl*0ot;fi6}eWkK)6OI-_o*4`ctN
zb6xUJnl7-e4LOx3s{Cnm!Oi4^d1Q?rzNCyH3eoh&m3_u>$YK@O)C(D#aZgEGai%5)
z1knpiHGM6mjlWLqJ=#&*Eby>BoY8YYye=!NKON^L>$?+8
zx{jWQDyryCp`W?=2#OL5aq90UaIravpjfcW@NdP&!if^HM#jY?4bEFRed3hG2Mi~Y9#z*1lDRMBJj